FCS: Goals

### Overview

Goals are the specific actions that a character can take. They determine what a player does while the goal is active as well as how important that action is in relation to combat. Goals can then be placed into packages to get

### Data

* **Details**
	+ **Classification:** Determines the priority and urgency of the action. Usually used to tell the Goal whether or not it overrides combat.
	+ **Ending:** Determines if a package gets removed upon completion. Typically not used.
	+ **Targeting:** Determines how the Goal chooses the target of the action it takes. The target can be something specific, chosen by the enum, or inserted by external means such as through an AI contract or an AI Package's signal function.
* **What Is**
	+ **Enum:** The specific action that the character will take when this goal is active. Can be anything from attacking enemies, traveling between towns, to picking people up and putting them inside cages. See the list of enums below for more details.

### Classification

The priority of a goal is chosen based on the classification parameter.

* **Urgent**
	+ Makes it so that the goal overrides combat and other goals not marked as urgent.
* **Non-Urgent**
	+ Makes it so that the goal doesn't take priority over combat.
* **Fluff**
	+ Intended for ambient stuff that achieves nothing, eg chatting.
* **Just Action**
* **Obedience**
* **Max Size**

### Targeting

The ***target*** is the person or object that the enum acts upon. Targets can be chosen by different triggers or by the goal itself, depending on what you set. Many goals require that you specify a target in order to work.

* **Target Specific**
	+ Lets the enum or the package's signal function determine who the target is. Some enums, such as those with "find" in their names, are able to just choose a ***target*** by itself.
* **Target Self**
	+ Tells the character to do the action on themselves, so they themself are the ***target***.
* **Target Leader**
* **Target Squad Mission**
	+ If a package was started in dialogue via an AI Contract, goals within that package can use the contract target as a ***target*** for goals.
* **Target Home Gate**
	+ ***Targets*** the main gate of the local town. Can be used to tell guards to stand by the gate or even to do other things such as close, repair, or dismantle it.

### Enums

Enums are all the actions you can assign to a character to get them to do stuff.

* **Null Task**
* **Move on Free Will**
* **Build**
* **Pickup**
* **Melee Attack**
* **Focused Melee Attack**
* **Equip Weapon**
* **Unequip Weapon**
* **Find Weapon**
* **Choose Enemy and Attack**
* **Choose Attacker of Ally**
* **Attack Character’s Attacker**
* **Player Talk To**
* **Attack Attackers Of**
* **Idle**
* **Protect Allies**
* **Attack Enemies**
	+ Attack enemies when they are spotted.
* **Protection**
* **Raid Town**
* **Go Homebuilding**
* **Stand At Shopkeeper Node**
* **Attack Enemies and Neutrals**
	+ Causes the character to start attacking any enemy or neutral character in sight.
* **Patrol**
	+ Character patrols around the area. Used with the Start\_Patrol signal function by AI packages.
* **Attack Town**
* **Wanderer**
* **First Aid Order**
* **Loot Target**
* **Crouch**
* **Stand Up**
* **Move Cus Ordered**
* **Hold Position**
* **Stay Close to Target**
* **Self Preservation**
* **Quell Aggression**
* **Attack Trouble Makers**
* **Run Away**
* **Patrol Town**
* **Wander Town**
* **Stand at Guard Node Homebuilding**
* **Wandering Trader**
	+ Character will move at a walking pace towards nearby villages and towns. Used with the Wandering\_From\_Town\_To\_Town signal function by AI packages.
* **Get Near To**
* **Attack Enemies of My Slavemaster**
	+ Makes slaves fight for their enslavers during combat, such as with the Reavers.
* **Not Be Unarmed**
* **Stay In Home**
	+ Character stays at home, occasionally interacting with some, but not all, types of machinery.
	+ When the character does interact with machinery, it will produce gear if the input resources are put into it.
* **Follow Player Order**
	+ Character will follow the ***targeted*** person
* **Bodyguard**
* **Chase**
* **Stand at General Node**
* **Stand at Defensive Node**
* **Stand at Building Guard Node**
* **Stand at Building Defensive Node**
* **Stand at Node**
* **\_\_aoeu\_\_**
* **Travel to Target Town**
	+ Travel to the ***target*** if it is a town.
* **Rest**
* **Recruit at Jobcenter**
* **Switch Follow Me Mode On**
* **Job Repair Robot**
* **Job Medic**
* **Get Ready for Action**
* **First Aid Robot**
* **Unprovoked Focused Melee Attack**
* **Stand Still**
* **Squad Wait For Me**
* **Make Target Stand Still**
* **Get Up**
* **Force Get Up**
* **Move On Free Will Fast**
* **Lift Person**
	+ Tells the character to carry the ***target*** person.
* **Put Down Object**
* **Put Down Character in Bed**
* **Add Material to Building**
* **Open Door**
	+ Open the door ***targeted*** by the goal
* **Close Door**
	+ Close the door ***targeted*** by the goal
