File information

Last updated

Original upload

Created by

Oltopeteeh

Uploaded by

Oltopeteeh

Virus scan

Some manually verified files

About this mod

1 try + how create simple mod (data.cdb) and change prefab (hex editor).

Requirements
Permissions and credits
Changelogs
Create simple mod -> redact "data.cdb" (download programs, unpack archive, change something, repack archive).

(Video) [Tutorial] Wartales: creating simple mod
https://youtu.be/ZI5TsrNqx_A

Text instruction:
Spoiler:  
Show
Or take both from "optional files" - https://www.nexusmods.com/wartales/mods/9?tab=files&file_id=65

First part ("preparation") is done :)

  • Run "quickbms.exe";
  • Choose "Shiro_Games_PAK_script.bms";
  • Choose vanila "res.pak" (recommend copy it to main folder of QuickBMS from ".../Wartales/res.pak");
  • Create "new_folder" for extract "res.pak" (recommend creating it to main folder of QuickBMS with original name, example - "MyMod");
  • Choose "new_folder";
  • Wait (little bit) and click "enter" or close QuickBMS (when program completes task).
Second part ("extract") is done :-)

  • Open "new_folder/data.cdb" (recommend use notepad++);
  • Change something.
Example:

"id": "AnimalCorpse",
"name": "Carcasse",
"weight": 2,


Change "weight" of "AnimalCorpse" from "2" to "1":

"weight": 1,

Save changes (recommend copy changed file in another place, for easy rewrite this in new patch of game).

Third part ("create mod") is done =)

  • Run "reimport2.bat" (this version can rewrite archive bigger that original file);
  • Choose "Shiro_Games_PAK_script.bms";
  • Choose your "res.pak" (or copy vanila and select it to overwrite);
  • Choose "new_folder" (to overwrite it in your "res.pak");
  • Wait (if change only "data.cdb", may delete another files in archive for save time of rewrite);
  • Click enter or close QuickBMS;
  • Copy your changed "res.pak" in game folder: ".../Wartales/res.pak" (i hope you make copy);
  • Play game (have fun with your mod =))
All part of work is done! ^_^

Example 2: edit saddle bags
Spoiler:  
Show

1. Open game. View desc item:
"Saddlebags"
2. Open \lang\export_en.xml (after decompile with quickbms.exe). Search desc "Saddlebags". Found:
<AnimAccCarriage>
<name>Saddlebags</name>
<desc>Harnessed to an animal, these bags can distribute the weight of a load.</desc>
</AnimAccCarriage>
3. Open data.cdb (after decompile with quickbms.exe). Search "AnimAccCarriage". Found:
{
  "id": "AnimAccCarriage",
   "name": "Fontes",
   "weight": 1,
   "baseBonus": [
  {
"value": 10,
"attribute": "Transport"
  }
   ],
   "props": {
  "disableLoot": true
   },
   "icon": {
  "file": "ui/Icons_Resources.png",
  "size": 96,
  "x": 14,
  "y": 9
   },
   "type": "AnimalAccessory",
   "desc": "Harnachées à un animal, ces sacoches permettent de répartir le poids de la charge supportée.",
   "rarity": 0,
   "price": 53,
   "iconeDone": true,
   "done": 2
},
4. Edit what you need. Example:
 "value": 10,
 "attribute": "Transport"
Change 10 to 20. Recompile. Copy to wartales. Now Saddlebags +20 weight, not 10 (vanila).


Note: QuickBMS is not perfect solution. It does not unpack all files from archive, some of data is damaged, each time it is overwritten, file grows larger. But there is no official support for mods from developers yet, we use what we have.



ModManager (alternative link for QuickBMS: (re)import any mods at 1-2 click :)
https://www.nexusmods.com/wartales/mods/56
Spoiler:  
Show
Instruction from autor (with my commentary):
1) Place "ModManager" folder in game directory (example: \Wartales\ModManager ).
2) Create backup using _backup.bat (example:  \Wartales\ModManager\_backup\_backup (run once).bat ).
3) You can have any number of mods, make copies of Mod1 folder and rename as you like (example: MyMod).
3a)  Extract data files using _extract.bat and edit them using Notepad++ (example: ModManager\MyMod\_extract (run once).bat ).
3b)  After editing, use _install.bat to install the mod and test it (example: ModManager\MyMod\_install.bat ).
3c)  Make further edits if required, use _install.bat to update (If you want to edit mod frequently, create shortcut (.lnk) for _install.bat next to Wartales shortcut, for insert changes and launch game in 2 quick clicks :)
3d)  You can switch mods from other folders at anytime (because _install.bat copies data.cdb from mod folder directly to res.pak, which is located in game folder, no additional actions need to be taken).
4)  To restore to original version, verify files on Steam or use _revert.bat (example: \Wartales\ModManager\_backup\_revert.bat ).

Note: if you want to use language (other than English), I recommend adding reference to these files in "_install.bat".

Example (for "ru" files):

echo f | xcopy /y texts_en.xml ..\..\texts_en.xml
echo f | xcopy /y export_en.xml ..\..\export_en.xml
echo f | xcopy /y texts_ru.xml ..\..\texts_ru.xml
echo f | xcopy /y export_ru.xml ..\..\export_ru.xml

echo f | xcopy /y ..\_backup\res_pak ..\..\res.pak
..\_tools\QuickBMS.exec -w -r -r ../_tools/Script.bms ../../res.pak %cd%


Hex editor (change .prefab, .l3d, etc.)
Spoiler:  
Show

Example of changing cost of respecialization in Tiltren (500 coins to 100):

  • Install any hex editor (HxD, 010 Editor, Hex Editor Neo, hex-plagin for Notepad++, etc).
  • Open "S1TrainingCenter" prefab - res\content\regions\Alazar_Aneding\POI\S1TrainingCenter.prefab
  • Find "500".
  • Select byte responsible for "5" and change it to "1" (mod: "35" to "31").




Hex editor #2 (change count which is shown as ... in viewport)
Spoiler:  
Show

Tiltren markerplace: Apple x10 to x20 (like Salt) = 09B2 "0A" to "14".
But "Cabbage" quantity is on left, not on right (like other).

@Apple
09B2: "0A" to "14"

@Cabbage
0A29: "0A" to "14"


ComponentMerchant = 0E4F "02" to "06" (2 of random components on sale changes to 6)
res\content\regions\Alazar_Aneding\Towns\T1\T1Marketplace.l3d

ComponentMerchant
0E4F: "02" to "06"


