Kenshi
115 ratings
Shidan's Notes
By Shidan
A compilation of my notes on game and FCS mechanics.
3
3
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
This guide will cover a very wide range of topics, and is made up of my personal notes I kept over the years to remind myself how certain mechanics and systems work. I cannot guarantee they are 100% accurate, as I've often had to rewrite and scrap them after I discovered they weren't correct, but I try and ensure they are as accurate as possible.

Some contain elaboration on details, others are simply a few numerical values I wanted to remember, and few are copies of comments I've made in the past. There is no consistent pattern to them, and they will be in no particular order, just alphabetically copied over from my notes. Anything marked with a "?" is something that I'm unsure of or need to test and never got around to it.

If you find anything you believe is incorrect, or have a question about some unusual mechanic or values, feel free to leave a comment and I'll look into it. And please, excuse the mess in some of the notes, they were never intended for the public eye. :)
Animal Stats
Lifespan Value = Time to reach 1.00x age modifier from 0.
Pup = 0.00x to 0.40x
Teen = 0.40x to 0.60x
Adult = 0.60x to 1.10x
Elder is achieved at x1.10 age modifier, which is when the aging modifier stops increasing naturally.

Skills and attributes are simply the base generated levels, multiplied by the age modifier.
Animal Strength value has no effect.

Speed is altered by the age modifier, but its effects are roughly only half as strong. (e.g. A modifier of 0.50x will end up being only a 25% reduction in speed, and a 1.10x modifier will only be a 5% increase.) This is true even if the animal has identical min/max speeds. They can and will fall below their listed minimum speed if at a less than 1.00x age modifier.

Scale determines the physical size of the animal, and is directly affected by the age modifier. Min scale is the scale at 0.00x modifier, and max scale is the scale at 1.00x modifier. You can find your current scale by multiplying the difference between min and max scale by your age modifier, and then adding the min scale value. (e.g. If you have a min scale of 0.4 and a max scale of 1, and your age modifier is at 0.50x, your current scale would be 0.7) This means your current scale can surpass your max scale value, providing a slight boost to stats that use the scale to generate their stats. The highest scale attainable through normal growth can be found by simply taking the difference between the min/max scale, and multiplying it by 1.1, and then adding the min scale. So for the numbers given above, the maximum scale would be 1.06.

HP is based on the base HP set on the race, the current scale value, and the HP mult value. Simply multiply the base HP by the animal's current scale, then apply the HP multiplier for the animal.

Blood is similarly based on scale (strength is not a factor). Min blood is the value at 0 scale, and max blood is the value at 1 scale. Though animals cannot ever be 0 scale, so they will always have more than than their min blood value. Multiply your current scale with the difference between min and max blood, multiply that by the HP multiplier, and then add the min blood value.

