Faction

Each NPC, and even some generic entities, are set to belong to a specific Faction.
This is used for various things, such as checking for how NPC's should act towards whole groups of specific NPC's, and what dispositions they should have against them.

Note

Here's a list of all the faction types:
Police, Zealots, Citizens, Hobos, Animals, Player, LaserDot, Effects, Items, Venezuela, ZombieBoss

The ZombieBoss faction is used for all boss NPC's, this is a quick hack so they won't invalidate the PERSONAL JESUS achievement since zombies don't invalidate it

Bug

  • There is an identification mismatch between source code and the Faction list, a dummy Faction should be added at the very top (first on the list) to avoid issues.
  • When checking for Faction, the Faction MUST exist in the list of Factions, otherwise Postal3Script will pass checks for that entity unknowingly.

st_FactionTutorial
{
    Group Neutral
    Patterns
    {
        pt_default
        {
            actions
            {
                // If our target is an animal, say we hate all animals!
                IfAttr "target.ea_faction == Faction:Animals pt_SayHateAllAnimals"
            }
        }
    }
}