* **Open Door Here**
* **Close Door Here**
* **Pick Lock**
* **Lock Door**
	+ Lock the door ***targeted*** by the goal
* **Unlock Door**
	+ Unlock the door ***targeted*** by the goal
* **Bash Door**
* **Move to Building Door**
* **Move to Current Location Building Door**
* **Open Door for Current Location**
* **Open Door for Destination**
* **Open Up Shop Doors**
* **Operate Machinery**
* **Deliver Resources**
* **Job Keep Everything Running**
* **Unjam All Machines**
* **Unjam Machine**
* **Collect Output Resource**
* **Fill Machine**
* **Want to Fill Machine**
* **Repair**
	+ Repair the building ***targeted*** by the goal, such as damaged gates.
* **Dismantle**
	+ Dismantle the building ***targeted*** by the goal.
* **Use Training Dummy**
* **Use Bed**
* **Put Someone in Bed**
* **Get Put in Bed**
* **Defeat Squad**
	+ Attack the ***targeted*** squad.
* **Seek and Talk and Send Signal**
* **Make Announcement**
* **Always Impossible task**
* **Find and Rescue**
* **Find Bed and Put In**
* **Use Cage**
* **Put in Cage**
* **Knockout Prisoner**
* **Release Prisoner**
* **Breakout Prisoner**
* **Find Cage and Put in**
* **Empty Machine Outputs**
* **Get Rid of Resources in My Inventory**
* **Find Some Building Materials**
* **Get Out of Bed**
* **Find a Shop**
* **Shopping**
	+ Character will start walking into random buildings. If it happens to be a shop, they might buy something from the counter.
	+ Buying an items as a player will remove cats during the purchase, but will not give you any items.
* **Buy Shit**
* **Move Inside Building**
* **Move to Fortification Gate**
* **Open Fortification Gate**
* **Bash Gate**
* **Operate Storage**
* **Job Builder**
* **Talk To Nearest Player Character**
* **Run Away Hometown**
* **Retreat Hometown**
* **Make Announcement Fast**
* **Travel to Target Town Fast**
* **Loot Food and Stuff**
* **Find and Kidnap**
* **Get Out of Cage Legit**
* **Kill Cage Occupant**
* **Kill a Random Cage Occupant**
* **Feed Corpse into Machine**
* **Dead Guys Go into the Pot**
* **Find a Dead Guy**
* **Eat a Random Cage Occupant**
	+ Character will eat people that have been imprisoned by their faction.
* **Unlock Door Player Order**
* **Follow Squadleader**
	+ Follow the current leader of the squad
* **Find and Rescue Leader**
* **Protect Own Squad**
	+ Fight people who are attacking your squad members
* **Territorial Aggression But Don’t Leave Home**
* **Get Re Equipped**
* **Use Turret**
* **Stumble Task Forced**
* **Find and Rescue if There’s Beds**
* **Man a Turret**
* **Prospecting**
* **Emptying Machine**
* **Operate Automatic Machinery**
* **Go Home and Go to Bed**
	+ Character goes to sleep
* **Go to the Bar and Drink**
* **Lock All My Doors**
* **Enter Building**
* **Stand at Guard Node Hometown Outside**
* **Shoo Strangers Out of My Building**
	+ Activates the "Shoo\_Strangers\_Out\_Of\_My\_Building" dialogue event if a neutral character enters their building
* **Send Dialogue Signal**
* **Send Dialogue Signal Repeat**
* **Send Dialogue Signal Without Moving**
* **Lock Door from Inside**
	+ Character locks their home's door, but makes sure that they are inside when they do it.
* **Move to Building Door InsidePOS**
* **Follow While Talking**
* **Town Stalker**
* **Chain Target**
* **Capture New Slaves**
* **Carry Wounded Slaves**
	+ Tells slavers to pick up and carry unconscious slaves.
	+ Should be given priority in packages, else slavers make ignore this goal.
* **Put Down Carried Dude if They can Walk**
	+ If the character is carrying an unconscious squad member, slave, or some other character, this goal will tell them to put the carried person down once they've healed up enough to walk.
* **Lift Object but Heal First**
	+ Carry the TARGET person, but heal them before doing so.
* **Follow Slavemaster**
	+ Makes slaves follow their enslavers, such as with slave trader caravans.
* **Slave Get in My Master’s Cage**
* **Gather Slaves from Cages**
* **Get Slave**
* **Sleep on Floor**
* **Hunting Bloodsmell**
* **Loot the Dead**
* **Loot to Replace Missing Weapon**
* **Hunt My Thief**
* **Man the Gate**
* **Strip Target’s Weapons**
	+ The character will remove any weapons the ***target*** has on them.
	+ Will cause the characters to attack the ***target*** if they are not unconscious.
	+ Will continue to run while goal is active, regardless of whether or not the ***target*** has a weapon on them or was already stripped of one.