Age value in the FCS will set the age multiplier to 1% of the age value, after subtracting 10. (e.g. A value of 150 will set the animal's age modifier to 1.40x). A value of 10 or lower will set it to 0.00x. This will also ignore normal aging caps, allowing animals to spawn with much higher age modifier and scale values than are normally allowed.

Age can also be randomized on the squad entry. Setting that value will allow animals age modifier to be randomized upward the value set. (e.g. If the animal would normally spawn with a modifier of 0.30x, and the randomization is set to 0.1, the animal could spawn anywhere in the range of 0.30x to 0.40x on its modifier.) Animal randomization only applies upward normally, but a negative randomization value will cause it to reverse, randomizing downward instead. It cannot randomize below age 0 though.
Armour Calculations Order
1. Weapon (this is both weapon slots, unclear which would come first if multiple were equipped, probably in the order it was equipped)
2. Back (this one is NOT the backpack slot)
3. Hair
4. Hat (this is the headgear slot)
5. Eyes
6. Body (this is the chest armour slot)
7. Legs (this is the pants slot)
8. None
9. Shirt (this the the shirt slot)
10. Boots (this is the boots slot)
11. Gloves
12. Neck
13. Backpack (this is the backpack slot)
14. Beard
15. Belt (this is the belt slot)
Armour Craft Costs
Summation of Coverage on the armour, multiplied by 0.01. Fabric cost multiplied again by "fabric amount" on armour in FCS.

Chest coverage is treated as 1.5x normal.

Armour with no coverage is treated as a single 100% coverage (not chest).

If the only material is fabric (e.g. Clothing Bench), it will only use the generated cost, not the fabric multiplier.
Assassin chances
15 levels below opponent assassination/toughness = 0% chance
Equal levels = 50% chance
30 levels above = 100% chance

Decrease of about 3.5 chance per level below.
Increase of about 1.75 for each level above.

Only one skill can act as a defensive skill against assassinations or kidnapping, the game will use the victim's highest skill between assassination and toughness, ignoring the lower one.
Backpack Spawn Chance
Backpack spawn chance runs on an absolute chance, much like weapon spawning does. If the total chance across all added backpacks is less than 100, there will be a chance to spawn with no backpacks. If 100 or greater they will always have one.

If greater than 100 total chance, it only counts from the top of the list in the FCS. Any excess chance value that causes the total to go over 100 will be ignored.

Example:

Bag A: 1 75
Bag B: 1 100
Bag C: 1 50

Will mean a 75% chance to spawn Bag A, a 25% chance to spawn Bag B, and 0% chance to spawn Bag C.

A quantity (the first value) of 0 or a negative number means the bag is ignored in calculations.
Block Chance
Base Chance 70%
Increases by 1.2% for every level higher
Decreases by 1.5% for every level lower

21 levels higher for maximum block chance (95%)
45 levels lower for minimum block chance (5%)
Damage Calculation
Damage is based on a variety of factors. Mostly the skills (Dex, Str, and the Weapon Skill), and the weapon modifiers shown on the weapon itself. important to note, Strength has a significantly higher effect on Blunt damage than Dexterity does on Cut damage.

Cut:
((((((MaxDamage - MinDamage) * 0.5) * (Dexlevel * 0.01)) + (((MaxDamage - MinDamage) * 0.5) * (Weplevel * 0.01))) * WeaponMultiplier) + MinDamage) * FCSDamageMultiplier * RacialMultiplier * InGameDamageMultiplier * AttackPowerMultiplier

Blunt:
((((((MaxDamage - MinDamage) * 0.75) * (Strlevel * 0.01)) + (((MaxDamage - MinDamage) * 0.25) * (Weplevel * 0.01))) * WeaponMultiplier) + MinDamage) * FCSDamageMultiplier * RacialMultiplier * InGameDamageMultiplier * AttackPowerMultiplier


Secondary Damage
The game will use a slightly different formula for the lowest damage type on the weapon. If the weapon's damage types match in value, cut damage will be considered the primary.

Cut:
((((((MaxDamage - (Maxdamage * 0.1)) * 0.5) * (Dexlevel * 0.01)) + (((MaxDamage - (Maxdamage * 0.1)) * 0.5) * (Weplevel * 0.01))) * WeaponMultiplier) + (Maxdamage * 0.1)) * FCSDamageMultiplier * RacialMultiplier * InGameDamageMultiplier * AttackPowerMultiplier

Blunt:
((((MaxDamage * 0.75) * (Strlevel * 0.01)) + ((MaxDamage * 0.25) * (Weplevel * 0.01))) * WeaponMultiplier) * FCSDamageMultiplier * RacialMultiplier * InGameDamageMultiplier * AttackPowerMultiplier
Disguise levels
40% from Head
40% from Chest
20% from Pants
0% from Shirt
0% from Boots

x0.1 if wearing no pants at all (even non-disguise pants will avoid this)
x0.1 if not wearing the disguise chest piece
Above penalties do not stack.

x0.6 if nearby member of faction who owns the disguise.
x0.1 If nearby someone who knows you (has interacted with you with no disguise recently).
Crossbow and Limb levels Randomization
50% For selected level
20% For one level down
15% For one level up
10% For two levels down
5% For two levels up

If you are close to the minimum or maximum quality level, the overflow chances will be applied to the selected level. (e.g. If set to specialist quality, the 5% chance for two levels up is applied to the 50% chance for selected level, making it 55%.)
FCS Search Commands
= Equals (e.g. "unique = true" in characters will show all unique characters)
> or < Greater than or less than (e.g. "length > 20" in weapons will show all weapons with a reach higher than 20)
>= or <= Greater/less than or equals (e.g. "length <= 30" in weapons will show all weapons with a reach 30 or lower)
: Partial search (e.g. "text : unlock" in the lines section will find all lines with the word "unlock" in them) (e.g. 2. "combat stats : 5" in the characters section will find any character that has a "5" in the combat stats value, 5, 15, 35, 53, etc.)

Could be more out there, those are just the ones I know of.
Food Eating Order
1. Lower NU relative to max NU, if tie move to 2.
2. Highest NU value, if tie move to 3.
3. Lowest monetary value, if tie random.

If there is an eligible restricted food item, that will take priority over normal food. If there is more than one restricted item, it follows the same logic as above.

If there is no eligible food in main inventory, they will look at backpacks starting from their own, then checking the squadmate in the top left of the squad, and then each squadmate in order from left to right. When it finds an eligible backpack, it will use the logic above to select a food item.
Food Prices and Nutrition
Ancient Nutri-Rations - 125nu - Avg c.1,143 (c.800 - c.1,486) 0.11 nu per cat
Bread - 30nu - Avg c. 488 (c.342 - c.634) 0.06 nu per cat
Chewsticks - 20nu - Avg c.152 (c.106 - c.198) 0.13 nu per cat
Cooked Vegetables - 25nu - Avg c. 318 (c.223 - c.413) 0.08 nu per cat
Dried Fish - 20nu - Avg c.360 (c.252 - c.468) 0.05 nu per cat
Dried Gristle Flaps - 15nu - Avg c.1 (c.1 - c.1) 15 nu per cat
Dried Meat - 15nu - Avg c.78 (c.55 - c.101) 0.19 nu per cat
Dustwich - 70nu - Avg c.730 (c.511 - c.949) 0.10 nu per cat
Foodcube - 75nu - Avg c.874 (c.612 - c.1,136) 0.09 nu per cat
Foul Raw Meat - 10nu - Avg c.1 (c.1 - c.1) 10 nu per cat
Gohan - 75nu - Avg c.444 (c.311 - c.577) 0.17 nu per cat
Grandfish - 15nu - Avg c.360 (c.252 - c.468) 0.04 nu per cat
Human Teeth - 1nu - Avg c.0 (c. 0 - c.0) Wait! Don't divide by ze-
Meatwrap - 50nu - Avg c.658 (c.461 - c.855) 0.08 nu per cat
Ration Pack - 125nu - Avg c.1,143 (c.800 - c.1,486) 0.11 nu per cat
Raw Meat - 15nu - Avg c.60 (c.42 - c.78) 0.25 nu per cat
Rice Bowl - 25nu - Avg c.186 (c.130 - c.242) 0.13 nu per cat
Thinfish - 10nu - Avg c.360 (c.252 - c.468) 0.03 nu per cat
Gambling
Buxom Red
Fish: 22% Loss / 78% Win (200 Cats)
Roll back: 91% Loss / 9% Jackpot (600 Cats)

Chubby Nine
Fish: 42% Loss / 58% Win (200 Cats)
Roll back: 74% Loss / 26% Win (200 Cats)

Stoneroller
Fish: 59% Loss / 41% win (200 Cats)
Roll Back: 59% Loss / 41% win (200 Cats)

Hungry Gutter
Fish: 74% Loss / 26% Win (200 Cats)
Roll Back: 42% Loss / 58% Win (200 Cats)

Arrow in the Neck
Fish: 91% Loss / 9% Jackpot (600 Cats)
Roll Back: 22% Loss / 78% Win (200 Cats)
Hunger Levels and Rates
180 hours to starve to death from full, 60 hours per 100 hunger

Eat from own inventory at 250 or lower
Eat from food barrel at 240 or lower
Eat from allied backpack at 225 or lower
Eat ingredients at 150(?)

Malnourished spawn at 150
Slaves kept at 115(?)

Hunger rates
Bed: x0.33
Chair: x0.66
Floor Sit: x0.75
Mining: x1.2
Training: x1.2

Running?
Walking?
Jogging?
"Is Trader" Flag
The "Is Trader" Flag on the squad template controls a number of things.

If true a vendor will generate their prices based on the goods for sale. If false they will not.

If true they will restock goods in their inventory regularly. If false they will not.
Kenshi Time
Normal speed
2 seconds per minute
2 minutes per hour
48 minutes per day

x2 speed
1 second per minute
60 seconds per hour
24 minutes per day

x5 Speed
0.4 seconds per minute
24 seconds per hour
9 minutes 36 seconds per day
Movement Speed Settings
Walk speed = 15 Kenshi units per second, or 3.3554 mph.
Jog speed = 55 Kenshi units per second, or 12.3031 mph.
Personalities
0 - None
1 - **Honorable**
2 - **Traitorous**
3 - None
4 - None
5 - **Smart**
6 - **Dumb**
7 - None
8 - None
9 - **Brave**
10 - **Fearful**
11 - Warm/Kind
12 - Cold/Cruel
13 - Normal
14 - **Maniacal**
15 - End
Randomized Stats
Combat Stats:
All Weapon Skills
Assassination (At 1/2 the set value, unless Stealth Stats is set)
Athletics
Dexterity (Unless Stealth Stats or Unarmed Stats are set)
Dodge (At 1/10 the set value, unless Unarmed Stats is set)
Field Medic (Unless Stealth Stats is set)
Martial Arts (At 1/10 the set value, unless Unarmed Stats is set)
Melee Attack
Melee Defence
Precision Shooting (Unless Ranged Stats is set)
Strength (Unless Strength is set)
Swimming
Toughness
Turrets (Unless Ranged Stats is set)

Ranged Stats
Crossbows
Perception
Precision Shooting
Turrets

Stealth Stats
Assassination (Overrides Combat Stats)
Dexterity (Overrides Combat Stats) (Overrides Unarmed Stats if higher)
Field Medic (Overrides Combat Stats)
Lockpicking
Stealth
Thievery

Unarmed Stats
Dexterity (Overrides Combat Stats) (Overrides Stealth Stats if higher)
Dodge (Overrides Combat Stats)
Martial Arts (Overrides Combat Stats)

Strength
Strength (overrides Combat Stats)

Randomise Stats
Affects all stats, even ones not affected by the above values. Going into the negatives for unset stats, which default to 1 at base. Also affects stat entries added via dropdown.
Recruitable Tag
Not be a Diplomat, Law Enforcer, Military, or Trader class character.

And

(Strength or Dexterity) + (Melee Attack or Martial Arts) + (Melee Defense or Dodge) must equal less than 75.
_______________________

It will determine what skills to use based on which is highest in each of the pairs. So for example if you have a 30 Strength, and a 28 Dexterity, it will use Strength and ignore the Dexterity levels.
Relation levels
+50 is alliance
-30 is enemy
-10 is minimum for Pacifier usage
Research Costs
Total artifact and material costs to research all technology

Artifacts:
32 AI Cores, 164 Ancient Science Books, 317 Books, 19 Engineering Research

Other:
2 Cactus, 2 Cotton, 2 Hemp, 2 Riceweed, 2 Wheatstraw.
Strength Requirement
40x Blunt Damage value
If result is below minimum weight value, 1x minimum weight.

In practice, it usually equals 2x weight, but not always. And if the 40x blunt is less than the weight of the weapon, you can be pretty sure the requirement is equal to the weight.

Some manufacturers (ancient) change min weight, this does NOT affect when the 40x blunt damage switches to 1x minimum weight, nor does it change the new requirement away form the base minimum weight. (e.g. You have a weapon with 5 minimum weight, and you have the ancient manufacturer that reduces that to 3. It will still switch to 5 strength requirement if the 40x blunt is less than 5.)

For martial arts it is:
MA level divided by 50, that number multiplied by 40. Aka 80% of MA level.
Strength Training
Walking while overencumbered and carrying carrying a person is by far the best strength rate. Walking about 10 meters like that is functionally equivalent to one hit with fists with overloaded, or a weapon that's too heavy.

Comparing the combat methods of training, using a weapon that is too heavy comes out on top, barely. About 25% more exp using a weapon compared to the overloaded while unarmed. But the rate at that level is so slow, you're talking literally thousands of hits to gain one level, no matter which one you use.

I'd also like to clear up a slight misconception about the weapon method. The strength bonus is NOT based on the current weight of the weapon, but rather its efficient use strength value (due to modifiers present in the game). If you are 20 points below the useable level or more, and completely unencumbered, you get the best exp rate it can give. So for example, the Meitou Fragment Axe is a good training weapon no matter what level you are, as it would be able to train strength at the best rate it can all the way to the cap. Even though it's only 72kg in-game.

But walking is still far superior imo. Easier to automate. And unless you can find an opponent you can constantly hit without stopping, and can hit faster than you can walk 10 meters, it's faster too.
Stronger Opponent Logic
Exp rate multiplier scales from x0.1 at 25 levels above the opponent's opposing skill, to x6.0 at 50 levels below the opponent's opposing skill.

Opposing skills are based on what weapons are being used. When an attack is performed, the game will challenge the attacker's offensive skill vs the defender's defensive skill.

When wielding a weapon, your offensive skill is Melee Attack, and your defensive skill is Melee Defense.

When attacking an unarmed opponent, the game compares your offensive skill (MA or attack) to the opponent's MA, rather than dodge like you would expect. (Note: this is only for the purpose of exp calculation, Dodge is still the skill used for dodging, it just oddly doesn't affect the exp multiplier here). When you are attacked while using MA however, the game compares your Dodge to their offensive skill as you would normally expect.

