-
-
Notifications
You must be signed in to change notification settings - Fork 250
Mod Values
To use ASB with mods, you can select them in a list in the mod manager (Menu Settings
- Mod value manager…
).
For mods that are not listed there, you can create the needed file manually. This page describes how to do that.
The files use the json-format, there are editors that can help with the creation.
First you need a manifest file, this is like an index with a list of all custom mod files. The file needs to be in the folder json/values
-folder of ASB (to open the json folder goto the menu Settings
-Open json data folder…
) and the files's name needs to be _manifestCustom.json
.
See this example for the needed format of the manifest file:
{
"format": "1.14-flyerspeed",
"files": {
"myCustomValuesFile.json": {
"version": "1",
"format": "1.14-flyerspeed",
"mod": { "id": "my custom mod id", "tag": "myModTag", "title": "This is my custom Mod value file" }
},
"myOtherCustomValuesFile.json": {
"version": "1.2.3",
"format": "1.14-flyerspeed",
"mod": { "id": "customModId2", "tag": "MyCustomMod", "title": "Second Mod by me" }
}
}
}
This file contains the actual info about the species in the mod. It needs to be named like stated in the manifest file. The id has to be unique and equal to the id stated in the manifest file.
See this example for a modfile:
{
"version": "1",
"format": "1.14-flyerspeed",
"mod": {
"id": "my custom mod id",
"tag": "myModTag",
"title": "This is my custom Mod value file"
},
"species": [
{
"name": "RexKing",
"blueprintPath": "/Game/Mods/myModTag/RexKing/RexKing_Character_BP_Modded.RexKing_Character_BP_Modded",
"fullStatsRaw": [
[ 1000, 0.2, 0.27, 0.5, 0 ],
[ 800, 0.1, 0.1, 0, 0 ],
[ 400, 0.06, 0, 0.5, 0 ],
[ 150, 0.1, 0.1, 0, 0 ],
[ 3500, 0.1, 0.1, 0, 0 ],
null,
null,
[ 400, 0.02, 0.04, 0, 0 ],
[ 1, 0.05, 0.1, 0.5, 0.4 ],
[ 1, 0, 0, 0, 0 ],
null,
null
],
"immobilizedBy": [],
"breeding": {
"gestationTime": 0,
"incubationTime": 20000,
"eggTempMin": 37,
"eggTempMax": 40,
"maturationTime": 500000,
"matingCooldownMin": 70000,
"matingCooldownMax": 200000
},
"colors": [
{
"name": "Body Main",
"colors": [
"Dino Dark Orange",
"Dino Dark Red",
]
},
{
"name": "Back",
"colors": [
"BigFoot5",
"Black",
]
},
null,
null,
null,
null
],
"taming": {
"nonViolent": true,
"violent": false,
"tamingIneffectiveness": 2.5,
"affinityNeeded0": 9000,
"affinityIncreasePL": 300,
"wakeAffinityMult": 1.5,
"wakeFoodDeplMult": 2,
"foodConsumptionBase": 0.003,
"foodConsumptionMult": 200.057
},
"TamedBaseHealthMultiplier": 1,
"NoImprintingForSpeed": false,
"doesNotUseOxygen": false,
"displayedStats": 927
}
]
}
- To get the correct blueprint path, export the creature values in game (look at creature, hold E, Options, Export Data), then open the export file in the export folder. The blueprint path is the value of the key
DinoClass
. Sometimes there is a_C
at the end, which is not part of the used blueprint path in ASB, so just ommit that. - The order for the stats are Health, Stamina, Torpidity, Oxygen, Food, Water, Temperature, Weight, MeleeDamageMultiplier, SpeedMultiplier, TemperatureFortitude, CraftingSpeedMultiplier. Stats that are not used can be set to
null
. - The order of the stat-values is
Base, wildLevel, tamedLevel, tamingAdd, tamingAffinity
. - The value of
displayedStats
is a bit flag for the stats the are displayed. Usually it's927
which equals1110011111
, i.e. the first 5 stats are displayed (i.e. HP to Food), the next two stats are hidden (i.e. Water and Temperature), and the next three stats are displayed again (i.e. Weight, Damage and Speed). Note that in the binary representation you "read" from right to left to get the stat indices which are displayed. If you're unsure how that works, just use927
and it should be fine.
In the example, the new species "RexKing" has a base-value of HP of 1000, which is increased by 20% (=0.2) each wild-level, increased by 27% each tamed level and it gets an additive taming bonus of 0.5.
Keep in mind, these values are all again affected by the global stat-multipliers, e.g. with a TameAdd-global-multiplier of 0.14, the additive taming bonus of 0.5 becomes 0.07 ingame.
The easiest way is to ask the creator of the mod if they can post the data. If you have access to the devkit-files, the data is usually in the files DinoCharacterStatusComponent_BP_[Creature]
where [Creature]
is specifying the species (it's not always called exactly like in the game). Some numbers for taming (e.g. needed affinity) are located usually in a file called [Creature]_Character_BP
.
If you don't get the values from the mod-dev or the dev-kit, you can find them ingame. This needs some time and calculations.
- Start a singleplayer game with the mod enabled, with the option
Singleplayer
disabled, and all the stat-multipliers set to 1. - Repeat for all species:
- spawn in a level 1 creature, knock it out and note the
base
-values of all stats (e.g. 200) - spawn in some level 10 creature, knock them out and find the smallest increase in each stat. Divide this number by the base-number, this is the
wildLevel
-value (e.g. smallest larger than base-value is 210, so increase is 10, sowildLevel
is 10/200 = 0.05) - forcetame a creature (console-command
playersonly
to freeze,forcetame
while looking at the creature), add xp (mount the creature, add xp withaddexperience 10000 0 1
) note each stat-value, level up each stat exactly once, note each stat-value again, divide first value by last to gettamedLevel
-value (e.g. stat-value is 300, after applying one level it increases to 330, sotamedLevel
is (330 - 300)/300 = 0.1) - take an untamed creature, note all stat-values (after knocking it out), hit it until the taming-effectiveness (TE) gets very low (e.g. < 5 %), then tame it (command
dotame
while looking at it, do not use forcetame, this will give it 100 % TE), compare the stat-values to the pre-tame ones and note each difference which is thetamingAdd
-value. This needs some approximation in some cases since you cannot get the TE to exactly 0 % and the remaining TE can add some amount of value if the stat of this species has a TameAffinity value != 0. - take an untamed creature, note all stat-values as V1 (after knocking it out), forcetame it and note the stat-values again as V2. The
tamingAffinity
-value now equals(V2 / (V1 + tamingAdd)) - 1
.
- spawn in a level 1 creature, knock it out and note the
Some vanilla species have an additional multiplier for the health once tamed, this makes things more complicated, but probably few mods use this extra multiplier. See the complete stat-calculation formulas for more infos.