player: Set render properties based on the artifact we're carrying (with priority on invisibility)
This commit is contained in:
parent
621b93171f
commit
f5556655d2
2 changed files with 26 additions and 5 deletions
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue