1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
vcmi/config/spell_info.json

1066 lines
20 KiB
JSON

{
// Additional spell info, not included in original heroes III files
// id: spell ID
// effect: -1 -> spell is negative for influenced creatures,
// 0 -> spell is indifferent for them
// 1 -> spell is positive for them
// anim: main effect animation (AC format), -1 - none
// ranges: spell range description in SRSL ([no magic] [basic] [advanced] [expert])
// counters: array of ids of countering spells
// flags: string array of
// damage - ATM used only in CBattleInfoCallback::calculateSpellDmg
// offensive
// rising
// summoning //todo:
//effects: array of structure for bonuses for permanent effects
// {bonus format} - effect //todo
// + values: [4 int values] (OPTIONAL default from sptraits) values for levels
// + ainfos: [4 int values] (optional) additional infos for levels (atm only CURSE)
//
//immunity - name of bonus granting immunity to this spell
//
// immunity: array any of these bonus grants immunity
// limit: array required bonus to be affected, all required
//graphics - OPTIONAL; object;
// iconImmune - OPTIONAL; string; resourse path of icon for SPELL_IMMUNITY bonus (relative to DATA or SPRITES)
"spells":
{
"summonBoat" :
{
"id": 0,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"scuttleBoat" :
{
"id": 1,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"visions" :
{
"id": 2,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"viewEarth" :
{
"id": 3,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"disguise" :
{
"id": 4,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"viewAir" :
{
"id": 5,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"fly" :
{
"id": 6,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"waterWalk" :
{
"id": 7,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"dimensionDoor" :
{
"id": 8,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"townPortal" :
{
"id": 9,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"quicksand" :
{
"id": 10,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"landMine" :
{
"id": 11,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ],
"flags" : ["damage"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"forceField" :
{
"id": 12,
"effect": 0,
"anim": -1,
"ranges": [ "0", "0", "0", "0" ]
},
"fireWall" :
{
"id": 13,
"effect": 0,
"anim": -1,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"earthquake" :
{
"id": 14,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"magicArrow" :
{
"id": 15,
"effect": -1,
"anim": 64,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"iceBolt" :
{
"id": 16,
"effect": -1,
"anim": 46,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"lightningBolt" :
{
"id": 17,
"effect": -1,
"anim": 38,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"implosion" :
{
"id": 18,
"effect": -1,
"anim": 10,
"ranges": [ "0", "0", "0", "0" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPIMP"
},
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"chainLightning" :
{
"id": 19,
"effect": -1,
"anim": 38,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"]
},
"frostRing" :
{
"id": 20,
"effect": -1,
"anim": 45,
"ranges": [ "1", "1", "1", "1" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"fireball" :
{
"id": 21,
"effect": -1,
"anim": 53,
"ranges": [ "0,1", "0,1", "0,1", "0,1" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"inferno" :
{
"id": 22,
"effect": -1,
"anim": 9,
"ranges": [ "0-2", "0-2", "0-2", "0-2" ],
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"meteorShower" :
{
"id": 23,
"effect": -1,
"anim": 16,
"ranges": [ "0,1", "0,1", "0,1", "0,1" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPMET"
},
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"deathRipple" :
{
"id": 24,
"effect": -1,
"anim": 8,
"ranges": [ "X", "X", "X", "X" ],
"flags" : ["damage", "offensive"],
"immunity": ["SIEGE_WEAPON","UNDEAD"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"destroyUndead" :
{
"id": 25,
"effect": -1,
"anim": 29,
"ranges": [ "X", "X", "X", "X" ],
"flags" : ["damage", "offensive"],
"limit":["UNDEAD"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"armageddon" :
{
"id": 26,
"effect": -1,
"anim": 12,
"ranges": [ "X", "X", "X", "X" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPARM"
},
"flags" : ["damage", "offensive"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
},
"shield" :
{
"id": 27,
"effect": 1,
"anim": 27,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "GENERAL_DAMAGE_REDUCTION",
"subtype":0,
"duration": "N_TURNS"
}
]
},
"airShield" :
{
"id": 28,
"effect": 1,
"anim": 2,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "GENERAL_DAMAGE_REDUCTION",
"subtype":1,
"duration": "N_TURNS"
}
]
},
"fireShield" :
{
"id": 29,
"effect": 1,
"anim": 11,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "FIRE_SHIELD",
"duration": "N_TURNS"
}
]
},
"protectAir" :
{
"id": 30,
"effect": 1,
"anim": 22,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "SPELL_DAMAGE_REDUCTION",
"subtype":0,
"duration": "N_TURNS"
}
]
},
"protectFire" :
{
"id": 31,
"effect": 1,
"anim": 24,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "SPELL_DAMAGE_REDUCTION",
"subtype":1,
"duration": "N_TURNS"
}
]
},
"protectWater" :
{
"id": 32,
"effect": 1,
"anim": 23,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "SPELL_DAMAGE_REDUCTION",
"subtype":2,
"duration": "N_TURNS"
}
]
},
"protectEarth" :
{
"id": 33,
"effect": 1,
"anim": 26,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "SPELL_DAMAGE_REDUCTION",
"subtype":3,
"duration": "N_TURNS"
}
]
},
"antiMagic" :
{
"id": 34,
"effect": 1,
"anim": 5,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "LEVEL_SPELL_IMMUNITY",
"subtype":5, //needed?
"valType":"INDEPENDENT_MAX",
"duration": "N_TURNS",
"values":[3,3,4,5]
}
]
},
"dispel" :
{
"id": 35,
"effect": 0,
"anim": 41,
"ranges": [ "0", "0", "0", "X" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPDISP"
}
},
"magicMirror" :
{
"id": 36,
"effect": 1,
"anim": 3,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "MAGIC_MIRROR",
"valType":"INDEPENDENT_MAX",
"duration": "N_TURNS"
}
]
},
"cure" :
{
"id": 37,
"effect": 1,
"anim": 39,
"ranges": [ "0", "0", "0", "0" ]
},
"resurrection" :
{
"id": 38,
"effect": 1,
"anim": 79,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["rising"]
},
"animateDead" :
{
"id": 39,
"effect": 1,
"anim": 79,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["rising"]
},
"sacrifice" :
{
"id": 40,
"effect": 1,
"anim": 79,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["rising"]
},
"bless" :
{
"id": 41,
"effect": 1,
"anim": 36,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [42],
"effects":
[
{
"type": "ALWAYS_MAXIMUM_DAMAGE",
"subtype": -1, //any attack
"valType":"INDEPENDENT_MAX",
"duration": "N_TURNS",
"values":[0, 0, 1, 1]
}
],
"immunity":["UNDEAD"]
},
"curse" :
{
"id": 42,
"effect": -1,
"anim": 40,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [41],
"effects":
[
{
"type": "ALWAYS_MINIMUM_DAMAGE",
"subtype": -1, //any attack
"valType": "INDEPENDENT_MAX",
"duration": "N_TURNS",
"values":[0, 0, 1, 1],
"ainfos":[0,0,20,20]
}
],
"immunity":["UNDEAD"]
},
"bloodlust" :
{
"id": 43,
"effect": 1,
"anim": 4,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [45],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"effectRange" : "ONLY_MELEE_FIGHT",
"duration": "N_TURNS",
"values":[3, 3, 6, 6]
}
]
},
"precision" :
{
"id": 44,
"effect": 1,
"anim": 25,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"effectRange" : "ONLY_DISTANCE_FIGHT",
"duration": "N_TURNS",
"values":[3, 3, 6, 6]
}
],
"limit":["SHOOTER"]
},
"weakness" :
{
"id": 45,
"effect": -1,
"anim": 56,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [43],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"duration": "N_TURNS",
"values":[-3,-3,-6,-6]
}
]
},
"stoneSkin" :
{
"id": 46,
"effect": 1,
"anim": 54,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.defence",
"duration": "N_TURNS",
"values":[3, 3, 6, 6]
}
]
},
"disruptingRay" :
{
"id": 47,
"effect": -1,
"anim": 14,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.defence",
"valueType": "ADDITIVE_VALUE",
"duration": "N_TURNS",
"values":[-3,-3,-4,-5]
}
]
},
"prayer" :
{
"id": 48,
"effect": 1,
"anim": 0,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"duration": "N_TURNS",
"values":[2, 2, 4, 4]
},
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.defence",
"duration": "N_TURNS",
"values":[2, 2, 4, 4]
},
{
"type": "STACKS_SPEED",
"duration": "N_TURNS",
"values":[2, 2, 4, 4]
}
]
},
"mirth" :
{
"id": 49,
"effect": 1,
"anim": 20,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [50],
"effects":
[
{
"type": "MORALE",
"duration": "N_TURNS",
"values":[1, 1, 2, 2]
}
]
},
"sorrow" :
{
"id": 50,
"effect": -1,
"anim": 30,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [49],
"effects":
[
{
"type": "MORALE",
"duration": "N_TURNS",
"values":[-1,-1,-2,-2]
}
],
"immunity":["MIND_IMMUNITY"]
},
"fortune" :
{
"id": 51,
"effect": 1,
"anim": 18,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [52],
"effects":
[
{
"type": "LUCK",
"duration": "N_TURNS",
"values":[1, 1, 2, 2]
}
]
},
"misfortune" :
{
"id": 52,
"effect": -1,
"anim": 48,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [51],
"effects":
[
{
"type": "LUCK",
"duration": "N_TURNS",
"values":[-1,-1,-2,-2]
}
]
},
"haste" :
{
"id": 53,
"effect": 1,
"anim": 31,
"ranges": [ "0", "0", "0", "X" ],
"counters" : [54],
"effects":
[
{
"type": "STACKS_SPEED",
"duration": "N_TURNS",
"values":[3, 3, 5, 5]
}
],
"immunity":["SIEGE_WEAPON"]
},
"slow" :
{
"id": 54,
"effect": -1,
"anim": 19,
"ranges": [ "0", "0", "0", "X" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPSLOW"
},
"counters" : [53],
"effects":
[
{
"type": "STACKS_SPEED",
"valueType": "PERCENT_TO_ALL",
"duration": "N_TURNS",
"values":[-25,-25,-50,-50]
}
],
"immunity":["SIEGE_WEAPON"]
},
"slayer" :
{
"id": 55,
"effect": 1,
"anim": 28,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "SLAYER",
"duration": "N_TURNS",
"values":[0,1,2,3]
}
]
},
"frenzy" :
{
"id": 56,
"effect": 1,
"anim": 17,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "IN_FRENZY",
"duration": "STACK_GETS_TURN",
"values":[100, 100, 150, 200]
}
]
},
"titanBolt" :
{
"id": 57,
"effect": -1,
"anim": 38,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"]
},
"counterstrike" :
{
"id": 58,
"effect": 1,
"anim": 7,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "ADDITIONAL_RETALIATION",
"duration": "N_TURNS",
"values":[1, 1, 2, 2]
}
]
},
"berserk" :
{
"id": 59,
"effect": -1,
"anim": 35,
"ranges": [ "0", "0", "0-1", "0-2" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPBERS"
},
"effects":
[
{
"type": "ATTACKS_NEAREST_CREATURE",
"duration": "N_TURNS",
"values":[0,1,2,3]
}
],
"immunity":["MIND_IMMUNITY"]
},
"hypnotize" :
{
"id": 60,
"effect": -1,
"anim": 21,
"ranges": [ "0", "0", "0", "0" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPHYPN"
},
"effects":
[
{
"type": "HYPNOTIZED",
"duration": "N_TURNS",
"values":[0,1,2,3]
}
],
"immunity":["MIND_IMMUNITY"]
},
"forgetfulness" :
{
"id": 61,
"effect": -1,
"anim": 42,
"ranges": [ "0", "0", "0", "X" ],
"effects":
[
{
"type": "FORGETFULL",
"duration": "N_TURNS",
"values":[0,1,2,3]
}
],
"limit":["SHOOTER"],
"immunity":["MIND_IMMUNITY"]
},
"blind" :
{
"id": 62,
"effect": -1,
"anim": 6,
"ranges": [ "0", "0", "0", "0" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPBLIND"
},
"effects":
[
{
"type": "NOT_ACTIVE",
"subtype": 62,
"duration": ["UNITL_BEING_ATTACKED","N_TURNS"],
"values":[0,0,0,0]
},
{
"type": "GENERAL_ATTACK_REDUCTION",
"duration": ["UNITL_BEING_ATTACKED","N_TURNS"]
},
{
"type": "NO_RETALIATION",
"duration": "UNITL_BEING_ATTACKED",
"values":[0,0,0,0]
}
],
"immunity":["MIND_IMMUNITY"]
},
"teleport" :
{
"id": 63,
"effect": 1,
"anim": -1,
"ranges": [ "0", "0", "0", "0" ],
"immunity":["SIEGE_WEAPON"]
},
"removeObstacle" :
{
"id": 64,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"clone" :
{
"id": 65,
"effect": 1,
"anim": -1,
"ranges": [ "0", "0", "0", "0" ],
"immunity":["SIEGE_WEAPON"]
},
"fireElemental" :
{
"id": 66,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"earthElemental" :
{
"id": 67,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"waterElemental" :
{
"id": 68,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"airElemental" :
{
"id": 69,
"effect": 0,
"anim": -1,
"ranges": [ "X", "X", "X", "X" ]
},
"stoneGaze" :
{
"id": 70,
"effect": 0,
"anim": 70,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "NOT_ACTIVE",
"subtype": 62,
"duration": ["UNITL_BEING_ATTACKED","N_TURNS"],
"values":[0,0,0,0]
},
{
"type": "NO_RETALIATION",
"duration": "UNITL_BEING_ATTACKED",
"values":[0,0,0,0]
}
]
},
"poison" :
{
"id": 71,
"effect": -1,
"anim": 67,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "POISON",
"valueType": "INDEPENDENT_MAX",
"duration": "N_TURNS",
"values":[30,30,30,30]
},
{
"type": "STACK_HEALTH",
"val" : -10,
"valueType": "PERCENT_TO_ALL",
"duration": "N_TURNS",
"values":[-10,-10,-10,-10]
}
]
},
"bind" :
{
"id": 72,
"effect": 0,
"anim": 68,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "BIND_EFFECT",
"duration" : "PERMANENT",
"addInfo" : -1,
"values":[0,0,0,0]
}
]
},
"disease" :
{
"id": 73,
"effect": -1,
"anim": 69,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"duration": "N_TURNS",
"values":[-2,-2,-2,-2]
},
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.defence",
"duration": "N_TURNS",
"values":[-2,-2,-2,-2]
}
]
},
"paralyze" :
{
"id": 74,
"effect": -1,
"anim": 70,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "NOT_ACTIVE",
"subtype": 74,
"duration": ["UNITL_BEING_ATTACKED","N_TURNS"],
"values":[0,0,0,0]
},
{
"type": "NO_RETALIATION",
"duration": "UNITL_BEING_ATTACKED",
"values":[0,0,0,0]
}
]
},
"age" :
{
"id": 75,
"effect": -1,
"anim": 71,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "STACK_HEALTH",
"valueType": "PERCENT_TO_ALL",
"duration": "N_TURNS",
"values":[-50,-50,-50,-50]
}
]
},
"deathCloud" :
{
"id": 76,
"effect": 0,
"anim": 72,
"ranges": [ "0-1", "0-1", "0-1", "0-1" ]
},
"thunderbolt" :
{
"id": 77,
"effect": -1,
"anim": 38,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage", "offensive"]
},
"dispelHelpful" :
{
"id": 78,
"effect": -1,
"anim": 41,
"ranges": [ "0", "0", "0", "0" ],
"graphics":{
"iconImmune":"ZVS/LIB1.RES/E_SPDISB"
}
},
"deathStare" :
{
"id": 79,
"effect": 0,
"anim": 80,
"ranges": [ "0", "0", "0", "0" ]
},
"acidBreath" :
{
"id": 80,
"effect": 0,
"anim": 81,
"ranges": [ "0", "0", "0", "0" ],
"effects":
[
{
"type": "PRIMARY_SKILL",
"subtype": "primSkill.attack",
"duration" : "PERMANENT",
"valueType": "ADDITIVE_VALUE",
"values":[-3,-3,-3,-3]
}
]
},
"acidBreathDamage" :
{
"id": 81,
"effect": 0,
"anim": 81,
"ranges": [ "0", "0", "0", "0" ],
"flags" : ["damage"],
"immunities" : ["DIRECT_DAMAGE_IMMUNITY"]
}
}
}