Difference between revisions of "Spell Format"

From VCMI Project Wiki
Jump to: navigation, search
Line 39: Line 39:
 
"cost": [1,2,3,4],
 
"cost": [1,2,3,4],
  
//Mandatory, power base and for each school level (todo: refactor)
+
//Mandatory, power
"power": [10,10,20,30,50]
+
"power": 10,
  
 +
//Mandatory, power for each school level
 +
"levelPower": [10,20,30,50],
  
 
//Mandatory, chance in % to gain for faction
 
//Mandatory, chance in % to gain for faction

Revision as of 11:43, 2 March 2013

Current draft. WiP.

  • [Todo] config from sptraits
{
	"spells":
	{
		"spellName":
		{
			//numeric id of spell required only for original spells, prohibited for new spells
			"id": 0,

			//Original info
			
			//Mandatory, spell type 
			"kind": "advmap",//"advmap", "combat", "ability"

			//Mandatory, spell target type
			"targetType":"NO_TARGET",//"CREATURE","CREATURE_EXPERT_MASSIVE","OBSTACLE"

			//Mandatory
			"name": "Localizable name",

			//Mandatory
			"abbname": "Localizable abbreviated name",

			//Mandatory, localizable description, string array for levels
			//Use {xxx} for formatting
			"description": ["","","",""],

			//Mandatory(?), Spell school 			
			"school": ["air", "earth", "fire", "water"],

			//nomber, mandatory; Spell level
			"level": 0,

			//Mandatory, cost for each school level
			"cost": [1,2,3,4],

			//Mandatory, power
			"power": 10,

			//Mandatory, power for each school level 
			"levelPower": [10,20,30,50],

			//Mandatory, chance in % to gain for faction
			//NOTE: this field is merged with faction config
			"gainChance":
			{
				"default": 0, //by default for all factions
				"faction.first": 3 // specific faction
			},

			"aiValue": [20,30,40,50],

			//VCMI info

			//effect: -1 -> spell is negative for influenced creatures,
			//0 -> spell is indifferent for them
			//1 -> spell is positive for them
			"effect": 0,
			
			//   anim: main effect animation (AC format), -1 - none
			//TODO: arbitary resourceID
			"anim": -1,
			
			//   ranges: spell range description in SRSL ([no magic] [basic] [advanced] [expert])
			"ranges": [ "X", "X", "X", "X" ],

			//	 counters: array of ids of countering spells
			//TODO: use string ID
			"counters": [spellID, ...]

			//flags string array of:
			//		damage - spell does damage (direct or indirect)
			//		offensive - direct damage
			//		rising - rising spell
			//		summoning //todo:
			"flags" : ["flag1", "flag2"],

			//string array of bonus names, any one of these bonus grants immunity
			"immunity": ["BONUS_NAME", ...],

			//string array of bonus names, presence of all bonuses required to be affected by
			"limit": ["BONUS_NAME", ...],


			"effectsCommon": [{bonus format} ...], //for all spell levels
			"effects": [ //for particular level, merged with effectsCommon
				[{bonus format} ... ], //no skill
				[{bonus format} ... ], //basic
				[{bonus format} ... ], //adv
				[{bonus format} ... ]  //expert
			],

			//graphics - OPTIONAL; object;
			"graphics":
			{
				//  iconImmune - OPTIONAL; string; 
				//resourse path of icon for SPELL_IMMUNITY bonus (relative to DATA or SPRITES)
				"iconImmune":"ZVS/LIB1.RES/E_SPMET"
			}


		}
	}
}


Modding related articles

Main articles
Modding changelog Modding guidelines How to create a town mod Mod Handler


Formats
Mod file Format
Town Format Creature Format Hero Classes Format
Artifact Format Animation Format Hero Format
Bonus Format Object Format Spell Format


Work-in-progress formats
Building bonuses Map format
Bonus Type Format Random map template


Outdated pages
Mod system proposal