mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-26 08:41:13 +02:00
6678a747bb
- Added missing support for ray-like projectiles - Archmages, Evil Eyes and Beholders now use ray for shooting - New method to draw 1 pixel-wide line with color gradient at arbitrary angle - fixed incorrect attackClimaxFrame field for Archmages
429 lines
7.0 KiB
JSON
429 lines
7.0 KiB
JSON
{
|
|
"gremlin" :
|
|
{
|
|
"index": 28,
|
|
"level": 1,
|
|
"extraNames": [ "apprenticeGremlin" ],
|
|
"faction": "tower",
|
|
"upgrades": ["masterGremlin"],
|
|
"hasDoubleWeek": true,
|
|
"graphics" :
|
|
{
|
|
"animation": "CGREMA.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "AGRMATTK.wav",
|
|
"defend": "AGRMDFND.wav",
|
|
"killed": "AGRMKILL.wav",
|
|
"move": "AGRMMOVE.wav",
|
|
"shoot": "AGRMSHOT.wav",
|
|
"wince": "AGRMWNCE.wav"
|
|
}
|
|
},
|
|
"masterGremlin" :
|
|
{
|
|
"index": 29,
|
|
"level": 1,
|
|
"faction": "tower",
|
|
"graphics" :
|
|
{
|
|
"animation": "CGREMM.DEF",
|
|
"missile" :
|
|
{
|
|
"projectile": "CPRGRE.DEF"
|
|
}
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "MGRMATTK.wav",
|
|
"defend": "MGRMDFND.wav",
|
|
"killed": "MGRMKILL.wav",
|
|
"move": "MGRMMOVE.wav",
|
|
"shoot": "MGRMSHOT.wav",
|
|
"wince": "MGRMWNCE.wav"
|
|
}
|
|
},
|
|
"stoneGargoyle" :
|
|
{
|
|
"index": 30,
|
|
"level": 2,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"gargoyle" :
|
|
{
|
|
"type" : "GARGOYLE"
|
|
}
|
|
},
|
|
"upgrades": ["obsidianGargoyle"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CGARGO.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "SGRGATTK.wav",
|
|
"defend": "SGRGDFND.wav",
|
|
"killed": "SGRGKILL.wav",
|
|
"move": "SGRGMOVE.wav",
|
|
"wince": "SGRGWNCE.wav"
|
|
}
|
|
},
|
|
"obsidianGargoyle" :
|
|
{
|
|
"index": 31,
|
|
"level": 2,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"gargoyle" :
|
|
{
|
|
"type" : "GARGOYLE"
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "COGARG.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "OGRGATTK.wav",
|
|
"defend": "OGRGDFND.wav",
|
|
"killed": "OGRGKILL.wav",
|
|
"move": "OGRGMOVE.wav",
|
|
"wince": "OGRGWNCE.wav"
|
|
}
|
|
},
|
|
"ironGolem" : //FIXME correct ID is stoneGolem, unchangeable due to HOTRAITS.TXT
|
|
{
|
|
"index": 32,
|
|
"level": 3,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"magicResistance" :
|
|
{
|
|
"type" : "SPELL_DAMAGE_REDUCTION",
|
|
"subtype" : -1,
|
|
"val" : 50
|
|
},
|
|
"nonliving" :
|
|
{
|
|
"type" : "NON_LIVING"
|
|
}
|
|
},
|
|
"upgrades": ["stoneGolem"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CSGOLE.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "SGLMATTK.wav",
|
|
"defend": "SGLMDFND.wav",
|
|
"killed": "SGLMKILL.wav",
|
|
"move": "SGLMMOVE.wav",
|
|
"wince": "SGLMWNCE.wav"
|
|
}
|
|
},
|
|
"stoneGolem" : //FIXME correct ID is ironGolem, unchangeable due to HOTRAITS.TXT
|
|
{
|
|
"index": 33,
|
|
"level": 3,
|
|
"faction": "tower",
|
|
"abilities" :
|
|
{
|
|
"magicResistance" :
|
|
{
|
|
"type" : "SPELL_DAMAGE_REDUCTION",
|
|
"subtype" : -1,
|
|
"val" : 75
|
|
},
|
|
"nonliving" :
|
|
{
|
|
"type" : "NON_LIVING"
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "CIGOLE.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "IGLMATTK.wav",
|
|
"defend": "IGLMDFND.wav",
|
|
"killed": "IGLMKILL.wav",
|
|
"move": "IGLMMOVE.wav",
|
|
"wince": "IGLMWNCE.wav"
|
|
}
|
|
},
|
|
"mage" :
|
|
{
|
|
"index": 34,
|
|
"level": 4,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"reduceSpellCost" :
|
|
{
|
|
"type" : "CHANGES_SPELL_COST_FOR_ALLY",
|
|
"val" : 2
|
|
}
|
|
},
|
|
"upgrades": ["archMage"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CMAGE.DEF",
|
|
"missile" :
|
|
{
|
|
"projectile": "PMAGEX.DEF"
|
|
}
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "MAGEATTK.wav",
|
|
"defend": "MAGEDFND.wav",
|
|
"killed": "MAGEKILL.wav",
|
|
"move": "MAGEMOVE.wav",
|
|
"shoot": "MAGESHOT.wav",
|
|
"wince": "MAGEWNCE.wav"
|
|
}
|
|
},
|
|
"archMage" :
|
|
{
|
|
"index": 35,
|
|
"level": 4,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"reduceSpellCost" :
|
|
{
|
|
"type" : "CHANGES_SPELL_COST_FOR_ALLY",
|
|
"val" : 2
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "CAMAGE.DEF",
|
|
"missile" :
|
|
{
|
|
"attackClimaxFrame" : 8,
|
|
"ray" :
|
|
[
|
|
{ "start" : [ 160, 192, 0, 255 ], "end" : [ 160, 192, 0, 64 ] },
|
|
{ "start" : [ 128, 224, 128, 255 ], "end" : [ 128, 224, 128, 128 ] },
|
|
{ "start" : [ 32, 176, 32, 255 ], "end" : [ 32, 176, 32, 255 ] },
|
|
{ "start" : [ 128, 224, 128, 255 ], "end" : [ 128, 224, 128, 128 ] },
|
|
{ "start" : [ 160, 192, 0, 255 ], "end" : [ 160, 192, 0, 64 ] }
|
|
]
|
|
}
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "AMAGATTK.wav",
|
|
"defend": "AMAGDFND.wav",
|
|
"killed": "AMAGKILL.wav",
|
|
"move": "AMAGMOVE.wav",
|
|
"shoot": "AMAGSHOT.wav",
|
|
"wince": "AMAGWNCE.wav"
|
|
}
|
|
},
|
|
"genie" :
|
|
{
|
|
"index": 36,
|
|
"level": 5,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"hateAngels" :
|
|
{
|
|
"type" : "HATE",
|
|
"subtype" : "creature.efreet",
|
|
"val" : 50
|
|
},
|
|
"hateArchAngels" :
|
|
{
|
|
"type" : "HATE",
|
|
"subtype" : "creature.efreetSultan",
|
|
"val" : 50
|
|
}
|
|
},
|
|
"upgrades": ["masterGenie"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CGENIE.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "GENIATTK.wav",
|
|
"defend": "GENIDFND.wav",
|
|
"killed": "GENIKILL.wav",
|
|
"move": "GENIMOVE.wav",
|
|
"wince": "GENIWNCE.wav"
|
|
}
|
|
},
|
|
"masterGenie" :
|
|
{
|
|
"index": 37,
|
|
"level": 5,
|
|
"faction": "tower",
|
|
"abilities":
|
|
{
|
|
"hateAngels" :
|
|
{
|
|
"type" : "HATE",
|
|
"subtype" : "creature.efreet",
|
|
"val" : 50
|
|
},
|
|
"hateArchAngels" :
|
|
{
|
|
"type" : "HATE",
|
|
"subtype" : "creature.efreetSultan",
|
|
"val" : 50
|
|
},
|
|
"spellsLength" :
|
|
{
|
|
"type" : "CREATURE_ENCHANT_POWER",
|
|
"val" : 5
|
|
},
|
|
"randomSpellcaster" :
|
|
{
|
|
"type" : "RANDOM_SPELLCASTER",
|
|
"val" : 2
|
|
},
|
|
"casts" :
|
|
{
|
|
"type" : "CASTS",
|
|
"val" : 3
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "CSULTA.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "CALFATTK.wav",
|
|
"defend": "CALFDFND.wav",
|
|
"killed": "CALFKILL.wav",
|
|
"move": "CALFMOVE.wav",
|
|
"shoot": "CALFSHOT.wav",
|
|
"wince": "CALFWNCE.wav"
|
|
}
|
|
},
|
|
"naga" :
|
|
{
|
|
"index": 38,
|
|
"level": 6,
|
|
"faction": "tower",
|
|
"abilities" :
|
|
{
|
|
"noRetaliation" :
|
|
{
|
|
"type" : "BLOCKS_RETALIATION"
|
|
}
|
|
},
|
|
"upgrades": ["nagaQueen"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CNAGA.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "NSENATTK.wav",
|
|
"defend": "NSENDFND.wav",
|
|
"killed": "NSENKILL.wav",
|
|
"move": "NSENMOVE.wav",
|
|
"wince": "NSENWNCE.wav"
|
|
}
|
|
},
|
|
"nagaQueen" :
|
|
{
|
|
"index": 39,
|
|
"level": 6,
|
|
"faction": "tower",
|
|
"abilities" :
|
|
{
|
|
"noRetaliation" :
|
|
{
|
|
"type" : "BLOCKS_RETALIATION"
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "CNAGAG.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "NGRDATTK.wav",
|
|
"defend": "NGRDDFND.wav",
|
|
"killed": "NGRDKILL.wav",
|
|
"move": "NGRDMOVE.wav",
|
|
"wince": "NGRDWNCE.wav"
|
|
}
|
|
},
|
|
"giant" :
|
|
{
|
|
"index": 40,
|
|
"level": 7,
|
|
"faction": "tower",
|
|
"abilities" :
|
|
{
|
|
"immuneToMind" :
|
|
{
|
|
"type" : "MIND_IMMUNITY"
|
|
}
|
|
},
|
|
"upgrades": ["titan"],
|
|
"graphics" :
|
|
{
|
|
"animation": "CLTITA.DEF"
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "LTITATTK.wav",
|
|
"defend": "LTITDFND.wav",
|
|
"killed": "LTITKILL.wav",
|
|
"move": "LTITMOVE.wav",
|
|
"wince": "LTITWNCE.wav"
|
|
}
|
|
},
|
|
"titan" :
|
|
{
|
|
"index": 41,
|
|
"level": 7,
|
|
"faction": "tower",
|
|
"abilities" :
|
|
{
|
|
"immuneToMind" :
|
|
{
|
|
"type" : "MIND_IMMUNITY"
|
|
},
|
|
"hateArchAngels" :
|
|
{
|
|
"type" : "HATE",
|
|
"subtype" : "creature.blackDragon",
|
|
"val" : 50
|
|
}
|
|
},
|
|
"graphics" :
|
|
{
|
|
"animation": "CGTITA.DEF",
|
|
"missile" :
|
|
{
|
|
"projectile": "CPRGTIX.DEF"
|
|
}
|
|
},
|
|
"sound" :
|
|
{
|
|
"attack": "GTITATTK.wav",
|
|
"defend": "GTITDFND.wav",
|
|
"killed": "GTITKILL.wav",
|
|
"move": "GTITMOVE.wav",
|
|
"shoot": "GTITSHOT.wav",
|
|
"wince": "GTITWNCE.wav"
|
|
}
|
|
}
|
|
}
|