{ "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" : "spellSchool.any", "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" : "spellSchool.any", "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" } } }