I search for solutions in this order: Past Code, Unreal Source, Wiki, BUF, groups.yahoo, google, screaming at monitor. – RegularX

Legacy:DamageType

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 06:40, 13 June 2006 by SuperApe (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
UT2003 :: Actor >> DamageType (Package: Engine)

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.

Properties[edit]

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
class<Effects> LowDetailEffect 
Low Detail effect
class<Emitter> LowDetailEmitter 
Low Detail emitter
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

Methods[edit]

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[4], 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.)

Known Subclasses[edit]

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

Related Topics[edit]

Discussion[edit]

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.