Difference between revisions of "Spell Format"
From VCMI Project Wiki
Line 1: | Line 1: | ||
''Current draft. WiP.'' | ''Current draft. WiP.'' | ||
− | |||
− | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Line 16: | Line 14: | ||
//Mandatory, spell type | //Mandatory, spell type | ||
"kind": "advmap",//"advmap", "combat", "ability" | "kind": "advmap",//"advmap", "combat", "ability" | ||
− | |||
− | |||
− | |||
//Mandatory | //Mandatory | ||
Line 25: | Line 20: | ||
//Mandatory | //Mandatory | ||
"abbname": "Localizable abbreviated name", | "abbname": "Localizable abbreviated name", | ||
− | |||
− | |||
− | |||
− | |||
//Mandatory(?), Spell school | //Mandatory(?), Spell school | ||
"school": ["air", "earth", "fire", "water"], | "school": ["air", "earth", "fire", "water"], | ||
− | // | + | //number, mandatory; Spell level |
"level": 0, | "level": 0, | ||
− | //Mandatory, | + | //Mandatory, base power |
− | |||
− | |||
− | |||
"power": 10, | "power": 10, | ||
− | |||
− | |||
//Mandatory, chance in % to gain for faction | //Mandatory, chance in % to gain for faction | ||
Line 53: | Line 39: | ||
}, | }, | ||
− | |||
//VCMI info | //VCMI info | ||
− | // | + | //Mandatory, string-encoded enum |
− | + | //Positiveness of spell for target | |
− | // | + | "effect": "INDIFFERENT", //"NEGATIVE", "POSITIVE" |
− | "effect": | ||
// anim: main effect animation (AC format), -1 - none | // anim: main effect animation (AC format), -1 - none | ||
Line 66: | Line 50: | ||
"anim": -1, | "anim": -1, | ||
− | |||
− | |||
− | |||
// counters: array of ids of countering spells | // counters: array of ids of countering spells | ||
//TODO: use string ID | //TODO: use string ID | ||
Line 86: | Line 67: | ||
"limit": ["BONUS_NAME", ...], | "limit": ["BONUS_NAME", ...], | ||
− | + | //Optional, bonus format array | |
− | + | //common effects for all spell levels | |
− | "effects": | + | "effects": [{bonus format} ...], |
− | |||
− | |||
− | |||
− | |||
− | |||
//graphics - OPTIONAL; object; | //graphics - OPTIONAL; object; | ||
Line 101: | Line 77: | ||
//resourse path of icon for SPELL_IMMUNITY bonus (relative to DATA or SPRITES) | //resourse path of icon for SPELL_IMMUNITY bonus (relative to DATA or SPRITES) | ||
"iconImmune":"ZVS/LIB1.RES/E_SPMET" | "iconImmune":"ZVS/LIB1.RES/E_SPMET" | ||
− | } | + | }, |
+ | |||
+ | //Mandatory 4 element array of objects | ||
+ | //configuration for no skill, basic, adv, expert | ||
+ | "levels":[ | ||
+ | { | ||
+ | //Mandatory, localizable description | ||
+ | //Use {xxx} for formatting | ||
+ | "description": "", | ||
+ | |||
+ | |||
+ | //Mandatory, number, | ||
+ | //cost in mana points | ||
+ | "cost": 1, | ||
+ | |||
+ | //Mandatory, number | ||
+ | "power": 10, | ||
+ | |||
+ | //Mandatory, number | ||
+ | "aiValue": 20, | ||
+ | |||
+ | //Mandatory, spell target type | ||
+ | "targetType":"NO_TARGET",//"CREATURE","OBSTACLE" | ||
+ | |||
+ | //Mandatory | ||
+ | //spell range description in SRSL | ||
+ | "range": "X", | ||
+ | |||
+ | //Optional, bonus format array | ||
+ | //timed effects | ||
+ | "effects": | ||
+ | [ | ||
+ | {bonus format}, ... | ||
+ | ] | ||
+ | }, | ||
+ | {...},{...},{...} | ||
+ | ] | ||
Revision as of 10:57, 4 March 2013
Current draft. WiP.
{
"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
"name": "Localizable name",
//Mandatory
"abbname": "Localizable abbreviated name",
//Mandatory(?), Spell school
"school": ["air", "earth", "fire", "water"],
//number, mandatory; Spell level
"level": 0,
//Mandatory, base power
"power": 10,
//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
},
//VCMI info
//Mandatory, string-encoded enum
//Positiveness of spell for target
"effect": "INDIFFERENT", //"NEGATIVE", "POSITIVE"
// anim: main effect animation (AC format), -1 - none
//TODO: arbitary resourceID
"anim": -1,
// 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", ...],
//Optional, bonus format array
//common effects for all spell levels
"effects": [{bonus format} ...],
//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"
},
//Mandatory 4 element array of objects
//configuration for no skill, basic, adv, expert
"levels":[
{
//Mandatory, localizable description
//Use {xxx} for formatting
"description": "",
//Mandatory, number,
//cost in mana points
"cost": 1,
//Mandatory, number
"power": 10,
//Mandatory, number
"aiValue": 20,
//Mandatory, spell target type
"targetType":"NO_TARGET",//"CREATURE","OBSTACLE"
//Mandatory
//spell range description in SRSL
"range": "X",
//Optional, bonus format array
//timed effects
"effects":
[
{bonus format}, ...
]
},
{...},{...},{...}
]
}
}
}
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 |