Skip to content
cadon edited this page Jan 14, 2022 · 13 revisions

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.

Create the additional-values file

The files use the json-format, there are editors that can help with the creation.

Manifest file

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.12",
	"files": {
		"myCustomValuesFile.json": {
			"version": "1",
			"mod": { "id": "my custom mod id", "tag": "myModTag", "title": "This is my custom Mod value file" }
		},
		"myOtherCustomValuesFile.json": {
			"version": "1.2.3",
			"mod": { "id": "customModId2", "tag": "MyCustomMod", "title": "Second Mod by me" }
		}
	}
}

Mod value file

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.12",
	"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's 927 which equals 1110011111, 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 use 927 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.

Where to find the needed values

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.

How to find the values ingame

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, so wildLevel 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 with addexperience 10000 0 1) note each stat-value, level up each stat exactly once, note each stat-value again, divide first value by last to get tamedLevel-value (e.g. stat-value is 300, after applying one level it increases to 330, so tamedLevel 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 the tamingAdd-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.

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.

Clone this wiki locally