1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
vcmi/config/spells/offensive.json
AlexVinS 0b70baa95e Spells configuration version 2 (effect-based)
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00

409 lines
7.0 KiB
JSON

{
"magicArrow" : {
"index" : 15,
"targetType": "CREATURE",
"animation":{
"projectile": [
{"minimumAngle": 0 ,"defName":"C20SPX4"},
{"minimumAngle": 0.60 ,"defName":"C20SPX3"},
{"minimumAngle": 0.90 ,"defName":"C20SPX2"},
{"minimumAngle": 1.20 ,"defName":"C20SPX1"},
{"minimumAngle": 1.50 ,"defName":"C20SPX0"}
],
"hit":["C20SPX"]
},
"sounds": {
"cast": "MAGICBLT"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":true}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"iceBolt" : {
"index" : 16,
"targetType": "CREATURE",
"animation":{
"projectile": [
{"minimumAngle": 0 ,"defName":"C08SPW4"},
{"minimumAngle": 0.60 ,"defName":"C08SPW3"},
{"minimumAngle": 0.90 ,"defName":"C08SPW2"},
{"minimumAngle": 1.20 ,"defName":"C08SPW1"},
{"minimumAngle": 1.50 ,"defName":"C08SPW0"}
],
"hit":["C08SPW5"]
},
"sounds": {
"cast": "ICERAY"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":true}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"lightningBolt" : {
"index" : 17,
"targetType": "CREATURE",
"animation":{
"affect":[{"defName":"C03SPA0", "verticalPosition":"bottom"}, "C11SPA1"]
},
"sounds": {
"cast": "LIGHTBLT"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":true}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"implosion" : {
"index" : 18,
"targetType": "CREATURE",
"animation":{
"affect":["C05SPE0"]
},
"sounds": {
"cast": "DECAY"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":true}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal",
"bonus.SIEGE_WEAPON" : "absolute"
}
}
},
"chainLightning" : {
"index" : 19,
"targetType": "CREATURE",
"animation":{
"affect":[{"defName":"C03SPA0", "verticalPosition":"bottom"}, "C11SPA1"]
},
"sounds": {
"cast": "CHAINLTE"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {
"type" : "core:damage",
"chainFactor" : 0.5,
"chainLength" : 4
}
},
"targetModifier":{"smart":true}
},
"advanced" : {
"battleEffects" : {
"directDamage" : {
"chainLength" : 5
}
}
},
"expert" : {
"battleEffects" : {
"directDamage" : {
"chainLength" : 5
}
}
}
},
"flags" : {
"damage": true,
"negative": true
}
},
"frostRing" : {
"index" : 20,
"targetType": "LOCATION",
"animation":{
"hit":["C07SPW"] //C07SPW0 ???
},
"sounds": {
"cast": "FROSTING"
},
"levels" : {
"base":{
"range" : "1",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"fireball" : {
"index" : 21,
"targetType": "LOCATION",
"animation":{
"hit":["C13SPF"] //C13SPF0 ???
},
"sounds": {
"cast": "SPONTCOMB"
},
"levels" : {
"base":{
"range" : "0,1",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"inferno" : {
"index" : 22,
"targetType": "LOCATION",
"animation":{
"hit":["C04SPF0"]
},
"sounds": {
"cast": "FIREBLST"
},
"levels" : {
"base":{
"range" : "0-2",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"meteorShower" : {
"index" : 23,
"targetType": "LOCATION",
"animation":{
"hit":["C08SPE0"]
},
"sounds": {
"cast": "METEOR"
},
"levels" : {
"base":{
"range" : "0,1",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"deathRipple" : {
"index" : 24,
"targetType" : "CREATURE",
"animation":{
"affect":["C04SPE0"]
},
"sounds": {
"cast": "DEATHRIP"
},
"levels" : {
"base":{
"range" : "X",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal",
"bonus.SIEGE_WEAPON" : "absolute",
"bonus.UNDEAD" : "absolute"
}
}
},
"destroyUndead" : {
"index" : 25,
"targetType" : "CREATURE",
"animation":{
"affect":["C14SPA0"]
},
"sounds": {
"cast": "SACBRETH"
},
"levels" : {
"base":{
"range" : "X",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"allOf" : {
"bonus.UNDEAD" : "absolute"
},
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"armageddon" : {
"index" : 26,
"targetType" : "CREATURE",
"animation":{
"hit":["C06SPF0"]
},
"sounds": {
"cast": "ARMGEDN"
},
"levels" : {
"base":{
"range" : "X",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":false}
}
},
"flags" : {
"damage": true,
"negative": true
},
"targetCondition" : {
"noneOf" : {
"bonus.DIRECT_DAMAGE_IMMUNITY" : "normal"
}
}
},
"titanBolt" : {
"index" : 57,
"targetType" : "CREATURE",
"animation":{
"hit":[{"defName":"C03SPA0", "verticalPosition":"bottom"}, "C11SPA1"]
},
"sounds": {
"cast": "LIGHTBLT"
},
"levels" : {
"base":{
"range" : "0",
"battleEffects" : {
"directDamage" : {"type":"core:damage"}
},
"targetModifier":{"smart":true}
}
},
"flags" : {
"damage": true,
"negative": true,
"special": true
}
}
}