Overview
NPC’s have a long list of attributes that can be changed to alter their behavior towards the player and the world. This guide will tell you want each setting does.
Pawn Attributes – Part 1
Armor
How much armor you start with.
ArmorMax
How much armor you can possibly have
bAdvancedFiring
True or False
To make NPC’s use the alt-fire for a weapon–currently only works for Rockets and WMD.
bAngryWithHomeInvaders
True or False
If someone has their hometag set and they can enter their home and this is true, then they’ll get mad at the dude for entering their home
BaseEquipment
Weapons I get on startup
bBodyDisappears
True or False
Usually only true for pawns that start dead, this doesn’t let the bodies disappear at all.
bCanEnterHomes
True or False
This pawn can use homenodes. When idly walking around, they will only pick home nodes as their destination. In the process of walking around, they can still possibly use normal path nodes.
bCanTeleportWithPlayer
True or False Whether pawn can teleport with player when the player runs between levels and this pawn is close to him.
Beg
Range (0.0 to 1.0)
How likely they are to beg for life.
bFriendWithAuthority
True or False
Don’t mind getting shot by cops/military. If any one else marked with this gets hurt, they will help. It’s like a separate gang.
bGunCrazy
True or False
If they see someone with a gun or someone shooting a gun, they’ll attack them. (but not in their own gang).
bIgnoresHearing
True or False
Any hearing done by the npc will be ignored. They’ll still ‘see’ weapons but won’t hear gun shots–but will respond from damage.
bIgnoresSenses
True or False
Only attacks the person if the person directly attacked them. Doesn’t mind what weapons you have or sounds anyone makes.
innocent
The code goes through and for anyone flagged as bInnocent, sets their health so that one pistol shot will kill them, ignoring whatever other values have been set. To disable this behavior simply set bInnocent to false.
The other thing that bInnocent affects is the “quick kill” prize game/dude lines – only innocent bystanders count.
bKeepForMovie
True or False
Will not remove this pawn during a “RemoveNonMoviePawns” action of a scripted trigger.
bNoTriggerAttackPlayer
True or False
If true, then, when triggered, this npc *won’t* attack the player–default behavior for an npc trigger is to attack if they have a weapon or panic if not
bPersistent
True or False Whether pawn is persistent. If he dies, this will keep track of him being dead. It will also not allow him to go between levels, chasing after the player.
bPlayerIsEnemy
True or False
They will attack you on sight if they have a weapon or run from you if they don’t have a weapon
bPlayerIsFriend
True or False
They will fight along side you, if the player is fighting with someone(they won’t start following you around though), unless you shoot them
bReportDeath
True or False
Tells people around them, that they are a dead body, and that everyone should freak out from it. (sort of expensive–thus the option)
bRiotMode
True or False
Simply makes sure they always have their best weapon out all the time (doesn’t *give* them that weapon though)
bScaredOfPantsDown
True or False
If this is false, then they may just ignore that you have your pants down. It defaults to true so everyone notices you. But some people like doctors or something may not care about your pants being down. Cops/Military always do so this isn’t tested in police/security.
bStartupRandomization
True or False
Randomizes some of these attributes a little around their start values, in PostBeginPlay.
bTeamLeader
True or False
Usually reserved for military and swat types. Determines what I do in group AI situations. Set a group of Military to have the same Gang, then set one of them to be the team leader. He will lead them around.
bUseForErrands
True or False
This pawn will upon it’s death trigger the event named “DiedEarly” It’s used for special pawns critical to errand completion.
bUsePawnSlider
True or False
This pawn will not count against the maximum number of pawns in the level.
Cajones
Range (0.0 to 1.0)
How likely he is to doing dangerous things like walk through fire, to stand up to someone fighting him. Raise this high, if you want someone to stay around and fight.
Champ
Range (0.0 to 1.0)
How likely they are to obey their weapon’s min and max ranges when fighting. If it’s high, they try to get in the best range often before using their weapon.
CloseWeaponIndex
Advanced–if WeapChangeDist > 0, then for the distance an npc is inside WeapChangeDist, they use the weapon in the index slot of this. Ex: if this is 0, and he has a BaseEquipment weapon of a pistol in the 0 slot, and WeapChangeDist is 200, then when the attacker is within 200, he’ll use the pistol.
Compassion
Range (0.0 to 1.0)
How likely he is to shout “Get Down!” before he fires to protect bystanders.
Confidence
Range (0.0 to 1.0)
How certain you are about things (like picking paths to run)
Conscience
Range (0.0 to 1.0)
How likely they are in trying to avoid hurting bystanders, when fighting around them.
Curiosity
Range (0.0 to 1.0)
How interested they are in the world around them (determines lots of things like if they’ll keep watching a dude when he’s got something suspicious in his hand, how long they’ll stare at things on the ground, all that sort of thing)
DamageMult
All damage they inflict on the player is multiplied by this number.
DialogClass
Defines the class of dialog the pawn will use when speaking.
DonutLove
Range (0.0 to 1.0)
How much they love donuts. How likely this pawn will go for donuts the player has dropped (if he can see them).
FarWeaponIndex
Advanced–see CloseWeaponIndex–and if he has a grenade in the BaseEquipment slot of 1, and FarWeaponIndex is 1, and the attacker is farther than WeapChangeDist (being 200, for example) then he’ll use the grenade. If you swapped these, close = 1, and far = 0, then he’d use the grenade up close and the pistol far away.
Fitness
Range (0.0 to 1.0)
The closer to 0 it is, the more often they’ll stop and pant when getting chased by an attacker.
FriendDamageThreshold
Range (0.0 to 1.0)
Gang
String
What gang I associate with. If you’re in a gang, you’ll not fight others in your gang, will not care about damage from others in your gang, and you’ll even help them. People default to gang of None, which means they won’t fight together with anyone else (they will, in fact, fight against each other if they have weapons). But if you set two people to be in the same gang, they’ll help each other, in that, if they know one of them is attacked, they will attack the one attacking their friends in the gang.
Glaucoma
Range (0.0 to 1.0)
Determines how accurate and reliable their targeting is. Lower settings are better.
Greed
Range (0.0 to 1.0)
How greedy someone is. How likely they’ll go for money the player has dropped.
HealthMax
How much Health this guy started with. Bystanders are around 60, cops and all are around 100, Dude is around 300.
Pawn Attributes – Part 2
HeroTag
Only for dogs currently–Tag of npc that this dog protects. They’ll try hang around it, and if someone attacks their hero, they’ll attack them.
HomeTag
String
Tag of group of home nodes I consider my home, or use for other things (like stores, businesses—any place you only want certain people to be)
MaxMoneyToStart
The pawn will start with between 0 and this number for how much money they get.
PainThreshold
Range (0.0 to 1.0)
How much a character can get hurt before they run for their life. Set this high to get to fight for long.
Patience
Range (0.0 to 1.0)
How much you can harass them before they go crazy or get scared
PatrolTags
Array of tags
Succession of tags for pathnodes that I walk between Walk first to PatrolEndPoints[0], using the pathnodes system to get there, then walk to PatrolEndPoints[1], etc (and then back to 0, if there’s no more). The point is, don’t pick all the pathnodes in between to make your path. That’s determined by the pathnode system. You pick the end points.
PawnInitialState
EP_Think
Drops down and starts living his life
EP_AttackPlayer
Hunts down player to attack him (even if he can’t see the player, he will psychically know where the player is)
EP_Panic
Runs away from spawn point, scared
EP_ScaredOfPlayer
Runs away from player, screaming
EP_HoldPosition
Stand in this one spot where you put me
EP_KickNearest
Go to the nearest person and kick him (broke)
EP_PatrolJail
Patrol walk, but only in a jail–this makes footstep sounds normal PatrolToTarget takes over cops and the like just by putting some patrol tags in there.
Psychic
Range (0.0 to 1.0)
How well the character knows where something just through code, not through ‘seeing’. (Usually helps him track his enemy a lot better)
Rat
Range (0.0 to 1.0)
How likely he will shout out the player or an enemy’s location or not.
Reactivity
Range (0.0 to 1.0)
How quickly you react to things
Rebel
Range (0.0 to 1.0)
How likely you are to rebel against what you’re told to do like when someone tells you get to Get Down.
SeeViewCone
Range (-1.0 to 1.0)
Says how large an area he can see another character in. 0.75 is about a 30 degree area in front of a pawn. -1.0 would be 360
StartAnimation
For if the pawn starts dead and *doesn’t* use karma ragdoll. This is the anim they’ll play very quickly to end up at the last frame in their ‘death pose’. Set the InitialState to EP_Dead
StartInterest
String
StartTimeTillStasis
How long in seconds till the player, after he knows it’s okay to go into stasis, will then allow it. If it notices he can go into stasis, he’ll wait X seconds before he actually does it. This is so not everyone goes in at the same time, and they walk around some first.
Stomach
Range (0.0 to 1.0)
How likely they are to throw up or something, if you they see/have gross things happen to them
The ‘Takes’ damage reduction variables all go from 0.0 to 1.0. 1.0 means they allow the full HealthMax to be taken by this damage (a bystander shot in the face by a shotgun will react this way). 0.0, probably shouldn’t be used, but it would mean they sustain no damage from that damage type.
TakesAnthraxDamage
Range (0.0 to 1.0)
If it’s 1.0, they run away from anthrax, throw up blood and die, < 1.0, means they run away, throw up blood, and then keep fighting, taking less damage.
TakesChemDamage
Range (0.0 to 1.0)
If it’s 1.0, they fall down from the chem damage and start crawling and puking. They are hurt a lot from it. Less than that, and they simply puke from it and keep attacking. 0.0 and they aren’t effected at all, but are still *infected*.
TakesMachinegunDamage
Range (0.0 to 1.0)
0.0 means they ignore damage. 0.0 to 1.0 means how much of the damage they take. 1.0 is full (normal) damage.
TakesOnFireDamage
Range (0.0 to 1.0)
If 1.0, they catch on fire and die. < 1.0, means they can fight while on fire, and take that much less damage from the fire.
TakesPistolHeadShot
Range (0.0 to 1.0)
How suspectible they are to a pistol shot in the back of the head
TakesRifleHeadShot
Range (0.0 to 1.0)
How suspectible they are to a sniper rifle round in the head
TakesShockerDamage
Range (0.0 to 1.0)
If it’s 1.0, they get shocked like normal, getting hurt, but then they don’t fall over, they are only dazed, and then keep fighting.
TakesShotgunHeadShot
Range (0.0 to 1.0)
How suspectible they are to a direct shotgun blast to the face
TakesShovelHeadShot
Range (0.0 to 1.0)
How suspectible they are to a direct smack by a shovel to the head
Talkative
Range (0.0 to 1.0)
How likely they are to start up conversations or greet you on the street.
TalkBeforeFighting
Range (0.0 to 1.0)
How often they’ll yell something at the attacker before attacking. Gary and Krotchy are at full, 1.0, so before first attacking, they’ll always say their tag lines.
TalkWhileFighting
Range (0.0 to 1.0)
How likely someone is to smack talk while they are fighting you. (if they can)
Temper
Range (0.0 to 1.0)
How quickly you get mad (usually from damage) (keep this very low, below 0.1 usually)
Twitch
Range (0.0 to 1.0)
How long they wait in between groups of shots.
TwitchFar
Range (0.0 to 1.0)
How long they wait in between groups of shots with the FarWeaponIndex weapon.
VoicePitch
(1.0 = normal)
How much to adjust voice pitch
WarnPeople
Range (0.0 to 1.0)
How likely someone is to warn their enemy before shooting. Police high, Military low.
WeapChangeDist
Relative distance at which the NPC will change from their Far Weapon to their Near Weapon.
WillDodge
Range (0.0 to 1.0)
If they will try to dodge if you fire at them
WillKneel
Range (0.0 to 1.0)
If they will kneel and fire, in a fire fight
WillUseCover
Range (0.0 to 1.0)
If they will try to find cover and use it (possibly if they’re are under attack. Also if they are running and have no weapon
Police (Only use this for Police and their descendants.)
bHasRadio
True or False
If this police type can use the radio (which keeps track of it headquarters is looking for the dude)
Character
Here are some other settings you can use to affect the NPC’s appearance under the character tab in the pawns properties.
bIsFeminine
True or False
Whether character is feminie (female or gay)
bIsGhetto
True or False
Whether character walks like they’re from the hood
bIsTrained
True or False
Whether character is trained to use weapons
Boltons
Array
List of static mesh boltons
bRandomizeHeadScale
True or False
Randomizes scaling on the character’s head to create a subtle variety among heads
ChameleonGender
Any, Male or Female
Determine gender of pawn if randomized
CoreMeshAnim
Base Animations to be used
FirstPersonMeshPrefix
Prefix of first-person mesh to be used
HeadClass
Class for character’s head
HeadMesh
Mesh for character’s head
HeadScale
Base scaling of the head mesh
HeadSkin
Skin Selection for character’s head