NSSurfacePropEntity: load surfacedata from propdata when not set
This commit is contained in:
parent
9b1b536363
commit
a7edfdf5d0
1 changed files with 17 additions and 0 deletions
|
@ -237,6 +237,10 @@ NSSurfacePropEntity::ParentUpdate(void)
|
||||||
void
|
void
|
||||||
NSSurfacePropEntity::Damage(entity inflictor, entity attacker, NSDict damageDecl, float damageScale, vector dmgDir, vector hitLocation)
|
NSSurfacePropEntity::Damage(entity inflictor, entity attacker, NSDict damageDecl, float damageScale, vector dmgDir, vector hitLocation)
|
||||||
{
|
{
|
||||||
|
if (IsVulnerable() == false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
string damageString = ReadString(damageDecl.GetString("damage"));
|
string damageString = ReadString(damageDecl.GetString("damage"));
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -280,6 +284,7 @@ NSSurfacePropEntity::Ignite(entity attacker, float flLifetime, int iWeapon)
|
||||||
damageDecl.AddKey("skip_armor", "1");
|
damageDecl.AddKey("skip_armor", "1");
|
||||||
damageDecl.AddKey("type", "burn");
|
damageDecl.AddKey("type", "burn");
|
||||||
Damage(m_eBurner, m_eBurner, damageDecl, 1.0f, g_vec_null, origin);
|
Damage(m_eBurner, m_eBurner, damageDecl, 1.0f, g_vec_null, origin);
|
||||||
|
remove(damageDecl);
|
||||||
m_flBurnDmgTime = time + 0.25f;
|
m_flBurnDmgTime = time + 0.25f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -519,6 +524,9 @@ NSSurfacePropEntity::BreakModel(int damage, vector dir, int location)
|
||||||
string gibeffect = GetPropData(PROPINFO_BREAKMODEL);
|
string gibeffect = GetPropData(PROPINFO_BREAKMODEL);
|
||||||
int breakcount = GetPropData(PROPINFO_BREAKCOUNT);
|
int breakcount = GetPropData(PROPINFO_BREAKCOUNT);
|
||||||
BreakModel_Entity(this, dir, g_dmg_iDamage);
|
BreakModel_Entity(this, dir, g_dmg_iDamage);
|
||||||
|
|
||||||
|
string sndBreak = GetSurfaceData(SURFDATA_SND_BREAK);
|
||||||
|
Sound_PlayAt(GetOrigin(), sndBreak);
|
||||||
Disappear();
|
Disappear();
|
||||||
} else {
|
} else {
|
||||||
Disappear();
|
Disappear();
|
||||||
|
@ -551,6 +559,15 @@ NSSurfacePropEntity::SetPropData(string type)
|
||||||
{
|
{
|
||||||
m_strPropData = type;
|
m_strPropData = type;
|
||||||
_PropDataFinish();
|
_PropDataFinish();
|
||||||
|
|
||||||
|
/* no surfdata? maybe the propdata has got one set. */
|
||||||
|
if (m_iMaterial == -1i) {
|
||||||
|
string propDataSurf = GetPropData(PROPINFO_SURFACEPROP);
|
||||||
|
|
||||||
|
if (propDataSurf != "") {
|
||||||
|
SetSurfaceData(propDataSurf);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue