player: Set render properties based on the artifact we're carrying (with priority on invisibility)

This commit is contained in:
Marco Cawthorne 2023-04-16 10:42:53 -07:00
parent 621b93171f
commit f5556655d2
Signed by: eukara
GPG Key ID: CE2032F0A2882A22
2 changed files with 26 additions and 5 deletions

View File

@ -49,10 +49,6 @@ item_artifact::Touch(entity eToucher)
}
pl.g_items |= m_itemID;
pl.SetRenderMode(GetRenderMode());
pl.SetRenderFX(GetRenderFX());
pl.SetRenderColor(GetRenderColor());
pl.SetRenderAmt(GetRenderAmt());
/* TODO: if deathmatch is 4 and player invincible, don't pick up */
if (cvar("deathmatch") == 0 || cvar("deathmatch") == 2) {

View File

@ -335,8 +335,33 @@ player::ReceiveEntity(float new, float flChanged)
HUD_AmmoNotify_Check(this);
}
if (flChanged & PLAYER_ITEMS || flChanged & PLAYER_HEALTH)
if (flChanged & PLAYER_ITEMS || flChanged & PLAYER_HEALTH) {
HUD_ItemNotify_Check(this);
if (HasInvisibility()) {
SetRenderMode(RM_DONTRENDER);
SetRenderFX(RFX_GLOWSHELL);
SetRenderColor([0.5, 0.5, 0.5]);
SetRenderAmt(0.1f);
} else if (HasQuadDamage()) {
SetRenderFX(RFX_GLOWSHELL);
SetRenderColor([0.5, 0.5, 1.0]);
SetRenderAmt(0.45f);
} else if (HasInvulnerability()) {
SetRenderFX(RFX_GLOWSHELL);
SetRenderColor([1.0, 0.5, 0.0]);
SetRenderAmt(0.5f);
} else if (HasEnviroSuit()) {
SetRenderFX(RFX_GLOWSHELL);
SetRenderColor([0.5, 1.0, 0.5]);
SetRenderAmt(0.45f);
}
p_model.SetRenderMode(GetRenderMode());
p_model.SetRenderFX(GetRenderFX());
p_model.SetRenderColor(GetRenderColor());
p_model.SetRenderAmt(GetRenderAmt());
}
}
/*