Difference between revisions of "Bonus Format"

From VCMI Project Wiki
Jump to: navigation, search
(Full format)
m (Short format)
Line 3: Line 3:
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
{
 
{
["BONUS_TYPE", val, subtype, additionalInfo]
+
["BONUS_TYPE", val, subtype, addInfo]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
===Full format===
 
===Full format===
 
All parameters but type are optional.
 
All parameters but type are optional.

Revision as of 08:00, 28 March 2021

Enumerative parameters are described in HeroBonus.h file.

Short format

{
["BONUS_TYPE", val, subtype, addInfo]
}

Full format

All parameters but type are optional.

{
	"type": 	"BONUS_TYPE",
	"subtype": 	0,
	"val" : 	0,
	"valueType": 	"VALUE_TYPE",
	"addInfo" : 	0, // or [1, 2, ...]

	"duration" : 	"BONUS_DURATION", //or ["BONUS_DURATION1", "BONUS_DURATION2", ...]"
	"turns" : 	0,

	"sourceType" : 	"SOURCE_TYPE",
	"sourceID" : 	0,
	"effectRange" : "EFFECT_RANGE",
	"limiters" : 	[
				"PREDEFINED_LIMITER", optional_parameters (...), //whhich one is preferred?
				{"type" : LIMITER_TYPE, "parameters" : [1,2,3]}
			],
	"propagator" : 	["PROPAGATOR_TYPE", optional_parameters (...)],
	"updater" :	{Bonus Updater},
	"description" : ""
}

Subtype resolution

All string identifiers of items can be used in "subtype" field. This allows cross-referencing between the mods and make config file more readable.

Available prefixes

  • creature.
  • artifact.
  • skill.
"pathfinding",  "archery",      "logistics",    "scouting",     "diplomacy",
		"navigation",   "leadership",   "wisdom",       "mysticism",    "luck",
		"ballistics",   "eagleEye",     "necromancy",   "estates",      "fireMagic",
		"airMagic",     "waterMagic",   "earthMagic",   "scholar",      "tactics",
		"artillery",    "learning",     "offence",      "armorer",      "intelligence",
		"sorcery",      "resistance",   "firstAid"
  • resource.

Possible values:

 "wood", "mercury", "ore", "sulfur", "crystal", "gems", "gold", "mithril"
  • hero.
  • faction.
  • spell.
  • primSkill
 "attack", "defence", "spellpower", "knowledge"
  • terrain (since 0.99)
 "dirt", "sand", "grass", "snow", "swamp", "rough", "subterra", "lava", "water", "rock"

Example

"bonus" :
{
	"type" : "HATE",
	"subtype" : "creature.enchanter",
	"val" : 50
}

This bonus makes creature do 50% more damage to Enchanters.

Bonus string constants

Additional links