Cogito, ergo sum

UE3:Pawn (UT3)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT3 Object >> Actor >> Pawn
Package: 
Engine
Direct subclasses:
GamePawn, Scout, Vehicle
This class in other games:
RTNP, U1, UT, UE2Runtime, UT2003, U2XMP, U2, UT2004, UDK

Pawn, the base class of all actors that can be controlled by players or AI.

Pawns are the physical representations of players and creatures in a level. Pawns have a mesh, collision, and physics. Pawns can take damage, make sounds, and hold weapons and other inventory. In short, they are responsible for all physical interaction between the player or AI and the world.

Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.

Properties[edit]

Property group 'AI'[edit]

Alertness[edit]

Type: float

-1 to 1 ->Used within specific states for varying reaction to stimuli

bDontPossess[edit]

Type: bool

if true, Pawn won't be possessed at game start

bLOSHearing[edit]

Type: bool


Default value: True

bMuffledHearing[edit]

Type: bool

can hear sounds through walls (but muffled - sound distance increased to double plus 4x the distance through walls

HearingThreshold[edit]

Type: float

max distance at which a makenoise(1.0) loudness sound can be heard

Default value: 2800.0

PeripheralVision[edit]

Type: float

Cosine of limits of peripheral vision.

SightRadius[edit]

Type: float

Maximum seeing distance.

Default value: 5000.0

Property group 'Camera'[edit]

BaseEyeHeight[edit]

Type: float

Base eye height above collision center.

Default value: 64.0

EyeHeight[edit]

Type: float

Current eye height, adjusted for bobbing and stairs.

Default value: 54.0

Property group 'Pawn'[edit]

bCanCrouch[edit]

Type: bool

if true, this pawn is capable of crouching

Health[edit]

Type: int


Default value: 100

HealthMax[edit]

Type: int

amount of health this Pawn has

Mesh[edit]

Type: SkeletalMeshComponent


RBPushRadius[edit]

Type: float

Unreal units

Default value: 10.0

RBPushStrength[edit]

Type: float


Default value: 50.0

VehicleCheckRadius[edit]

Type: float

Radius that is checked for nearby vehicles when pressing use

Default value: 150.0

ViewPitchMax[edit]

Type: float


Default value: 16383.0

ViewPitchMin[edit]

Type: float


Default value: -16384.0

Weapon[edit]

Type: Weapon

Weapon currently held by Pawn

Internal variables[edit]

See Pawn internal variables.

Default values[edit]

Property Value
bBlockActors True
bCanBeDamaged True
bCanTeleport True
bCollideActors True
bCollideWorld True
bProjTarget True
bShouldBaseAtStartup True
bUpdateSimulatedPosition True
CollisionComponent CylinderComponent'CollisionCylinder'
CollisionType COLLIDE_CustomDefault
Components[0] SpriteComponent'Sprite'
Components[1] CylinderComponent'CollisionCylinder'
Components[2] ArrowComponent'Arrow'
NetPriority 2.0
RemoteRole ROLE_SimulatedProxy
RotationRate
Member Value
Pitch 20000
Roll 20000
Yaw 20000

Subobjects[edit]

Arrow[edit]

Class: Engine.ArrowComponent

Property Value
ArrowColor
Member Value
A 255
B 255
G 200
R 150

CollisionCylinder[edit]

Class: Engine.CylinderComponent

Property Value
BlockActors True
CollideActors True
CollisionHeight 78.0
CollisionRadius 34.0

Sprite[edit]

Class: Engine.SpriteComponent

Property Value
AlwaysLoadOnClient False
AlwaysLoadOnServer False
HiddenGame True

Enums[edit]

EPathSearchType[edit]

PST_Default 
PST_Breadth 
PST_NewBestPathTo 

Functions[edit]

Native functions[edit]

ForceCrouch[edit]

native function ForceCrouch ()


GetBestAnchor[edit]

native function NavigationPoint GetBestAnchor (Actor TestActor, Object.Vector TestLocation, bool bStartPoint, bool bOnlyCheckVisible, out float out_Dist)


GetBoundingCylinder[edit]

native function GetBoundingCylinder (out float CollisionRadius, out float CollisionHeight) const

Overrides: Actor.GetBoundingCylinder


GetTeamNum[edit]

simulated native function byte GetTeamNum ()

Overrides: Actor.GetTeamNum


GetVehicleBase[edit]

native function Vehicle GetVehicleBase ()


InitRagdoll[edit]

native function bool InitRagdoll ()

Does the following: - Assign the SkeletalMeshComponent 'Mesh' to the CollisionComponent - Call InitArticulated on the SkeletalMeshComponent. - Change the physics mode to PHYS_RigidBody

IsHumanControlled[edit]

simulated final native function bool IsHumanControlled ()

IsHumanControlled() return true if controlled by a real live human on the local machine. On client, only local player's pawn returns true

IsInvisible[edit]

native function bool IsInvisible ()

Returns:

true if pawn is invisible to AI

IsLocallyControlled[edit]

simulated final native function bool IsLocallyControlled ()

IsLocallyControlled() return true if controlled by local (not network) player

IsPlayerPawn[edit]

simulated native function bool IsPlayerPawn () const

IsPlayerPawn() return true if controlled by a Player (AI or human) on local machine (any controller on server, localclient's pawn on client)

IsValidEnemyTargetFor[edit]

native function bool IsValidEnemyTargetFor (const PlayerReplicationInfo PRI, bool bNoPRIisEnemy) const

Returns if this is a valid enemy for PRI. Checks things like whether the Pawn is alive, teammates, etc. Works on clients and servers.

Native implementation:

UBOOL APawn::IsValidEnemyTargetFor(const APlayerReplicationInfo* OtherPRI, UBOOL bNoPRIIsEnemy) const
{
        // only am valid target if not dead, and not driving a vehicle
        if ( bDeleteMe || (Health <=0) || DrivenVehicle )
        {
                return FALSE;
        }
        if ( !PlayerReplicationInfo )
        {
                 return bNoPRIIsEnemy;
        }
 
        // and not on same team, or neither is on a team (which implies not a team game)
        return !OtherPRI || !PlayerReplicationInfo->Team || (PlayerReplicationInfo->Team != OtherPRI->Team);
}

IsValidTargetFor[edit]

native function bool IsValidTargetFor (const Controller C) const

returns if we are a valid enemy for C checks things like whether we're alive, teammates, etc server only; always returns false on clients

Obsolete:

Use IsValidEnemyTargetFor() instead!

ReachedDestination[edit]

native function bool ReachedDestination (Actor Goal)


ReachedPoint[edit]

native function bool ReachedPoint (Object.Vector Point, Actor NewAnchor)


SetAnchor[edit]

native function SetAnchor (NavigationPoint NewAnchor)


SetPushesRigidBodies[edit]

native function SetPushesRigidBodies (bool NewPush)


SetRemoteViewPitch[edit]

native final function SetRemoteViewPitch (int NewRemoteViewPitch)

Set Pawn ViewPitch, so we can see where remote clients are looking.

Parameters:

  • NewRemoteViewPitch - Pitch component to replicate to remote (non owned) clients.

SuggestJumpVelocity[edit]

native function bool SuggestJumpVelocity (out Object.Vector JumpVelocity, Object.Vector Destination, Object.Vector Start)

SuggestJumpVelocity() returns true if succesful jump from start to destination is possible returns a suggested initial falling velocity in JumpVelocity Uses GroundSpeed and JumpZ as limits

TermRagdoll[edit]

native function bool TermRagdoll ()

the opposite of InitRagdoll(); resets CollisionComponent to the default, sets physics to PHYS_Falling, and calls TermArticulated() on the SkeletalMeshComponent

Returns:

true on success, false if there is no Mesh, the Mesh is not in ragdoll, or we're otherwise not able to terminate the physics

ValidAnchor[edit]

final native function bool ValidAnchor ()

Is the current anchor valid?

Events[edit]

See Pawn events.

Other instance functions[edit]

See Pawn instance functions.

States[edit]

Dying[edit]

Ignores: BreathTimer, Bump, Falling, FellOutOfWorld, HeadVolumeChange, HitWall, PhysicsVolumeChange

Dying.BaseChange[edit]

singular event BaseChange ()

Overrides: BaseChange (global)

Event called after actor's base changes.

Dying.BeginState[edit]

event BeginState (name PreviousStateName)

Overrides: Object.BeginState (global)

Called immediately when entering a state, while within the GotoState() call that caused the state change (before any state code is executed).

Dying.Landed[edit]

event Landed (Object.Vector HitNormal, Actor FloorActor)

Overrides: Landed (global)


Dying.OutsideWorldBounds[edit]

simulated singular event OutsideWorldBounds ()

Overrides: OutsideWorldBounds (global)

(Description copied from Actor.OutsideWorldBounds)
called when the Actor is outside the hard limit on world bounds

Note: physics and collision are automatically turned off after calling this function

Dying.TakeDamage[edit]

event TakeDamage (int Damage, Controller EventInstigator, Object.Vector HitLocation, Object.Vector Momentum, class<DamageTypeDamageType, optional Actor.TraceHitInfo HitInfo, optional Actor DamageCauser)

Overrides: TakeDamage (global)

(Description copied from Actor.TakeDamage)
apply some amount of damage to this actor

Parameters:

  • Damage - the base damage to apply
  • EventInstigator - the Controller responsible for the damage
  • HitLocation - world location where the hit occurred
  • Momentum - force caused by this hit
  • DamageType - class describing the damage that was done
  • HitInfo - additional info about where the hit occurred
  • DamageCauser - the Actor that directly caused the damage (i.e. the Projectile that exploded, the Weapon that fired, etc)

Dying.Timer[edit]

event Timer ()

Overrides: Actor.Timer (global)


Dying.Died[edit]

function bool Died (Controller Killer, class<DamageTypedamageType, Object.Vector HitLocation)

Overrides: Died (global)

(Description copied from Pawn.Died)
This pawn has died.

Parameters:

  • Killer - Who killed this pawn
  • DamageType - What killed it
  • HitLocation - Where did the hit occur

Returns:

true if allowed

Dying.PlayNextAnimation[edit]

simulated function PlayNextAnimation ()


Dying.PlayWeaponSwitch[edit]

simulated function PlayWeaponSwitch (Weapon OldWeapon, Weapon NewWeapon)

Overrides: PlayWeaponSwitch (global)

(Description copied from Pawn.PlayWeaponSwitch)
Player just changed weapon. Called from InventoryManager::ChangedWeapon(). Network: Local Player and Server.

Parameters:

  • OldWeapon - Old weapon held by Pawn.
  • NewWeapon - New weapon held by Pawn.