I'm a doctor, not a mechanic

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

Property group 'AI'

Alertness

Type: float

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

bDontPossess

Type: bool

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

bLOSHearing

Type: bool


Default value: True

bMuffledHearing

Type: bool

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

HearingThreshold

Type: float

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

Default value: 2800.0

PeripheralVision

Type: float

Cosine of limits of peripheral vision.

SightRadius

Type: float

Maximum seeing distance.

Default value: 5000.0

Property group 'Camera'

BaseEyeHeight

Type: float

Base eye height above collision center.

Default value: 64.0

EyeHeight

Type: float

Current eye height, adjusted for bobbing and stairs.

Default value: 54.0

Property group 'Pawn'

bCanCrouch

Type: bool

if true, this pawn is capable of crouching

Health

Type: int


Default value: 100

HealthMax

Type: int

amount of health this Pawn has

Mesh

Type: SkeletalMeshComponent


RBPushRadius

Type: float

Unreal units

Default value: 10.0

RBPushStrength

Type: float


Default value: 50.0

VehicleCheckRadius

Type: float

Radius that is checked for nearby vehicles when pressing use

Default value: 150.0

ViewPitchMax

Type: float


Default value: 16383.0

ViewPitchMin

Type: float


Default value: -16384.0

Weapon

Type: Weapon

Weapon currently held by Pawn

Internal variables

See Pawn internal variables.

Default values

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

Arrow

Class: Engine.ArrowComponent

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

CollisionCylinder

Class: Engine.CylinderComponent

Property Value
BlockActors True
CollideActors True
CollisionHeight 78.0
CollisionRadius 34.0

Sprite

Class: Engine.SpriteComponent

Property Value
AlwaysLoadOnClient False
AlwaysLoadOnServer False
HiddenGame True

Enums

EPathSearchType

PST_Default 
PST_Breadth 
PST_NewBestPathTo 

Functions

Native functions

ForceCrouch

native function ForceCrouch ()


GetBestAnchor

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


GetBoundingCylinder

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

Overrides: Actor.GetBoundingCylinder


GetTeamNum

simulated native function byte GetTeamNum ()

Overrides: Actor.GetTeamNum


GetVehicleBase

native function Vehicle GetVehicleBase ()


InitRagdoll

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

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

native function bool IsInvisible ()

Returns:

true if pawn is invisible to AI

IsLocallyControlled

simulated final native function bool IsLocallyControlled ()

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

IsPlayerPawn

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

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

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

native function bool ReachedDestination (Actor Goal)


ReachedPoint

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


SetAnchor

native function SetAnchor (NavigationPoint NewAnchor)


SetPushesRigidBodies

native function SetPushesRigidBodies (bool NewPush)


SetRemoteViewPitch

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

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

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

final native function bool ValidAnchor ()

Is the current anchor valid?

Events

See Pawn events.

Other instance functions

See Pawn instance functions.

States

Dying

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

Dying.BaseChange

singular event BaseChange ()

Overrides: BaseChange (global)

Event called after actor's base changes.

Dying.BeginState

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

event Landed (Object.Vector HitNormal, Actor FloorActor)

Overrides: Landed (global)


Dying.OutsideWorldBounds

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

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

event Timer ()

Overrides: Actor.Timer (global)


Dying.Died

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

simulated function PlayNextAnimation ()


Dying.PlayWeaponSwitch

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.