|
|
(70 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | ''Current draft. WiP.''
| + | {{Template:MovedToWebpage|https://vcmi.eu/modders/Entities_Format/Spell_Format/}} |
− | | |
− | *{{todo}} config from sptraits
| |
− | | |
− | <syntaxhighlight lang="javascript">
| |
− | {
| |
− | "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 base and for each school level (todo: refactor)
| |
− | "power": [10,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"
| |
− | }
| |
− | | |
− | | |
− | }
| |
− | }
| |
− | }
| |
− | | |
− | </syntaxhighlight>
| |
− | | |
− | {{Modding}}
| |