Below is a list of all possibilities, and what skills it is comparing for the bonus. You on the left, the enemy on the right.

Offensively.
Weapon vs Weapon: Your Attack vs their Defense
Weapon vs MA: Your Attack vs their MA
MA vs Weapon: Your MA vs their Defense
MA vs MA: Your MA vs their MA

Defensively.
Weapon vs Weapon: Your Defense vs their Attack
Weapon vs MA: Your Defense vs their MA
MA vs Weapon: Your Dodge vs their Attack
MA vs MA: Your Dodge vs their MA

Blocks mode bonuses do not affect any skill, except dodge.
Backpack penalties affect all skills.
Weather penalties affect all skills.
Armour bonuses/penalties affect all skills.
Weapon modifiers affect all skills.
Indoor modifiers affect all skills.
Encumbrance affect all skills. (though the penalties are only applied to MA and Dodge)
Injury penalties. (though the penalties themselves are only applied to Dodge)
Stumbles
There are currently 6 stumbles in the game, designed for various scenarios and situations, including direction it comes from, damage amount, and body part hit. If multiple stumbles are applicable to a scenario, it will randomly pick between one.

Despite what the toughness skill says, you will always stumble in some way whenever you take damage. Toughness does however move the damage threshold at which some stumbles occur at. By default it appears to be at 0, so any damage will cause the "high damage" stumbles. This threshold seems to increase by 0.8 per level of toughness, capping out at 80 damage to trigger the "high damage" stumbles when you reach level 100. This is damage after toughness and armour apply their resistances, so those can drastically change your stumbling.
Toughness Exp Rates
Based on damage received vs your toughness. Scales based on level, and the skill diff FCS modifiers.

