player: Fix for server-side controlled rendermodes on player entities
This commit is contained in:
parent
f0d7288871
commit
f9798b48f9
1 changed files with 26 additions and 28 deletions
|
@ -340,31 +340,6 @@ player::ReceiveEntity(float new, float flChanged)
|
|||
|
||||
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(1.0f);
|
||||
} else if (HasInvulnerability()) {
|
||||
SetRenderFX(RFX_GLOWSHELL);
|
||||
SetRenderColor([1.0, 0.5, 0.0]);
|
||||
SetRenderAmt(1.0f);
|
||||
} else if (HasEnviroSuit()) {
|
||||
SetRenderFX(RFX_GLOWSHELL);
|
||||
SetRenderColor([0.5, 1.0, 0.5]);
|
||||
SetRenderAmt(1.0f);
|
||||
} else {
|
||||
SetRenderMode(RM_NORMAL);
|
||||
SetRenderFX(RM_NORMAL);
|
||||
SetRenderColor([1.0, 1.0, 1.0]);
|
||||
SetRenderAmt(1.0f);
|
||||
}
|
||||
|
||||
p_model.SetRenderMode(GetRenderMode());
|
||||
p_model.SetRenderFX(GetRenderFX());
|
||||
p_model.SetRenderColor(GetRenderColor());
|
||||
|
@ -483,30 +458,53 @@ player::Restore(string strKey, string strValue)
|
|||
void
|
||||
player::EvaluateEntity(void)
|
||||
{
|
||||
/* check artifacts for their effect time */
|
||||
if (g_items & ITEM_QUAD) {
|
||||
if (m_quadFinishTime < time) {
|
||||
g_items &= ~ITEM_QUAD;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_items & ITEM_INVIS) {
|
||||
if (m_invisFinishTime < time) {
|
||||
g_items &= ~ITEM_INVIS;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_items & ITEM_INVULN) {
|
||||
if (m_invulnFinishTime < time) {
|
||||
g_items &= ~ITEM_INVULN;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_items & ITEM_ENVIROSUIT) {
|
||||
if (m_enviroFinishTime < time) {
|
||||
g_items &= ~ITEM_ENVIROSUIT;
|
||||
}
|
||||
}
|
||||
|
||||
/* depending on who's left, set the appropriate rendering mode */
|
||||
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(1.0f);
|
||||
} else if (HasInvulnerability()) {
|
||||
SetRenderFX(RFX_GLOWSHELL);
|
||||
SetRenderColor([1.0, 0.5, 0.0]);
|
||||
SetRenderAmt(1.0f);
|
||||
} else if (HasEnviroSuit()) {
|
||||
SetRenderFX(RFX_GLOWSHELL);
|
||||
SetRenderColor([0.5, 1.0, 0.5]);
|
||||
SetRenderAmt(1.0f);
|
||||
} else {
|
||||
SetRenderMode(RM_NORMAL);
|
||||
SetRenderFX(RM_NORMAL);
|
||||
SetRenderColor([1.0, 1.0, 1.0]);
|
||||
SetRenderAmt(1.0f);
|
||||
}
|
||||
|
||||
if (health > 100) {
|
||||
if (m_megaHealthTime < time) {
|
||||
health -= 1;
|
||||
|
|
Loading…
Reference in a new issue