1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-28 08:48:48 +02:00
vcmi/config/creatures/dungeon.json
Ivan Savenko 9237e6d97d Improved json validation
- split JsonNode.cpp into JsonNode and JsonDetail files
- validation should be notably faster (at least 10% faster loading)
- support for "format" field, allows checking existance of files.
- minor fixes in schemas
- msk/msg files are now optional
2013-10-26 19:33:34 +00:00

419 lines
6.6 KiB
JSON

{
"troglodyte" :
{
"index": 70,
"level": 1,
"faction": "dungeon",
"abilities":
{
"blindImmunity" :
{
"type" : "SPELL_IMMUNITY",
"subtype" : "spell.blind"
},
"petrifyImmunity" :
{
"type" : "SPELL_IMMUNITY",
"subtype" : "spell.stoneGaze"
}
},
"upgrades": ["infernalTroglodyte"],
"hasDoubleWeek": true,
"graphics" :
{
"animation": "CTROGL.DEF"
},
"sound" :
{
"attack": "TROGATTK.wav",
"defend": "TROGDFND.wav",
"killed": "TROGKILL.wav",
"move": "TROGMOVE.wav",
"wince": "TROGWNCE.wav"
}
},
"infernalTroglodyte" :
{
"index": 71,
"level": 1,
"faction": "dungeon",
"abilities":
{
"blindImmunity" :
{
"type" : "SPELL_IMMUNITY",
"subtype" : "spell.blind"
},
"petrifyImmunity" :
{
"type" : "SPELL_IMMUNITY",
"subtype" : "spell.stoneGaze"
}
},
"graphics" :
{
"animation": "CITROG.DEF"
},
"sound" :
{
"attack": "ITRGATTK.wav",
"defend": "ITRGDFND.wav",
"killed": "ITRGKILL.wav",
"move": "ITRGMOVE.wav",
"wince": "ITRGWNCE.wav"
}
},
"harpy" :
{
"index": 72,
"level": 2,
"faction": "dungeon",
"abilities":
{
"strikeAndReturn" :
{
"type" : "RETURN_AFTER_STRIKE"
}
},
"upgrades": ["harpyHag"],
"hasDoubleWeek": true,
"graphics" :
{
"animation": "CHARPY.DEF"
},
"sound" :
{
"attack": "HARPATTK.wav",
"defend": "HARPDFND.wav",
"killed": "HARPKILL.wav",
"move": "HARPMOVE.wav",
"wince": "HARPWNCE.wav"
}
},
"harpyHag" :
{
"index": 73,
"level": 2,
"faction": "dungeon",
"abilities":
{
"strikeAndReturn" :
{
"type" : "RETURN_AFTER_STRIKE"
},
"noRetaliation" :
{
"type" : "BLOCKS_RETALIATION"
}
},
"graphics" :
{
"animation": "CHARPH.DEF"
},
"sound" :
{
"attack": "HHAGATTK.wav",
"defend": "HHAGDFND.wav",
"killed": "HHAGKILL.wav",
"move": "HHAGMOVE.wav",
"shoot": "HHAGSHOT.wav",
"wince": "HHAGWNCE.wav"
}
},
"beholder" :
{
"index": 74,
"level": 3,
"faction": "dungeon",
"upgrades": ["evilEye"],
"graphics" :
{
"animation": "CBEHOL.DEF",
"missile" :
{
"projectile": "SMBALX.DEF"
}
},
"sound" :
{
"attack": "BHDRATTK.wav",
"defend": "BHDRDFND.wav",
"killed": "BHDRKILL.wav",
"move": "BHDRMOVE.wav",
"shoot": "BHDRSHOT.wav",
"wince": "BHDRWNCE.wav"
}
},
"evilEye" :
{
"index": 75,
"level": 3,
"faction": "dungeon",
"graphics" :
{
"animation": "CEVEYE.DEF",
"missile" :
{
"projectile": "SMBALX.DEF"
}
},
"sound" :
{
"attack": "EVLIATTK.wav",
"defend": "EVLIDFND.wav",
"killed": "EVLIKILL.wav",
"move": "EVLIMOVE.wav",
"shoot": "EVLISHOT.wav",
"wince": "EVLIWNCE.wav"
}
},
"medusa" :
{
"index": 76,
"level": 4,
"faction": "dungeon",
"abilities":
{
"petrification" :
{
"type" : "SPELL_AFTER_ATTACK",
"subtype" : "spell.stoneGaze",
"val" : 20,
"addInfo" : 2000 // FIXME: replace with range field?
}
},
"upgrades": ["medusaQueen"],
"graphics" :
{
"animation": "CMEDUS.DEF",
"missile" :
{
"projectile": "PMEDUSX.DEF"
}
},
"sound" :
{
"attack": "MEDUATTK.wav",
"defend": "MEDUDFND.wav",
"killed": "MEDUKILL.wav",
"move": "MEDUMOVE.wav",
"shoot": "MEDUSHOT.wav",
"wince": "MEDUWNCE.wav"
}
},
"medusaQueen" :
{
"index": 77,
"level": 4,
"faction": "dungeon",
"abilities":
{
"petrification" :
{
"type" : "SPELL_AFTER_ATTACK",
"subtype" : "spell.stoneGaze",
"val" : 20,
"addInfo" : 2000 // FIXME: replace with range?
}
},
"graphics" :
{
"animation": "CMEDUQ.DEF",
"missile" :
{
"projectile": "PMEDUSX.DEF"
}
},
"sound" :
{
"attack": "MEDQATTK.wav",
"defend": "MEDQDFND.wav",
"killed": "MEDQKILL.wav",
"move": "MEDQMOVE.wav",
"shoot": "MEDQSHOT.wav",
"wince": "MEDQWNCE.wav"
}
},
"minotaur" :
{
"index": 78,
"level": 5,
"faction": "dungeon",
"abilities":
{
"fearless" :
{
"type" : "SELF_MORALE"
}
},
"upgrades": ["minotaurKing"],
"graphics" :
{
"animation": "CMINOT.DEF"
},
"sound" :
{
"attack": "MINOATTK.wav",
"defend": "MINODFND.wav",
"killed": "MINOKILL.wav",
"move": "MINOMOVE.wav",
"wince": "MINOWNCE.wav"
}
},
"minotaurKing" :
{
"index": 79,
"level": 5,
"faction": "dungeon",
"abilities":
{
"fearless" :
{
"type" : "SELF_MORALE"
}
},
"graphics" :
{
"animation": "CMINOK.DEF"
},
"sound" :
{
"attack": "MINKATTK.wav",
"defend": "MINKDFND.wav",
"killed": "MINKKILL.wav",
"move": "MINKMOVE.wav",
"shoot": "MINKSHOT.wav",
"wince": "MINKWNCE.wav"
}
},
"manticore" :
{
"index": 80,
"level": 6,
"faction": "dungeon",
"upgrades": ["scorpicore"],
"graphics" :
{
"animation": "CMCORE.DEF"
},
"sound" :
{
"attack": "MANTATTK.wav",
"defend": "MANTDFND.wav",
"killed": "MANTKILL.wav",
"move": "MANTMOVE.wav",
"shoot": "MANTSHOT.wav",
"wince": "MANTWNCE.wav"
}
},
"scorpicore" :
{
"index": 81,
"level": 6,
"faction": "dungeon",
"abilities":
{
"paralize" :
{
"type" : "SPELL_AFTER_ATTACK",
"subtype" : "spell.paralyze",
"val" : 20
}
},
"graphics" :
{
"animation": "CCMCOR.DEF"
},
"sound" :
{
"attack": "SCRPATTK.wav",
"defend": "SCRPDFND.wav",
"killed": "SCRPKILL.wav",
"move": "SCRPMOVE.wav",
"shoot": "SCRPSHOT.wav",
"wince": "SCRPWNCE.wav"
}
},
"redDragon" :
{
"index": 82,
"level": 7,
"faction": "dungeon",
"abilities":
{
"dragon" :
{
"type" : "DRAGON_NATURE"
},
"fireBreath" :
{
"type" : "TWO_HEX_ATTACK_BREATH"
},
"spellImmunity" :
{
"type" : "LEVEL_SPELL_IMMUNITY",
"val" : 3
}
},
"upgrades": ["blackDragon"],
"graphics" :
{
"animation": "CRDRGN.DEF"
},
"sound" :
{
"attack": "RDDRATTK.wav",
"defend": "RDDRDFND.wav",
"killed": "RDDRKILL.wav",
"move": "RDDRMOVE.wav",
"wince": "RDDRWNCE.wav"
}
},
"blackDragon" :
{
"index": 83,
"level": 7,
"faction": "dungeon",
"abilities":
{
"dragon" :
{
"type" : "DRAGON_NATURE"
},
"fireBreath" :
{
"type" : "TWO_HEX_ATTACK_BREATH"
},
"spellImmunity" :
{
"type" : "LEVEL_SPELL_IMMUNITY",
"val" : 5
},
"hateGiants" :
{
"type" : "HATE",
"subtype" : "creature.giant",
"val" : 50
},
"hateTitans" :
{
"type" : "HATE",
"subtype" : "creature.titan",
"val" : 50
}
},
"graphics" :
{
"animation": "CBDRGN.DEF"
},
"sound" :
{
"attack": "BKDRATTK.wav",
"defend": "BKDRDFND.wav",
"killed": "BKDRKILL.wav",
"move": "BKDRMOVE.wav",
"wince": "BKDRWNCE.wav"
}
}
}