Damage equal to 25 levels lower or more compared than your toughness level will result in x0.1 exp.

(Needs Testing) Damage 10 levels than your toughness level will give x2 exp, 20 x3, 30 x4, and so on. Up to x6 at 50 levels higher.
Trade Goods
To be applicable for regional price variance, items must be added to the "all trade goods" vendor list in addition to any lists used to spawn the item.

To have the same buy/sell price the item must be flagged as "trade good = true" on its item entry in the FCS. It also must not be a food or restricted food type item.
Variable Word Swaps
/MYNAME/ - Displays current speaker’s name
/YOURNAME/ - Display’s current target’s name
/TARGETFACTION/ - Displays current target’s faction
/PLAYERFACTION/ - (Fallback for /TARGETFACTION/) Display’s player’s faction name
/COST/ - Displays value used in conditions for that dialogue line
War campaign/Raid mechanics
If "territorial triggers" is enabled, it will trigger on bases within a number of meters equal to the "range far" value. If the base is within the range listed in the "range near" value will have a chance to trigger each dayequal to the "chance per day" value (0.5 = 50% chance, etc.), it will scale down with distance past that value until it reaches the "range far" value, where it will have a 0% chance to trigger past that.

If "ignores nogo zones" is false, the raid will not trigger on bases that are inside the faction's listed no-go zones. The campaigns will still trigger from the faction's own outpost that are inside no-go zones however, and may cross through no-go zones to get to the payer's base.

