diff --git a/src/gs-entbase/shared/NSSurfacePropEntity.h b/src/gs-entbase/shared/NSSurfacePropEntity.h index 60d9b773..8941fb09 100644 --- a/src/gs-entbase/shared/NSSurfacePropEntity.h +++ b/src/gs-entbase/shared/NSSurfacePropEntity.h @@ -67,6 +67,7 @@ class NSSurfacePropEntity:NSRenderableEntity entity m_eBurner; int m_iBurnWeapon; float m_flBurnTime; + float m_flBurnDmgTime; /* for whenever they touch a hot flame */ /* I/O */ string m_strOnBreak; diff --git a/src/gs-entbase/shared/NSSurfacePropEntity.qc b/src/gs-entbase/shared/NSSurfacePropEntity.qc index ab0d71dd..bea61512 100644 --- a/src/gs-entbase/shared/NSSurfacePropEntity.qc +++ b/src/gs-entbase/shared/NSSurfacePropEntity.qc @@ -414,7 +414,7 @@ NSSurfacePropEntity::ParentUpdate(void) flags &= ~FL_ONFIRE; } - Damage_Apply(this, m_eBurner, 5, m_iBurnWeapon, DMG_BURN); + Damage_Apply(this, m_eBurner, 5, m_iBurnWeapon, DMG_BURN | DMG_SKIP_ARMOR); m_flBurnNext = time + 0.5f; } } @@ -430,6 +430,11 @@ NSSurfacePropEntity::Ignite(entity attacker, float flLifetime, int iWeapon) m_eBurner = attacker; m_iBurnWeapon = iWeapon; m_flBurnTime = time + flLifetime; + + if (m_flBurnDmgTime < time) { + Damage_Apply(this, attacker, 5, iWeapon, DMG_BURN | DMG_SKIP_ARMOR); + m_flBurnDmgTime = time + 0.25f; + } } void