I'm a doctor, not a mechanic
In UT2003 DamageTypes are abstract classes which hold information like e.g. the corresponding death messages and hit effects.
See DamageType (UT) for the UT version of this class.
If you want to create your own DamageType then go to Creating Damage Types.
- string DeathString (localized)
- string to describe death by this type of damage
- string FemaleSuicide, MaleSuicide (localized)
- float ViewFlash
- View flash to play.
- vector ViewFog
- View fog to play.
- class<Effects> DamageEffect
- Special effect.
- string DamageWeaponName
- Weapon that caused this damage.
- bool bArmorStops
- Does regular armor provide protection against this damage?
- bool bInstantHit
- Done by trace hit weapon.
- bool bFastInstantHit
- Done by fast repeating trace hit weapon. (e.g. Assault Rifle or Minigun)
- bool bAlwaysGibs
- When set to true this means that when a player dies of this they will explode in a shower of gibs.
- bool bLocationalHit
- bool bAlwaysSevers
- bool bSpecial
- bool bDetonatesGoop
- Causes biorifle shots to explode.
- bool bSkeletize
- Swap model to skeleton.
- bool bCauseConvulsions
- When ever the player gets damaged by this they will have a spasm.
- bool bSuperWeapon
- If true, also damages teammates even if no friendlyfire.
- bool bCausesBlood
- When ever the player gets damaged by this they will release blood.
- bool bKUseOwnDeathVel
- For ragdoll death. Rather than using default - use death velocity specified in this damage type.
- float GibModifier
(These effects should be none if should use the pawn's blood effects.)
- class<Effects> PawnDamageEffect
- effect to spawn when pawns are damaged by this damagetype
- class<Emitter> PawnDamageEmitter
- effect to spawn when pawns are damaged by this damagetype
- array<Sound> PawnDamageSounds
- Sound Effect to Play when Damage occurs
- class<Effects> LowGoreDamageEffect
- effect to spawn when low gore
- class<Emitter> LowGoreDamageEmitter
- Emitter to use when it's low gore
- array<Sound> LowGoreDamageSounds
- Sound Effects to play with Damage occurs with low gore
- float FlashScale
- for flashing victim's screen
- vector FlashFog
- int DamageDesc
- Describes the damage
- int DamageThreshold
- How much damage much occur before playing effects
- vector DamageKick
- Material DamageOverlayMaterial
- for changing player's shader when hit
- float DamageOverlayTime
- timing for this
- float GibPerterbation
- When gibbing, the chunks will fly off in random directions.
- float KDamageImpulse
- magnitude of impulse applied to KActor due to this damage type.
- float KDeathVel
- How fast ragdoll moves upon death
- float KDeathUpKick
- Amount of upwards kick ragdolls get when they die
All methods of the DamageType class are static, because it is never spawned or otherwise created as object.
- IncrementKills (Controller Killer)
- string DeathMessage (PlayerReplicationInfo Killer, PlayerReplicationInfo Victim)
- Returns the regular death message when Victim was killed by Killer.
- string SuicideMessage (PlayerReplicationInfo Victim)
- Returns a suicide death message when Victim killed himself/herself or got pushed into lava, etc.
- class<Effects> GetPawnDamageEffect (vector HitLocation, float Damage, vector Momentum, Pawn Victim, bool bLowDetail)
- Returns the class of a hit effect, uusally a blood splat. :)
- class<Emitter> GetPawnDamageEmitter (vector HitLocation, float Damage, vector Momentum, Pawn Victim, bool bLowDetail)
- Returns an Emitter class, to be used as hit effect.
- Sound GetPawnDamageSound ( )
- bool IsOfType (int Description)
- GetHitEffects (out class<xEmitter> HitEffects, int VictimHealth)
- Returns up to four xEmitter hit effects based on the victim's health. (e.g. Victim loosing blood)
- string GetWeaponClass ( )
- Returns the string representation of a weapon class this damage type is associated with. (Only used by WeaponDamageType classes.)
DamageType +- Burned +- Corroded +- Crushed +- DamTypeTelefragged → for all kinds of telefrags +- Depressurized +- Drowned +- Fell | +- FellLava +- Gibbed +- Suicided +- WeaponDamageType +- DamTypeAssaultBullet +- DamTypeAssaultGrenade +- DamTypeBioGlob +- DamTypeFlakChunk | +- DamTypeFlakShell +- DamTypeIonBlast +- DamTypeLinkPlasma +- DamTypeLinkShaft +- DamTypeMinigunBullet | +- DamTypeMinigunAlt +- DamTypeRedeemer +- DamTypeRocket | +- DamTypeRocketHoming +- DamTypeShieldImpact +- DamTypeShockBall +- DamTypeShockBeam | +- DamTypeSuperShockBeam | +- ZoomSuperShockBeamDamage +- DamTypeShockCombo +- DamTypeSniperHeadshot +- DamTypeSniperShot +- DamTypeTeleFrag → damage type for the translocator, not really used
SuperApe: I've noticed that the Burned DamageType is set to bFlaming=false. O_o
SuperApe: The whole ViewFog, ViewFlash, FlashFog, FlashScale setup is as confusing as all getout. The comments from the code is what you see here in the property descriptions. No help to me. Are some of these properties obsolete in UT200x? How does this relate to the player controller flashing?
EricBlade: seconded. FlashFog, FlashScale, don't seem to be used anywhere, but are defined .. :-S
EntropicLqd: I can't get them to do anything. I just created a small weapon mutator and tweaked the values for the ViewFog and ViewFlash but I didn't notice any difference. I was expecting the ViewFog to allow me to "colour" a players view after being hit by a particular weapon, and the ViewFlash to determine how long any "weapon-hit effect" was displayed. However, I acheived neither.
SuperApe: That's what I assumed those properties would do too. Perhaps UT200x just uses a texture overlay for that pain indicator and bypasses this stuff together?
MythOpus: Me And... Graph!k dicussed this a bit a long time ago when he was working on Laser Wars I believe. We found that the DamageIndicators are widgets on the hud (if my memory serves me correctly) and they have nothing to do with ViewFlash or any Volume or ZoneInfo property. Also, I believe the difference between ViewFlash/Fog and Distance fog is DistanceFog is 'environmental' and ViewFog works with the hud. I don't know how else to describe it.
SuperApe: That makes sense to me, seeing how the properties in this class don't seem to do much. We should indicate on this page whether these properties are still relevant. Perhaps we could also locate the DamageIndicator widget in the texture packages. Thanks, MO.