If "ignores nogo zones" is true, the campaign will be willing to trigger on bases that are inside the faction's listed no-go zones.

The campaign will spawn squads of character until number of characters in the raid is greater then num forces value, if after spawning a squad it is still at or below the value, it will spawn another squad. (i.e. If the number of characters in one squad is 15, but the num forces value is 20, it will spawn an entire extra 15 in order to get over the 20 minimum number. This would be true even if the number of characters in the squad was exactly 20, as it must be greater than the num forces value to stop spawning more squads.)

If more than one squads are assigned, it will pick which one to spawn randomly until it fills up the total campaign forces past the minimum number. The value listed on the squad is their relative chances of being picked.

If no squads are assigned, it will use characters from a nearby town or wandering patrol. (Note: May or may not work as intended, best to assign squads manually.)

If a "special leader" is set, the set character will spawn with the raid, alongside the squad that character is normally assigned to (i.e. If Armour King were assigned top a special leader slot, he'd bring his 4 thralls and the security spider, even though they were not themselves assigned to the campaign). In the case of the character being assigned to more than one squad template, it will select the template from the lowest mod in the load order, that has first SID number in alphabetical order.

If more than one "special leader" is set, it will only spawn the top most character assigned. If the top most character is dead or captured, the raid will fail. It will never use another assigned special leader.

If "target population min" is set, the raid will be unable to trigger unless this many or more player characters are present at the base.

If "target tech level >=" is set, the raid will be unable to trigger on any base that is not at the set level or higher. 0 = the small x icon on the map, 1 = the stormhouse icon, 2 = the watchtower, 3 = the full town.
Weapon Crafting Levels
1-9: Rusted Junk
10-14: Rusting Blade
15-19: Mid-Grade Salvage
20-24: Old Refitted Blade
25-29: Refitted Blade
30-34: Catun No. 1
35-39: Catun No. 2
40-49: Catun No. 3
50-54: MK I
55-59: MK II
60-69: MK III
70-74: Edge type 1
75-79: Edge Type 2
80+: Edge Type 3
Weapon Damage Generation
Cut Damage:
Weapon Multiplier * (0.3 + 0.017 * Level) * Manufacturer Multiplier

Blunt Damage:
Weapon Multiplier * Level / 50 * Manufacturer Multiplier
Weapon Spawning Randomization
If the total chance (the 3rd value) from all the weapons combined equals less than 100, there is a chance to spawn with no weapon in that slot (2nd value).

If it equals more than 100, it will only count down from the top of the list in the FCS till it hits 100. Then any chance that makes it go over 100 is ignored. (e.g. Five weapons all with a 30 chance, the top three in the list would each have a 30% chance to be selected, the fourth one would only have a 10% chance to be selected, and the fifth would have no chance.)

0 quantity or negative quantity makes the spawning calculations ignore that weapon entirely. It is not factored into the chances, nor does it allow a chance to spawn with no weapons.

On the chance value, this is a case of 0 = 100. So if something with a 0 chance and a greater than 0 quantity is at the top of the list, nothing else can spawn in that slot.

Crossbows are a flat % chance of spawn, independent of melee weapon chances. If character is selected to spawn with crossbow, it will attempt to move the back weapon of the character (if they had one) to the hip slot, if the hip slot is too small for the weapon or is already full, the back weapon will simply be removed and replaced by the crossbow. The character will spawn with the corresponding ammo type in their inventory automatically if spawned with a crossbow.
World Measurements
294,910 kenshi units (decimeters) across
29,491 meters across
29.491 km across
18.3248578 miles across

869.719081 square km
335.80041339 square miles

Zones:
4607.96875 kenshi units (decimeters) across
460.796875 meters across
0.460796875 km across
0.286325903598 miles across

0.21233376001 square km
0.08198252307 square miles

Top left corner:
x -147455
z -147455

Top right corner:
x 147455
z -147455

Bottom left corner:
x -147455
z 147455

Bottom right: corner
x 147455
z 147455
Condition and Effect IDs
In the new FCS 2.0.1 update you can search the everything category of the FCS now, which allows you to find hidden entries that previously could not be accessed or searched easily.

This includes entries for conditions and effects, which you can track back to lines using the reference check. This allows you to search for lines by what condition or effect they have.

Go to the "Everything" section, and search "condition name = X" or "action name = X", where X is the ID of the condition or effect, IDs are listed below.

Condition IDs:
  • DC_BOUNTY_AMOUNT_ACTUAL = 47
  • DC_BOUNTY_AMOUNT_PERCEIVED = 40
  • DC_BROKEN_ARM = 28
  • DC_BROKEN_LEG = 27
  • DC_BUILDING_IS_CLOSED_AND_SECURED = 11
  • DC_CAN_AFFORD_BOUNTY = 66
  • DC_CARRYING_BOUNTY_ALIVE = 4
  • DC_CARRYING_BOUNTY_DEAD = 5
  • DC_CARRYING_SOMEONE_TO_ENSLAVE = 46
  • DC_COPS_AROUND = 33
  • DC_DAMAGED_HEAD = 29
  • DC_FACTION_RANK = 10
  • DC_FACTION_VARIABLE = 6
  • DC_HAS_AI_CONTRACT = 78
  • DC_HAS_A_BASE_NEARBY = 60
  • DC_HAS_ILLEGAL_ITEM = 69
  • DC_HAS_ROBOT_LIMBS = 79
  • DC_HAS_TAG = 23
  • DC_IMPRISONED_BY_OTHER = 8
  • DC_IMPRISONED_BY_TARGET = 7
  • DC_IMPRISONMENT_IS_DEATHROW = 15
  • DC_IM_UNARMED = 48
  • DC_IN_A_NON_PLAYER_TOWN = 31
  • DC_IN_A_PLAYER_TOWN = 75
  • DC_IN_COMBAT = 56
  • DC_IN_MY_BUILDING = 17
  • DC_IS_ALLY = 24
  • DC_IS_A_TRADER = 9
  • DC_IS_DEAD = 44
  • DC_IS_ENEMY = 25
  • DC_IS_ESCAPED_SLAVE = 62
  • DC_IS_FEMALE = 45
  • DC_IS_IMPRISONED = 14
  • DC_IS_INDOORS = 68
  • DC_IS_IN_LOCKED_CAGE = 63
  • DC_IS_KO = 41
  • DC_IS_LEADER = 19
  • DC_IS_NEARLY_KO = 42
  • DC_IS_OUTNUMBERED = 39
  • DC_IS_PLAYER = 36
  • DC_IS_RECRUITABLE = 77
  • DC_IS_RUNNING = 32
  • DC_IS_SAME_RACE_AS_ME = 65
  • DC_IS_SLAVE = 59
  • DC_IS_SNEAKING = 67
  • DC_I_HATE_THIS_GUY = 53
  • DC_I_LOVE_THIS_GUY = 52
  • DC_I_SHOULD_HELP_THIS_GUY = 55
  • DC_I_SHOULD_SCREW_THIS_GUY_OVER = 54
  • DC_MET_TARGET_BEFORE = 20
  • DC_MIXED_GENDER_GROUP = 72
  • DC_MY_MISSION_IS_FRIENDLY = 51
  • DC_NEARLY_KO = 30
  • DC_NUM_BACKPACKS = 37
  • DC_NUM_DIALOG_EVENT_REPEATS = 13
  • DC_PERSONALITY_TAG = 26
  • DC_PLAYERMONEY = 2
  • DC_PLAYERS_BEST_TOWN_LEVEL = 74
  • DC_PLAYER_TECH_LEVEL = 12
  • DC_RELATIONS = 1
  • DC_REPUTATION = 3
  • DC_SQUAD_IS_DOWN = 43
  • DC_SQUAD_ONLY_ANIMALS = 38
  • DC_SQUAD_SIZE = 35
  • DC_STARVING = 71
  • DC_STRONGER_THAN_ME = 22
  • DC_TARGET_CHARACTER_EXISTS = 76
  • DC_TARGET_IN_TALKING_RANGE = 16
  • DC_TARGET_IS_MY_MISSION_TARGET = 50
  • DC_TARGET_IS_SLAVE_OF_MY_FACTION = 61
  • DC_TARGET_LAST_SEEN_X_HOURS_AGO = 18
  • DC_TOWN_HAS_FORTIFICATIONS_WALLS = 49
  • DC_TOWN_LEVEL_CURRENT_LOCATION = 73
  • DC_TOWN_WALLS_LOCKED_UP = 58
  • DC_USING_MY_TRAINING_EQUIPMENT = 70
  • DC_WEAKER_THAN_ME = 21
  • DC_WEARING_LOCKED_SHACKLES = 64
  • DC_WITHIN_TOWN_WALLS = 57
  • NULL_NULL_____DC_TARGET_SQUAD_SIZE = 34

Effect (action) IDs:
  • DA_TRADE = 1
  • DA_TALK_TO_LEADER = 2
  • DA_JOIN_SQUAD_WITH_EDIT = 3
  • DA_AFFECT_RELATIONS = 4
  • DA_AFFECT_REPUTATION = 5
  • DA_ATTACK_CHASE_FOREVER = 6
  • DA_GO_HOME = 7
  • DA_TAKE_MONEY = 8
  • DA_GIVE_MONEY = 9
  • DA_PAY_BOUNTY = 10
  • DA_CHARACTER_EDITOR = 11
  • DA_FORCE_SPEECH_TIMER = 12
  • DA_DECLARE_WAR = 13
  • DA_END_WAR = 14
  • DA_CLEAR_AI = 15
  • DA_FOLLOW_WHILE_TALKING = 16
  • DA_THUG_HUNTER = 17
  • DA_JOIN_SQUAD_FAST = 18
  • DA_REMEMBER_CHARACTER = 19
  • DA_FLAG_TEMP_ALLY = 20
  • DA_FLAG_TEMP_ENEMY = 21
  • DA_MATES_KILL_ME = 22
  • DA_MAKE_TARGET_RUN_FASTER = 23
  • DA_GIVE_TARGET_MY_SLAVES = 24
  • DA_TAG_ESCAPED_SLAVE = 25
  • DA_FREE_TARGET_SLAVE = 26
  • DA_MERGE_WITH_SIMILAR_SQUADS = 27
  • DA_SEPARATE_TO_MY_OWN_SQUAD = 28
  • DA_ARREST_TARGET = 29
  • DA_ARREST_TARGETS_CARRIED_PERSON = 30
  • DA_ATTACK_TOWN = 31
  • DA_ASSIGN_BOUNTY = 32
  • DA_CRIME_ALARM = 33
  • DA_RUN_AWAY = 34
  • DA_INCREASE_FACTION_RANK = 35
  • DA_LOCK_THIS_DIALOG = 36
  • DA_ASSAULT_PHASE = 37
  • DA_RETREAT_PHASE = 38
  • DA_VICTORY_PHASE = 39
  • DA_ENSLAVE_TARGETS_CARRIED_PERSON = 40
  • CHOOSE_SLAVES_SELLING = 41
  • CHOOSE_SLAVES_BUYING = 42
  • CHOOSE_PRISONER_BAIL = 43
  • CHOOSE_CONSCRIPTION = 44
  • CHOOSE_RECRUITING = 45
  • CHOOSE_HIRING_CONTRACT = 46
  • SURRENDER_NON_HUMANS = 47
  • CHOOSE_ANIMALS_BUYING = 48
  • DA_CLEAR_BOUNTY = 49
  • DA_PLAYER_SELL_PRISONERS = 50
  • DA_PLAYER_SURRENDER_MEMBER_DIFFERENT_RACE = 51
  • DA_SUMMON_MY_SQUAD = 52
  • DA_REMOVE_SLAVE_STATUS = 53
  • DA_OPEN_NEAREST_GATE = 54
  • DA_ATTACK_STAY_NEAR_HOME = 55
  • DA_MASSIVE_ALARM = 56
  • DA_ATTACK_IF_NO_COEXIST = 57
  • DA_KNOCKOUT = 58
23 Comments
crux 25 Sep @ 6:38am 
This has been an invaluable resource, thank you.

Regarding the Weapon Spawning Randomization, it appears that it is on a per slot basis. So as long as you define the hip or back slot, they calcucate separately. Useful for randomizing both slots.

Having 4 weapons in order from 30,30,30,100 chance has results in the last one spawning often and all NPCs with something in that slot. So it seems like more than a 10% chance for that weapon, rather that the game is using it as a fallback to 100% fill that slot if the first 3 aren't selected.
☯~Shady Divider~☯ 2 Mar @ 3:42pm 
So glad I found this. Thanks Shidan, should be a tremendous help with my modding later.
Mikaela & the flashlight 31 Jan, 2022 @ 2:52pm 
Amzing ! Excellent, thank you very much to share it !
The Fantastic Mr.Lewis 26 Jan, 2022 @ 5:50pm 
Shidan the madman, gotta love it
Grafus™ 24 Jan, 2022 @ 8:54am 
Thanks
Frission 21 Jan, 2022 @ 1:19am 
Lotsa handy bits and bobs to reference here :3
F4 13 Jan, 2022 @ 10:08am 
Thank u
Shidan  [author] 13 Jan, 2022 @ 10:06am 
@F4 - Racial modifiers simply change the amount of exp you gain. Someone with a bonus to a skill gains 20% more exp when performing actions that give exp, and a character with a penalty gains 20% less exp.

Though, it matters very little in the long run. Because the characters with a "bonus" also slow their exp growth much faster, since the higher level you are the less exp you gain. While the "penalty" characters don't slow their rate as quickly, because they gain less exp. This results bonus and penalty characters having a very similar exp rate over all, and they will be almost the same level given the same amount of training and time. Usually a difference of a level or two at most, except in the early levels.
F4 13 Jan, 2022 @ 9:59am 
I read somewhere racial bonuses not ectually benefit like it looks like. Is it true?
Shidan  [author] 25 Dec, 2021 @ 7:50am 
(1/2)

I don't have any hard data on animation speeds, but here's a rundown on the combat techniques.

There are 5 different attacks in the game.
Cut left - A quick strike to the left
Cut left static - Same as before, but doesn't gain ground. Slightly slower I believe.
Downward combo - A very quick strike to the left and then from above. Less damage per strike, but hard to block. Rare to see a character block both.
Heavy downcut v2 - A somewhat slow overhead attack from above. Highest range of any animation though.
Heavy swing - A slow swing to the right, lots of aoe though.

Every weapon type has some selection of these attacks.

Blunt:
Heavy downcut v2
Heavy swing

Hackers:
Heavy downcut v2
Heavy swing

Heavy weapons:
Heavy downcut v2
Heavy swing

Katanas:
Heavy downcut v2
Cut left
Cut left static
Downward combo

Polearms:
Cut left
Heavy downcut v2
Heavy swing

Sabres:
Cut left
Heavy downcut v2