(prefab) H1Stables: Influence 9000 to 250 (convincing Bionne's husband without proof) = 0B2A: "28 23" (9000) to "FA 00" (250).
Important: use reverse order of values, as in game: 9000 = "23 28", not "28 23". And 250 = "FA 00", not "00 FA", like in normal.

res\content\regions\Harag_1\POI\H1Stables.prefab

@Influence @qty
0B2A: "28 23" (=9000) to "FA 00" (=250)




Cheat Engine (by Th3SmoGG - change class in save):
Spoiler:  
Show
Example: Hakert, Ranger to Hunter.
1. Download and install "Cheat Engine".
2. Download ".CT" Wartales table for Cheat Engine by "Sanitka" - https://fearlessrevolution.com/viewtopic.php?p=297729#p297729
3. Backup your save, launch "Wartales", load your save.

4. Prepare companion to change class: unequip all items and respec.


5. Launch ".CT" table (example - "Wartales_z_1.0.34602.CT").
6. Click on "Select process to open" icon (up left corner) > choose 'Processes" > select "Wartales.exe" then open > select "Yes" for confirmation box.
7. Choose companion that have class you want, go to Cheat Engine and tick "Startup" box > tick "i'm a lazy one" box >  tick "companion pointer" box.


8. Copy value of "Class ptr", go back to "Wartales" and companion opened up, go back to table ("companion pointer" would then be changed to new values) and paste new value to companion.


9. Respec companion again.


10. Now you can save game and exit cheat engine (you don't need to save cheat engine table when prompt pop up).



====
Olto mod: major changes
====
  • upgrade all equip;
  • unlock all recipes, subclasses, songs;
  • craftable equipment with other skill.

====
Install
====
  • Copy "res1.pak" in "Wartales" folder.
  • (optional) Delete "export_en.xml" and "texts_en.xml" in "Wartales" folder (=> reading localization file starts from "res.pak" archive or "res1.pak", if it exist).

====
Continue game without mod:
====
  • destroy new camp elements - Anvil, Crate, ApothecaryTable, Booksz;
  • respecialize units with new skills;
  • unequip new items;
  • unequip all items from new units (in vanila, they disappear);
  • (optional) replace tavern table (x4), big animals, etc.

====
Known issues
====
-- "Some game files were not installed properly and could cause errors. You can check file integrity or reinstall the game."
-- If the game itself works fine for you (without mod), you are using correct version of mod and game, and you also see some changes from mod, then problem is in 2nd file of English localization, texts_en.xml, which is duplicated in main game folder and in res.pak (Wartales/texts_en.xml - delete it).

-- Crate: doesn't recreate starting gear.
-- Need to free up some space at top of inventory so game's buggy script can see where to put item.


================================================================================================
Detailed logs of changes
Note: Nexus does not allow saving some values. Example: "if(u" or ""onGoing" - page cannot be saved.
================================================================================================


====
0.17.4(.1)
====
  • Up to 40128.
  • (0.17.4) Captain: add skill (begin round: Movement -1, dmg and crit +1%; max 5 stack).
  • (0.17.4) Up to 40090.
  • (0.17.4) Micro-fix.



====
0.17.3.3
====
  • Change index in "name:craft:separators" to id (like other separators, so that we don't have to change numbers manually every time when change recipe list).
  • Target: Willpower +1.
  • OilCrit1: CritHitDamageBonusPercent 10 to 15.
  • RarePit Weapon Recipes.
  • Micro-fix (thanks for edwiner79 ).
Spoiler:  
Show
"id": "Target"
add
"personalBonuses": [ { "bonus": "Willpower", "value": 1 } ]

"id": "OilCrit1", CritHitDamageBonusPercent 10 to 15

Change index in "name:craft:separators" to id (like other separators, so that we don't have to change numbers manually every time when change recipe list

1.
"item": "Salt"
add
"id": "Separator00"
and
"item": "BundleOneHandedSwordAxeMaceT1", "id": "Separator01"
"item": "LockPick", "id": "Separator02"
"item": "AnimAccAnimalWalkSpeed", "id": "Separator03"
"item": "BeltAccMovementMalusDmgBonus", "id": "Separator04"
"item": "FirecampT2", "id": "Separator10"
"item": "Banner", "id": "Separator11"
"item": "Remedy", "id": "Separator12"
"item": "Brandy", "id": "Separator13"
"item": "Leather", "id": "Separator14"
"item": "MarineBoard", "id": "Separator15"
"item": "RunAbility", "id": "Separator16"
"item": "ActionPointBonus2", "id": "Separator20"
"item": "PathRunners", "id": "Separator21"
"item": "WantedDuration", "id": "Separator22"
"item": "RunLonger", "id": "Separator23"

2.
{ "index": 0, "title": "CookingPot" },
{ "index": 82, "title": "Anvil" },
{ "index": 233, "title": "Workshop" },
{ "index": 233, "title": "Divers", "level": 1 },
{ "index": 250, "level": 1, "title": "Animal" },
{ "index": 264, "level": 1, "title": "Belts" },
{ "index": 287, "level": 1, "title": "ToolCampUpgradable" },
{ "index": 327, "level": 1, "title": "ToolCampNonUpgradable" },
{ "index": 335, "title": "Apothecary" },
{ "index": 440, "title": "BrewBarrel" },
{ "index": 456, "title": "ConverterTools" },
{ "index": 471, "title": "BoatComponents" },
{ "index": 516, "title": "Meta" },
{ "index": 555, "title": "PathMight" },
{ "index": 567, "title": "PathTrade" },
{ "index": 579, "title": "PathCrime" },
{ "index": 591, "title": "PathMystery" }
mod
{ "id": "Separator00", "title": "CookingPot" },
{ "id": "Separator01", "title": "Anvil" },
{ "id": "Separator02", "title": "Workshop" },
{ "id": "Separator02", "title": "Divers", "level": 1 },
{ "id": "Separator03", "title": "Animal", "level": 1 },
{ "id": "Separator04", "title": "Belts", "level": 1 },
{ "id": "Separator10", "title": "ToolCampUpgradable", "level": 1 },
{ "id": "Separator11", "title": "ToolCampNonUpgradable", "level": 1 },
{ "id": "Separator12", "title": "Apothecary" },
{ "id": "Separator13", "title": "BrewBarrel" },
{ "id": "Separator14", "title": "ConverterTools" },
{ "id": "Separator15", "title": "BoatComponents" },
{ "id": "Separator16", "title": "Meta" },
{ "id": "Separator20", "title": "PathMight" },
{ "id": "Separator21", "title": "PathTrade" },
{ "id": "Separator22", "title": "PathCrime" },
{ "id": "Separator23", "title": "PathMystery" }

RarePit Weapon Recipes

List:
AxeRarePit1
BowRarePit
FistRarePit1
MaceRarePit1
Axe2HRarePit1
SwordRarePit1
DaggerRarePit1
Mace2HRarePit1
PolearmRarePit1
Sword2HRarePit1
ShieldRarePit1


====
0.17.3(.1)
====
  • (0.17.3) Up to 1.0.39291;
  • (0.17.3.1) Carnivorous and Vegetarian: + "isRemovable": true;
  • (0.17.3.1) micro-fix (berserk-class, thanks for irulannaba ).
  • (0.17.3.1) Up to v1.0.39316.
Spoiler:  
Show
"id": "Carnivorous"
add
"isRemovable": true
and
"id": "Vegetarian",


====
0.17.2.5
====
  • MosquitoZone: ignore Swamoar and Mosquito, hp -10% to -5% (because the trap does not disappear like a bear trap). PoisonZone: ignore Swamoar and Mosquito.
  • Swamoar's PathogenicBite: always add Poison, del Bleeding (like other boars).
  • RemarkableOrganism: add 50% chance to avoid [Poison], [Burning], [Bleeding], [FragileRests].
  • Tavern_Choice_35: Buy a round for the Rouste players (add +25% sale odds for Farmers, 5 shift). Give the Rouste players a free meal (add +25% sale odds for Scholars, 5 shift).
  • SBonus1 (...are used to long walks): add Movement 1. SBonus3 (...show incredible resilience): add ActionPointRest 1. SBonus5 (...apprennent rapidement): add ExperienceFightBonus 10. SBonus9 (...somewhat meek appearance): add TrackersMerchantsPriceReduction 10.
  • AxeCommonTrackers/WildMarking minDmg-maxDmg 6-12 to 8-10, AxeCommonDeserters/Bravado 7-9 to 8-10 (like other), Sword2HCommonInquisition/ViolentFlogging scaledValue 4 to 1 and minDmg 12 to 9.5. DaggerUncoInquisition/Hysteria Dmg to 5. Mace2HRareAlazar/UnsettlingStrike maxDmg 10 to 11, BowRareGuard/VolleyOfArrows maxDmg 8 to 7.5, AxeRareCompanion/Overconfidence maxDmg 8 to 7, MaceRareDeserters/Annihilation 7-9 to 6-8. SwordLegendarySealord 9-12 to 8-10, Lucilla/LucillaVengeance 13.5 to 14, Mace2HLegendaryArenaIR1/UncontrollableBackhand value1 6 to 4 and minDmg 13 to 11, SwordLegendaryEvoland/EvolandStrike minDmg 2 to 3, Sword2HLegendaryArenaIR1/SwiftJustice minDmg 6 to 7, BowLegendaryArenaIR1/Trueshot minDmg 6.6 to 8. IncendiaryArrow, MudShot, DiversionShot, DisengagementShot to vanila.
  • Traps's count: Snow +SpearWeapon, BeachBelerion and Cave +SpearWeapon and RustyAxe (~4, like other); camp with 3 count to 6 (like other camp)
  • (?) Pit's rewards: food recipes learn with knowledge and set to position 2,4,6; non-items or non-rare pos (like influence and knowledge) set to gold (200+5/next: n8 = 200, n47 = 310).
  • (?) otherPitsUnlocked at start

Spoiler:  
Show

MosquitoZone: ignore Swamoar and Mosquito, hp -10% to -5% (because the trap does not disappear like a bear trap). PoisonZone: ignore Swamoar and Mosquito.
"id": "MosquitoZone", "value": 10 to 5
mod
if(a.target.kind==UnitClass.Mosquito||a.target.kind==UnitClass.Swamoar){}else{a.target.damages(skill,ceil(a.target.stats.health*skill.value/100),true);}
and
"id": "PoisonZone",
Swamoar's PathogenicBite: always add Poison, del Bleeding (like other boars).
"id": "PathogenicBite",
mod script
a.target.addStatus(Status.Poison,vars.value1);
RemarkableOrganism: add 50% chance to avoid [Poison], [Burning], [Bleeding], [FragileRests].
{ "id": "RemarkableOrganism",
mod
"script": "function onStatus(a){if(a.kind==Status.Poison||a.kind==Status.Bleeding||a.kind==Status.Burning||a.kind==Status.FragileRests){if(proba(50)){spawnFx();a.cancel();}}}"
Tavern_Choice_35: Buy a round for the Rouste players (add +25% sale odds for Farmers, 5 shift). Give the Rouste players a free meal (add +25% sale odds for Scholars, 5 shift).
res\content\systemic\DLC_Tavern\events.prefab
add for Dialog.Celebrate
addTavernBonus(Bonus.TavernSalesChance,25,5,GroupType.Farmers);
add for Dialog.Give
addTavernBonus(Bonus.TavernSalesChance,25,5,GroupType.Scholars);
SBonus1 (...are used to long walks): add Movement 1. SBonus3 (...show incredible resilience): add ActionPointRest 1. SBonus5 (...apprennent rapidement): add ExperienceFightBonus 10. SBonus9 (...somewhat meek appearance): add TrackersMerchantsPriceReduction 10.
"id": "SBonus1",
add
"bonus": "Movement", "value": 1
"id": "SBonus3",
add
"bonus": "ActionPointRest", "value": 1
"id": "SBonus9",
add
"bonus": "TrackersMerchantsPriceReduction", "value": 10
"id": "SBonus5",
"bonus": "ProfessionExperienceBonus" to 20,
add
"bonus": "ExperienceFightBonus", "value": 10,
AxeCommonTrackers/WildMarking minDmg-maxDmg 6-12 to 8-10, AxeCommonDeserters/Bravado 7-9 to 8-10 (like other), Sword2HCommonInquisition/ViolentFlogging scaledValue 4 to 1 and minDmg 12 to 9.5. DaggerUncoInquisition/Hysteria Dmg to 5. Mace2HRareAlazar/UnsettlingStrike maxDmg 10 to 11, BowRareGuard/VolleyOfArrows maxDmg 8 to 7.5, AxeRareCompanion/Overconfidence maxDmg 8 to 7, MaceRareDeserters/Annihilation 7-9 to 6-8. SwordLegendarySealord 9-12 to 8-10, Lucilla/LucillaVengeance 13.5 to 14, Mace2HLegendaryArenaIR1/UncontrollableBackhand value1 6 to 4 and minDmg 13 to 11, SwordLegendaryEvoland/EvolandStrike minDmg 2 to 3, Sword2HLegendaryArenaIR1/SwiftJustice minDmg 6 to 7, BowLegendaryArenaIR1/Trueshot minDmg 6.6 to 8. IncendiaryArrow, MudShot, DiversionShot, DisengagementShot to vanila.
Ex
"id": "WildMarking", "minDmg": 6 to 8, "maxDmg": 12 to 10
"id": "UncontrollableBackhand", "value1": 6 to 4, "minDmg": 13 to 11
Traps's count: Snow +SpearWeapon, BeachBelerion and Cave +SpearWeapon and RustyAxe (~4, like other); camp with 3 count to 6 (like other camp)
"id": "Snow",
"kind": "SpearWeapon", 1 to 2
"id": "BeachBelerion",
"id": "Cave",
"id": "Ruins",
add
{ "flags": 1, "kind": "SpearWeapon" },
{ "kind": "RustyAxe", "flags": 0, "minCount": 1 }
"id": "CampPlainGosenberg",
"id": "CampAlazar",
"id": "CampBelerion",
add
{ "flags": 0, "kind": "Oil", "minCount": 1 },
{ "flags": 1, "kind": "SpearWeapon" },
{ "kind": "RustyAxe", "flags": 0, "minCount": 1 }
"id": "TowerPlain",
"id": "TowerSnow",
add
{ "flags": 0, "kind": "RawMaterials", "minCount": 1 },
{ "flags": 1, "kind": "Comfrey" },
{ "kind": "RustyAxe", "flags": 0, "minCount": 1 }
"id": "TowerHarag",
add
{ "flags": 0, "kind": "RawMaterials", "minCount": 1 },
{ "flags": 0, "kind": "Oil", "minCount": 1 },
{ "flags": 1, "kind": "SpearWeapon" },
{ "kind": "RustyAxe", "flags": 0, "minCount": 1 }
(?) Pit's rewards: food recipes learn with knowledge and set to position 2,4,6; non-items or non-rare pos (like influence and knowledge) set to gold (200+5/next: n8 = 200, n47 = 310).
"id": "Pit",
"rewards":
{ "value": 2, "item": "SurveyorsSnackRecipe", "count": 1 },
{ "value": 4, "item": "StrangeStewRecipe", "count": 1 },
{ "value": 6, "item": "StuffedFangsRecipe", "count": 1 },
{ "value": 8, "item": "Gold", "count": 200 },
{ "value": 9, "item": "Gold", "count": 205 },
...
{ "value": 47, "item": "Gold", "count": 310 },
(?) otherPitsUnlocked at start
..\content\script\World.hx
otherPitsUnlocked : false to true,


====
0.17.2(.1-2)
====



====
0.17.1
====
  • Dex-weapon to BundleBowDaggerPolearmT (+Dagger and Fist, like old vanilla). Polearm to BundleTwoHandedSwordAxeMaceT (is 2H str-weapon). Shield to BundleDaggerFistT, need 1H for unlock. Layer to BundleThrowingLeftHandT with 0 LearnCost (ThrowingKnife-ThrowingAxeT4 return to Anvil, like vanila).
  • Start and old items: weight/2.
  • Add MediumHelmetUncoCraftT1A, HeavyHelmetUncoCraftT1A. Add ManualGold, ManualInfluence (250g=200i).
  • Animal stats are aligned to the general formula: x1 up x10 (example: Wolf str 6 up 58 to 6 up 60, con 9 up 77 to 8 to 80, Bear con 36up466 to 46up460, but PlaguedRat x11)
  • Plagueridden may drop PestiferousGrowthSample (because it "Plague-ridden Sample")
  • Wolf's Bite, FerociousBite, DefenseOfTheOwner: merge with SharpFangs, add 5% chance to trigger Bleeding damage (20% for non-animal), if Armor 0 and Bleeding. SnowWolf's FrostenBite, FerociousFrostenBite: merge with SnowTrackers. Snow Creeper's FrozenClawStrike: Slowdown turn 2 to 1 (like other).
  • New negative traits: Weak (-1% Str, -Dex) and SoftSkin (-1% Guard), when returning to vanilla they change to deleted (no effect).
Spoiler:  
Show

Dex-weapon to BundleBowDaggerPolearmT (+Dagger and Fist, like old vanilla). Polearm to BundleTwoHandedSwordAxeMaceT (is 2H str-weapon). Shield to BundleDaggerFistT, need 1H for unlock. Layer to BundleThrowingLeftHandT with 0 LearnCost (ThrowingKnife-ThrowingAxeT4 return to Anvil, like vanila).
Start and old items: weight/2.
Add MediumHelmetUncoCraftT1A, HeavyHelmetUncoCraftT1A.
Add ManualGold, ManualInfluence (250g=200i).

Animal stats are aligned to general formula: x1 up x10 (example: Wolf str 6 up 58 to 6 up 60, con 9 up 77 to 8 to 80, Bear con 36up466 to 46up460, but PlaguedRat x11)

PlaguedRat (x11)
"value": 2,   3
"upValue": 34  33
"value": 4,   6
"upValue": 66  66
Molerat
"value": 5,
"upValue": 52  50
"value": 12,  10
"upValue": 99, 100
Wolf, SnowWolf, Mosquito, Saurian
"value": 6,
"upValue": 58,  60
"value": 9,   8
"upValue": 77,  80
Alpha, SnowAlpha, SaurianAlpha, GhostWolf +33%
"value": 8,
"upValue": 83,  80
"value": 13,  12
"upValue": 110, 120
KaghalWolf
"value": 8,  10
"upValue": 83 100
"value": 15,  16
"upValue": 161 160
Boar, Pony
"value": 4,
"upValue": 41  40
"value": 11,  12
"upValue": 113, 120
DominantSow, Swamoar, GhostBoar, NightmareA, Plagueridden
"value": 6,   5
"upValue": 46,  50
"value": 15,  17
"upValue": 161 170
KaghalBoar
"value": 5,   6
"upValue": 46  60
"value": 18,  23
"upValue": 233   230
Bear, TrackerBears, GhostBear
"value": 12,
"upValue": 116 120
"value": 35,  46
"upValue": 466 460

Plagueridden may drop PestiferousGrowthSample (because it "Plague-ridden Sample")
"id": "Plagueridden",
add content
"proba": 1, "item": "PestiferousGrowthSample", "min": 1

Wolf's Bite, FerociousBite, DefenseOfTheOwner: merge with SharpFangs, add 5% chance to trigger Bleeding damage (20% for non-animal), if Armor 0 and Bleeding. SnowWolf's FrostenBite, FerociousFrostenBite: merge with SnowTrackers. Snow Creeper's FrozenClawStrike: Slowdown turn 2 to 1 (like other).
"id": "Bite",
mod script
function onDamage(a){if(a.target.armor==0){if(a.target.hasStatus(Status.Bleeding)){if(proba(5)||(proba(20)&&!a.target.isAnimal)){spawnFx();a.target.applyDot(Status.Bleeding);}}else{a.target.addStatus(Status.Bleeding);}}}"
and
"id": "FerociousBite",
"id": "DefenseOfTheOwner",
"id": "SharpFangs", = "script":""
and
FrostenBite, FerociousFrostenBite
SnowTrackers, = "script":""
"id": "FrozenClawStrike","value1": 2 to 1

New negative traits: Weak (-1% Str, -Dex) and SoftSkin (-1% Guard), when returning to vanilla they change to deleted (no effect).

{ "id": "WeakB", "name": "Faible", "desc": "[Strength] -[ATTR]%.", "props": { "attributes": [ { "kind": "Strength", "value": -1, "isPercentage": true }, { "kind": "Dexterity", "value": -1, "isPercentage": true } ], "cantBeWith": [ { "kind": "Strong" }, { "kind": "Nimble" } ], "personality": 1 }, "done": true },
{ "id": "SoftSkinB", "name": "Peau fine", "desc": "[ATTR]% de [Guard] de base.", "props": { "attributes": [ { "kind": "Guard", "value": -1 } ], "cantBeWith": [ { "kind": "HardSkin" } ], "personality": 1 }, "done": true }


====
0.17
====
  • BowBase add VisionRange 1 (allows shoot at point-blank range in tombs, when no other light sources); TorchOnGround lightRange 2 to 3.
  • SeaHorn: enable drop, SynchronizedAssault: 25% Fervor to all allies (50% if engaged; because in vanilla this skill is too strong for a common unit)
  • SwiftAssaults: +AnimalMarkedBonus if target is killed (not just after 3 attacks)
  • BearStew's recipe: Lavender to Cowbane (for Harag cook)
  • BundleThrowingLeftHandSpecialT: add PlagueRemedy, TorchRuins, VirginEssence, Rimesteel, GoldMineral.
  • BearA, WhiteBearA: weak version of Bear and WhiteBear for low-lv, stats/2. NightmareA: evil pony with TerrifyingAppearance.
  • Animal: add base Transport (like Pony, ex: wolf +20)
  • Animal-only skills: apCost to 0 (for archer, because if we don’t control animals, their skills are free)
  • H1Prison: hire an inquisitor for 80 coins (instead of 200)
Spoiler:  
Show
BowBase add VisionRange 1 (allows shoot at point-blank range in tombs, when no other light sources); TorchOnGround lightRange 2 to 3.
"id": "BowBase",
add
"value": 1, "attribute": "VisionRange"
"id": "VisionRange",
add
"noScaling": true

"id": "TorchOnGround", "lightRange": 2 to 3

SeaHorn: enable drop, SynchronizedAssault: 25% Fervor to all allies (50% if engaged; because in vanilla this skill is too strong for a common unit)
mod
"script": "function onSkill(){play();for(u in getAllies(skill.unit,true)){if(proba(25)||(u.isEngaged()&&proba(50)))u.addStatus(Status.Fervor,1);}}"

SwiftAssaults: +AnimalMarkedBonus if target is killed (not just after 3 attacks)
"id": "SwiftAssaults",
add
||!a.target.isAlive()

BearStew's recipe: Lavender to Cowbane (for Harag cook)

BundleThrowingLeftHandSpecialT: add PlagueRemedy, TorchRuins, VirginEssence, Rimesteel, GoldMineral.

BearA, WhiteBearA: weak version of Bear and WhiteBear for low-lv, stats/2. NightmareA: evil pony with TerrifyingAppearance.

Animal: add base Transport (like Pony, ex: wolf +20)

Animal-only skills: apCost to 0 (for archer, because if we don’t control animals, their skills are free)
Ex
"id": "NonStopableCharge", "apCost": 1 to 0

(prefab) H1Prison: hire an inquisitor for 80 coins (instead of 200)
res\content\regions\Harag_1\POI\H1Prison.prefab
0751 "C8" to "50" (200 gold to 80)


====
0.16.9
====
  • FleeWithBackpack: add FleePrepare skill (DefensiveStance++, if 3+ count: flee from battle with items; because merchants sometimes do not try to escape due to a glitch in behavior scripts, and in naval battles there is no escape zone, which violates vanilla mechanics, but developers don’t care, so I use workarounds to preserve original concept of battles with caravans on land).
  • Normalize nbUsed of path-challenge (like Fellowship: +50% count = +50% pathXP)
  • Belt for archer: add LightHelmetCompanions skill (use bow in combat, ex: BeltAccRangeDmg).
  • PowerfulBackhand: 1/turn (because just Unco turns out to be death for fighters who hit more than once; for example, Pugilists get an attack of opportunity from enemy for each (!) attack they make, which goes against balance and logic).
  • PolearmCommonBelerionA: return to Common, nerf Clearance skill (baseDistance 8 to 6, FragileRests on crit, dmg 55% to 30-40%).
  • Shield's Protection: add Protection if already Deflection (because value of skill is quite low for classes that get reflected in other ways, such as swordsmen when entering battle)
  • Wolf's Pack: 50% crit if 3+ wolf to 20% if 2w (nerf OP)
  • Seal price 17 to 5
  • HeavyHelmetCraftT1-skill to T2 (x1 to x2), craft from white leather = rimesteel = t3; MediumHelmetCraftT2-4: merge effect with MediumHelmetCraftT1; LightHelmetCraftT2-4: merge effect with LightHelmetCraftT1 (because resistances at low levels are practically useless, and then stronger effects appear)
  • DaggerCommonBelerion's SharpSpiral: minDmg 7 to 3, add maxDmg 4, Imbalance 2 to 1 turn (nerf OP)
  • AllyOfDarkness: del Fragility (on light), Molerat and Crawler: add Pyrophobia (torches are more efficient)
  • Up to 1.0.35174 (S1Blackmarket: developers removed entrance through Tiltren's tavern)
Spoiler:  
Show
FleeWithBackpack: add FleePrepare skill (DefensiveStance++, if 3+ count: flee from battle with items; because merchants sometimes do not try to escape due to a glitch in behavior scripts, and in naval battles there is no escape zone, which violates vanilla mechanics, but developers don’t care, so I use workarounds to preserve original concept of battles with caravans on land).
"id": "FleePrepare",
function onBeginTurn(){if(skill.unit.getStatusCount(Status.DefensiveStance)>=2)flee();skill.unit.addStatus(Status.DefensiveStance);
"id": "FleeWithBackpack",
add props
"skill": "FleePrepare"

Normalize nbUsed of path-challenge (like Fellowship: +50% count = +50% pathXP)
Ex
"id": "Fellowship",
"value": 2, "incrementation": 1
{ "nbUsed": 1 }, { "nbUsed": 2 }, { "nbUsed": 3 }
"pathXP": 2
Sum: 2 = 2 xp; 2+1 (x1) = 3 xp (+50%/+50%xp)
"id": "SoldStolenItems",
240+40, 3-6-9, xp 2 = 240 to 2 xp; 240+(40x3)=360= 3 xp

Belt for archer: add LightHelmetCompanions skill (use bow in combat, ex: BeltAccRangeDmg).
"id": "BeltAccRangeDmg",
add props
"skill": "LightHelmetCompanions"

PowerfulBackhand: 1/turn (because just Unco turns out to be death for fighters who hit more than once; for example, Pugilists get an attack of opportunity from the enemy for each (!) attack they make, which goes against balance and logic).
"id": "PowerfulBackhand",
add
"vars": { "done": false }
and
 && !vars.done ) { skill.unit.opportunityAttack(a.unit, skill); vars.done = true; } } function onEndTurn() { vars.done = false;
 
PolearmCommonBelerionA: return to Common, nerf Clearance skill (baseDistance 8 to 6, FragileRests on crit, dmg 55% to 30-40%).
"id": "Clearance",
"baseDistance": 8 to 6
"minDmg": 5.5 to 3,
add "maxDmg": 4
mod
if(a.isCritical) a.target.addStatus(Status.FragileRests);

Seal price 17 to 5
"id": "Seal", "price": 17 to 5

Shield's Protection: add Protection if already Protection (because value of skill is quite low for classes that get reflected in other ways, such as swordsmen when entering battle).
"id": "Protection",
add script
if(skill.unit.hasStatus(Status.Deflection))skill.unit.addStatus(Status.Protection,1);

Wolf's Pack: 50% crit if 3+ wolf to 20% if 2w (nerf OP)
"id": "Pack", "value1": 3 to 2, "value2": 50 to 20

HeavyHelmetCraftT1-skill to T2 (x1 to x2), craft from white leather = rimesteel = t3; MediumHelmetCraftT2-4: merge effect with MediumHelmetCraftT1; LightHelmetCraftT2-4: merge effect with LightHelmetCraftT1 (because resistances at low levels are practically useless, and then stronger effects appear)
Ex
"id": "MediumHelmetCraftT2",
copy
"vars": { "value1": 5 }, "globalEvents": true
and
function onSkillEval(s) { for (t in s.getTargets()) { if (t.target == skill.unit) { var nb = 0; for (a in t.target.getAllStatus()) { if (a.isMalus) { nb++; } } t.baseDamageBonus -= nb * vars.value1; } } }

DaggerCommonBelerion's SharpSpiral: minDmg 7 to 3, add maxDmg 4, Imbalance 2 to 1 turn (nerf OP)
"id": "SharpSpiral",
"value1": 2 to 1
"minDmg": 7 to 3
add
"maxDmg": 4

AllyOfDarkness: del Fragility (on light), Molerat and Crawler: add Pyrophobia (torches are more efficient)
"id": "AllyOfDarkness",
mod
function onBeginAction(){if(!skill.unit.isInLight()){skill.unit.cancelStatus(Status.Brutality,skill);}else{if(!skill.unit.hasStatusPersist(Status.Brutality,skill)) {spawnFx();skill.unit.addStatusPersist(Status.Brutality,skill);}}}"
"id": "Molerat",
"id": "Crawler",
add props
"status": [ { "kind": "Pyrophobia" } ]


====
0.16.8
====
  • Added N6 slot for duplicate leaders (can be captured and recruited). Leader skill to +crit dmg (like Wrongdoer). Tier to 3 (like other rare). This makes fights at high levels little more difficult. For example, captain of guard can now appear on battlefield in addition to main leader-captain = can be more than 1 shooter for squad (this vanilla feature pretty much surprised me and now I finally correct this, with save balance). List of assistant leaders: RingleaderA (Bandits), CorporalA (Deserters), PrivateerA (Pirates), CaptainA (Guard/Purifier), AdmiralA (GuardBelerion), CommanderA (Legion), StipendiaryA (Companions/Merchants), TrapperA (Trackers), BrigadierA ( Alazar).
  • Added slot N2 for common unit in squads with random selection (for balance with semi-leader). For example, Outlaws/Deserters/Pirates group may get Mobster/Poacher/RoughneckSoldier/Raider/Filibuster/Freebooter (common pool for these factions).
  • TerrifyingAppearance: % Terror - will x2. Some champion: up Willpower (15 to 30 - Smot, Kaghal, TrivetteRagnol; 10 to 20 - Ecila).
  • Added skill of escaping from battle when unit has Dying status (not available on maximum difficulty). Now can continue battle of attrition without total retreating due to small setback (like sudden crit).
  • Wolf's CarnivorousDiet: hp +50% to +25%, LockingHisWounds 100% clear debuff to 25%.
  • Saurian's Regeneration: add 10% clear debuff (like 1 aid).
  • UrchinAction: minDmg 5 to 1 (because it is reusable and deals damage twice - skill cast and zone effect).
  • Tavern_MinGoldRate: 80-60-40-20, Tavern_WithdrawRate -2-4-6-8, Tavern_RestRate 20-16-12-8, Tavern_Random_RecruitSpeciality 5% to 10%
Spoiler:  
Show
Added N6 slot for duplicate leaders (can be captured and recruited). Leader skill to +crit dmg (like Wrongdoer). Tier to 3 (like other rare). This makes fights at high levels little more difficult. For example, captain of guard can now appear on battlefield in addition to main leader-captain = can be more than 1 shooter for squad (this vanilla feature pretty much surprised me and now I finally correct this, with save balance). List of assistant leaders: RingleaderA (Bandits), CorporalA (Deserters), PrivateerA (Pirates), CaptainA (Guard/Purifier), AdmiralA (GuardBelerion), CommanderA (Legion), StipendiaryA (Companions/Merchants), TrapperA (Trackers), BrigadierA ( Alazar).
Ex Captain vs CaptainA
"skill": "Exaltation" to "RaidExperience"
"tier": 0 to 3
del "importantStatus": "InspirationLeader"
Added slot N2 for common unit in squads with random selection (for balance with semi-leader). For example, Outlaws/Deserters/Pirates group may get Mobster/Poacher/RoughneckSoldier/Raider/Filibuster/Freebooter (common pool for these factions).
TerrifyingAppearance: % Terror - will x2. Some champion: up Willpower (15 to 30 - Smot, Kaghal, TrivetteRagnol; 10 to 20 - Ecila).
Added skill of escaping from battle when unit has Dying status (not available on maximum difficulty). Now can continue battle of attrition without total retreating due to small setback (like sudden crit).
{ "id": "FleeA", "name": "Fuir", "desc": "Fuir le combat.", "mode": 4, "range": {}, "props": { "needDisengaged": true, "vars": { "allowed": false }, "usableWhenDying": true, "aiOrders": [ { "order": 99 } ] }, "script": "function onBeginAction() { vars.allowed = !isExtremeDifficulty(); } function onEval(s) { if( isExtremeDifficulty() ) dontAllow(); } function onSkill() { skill.unit.addStatus(Status.Frightened); flee(); }", "notes": "", "icon": { "file": "ui/Icons/BattleIcons96PX.png", "size": 96, "x": 1, "y": 15 }, "minDmg": 1, "levels": [], "iconeDone": true, "done": 2 },
"id": "Dying",
mod
"props": { "important": true, "skill": "FleeA" }
Wolf's CarnivorousDiet: hp +50% to +25%, LockingHisWounds 100% clear debuff to 25%.
"id": "CarnivorousDiet", "value1": 25
"id": "LockingHisWounds", add proba(25)
Saurian's Regeneration: add 10% clear debuff (like 1 aid).
"id": "Regeneration", copy part of script from 1 aid
UrchinAction: minDmg 5 to 1 (because it is reusable and deals damage twice - skill cast and zone effect).
{ "id": "UrchinAction", "minDmg": 1
Tavern_MinGoldRate: 80-60-40-20, Tavern_WithdrawRate -2-4-6-8, Tavern_RestRate 20-16-12-8, Tavern_Random_RecruitSpeciality 5% to 10%
"id": "Tavern_MinGoldRate", "valueDifficulty": [ { "value": 80, "difficulty": 0 }, { "value": 60, "difficulty": 1 }, { "value": 40, "difficulty": 2 }, { "value": 20, "difficulty": 3 } ]
"id": "Tavern_WithdrawRate", 2 "difficulty": 0, 4 "difficulty": 1, 6 "difficulty": 2, 8 "difficulty": 3
"id": "Tavern_RestRate", 20 "difficulty": 0, 16 "difficulty": 1, 12 "difficulty": 2, 8, "difficulty": 3
"id": "Tavern_Random_RecruitSpeciality", "value": 5 to 10


====
0.16.7
====
  • Shield's Movement -1. Unit's movement 10 to 12 (for more active at low-lv, compensation for penalty from shield and heavy helmet added in mod).
  • Tiltren's Marketplace: merchant's convince Inf 50 to 20 (like convince in salt mine)
  • Tiltren's Tavern cost: 1 to 20 gold (rule x5 = 20-100-500)
  • BlackMarketItems (in Tiltren's tavern): add LockPick, Rope, Piton, Chains (starter set for crime path, stolen items are cheaper :)
  • Saurian's Tavern +4 safety (like other beasts), size return
  • More basic resources from containers (Wheat from stacks; FoodCrate with lock, food count 3 to 6, N2-3 to 4; ComponentBarrel 2 to 4; FishCrate Bait 5 to 20, fish 2-3 to 4-5)
  • Bandits: Poacher probe 1 to 4, add probe 1 with Filibuster and Freebooter of pirates, RoughneckSoldier and Raider of deserters (100% to 50%, because pirates and deserters are also Outlaws and Poachers are too easy to engage in combat and defeat). Raider: add 33% Mace 1H with shield.
  • Fervor: DamageBonusPercent 10 to 5 (like Rage and Brave), Crit and Move +1. HumanTorch: add DamageBonusPercent 25 (shifts the power of attacks to late phase, for balance)
  • DefensivePosture: removes [Poison], [Bleeding], [Burning], [FragileRests], [Corrosion] (like 1 aid).
  • Up to v1.0.35102
Spoiler:  
Show
Shield's Movement -1. Unit's movement 10 to 12 (for more active at low-lv, compensation for penalty from shield and heavy helmet added in mod).
"attribute": "Movement", 10 to 12; 15 to 16
Tiltren's Marketplace: merchant's convince Inf 50 to 20 (like convince in salt mine)
res\content\regions\Alazar_Aneding\Towns\T1\T1Marketplace.l3d
117D "32" to "14"
Tiltren's Tavern cost: 1 to 20 gold (rule x5 = 20-100-500)
res\content\regions\Alazar_Aneding\Towns\T1\T1PlayerTavern.l3d
135D "01" to "14"
BlackMarketItems (in Tiltren's tavern): add LockPick, Rope, Piton, Chains (starter set for crime path, stolen items are cheaper :)
mod
{ "id": "BlackMarketItems", "content": [ { "proba": 1, "item": "LockPick", "min": 10 }, { "proba": 1, "item": "Rope", "min": 10 }, { "proba": 1, "item": "Piton", "min": 5 }, { "proba": 1, "item": "Chains", "min": 3 }
Saurian's Tavern +4 safety (like other beasts), size return
More basic resources from containers (Wheat from stacks; FoodCrate with lock, food count 3 to 6, N2-3 to 4; ComponentBarrel 2 to 4; FishCrate Bait 5 to 20, fish 2-3 to 4-5)
Ex
  "id": "Wheat", "content": [ { "proba": 10, "min": 8, "max": 10, "item": "Wheat" } ] },
res\content\elements\Dioramas\Searchable\FoodCrate.prefab (2,3)
008C "03" to "04"
res\content\elements\Dioramas\Searchable\FishCrate.prefab
0093 "05" to "14
res\content\elements\Dioramas\Searchable\ComponentBarrel.prefab
0091 "02" to "04"
Bandits: Poacher probe 1 to 4, add probe 1 with Filibuster and Freebooter of pirates, RoughneckSoldier and Raider of deserters (100% to 50%, because pirates and deserters are also Outlaws and Poachers are too easy to engage in combat and defeat). Raider: add 33% Mace 1H with shield.
Fervor: DamageBonusPercent 10 to 5 (like Rage and Brave), Crit and Move +1. HumanTorch: add DamageBonusPercent 25 (shifts power of attacks to late phase, for balance)
"id": "Fervor", DamageBonusPercent 10 to 5
add
{ "kind": "CritHitPercent", "value": 1 }
"id": "HumanTorch",
mod
"attributes": [ { "kind": "DamageBonusPercent", "value": 25 } ]
DefensivePosture: removes [Poison], [Bleeding], [Burning], [FragileRests], [Corrosion] (like 1 aid).
mod
"script": "function onSkill() { skill.unit.addStatus(Status.Deflection); if( skill.unit.isEngaged() ) { skill.unit.gainsActionPoint(vars.value1); } var cancelStatus = false; for( st in skill.unit.getAllStatus() ) { if( !st.isBonus && !st.isInjury && proba(10) ) { st.cancel(); } if( st.kind == Status.Poison || st.kind == Status.Bleeding || st.kind == Status.Burning || st.kind == Status.Corrosion || st.kind == Status.FragileRests ) { st.cancel(); cancelStatus = true; } } play(); }",


====
0.16.6
====
  • HelpReward of Tiltren guard: 20 to 30 Inf (like other)
  • TrainingCenter: 100 gold requirement (instead of 500), no dialogue ending when respecializing (as when upgrading equipment)
  • Common Armor and Helmet: del faction (any combination of common equipment gives bonus)
  • SkillRepositioning: cancelStatus Burning (because it's move action)
  • LieutenantSkill: cancelStatus Confus (skill available 1 per battle in vanilla is useless vs 1-turn-debuff)
  • LightArmorUncoGuard: crit dmg to acc and range (like LightArmorRareGuard, because tactician often throws knife at allies, even at level 15)
  • Vigour = Indomitability (Str and Con +10%, because animals at low-lv become too fat vs strength of enemies)
  • Marheim's Tavern cost: 300 to 100 (1-100-500)
  • SoldStolenItems (from StartPugilist): requirements x10, xp 1 to 2, any start (because selling stolen goods for 25+ crowns is too easy, similar challenge in trading requires selling for 1000 crowns)
  • Up to v1.0.35084
Spoiler:  
Show
HelpReward of Tiltren guard: 20 to 30 Inf (like other)
res\content\systemic\npcs.prefab
0:0FFA "14" to "1E"
TrainingCenter: 100 gold requirement (instead of 500), no dialogue ending when respecializing (as when upgrading equipment)
Ex
res\content\regions\Alazar_Aneding\POI\S1TrainingCenter.prefab
02D8: F1 01" to "64 00"
add
talk(Dialog.Start);
B1TrainingCamp.prefab
del
leaveDialog();
Common Armor and Helmet: del faction (any combination of common equipment gives bonus)
Ex
"id": "HeavyArmorCommonLegion",
del
"faction": "Legion"
SkillRepositioning: cancelStatus Burning (because it's move action)
"id": "SkillRepositioning",
add to script
skill.unit.cancelStatus(Status.Burning);
LieutenantSkill: cancelStatus Confus (skill available 1 per battle in vanilla is useless vs 1-turn-debuff)
"id": "LieutenantSkill",
add to script
t.target.cancelStatus(Status.Confus);
LightArmorUncoGuard: crit dmg to acc and range (like LightArmorRareGuard, because tactician often throws knife at allies, even at level 15)
CritHitDamageBonusPercent
mod
{ "value": 1, "attribute": "DistanceBonus", "upValue": 1 }, { "value": 5, "attribute": "PrecisionBonus", "upValue": 25 }
Vigour = Indomitability (Str and Con +10%, because animals at low-lv become too fat vs strength of enemies)
Marheim's Tavern cost: 300 to 100 (1-100-500)
res\content\regions\Gosenberg_1\Towns\T3\T3PlayerTavern.prefab
159F "2C 01" (300) to "64 00" (100)
SoldStolenItems (from StartPugilist): requirements x10, xp 1 to 2, any start (because selling stolen goods for 25+ crowns is too easy, similar challenge in trading requires selling for 1000 crowns)
"id": "SoldStolenItems",
del
"hasUnlock": "StartPugilist"
mod
"value": 25 to 250
"incrementation": 5 to 50


====
0.16.5
====
  • Anvilz: upgrade equipment if exist version with same skill or type (example: LightHelmetRareGuard from LightHelmetUncoGuard, PolearmUncoCraftT4 from T2-3 and PolearmUncoInquisition). But LightHelmetUncoOutlaws: return skill LightHelmetOutlaws (like Common and RareOutlaws, not RareDeserter, like vanila). Anvilz now BigGearCrate (may used with Anvil in camp)
  • Stretcher(T2/3): add max AP (1/2/3; because in vanilla, after first levels, when there is not enough money to treat injuries, this equipment is not needed in camp).
  • Some leader with importantStatus (like Captain of Guard): add skill BraveVictory, AP/kill (useful when they are our allies)
  • Merchant: add CritHitPercent 0 up 10 (like other), skill Camouflage (Dodge on crit, like Saurian - bonus vs counterattack, because merchant in mod attacks first and only then runs away)
Spoiler:  
Show
Anvilz: upgrade equipment if exist version with same skill or type (example: LightHelmetRareGuard from LightHelmetUncoGuard, PolearmUncoCraftT4 from T2-3 and PolearmUncoInquisition). But LightHelmetUncoOutlaws: return skill LightHelmetOutlaws (like Common and RareOutlaws, not RareDeserter, like vanila).
Ex
{ "item": "LightHelmetRareGuard", "tool": "Anvilz", "recipe": [ { "qty": 1, "item": "LightHelmetUncoGuard" }, { "qty": 1, "item": "GoldMineral" } ], "props": { "requiresJob": { "job": "Blacksmith", "level": 3 } }, "learnCost": [], "jobLevel": 1 },
Anvilz now BigGearCrate (may used with Anvil in camp)
Stretcher(T2/3): add max AP (1/2/3; because in vanilla, after first levels, when there is not enough money to treat injuries, this equipment is not needed in camp).
"id": "Stretcher",
add
"bonus": "ActionPoint", "value": 1
"id": "StretcherT2", 2
"id": "StretcherT3", 3
Some leader with importantStatus (like Captain of Guard): add skill BraveVictory, AP/kill (useful when they are our allies)
"id": "Captain", Ringleader, Corporal, Commander, Stipendiary, Paladin, Brigadier
Merchant: add CritHitPercent 0 up 10 (like other), skill Camouflage (Dodge on crit, like Saurian - bonus vs counterattack, because merchant in mod attacks first and only then runs away)
"id": "Merchant",
add
"skill": "Camouflage"
and
"value": 0, "attribute": "CritHitPercent", "upValue": 10


====
0.16.4.5
====
  • (hex-editor method for prefab) Change count in hex-sector (which is shown as ... in viewport):
  • H1Stables: Influence 9000 to 250 (convincing Bionne's husband without proof) = 0B2A: "28 23" (9000) to "FA 00" (250). Important: use reverse order of values, as in game: 9000 = "23 28", not "28 23". And 250 = "FA 00", not "00 FA", like in normal. 2.
  • Tiltren's Markerplace (and others): Apple x10 to x20 (like Salt) = 09B2 "0A" to "14". Exception: Cabbage quantity is on left, not on right (like other).
  • ComponentMerchant = 0E4F "02" to "06" (2 of random components on sale changes to 6). Goods: 50-75-100 x5 (sum 250-500) to 67-80-100 x6-5-4 (sum 400). Normal item from Merchant: to sum 60 (ex. Leather 5 x12, IronOre 6 x10, Apple 3 x20).
  • EdoranBorderPost and IR1BanditBorderPost: "C8" (=200) to "0A" (=10) gold
  • Anvilz: new tool for upgrade start equipment (because level of characters at beginning of game grows faster than accumulate resources or farm equipment from enemies). Mini-game is disabled.
  • Upgrade recipe: item +1-3 Gold, Inf (shield or helmet 1, one-handed or armor 2, two-handed 3). Oils and layers of armor are destroyed, armor is restored, stolen status is removed (because item is changed to an identical - reforging not available to novice blacksmiths and spends more resources than item costs, as with improvement in Brotherhood).
  • Add recipe for upgrading light armor to medium, medium to heavy (you need to click on lower option). Important: move item to a lower-right inventory slot so that there is free space to move it closer, otherwise item not be changed.
Spoiler:  
Show
(.l3d) Change count in hex-sector (which is shown as ... in viewport). Example: Tiltren markerplace: Apple x10 to x20 (like Salt) = 09B2 "0A" to "14". Exception: Cabbage quantity is on left, not on right (like other). Ex3: ComponentMerchant = 0E4F "02" to "06" (2 of random components on sale changes to 6)

res\content\regions\Alazar_Aneding\Towns\T1\T1Marketplace.l3d
Example:
@Apple
09B2: "0A" to "14"
Example 2:
@Cabbage
0A29: "0A" to "14"

Example 3:
€ComponentMerchant
0E4F: "02" to "06"

Other:
res\content\regions\Alazar_1\Towns\T5\T5Marketplace.l3d
res\content\regions\Belerion_1\Towns\T6\T6Marketplace.l3d
res\content\regions\Edoran_1\Towns\T2\T2Marketplace.l3d
res\content\regions\Gosenberg_1\Towns\T3\T3Marketplace.prefab
res\content\regions\Gosenberg_2\POI\G2MarketplaceFish.prefab (part)
res\content\regions\Harag_1\Towns\T4\T4Marketplace.prefab

Goods: 50-75-100 x5 (sum 250-500) to 67-80-100 x6-5-4 (sum 400). Normal item from Merchant: to sum 60 (ex. Leather 5 x12, IronOre 6 x10, Apple 3 x20).
(prefab) H1Stables: Influence 9000 to 250 (convincing Bionne's husband without proof) = 0B2A: "28 23" (9000) to "FA 00" (250). Important: use reverse order of values, as in game: 9000 = "23 28", not "28 23". And 250 = "FA 00", not "00 FA", like in normal.

res\content\regions\Harag_1\POI\H1Stables.prefab
@Influence @qty
0B2A: "28 23" (=9000) to "FA 00" (=250)

EdoranBorderPost and IR1BanditBorderPost: "C8" (=200) to "0A" (=10) gold

res\content\regions\InterRegion_1\POI\IR1BanditBorderPost.prefab
083B: "C8" to "0A"
res\content\regions\Alazar_Aneding\POI\EdoranBorderPost.prefab

Anvilz: new tool for upgrade start equipment (because the level of characters at the beginning of the game grows faster than accumulate resources or farm equipment from enemies). Upgrade recipe: item +1-3 Gold, Inf (shield or helmet 1, one-handed or armor 2, two-handed 3). The mini-game is disabled. Oils and layers of armor are destroyed, armor is restored, the stolen status is removed (because item is changed to an identical one - reforging not available to novice blacksmiths and spends more resources than item costs, as with improvement in the Brotherhood). Add recipe for upgrading light armor to medium, medium to heavy (you need to click on lower option). Important: move item to a lower-right inventory slot so that there is free space to move it closer, otherwise item not be changed.

Ex: BaseArmorStart2 (Lv2) from BaseArmorStart2 (Lv1)
{ "item": "BaseArmorStart2", "tool": "Anvilz", "recipe": [ { "qty": 1, "item": "BaseArmorStart2" }, { "qty": 2, "item": "Gold" }, { "qty": 2, "item": "Influence" } ], "props": {}, "learnCost": [], "jobLevel": 1 },

Up: BaseArmorStart2 (medium) from BaseArmorStart1 (light)
{ "item": "BaseArmorStart2", "tool": "Anvilz", "recipe": [ { "qty": 1, "item": "BaseArmorStart1" }, { "qty": 2, "item": "Gold" }, { "qty": 2, "item": "Influence" } ], "props": {}, "learnCost": [], "jobLevel": 1 },


====
0.16.4.4
====
  • Tavern_ServiceCostPow x2 to x1.1 (New Shift's Inf 100-200-400... to 100-111-122...)
  • TavernRecruitNbRest: TavernT1 - 3 to 2, TavernT3 - 3 to 4
  • Tavern_SecurityPower: 8-15 to 8-16
  • Tavern_MinGoldRate: 40-30-20-10 to 80-40-20-10
  • TavernGuard and thief bonuses 3-5 to 4 (there are many of them and they do not require much space, unlike other specialists); Pony, Bear: campWidth 4 to 3 (=Tavern's size), Tavern's bonus to 6 (4 x1.5), Saurian to 2x2 (default); TavernMosquito, TavernRat: add TavernSecurity 4
  • TavernArtisan: 10 to 5% (excess discount on tavern item purchases); TavernBaker and TavernChef: +25% to 20% (otherwise feasts and desserts are too profitable); medium- and high-price food: slightly reduced price in the tavern (for balance)
  • Mosquito: captureCost 3 (like dailyFood); Lifesucker 50% to 40%, BloodExcitation: Fury to Enervate 3 (50% to 60%); BloodDrinker: add AnimalMarkedBonus, Poison -2, +2% hp/stack (more damage, less self-heal); PowerReserve +3% dmg/stack
  • AnimAccCarriage/Saddlebags: add passiveSkill BeltAccWeighted/Unpushable (because in sea battles, animals cannot cling to the side and immediately drown)
  • ArenaEveryDamage: All (non-animal) enemies must take damage
  • HaragConcoction's Spraying: add Plagueridden and RatNest as target, -50% HP at -35% HP (needs 3 attacks instead of 2)
  • PonyAugeExperienceCombat: all ponies (add DraughtHorse for unitCondition)
  • Recipe: add Seasoning (5 G/I), LightHelmetLegendaryChefHat
  • Transport/bonus: back to around vanila x2 (30-60 to 20-40)
Spoiler:  
Show
Tavern_SecurityPower: 8-15 to 8-1
id": "Tavern_SecurityPower", value 15 to 16
Tavern_ServiceCostPow x2 to x1.1 (New Shift's Inf 100-200-400... to 100-111-122...)
"id": "Tavern_ServiceCostPow", "value": 2 to 1.1
Tavern_MinGoldRate: 40-30-20-10 to 80-40-20-10
"id": "Tavern_MinGoldRate",
"value": 40 to 80, "difficulty": 0
"value": 30 to 40, "difficulty": 1
TavernGuard and thief bonuses 3-5 to 4 (there are many of them and they do not require much space, unlike other specialists); Pony, Bear: campWidth 4 to 3 (=Tavern's size), Tavern's bonus to 6 (4 x1.5), Saurian to 2x2 (default); TavernMosquito, TavernRat: add TavernSecurity 4
Ex
"id": "TavernGuardStrength",
"bonus": "TavernRusticCustomers", "value": 5 to 4
Pony, bear:
"campWidth": 4 to 3
TavernArtisan: 10 to 5% (excess discount on tavern item purchases); TavernBaker and TavernChef: +25% to 20% (otherwise feasts and desserts are too profitable); medium- and high-price food: slightly reduced price in the tavern (for balance)
"id": "TavernArtisan",
"bonus": "TavernReduceCraftPrice", "value": 10 - 5
"id": "TavernBaker", "value": 25 - 20
"id": "TavernChef", "value": 25 - 20
Mosquito: captureCost 3 (like dailyFood); Lifesucker 50% to 40%, BloodExcitation: Fury to Enervate 3 (50% to 60%); BloodDrinker: add AnimalMarkedBonus, Poison -2, +2% hp/stack (more damage, less self-heal); PowerReserve +3% dmg/stack
"id": "BloodExcitation",
mod
"tooltipStatus": [ { "st": "Enervate" } ] },
skill.unit.addStatus(Status.Enervate, 2);
"id": "Lifesucker", "value1": 50 to 40
"id": "BloodDrinker",
add
skill.unit.addStatus(Status.AnimalMarkedBonus, 1); skill.unit.consumeStatus(Status.Poison, 2);
mod
health*nb/50
AnimAccCarriage/Saddlebags: add passiveSkill BeltAccWeighted/Unpushable (because in sea battles, animals cannot cling to the side and immediately drown)
"id": "AnimAccCarriage",
add
"passiveSkill": "BeltAccWeighted", 
ArenaEveryDamage: All (non-animal) enemies must take damage
"id": "ArenaEveryDamage",
add to script
function onEndTurn() { for (u in getFoeUnits()) { if ( !u.hasStatus(Status.Arena_Hit) ) { if (u.isAnimal) { u.addStatus(Status.Arena_Hit); if ( !u.hasStatus(Status.Arena_DemandAlreadyContribute) ) u.addStatus(Status.Arena_DemandAlreadyContribute); } } } }
HaragConcoction's Spraying: add Plagueridden and RatNest as target, -50% HP at -35% HP (needs 3 attacks instead of 2)
"id": "Spraying",
"value1": 50 to 35
add target
a.target.kind == UnitClass.Plagueridden || a.target.kind == UnitClass.RatNest
PonyAugeExperienceCombat: all ponies (add DraughtHorse for unitCondition)
"id": "PonyAugeExperienceCombat",
add
{ "skill": "DraughtHorse" }
Recipe: add Seasoning (5 G/I), LightHelmetLegendaryChefHat
TavernRecruitNbRest: TavernT1 - 3 to 2, TavernT3 - 3 to 4
Transport/bonus: back to around vanila x2 (30-60 to 20-40)


====
0.16.4.3
====
  • (prefab, l3d) Preparing tavern for operation without lumberjack mini-game
  • Entrance to crypts now leads to burials from tombs of regions (example - crypt of Tiltren, next to prison, leads to artist Dagan instead of builder; exception is Mount Altis, which is assigned crypt of admiral from Belerion, since they do not have own tomb).
  • TavernBear: 6 to 9, add TavernComfort 3 (because bear takes up 2 spaces and eats a lot)
  • InfluenceGoldBuy: 100 to 60 (because InfluenceGoldSell 30)
  • Enervate: remove after attack (cancelOn 5, like Fury, because InjuredAndDangerous of boars gain +5 x20% dmg until end of battle; in vanilla, boars do not live long, but in a mod with good armor, these monsters tear apart everyone, not inferior to a pumped up killer); KaghalBoar: add WildImpalement
  • Tavern Candelstick: TavernSalesAround 4% for T1, TavernComfort and TavernSecurity 3 to 4 for T2
  • Tavern-tool price: round to normal/upgrade-type: x1/x3 (example - Tavern_RoundTableT1 and  Tavern_FeastTableT1 cost 150 to 133, because up-cost 400, not 450)
  • TavernWolf: del hate of cat, TavernComfort 5 to 4 (because cat is unique and may be friend with dog in real life); add bonus to Pony (because x2 size = 2 bonuses)
  • Tavern_DiceGameT1: del TavernSecurity -3 (T2 not have it); Tavern_WrestlingGame: TavernSecurity -3 to 0, Comfort 6 to 3; (fix) add noAssignSocle (if you assign a thief by clicking, he does not take up space, but when dragging, he does, which is a bug)
  • Tavern_LuthT1: add TavernPrestige 2 (like T2)
  • BelerionVillagersTavern's menuItemRequired: add missed fish-type of food and attractedFactions for it
  • Farmers attractedFactions: add for low-cost food
  • Alcohol's attractedFactions: add for low-cost alcohol without AT (like other types of booze, because guards appear if there is cheap booze on menu, rangers need a variety of booze, peasants also need cheapness, and bandits are added for balance)
  • Companions attractedFactions for SheepHericoq/Mutton Stew instead bandits (because it medium-cost food and (c) G1TrainingCenterLeader: "...I just finished eating my mutton stew")
  • Tavern-tool size: add in desc (example - Armour Stand: 2х2)
  • Tavern Tapestry: add 3 Tavern Prestige (because item is unique and takes up a lot of space)
  • Tavern_ToolSellPriceFactor 0.7 to 0.75
  • TavernT1 (Tiltren), TavernT2 (Marheim): TavernNbRecruit 5-6-8 to 6-7-8, TavernBarrelNumber 3-5-8 to 4-6-8, TavernComfort 5-15-30 to 10-20-30
Spoiler:  
Show
(prefab, l3d) Preparing tavern for operation without lumberjack mini-game

res\content\regions\Alazar_Aneding\Towns\T1\T1PlayerTavern.l3d
res\content\regions\Gosenberg_1\Towns\T3\T3PlayerTavern.prefab
res\content\regions\Gosenberg_2\POI\G2PlayerTavern.prefab

function onAction() { if(startActivity(Activity.WoodCutting)){ hide(); notify(Dialog.Notif); activate(); } }
mod
function onAction(){hide();notify(Dialog.Notif);activate();}

Entrance to crypts now leads to burials from tombs of regions (example - crypt of Tiltren, next to prison, leads to artist Dagan instead of builder; exception is Mount Altis, which is assigned crypt of admiral from Belerion, since they do not have own tomb).

res\content\regions\Alazar_Aneding\POI\Region.prefab

setSolutionByCodexes([Item.BuilderCodex1, Item.BuilderCodex2, Item.BuilderCodex3]);
mod
setSolutionByCodexes([Item.ArtistCodex1,Item.ArtistCodex2,Item.ArtistCodex3]);

res\content\regions\Alazar_Aneding\POI\S1CryptBuilderStart.prefab
enterPlace(Place.S1CryptBuilder);
mod
enterPlace(Place.IR1CryptArtist);

checkDecipheredCodexes([Item.BuilderCodex1, Item.BuilderCodex2, Item.BuilderCodex3]);
mod
Item.ArtistCodex1,Item.ArtistCodex2,Item.ArtistCodex3

Others:
res\content\regions\Edoran_1\POI\RegionEdoran.prefab - BuilderCodex
res\content\regions\Edoran_1\POI\E1CryptExplorerStart.prefab - S1CryptBuilder
res\content\regions\Gosenberg_1\POI\RegionGosenberg1.prefab - MerchantCodex
res\content\regions\Gosenberg_1\POI\G1CryptFightersStart.prefab - G2CryptMerchant
res\content\regions\Gosenberg_2\POI\RegionGosenberg2.prefab - ExploratorCodex
res\content\regions\Gosenberg_2\POI\G2CryptMerchantStart.prefab - E1CryptExplorer
res\content\regions\Harag_1\POI\RegionHarag1.prefab - FightersCodex
res\content\regions\Harag_1\POI\H1CryptGeneralStart.prefab - G1CryptFighters
res\content\regions\Alazar_1\POI\RegionAlazar1.prefab - GeneralCodex
res\content\regions\Alazar_1\POI\A1CryptAdmiralStart.prefab - H1CryptGeneral
res\content\regions\InterRegion_1\POI\RegionInterRegion1.prefab - AdmiralCodex
res\content\regions\InterRegion_1\POI\IR1CryptArtistStart.prefab - A1CryptAdmiral

TavernBear: 6 to 9, add TavernComfort 3 (because bear takes up 2 spaces and eats a lot)

{ "id": "TavernBear", "name": "Stature colossale", "desc": "Augmente la securite de [VALUE] points supplementaires mais coûte plus cher en nourriture.", "props": { "bonuses": [ { "bonus": "TavernSecurity", "value": 6 }, { "bonus": "TavernSalary", "value": 2 } ],

InfluenceGoldBuy: 100 to 60 (because InfluenceGoldSell 30)

Enervate: remove after attack (cancelOn 5, like Fury, because InjuredAndDangerous of boars gain +5 x20% dmg until end of battle; in vanilla, boars do not live long, but in a mod with good armor, these monsters tear apart everyone, not inferior to a pumped up killer); KaghalBoar: add WildImpalement

"id": "Enervate",
add
"cancelOn": 5

Tavern Candelstick: TavernSalesAround 4% for T1, TavernComfort and TavernSecurity 3 to 4 for T2

"id": "Tavern_CandelstickT1",
add
"bonus": "TavernSalesAround", "value": 4

"id": "Tavern_CandelstickT2",
"bonus": "TavernComfort", "value": 3 to 4
"bonus": "TavernSecurity", "value": 3 to 4
"price": 250 to 225

Tavern-tool price: round to normal/upgrade-type: x1/x3 (example - Tavern_RoundTableT1 and  Tavern_FeastTableT1 cost 150 to 133, because up-cost 400, not 450)
Ex
"id": "Tavern_RoundTableT1",
"price": 150 to 133

TavernWolf: del hate of cat, TavernComfort 5 to 4 (because cat is unique and may be friend with dog in real life); add bonus to Pony (because x2 size = 2 bonuses)

copypaste to
"id": "TavernWolfA",

Tavern_DiceGameT1: del TavernSecurity -3 (T2 not have it); Tavern_WrestlingGame: TavernSecurity -3 to 0, Comfort 6 to 3; (fix) add noAssignSocle (if you assign a thief by clicking, he does not take up space, but when dragging, he does, which is a bug)

"id": "Tavern_DiceGameT1",
del
, { "bonus": "TavernSecurity", "value": -3 }
add
"noAssignSocle": true

Tavern_LuthT1: add TavernPrestige 2 (like T2)

"id": "Tavern_LuthT1",
add
"bonus": "TavernPrestige", "value": 2

BelerionVillagersTavern's menuItemRequired: add missed fish-type of food and attractedFactions for it

"id": "BelerionVillagersTavern",
vanila:
"menuItemRequired": { "item": [ { "item": "BelerionFeast2" }, { "item": "BelerionFeast" } ], "itemType": [ { "type": "CookedFish" } ] },
mod:
"menuItemRequired": { "item": [ { "item": "BelerionFeast2" }, { "item": "BelerionFeast" }, { "item": "EelBrouet" }, { "item": "SurfAndTurfSkewer" }, { "item": "MeadPike" }, { "item": "HerbalBass" }, { "item": "MushroomSardine" }, { "item": "PerchCabbage" }, { "item": "OliveTuna" }, { "item": "FlamedRay" }, { "item": "ShrimpCurry" }, { "item": "BreamTajine" }, { "item": "SharkMeal" }, { "item": "RiparianTerrine" }, { "item": "FishTartare" }, { "item": "Bouillabaisse" } ], "itemType": [ { "type": "CookedFish" } ] },

Ex
"id": "GrilledCarp",
add
"attractedFactions": [ { "faction": "BelerionVillagersTavern" } ]

Farmers attractedFactions: add for low-cost food

Ex
"id": "Bread",
add
"attractedFactions": [ { "faction": "Farmers" } ]

Alcohol's attractedFactions: add for low-cost alcohol without AT (like other types of booze, because guards appear if there is cheap booze on menu, rangers need a variety of booze, peasants also need cheapness, and bandits are added for balance)

Ex
"id": "Beer",
add
"attractedFactions": [ { "faction": "Bandits" }, { "faction": "Farmers" }, { "faction": "Guard" }, { "faction": "TrackersGuild" } ]

Companions attractedFactions for SheepHericoq/Mutton Stew instead bandits (because it medium-cost food and (c) G1TrainingCenterLeader: "...I just finished eating my mutton stew")

"id": "SheepHericoq",
add
"attractedFactions": [ { "faction": "Companions" } ]

Tavern-tool size: add in desc (example - Armour Stand: 2х2)

Ex
<name>Armour Stand – Inquisition</name>
add
<desc>2х2</desc>

Tavern Tapestry: add 3 Tavern Prestige (because item is unique and takes up a lot of space)

"id": "Tavern_Tapestry",
add
"bonus": "TavernPrestige", "value": 3

Tavern_ToolSellPriceFactor 0.7 to 0.75

"id": "Tavern_ToolSellPriceFactor", "value": 0.7 to 0.75

TavernT1 (Tiltren), TavernT2 (Marheim): TavernNbRecruit 5-6-8 to 6-7-8, TavernBarrelNumber 3-5-8 to 4-6-8, TavernComfort 5-15-30 to 10-20-30

"id": "TavernT1",
"bonus": "TavernNbRecruit", "value": 5 to 6 (TavernT2 to 7)
"bonus": "TavernBarrelNumber", "value": 3 to 4 (TavernT2 to 6)
"bonus": "TavernComfort", "value": 5 to 10 (TavernT2 to 20)


====
0.16.4
====
  • TavernRat -10 to -8 TavernSalesAround (2k1 for malus); TavernPlague -5 to -1 TavernComfort (because TavernSalary does not change); TavernPrisoner: TavernPrestige and TavernSalary -4 (for novice on profession)
  • Tavern_Torch 2 to 3 TavernSecurity
  • Tavern Table: 6x5 to 5x5 (because 5x5=4x6+1, 7x7=8x6+1)
  • Tavern price for simple food: little up (ex: Bread 6-8 to 6-9)
  • Tisane, FakeMedecine, ToothPaste: add small Constitution bonus, not higher than price of food;
  • CivilFarmer: Upgrade Spearman-type to non-combatant (like Civil; inspired by Workman from Wartales Remastered mod)
  • Some recipe: up Influence cost for create (Booksz-tool) and learn (instead 0 gold for some normal item)
  • DaggerCommonBelerion, BowCommonAlazar: up to Uncommon, del from start equipment (because provide mass attack for weapon, which by default does not have it; dirt in original makes battles too easy - enemies cannot approach us until die);
  • BeltAccTrample and BeltAccRescue: merge effect;
  • Attempt to balance powerScale, depending on type of equipment and rarity: medium armor x0.95, light armor x0.9; uncommon +0.025, rare +0.05; starting class -0.25 (ex: Pugilist 0.875 (light-start), Peacekeeper 1.05 (heavy-rare)); animals - common x0.7, unusual x0.8, rare x0.9 (except bears :)
  • KingOfGallop: add Willpower, Crit 5; add Indomitability on Lv5 for war-pony;
  • AnimAccBerserkProc: Brutality instead Berserk (=LossOfControl);
  • Mosquito: BloodDrinker stack 2 to 6, heal 100% to 5%*stack; DreadfulSting, DopingSshot: +2 BloodReserve (sum 3 for nerf counterattack-build); DopingSshot add AnimalMarkedBonus an ally; PowerReserve: minLevel 5 to learnLevel 1, +dmg 50% for each BloodReserve to +5%; VenimousTrumpet: add Poison onDamageTaken (like Poisoned rats);
  • PiratesSong: + Rhum instead Beer; Influence song reward = 80% of gold;
  • Up to 1.0.34602
Spoiler:  
Show
TavernRat -10 to -8 TavernSalesAround; TavernPlague -5 to -1 TavernComfort (because TavernSalary does not change); TavernPrisoner: TavernPrestige and TavernSalary -4 (for novice on profession)
"id": "TavernRat", -10 to -8 TavernSalesAround (because TavernSalary -2)
"id": "TavernPlague", -5 to -1 TavernComfort
"id": "TavernPrisoner", TavernPrestige and TavernSalary -4
Tavern_Torch 2 to 3 TavernSecurity
"id": "Tavern_TorchT1", "bonus": "TavernSecurity", "value": 2 to 3
Tavern Table: 6x5 to 5x5 (because 5x5=4x6+1, 7x7=8x6+1)
"id": "Tavern_TableT1",
"width": 6
"id": "Tavern_TableT2",
Tavern price for simple food: little up (ex: Bread 6-8 to 6-9)
Tisane, FakeMedecine, ToothPaste: add small Constitution bonus, not higher than price of food (fish gives more significant bonus, but without additional effects, such as happiness)
Ex
"id": "Beer", price 4 -> "bonus": "Constitution" 3-4
CivilFarmer: Upgrade Spearman-type to non-combatant (like Civil; inspired by Workman from Wartales Remastered mod)
Some recipe: up Influence cost for create (Booksz-tool) and learn (instead 0 gold for some normal item)
DaggerCommonBelerion, BowCommonAlazar: up to Uncommon, del from start equipment (because provide mass attack for weapon, which by default does not have it; dirt in original makes battles too easy - enemies cannot approach us until die)
BeltAccTrample and BeltAccRescue: merge effect
Attempt to balance powerScale, depending on type of equipment and rarity: medium armor x0.95, light armor x0.9; uncommon +0.25, rare +0.5; starting class -0.25 (ex: Pugilist 0.875 (light-start), Peacekeeper 1.05 (heavy-rare)); animals - common x0.7, unusual x0.8, rare x0.9 (except bears :)
KingOfGallop: add Willpower, Crit 5; add Indomitability on Lv5 for war-pony
AnimAccBerserkProc: Brutality instead Berserk (=LossOfControl)
"id": "AnimAccBerserkProc",
mod
"st": "Brutality"
Status.Brutality
Mosquito: BloodDrinker stack 2 to 6, heal 100% to 33%; DreadfulSting, DopingSshot: +2 BloodReserve (sum 3 for nerf counterattack-build); DopingSshot add AnimalMarkedBonus an ally; PowerReserve: minLevel 5 to learnLevel 1, +dmg 50% for each BloodReserve to +5%; VenimousTrumpet: add Poison onDamageTaken (like Poisoned rats)
"id": "BloodDrinker",
mod function onDamageDealt(a)
if( nb >= 6 ) { skill.unit.consumeStatus(Status.BloodReserve, nb); skill.unit.gainsHealth(ceil(skill.unit.stats.health/3));
"id": "BloodReserve",
"value": 6
"id": "DreadfulSting",
mod
function onDamage(a) { skill.unit.addStatus(Status.BloodReserve, 2);
and
"id": "DopingSshot",
skill.target.addStatus(Status.AnimalMarkedBonus, 1);
"id": "Mosquito",
mod
"skill": "PowerReserve", minLevel 5 to learnLevel 1
"id": "PowerReserve",
"value1": 50 to 5
"id": "VenimousTrumpet",
add
function onDamageTaken(a) { a.unit.addStatus(Status.Poison, vars.value1); }
PiratesSong: + Rhum instead Beer; Influence song reward = 80% of gold
Up to 1.0.34602


====
0.16.3.8
====
  • Tavern_PrestigeMax 600 to 9999, 2000 to 99999
  • Tavern_SalaryNoJob 3 to 2
  • Tavern_RandomChanceTrait 0.03 to 0.033
  • TavernPrestance 2 to 3 TavernPrestige
  • TavernMosquito -5 to -4 TavernComfort
  • Tavern_Cat 5 to 20 TavernComfort, 15 to 20 TavernSalesAround (because cat is unique and vs wolves: 5 comfort for each)
  • FarmerHat: add Aerodynamism, upgradable (flags 128)
  • Up to 1.0.34584
Spoiler:  
Show
Tavern_PrestigeMax 600 to 9999, 2000 to 99999

"id": "Tavern_PrestigeMax",
"value": 600 to 9999
"value": 2000 to 99999

Tavern_SalaryNoJob 3 to 2

"id": "Tavern_SalaryNoJob",
"value": 3 to 2

Tavern_RandomChanceTrait 0.03 to 0.033

"id": "Tavern_RandomChanceTrait", "value": 0.03 to 0.033

TavernPrestance 2 to 3 TavernPrestige

"id": "TavernPrestance",
"bonus": "TavernPrestige", "value": 2 to 3

TavernMosquito -5 to -4 TavernComfort

"id": "TavernMosquito",
"TavernComfort", "value": -5 to -4

Tavern_Cat 5 to 20 TavernComfort, 15 to 20 TavernSalesAround (because cat is unique and vs wolves: 5 comfort for each)

"id": "Tavern_Cat",
"TavernComfort", "value": 5 to 20
"TavernSalesAround", "value": 15 to 20

FarmerHat: add Aerodynamism, upgradable (flags 128)

"id": "FarmerHat",
add props
"flags": 128, "passiveSkill": "Aerodynamism"

Up to 1.0.34584


====
0.16.3.7
====
  • SharpFist (FistCommonPirates): Disarm only on Crit (because a common item shouldn't have 200% disarm, every turn)
  • Fisherman, Bard, Scholar: add CritHitDamageBonusPercent = Willpower
  • Some recipe learnCost to Influence (Layer Common 25, Unco 50, Rare 75, RareI 100; BeltAcc 25, AnimAcc 50, BrewBarrel 25-100, etc)
  • BaseSkills minLevel 8 to 7, 10 to 9, 12 to 11; PrisonerBaseSkillLevel2 to 8
  • Saurian: swap Lv3 and Lv5 skills, Regeneration 5 to 10, !hasMalus to !Dying
  • Ghost's Unstoppable to learnLevel 9
  • Tavern_InitialMoney 200-200-150-100 to 250-200-150-100; Tavern_GoldRate 100-100-75-50 to 100-83-66-50
  • Up to v1.0.34519
Spoiler:  
Show
SharpFist (FistCommonPirates): Disarm only on Crit (because a common item shouldn't have 200% disarm, every turn)

Fisherman, Bard, Scholar: add CritHitDamageBonusPercent = Willpower

Ex
{ "kind": "CritHitDamageBonusPercent", "value": 1, "level": 1 }

Some recipe learnCost to Influence (Layer Common 25, Unco 50, Rare 75, RareI 100; BeltAcc 25, AnimAcc 50, BrewBarrel 25-100, etc)

BaseSkills minLevel 8 to 7, 10 to 9, 12 to 11; PrisonerBaseSkillLevel2 to 8

Saurian: swap Lv3 and Lv5 skills, Regeneration 5 to 10, !hasMalus to !Dying

Ghost's Unstoppable to learnLevel 9

Tavern_InitialMoney 200-200-150-100 to 250-200-150-100; Tavern_GoldRate 100-100-75-50 to 100-83-66-50


====
0.16.3.5
====
  • Punch up to Wrath (base action, allow when Disarm)
  • Protected trait from GrowthsKilled (rats lair), 10% to 5%
  • (l3d) Tiltren's HangHideoutMerchant: always show (smuggler merchant protects alcohol and remains available if we help hang thief)
  • Civil's not-combatant (playerPowerScaleFactor 0)
  • (fix) TrainingArrow: 100% Precision (applies rage only to target, not to anyone, including enemy beasts in path of shot)
  • 2h weapon: add 1 up 21 armor
  • Motivation: Willpower, Movement +1; Galvanization: +2
  • High-Lv food cheaper; add CookSimple: grilled AnimalCorpse, Rat, Corpse (like other simple dishes); Large salty food to 1 slot (example - SoupPike)
  • Pass converts to 200 Gold
  • Influence: +60% story quests rewards
  • (tavern) promotionChance = cost of food (wheat 3, not 10; bear 10, not 3)
  • PlayerStart with unitClass (Str x2 and Dex x2): Swordman/Axeman, Brute/Spearman, Rogue/Pugilist, Bowman (previous random model is broken by new patch)
  • Up to v1.0.34393 (some features taken from mod: Wartales Remastered)
Spoiler:  
Show
Punch up to Wrath (base action, allow when Disarm; inspired by mod: Wartales Remastered)

"id": "Disarm",
add props
"skill": "Punch"

Protected trait from GrowthsKilled (rats lair), 10% to 5%

    "id": "GrowthsKilled",
add props
"trait": "Protected"
    "id": "Protected",
"value": 10 to 5
add
"unlockThreshold": 0, "unlockChances": 100 (or higher, like 999 for garanty unlock), "personality": 0

Tiltren's HangHideoutMerchant: always show (smuggler merchant protects alcohol and remains available if we help hang thief)
res\content\regions\Alazar_Aneding\POI\HangHideout.l3d

del
get (Element.HangHideoutMerchant) .hide ();
and
if( globals.hangBanditValidated )

Civil's not-combatant (playerPowerScaleFactor 0)

    "id": "Civil",
add
"playerPowerScaleFactor": 0

(fix) TrainingArrow: 100% Precision (applies rage only to target, not to anyone, including enemy beasts in path of shot)

    "id": "TrainingArrow",
add
"attribute": "PrecisionBonus", "fixedValue": 100,

2h weapon: add 1 up 21 armor

Motivation: Willpower, Movement +1; Galvanization: +2

    "id": "Motivation",
add
{ "kind": "Willpower", "value": 1 }, { "kind": "Movement", "value": 1 }
and
    "id": "Galvanization" (2)

High-Lv food cheaper; add CookSimple: grilled AnimalCorpse, Rat, Corpse (like other simple dishes); Large salty food to 1 slot (example - SoupPike)

Pass converts to 200 Gold

    "id": "Pass",
mod
"props": { "converts": { "action": "DlgRead", "item": "Gold", "count": 200 },

Influence: +60% story quests rewards

(tavern) promotionChance = cost of food (wheat 3, not 10; bear 10, not 3)

PlayerStart with unitClass (Str x2 and Dex x2): Swordman/Axeman, Brute/Spearman, Rogue/Pugilist, Bowman (previous random model is broken by new patch)


====
0.16.3.3
====
  • (prefab) PrisonerOutlawBasePrice 50 to 40, PrisonerOutlawLevelScalePrice 5 to 2 (if no slot: prisoner 20+1)
  • Pony cost (and AnimalAcc) to 40, capture cost (rope) and killLoot for animals x2
  • (prefab) Baron in Tiltren's tavern: removed reward duplication (on Init: setNextDialog Dialog.Wait)
  • (prefab) Tiltren's Desperate Refugees - replacing BowCommonOutlaws with BowUncoDeserters, closer to price of passage fee
  • LeaderSoul: gaining trait from defeating a champion (instead of small chance of awakening when appointing captain, which allowed to open +1 max AP to all companions through save-load).
  • HaragConcoction: x2 cost, can wound PlaguedRat, but not capture (makes rat lairs easier for units without mass attack specialization)
  • Trap: cost and effect (trappedQuantity) x2
Spoiler:  
Show

(prefab) PrisonerOutlawBasePrice 50 to 40, PrisonerOutlawLevelScalePrice 5 to 2 (if no slot: prisoner 20+1)

Pony cost (and AnimalAcc) to 40, capture cost (rope) and killLoot for animals x2

(prefab) Baron in Tiltren's tavern: removed reward duplication (on Init: setNextDialog Dialog.Wait)

res\content\regions\Alazar_Aneding\POI\S1Blackmarket.prefab

function onInit(){if(!vars.once){markImportant();vars.once=true;setNextDialog(Dialog.Wait);}}function onTalk(){if(currentDialog==Dialog.Reward){leaveDialog();setNextDialog(Dialog.Wait);}}

Tiltren's Desperate Refugees: replacing BowCommonOutlaws with BowUncoDeserters, closer to price of passage fee

res\content\regions\Alazar_Aneding\POI\Region.prefab

@BowCommonOutlaws
to
@BowUncoDeserters

Trap: cost and effect (trappedQuantity) x2

LeaderSoul: gaining a trait from defeating a champion (instead of a small chance of awakening when appointing a captain, which allowed to open +1 max AP to all companions through a save load).

    "id": "ChampionDefeated",
add props
"trait": "LeaderSoul"
    "id": "AfterRestIfCaptain",
change to
"trait": "Sociable"

HaragConcoction: x2 cost, can wound PlaguedRat, but not capture (makes rat lairs easier for units without mass attack specialization)    "id": "Spraying",
add
|| a.target.kind == UnitClass.PlaguedRat


====
0.16.3.2
====
  • (prefab) Prisons accept any prisoners. Added small reward if no space. Tiltren's Sawmill: fix cost and unlimited wood, don't leave dialog on deliver
  • (prefab/hx) BorderPost (Edoran, Bandit): open by default (onInit: enable, no need new game)
  • (prefab) Rouste Unlocked: always (getPlace: show, without condition, no need new game, works on old saves)
Spoiler:  
Show

(prefab) Prisons accept any prisoners. Added a small reward if there is no space. Tiltren's Sawmill: fix cost and limited wood, don't leave dialog on deliver
function onTalk(){if(currentDialog==Dialog.Deliver){if(getEmptySlot()==null){var u=chooseUnit({isPrisoner:true});if( u==null)return; u.removeFromPlayer();}else{deliverPrisoner({isPrisoner:true});}}}function onChooseUnit( u){return getEmptySlot()==null?[{item:Item.Gold,count:20+u.level*2}]:[{item:Item.Gold,count:prisonerPrice( u)}];}
mod:
res\content\regions\Alazar_Aneding\POI\Prison.l3d
res\content\regions\Alazar_Aneding\POI\Sawmill.l3d (fix cost and inlimited wood, don't leave dialog)
res\content\regions\Alazar_1\POI\A1Prison.prefab
res\content\regions\Gosenberg_1\POI\G1Prison.l3d
res\content\regions\Gosenberg_2\POI\G2Prison.prefab
res\content\regions\Harag_1\POI\H1Prison.prefab
res\content\regions\Belerion_1\POI\B1Prison.prefab


(prefab/hx) BorderPost (Edoran, Bandit): open by default (onInit: enable, no need new game)
res\content\regions\Alazar_Aneding\POI\EdoranBorderPost.prefab
mod
function onInit() { enable(); }
and
res\content\regions\InterRegion_1\POI\IR1BanditBorderPost.prefab
plus
res\content\script\World.hx
alazarEdoranOpen : false to true,
tiltrenHaragOpen : false to true,


(prefab) Rouste Unlocked: always (getPlace: show, without condition, no need new game, works on old saves)
res\content\regions\Alazar_Aneding\POI\Region.prefab

vanila ex:
   getPlace(Place.S1Sport).show(on Going);

mod ex:
   getPlace(Place.S1Sport).show();


====
0.16.3.1
====
  • (mod .prefab) Cost of Respecialization: 500 coins to 100 (inspired by Ucross's post, need hex editor: change symbol "35" to "31")
  • (mod .l3d) 3th Merchant without TiltrenSettingCompleted (add check: globals.hoboHelped)

(mod .prefab) Cost of Respecialization: 500 coins to 100 (inspired by Ucross's post, need hex-redactor: symbol "35" to "31")

Details
- Install hex editor.
- Open "S1TrainingCenter" prefab - res\content\regions\Alazar_Aneding\POI\S1TrainingCenter.prefab
- Find "500".
- Select byte responsible for "5" and change it to "1" (mod: "35" to "31").

Mod:
res\content\regions\Alazar_Aneding\POI\S1TrainingCenter.prefab (Tiltren)
res\content\regions\Alazar_1\POI\A1TrainingCamp.prefab
res\content\regions\Edoran_1\POI\E1TrainingCamp.prefab
res\content\regions\Gosenberg_1\POI\G1TrainingCamp.prefab
res\content\regions\Gosenberg_2\POI\G2CompanionHeadquarter.prefab
res\content\regions\Harag_1\POI\H1TrainingCamp.prefab
res\content\regions\Belerion_1\POI\B1TrainingCamp.prefab

(mod .l3d) 3th Merchant without TiltrenSettingCompleted (add check: globals.hoboHelped)

res\content\regions\Alazar_Aneding\Towns\T1\T1Marketplace.l3d

add "||globals.hoboHelped"

function onInit(){if(globals.s1End1||globals.s1End2||globals.hoboHelped){hide();}}
function onInit(){if(globals.s1End2||globals.hoboHelped){show();}}


====
0.16.3
====
  • Bow skills: min dmg +10%, dmgAttribute to 2 (Dex to Str/Dex); Shot: add baseDamageBonus on getDistance (like AimedShot, but without Lv2 and CritBonus)
  • Not-free Bundle (forge): del require prev bundle, but T4 learnCost up to 2 Knowledge
  • WeightTraining and Carrier: add Constitution 2; TradeHorses: Constitution +5% (plus unitCondition skill Adventurer); ResolutionMoreTransport: Constitution +10%
  • Recklessness: add AnimalMarkedBonus onBeginRound
  • Racking of pony = Ovation of axeman, change to learnLevel 2
  • PonyAuge: FoodReduction -1/2/3 (half of pot and DailyFood of pony)
  • Camp Tools T2-3: half cost of gold for recipes converted to Influence (100 to 50+25, 200 to 100+50)
  • FirecampUpgrade2_Influence: set 5 on default (no need to assign a companion to Firecamp for happiness to be converted into influence)
  • BeltAccWeighted: return BeltAccWeighted-skill, CritHitDamageBonusPercent 15 to 10; Unwavering for BeltAccPushDistance
  • FightForRenown: add GoldGainFight (compare with InfluenceGainFight); FightForPower: add ProfessionExperienceBonus (compare with ExperienceFightBonus)
  • BackAccAlchemyResources (Herbarium): add missed comp for recipe (Starflower, Lavender, Hemp)
  • FragileRests (Weak Bearings) without Status.Imbalance -10% hp to -5%
  • Ignore of Corrosion and FragileRestsStatus for OilSwipping, ResilientMetabolism, HardTraining, HeavyHelmetDeserters, FirstAid (heal)
  • HangingHelp apCost 1 to 0 (like enemy)
  • AddTraitGreatVitality: Constitution to 50%, add DamageReducePercent 10%, Strength/Dexterity/Willpower/Movement 10%
  • Wrath: add AnimalMarkedBonus with DeadlyBlow
  • EnemyMovementBonusLevelMin 5 to 3, EnemyMovementFactorBonusPerLevel 7 to 6, EnemyMovementBonusBonusMax 50 to 60
  • Adjustment of armor/defense values for armor and helmets (HeavyArmorBase 224/4 = 56 HeavyHelmetBase, Medium 75% of Heavy, Light 50%)

Spoiler:  
Show
Bow skills: min dmg +10%, dmgAttribute to 2 (Dex to Str/Dex); Shot: add baseDamageBonus on getDistance (like AimedShot, but without Lv2 and CritBonus)

Ex
    "id": "Shot",
"dmgAttribute": 1 to 2
"minDmg": 6 to 6.6
add
"vars": { "value1": 3 }
and
"script": "function onEval(a) { var dist = round(getDistance(a.target, skill.unit) ); a.baseDamageBonus += ceil(vars.value1*dist); }",

Not-free Bundle (forge): del require prev bundle, but T4 learnCost up to 2 Knowledge

WeightTraining and Carrier: add Constitution 2; TradeHorses: Constitution +5% (plus unitCondition skill Adventurer); ResolutionMoreTransport: Constitution +10%

    "id": "WeightTraining",
"bonus": "Constitution", "value": 1,
and
     "id": "Carrier",

    "id": "ResolutionMoreTransport",
"bonus": "Constitution", "value": 10, "isPercentage": true,

     "id": "TradeHorses",
"bonus": "Constitution", "value": 5, "isPercentage": true,
plus
{ "skill": "Adventurer" }

Recklessness: add AnimalMarkedBonus onBeginRound

    "id": "Recklessness",
add to script
function onBeginRound() { skill.unit.addStatus(Status.AnimalMarkedBonus, 1); }

Racking of pony = Ovation of axeman, change to learnLevel 2

{ "skill": "Racking", "learnLevel": 2 },

PonyAuge: FoodReduction -1/2/3 (half of pot and DailyFood of pony)

    "id": "PonyAuge",
"bonusesIfAssigned": [ { "bonus": "FoodReduction", "value": 1 } ]

Camp Tools T2-3: half cost of gold for recipes converted to Influence (100 to 50+25, 200 to 100+50)

FirecampUpgrade2_Influence: set 5 on default (no need to assign a companion to Firecamp for happiness to be converted into influence)

    "id": "FirecampUpgrade2_Influence",
add
"props": { "bonuses": [ { "bonus": "FirecampUpgrade2_Influence", "value": 5,

BeltAccWeighted: return BeltAccWeighted-skill, CritHitDamageBonusPercent 15 to 10; Unwavering for BeltAccPushDistance

FightForRenown: add GoldGainFight (compare with InfluenceGainFight); FightForPower: add ProfessionExperienceBonus (compare with ExperienceFightBonus)

    "id": "FightForRenown",
"bonus": "GoldGainFight", "value": 5,

    "id": "FightForPower",
"bonus": "ProfessionExperienceBonus", "value": 5,

BackAccAlchemyResources (Herbarium): add missed comp for recipe (Starflower, Lavender, Hemp)

FragileRests (Weak Bearings) without Status.Imbalance -10% hp to -5%

    "id": "FragileRests", "value": 10 to 5
    "id": "FragileRestsStatus", "value1": 10 to 5
add to script
if( t.target.hasStatus(Status.Imbalance) ) { t.target.damages(skill, t.target.getPercentHealth(vars.value1, true), true); }

Ignore of Corrosion and FragileRestsStatus for OilSwipping, ResilientMetabolism, HardTraining, HeavyHelmetDeserters, FirstAid (heal)

    "id": "OilSwipping",
add
.kind == Status.FragileRests
and
    "id": "HeavyHelmetDeserters",
    "id": "ResilientMetabolism",
    "id": "FirstAid", (heal)
    "id": "HardTraining",
add props vars
"fragile": false
add script onBeginRound
vars.fragile = false;
add script onStatus
if( s.unit == skill.unit && s.kind == Status.FragileRests ) { spawnFx(); s.cancel(); if( skill.level >= 2 && !vars.fragile) { skill.unit.addStatus(Status.AnimalMarkedBonus, vars.value1); vars.fragile = true; } }

HangingHelp apCost 1 to 0 (like enemy)

    "id": "HangingHelp", "apCost": 1 to 0

AddTraitGreatVitality: Constitution to 50%, add DamageReducePercent 10%, Strength/Dexterity/Willpower/Movement 10%

Adjustment of armor and defense values for armor and helmets

EnemyMovementBonusLevelMin 5 to 3, EnemyMovementFactorBonusPerLevel 7 to 6, EnemyMovementBonusBonusMax 50 to 60

    "id": "EnemyMovementBonusLevelMin", "value": 5 to 3
    "id": "EnemyMovementFactorBonusPerLevel", "value": 7 to 6
    "id": "EnemyMovementBonusBonusMax", "value": 50 to 60

Wrath: add AnimalMarkedBonus with DeadlyBlow

    "id": "Wrath",
add
skill.unit.addStatus(Status.AnimalMarkedBonus, 1);



====
0.16.1
====
  • Wrath: +50% dmg vs hp 50% (instead allowed), base dmg reduced from 55-70% to 40-50% (or 60-75% vs low hp, like vanila-style)
  • Taunt: Vulnerability vs Weakening (like WeakeningShock)
  • FirstAid: 1% cancel any malus (like LockingHisWounds of Wolves, but chance not 100%)
Spoiler:  
Show
Wrath: +50% dmg vs hp 50% (instead allowed), base dmg reduced from 55-70% to 40-50% (or 60-75% vs low hp, like vanila-style)

"id": "Wrath",
"minDmg": 5.5, to 4
"maxDmg": 7, to 5
"script": "function onBeginAction() {\n\tvars.allowed = false;\n\tfor( u in getFoes(skill.unit) ) {\n\t\tvar p = 100 * (u.health / u.stats.health);\n\t\tif( p <= vars.value1 && u.isMelee(skill.unit) ) {\n\t\t\tvars.allowed = true;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction onEval(a) {\n\tvar p = 100 * (a.target.health / a.target.stats.health);\n\tif( p > vars.value1 ) {\n\t\tdontAllow();\n\t}\n}\n\nfunction onPostSkill() {\n\tfor( t in skill.getTargets() ) {\n\t\tif( !t.target.isAlive() ) {\n\t\t\tskill.unit.addStatus(Status.Fury);\n\t\t}\n\t}\n}",
mod
{
    "id": "Wrath", "name": "Courroux", "desc": "Inflige [DMG] à la cible s'il lui reste moins de la moitié de sa [Health]. [DeadlyBlow] : Cette unité gagne [Fury].", "mode": 0, "range": {},
"props": { "apCost": 1, "vars": { "value1": 50 }, "tooltipStatus": [ { "st": "Fury" } ], "dmgAttribute": 2, "isAttack": true },
"script": "function onSkillEval(s) { for( t in s.getTargets() ) { var p = 100 * (t.target.health / t.target.stats.health); if( p <= vars.value1 ) { t.baseDamageBonus += vars.value1; } } } function onPostSkill() { for( t in skill.getTargets() ) { if( !t.target.isAlive() ) { skill.unit.addStatus(Status.Fury); } } }", "notes": "", "icon": { "file": "ui/Icons/BattleIcons96PX.png", "size": 96, "x": 14, "y": 1 },
"minDmg": 4, "maxDmg": 5, "levels": [], "iconeDone": true, "done": 2
},

Taunt: Vulnerability vs Weakening (like WeakeningShock)

add for script
if( t.target.hasStatus(Status.Weakening) ) { t.target.addStatus(Status.Vulnerability); }

FirstAid: 1% cancel any malus (like LockingHisWounds of Wolves, but chance not 100%)

"id": "FirstAid", "name": "Premiers soins", "desc": "Soigne un allié [Dying] et lui fait gagner ::value1::% de sa [Health] maximum. Lui retire toutes les applications de [Poison], [Bleeding] et [Burning].", "mode": 0,
"range": { "allowedTargets": 2 },
"props": { "usableWhenDying": true, "aiOrders": [ { "order": 0 } ], "specialAnim": "Heal", "apCost": 1, "vars": { "value1": 10, "value2": 1 }, "needDisengaged": true, "cursor": "CursorHeal", "healPreview": 0.1, "useWithoutWeapon": true },
"script": "function onSkill() { for( t in skill.getTargets() ) { t.target.gainsHealth( ceil(t.target.stats.health*vars.value1/100), null); var cancelStatus = false; for( st in t.target.getAllStatus() ) { if( !st.isBonus && !st.isInjury && proba(vars.value2) ) { st.cancel(); } if( st.kind == Status.Poison || st.kind == Status.Bleeding || st.kind == Status.Burning || st.kind == Status.Corrosion ) { st.cancel(); cancelStatus = true; } } t.target.gainsHealth( 0 , cancelStatus ? true : null); } play(); }", "notes": "", "icon": { "file": "ui/Icons/BattleIcons96PX.png", "size": 96, "x": 15, "y": 1 }, "iconeDone": true, "done": 2 },


====
0.16
====
  • Challenges for all starts: Fellowship, ProsperousCompany, Elusive, Seditious, TradeProtectors (del unlockedWith)
  • Recruitment-only traits move to Starting list: Carnivorous, Vegetarian, Confident, Lone, Cooperative (ex: move "Cooperative" after "Glouton" from "Starting", but before "Glorious" from "Hidden")
  • AnimAcc continue: all cost 50, rarity 1; DoTs (AnimAccPoison, AnimAccFire) add Resist, del DoT onBeginBattle; AnimAccGuard change to AnimAccBleeding, add BeltAccBleedingResist; AnimAccAnimalWalkSpeed add Movement 6; AnimAccCarriage add Constitution 10%; AnimAccFriendship add AnimAccDiscretion skill (reduce AggroRangeFactor 10% to 5%); AnimAccExperience up 20% to 30% XP, add BeltAccGritEndTurn (like Glorious); AnimAccSecondLife add BeltAccAutoHeal (up 3% to 5%)
  • BeltAcc: re-sort recipes, free learn (because in normally used AccOil), add some missing (to Booksz) and up useless (ex BeltAccPoisonResist add +5% Constitution, BeltAccHumanTorch add LightVision, like Torch, etc.); BeltAccWillpowerBonusA startQuantityDifficultyBonus 4-0, Willpower 5 (prevent early death), Movement 2 and SkillRepositioning (at beginning of game there is not enough movement until level 3 strategy table)
  • RareAntiquity (like CristalSkull): add recipe in Booksz, add lecternRest 1; RuinAntiquity (like MaceLegendaryRuin) add lecternRest 1
  • PolearmCommonBelerion up to Unco, del from start equip of Spearman
  • BoatRegistration: reduce min cost, free learn
  • MerchantFought: add InfluenceGainGuardFightBonus
  • Traveler learnLevel 12 to 1
  • RuinsHallwayLightAlreadyExploredCost 1 to 0; NinePuzzle_TileMoveDuration and CylinderPuzzle_RotateDuration 1 to 0.5
  • Ovation: allowedTargets for self; PredatorialSwiftness: onBeginBattle to onBeginRound;
  • Pilot: add NavigationAccelerationBonus 20 (instead empty, like Watchman-dex)
  • TaxToInfluenceFactor 0.4 to 0.04 (because Parley allows to avoid 1 battle with guards, but does not remove suspicion)
  • UsedStolenItemTaxFactor 1 to 0.75
  • (Fix unexpected bug when editing scripts) Remove developer comments from scripts (because their presence causes an error when we remove /n from end)
  • Add LayerRareGuard with Guard (because LayerRareGuardNoCritical gives  armor)
  • PeddlerItems for Belerions Trade post (appear at other if build path to Belerion, which is allowed in mod)
  • Spoiler:  
    Show
    PolearmCommonBelerion up to Unco, del from start equip of Spearman
    BoatRegistration: reduce min cost, free learn

    "id": "BoatRegistration",
    "costPerMeter": 0.2, to 0.02
    "initCost": 50, to 5
    "maxCost": 300

    MerchantFought: add InfluenceGainGuardFightBonus

    "id": "MerchantFought",
    add props bonuses
    "bonus": "InfluenceGainGuardFightBonus", "value": 20

    AnimAcc continue: all cost 50, rarity 1; DoTs (AnimAccPoison, AnimAccFire) add Resist, del DoT onBeginBattle; AnimAccGuard change to AnimAccBleeding, add BeltAccBleedingResist; AnimAccAnimalWalkSpeed add Movement 6; AnimAccCarriage add Constitution 10%; AnimAccFriendship add AnimAccDiscretion skill (reduce AggroRangeFactor 10% to 5%); AnimAccExperience up 20% to 30% XP, add BeltAccGritEndTurn (like Glorious); AnimAccSecondLife add BeltAccAutoHeal (up 3% to 5%)

    Ex
    "id": "AnimAccFire",
    before
    "script": "function onBeginBattle() { skill.unit.addStatus(Status.Burning); } function onSkillPlayed(s) { if(skill.unit.hasStatus(Status.Burning) && proba(vars.value1) ) { for( t in s.getTargets() ) { if( t.target.side != skill.unit.side ) t.target.addStatus(Status.Burning, vars.value2); } } }",
    after
    "script": "function onSkillPlayed(s) { if( proba(vars.value1) ) { for( t in s.getTargets() ) { if( t.target.side != skill.unit.side ) t.target.addStatus(Status.Burning); } } }"

    Traveler learnLevel 12 to 1

    { "skill": "Traveler", "learnLevel": 1 },

    RuinsHallwayLightAlreadyExploredCost 1 to 0; NinePuzzle_TileMoveDuration and CylinderPuzzle_RotateDuration 1 to 0.5

    "id": "RuinsHallwayLightAlreadyExploredCost", "value": 1 to 0

    "id": "NinePuzzle_TileMoveDuration", "value": 1, to 0.5
    "id": "CylinderPuzzle_RotateDuration", "value": 1, to 0.5

    Challenges for all starts: Fellowship, ProsperousCompany, Elusive, Seditious, TradeProtectors (del unlockedWith)

    Ex
    "id": "Fellowship",
    del
    "unlockedWith": "STroopAdventurers",

    Recruitment-only traits move to Starting list: Carnivorous, Vegetarian, Confident, Lone, Cooperative (ex: move "Cooperative" after "Glouton", but before "HeavySleep")

    Details:
    { "title": "Starting", "id": "Glouton" },
    { "title": "Recruitment", "id": "HeavySleep" },

    Ex
    (Ctrl+x start) { "id": "Cooperative",
    (Ctrl+x end) "done": true },
    (paste "Cooperative" after "Glouton", but before "HeavySleep", ex: between "Laborious" and "Glorious", next "hidden" part)

    Ovation: allowedTargets for self; PredatorialSwiftness: onBeginBattle to onBeginRound;

    "id": "Ovation", "allowedTargets": 1 to 2

    "id": "PredatorialSwiftness"

    "script": "function onBeginBattle() to onBeginRound()

    Pilot: add NavigationAccelerationBonus 20 (instead empty, like Watchman-dex)

    "id": "Pilot",
    "props": { "bonuses": [ { "bonus": "NavigationAccelerationBonus", "value": 20 } ] }

    BeltAcc: re-sort recipes, free learn (because in normally used AccOil), add some missing (to Booksz) and up useless (ex BeltAccPoisonResist add +5% Constitution, BeltAccHumanTorch add LightVision, like Torch, etc.); BeltAccWillpowerBonusA startQuantityDifficultyBonus 4-0, Willpower 5 (prevent early death), Movement 2 and SkillRepositioning (at beginning of game there is not enough movement until level 3 strategy table)

    Ex
    "id": "BeltAccPoisonResist",
    add
    "baseBonus": [ { "value": 5, "attribute": "Constitution", "isPercentage": true } ],

    "id": "BeltAccHumanTorch",
    plus
    "bonuses": [ { "bonus": "LightVision", "title": "" } ], (like torch)

    { "id": "BeltAccWillpowerBonusA", "name": "Médaillon", "weight": 0.3, "baseBonus": [ { "value": 5, "attribute": "Willpower" } ], "props": { "disableLoot": true, "startQuantity": 0, "startQuantityDifficultyBonus": [ { "qty": 4, "difficulty": 0 }, { "qty": 2, "difficulty": 1 }, { "qty": 1, "difficulty": 2 }, { "qty": 0, "difficulty": 3 } ] }, "icon": { "file": "ui/Icons_Resources.png", "size": 96, "x": 12, "y": 13 }, "type": "BeltAccessory", "price": 20, "rarity": 0, "desc": "", "iconeDone": true, "done": 2 },

    TaxToInfluenceFactor 0.4 to 0.04 (because Parley allows to avoid 1 battle with guards, but does not remove suspicion)

    "id": "TaxToInfluenceFactor", "value": 0.4 to 0.04

    UsedStolenItemTaxFactor 1 to 0.75

    "id": "UsedStolenItemTaxFactor", "value": 1 to 0.75

    (Fix unexpected bug when editing scripts) Remove developer comments from scripts (because their presence causes an error when we remove /n from end)

    { "id": "RockSlideZone_Matriarch",

    "script": "function onSkill() { createEvent(Skill.RockSlide, 2); // 2 end round because trigger at the end of a round\n}",
    del
    // 2 end round because trigger at the end of a round\n

    maybe del empty code

    "id": "Electrified",
    del
    function onEndTurn() { // if( a) }

    HaragLover: del regionCondition Altis (because has doobled lover for Tiltren)

    Add LayerRareGuard with Guard (because LayerRareGuardNoCritical provede armor)

    PeddlerItems for Belerions Trade post (appear at other if build path to Belerion, which is allowed in mod)

    "id": "Belerion_1"
    add
    "peddlerItems": "PeddlerItemsA",

    new
    { "id": "PeddlerItemsA", "content": [ { "proba": 0, "item": "Lavender", "min": 12, "max": 12 }, { "proba": 0, "item": "Fin", "min": 12, "max": 12 }, { "proba": 0, "item": "DragonScale", "min": 10, "max": 10 }, { "proba": 0, "item": "Seaweed", "min": 20, "max": 20 }, { "proba": 0, "item": "Shellfish", "min": 10, "max": 10 }, { "proba": 0, "item": "Olives", "max": 20, "min": 20 }, { "proba": 0, "item": "Apricot", "max": 20, "min": 20 }, { "proba": 0, "item": "Lemon", "min": 20, "max": 20 }, { "proba": 0, "item": "Tomato", "max": 20, "min": 20 } ] },


    ====
    0.15.8
    ====
  • Recipe Sorting for cooking pot: add nameCraftCategory and isCraftSeparator for some categories (Vegetables, Fruits, etc.)
  • Grapple: add more Movement (rarity1: 3, r2: 4)
  • HumanResources: reduce cost (inspired by mod: Wartales Rebalance)
  • 2HBase Strength upValue 50 to 57 (like Dexterity)
  • Throwing up (continue): up skill effect (AxeThrow: add applyDot Bleeding, ThrowingKnife: 1-2 poison, ThrowingSickle add Blind %, or Corrosion/Poison); del fixedLevel, enemyRequireLevel; recipes move to ApothecaryTable; TorchRuins need wood
  • BundleTwoHanded require BundleOneHanded, but learnCost free
  • WeaponTypes 2H to 1H for some humans (keep skills for npc, like Colosse)
  • LastStand: add check for guard 0 (little more effective)
  • Leader: add Movement bonus (10-15-20%), Skilled also Willpower +%
  • BeltPathTradeCorrupt move to CrimePath (because corrupt is crime :)
  • CaptainSkill and LieutenantSkill: allowedTargets 2 (with self), radius up (4 to 6, 3 to 4)
  • ArenaEveryDamage: ignore rat
  • Switch recipes for LayerRareCriticalNoMovement and LayerRareDexterityNoArmor: now Str/Dex need Ruby/Sapphire, crit - SharkTooth (because it rare drop and OP item :)
  • Craft res: cost x2 to x1.5 (Gold + Inf = count 2)
  • New choose for animal: AddTraitGreatVitality (hp +100% and x2, like Bear) or WarHorse (CanEquipArmor, like pony); skill OilBraveA for AnimAccObey (AP return if we control our animals)
  • Animal continue: skill FarmedBoar change minLevel to learnLevel 1 and add killloot; add missed playerPowerScaleFactor (r0: 0.55, r2: 0.65, vanila bear have 0.7, rat 0.3); add trait Nyctalope
  • Wolf: Deflection at start battle
  • Animal is not Alcoholic, but may be Stupid (del/add gen 2)
  • Hide AddTrait-type skill in battle (mode 2 to 6)
  • InsectSmash: up (base dmg to normal, like start sword-skill)
  • Terror continue: TerrifyingAppearance now ignore isOpportunityAttack, Willpower provide % protect vs Terror apply; TerrorLink now have 3-turn count
  • FirstAid can remove Corrosion (DoT vs armor, like other DoT), add aiOrders 0
  • Start equip is cheaper, add version of common with low cost; return normal cost of recruits (Increase factor set to 0)
  • Freed (ex-slave trait) = Volunteer
  • WeaponPrice for rarity 3: +30 (like r2), r1 20 to 15 (file: res.pak\formulas.hx)
  • BackpackLight for ArmorMedium and ArmorHeavy (small size, like mod Light backpack for everyone)
  • Codex need runes from their tomb (Example: Tiltren's Artist codexs need only 2 rune from Tiltren Tomb: RuneMountain and RuneCelebration)
  • HelethEnemy and GunbaldEnemy: add CritHitPercent +5%
  • Less acrobatics in combat: del specialAnim AttackPower (like mod: Just swing)
  • LockpickMinRangeRatio up 0.025 to 0.05
  • Re-enable 4 quests from early access (pak\content\script\World.hx, like mod: Wartales Remastered)
  • Spoiler:  
    Show
    Recipe Sorting for cooking pot: add nameCraftCategory and isCraftSeparator for some categories (Vegetables, Fruits, etc.)

    "id": "Consumable",
    add props
    "isCraftSeparator": true, "nameCraftCategory": "Partition",
    and
    "id": "Vegetables",
    "id": "Fruits",
    "id": "Meat",
    "id": "Fish",
    "id": "FreshwaterFish",
    "id": "SeaFish",
    "id": "DeepSeaFish",
    "id": "CookedFish",
    plus nameCraftCategory for other
    "id": "SkillManual",
    add
    "nameCraftCategory": "Manual",
    and
    "id": "SheetMusic",
    "id": "Ammunition",

    Grapple: add more Movement (rarity1: 3, r2: 4)

    "id": "Grapple",
    "baseBonus": [ { "value": 3, "attribute": "Movement" } ],
    and
    "id": "GrapplePirates", (4)
    "id": "GrappleBelerion", (4)

    HumanResources: reduce cost (inspired by mod: Wartales Rebalance)

    "id": "HumanResources",
    "costPerCompagnon": 10, to 1
    "factorPerCriteria": 2, to 1.1
    "minRest": 1,
    "maxRest": 3 to 1

    2HBase Strength upValue 50 to 57 (like Dexterity)

    Ex
    "id": "Mace2HBase", "upValue": 50 to 57

    Throwing up (continue): up skill effect (AxeThrow: add applyDot Bleeding, ThrowingKnife: 1-2 poison, ThrowingSickle add Blind %, or Corrosion/Poison); del fixedLevel, enemyRequireLevel; recipes move to ApothecaryTable; TorchRuins need wood

    "id": "ThrowingAxe",
    del
    "fixedLevel"
    "enemyRequireLevel"
    Ex
    "id": "AxeThrow",
    "id": "PowerfulAxeThrowT4",
    "script": "function onDamage(a) {
    if( a.target.hasStatus(Status.Bleeding) ) {
    if( a.isCritical ) {
    if( proba(vars.value4) ) { spawnFx(); a.target.applyDot(Status.Bleeding); };
    }
    else {
    if( proba(vars.value3) ) { spawnFx(); a.target.applyDot(Status.Bleeding); };
    }
    }
    else {
    if( a.isCritical ) {
    if( proba(vars.value2) ) { a.target.addStatus(Status.Bleeding); spawnFx(); };
    }
    else {
    if( proba(vars.value1) ) { a.target.addStatus(Status.Bleeding); spawnFx(); };
    }
    }
    }",

    "id": "PoisonedThrowingKnifeT4",
    "script": "function onDamage(a) { a.target.addStatus(Status.Poison, 1); spawnFx(); if( a.isCritical ) { if( proba(vars.value2) ) { a.target.addStatus(Status.Poison, 1); spawnFx(); }; } else { if( proba(vars.value1) ) { a.target.addStatus(Status.Poison, 1); spawnFx(); }; } }"
    "id": "ThrowingSicklePetrifyingT4",
    "script": "function onDamage(a) { a.target.addStatus(Status.Confus, 1); if( proba(vars.value1) ) { var malus = [Status.Weakening, Status.Fragility, Status.Destabilization, Status.Vulnerability, Status.Disarm, Status.SlowReflexes, Status.NoReflexes, Status.Blind]; malus = malus.filter( function(s) { return !a.target.statusResist(s) && !a.target.hasStatus(s); } ); if( malus.length > 0 ) { a.target.addStatus(malus[randInt(0, malus.length-1)], 1, true); } } else { if( a.target.armor > 0 ) { a.target.addStatus(Status.Corrosion); } else { a.target.addStatus(Status.Poison, 1); spawnFx(); } } }"

    New choose for animal: AddTraitGreatVitality (hp +100% and x2, like Bear) or WarHorse (CanEquipArmor, like pony); skill OilBraveA for AnimAccObey (AP return if we control our animals)

    {"skill": "WarHorse", "minLevel": 1 },
    {"skill": "AddTraitGreatVitality", "minLevel": 1 },
    "id": "AnimAccObey",
    del mod
    "bonuses": [ { "bonus": "CanEquipArmor", "value": 0 } ],
    add props
    "skill": "OilBraveA",
    { "value": 1, "attribute": "Willpower" }
    add mod
    {
    "id": "OilBraveA", "name": "", "desc": "",
    "mode": 2, "range": {}, "props": {},
    "script": "function onSkillPlayed( a ) { if( a.apCost > 0 ) {
    if ( isExtremeDifficulty() && !skill.unit.hasStatus(Status.Ordered) ) { skill.unit.gainsActionPoint(a.apCost+1); }
    else { skill.unit.gainsActionPoint(1); }
    } }", "notes": "", "iconeDone": true, "done": 1
    },

    BundleTwoHanded require BundleOneHanded, but learnCost free

    Ex
    "item": "BundleTwoHandedSwordAxeMaceT2",
    "require": [ { "item": "BundleOneHandedSwordAxeMaceT1" },
    "learnCost": [ { "qty": 0, "item": "Gold" } ],

    WeaponTypes 2H to 1H for some humans (keep skills for npc, like Colosse)

    Ex
    "id": "Colosse",
    "weaponTypes": [
    { "wp": "Mace2H" },
    to
    { "wp": "Mace" },

    LastStand: add check for guard 0 (little more effective)

    "id": "LastStand",
    "script": "function onBeginAction() {\n\tif( skill.unit.armor == 0 ) {\n\t\tif( skill.unit.addStatusPersist(Status.Brutality, skill) )\n\t\t\tspawnFx();\n\t}\n\tif( skill.level >= 2 && skill.unit.armor <= (skill.unit.stats.armor*vars.value1)/100) {\n\t\tif( skill.unit.addStatusPersist(Status.Brutality, skill) )\n\t\t\tspawnFx();\n\t}\n}",
    to
    "script": "function onBeginAction() { if( skill.unit.armor == 0 || skill.unit.guard == 0 ) { if( skill.unit.addStatusPersist(Status.Brutality, skill) ) spawnFx(); } if( skill.level >= 2 && ( skill.unit.guard == 0 || skill.unit.armor <= (skill.unit.stats.armor*vars.value1)/100 ) { if( skill.unit.addStatusPersist(Status.Brutality, skill) ) spawnFx(); } }",

    Leader: add Movement bonus (10-15-20%), Skilled also Willpower +%

    "id": "Leader",
    { "kind": "Movement", "value": 15, "isPercentage": true, "valueEasy": 10, "valueHard": 20 }
    "id": "Skilled",
    { "kind": "Willpower", "value": 10, "isPercentage": true, "valueEasy": 5, "valueHard": 15 },
    { "kind": "Movement", "value": 10, "isPercentage": true, "valueEasy": 5, "valueHard": 15 }
    "id": "ImportantUnit",
    "attributes": [ { "kind": "DamageReducePercent", "value": 30, "valueEasy": 20, "valueHard": 40 },
    { "kind": "Willpower", "value": 15, "isPercentage": true, "valueEasy": 10, "valueHard": 20 },
    { "kind": "Movement", "value": 15, "isPercentage": true, "valueEasy": 10, "valueHard": 20 }
    ],

    BeltPathTradeCorrupt move to CrimePath (because corrupt is crime :)

    CaptainSkill and LieutenantSkill: allowedTargets 2 (with self), radius up (4 to 6, 3 to 4)

    "id": "CaptainSkill", "radius": 4 to 6
    "id": "LieutenantSkill", "radius": 3 to 4
    "allowedTargets": 1 to 2 (include unit)
    Details:
    { "typeStr": "5:Enemies,Allies, AlliesWithSelf ,Self,All,AllButSelf,Player,None",
    "name": "allowedTargets", "opt": true },

    ArenaEveryDamage: ignore rat

    "id": "ArenaEveryDamage",
    "script": "function onDamageTaken(a) { if (isPlayer(a.unit)) { if (!isPlayer(a.target)) { if (!a.target.hasStatus(Status.Arena_Hit)) { a.target.addStatus(Status.Arena_Hit); a.target.addStatus(Status.Arena_DemandAlreadyContribute); } } } var isGood = true; for (u in getFoeUnits()) { if (u.isAlive() && !u.hasStatus(Status.Arena_Hit) && !u.kind == UnitClass.PlaguedRat ) { isGood = false; } } if (isGood) { successObjective(); } } function onEndRound() { var isGood = true; for (u in getFoeUnits()) { if (u.isAlive() && !u.hasStatus(Status.Arena_Hit) && !u.kind == UnitClass.PlaguedRat ) { isGood = false; } } if (isGood) { successObjective(); } else { failObjective(); } for (u in getUnits()){ u.cancelStatus(Status.Arena_Hit); } }",

    Switch recipes for LayerRareCriticalNoMovement and LayerRareDexterityNoArmor: now Str/Dex need Ruby/Sapphire, crit - SharkTooth (because it rare drop and OP item :)

    Craft res: cost x2 to x1.5 (Gold + Inf = count 2)

    Ex
    { "item": "IronOre", "tool": "Workshop",
    "recipe": [ { "qty": 6, "item": "Gold" }, { "qty": 6, "item": "Influence" } ],
    "props": {"produces": 2 }, "jobLevel": 1, "learnCost": [] },

    Animal continue: skill FarmedBoar change minLevel to learnLevel 1 and add killloot; add missed playerPowerScaleFactor (r0: 0.55, r2: 0.65, vanila bear have 0.7, rat 0.3); add trait Nyctalope

    add props
    "trait": "Nyctalope",

    Part of animal: FarmedBoar change minLevel to learnLevel 1
    Ex
    { "skill": "FarmedBoar", "learnLevel": 1 }
    plus
    { "skill": "WildTenacity", "minLevel": 13, "requires": "AddTraitGreatVitality" }
    Add playerPowerScaleFactor
    "playerPowerScaleFactor": 0.55 (tier/rarity 0)
    "id": "Wolf", "id": "SnowWolf",
    "id": "Saurian", (up to Wolf)
    "id": "Boar",
    "id": "Mosquito", (0.4)

    "playerPowerScaleFactor": 0.6 (tier/rarity 1)
    "id": "Alpha", "id": "SnowAlpha", "id": "GhostWolf",
    "id": "SaurianAlpha", (up to Alpha)
    "id": "DominantSow", "id": "Swamoar", "id": "GhostBoar",
    "playerPowerScaleFactor": 0.65 (tier/rarity 2)
    "id": "KaghalBoar",
    "id": "KaghalWolf",

    Mosquito: del DoTs when fully healed with BloodDrinker

    "id": "BloodDrinker",
    add
    skill.unit.cancelStatus(Status.Poison); skill.unit.cancelStatus(Status.Bleeding); skill.unit.cancelStatus(Status.Burning); 
    Ex
    "script": "function onDamageDealt(a) { var nb = skill.unit.getStatusCount(Status.BloodReserve); skill.unit.addStatus(Status.BloodReserve, vars.value1); nb += vars.value1; if( nb >= 2 ) { skill.unit.consumeStatus(Status.BloodReserve, nb); skill.unit.cancelStatus(Status.Poison); skill.unit.cancelStatus(Status.Bleeding); skill.unit.cancelStatus(Status.Burning); skill.unit.gainsHealth(skill.unit.stats.health); } }",

    Hide AddTrait-type skill in battle (mode 2 to 6)

    "mode": 2 to 6

    InsectSmash: up (base dmg to normal, like start sword-skill)

    "id": "InsectSmash",
    "value1": 1000 to 333
    "minDmg": 2, to 8
    "maxDmg": 4, to 10

    Terror continue: TerrifyingAppearance now ignore isOpportunityAttack, Willpower provide % protect vs Terror apply; TerrorLink now have 3-turn count

    "id": "TerrifyingAppearance",
    mod
    "script":  "function onDamageDealt(a) { if( a.unit == skill.unit && !a.isOpportunityAttack() ) {
    if( !vars.done1 ) { vars.done1 = true;
    if( proba(100-a.target.stats.willpower)) { spawnFx(); a.target.addStatus(Status.Terror, vars.value1); }
    }
    else if ( proba(vars.value3-a.target.stats.willpower) ) { spawnFx(); a.target.addStatus(Status.Terror, vars.value1); }
    }
    }
    function onDamageTaken(a) { if( a.unit != null && a.target == skill.unit ) { if( proba(vars.value3) ) { a.unit.consumeStatus(Status.Terror, vars.value1); } } }
    function onDeath(a) { if( a.unit != null && a.target == skill.unit ) { a.unit.consumeStatus(Status.Terror, vars.value2); } }
    function onEndTurn(){ vars.done1 = false; }",
    TerrorLink: 3 turn, not for end battle 
      
    "id": "TerrorLink",
    addStatus(Status.TerrorLink)
    mod
    addStatus(Status.TerrorLink, 3, true)

    FirstAid can remove Corrosion (DoT vs armor, like other DoT), add aiOrders 0

    "id": "FirstAid",
    add
    || st.kind == Status.Corrosion
    "aiOrders": [ { "order": 0 } ],

    Wolf: Deflection at start battle

    Start equip is cheaper, add version of common with low cost; return normal cost of recruits (Increase factor set to 0)

    Ex: MediumHelmetCommonDesertersA = MediumHelmetCommonDesertersA, exept cost (and without faction, because create for each dublicate not need)
    "equipment": [
    { "weapon": "SwordStart", "leftHand": "ShieldStart", "armor": "BaseArmorStart2", "helmet": "MediumHelmetCommonDesertersA" },
    { "weapon": "SwordCommonLegionA", "leftHand": "ShieldCommonLegionaryA", "armor": "BaseArmorStart2", "helmet": "MediumHelmetCommonGuardA" },
    { "weapon": "SwordCommonAlazarA", "leftHand": "ShieldCommonAlazarA", "armor": "BaseArmorStart2", "helmet": "MediumHelmetCommonAlazarA" },
    { "weapon": "Sword2HStart", "armor": "BaseArmorStart2", "helmet": "MediumHelmetCommonCompanionsA" },
    { "weapon": "Sword2HCommonInquisitionA", "armor": "BaseArmorStart2", "helmet": "MediumHelmetCommonInquisitionA" }
    ],

    Animal is not Alcoholic, but may be Stupid (del/add gen 2)

    "id": "Alcoholic"
    add
    "gen": 2
    plus
    "id": "Stupid"
    del
    "gen": 2
    Details:
    { "typeStr": "10:Animal, NotAnimal ,TwoHand,OneHand,Shield,Bow,FistWeapon",
    "name": "gen", "opt": true },

    Freed (ex-slave trait) = Volunteer

    WeaponPrice for rarity 3: +30 (like r2), r1 20 to 15 (res.pak\formulas.hx)

    function weaponPrice
    add
    if( v.rarity == 3 )
    price += 30;
    mod
    if( v.rarity == 1 )
    price += 20; to 15

    BackpackLight for ArmorMedium and ArmorHeavy (small size, like mod Light backpack for everyone)

    "id": "ArmorMedium"
    "id": "ArmorHeavy"
    mod
    "backpackName": "BackpackLight"

    Codex need runes from their tomb (Example: Tiltren's Artist codexs need only 2 rune from Tiltren Tomb: RuneMountain and RuneCelebration)

    "id": "ArtistCodex1",
    mod props refItems
    "props": { "refItems": [ { "item": "RuneMountain" }, { "item": "RuneCelebration" } ] },
    and
    "id": "ArtistCodex2",
    "id": "ArtistCodex3",
    others
    "id": "BuilderCodex1",
    "props": {
    "refItems": [
    { "item": "RuneCity" },
    { "item": "RuneBuilding" },
    { "item": "RuneKnowledge" }
    ] },
    "id": "MerchantCodex1",
    { "item": "RuneSea" }, { "item": "RunePeople" }, { "item": "RuneWealth" }

    "id": "FightersCodex1",
    { "item": "RuneDestruction" }, { "item": "RuneLake" }, { "item": "RuneRiver" }

    "id": "ExploratorCodex1",
    { "item": "RuneTravel" }, { "item": "RuneMystery" }, { "item": "RuneBad" }
    "id": "GeneralCodex1",
    { "item": "RuneShore" }, { "item": "RuneDeath" }, { "item": "RuneWar" }
    "id": "AdmiralCodex1",
    { "item": "RuneLeader" }, { "item": "RuneSnake" }, { "item": "RuneBoat" }

    HelethEnemy and GunbaldEnemy: add CritHitPercent +5%

    "id": "HelethEnemy",
    "props": { "attributes": [ { "kind": "CritHitPercent", "value": 5 } ] }
    and
    "id": "GunbaldEnemy"

    Less acrobatics in combat: del specialAnim AttackPower (like mod: Just swing)

    del
    "specialAnim": "AttackPower"

    LockpickMinRangeRatio up 0.025 to 0.05

    "id": "LockpickMinRangeRatio", "value": 0.025 to 0.05

    Re-enable 4 quests from early access (res.pak\content\script\World.hx, like mod: Wartales Remastered)

    pathCrime1Started : false, to true
    and
    pathMight1Started : false, to true
    pathTrade1Started : false, to true
    pathKnowledge1Started : false, to true


    ====
    0.15.5
    ====
  • Cost of equipment: base 50-300 to 80 for 1 hand or main slot (+50%/rarity): 80 (1 hand or armor, r0) - 120 (r1) - 160 (r2, rare) - 200 (r3, legendary); left hand -50% (40+); 2H +50% (120+, max 300 for r3 2H)
  • Skill for Civilian (and some start weapon) to normal for merc (ex KnifeStrike to Stab)
  • Throwning weapon up: tier +4 Crit or Guard or +6 CritDmg  (cost 1/4 of shield/helm)
  • Change list of start equip (suggested by MrDavydenko), RecruitCostBase 20 to 40, RecruitCostIncrease 10 to 2
  • Ghosts: add skill BeltAccBeastH1, TerrifyingAppearance: 33% Terror -1 on attack (not only kill)
  • Fervor: add Movement bonus (pirates will burn alive while our units run from them and win without fighting at all)
  • ForestGuardian up: AnimalMarkedBonus onDeath aliies (not only Fury for Animal)
  • Spoiler:  
    Show
    Cost of equipment: base 50-300 to 80 for 1 hand or main slot (+50%/rarity): 80 (1 hand or armor, r0) - 120 (r1) - 160 (r2, rare) - 200 (r3, legendary); left hand -50% (40+); 2H +50% (120+, max 300 for r3 2H); Charcoal 5 to 4 cost; Common - craft on Lv 1 profession, Unco - Lv 2, rare - Lv 3recipe armor
    { "qty": 6, "item": "IronOre" },
    { "qty": 4, "item": "Leather" },
    { "qty": 4, "item": "Cloth" },
    { "qty": 2, "item": "Charcoal" },
    rarity 1 add
    { "qty": 2, "item": "Charcoal" },
    and Rimesteel or WhiteLeather x2
    { "qty": 2, "item": "Rimesteel" },
    or
    { "qty": 4, "item": "WhiteLeather" },
    rarity 2 add
    { "qty": 2, "item": "GoldMineral" }
    rarity 3 add
    { "qty": 1, "item": "LegendaryMineral" }
    Ex 2H
    "item": "PolearmUncoCraftT4",
    { "qty": 6, "item": "IronOre" },
    { "qty": 9, "item": "Wood" },
    { "qty": 6, "item": "Leather" },
    { "qty": 6, "item": "Charcoal" },
    { "qty": 3, "item": "Rimesteel" },
    { "qty": 3, "item": "GoldMineral" }Skill for Civilian (and some start weapon) to normal for merc and re-sort list of craft in anvil, del start equip with same skills

    "id": "DaggerCommonCivilian",
    "skill": "KnifeStrike"
    to
    "skill": "Stab"

    "id": "MaceCommonCivilian",
    "skill": "MaceStrike"
    to
    "skill": "Crushing"

    "skill": "ForkStrike"
    to
    "skill": "Impalement"

    "skill": "Cleave",
    to
    "skill": "Bladestorm",

    "skill": "Shot",
    to
    "skill": "ViciousShot",
    Sword 1H skill:
    "id": "Slice",
    add props
    "vars": { "value1": 1 }, "tooltipStatus": [ { "st": "Fragility" } ],
    mod
    "script": "function onHit(a) { if( a.isCritical ) { a.target.addStatus(Status.Fragility, vars.value1, true); } }",LeftHandedSpecialist free, more effective throwning weapon with up cost (1/4 of shield/helm): tier +4 Crit or Guard or +6 CritDmg, +min-max dmg from 3-5 to 4-5 (+1 tier); PoisonedThrowingKnife also ignore Guard (like normal ThrowingKnife), alchemy recipe switch to x8 instead x4 (for save vanila list of res); baseDistance 4-7 to 6

    "bonus": "LeftHandedForge", "value": 1 to 0,
    Ex
    "item": "ThrowingKnifeT4",
    { "qty": 2, "item": "IronOre" },
    { "qty": 2, "item": "Wood" },
    { "qty": 3, "item": "Leather" },
    { "qty": 2, "item": "Charcoal" },
    { "qty": 1, "item": "Rimesteel" },
    { "qty": 1, "item": "GoldMineral" }Change list of start equip (suggested by MrDavydenko) +LightHelmetUncoCraftT1 at start in inventory, because script ignore helm for start party){"weapon": "SwordStart", "leftHand": "ShieldStart", "armor": "MediumArmorCommonGeneric", "helmet": "MediumHelmetCommonDeserters" },
    {"weapon": "SwordCommonLegion", "leftHand": "ShieldCommonLegionary", "armor": "MediumArmorCommonGuard", "helmet": "MediumHelmetCommonGuard" },
    {"weapon": "SwordCommonAlazar", "leftHand": "ShieldCommonAlazar", "armor": "MediumArmorCommonAlazar", "helmet": "MediumHelmetCommonAlazar" },
    {"weapon": "Sword2HCommonCompanions", "armor": "MediumArmorCommonCompanions", "helmet": "MediumHelmetCommonCompanions" },
    {"weapon": "Sword2HCommonInquisition", "armor": "MediumArmorCommonInquisition", "helmet": "MediumHelmetCommonInquisition" }
    { "weapon": "BowCommonOutlaws", "armor": "LightArmorCommonOutlaws", "helmet": "LightHelmetCommonOutlaws" },
    { "weapon": "BowCommonLegion", "armor": "LightArmorCommonLegion", "helmet": "LightHelmetCommonLegion" },
    { "weapon": "BowCommonAlazar", "armor": "LightArmorCommonAlazar", "helmet": "LightHelmetCommonAlazar" }
    { "weapon": "DaggerStart", "leftHand": "Torch", "armor": "LightArmorCommonGeneric", "helmet": "LightHelmetCommonOutlaws" },
    { "weapon": "DaggerCommonOutlaws", "leftHand": "Torch", "armor": "LightArmorCommonOutlaws", "helmet": "LightHelmetCommonOutlaws" },
    { "weapon": "DaggerCommonBelerion", "leftHand": "Torch", "armor": "LightArmorCommonBelerion", "helmet": "LightHelmetCommonBelerion" },
    { "weapon": "DaggerCommonPirates", "leftHand": "Torch", "armor": "LightArmorCommonPirates", "helmet": "LightHelmetCommonPirates" }
    { "weapon": "PolearmStart", "armor": "MediumArmorCommonGeneric", "helmet": "LightHelmetCommonOutlaws" },
    { "weapon": "PolearmCommonGuard", "armor": "MediumArmorCommonGuard", "helmet": "MediumHelmetCommonGuard" },
    { "weapon": "PolearmCommonBelerion", "armor": "MediumArmorCommonBelerion", "helmet": "MediumHelmetCommonBelerion" }
    { "weapon": "AxeStart", "leftHand": "ShieldStart", "armor": "MediumArmorCommonGeneric", "helmet": "MediumHelmetCommonDeserters" },
    { "weapon": "AxeCommonDeserters", "leftHand": "ShieldStart", "armor": "MediumArmorCommonDeserters", "helmet": "MediumHelmetCommonDeserters" },
    { "weapon": "AxeCommonTrackers", "leftHand": "ShieldStart", "armor": "MediumArmorCommonTrackers", "helmet": "MediumHelmetCommonTrackers" },
    { "weapon": "Axe2HStart", "armor": "MediumArmorCommonGeneric", "helmet": "MediumHelmetCommonDeserters" },
    { "weapon": "Axe2HCommonCompanions", "armor": "MediumArmorCommonCompanions", "helmet": "MediumHelmetCommonCompanions" },
    { "weapon": "Axe2HCommonTrackers", "armor": "MediumArmorCommonTrackers", "helmet": "MediumHelmetCommonTrackers" }
    { "weapon": "MaceStart", "leftHand": "ShieldStart", "armor": "MediumArmorCommonGeneric", "helmet": "MediumHelmetCommonDeserters" },
    { "weapon": "MaceCommonGuard", "leftHand": "ShieldCommonGuard", "armor": "MediumArmorCommonGuard", "helmet": "MediumHelmetCommonGuard" },
    { "weapon": "MaceCommonInquisition", "leftHand": "ShieldStart", "armor": "MediumArmorCommonInquisition", "helmet": "MediumHelmetCommonInquisition" },
    { "weapon": "Mace2HStart", "armor": "BaseArmorStart1", "helmet": "MediumHelmetCommonDeserters" },
    { "weapon": "Mace2HCommonDeserters", "armor": "MediumArmorCommonDeserters", "helmet": "MediumHelmetCommonDeserters" }
    { "weapon": "FistStart", "armor": "LightArmorCommonGeneric", "helmet": "LightHelmetCommonOutlaws" },
    { "weapon": "FistCommonPirates", "armor": "LightArmorCommonPirates", "helmet": "LightHelmetCommonPirates" }
    plus
    { "item": "LightHelmetUncoCraftT1", "count": 4 }ActionPoint at atart: +3/2/1/0"id": "ActionPoint",
    mod
    "props": {
    "hidden": true,
    "startQuantity": 0,
    "startQuantityDifficultyBonus": [
    { "qty": 3, "difficulty": 0 },
    { "qty": 2, "difficulty": 1 },
    { "qty": 1, "difficulty": 2 },
    { "qty": 0, "difficulty": 3 }
    ]
    },Ghosts: add skill BeltAccBeastH1, TerrifyingAppearance: 33% Terror -1 on attack (not only kill)"id": "GhostWolf",
    add
    {"skill": "BeltAccBeastH1" },
    and
    "id": "GhostBoar",
    "id": "GhostBear",
    "id": "TerrifyingAppearance",
    add vars
    "value3": 33
    add in script 
       function onDamageTaken(a) { if( a.unit != null && a.target == skill.unit ) { if( proba(vars.value3) ) { a.unit.consumeStatus(Status.Terror, vars.value1); } } }
    mod
    "script": "function onDamageDealt(a) { if( a.unit == skill.unit ) { spawnFx(); a.target.addStatus(Status.Terror, vars.value1); } }
       function onDamageTaken(a) { if( a.unit != null && a.target == skill.unit ) { if( proba(vars.value3) ) { a.unit.consumeStatus(Status.Terror, vars.value1); } } }
       function onDeath(a) { if( a.unit != null && a.target == skill.unit ) { a.unit.consumeStatus(Status.Terror, vars.value2); } }
      ",Fervor: add Movement bonus (pirates will burn alive while our units run from them and win without fighting at all)"id": "Fervor",
    add attributes
    {"kind": "Movement", "value": 1 }RecruitCostBase 20 to 40, RecruitCostIncrease 10 to 2

    ForestGuardian up: AnimalMarkedBonus onDeath aliies (not only Fury for Animal)"id": "ForestGuardian",
    "script": "function onDeath(a) { if( a.target.side == skill.unit.side && a.target != skill.unit ) { skill.unit.addStatus(Status.AnimalMarkedBonus, 1); if( skill.unit.addStatus(Status.Fury) ) { spawnFx(); } } }",


    ====
    0.15.3
    ====
  • Remedy cost to 30; EstantRemedy recipe Seaweed 2 to 3 (for 30 cost); PlagueRemedy recipe up for x2, Plagued_Injured 0.25 to 0.4 (because 20 vs 50, if ignore cost of flask);
  • Counterattack: add Riposte after 3 attacks taken;
  • Ship role without jobRequire (animal also may assign, like full-party pony =)
  • SpeedupRecruit free;
  • ArmorUncoCraftT3 = T2 (WhiteLeather = Rimesteel), add passiveSkill BeltAccPlague1 (Alazar Unco+ also protected vs Plague), BeltAccPlague1 add Willpower 4;
  • Armor T4: add Willpower 1 (like other rare);
  • Armor cost to light 76(r0)-100(r1)-136(r2)-184(r3), medium 80-104-140-188, heavy 84-108-144-192 (tier +24 +36 +48, also all armor of pirates with vanila tier1 cost, ex LightArmorRarePirates 76);
  • AIPrecisionSkillHitPercentLimit 80 to 95 (less friend fire from skilled archer).
  • Spoiler:  
    Show
    Remedy cost to 30; EstantRemedy recipe Seaweed 2 to 3 (for 30 cost); PlagueRemedy recipe up for x2, Plagued_Injured 0.25 to 0.4 (because 20 vs 50, if ignore cost of flask)
    Remedy
    "qty": 1, "item": "Flask" = 10
    "qty": 2, "item": "SnowIris" 5x2 = 10
    "qty": 2, "item": "Comfrey" 5x2 = 10
    EstantRemedy
    "qty": 1, "item": "Flask" = 10
    "qty": 2, "item": "Lavender" 5x2 = 10
    "qty": 2 to 3, "item": "Seaweed" 3x3 = 10
    PlagueRemedy
    "item": "PlagueRemedy", "produces": 2 = 120
    { "qty": 2, "item": "Remedy" }, 30x2 = 60
    { "qty": 5, "item": "MosquitoPiece" }, 4x5 = 20
    { "qty": 2, "item": "SnowWillow" }, 9x2 = 18
    { "qty": 1, "item": "InfectedBrain" } 22
    and
    "id": "Plagued_Injured",
    "remedy": 0.25 to 0.4 Counterattack: add Riposte after 3 attacks taken"id": "Counterattack",
    add vars
    "value3": 0, "value4": 3
    and
    function onDamageTaken(a) { if( a.unit != skill.unit && a.target == skill.unit ) { vars.value3++; } if( vars.value3 >= vars.value4 ) { spawnFx(); skill.unit.addStatus(Status.Riposte); vars.value3 = 0; } }
    export_en.xml
            <Counterattack>
                        <desc>1 time this unit engages during turn, they gain [Riposte]. After taking ::value4:: attacks, this unit gains [Riposte].<br/>1 time they disengage during  turn, they gain [Inspiration] for ::value1:: round.<br/><br/>Attacks taken: ::value3::/::value4::</desc>SpeedupRecruit freelearnCost
    "qty": 0, "item": "Gold"Ship role without jobRequire (animal also may assign, like full-party pony =)"id": "OarsmenChief",
    del
    "jobRequire": "Bard",

    "id": "CrewFisherman",
    del
    "jobRequire": "Fisherman",ArmorUncoCraftT3 = T2 (WhiteLeather = Rimesteel), add passiveSkill BeltAccPlague1 (Alazar Unco+ protected vs Plague), BeltAccPlague1 add Willpower 4ex recipe
    "qty": 3, "item": "IronOre" 7 for heavy
    "qty": 3, "item": "Leather" 7 for medium
    "qty": 3, "item": "Cloth" 7 for light
    "qty": 3, "item": "Rimesteel" or WhiteLeather (UncoCraftT2)
    "qty": 3, "item": "Charcoal"
    add for ArmorUncoCraftT3
    "passiveSkill": "BeltAccPlague1",
    for
    "id": "HeavyArmorUncoCraftT3",
    "id": "MediumArmorUncoCraftT3",
    "id": "LightArmorUncoCraftT3",
    and
    "id": "HeavyArmorUncoAlazar",
    "id": "HeavyArmorRareFugitiveAlazarSoldiers",
    plus
    "id": "BeltAccPlague1",
    mod
    "baseBonus": [ { "value": 4, "attribute": "Willpower" } ],Armor T4: add Willpower 1 (like other rare)add
    { "value": 1, "attribute": "Willpower" }Armor cost to light 76(r0)-100(r1)-136(r2)-184(r3), medium 80-104-140-188, heavy 84-108-144-192 (tier +24 +36 +48, unclude all armor of pirates with vanila tier1 cost, ex LightArmorRarePirates 76)

    AIPrecisionSkillHitPercentLimit 80 to 95 (less friend fire from skilled archer)

    "id": "AIPrecisionSkillHitPercentLimit", "value": 80, to 95

    ====
    0.15.2
    ====
  • Armor T1 rarity 1 to 0, cost reduce to 76-80-84 (like other not-craft), T2 add TerrorResistance
  • SpecialisedApprenticeships integreted in base Path XP (all +1), bonuses of path add early (Lv4 to 0, Lv8-12 to 4-12, exept trade with Lv1+)
  • Trade post on Belerion
  • Spoiler:  
    Show
    Armor T1 rarity 1 to 0, cost reduce to 76-80-84 (like other not-craft), T2 add TerrorResistanceEx
    "id": "HeavyArmorUncoCraftT1", "rarity": 1 to 0, "price": 132 to 84,
    recipe
    { "qty": 14, "item": "IronOre" },
    { "qty": 4, "item": "Cloth" }
    mod
    { "qty": 8, "item": "IronOre" },
    { "qty": 4, "item": "Cloth" },
    { "qty": 4, "item": "Leather" }
    "id": "HeavyArmorUncoCraftT2",
    add
    {"value": 1, "attribute": "TerrorResistance", "upValue": 1 }SpecialisedApprenticeships integreted in base Path XP (all +1), bonuses of path add early (Lv4 to 0, Lv8-12 to 4-12, exept trade with Lv1+)"id": "SpecialisedApprenticeships",
    "fixedValue": 1 to 0
    start
    "id": "Fellowship",
    "pathXP": 1 to 2
    end
    "id": "Influencer",
    "pathXP": 4, to 5
    Ex
    "id": "PathTrade",
    { "bonus": "PathTradeLvl4", "title": "" },
    { "bonus": "PathTradeLvl8", "value": 1, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 2, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 3, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 4, "title": "Détaillants honnêtes" },
    { "bonus": "PathTradeLvl8", "value": 5, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 6, "title": "Artisans reconnus" },
    { "bonus": "PathTradeLvl7", "title": "" },
    { "bonus": "PathTradeLvl8", "value": 8, "title": "Bourgeois prospères" },
    { "bonus": "PathTradeLvl8", "value": 10, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 12, "title": "Commerçants influents" },
    { "bonus": "PathTradeLvl8", "value": 16, "title": "" },
    { "bonus": "PathTradeLvl8", "value": 20, "title": "Négociants tout-puissants" }Trade post on Belerion"region": "Belerion_1",
    "buildable": false to true


    ====
    0.15.1
    ====
  • Unlocked Rouste and Tatoo at start new game (content\script\World.hx)
  • Add skill Prepare for Knockout (leaves 1 hp)
  • Some BeltAcc up (like BeltAccWillpowerBonus, Willpower 1 to 4)
  • AlazarLover: add Tiltren, EdoranLover add Belerion, HaragLover add mount Altis (like GosenbergLover with Gosenberg_1, Gosenberg_2)
  • Spoiler:  
    Show
    Unlocked Rouste and Tatoo at start new game (\content\script\World.hx)

    rousteUnlocked : true,
    tatooAuthorized : true,

    Add skill Prepare for Knockout (leaves 1 hp)

    {
    "id": "SliceI",
    "name": "Taillade",
    "desc": "Inflige [DMG] à la cible.",
    "mode": 0,
    "range": {},
    "props": {
    "dmgAttribute": 2,
    "isAttack": true
    },
    "script": "function onBeforeHit(a)
    {
    if ( a.skillKind == Skill.SliceI && a.target.health > 1 )
    {
    var maxDamage = a.target.armor + a.target.health -1;
    if (a.dmg > maxDamage) a.dmg = maxDamage;
    }
    }",
    "notes": "",
    "icon": {
    "file": "ui/Icons/BattleIcons96PX.png",
    "size": 96,
    "x": 15,
    "y": 0
    },
    "minDmg": 8,
    "maxDmg": 10,
    "iconeDone": true,
    "done": 2
    },Some BeltAcc up (like BeltAccWillpowerBonus, Willpower 1 to 4)
    Ex"id": "BeltAccWillpowerBonus",
    "value": 1 to 4,
    "attribute": "Willpower"AlazarLover: add Tiltren, EdoranLover add Belerion, HaragLover add mount Altis (like GosenbergLover with Gosenberg_1, Gosenberg_2)"id": "AlazarLover",
    add
    "regionCondition": "Alazar_Aneding",

    "id": "EdoranLover",
    add
    "regionCondition": "Belerion_1",

    "id": "HaragLover",
    add
    "regionCondition": "InterRegion_1",


    ====
    0.15
    ====
  • Less fog in the morning.
  • New manuals for adding skills that add traits. Uses Beast Master mechanic, which gives Taming trait.
  • Faction group bonus has been moved to faction units. This opens up access to learning skills like our mercenaries.
  • Added tool to camp for crafting manuals and other rarities (like BoxItems from Travel mod). Moving some recipes to other tools
  • Trait penalties = 1/5 of similar bonuses
  • Constitution from professions to x3
  • Legendary Armor from arena (with quality 10) gain Willpower +1 and passiveSkill HeavyHelmetCraftT1
  • Armor Pony up (like armor from merc + helmet)
  • Layer: common free learn, ArmorLayerRequireLevel 3-6-9 to 0-4-8, Armor x4 (LayerRareGuardNoCritical 40 to 64)
  • Bundle T1, BeltAccOilProc and SecuritySystem free learn
  • DrinkMate Knowledge 2 to 1, cost 300 to 100
  • Add quality bonus for food from Belerion
  • Willpower bonus for Banner, StrategyTable, PonyAuge
  • Quest reward (with Setting) up around 300 gold, add missed acc in G1LenaideAbbeyKillPlagueMen and etc.
  • KillBoar to medium num, add KillWolf
  • ForsakenBattleSearchIssue 20 to 25, -0.5/use to 0
  • DraughtHorse: add levelup. AllyOfDarkness: add levelup (without Fragility) - request (from steam community). Minor fix ExceedingLimits (del empty Lv3)
  • Merchant with little more endurance:  3up18 Constitution to 4 (min like PlaguedRat) up 44 (light enemy), skill DefensivePosture, oilExtrem OilSticky1
  • ImportantUnit DamageTakenPercent -50, because... Corene -_-
  • Spoiler:  
    Show
    Less fog in the morning."morningFog": 0.5, to 0.25New manuals for adding skills that add traits. Uses Beast Master mechanic, which gives Taming trait.Ex{ "id": "WeaponSwapSwordManual", "name": "", "weight": 0.3, "baseBonus": [], "props": { "special": 2, "skill": "WeaponSwapSword", "flags": 64 }, "icon": { "file": "ui/Icons_Resources.png", "size": 96, "x": 1, "y": 8 }, "type": "SkillManual", "rarity": 2, "price": 100, "desc": "Swap Sword Manual.", "iconeDone": true, "done": 2 },

    { "id": "AddTraitStrongManual", "name": "", "weight": 0.3, "baseBonus": [], "props": { "special": 2, "skill": "AddTraitStrong", "flags": 64 }, "icon": { "file": "ui/Icons_Resources.png", "size": 96, "x": 1, "y": 8 }, "type": "SkillManual", "rarity": 2, "price": 120, "desc": "", "iconeDone": true, "done": 2 },
    { "item": "AddTraitStrongManual", "tool": "Booksz", "recipe": [ { "qty": 120, "item": "Gold" } ], "props": {}, "jobLevel": 0, "learnCost": [] },
    { "id": "AddTraitStrong", "name": "", "desc": "", "mode": 2, "range": {}, "props": { "learnTrait": "Strong" }, "script": "", "notes": "", "icon": { "file": "ui/Icons/BattleIcons96PX.png", "size": 96, "x": 12, "y": 5 }, "iconeDone": true, "done": 2 },
    Skills for all classes
    "id": "Swordman",
    "weaponTypes": [
    {"wp": "Sword" },
    {"wp": "Weapon" }
    del
    "skill": "WeaponSwapSword",
    "minLevel": 10
    because add WeaponSwapSwordManual
    plus
    {"skill": "AddTraitStrong", "minLevel": 13 },
    {"skill": "AddTraitNimble", "minLevel": 13 },
    {"skill": "AddTraitRobust", "minLevel": 13 },
    {"skill": "AddTraitBloodthirsty", "minLevel": 13 },
    {"skill": "AddTraitConfident", "minLevel": 13 },
    {"skill": "AddTraitFast", "minLevel": 13 },
    {"skill": "AddTraitHardSkin", "minLevel": 13 },
    {"skill": "AddTraitBoarRaised", "minLevel": 13 },
    {"skill": "AddTraitSmart", "minLevel": 13 },
    {"skill": "AddTraitWorker", "minLevel": 13 },
    {"skill": "AddTraitVolunteer", "minLevel": 13 },
    {"skill": "AddTraitLaborious", "minLevel": 13 },
    {"skill": "AddTraitLone", "minLevel": 13 },
    {"skill": "AddTraitCooperative", "minLevel": 13 },
    {"skill": "AddTraitGosenbergLover", "minLevel": 13 },
    {"skill": "AddTraitAlazarLover", "minLevel": 13 },
    {"skill": "AddTraitEdoranLover", "minLevel": 13 },
    {"skill": "AddTraitHaragLover", "minLevel": 13 }Faction group bonus has been moved to faction units. This opens up access to learning skills like our mercenaries."id": "Outlaws",
    del
    "passiveSkills": [
    {
    "skill": "OathOfTheCowards"
    },
    {
    "skill": "DishonorableTechnics"
    }
    ]
    and plus ex
    "id": "Mobster",
    "weaponTypes": [
    {"wp": "Weapon" }
    ],
    "baseSkills": [
    {"skill": "OathOfTheCowards", "learnLevel": 4 },
    {"skill": "DishonorableTechnics", "learnLevel": 7 }

    Mod
    "id": "CivilFarmer",
    add
    {"wp": "Weapon" }
    skill
    {"skill": "CloseRanks", "learnLevel": 4 }
    armor
    "armorKind": "ArmorLight", "helmetKind": "HelmetLight"

    Civil:
    "id": "Civil",
    "leftHand": "Torch",
    "baseSkills": [
    {"skill": "CloseRanks", "learnLevel": 4 },

    {"skill": "Dash", "minLevel": 0 },
    {"skill": "Wrath", "minLevel": 0 },
    {"skill": "Taunt", "minLevel": 0 },
    {"skill": "FirstAid", "minLevel": 0 },
    {"skill": "Aim", "minLevel": 0 },
    {"skill": "DefensivePosture", "minLevel": 1 },
    {"skill": "BraveCleave", "minLevel": 1 },
    {"skill": "BraveDuel", "minLevel": 1 },
    {"skill": "BraveVictory", "minLevel": 1 },
    {"skill": "BraveBoldness", "minLevel": 1 },
    {"skill": "BraveSupport", "minLevel": 1 },
    {"skill": "Vigour", "minLevel": 3 },
    {"skill": "Bulwark", "minLevel": 5 },
    {"skill": "Counterattack", "minLevel": 5 },
    {"skill": "TeamSpirit", "minLevel": 5 },
    {"skill": "InspiringPresence", "minLevel": 5 },
    {"skill": "Opportunism", "minLevel": 5 },
    {"skill": "FirstBlood", "minLevel": 5 },
    {"skill": "Temperance", "minLevel": 8 },
    {"skill": "Preparation", "minLevel": 8 },
    {"skill": "ChangeOfPace", "minLevel": 8 },
    {"skill": "DefensiveRiposte", "minLevel": 10 },
    {"skill": "Intervention", "minLevel": 10 },
    {"skill": "LoneWolf", "minLevel": 10 },
    {"skill": "Swiftness", "minLevel": 10 },
    {"skill": "Unstoppable", "minLevel": 10 },
    {"skill": "Anticipation", "minLevel": 10 },
    {"skill": "ClassSpecialization", "minLevel": 12 },

    "armorKind": "ArmorLight", "helmetKind": "HelmetLight"Added tool to camp for crafting manuals and other rarities (like BoxItems from Travel mod).{"id": "CraftBooksz", "icon": { "file": "ui/Icons/TXT_OW_UI_ICONS_48PX.png", "size": 48, "x": 0, "y": 1 }, "iconeDone": true },

    {
    "id": "BookszAct",
    "props": { "skipActivity": true },
    "trait": "Tinkerer"
    },

    {
    "id": "Booksz",
    "weight": 0,
    "baseBonus": [],
    "props": { "activity": "BookszAct", "model": "prefabs/camp/tools_region/ruins_monolith.prefab" },
    "icon": { "file": "ui/Icons/Icons_Camp.png", "size": 96, "x": 0, "y": 8, "width": 2, "height": 2 },
    "type": "ToolProd",
    "price": 70,
    "tool":  { "width": 4, "height": 4 },
    "iconeDone": true,
    "done": 2
    },Moving some recipes to other tools"item": "ToothPaste",
    "tool": "CookingPot",

    "item": "BackAccAlchemyResources",
    "item": "AnimAccPoison",
    "tool": "Workshop",

    "item": "MarineBoard", (and other)
    "tool": "Booksz",Trait penalties = 1/5 of similar bonusesEx
    "id": "Stupid" -1
    "id": "Smart"  +5

    "name": "Glouton", "value": 2,
    "id": "Pickpocket", "value": 3,
    "id": "Worker",
    "id": "Smart",
    add
    "props": { "attributes": [ { "kind": "Willpower", "value": 2 } ],Constitution from professions to x3"id": "Cook",
    { "kind": "Constitution", "value": 6, "level": 1 },Legendary Armor from arena (with quality 10) gain Willpower +1 and passiveSkill HeavyHelmetCraftT1"id": "HeavyArmorLegendaryChampionArenaE1",
    "quality": 10

    {"value": 1, "attribute": "Willpower", "upValue": 1 }
    "passiveSkill": "HeavyHelmetCraftT1",Armor Pony up (like armor from merc + helmet)"id": "ArmorPlatePonyT
    "value": 28, "attribute": "Armor", "upValue": 280
    "value": 14, "attribute": "Guard", "upValue": 26Layer: common free learn, ArmorLayerRequireLevel 3-6-9 to 0-4-8, Armor x4 (LayerRareGuardNoCritical 40 to 64)"id": "ArmorLayerRequireLevel",
    "value": 3 to 0
    "value": 6 to 4
    "value": 9 to 8

    "id": "LayerCommonArmor", "value": 16, "attribute": "Armor"
    "id": "LayerRareGuardNoCritical",
    "value": -4, "attribute": "CritHitPercent"
    "value": 64, "attribute": "Armor"Bundle T1, BeltAccOilProc and SecuritySystem free learn"item": "BeltAccOilProcPoison", "require": [ { "item": "OilProcPoison1" } ] },
    "learnCost": [ "qty": 0, "item": "Gold"DrinkMate Knowledge 2 to 1, cost 300 to 100"id": "DrinkMate", "fixedValue": 100
    "item": "DrinkMate", "qty": 1, "item": "Knowledge"Add quality bonus for food from Belerion
    Ex"id": "SeaBream",
    "bonuses": [ { "bonus": "ReputationBonus", "value": 10 }, { "bonus": "ReputationBonus", "value": 13, "quality": 1 } ]Willpower bonus for Banner, StrategyTable, PonyAuge"id": "PonyAuge",
    "id": "StrategyTable", {"bonus": "Willpower", "value": 1 }
    "id": "Banner",
    "bonusesIfAssigned": [ { "bonus": "Happy", "value": 1 } ],
    "personalBonuses": [ { "bonus": "Willpower", "value": 1 } ]Quest reward (with Setting) up around 300 gold, add missed acc in G1LenaideAbbeyKillPlagueMen and etc.Ex
    "id": "S1RewardKillCaptainGuard", "item": "Setting", "min": 20
    "item": "Gold", "min": 250
    "item": "Influence", "min": 25
    "id": "G1LenaideAbbeyKillPlagueMen", "item": "Setting", "min": 20
    "item": "Gold", "min": 150
    "item": "BackAccSecondProfession"
    Ex others
    "id": "G1StrikeMineBoss",
    "item": "BackAccMiningGemsChance",
    "item": "Gold", "min": 150
    "item": "Influence", "min": 50
    "id": "G1CornacConvinced", "item": "AnimAccCarriage",
    { "proba": 0, "item": "AnimAccAnimalWalkSpeed", "min": 1 },
    { "proba": 0, "item": "AnimAccFriendship", "min": 1 }
    But
    "id": "A1SettingInquisitionEnd",
    "item": "Gold", "min": 500 to 400
    "item": "Influence", "min": 150 to 100KillBoar to medium num, add KillWolf"id": "KillBoar",
    "item": "Pork", "min": 3
    "item": "Fat", "min": 6
    "id": "KillWolf",
    { "proba": 3, "item": "Wolf", "min": 3, "max": 3 },
    { "proba": 1, "item": "Fat", "min": 6, "max": 6 }

    "id": "KillWolf2",
    { "proba": 3, "item": "Wolf", "min": 4, "max": 4 },
    { "proba": 1, "item": "Fat", "min": 8, "max": 8 }

    "id": "Wolf",
    {"skill": "Necrophagy", "learnLevel": 1 },
    {"skill": "FarmedBoar", "minLevel": 3 },
    "socleSize": 3,
    "killLoot": { "loot": "KillWolf", "min": 3, "max": 4 },ForsakenBattleSearchIssue 20 to 25, -0.5/use to 0"id": "ForsakenBattleSearchIssue",
    "value1": 20 to 25,
    "value2": 0.5 to 0
    "usableWhenDying": true,DraughtHorse: add levelup"id": "DraughtHorse",
    add
    "levels": [
    {
    "props": {
    "vars": {
    "value1": 50
    },
    "attributes": [
    {
    "kind": "Transport",
    "value": 50
    }
    ]
    }
    }
    ],AllyOfDarkness: add levelup (without Fragility) - request (from steam)"id": "AllyOfDarkness",
    "script": "function onBeginAction() {
    if ( skill.unit.isInLight() )
    {
    skill.unit.cancelStatus(Status.Brutality, skill);
    if ( skill.level == 1 )
    {
    if ( !skill.unit.hasStatusPersist(Status.Fragility, skill) ) { spawnFx(); } skill.unit.addStatusPersist(Status.Fragility, skill);
    }
    }
    else
    {
    skill.unit.cancelStatus(Status.Fragility, skill);
    if ( !skill.unit.hasStatusPersist(Status.Brutality, skill) ) { spawnFx(); }
    skill.unit.addStatusPersist(Status.Brutality, skill);
    }
    }",
    "notes": "",
    "icon": {
    "file": "ui/Icons/BattleIcons96PX.png",
    "size": 96,
    "x": 15,
    "y": 10
    },
    "levels": [
    {
    "props": {},
    "desc": "Tant que cette unité évolue dans l'obscurité, elle a [Brutality]."
    }
    ],Minor fix ExceedingLimits (del empty Lv3)"id": "ExceedingLimits",
    "levels": [
    del
    {
    "props": {}
    }ImportantUnit DamageTakenPercent -50, because... Corene -_-"id": "ImportantUnit",
    "attributes": [ { "kind": "DamageTakenPercent", "value": -50 } ],Merchant with little more endurance:  3up18 Constitution to 4 (min like PlaguedRat) up 44 (min like light enemy)"id": "Merchant",
    "weapon": "DaggerCommonCivilian",
    {"skill": "DefensivePosture", "learnLevel": 1 },
    "oilExtrem": "OilSticky1"
    "value": 4, "attribute": "Constitution", "upValue": 44


    ====
    0.13.8
    ====
  • One Knowledge for each Path to free [i](because max level +1 = collect all)
  • PathCrimeLvl7 BackstabDmgWanted 5 to 4 (because mod stars 6 to 9)
  • Dismantle up (exept Shield)
  • All classes = all baseSkills for Lv2, 10 (part); add class-spec perk in basic tree; Rogue start with torch
  • Wolf and Boar/Pony up stats (to next version: ghost, alpha, etc., like Bear = GhostBear, TrackerBear, etc); add skill from group for animal; captureCost Rope 1 to 2, Mosquito: HaragConcoction
  • Fix "aiOrders" for Extreme (Throwing, some etc.)
  • BestFriendAdjacent: add [DamageTakenPercent] -5%
  • Mud to 25% movement
  • Battle Animation speed to 9 (like BattleUnitPushbackSpeed, for save our time in big battles :)
  • Spoiler:  
    Show
    add T5 for ArmorCraft{ "item": "T5", "tool": "Anvil", "recipe": [ { "qty": 1, "item": "LegendaryMineral" }, { "qty": 5, "item": "GoldMineral" }, { "qty": 6, "item": "IronOre" }, { "qty": 2, "item": "Cloth" }, { "qty": 6, "item": "Charcoal" } ], "props": { "bundle": "BundleArmorT4" }, "learnCost": [], "jobLevel": 5, "group": "ForgeVarious" },One Knowledge for each Path to free (because max level +1 = collect all)"item": "NonDestroyedLayers","PathMight""item": "Negociator","PathTrade"
    "item": "AssassinApprentice","PathCrime"
    "item": "TrackersLanguage","PathMystery"Dismantle up (exept Shield)Ex
    "id": "DismantleSword",
    "item": "Wood",
    "min": 0, 1
    "max": 1 2
    "item": "IronOre",
    "min": 1, 2
    "max": 3 4All classes = all baseSkills for Lv2, 11 (part); add class-spec perk in basic tree; Rogue start with torchEx
    "id": "Swordman",
    add
    { "skill": "LoneWolf", "minLevel": 10 },
    { "skill": "Swiftness", "minLevel": 10 },
    move from "Duellist"
    { "skill": "DuellistInstinct", "minLevel": 5 },
    { "skill": "GreatOpportunist", "minLevel": 8 },
    "id": "Rogue",
    add
    "leftHand": "Torch"Wolf and Boar/Pony up stats to next version: ghost, alpha, etc (like Bear = GhostBear, TrackerBear, etc); add skill from group for animal; captureCost Rope 1 to 2, Mosquito: HaragConcoction"id": "Wolf",
    add
    { "skill": "WildPack" },
    stats
    { "value": 6 to 8, "attribute": "Strength", "upValue": 58 to 83 },
    { "value": 9 to 13, "attribute": "Constitution", "upValue": 77 to 110 },
    and
    "id": "SnowWolf",
    "id": "Boar",
    add
    { "skill": "Mistrust" },
    stats
    { "value": 4 to 6, "attribute": "Strength", "upValue": 41 to 46 },
    { "value": 11 to 15, "attribute": "Constitution", "upValue": 113 to 161 },
    { "value": 8 to 10, "attribute": "Movement" },
    Wolf and Boar
    "captureCost": "item": "Rope", "qty": 1 to 2 ("Swamoar" to 3)
    plus
    "id": "Mosquito", "captureCost": "item": "Unknown", to "item": "HaragConcoction", "qty": 1Fix "aiOrders" for Extreme (Throwing, some etc.)Ex
    "aiOrders": [
    {
    "order": 1
    },
    {
    "order": 0,
    "difficulty": 2
    }
    ],
    mod
    "aiOrders": [ { "order": 0 }, { "order": 1, "difficulty": 0 }, { "order": 1, "difficulty": 1 } ],BestFriendAdjacent: add [DamageTakenPercent] -5%"id": "BestFriendAdjacent",
    add
    { "kind": "DamageReducePercent", "value": 5 }Mud to 25% movement"id": "Mud", "value": 25PathCrimeLvl7 BackstabDmgWanted 5 to 4 (because mod stars 6 to 9)Battle Animation speed to 9 (like BattleUnitPushbackSpeed, for save our time in big battles :)"id": "BattleUnitMoveSpeed", 4.5,
    "id": "BattleUnitRunSpeed", 5.625,
    "id": "BattleUnitRotationSpeed", 5,


    ====
    0.13.5
    ====
  • All PlayerStart may have any classes (selecting classes for units, from general list, occurs last).
  • Rare and Legendary custom recipes: add GoldMineral (50% or less, 1 <- 4 RawM)
  • Lute bonusesIfAssigned +Happy (like campfire and dice; in vanila we need manually reassign bard in each rest)
  • More PeddlerItems (x3)
  • Swiftness for Bowman (dodge skill for sniper without close contact vs enemies, but with allies around)
  • AlazarPowder and AlchemicResidue may craft in any level alchemy
  • Spoiler:  
    Show
    Lute bonusesIfAssigned +Happy (like campfire and dice; in vanila we need manually reassign bard in each rest)"id": "Lute",
    add bonusesIfAssigned
    { "bonus": "Happy", "value": 1 },Rare and Legendary custom recipes: add GoldMineral (50% or less, 1 <- 4 RawM)
    Ex
    { "item": "BowLegendaryArenaH1", "tool": "Anvil", "recipe": [ { "qty": 6, "item": "GoldMineral" }, { "qty": 28, "item": "RawMaterials" } ], "props": { "requiresBonus": "UnlockLectern", "bundle": "BundleBowDaggerPolearmT4", "hideIfUnknown": true }, "jobLevel": 5, "learnCost": [], "itemCost": [] },AlazarPowder and AlchemicResidue may craft in any level alchemy
    add
    { "id": "AlchemyBonusLoot", "content": [
    { "proba": 20, "item": "AlazarPowder" },
    { "proba": 15, "item": "AlchemicResidue" },
    { "proba": 5, "item": "Flask" },
    { "proba": 60 }
    ]
    },
    and
    "props": { "produceBonus": "AlchemyBonusLoot" },
    plus
    "id": "AlchimistConfirme", "fixedValue": 20 to 5
    "id": "AlchimistCompanion", "fixedValue": 20 to 4
    recipe
    { "item": "AlazarPowder", "tool": "ApothecaryTable", "recipe": [ { "qty": 7, "item": "Influence" } ], "props": { "produceBonus": "EmptyBonusLoot" }, "jobLevel": 2, "learnCost": [], "itemCost": [] },
    { "item": "AlchemicResidue", "tool": "ApothecaryTable", "recipe": [ { "qty": 8, "item": "Influence" } ], "props": { "produceBonus": "EmptyBonusLoot" }, "jobLevel": 3, "learnCost": [], "itemCost": [] },More PeddlerItems (x3)
    "id": "PeddlerItems",
    Ex
    "item": "Wood", "min": 3 to 10, "max": 3 to 10etc.
    Swiftness for Bowman (dodge skill for sniper without close contact vs enemies, but with allies around)
    "id": "Bowman",
    add
    { "skill": "Swiftness", "minLevel": 10 },All PlayerStart may have any classes (selecting classes for units, from general list, occurs last).
    Ex
    {
    "types": [
    { "slot": 0, "unitClass": "Swordman" },
    { "slot": 1, "unitClass": "Axeman" },
    { "slot": 2, "unitClass": "Brute" },
    { "slot": 3, "unitClass": "Pugilist" },
    { "slot": 4, "unitClass": "Rogue" },
    { "slot": 5, "unitClass": "Spearman" },
    { "slot": 6, "unitClass": "Bowman" }
    ],
    "id": "PlayerStartAdventurer"
    },
    etc.(maybe) BoatBattle_Duel_PlayerHP for difficulty 0: 4 to 5 hp
    "id": "BoatBattle_Duel_PlayerHP", "difficulty": 0, "value": 4 to 5



    ====
    0.13.5 OverPower (OP)
    ====
    Spoiler:  
    Show

    "id": "Gold", "startQuantity": 400000,
    "id": "Influence", "startQuantity": 200000,
    "id": "Knowledge", "startQuantity": 400,
    "id": "RecruitRegenDays", 0
    "id": "RandomTrait2Positive", "value": 0.25 to 1
    "id": "RandomTrait1Positive", "value": 0.75 to 0

    "id": "MissionGenerationDayMin", "value": 0
    "id": "MissionGenerationDayMax", "value": 0
    { "id": "PathXpNext", "value": 1 },
    "id": "PlayerBaseSpeed", "value": 12,
    "id": "PlayerRunSpeed", "value": 25
    "id": "RunStaminaHours", "value": 10
    "id": "TirednessAmountHours", "value": 240
    "id": "PlayerTiredSpeedFactor", "value": 0.1

    Path Knowledge: add new manual (like manual for Knowledge).
    Note: use once for balance, because 12 (max) Lv = 11 point vs 12 perks.
    Ex add
    { "id": "ManualPathMightKnowledge", "name": "Manuel de PathMightKnowledge", "weight": 0.3, "baseBonus": [], "props": { "converts": { "action": "DlgRead", "item": "PathMightKnowledge" } }, "type": "Consumable", "icon": { "file": "ui/Icons_Resources.png", "size": 96, "x": 2, "y": 10 }, "rarity": 3, "price": 200, "desc": "PathMightKnowledge", "iconeDone": true, "done": 2 },
    add
    { "item": "ManualPathMightKnowledge", "tool": "Workshop", "recipe": [ { "qty": 200, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    and
    { "id": "ManualPathTradeKnowledge",
    { "id": "ManualPathCrimeKnowledge",
    { "id": "ManualPathMysteryKnowledge",
    Craftable Legendary and Unique items
    Ex
    { "item": "SwordLegendaryRuin", "tool": "Anvil", "recipe": [ { "qty": 4, "item": "GoldMineral" }, { "qty": 20, "item": "RawMaterials" } ], "props": { "requiresBonus": "UnlockLectern", "bundle": "BundleOneHandedSwordAxeMaceT4", "hideIfUnknown": true }, "jobLevel": 5, "learnCost": [], "itemCost": [] },
    { "item": "SwordLegendaryEvoland",

    "tool": "Anvil", "recipe": [ { "qty": 4, "item": "GoldMineral" }, { "qty": 20, "item": "RawMaterials" } ], "props": { "requiresBonus": "UnlockLectern", "bundle": "BundleOneHandedSwordAxeMaceT4", "hideIfUnknown": true }, "jobLevel": 5, "learnCost": [], "itemCost": [] },
    { "item": "SwordLegendaryChampion11",
    { "item": "SwordLegendarySealord",
    { "item": "SwordLegendaryArena1G2",
    { "item": "Sword2HLegendaryArena1G2",
    { "item": "AxeLegendaryHarag",
    { "item": "AxeLegendaryRuins",
    { "item": "AxeLegendaryArena2G2",
    { "item": "Splitter",
    { "item": "Axe2HLegendaryRuin8",
    { "item": "MaceLegendaryRuin",
    { "item": "MaceLegendaryArena1E1",
    { "item": "Lucilla",
    { "item": "Mace2HInsect",
    { "item": "Mace2HLegendaryArenaIR1",
    { "item": "Viper",
    { "item": "DaggerLegendaryRuinG2",
    { "item": "DaggerCrook",
    { "item": "DaggerLegendaryArenaIR1",
    { "item": "FistLegendaryRuinB1",
    { "item": "FistLegendaryArenaB1",
    { "item": "PolearmLegendaryRuinH1",
    { "item": "PolearmLegendaryGrinmeer",
    { "item": "PolearmLegendaryPathKnowledge",
    { "item": "PolearmLegendaryBelerion",
    { "item": "BowLegendaryEliteWorld",
    { "item": "BowLegendaryRuinH1",
    { "item": "BowLegendaryArenaH1",
    { "item": "ThrowingAxeLegendary01",
    { "item": "ThrowingAxeLegendary02",
    { "item": "ThrowingLegendaryArenaA1",
    { "item": "ShieldLegendaryArenaE1",
    { "item": "BeltAccBeastH1",
    { "item": "BackAccSecondProfession",
    { "item": "BackAccFishingCalamity",
    { "item": "BeltAccNarsesNet",
    { "item": "BeltAccHorounBox",
    { "item": "BeltAccLegendaryFighterbuckle",
    { "item": "BeltAccLegendaryArenaTrophy",
    { "item": "BeltAccSeaSerpent",
    { "item": "BeltAccDaganSong",
    { "item": "BeltAccAtlessHorn",
    { "item": "BeltAccEnlilKey",
    { "item": "BackAccErkeshetTool",
    { "item": "BackAccNeptiAbacus",
    { "item": "BackAccBehediteCompass",
    plus
    { "item": "CoarseKey", "tool": "ApothecaryTable", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": { "requiresBonus": "UnlockLectern", "produceBonus": "EmptyBonusLoot", "hideIfUnknown": true }, "jobLevel": 4, "learnCost": [], "itemCost": [] },
    { "item": "WroughtKey", "tool": "ApothecaryTable", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": { "requiresBonus": "UnlockLectern", "produceBonus": "EmptyBonusLoot", "hideIfUnknown": true }, "jobLevel": 4, "learnCost": [], "itemCost": [] },
    { "item": "GoldenKey", "tool": "ApothecaryTable", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": { "requiresBonus": "UnlockLectern", "produceBonus": "EmptyBonusLoot", "hideIfUnknown": true }, "jobLevel": 4, "learnCost": [], "itemCost": [] },
    plus
    { "item": "GhostPackChain", "tool": "ApothecaryTable", "recipe": [ { "qty": 1, "item": "Chains" }, { "qty": 1, "item": "AlazarPowder" }, { "qty": 1, "item": "SpectralAnimalCorpse" } ], "props": { "requiresBonus": "UnlockLectern", "produceBonus": "EmptyBonusLoot", "hideIfUnknown": true }, "jobLevel": 3, "learnCost": [], "itemCost": [] },


    ====
    v0.13.1
    ====
  • Leader valueEasy/valueHard 30 to 25/35
  • Dash as start skill for other classes, Wrath for Bowman
  • Strong, Nimble, all professions: add same Strength+Dexterity bonus
  • Stake: 3 inf, -2 happy to 6/1 (like firecamp)
  • Surprised add DamageBonusPercent -10%
  • Spoiler:  
    Show
    Leader valueEasy/valueHard 30 to 25/35"id": "Leader",
    "valueEasy": 30, to 25
    "valueHard": 30 to 35
    "id": "LeaderSoul",
    "unlockChances": 1, to 100 (like Glorious)
    "unlockThreshold": 5, to 1Dash as start skill for other classes, Wrath for Bowman
    { "skill": "Dash", "minLevel": 0 },
    "id": "Swordman",
    "id": "Axeman",
    "id": "Brute",
    "id": "Pugilist",
    and
    { "skill": "Wrath", "minLevel": 0 },
    "id": "Bowman",Strong and Nimble, all professions: add same Strength+Dexterity bonus
    "id": "Strong", "kind": "Strength", "value": 5, "isPercentage": true (add same Dexterity)
    add
    "id": "Nimble", "kind": "Dexterity", "value": 5, "isPercentage": true (add same Strength)
    plus
    "id": "Miner", { "kind": "Strength", "value": 5, "level": 5 },
    add
    { "kind": "Dexterity", "value": 5, "level": 5 }Stake: 3 inf, -2 happy to 6/1 (like firecamp)"id": "Stake_RestCount_Corpse", "value": 3 to 6,
    "id": "Stake_Smelly_Odour", "value": 2 to 1,Surprised add DamageBonusPercent -10%"id": "Surprised", "kind": "DamageTakenPercent", "value": 10
    add,
    { "kind": "DamageBonusPercent", "value": -10 }


    ====
    v0.13
    ====
  • Temp weapon on battle: dmgAttribute 0/1 to 2 (universal), Throw skills too (like Sickle)
  • BoarRaised +3 Constitution, del condition, add to Boars (for logic :)
  • DraughtHorse add skills Lv8+, some perk for Pony available earlier
  • Anvil and ApothecaryTable in camp (thanks to Serrosius, mod "Wartales Retaled" - https://www.nexusmods.com/wartales/mods/42 ). If you want to continue game without mod - destroy these items (Anvil and ApothecaryTable).
  • Recipe for Manuals
  • HumanResources and BundleThrowingLeftHandSpecialT1 free (like BundleThrowingLeftHandT1), Special T2+ not require prev spec bundle, alchemic throw
  • Small rebalance start bonus and malus
  • Tavern rest: AP 3 to 6
  • sellPriceFactor to default (0.5), exept tradegoods (0.7 vanila)
  • Steal with less base Wanted (15-30 to 1-2)
  • Chest effect 10 to 30 (like MoneyLaunderingBase)
    AlchemyCraftBonus add Flask (basic Alchemy res without recipe or any ways for collect exept buy - its strange)
  • Animal may use horse armor (mosquito in heavy horse armor... hm...)
  • Wolf is GoodCompanion (like boar, because dog - friend of human :)
  • CounterArrows 90% to 80% (like max guard)
  • Skill from manual usableWhenDying
  • Food from Belerion: add ReputationBonus (5, 16); ShrimpCurry +SeaSuspicionBonus (from BelerionFeast), BelerionFeast2 +happy (because Rhum)
  • Unblock all Sonqs with new SheetMusic (like SongPirates)
  • (maybe) PonyAugeTransportTrait +DraughtBoar (Boars), Tamed (Bears)
  • Runes and codexs in produceBonus - only 1 recipes, instead separate each position, like lootbox :)
  • Spoiler:  
    Show
    Temp weapon on battle: dmgAttribute 0/1 to 2 (universal), Throw skills too (like Sickle)
    "id": "Pumpkin",
    "id": "SpearWeapon",
    "dmgAttribute": 0, (2)
    "id": "RustyAxe",
    "dmgAttribute": 1, (2)
    start
    "id": "AxeThrow",
    end
    "id": "ThrowingKnifeT4",BoarRaised +3 Constitution, del condition, add to Boars (for logic :)
    del
    "condition": 12,
    add 3 constitution
    "kind": "Constitution", "value": 3
    plus props
    "trait": "BoarRaised",
    for
    "id": "Boar",
    "id": "GhostBoar",
    "id": "DominantSow",
    "id": "Swamoar",
    "id": "KaghalBoar",
    Boar skills:
    "skill": "GoodCompanion", "minLevel": 5 to 1
    "skill": "TruffleBoar", "minLevel": 8 to 2, 
    "id": "TruffleBoar", "cooldownDays": 1.5 to 0.5DraughtHorse add skills Lv8+, some perk for Pony available earlier
    "id": "Pony",
    "id": "ArmorPlatePonyT4", "price": 175 to 200, "rarity": 1 to 2,
    add common pony armor
    "equipment": [ { "armor": "ArmorPlatePonyT1" },
    copy "id": "ArmorPlatePonyT1" from "ArmorPlatePonyT2", but "price": 50, "rarity": 0,
    "item": "ArmorPlatePonyT1", copy too, without WhiteLeather
    add,
    { "value": 1, "attribute": "Movement" }
    for pony armor, exept ghost: add "value": 1, "attribute": "TerrorResistance" (from acc)
    "baseSkills": [
    add
    { "skill": "Dash", "minLevel": 0 },
    { "skill": "DraughtBoar", "minLevel": 8, "requires": "DraughtHorse" },
    { "skill": "Tamed", "minLevel": 10, "requires": "DraughtHorse" },
    change
    "skill": "DraughtHorse" / "WarHorse", "minLevel": 3 to 1
    "skill": "PlainsRunner" / "Vigour", "minLevel": 3, "requires": "DraughtHorse" / "WarHorse"
    "skill": "Tireless" / "KingOfGallop", "minLevel": 5, "requires": "DraughtHorse" / "WarHorse"
    "skill": "Racking", "PonyCharge", "minLevel": 8, "requires": "WarHorse"
    "skill": "Adventurer", "Rampart", "minLevel": 10, "requires": "WarHorse"
    "skill": "Traveler", "minLevel": 12
    "stats": [
    "value": 50, "attribute": "Transport", add "upValue": 100Negative effects halfed (with "personality": 1, "isRemovable": true)
    Search:
    "personality": 1, "isRemovable": true
    Ex:
    "id": "Stupid", 5 to 3
    "id": "Coward", "low": 36 to 15 (like our victory with 85+ morale)
    Confident Willpower 2 to 3, +CritHitDamageBonusPercent 5
    "id": "Confident", "kind": "Willpower", 2 (3)
    add
    { "kind": "CritHitDamageBonusPercent", "value": 5 }
    and
    "id": "Depressive", -2 to -3 (but lower duration in chances)Anvil and ApothecaryTable in camp (thanks to Serrosius, mod "Wartales Retaled" - https://www.nexusmods.com/wartales/mods/42 )
    "id": "Anvil",
    add props
    "model": "content/elements/Dioramas/Activities/Anvil.prefab"
    add
    "tool": { "height": 2, "width": 2 } (for camp)
    "price": 70, (for destroy and continue save without mod)
    and
    "id": "ApothecaryTable", "model": "content/elements/Dioramas/Activities/ApothecaryTable.prefab"
    recipe add
    { "item": "Anvil", "tool": "Workshop", "recipe": [ { "qty": 8, "item": "IronOre" }, { "qty": 4, "item": "Charcoal" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "ApothecaryTable", "tool": "Workshop", "recipe": [ { "qty": 8, "item": "IronOre" }, { "qty": 4, "item": "Wood" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },Note: if you want to continue game without mod - destroy these items (Anvil and ApothecaryTable).

    Recipe for Manuals
    { "item": "SkillMastery", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "FirstAidManual", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "DashManual", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "TauntManual", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "WrathManual", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    { "item": "AimManual", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },HumanResources and BundleThrowingLeftHandSpecialT1 free (like BundleThrowingLeftHandT1), Special T2+ not require prev spec bundle, alchemic throw assign to BundleThrowing (learn recipe 0 gold)
    "item": "BundleThrowingLeftHandSpecialT1",
    del require
    "item": "BundleThrowingLeftHandT1"
    T2+ del
    "item": "BundleThrowingLeftHandSpecialT1 (2, 3)
    "bundle": "BundleThrowingLeftHandSpecialT2" (T3, T4)
    learnCost
    "qty": 0, "item": "Gold" (and "item": "HumanResources")
    mod
    "learnCost": [ "qty": 0, "item": "Gold" ],Start Bandit with Pugilist (instead 2 Rogue)
    "id": "PlayerStartBandit"
    "slot": 2, "unitClass": "Rogue" to "Pugilist"start bonus
    "id": "SBonus1", "bonus": "Tiredness", "value": 10,
    add
    "bonus": "RunStamina", "value": 5,
    "id": "SBonus2", "bonus": "ExperienceFightBonus", 10; "bonus": "InfluenceGainFight", 10
    InfluenceGainFight 10 to 5
    add
    "bonus": "GoldGainFight", 5
    "bonus": "MoreLoot", 2
    "id": "SBonus3", "bonus": "Constitution", 10
    add
    "bonus": "LessInjuries", "value": 5,
    "id": "SBonus4", "bonus": "CritDmg", "value": 10,
    add
    "bonus": "Critical", "value": 1,
    "id": "SBonus5", "bonus": "ProfessionExperienceBonus", 20
    add
    { "bonus": "KnowledgeExperienceBonus", "value": 10, "title": "" },
    { "bonus": "RestAttackChance", "value": -5, "title": "" }
    "id": "SBonus6", "bonus": "SuspicionStealReduction", "value": 15,
    add
    "bonus": "StolenItemsPriceBonus", 5,
    "id": "SBonus7", "bonus": "CompanionsRecruitCostReduction", 10
    add
    "bonus": "PrisonnersRecruitCostReduction", "value": 10,
    "bonus": "UnitSalaryReduction", "value": 10,
    "id": "SBonus8",
    mod
    "bonus": "Happy", 1
    "bonus": "RestForest", 2 (base)
    "bonus": "GatherBonus", 5start Malus
    "id": "SMalus1",
    "bonus": "TransportUnitMalus", "value": 3,
    "id": "SMalus4",
    "bonus": "RestAttackChance", 10 to 5
    "id": "SMalus8",
    "bonus": "KnowledgeExperienceMalus", 5 to 2
    "id": "SMalus9",
    "bonus": "SearchedEarlier", 5 to 3Tavern rest: AP 3 to 6
    "id": "BonusApOnDialogRest", "value": 3 to 6sellPriceFactor to default (0.5) for:
    "id": "Gear", "sellPriceFactor": 0.4,
    "id": "Component", "sellPriceFactor": 0.3,
    "id": "Tool","sellPriceFactor": 0.3,
    "id": "ToolProd", "sellPriceFactor": 0.3,
    but
    "id": "TradeGoods", "sellPriceFactor": 0.7 (not changed)Steal with less base Wanted (15-30 to 1-2)
    "id": "StealBaseWanted",
    "value": 15 (1)
    "value": 30 (2)
    "info": "item base wanted value (random)"
    Example (basic thief):
    1) salt - sell 1, steal 36-66 (vanila); mod - 2, 18-36
    2) fish - sell 3, steal 42-78 (vanila); mod - 3, 24-42
    3) heavy pony armor with 3 stars and layers - sell 92, steal 144-282 (vanila); mod - 130, 132-264Chest effect 10 to 30 (like MoneyLaunderingBase)
    "id": "Chest", "value": 10, (30)AlchemyCraftBonus add Flask (basic Alchemy res without recipe or any ways for collect exept buy - its strange)
    "id": "AlchemyCraftBonusLootConfirme", AlazarPowder proba 1 to 10
    add,
    { "proba": 1, "item": "Flask", "min": 1, "max": 1 }
    "id": "AlchemyCraftBonusLootCompanion", AlchemicResidue proba 1 to 8
    add,
    { "proba": 1, "item": "Flask", "min": 1, "max": 1 }Animal may use horse armor
    add props for each
    "armorKind": "HorseArmor",
    plus
    "id": "AnimAccObey",
    add props (like WarHorse skill)
    "bonuses": [ { "bonus": "CanEquipArmor", "value": 0 } ],Wolf is GoodCompanion (like boar, because dog - friend of human :)
    add
    { "skill": "GoodCompanion", "minLevel": 1 },CounterArrows 90% to 80% (like max guard)
    "id": "CounterArrows", "value1": 90 to 80Skill from manual usableWhenDying
    add props,
    "usableWhenDying": true
    for
    "id": "FirstAid", (logical)
    "id": "Dash", (run for save your live)
    plus
    "id": "Punch", (last hope if not escape)Food from Belerion: add ReputationBonus (5, 16); ShrimpCurry +SeaSuspicionBonus (from BelerionFeast), BelerionFeast2 +happy (because Rhum)
    "id": "Olives", "price": 3, "weight": 0.5 to 0.2,
    add props,
    "bonuses": [ { "bonus": "ReputationBonus", "value": 5 } ]
    other
    "id": "SeaBream", "price": 6, ReputationBonus 10
    "id": "SimpleTuna", "price": 10, ReputationBonus 16
    plus
    "id": "ShrimpCurry", SuboptimalSpeedBonus 2
    add,
    {
    "bonus": "SeaSuspicionBonus",
    "title": "",
    "value": 20
    }
    plus
    "id": "BelerionFeast2",
    add,
    {
    "bonus": "Happy",
    "value": 1,
    "quality": 1,
    "title": ""
    }Unblock all Sonqs with new SheetMusic (like SongPirates)
    Ex:
    { "id": "SongJeanBon", "name": "Partition JeanBon", "weight": 0.3, "baseBonus": [], "props": { "disableLoot": true, "song": "JeanBon" }, "done": 0, "iconeDone": true, "icon": { "file": "ui/Icons/Icons_Resources_02.png", "size": 96, "x": 12, "y": 14 }, "type": "SheetMusic", "price": 100, "rarity": 2, "desc": "Une partition qui permet d'apprendre <i>JeanBon</i> au luth." },
    other
    { "id": "SongNakedPeople",
    { "id": "SongNek",
    recipe
    { "item": "SongJeanBon", "tool": "Workshop", "recipe": [ { "qty": 100, "item": "Influence" } ], "props": {}, "jobLevel": 0, "learnCost": [], "itemCost": [] },(maybe) PonyAugeTransportTrait +DraughtBoar (Boars), Tamed (Bears)
    "id": "PonyAugeTransportTrait",
    "unitCondition": {
    "skills": [
    {
    "skill": "DraughtHorse"
    },
    {
    "skill": "Adventurer"
    }
    ]
    }
    add,
    { "skill": "DraughtBoar" },
    { "skill": "Tamed" }Runes and codexs in produceBonus - only 1 recipes, instead separate each position, like lootbox :)
    { "item": "Antiquity16", "tool": "ApothecaryTable", "recipe": [ { "qty": 250, "item": "Influence" } ], "props": { "requiresBonus": "UnlockLectern", "produceBonus": "CodexBonusLoot" }, "jobLevel": 0, "learnCost": [], "itemCost": [] },
    and
    { "id": "CodexBonusLoot",
    "content": [
    { "proba": 1, "item": "RuneWar", "min": 1 },
    { "proba": 1, "item": "RuneCity", "min": 1 },
    { "proba": 1, "item": "RuneBuilding", "min": 1 },
    { "proba": 1, "item": "RuneKnowledge", "min": 1 },
    { "proba": 1, "item": "RuneRiver", "min": 1 },
    { "proba": 1, "item": "RuneMountain", "min": 1 },
    { "proba": 1, "item": "RuneForest", "min": 1 },
    { "proba": 1, "item": "RuneLake", "min": 1 },
    { "proba": 1, "item": "RuneCelebration", "min": 1 },
    { "proba": 1, "item": "RuneTravel", "min": 1 },
    { "proba": 1, "item": "RuneDeath", "min": 1 },
    { "proba": 1, "item": "RuneDestruction", "min": 1 },
    { "proba": 1, "item": "RuneMystery", "min": 1 },
    { "proba": 1, "item": "RuneBad", "min": 1 },
    { "proba": 1, "item": "RuneShore", "min": 1 },
    { "proba": 1, "item": "RunePeople", "min": 1 },
    { "proba": 1, "item": "RuneSea", "min": 1 },
    { "proba": 1, "item": "RuneWealth", "min": 1 },
    { "proba": 1, "item": "RuneLeader", "min": 1 },
    { "proba": 1, "item": "RuneSnake", "min": 1 },
    { "proba": 1, "item": "RuneBoat", "min": 1 },
    { "proba": 1, "item": "BuilderCodex1", "min": 1 },
    { "proba": 1, "item": "BuilderCodex2", "min": 1 },
    { "proba": 1, "item": "BuilderCodex3", "min": 1 },
    { "proba": 1, "item": "FightersCodex1", "min": 1 },
    { "proba": 1, "item": "FightersCodex2", "min": 1 },
    { "proba": 1, "item": "FightersCodex3", "min": 1 },
    { "proba": 1, "item": "ArtistCodex1", "min": 1 },
    { "proba": 1, "item": "ArtistCodex2", "min": 1 },
    { "proba": 1, "item": "ArtistCodex3", "min": 1 },
    { "proba": 1, "item": "ExploratorCodex1", "min": 1 },
    { "proba": 1, "item": "ExploratorCodex2", "min": 1 },
    { "proba": 1, "item": "ExploratorCodex3", "min": 1 },
    { "proba": 1, "item": "GeneralCodex1", "min": 1 },
    { "proba": 1, "item": "GeneralCodex2", "min": 1 },
    { "proba": 1, "item": "GeneralCodex3", "min": 1 },
    { "proba": 1, "item": "MerchantCodex1", "min": 1 },
    { "proba": 1, "item": "MerchantCodex2", "min": 1 },
    { "proba": 1, "item": "MerchantCodex3", "min": 1 },
    { "proba": 1, "item": "AdmiralCodex1", "min": 1 },
    { "proba": 1, "item": "AdmiralCodex2", "min": 1 },
    { "proba": 1, "item": "AdmiralCodex3", "min": 1 }
    ]
    },
    maybe
    "id": "Antiquity16", "type": "Miscellaneous", to BigAntiquity (like other)Not Allergic AfterSting (example)
    "id": "AfterSting",
    mod
    "props": {
    "trait": "Allergic"
    },
    to
    "props": {},



    ====
    OLD: https://docs.google.com/document/d/1I9JbQzOTRIju9hdRQ8tlraeTpCeb4ar89z5zK9IMFII
    ====