Post tutorial Report RSS NPC customization

A listing of the many variables that customize each NPC.

Posted by on - Basic Mapping/Technical

Tutorial originally released on Running With Scissor's Postal website. Was taken down more than 10 years ago. Mirrored here for archival purposes.

POSTAL 2 Editor and Modifications

Pawn Attributes

These are short descriptions of the variables found in pawns in the game. Change these variable to get different results. Most of these are found in PawnAttributes, but some are found in P2Pawn or FPSPawn or Character. Check Police, Military, Bystanders for their defaults also to get an idea of what things do what.

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.

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 there 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.

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.


Capture


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

bHasRadio
True or False
If this police type can use the radio (which keeps track of it headquarters is looking for the dude) Only use this for Police and their descendants.

Character

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

Post comment Comments
iamagamelover65
iamagamelover65 - - 3 comments

Cool! Thanks so much Bro!!

Reply Good karma Bad karma+1 vote
LithTechGuru Author
LithTechGuru - - 404 comments

You're most welcome. I hope this tutorial helps anyone wanting to mod the game.

Reply Good karma+1 vote
Guest
Guest - - 689,166 comments

How to make an npc hold out a weapon like the Military or Swat Npcs do?

Reply Good karma Bad karma0 votes
LithTechGuru Author
LithTechGuru - - 404 comments

No idea sorry. I'd recommend duplicating one that already exists and modify them. It may require using Unrealscript.

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: