DamageInfo¶
DamageInfos are variables holding information about damage inflicted on an entity.
Because damageInfo instances are implemented as userdata they can't be typed.
Getters¶
entity DamageInfo_GetAttacker( var damageInfo )
Returns the attacker of this damageInfo
entity DamageInfo_GetInflictor( var damageInfo )
Returns the inflictor of this damageInfo
entity DamageInfo_GetWeapon( var damageInfo )
Returns the weapon that dealt this damage
bool DamageInfo_GetForceKill( var damageInfo )
Get if this damage is supposed to kill the victim regardless of health
float DamageInfo_GetDamage( var damageInfo )
Get the inflicted damage
float DamageInfo_GetDamageCriticalHitScale( var damageInfo )
vector DamageInfo_GetDamagePosition( var damageInfo )
Returns the position where the damage originated. Usually this is the barrel attachment of the weapon that inflicted the damage.
int DamageInfo_GetHitGroup( var damageInfo )
int DamageInfo_GetHitBox( var damageInfo )
string DamageInfo_GetDeathPackage( var damageInfo )
int DamageInfo_GetDamageType( var damageInfo )
int DamageInfo_GetCustomDamageType( var damageInfo )
int DamageInfo_GetDamageSourceIdentifier( var damageInfo )
Returns the eDamageSourceId
damageSourceId
is an int
that references an enum
and can be used to identify what source damage came from.
damageSourceId
is mostly found as an argument in some kill and damage related functions. Respawn has created a function that will attempt to localise the damageSourceId inputed.
To add your own custom damageSourceID
, see: :doc:../../northstar/customdamagesources
Other useful functions can be found in the damageinfo
section of this page and in :doc:entities
GetObitFromdamageSourceId
is a global function that attempts to localise the damageSourceId
inputed, if it cannot get a localised string it will simply return the localisation string of the source.
float DamageInfo_GetViewPunchMultiplier( vare damageInfo )
float DamageInfo_GetDistFromAttackOrigin( var damageInfo )
Get the distance from where the bullet/projectile was fired.
float DamageInfo_GetDistFromExplosionCenter( var damageInfo )
If it's a radius damage, gives the distance from the center of the blast. Otherwise defaults to zero.
vector DamageInfo_GetDamageForce( var damageInfo )
Get damage force vector.
bool DamageInfo_IsRagdollAllowed( var damageInfo )
Checks if code is allowing this entity to ragdoll on death
int DamageInfo_GetDamageFlags( var damageInfo )
Get all DAMAGEFLAG_* flags.
bool DamageInfo_HasDamageFlags( var damageInfo, int damageFlags )
"Returns true if contains all given DAMAGEFLAG_* flags.
string DamageInfo_GetDamageWeaponName( var damageInfo )
Returns weapon name, even if weapon entity is gone
bool DamageInfo_ShouldRecordStatsForWeapon( var damageInfo )
Returns if stats should be recorded for damage weapon
Setters¶
void DamageInfo_SetForceKill( var damageInfo, bool force )
Sets whether this damage should force a kill
void DamageInfo_SetDamage( var damageInfo, float damage )
Set the amount of damage
void DamageInfo_SetCustomDamageType( var damageInfo, int damageType )
Overrides the damage type that was set by script when firing the weapon.
void DamageInfo_AddCustomDamageType( var damageInfo, int damageType )
Add a damage flag.
void DamageInfo_RemoveCustomDamageType( var damageInfo, int damageType )
Remove damage flag.
void DamageInfo_SetDamageSourceIdentifier( var damageInfo, int identifier )
Sets the damage source identifier.
void DamageInfo_SetDeathPackage( var damageInfo, string package )
Set what death (anim) package to use if this damage kills the guy.
void DamageInfo_SetDamageForce( var damageInfo, vector force )
Set damage force vector
void DamageInfo_SetFlinchDirection( var damageInfo, number direction )
Set which direction the target should flinch in.
void DamageInfo_AddDamageFlags( var damageInfo, int flags )
Add a DAMAGEFLAG_* flag.
Utils¶
bool IsCriticalHit( entity attacker, entity victim, number hitBox, number damage, int damageType )
bool IsRodeoHitBox( entity e, number f )
Helpers¶
bool HeavyArmorCriticalHitRequired( var damageInfo )
!!! note
SERVER only
bool CritWeaponInDamageInfo( var damageInfo )
!!! note
SERVER only
float GetCriticalScaler( ent, damageInfo )
!!! note
SERVER only
bool IsValidHeadShot( var damageInfo = null, entity victim = null, entity attacker = null, entity weapon = null, int hitGroup = -1, float attackDist = -1.0, entity inflictor = null )
bool IsMaxRangeShot( damageInfo )
bool IsMidRangeShot( damageInfo )
bool IsInstantDeath( var damageInfo )
bool IsTitanCrushDamage( damageInfo )
bool IsSuicide( entity attacker, entity victim, int damageSourceId )
string GetObitFromdamageSourceId( int damageSourceId )
Damage Flags¶
You can get a bitflag of all damage types used with DamageInfo_GetDamageType
.
Damage flags
List of all Damage flags
Variable name | Value |
---|---|
DF_GIB | 1 |
DF_DISSOLVE | 2 |
DF_INSTANT | 3 |
DF_NO_SELF_DAMAGE | 4 |
DF_IMPACT | 5 |
DF_BYPASS_SHIELD | 6 |
DF_RAGDOLL | 7 |
DF_TITAN_STEP | 8 |
DF_RADIUS_DAMAGE | 9 |
DF_ELECTRICAL | 10 |
DF_BULLET | 11 |
DF_EXPLOSION | 12 |
DF_MELEE | 13 |
DF_NO_INDICATOR | 14 |
DF_KNOCK_BACK | 15 |
DF_STOPS_TITAN_REGEN | 16 |
DF_DISMEMBERMENT | 17 |
DF_MAX_RANGE | 18 |
DF_SHIELD_DAMAGE | 19 |
DF_CRITICAL | 20 |
DF_SKIP_DAMAGE_PROT | 21 |
DF_HEADSHOT | 22 |
DF_VORTEX_REFIRE | 23 |
DF_RODEO | 24 |
DF_BURN_CARD_WEAPON | 25 |
DF_KILLSHOT | 26 |
DF_SHOTGUN | 27 |
DF_SKIPS_DOOMED_STATE | 28 |
DF_DOOMED_HEALTH_LOSS | 29 |
DF_DOOM_PROTECTED | 30 |
DF_DOOM_FATALITY | 31 |
DF_NO_HITBEEP | 32 |
Damage types
global enum damageTypes
{
gibs = (DF_GIB)
largeCaliberExp = (DF_BULLET | DF_GIB | DF_EXPLOSION)
gibBullet = (DF_BULLET | DF_GIB)
instant = (DF_INSTANT)
dissolve = (DF_DISSOLVE)
projectileImpact = (DF_GIB)
pinkMist = (DF_GIB) //If updated from DF_GIB, change the DF_GIB in Arc Cannon to match.
ragdoll = (DF_RAGDOLL)
titanStepCrush = (DF_TITAN_STEP)
arcCannon = (DF_DISSOLVE | DF_GIB | DF_ELECTRICAL )
electric = (DF_ELECTRICAL) //Only increases Vortex Shield decay for bullet weapons atm.
explosive = (DF_RAGDOLL | DF_EXPLOSION )
bullet = (DF_BULLET)
largeCaliber = (DF_BULLET | DF_KNOCK_BACK)
shotgun = (DF_BULLET | DF_GIB | DF_SHOTGUN )
titanMelee = (DF_MELEE | DF_RAGDOLL)
titanBerserkerMelee = (DF_MELEE | DF_RAGDOLL)
titanEjectExplosion = (DF_GIB | DF_EXPLOSION)
dissolveForce = (DF_DISSOLVE | DF_KNOCK_BACK | DF_EXPLOSION)
rodeoBatteryRemoval = (DF_RODEO | DF_EXPLOSION | DF_STOPS_TITAN_REGEN )
}