Use NSDict instead of sprintfing strings and sending them over Damage()
This commit is contained in:
parent
e9145091fd
commit
ac037bb887
6 changed files with 25 additions and 14 deletions
|
@ -408,13 +408,15 @@ func_breakable::Touch(entity eToucher)
|
|||
|
||||
if (dmgAmount >= health) {
|
||||
vector dmgDir = dirFromTarget(eToucher.origin, WorldSpaceCenter());
|
||||
string dmgDef = sprintf("\"damage\" \"%i\"", dmgAmount);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", itos(dmgAmount));
|
||||
m_bCanTouch = false;
|
||||
Damage(eToucher, eToucher, dmgDef, 1.0f, dmgDir, eToucher.origin);
|
||||
Damage(eToucher, eToucher, damageDecl.GetDeclBody(), 1.0f, dmgDir, eToucher.origin);
|
||||
|
||||
if ((GetSurfaceData(SURFDATA_MATERIAL) == GSMATERIAL_GLASS) || (GetSurfaceData(SURFDATA_MATERIAL) == GSMATERIAL_COMPUTER)) {
|
||||
Damage(eToucher, eToucher, dmgDef, 0.25f, dmgDir, eToucher.origin);
|
||||
Damage(eToucher, eToucher, damageDecl.GetDeclBody(), 0.25f, dmgDir, eToucher.origin);
|
||||
}
|
||||
remove(damageDecl);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -581,9 +581,11 @@ func_door::Blocked(entity eBlocker)
|
|||
if (m_iDamage) {
|
||||
vector center = WorldSpaceCenter();
|
||||
vector dmgDir = dirFromTarget(center, eBlocker.origin);
|
||||
string dmgDef = sprintf("\"damage\" \"%i\"", m_iDamage);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", itos(m_iDamage));
|
||||
m_bCanTouch = false;
|
||||
entityDamage(eBlocker, this, eBlocker, dmgDef, "", center, dmgDir, eBlocker.origin);
|
||||
entityDamage(eBlocker, this, eBlocker, damageDecl.GetDeclBody(), "", center, dmgDir, eBlocker.origin);
|
||||
remove(damageDecl);
|
||||
}
|
||||
|
||||
if (!m_bForceClosed)
|
||||
|
|
|
@ -515,9 +515,11 @@ func_door_rotating::Blocked(entity eBlocker)
|
|||
if (m_iDamage) {
|
||||
vector center = WorldSpaceCenter();
|
||||
vector dmgDir = dirFromTarget(center, eBlocker.origin);
|
||||
string dmgDef = sprintf("\"damage\" \"%i\"", m_iDamage);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", itos(m_iDamage));
|
||||
m_bCanTouch = false;
|
||||
entityDamage(eBlocker, this, eBlocker, dmgDef, "", center, dmgDir, eBlocker.origin);
|
||||
entityDamage(eBlocker, this, eBlocker, damageDecl.GetDeclBody(), "", center, dmgDir, eBlocker.origin);
|
||||
remove(damageDecl);
|
||||
}
|
||||
|
||||
if (m_flWait >= 0) {
|
||||
|
|
|
@ -207,8 +207,10 @@ func_rotating::Blocked(entity eBlocker)
|
|||
if (WithinBounds(eBlocker)) {
|
||||
vector center = WorldSpaceCenter();
|
||||
vector dmgDir = dirFromTarget(center, eBlocker.origin);
|
||||
string dmgDef = sprintf("\"damage\" \"%i\"", (int)m_flDamage);
|
||||
entityDamage(eBlocker, this, eBlocker, dmgDef, "", center, dmgDir, eBlocker.origin);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", ftos(m_flDamage));
|
||||
entityDamage(eBlocker, this, eBlocker, damageDecl.GetDeclBody(), "", center, dmgDir, eBlocker.origin);
|
||||
remove(damageDecl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -96,9 +96,10 @@ game_player_hurt::Trigger(entity activatingEntity, triggermode_t triggerMode)
|
|||
return;
|
||||
}
|
||||
|
||||
string damageDef = sprintf("\"damage\" \"%i\"", m_iDamage);
|
||||
|
||||
entityDamage(activatingEntity, this, activatingEntity, damageDef, "", GetOrigin(), g_vec_null, activatingEntity.origin);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", itos(m_iDamage));
|
||||
entityDamage(activatingEntity, this, activatingEntity, damageDecl.GetDeclBody(), "", GetOrigin(), g_vec_null, activatingEntity.origin);
|
||||
remove(damageDecl);
|
||||
|
||||
if (HasSpawnFlags(1)) {
|
||||
Destroy();
|
||||
|
|
|
@ -462,8 +462,10 @@ prop_vehicle_driveable_wheel::Accel(float flMoveTime, float m_flTurn)
|
|||
if (trace_ent.takedamage) {
|
||||
NSSurfacePropEntity foo = (NSSurfacePropEntity)trace_ent;
|
||||
vector dmgDir = dirFromTarget(trace_endpos, foo.origin);
|
||||
string dmgDef = sprintf("\"damage\" \"%i\"", iImpactDamage);
|
||||
entityDamage(foo, this, vehParent.m_eDriver, dmgDef, "", trace_endpos, dmgDir, foo.origin);
|
||||
NSDict damageDecl = spawn(NSDict);
|
||||
damageDecl.AddKey("damage", itos(iImpactDamage));
|
||||
entityDamage(foo, this, vehParent.m_eDriver, damageDecl.GetDeclBody(), "", trace_endpos, dmgDir, foo.origin);
|
||||
remove(damageDecl);
|
||||
//print(sprintf("Delivering %i impact damage\n", iImpactDamage));
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue