XPawn
This is the actual pawn class used in UT2003 and UT2004. The "x" does not stand for anything, just indicates this is Digital Extreme's implementation, rather than from Epic's basic engine classes.
Properties
AI
- string PlacedCharacterName
Deres
- float DeResGravScale
- Reduce gravity on corpse during de-res
- float DeResLateralFriction
- Sideways friction while lifting
- InterpCurve DeResLiftSoftness
- Vertical 'sprinyness' (over time) of bone lifters
- InterpCurve DeResLiftVel
- Speed (over time) at which body rises
Gib
- int GibCountCalf
- int GibCountForearm
- int GibCountHead
- int GibCountTorso
- int GibCountUpperArm
- class<xPawnGibGroup> GibGroupClass
Karma
- Material RagConvulseMaterial
- float RagDeathUpKick
- Amount of upwards kick ragdolls get when they die
- float RagDeathVel
- How fast ragdoll moves upon death
- float RagdollLifeSpan
- MAXIMUM time the ragdoll will be around. De-res's early if it comes to rest.
- float RagImpactSoundInterval
- array<sound> RagImpactSounds
- float RagImpactVolume
- float RagInvInertia
- Use to work out how much 'spin' ragdoll gets on death.
- float RagShootStrength
- How much effect shooting ragdolls has. Be careful!
- float RagSpinScale
- Increase propensity to spin around Z (up).
Marker
- vector LeftOffset
- vector RightOffset
Shield
- float ShieldCharge
- Current charge
- float ShieldChargeMax
- Max strength
- float ShieldChargeRate
- Amount to recharge per sec.
- float ShieldConvertRate
- Speed at which charge is expended into strength
- Material ShieldHitMat
- float ShieldHitMatTime
- float ShieldStrengthDecay
- Max strength
- float ShieldStrengthMax
- Max strength
Sounds
- SoundFootsteps[11]
- Indexed by ESurfaceTypes (sorry about the literal).
- float FootstepVolume
- float GruntVolume
- class<xPawnSoundGroup?> SoundGroupClass
Udamage
- Sound UDamageSound
- Material UDamageWeaponMaterial
- Weapon overlay material
Hidden
- WallDodgeAnims[4]
- TransOutEffect[2]
- RealSkins[2]
- TransEffects[2]
- bool bBerserk
- bool bDeRes
- bool bGibbed
- bool bInvis
- bool bOldInvis
- bool bSkeletized
- True if player is a Skeleton
- Combo CurrentCombo
- Currently active Adrenaline combo (handled by Controller)
- Emitter DeResFX
- Material DeResMat0
- Material DeResMat1
- float DeResTime
- name FireHeavyBurstAnim
- name FireHeavyRapidAnim
- name FireRifleBurstAnim
- name FireRifleRapidAnim
- name FireRootBone
- EFireAnimState FireState
- string HeadShotMessage
- name IdleHeavyAnim
- name IdleRifleAnim
- Material InvisMaterial
- float LastUDamageSoundTime
- PlayerLight LeftMarker
- int MaxMultiJump
- How many times the player can jump after first jump
- float MinTimeBetweenPainSounds
- int MultiJumpBoost
- Depends on the tolerance (100)
- int MultiJumpRemaining
- Remaining jumps
- Controller OldController
- ShadowProjector PlayerShadow
- string RagdollOverride
- float RagLastSoundTime
- int RepeaterDeathCount
- PlayerLight RightMarker
- int SimHitFxTicker
- int SimTransEffectTicker
- Mesh SkeletonMesh
- The player mesh when u are burned by lava
- class<SpeciesType> Species
- class<Actor> TeleportFXClass
- vector TransEffectOrigin
- int TransEffectTicker
- float UDamageTime
- UDamageTimer UDamageTimer
- class<TeamVoicePack?> VoiceClass
- xWeaponAttachment? WeaponAttachment
Enums
EFireAnimState
- FS_None
- FS_PlayOnce
- FS_Looping
- FS_Ready
Known Subclasses
xPawn +- Monster >> +- xMutantPawn (UT2004 only)
Related Topics
Discussion
Defx: Whats the difference between Pawn and xPawn?
Nick89: XPawn is the final refined class designed specifically for UT200x. XPawn handles damage, shields and properly interacts with everything in the game.
OlympusMons: Doesnt the "x" signify that a class is linked into the caching system through xUtil? Well thats kinda the impression I got, at first I thought it was digital extremes but it seems the classes that were marked with an "x" for Unreal Championship Im guessing were done so because of the upl files and probably extended later on with the ucl and CacheManager?, which covers mutators and some other stuff. Maybe they were talking about the xBox because this is probably when all the SpeciesType started, maybe Im wrong.
Wormbo: The X in many class and package names only stands for "extended" and points out a severe lack of ideas for names.
OlympusMons: Yeah I guess your right, just looking through the code and there is a fair few classes that dont relate to the xUtil? that carry the prefix "x" like xWeaponBase, xEmitter and xWeaponAttachment?. I do know the Classes are designated with a lowcase "x" and the Packages and uppercase "X". They do share something in common with xPawn though, theres only acouple Ive found that seem to be completely unrealted which are xWeatherEffect and xMaterialController?.Theres a few more I dont really think this is worth discussing further as it seems the statement on top of this page is right.
Pendragon: It says at the top of the page,
"The "x" does not stand for anything, just indicates this is Digital Extreme's implementation, rather than from Epic's basic engine classes."