| Home Page | Recent Changes

Pawn

UT2003 :: Actor >> Pawn (Package: Engine)

This is the parent class for all Controlled entities in the game engine, whether they are controlled by human players or AI. Their purpose is to represent the visual and physical elements of the entity, while the Controller class handles their decision making, Adrenaline, etc.

Properties

Main

byte DamageDirIntensity[4]
HitFXData HitFx[8]
float SkillModifier
Skill modifier (same scale as game difficulty, 0 - 7)

AI

name AIScriptTag
Tag of AIScript which should be associated with this pawn
float Alertness
-1 to 1 →Used within specific states for varying reaction to stimuli
bool bAdjacentZoneHearing
Can hear any sound in adjacent zone (if close enough to hear)
bool bLOSHearing
Can hear sounds from line-of-sight sources (which are close enough to hear)
bool bMuffledHearing
Can hear sounds through walls (but muffled - sound distance increased to double plus 4x the distance through walls
float HearingThreshold
Max distance at which a makenoise(1.0) loudness sound can be heard
float PeripheralVision
Cosine of limits of peripheral vision.
float SightRadius
Maximum seeing distance.

AnimTweaks

float BlendChangeTime
Time to blend between movement animations

Shield

float ShieldStrength (transient)
Current shielding (having been activated)

Hidden

name LandAnims[4]
name TakeoffAnims[4]
name AirAnims[4]
name WalkAnims[4]
name CrouchAnims[4]
name DodgeAnims[4]
name DoubleJumpAnims[4]
float AccelRate
Max acceleration rate
float AirControl
Amount of AirControl available to the pawn
float AirSpeed
The maximum flying speed.
name AirStillAnim
NavigationPoint Anchor
Current nearest path object.
name AnimAction
Use for replicating anims
float AppliedBob
float AvgPhysicsTime (const)
Physics updating time monitoring (for AI monitoring reaching destinations)
float BackwardStrafeBias
Bias of strafe blending in backward direction
bool bAmbientCreature
AIs will ignore me
float BaseEyeHeight
Base eye height above collision center.
float BaseMovementRate
FIXME - temp - used for scaling movement
bool bAutoFire
Used for third person weapon anims/effects
bool bAvoidLedges
Don't get too close to ledges
bool bCachedRelevant
Network relevancy caching flag
bool bCanClimbLadders
bool bCanDoubleJump
bool bCanFly
bool bCanJump
Movement capabilities - used by AI
bool bCanStrafe
bool bCanSwim
bool bCanWalk
bool bClientCollision
Used on clients when temporarily turning off collision
bool bCrawler
Crawling - pitch and roll based on surface pawn is on
bool bDirectHitWall
Always call pawn hitwall directly (no controller notifyhitwall)
bool bDoTorsoTwist
bool bHideRegularHUD
bool bInitializeAnimation
bool bInvulnerableBody
bool bIsCrouched (const)
Set by physics to specify that pawn is currently crouched
bool bIsFemale
bool bJumpCapable
bool bJustLanded
Used by eyeheight adjustment
class<Effects> BloodEffect
bool bNoJumpAdjust
Set to tell controller not to modify velocity of a jump/fall
bool bNoTeamBeacon
Never display team beacon for this pawn
bool bNoVelocityUpdate (const)
Used by C++ physics
bool bNoWeaponFiring
float Bob (globalconfig)
float bobtime
bool bPhysicsAnimUpdate
bool bPlayedDeath
bool bReducedSpeed (const)
Used by movement natives
bool bReverseRun (const)
bool bRollToDesired
Update roll when turning to desired rotation (normally false)
bool bSimGravityDisabled (const)
Used on network clients
bool bSimulateGravity (const)
Simulate gravity for this pawn on network clients when predicting position (true if pawn is walking or falling)
bool bSpecialHUD
bool bSteadyFiring
Used for third person weapon anims/effects
bool bThumped
bool bTryToUnCrouch (const)
When auto-crouch during movement, continually try to uncrouch
bool bUpAndOut
Used by swimming
bool bUpdatingDisplay
To avoid infinite recursion through inventory setdisplay
bool bWaitForAnim
True if the pawn is playing an important non-looping animation (eg. landing/dodge) and doesn't feel like being interrupted
bool bWantsToCrouch
If true crouched (physics will automatically reduce collision height to CrouchHeight)
bool bWarping
Set when travelling through warpzone (so shouldn't telefrag)
bool bWasCrouched
bool bWasOnGround
bool bWasWalking
bool bWeaponBob
vector ConstantAcceleration
Acceleration added to pawn when falling
Controller Controller
class<AIController> ControllerClass
Default class to use when pawn is controlled by AI (can be modified by an AIScript)
float CrouchedPct
Percent of running speed that crouched walking speed is
float CrouchHeight
CollisionHeight when crouching
float CrouchRadius
CollisionRadius when crouching
name CrouchTurnLeftAnim
name CrouchTurnRightAnim
float DamageScaling
float DesiredSpeed
float DestinationOffset
Used to vary destination over NavigationPoints
float DodgeSpeedFactor
Dodge speed moved here so animation knows the diff between a jump and a dodge
float DodgeSpeedZ
float FindAnchorFailedTime
Last time a FindPath() attempt failed to find an anchor.
byte FlashCount
Used for third person weapon anims/effects
vector Floor (const)
Normal of floor pawn is standing on (only used by PHYS_Spider and PHYS_Walking)
int FootRot (const)
Torso twisting/looking stuff
bool FootStill (const)
bool FootTurning (const)
float ForwardStrafeBias
Bias of strafe blending in forward direction
float GroundSpeed
The maximum ground speed.
name HeadBone
float HeadScale
PhysicsVolume HeadVolume
Physics volume of head
int Health (travel)
Health: 100 = normal maximum
float HealthMax
class<DamageType> HitDamageType
Damage type of last hit (for playing hit/death anims)
int HitFxTicker (transient)
name IdleCrouchAnim
name IdleRestAnim
name IdleSwimAnim
float IdleTime
name IdleWeaponAnim
WeaponAttachment code will set this one
float JumpZ
Vertical acceleration w/ jump
float LadderSpeed
Ladder climbing speed
float LandBob
name LandMovementState
A state of the PlayerController or a derived class which is applied when the player is not within a water block. This will in effect set the default movement state for the pawn.
NavigationPoint LastAnchor (const)
Old nearest path object
float LastPainSound
float LastPainTime
Last time pawn played a takehit animation (updated in PlayHit())
PlayerController LastRealViewer
PlayerStart LastStartSpot
Used to avoid spawn camping
float LastStartTime
float LastValidAnchorTime
Last time a valid anchor was found
Actor LastViewer
class<Effects> LowGoreBlood
float MaxDesiredSpeed
float MaxFallSpeed
Max speed pawn can land without taking damage (also limits what paths AI can use)
float MeleeRange
Max range for melee attack (not including collision radii)
string MenuName (localized)
Name used for this pawn type in menus (e.g. player selection)
float MovementBlendStartTime
Used for delaying the start of run blending
float NetRelevancyTime
float NextPathRadius
Radius of next path in route
float noise1loudness (const)
All the noise* variables are for remembering the location and position of the last noises propagated.
Pawn noise1other (const)
vector noise1spot (const)
float noise1time (const)
float noise2loudness (const)
Pawn noise2other (const)
vector noise2spot (const)
float noise2time (const)
vector OldAcceleration
int OldAnimDir (const)
EPhysics OldPhysics
float OldRotYaw
Used for determining if pawn is turning
vector OldVelocity (const)
Velocity at last update
float OldZ
Old Z height - used for eyeheight smoothing
LadderVolume OnLadder
Ladder currently being climbed
CompressedPosition? PawnPosition (transient)
Weapon PendingWeapon
Will become weapon once current weapon is put down
PlayerReplicationInfo PlayerReplicationInfo
class<DamageType> ReducedDamageType
Which damagetype this creature is protected from (used by AI)
name RootBone
Powerups? SelectedItem (travel)
Currently selected inventory item
vector SerpentineDir
Serpentine direction
float SerpentineDist
float SerpentineTime
How long to stay straight before strafing again
Projector Shadow
float SoundDampening
float SpawnTime
name SpineBone1
name SpineBone2
float SplashTime
Time of last splash
vector TakeHitLocation
Location of last hit (for playing hit/death anims)
name TakeoffStillAnim
array<name> TauntAnims
Array of names of taunt anim that can be played by this character. First 4 assumed to be orders.
string TauntAnimNames[8] (localized)
Text description of taunt anims
vector TearOffMomentum
Momentum to apply when torn off (bTearOff == true)
int TurnDir (const)
name TurnLeftAnim
name TurnRightAnim
Turning anims when standing in place (scaled by turn speed)
float UnCrouchTime (const)
When auto-crouch during movement, continually try to uncrouch once this decrements to zero
float UnderWaterTime
How much time pawn can go without air (in seconds)
byte ViewPitch
Something to replicate so we can see which way remote clients are looking
vector WalkBob
float WalkingPct
Percent of running speed that walking speed is
name WaterMovementState
A state of the PlayerController or a derived class which is applied when the player is within a water block.
float WaterSpeed
The maximum swimming speed.
Weapon Weapon (travel)
The pawn's current weapon.

Structs

struct HitFXData
{
    var() Name Bone :
    var() class<DamageType> damtype :
    var() bool bSever :
    var() Rotator rotDir :
}

Functions

SetTwistLook( int twist, int look ) (simulated, native)
int Get4WayDirection() (simulated, native)
bool ReachedDestination( Actor Goal) (native)
returns true if the pawn has reached Goal.
ForceCrouch() (native)
Forces the pawn to crouch.
Weapon GetDemoRecordingWeapon() (simulated)
Fire( optional float F )
Fires the pawn's current weapon
DrawHUD( Canvas Canvas )
bool SpecialCalcView( out actor ViewActor, out vector CameraLocation, out rotator CameraRotation )
string GetHumanReadableName() (simulated)
PlayTeleportEffect( bool bOut, bool bSound )
PossessedBy( Controller C )
Called when the pawn is possessed by a Controller
UnPossessed()
Called when a Controller gives up control of the pawn.
bool PointOfView() (simulated)
False means first person view, True means third person view.
BecomeViewTarget()
DropToGround()
bool CanGrabLadder()
Returns true if this pawn can currently grab a ladder.
bool CanSplash()
ClimbLadder( LadderVolume L )
Called when the pawn starts climbing a ladder.
EndClimbLadder( LadderVolume OldLadder )
Called when the pawn is done climbing a ladder.
DisplayDebug( Canvas Canvas, out float YL, out float YPos ) (simulated)
This displays the debug information seen with the console command "showdebug"
vector CalcDrawOffset( Inventory Inv) (simulated)
Compute offset for drawing an inventory item.
vector CameraShake()
vector ModifiedPlayerViewOffset( Inventory Inv )
vector WeaponBob( float BobDamping )
CheckBob( float DeltaTime, vector Y )
bool IsPlayerPawn() (simulated)
Returns true if this pawn is controlled by a player/bot.
bool WasPlayerPawn() (simulated)
Returns true if this pawn was previously controlled by a player/bot.
bool IsHumanControlled() (simulated)
Returns true if this pawn is being controlled by a human player.
bool IsLocallyControlled() (simulated)
Returns true if this pawn is being controlled locally (by the computer calling the function).
bool IsFirstPerson() (simulated)
Returns true if viewing this pawn in first person view.
rotator GetViewRotation() (simulated)
SetViewRotation( rotator NewRotation ) (simulated)
bool InGodMode() (final)
Returns true if this pawn is in God mode (invulnerable)
bool NearMoveTarget()
Returns true if pawn is near it's Controller's MoveTarget.
bool PressingFire() (simulated, final)
bool PressingAltFire() (simulated, final)
Actor GetMoveTarget()
Returns the pawn's Controller's MoveTarget.
SetMoveTarget( Actor NewTarget)
Sets the pawn's Controller's MoveTarget.
bool LineOfSightTo( Actor Other)
rotator AdjustAim( Ammunition FiredAmmunition, vector projStart, int aimerror) (simulated, final)
Actor ShootSpecial( Actor A)
float AdjustedStrength()
return a value (typically 0 to 1) adjusting pawn's perceived strength if under some special influence (like berserk)
HandlePickup( Pickup pick )
ReceiveLocalizedMessage( class<LocalMessage> Message, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject )
Trigger( Actor Other, Pawn EventInstigator)
bool CanTrigger( Trigger T )
Returns true if the pawn can be triggered.
CreateInventory( string InventoryClassName )
Spawns an Inventory of class InventoryClassName and gives it to this pawn.
GiveWeapon( string aClassName )
SetDisplayProperties( ERenderStyle NewStyle, Material NewTexture, bool bLighting )
SetDefaultDisplayProperties()
FinishedInterpolation()
JumpOutOfWater( vector jumpDir )
Called to set the pawn's velocity and acceleration as he jumps out of water.
ShouldCrouch( bool Crouch )
Called by the pawn's Controller when it wants to crouch.
RestartPlayer()
AddVelocity( vector NewVelocity )
KilledBy( Pawn EventInstigator )

Events

SetHeadScale( float NewScale ) (simulated)
Sets the scaling of the head of the pawn (used in the BigHead mutator)
SetWalking( bool bNewIsWalking )
ClientMessage( coerce string S, optional Name Type )
ModifyVelocity( float DeltaTime, vector OldVelocity ) (simulated)
called by physics before applying new velocity for this tick. Velocity,Acceleration, etc. have been updated by the physics, but location hasn't.
EndCrouch( float HeightAdjust )
Called by physics when the pawn begins crouching.
StartCrouch( float HeightAdjust )
Called by physics when the pawn ends crouching.
PlayDying( class<DamageType> DamageType, vector HitLoc ) (simulated)
UT2004: This function seems to be called natively on clientside. It's ROLE on clientside seems to be set to ROLE_Authority before. Although there is a ClientDying() method in Pawn, it is overwritten in xPawn and does therefore NOT call the controller's ClientDying() which "could" call PlayDying(). Controller.PlayDying() is not simulated, it wouldn't be called anyways. Magic ladies and gentlemen.

Known Subclasses

 Pawn
   +- RedeemerWarhead (UT200x)
   +- KVehicle (UT2003 only)
   +- Scout
   +- ScriptedPawn (UT only)
   +- UnrealPawn
   |   +- xIntroPawn >> (UT200x)
   |   +- xPawn (UT200x)
   |       +- Monster >>
   |       +- xMutantPawn (UT2004)
   +- Vehicle (UT2004 only) >>
       +- ASVehicle >>
       +- KVehicle >>
       +- ONSWeaponPawn >>
       +- SVehicle >>

Related Topics

Discussion

Mysterial: Whew! Even though the Class Wikifier did half the work, that still took a while! I'll get to the functions and other stuff later.

Eyaw_Nayr: This class is probably one of the most important in the game. We should include things like how to modify pawns, etc ... Essentially we just need more details.

mono_eric3: Am I correct in thinking the movement animations are handled natively? Does anyone know of a way to prevent them playing, or at least have some sort of input in what is played (apart from setting those default variables of course). It would be nice if this page could be extended to cover natives and what can be done about them in the pawn class.

SuperApe: Those default properties (MovementAnims, etc) combine with the UnrealPawn and xPawn properties to make the full list of available anims. Within Actor, bAnimOwner dictates whether the Owner is in charge of the animations. Controller.bControllAnimations dictatates that the controller is in charge, rather than the Pawn notifications. It seems you could prevent movement animations from playing (on a player) simply by removing the values from those Pawn (UnrealPawn and xPawn) animation properties. Marked up properties, functions, etc.

SuperApe: Is the property bRollToDesired obsolete or broken? Has anyone use this property set to True succesfully? While True, it seems to disable bRotateToDesired, at least with PHYS_Flying.

 

Category Class (UT2003)

Category Class (UT2004)

Category Class Tree

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In