Jelajahi Sumber

Update bonuses docs

Ivan Savenko 2 tahun lalu
induk
melakukan
43246477d4
3 mengubah file dengan 34 tambahan dan 40 penghapusan
  1. 32 38
      docs/modders/Bonus_Format.md
  2. 2 0
      docs/modders/Building_Bonuses.md
  3. 0 2
      lib/bonuses/Bonus.cpp

+ 32 - 38
docs/modders/Bonus_Format.md

@@ -6,29 +6,59 @@ All parameters but type are optional.
 
 ``` javascript
 {
+	// Type of the bonus. See Bonus Types for full list
 	"type":         "BONUS_TYPE",
+
+	// Subtype of the bonus. Function depends on bonus type.
 	"subtype":      0,
+	
+	// Value of the bonus. Function depends on bonus type.
 	"val" :         0,
+
+	// Describes how this bonus is accumulated with other bonuses of the same type
 	"valueType":    "VALUE_TYPE",
+	
+	// Additional info that bonus might need. Function depends on bonus type.
 	"addInfo" :     0, // or [1, 2, ...]
 
+	// How long this bonus should be active until removal.
+	// May use multiple triggers, in which case first event will remove this bonus
 	"duration" :    "BONUS_DURATION", //or ["BONUS_DURATION1", "BONUS_DURATION2", ...]"
+	
+	// How long this bonus should remain, in days or battle turns (depending on bonus duration)
 	"turns" :       0,
 
+	// TODO
 	"targetSourceType" : "SOURCE_TYPE",
+	
+	// TODO
 	"sourceType" :  "SOURCE_TYPE",
+	
+	// TODO
 	"sourceID" :    0,
+	
+	// TODO
 	"effectRange" : "EFFECT_RANGE",
 
+	// TODO
 	"limiters" : [
 		"PREDEFINED_LIMITER", optional_parameters (...), //whhich one is preferred?
 		{"type" : LIMITER_TYPE, "parameters" : [1,2,3]}
 	],
 	
+	// TODO
 	"propagator" : 	["PROPAGATOR_TYPE", optional_parameters (...)],
+	
+	// TODO
 	"updater" :	    {Bonus Updater},
+	
+	// TODO
 	"propagationUpdater" :	{Bonus Updater, but works during propagation},
+	
+	// TODO
 	"description" : "",
+	
+	// TODO
 	"stacking" :    ""
 }
 ```
@@ -47,44 +77,8 @@ All parameters but type are optional.
 ## 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:
-``` javascript
-		"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:
-``` javascript
-		"wood", "mercury", "ore", "sulfur", "crystal", "gems", "gold", "mithril"
-```
-
--   hero.
--   faction.
--   spell.
--   primarySkill
-``` javascript
- "attack", "defence", "spellpower", "knowledge" 
-```
-
--   terrain:
-``` javascript
- "dirt", "sand", "grass", "snow", "swamp", "rough", "subterra", "lava", "water", "rock"
-```
-
--   spellSchool
-```javascript
-"any", "fire", "air", "water", "earth" 
-```
-
+See [Game Identifiers](Game_Identifiers.md) for full list of available identifiers
+ 
 ### Example
 
 ``` javascript

+ 2 - 0
docs/modders/Building_Bonuses.md

@@ -3,6 +3,8 @@
 Work-in-progress page do describe all bonuses provided by town buildings
 for future configuration.
 
+TODO: This page is outdated and may not represent VCMI 1.3 state
+
 ## unique buildings
 
 Hardcoded functionalities, selectable but not configurable. In future

+ 0 - 2
lib/bonuses/Bonus.cpp

@@ -177,8 +177,6 @@ JsonNode Bonus::toJsonNode() const
 		root["subtype"] = subtypeToJson(type, subtype);
 	if(additionalInfo != CAddInfo::NONE)
 		root["addInfo"] = additionalInfoToJson(type, additionalInfo);
-	if(turnsRemain != 0)
-		root["turns"].Integer() = turnsRemain;
 	if(source != BonusSource::OTHER)
 		root["sourceType"].String() = vstd::findKey(bonusSourceMap, source);
 	if(targetSourceType != BonusSource::OTHER)