* **Process and Strip New Slave**
* **Slave Watching**
* **Put Loot in Storage**
* **Cut Shackles**
* **Brute Force Shackles**
* **\_Slave Obedience**
* **Work the Slaves**
* **Auto Laboring Mines**
* **Auto Laboring Mines Pretend**
* **Go to Nearest HQ**
* **Go to Somewhere for Delivering Slaves**
* **Capture Escaping Slaves**
* **Lock All the Cages**
* **Beat Cage Occupant**
* **Lock All My Doors from Outside**
* **Lock Door From Outside**
	+ Character locks their home's door, but makes sure that they are standing outside when they do it.
* **Move to Building Door OutsidePOS**
* **Leave Building**
* **Pick Lock on Shackles**
* **Total Escape**
* **Arrest Target**
* **Hunt Bounties**
* **Arrest Target’s Carried Person**
* **Find Cage and Put in if Bounty**
* **Get Out of Cage Escape**
* **Get Out of Bed if it’s Emergency**
* **Investigate Alarms**
* **Investigate Alarms Allies Only**
* **Police Free Prisoners When Done**
* **Loot Stolen Goods**
* **Lift Person Snatching Allowed**
* **Relax in Town Package**
* **Travel to Target Package**
* **Run Around Town Looking for People**
	+ Character will run into random buildings then quickly leave, including private residences. Unsure if there is any additional functionality to this.
* **Gather Slaves from Cages if it’s an Export Town**
* **Give All My Slaves to if it’s an Import Town**
* **Take Off My Shackles**
* **Eat Target Alive**
	+ Characters will eat the ***target*** if they are unconscious.
	+ Enum works with humans, too.
* **Pretend to Operate Machinery**
* **Man a Turret on Building**
* **Pickup Intruders**
* **Take Intruder Outside**
* **Lift Person Player Order**
	+ Character will carry the ***targeted*** person.
	+ Seems to work even if the ***target*** isn't unconscious. (Perhaps this is only the case if the ***target*** is a player character?)
* **Bash Door Player Order**
* **Melee Attack Animal**
* **Stealth Knockout**
* **Stealth Kill**
* **Eat a Random Dead Body**
	+ Used by animals that only eat dead bodies.
* **Eat Crops**
* **Find Crops to Eat**
* **Eat a Random KO Body**
	+ Character will eat random unconscious bodies that they find, even if they are still alive.
	+ When given to a squad, only one member will be eating at any one time.
	+ Can be used by both animal and human characters. Humanoids will use the fogman chewing animation.
* **Man a Turret Player Job**
* **Shoot at Target**
* **Worship Target**
* **Fogman Worship Victim**
* **Loot Animals Job**
* **Go Home and Go To Bed Secure**
* **Lift Person Snatching Allowed in Town Only**
* **Loot Resource Items We have Storage for**
* **Ditch All Resources**
* **Acquire Food at Homebase**
* **Grab One Food**
* **Gather Slaves From Cages if Female or Beast**
* **Kidnap Order**
	+ Character will carry the ***target*** if they are unconcious.
* **Collect Output Resource Building Mats**
* **Defeat Squad Limit Chase Rangekidna**
* **Splint Order**
* **Splint Job**
* **Escape Kidnap**
* **Escape Kidnap Str**
* **Follow Urgent Escape**
* **Final Kidnapper Cage Job**
	+ Character will search for unconscious people to carry, then supposedly put them inside a cage they own.
* **Sit on Throne**
* **Get Out of Cage Opportunistic**
* **Get Out of Bed Once Healed**
* **Use Bed Order**
* **Eat Food on Ground**
* **New Slave Processing**
* **Sleep on Floor Fake Ambush**
* **Ranged Attack**
* **Ranged Attack Focused**
* **Equip Crossbow**
* **Unequip Crossbow**
* **Ranged Attack Focused Unprovoked**
* **Move in Bow Range**
* **Stand at Guard Node Homebuilding Indoors Only**
* **Heal My Legs**
* **Assault Fortifications Prefer Gates**
* **Assault Fortifications Prefer Walls**
* **Smash Building**
* **Pickup Intruders Town**
* **Take Intruder Outside Town**
* **Sit Around**
* **Liberate All the Prisoners**
	+ Character will run to all nearby cages and let prisoners out, regardless if their faction owns the cage or not.
	+ Prisoners seem to jump right back into the cage. Not sure if this is part of the enum or the result of some other package.
* **Animal Fetch a Limb**
* **Play Because I have a Limb in Mouth**
* **Chase Ally Dogs with Mouth Limbs**
* **Run Away Forced**
* **Find Cage and Put Deadguy in**
* **Eat a Random Cage Occupant Measured Rate**
* **Shoo Strangers Out of My Building if Private**
	+ Activates the "Shoo\_Strangers\_Out\_Of\_My\_Building" dialogue event if a neutral character enters their building and it is marked as private.
* **Loot Container**
* **Cut Lock**
* **Brute Force Lock**
* **Bash Door Here**
* **Protect Allies Stay in Town**