1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
vcmi/config/objects/moddables.json
2023-04-20 20:44:25 +04:00

537 lines
12 KiB
JSON

{
/// These are objects that have subtypes that change various aspects of their mechanics
/// Should be made configurable (either directly or via other parts of modding system ASAP)
/// Editing these objects either directly or via mod may have negative effect on game since they are handled by engine
// subtype: artifact ID
"artifact" : {
"index" :5,
"handler": "artifact",
"base" : {
"base" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VV", "VA"]
},
"sounds" : {
"visit" : ["TREASURE"],
"removal" : [ "PICKUP01", "PICKUP02", "PICKUP03", "PICKUP04", "PICKUP05", "PICKUP06", "PICKUP07" ]
}
}
},
// subtype: hero CLASS (not hero).
"hero" : {
"index" :34,
"handler": "hero",
"base" : {
"aiValue" : 7500,
"base" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VVV", "VAV"]
},
"sounds" : {
"removal" : ["KILLFADE"]
}
}
},
// subtype: creatures
"monster" : {
"index" :54,
"handler": "monster",
"base" : {
"base" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VV", "VA"]
},
"sounds" : {
"removal" : ["KILLFADE"]
}
}
},
// subtype: resource ID
"resource" : {
"index" :79,
"handler": "resource",
"lastReservedIndex" : 6,
"base" : {
"base" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VA" ]
}
},
"types" : {
"wood" : { "index" : 0, "aiValue" : 1400, "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTwood0.def" } } },
"mercury" : { "index" : 1, "aiValue" : 2000, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTmerc0.def" } } },
"ore" : { "index" : 2, "aiValue" : 1400, "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTore0.def" } } },
"sulfur" : { "index" : 3, "aiValue" : 2000, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTsulf0.def" } } },
"crystal" : { "index" : 4, "aiValue" : 2000, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTcrys0.def" } } },
"gems" : { "index" : 5, "aiValue" : 2000, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTgems0.def" } } },
"gold" : { "index" : 6, "aiValue" : 750, "rmg" : { "value" : 750, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTgold0.def" } } }
}
},
// subtype: faction
"town" : {
"index" :98,
"handler": "town",
"base" : {
"aiValue" : 20000,
"filters" : {
// village image - fort not present
"village" : [ "noneOf", [ "fort" ] ],
// fort image - fort is here but not capitol
"fort" : [ "allOf", [ "fort" ], [ "noneOf", ["capitol" ] ] ],
// capitol image only when capitol is built
"capitol" : [ "capitol" ]
},
// "faction" : "stringID", // should be set by engine
"base" : {
"visitableFrom" : [ "---", "+++", "+++" ],
"mask" : [
"VVVVVV", // a LOT of just visible rows due to towns like Tower
"VVVVVV",
"VVVVVV",
"VVBBBV",
"VBBBBB",
"VBBABB"
]
}
}
},
// subtype: one of 3 possible boats
"boat" : {
"index" :8,
"handler": "boat",
"lastReservedIndex" : 2,
"base" : {
"aiValue" : 0,
"base" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VVV", "VAV" ]
}
},
"types" : {
"evil" :
{
"index" : 0,
"layer" : "sail",
"actualAnimation" : "AB01_.def",
"overlayAnimation" : "ABM01_.def",
"onboardAssaultAllowed" : true,
"onboardVisitAllowed" : true,
"flagAnimations" : ["ABF01L", "ABF01G", "ABF01R", "ABF01D", "ABF01B", "ABF01P", "ABF01W", "ABF01K"]
},
"good" :
{
"index" : 1,
"layer" : "sail",
"actualAnimation" : "AB02_.def",
"overlayAnimation" : "ABM02_.def",
"onboardAssaultAllowed" : true,
"onboardVisitAllowed" : true,
"flagAnimations" : ["ABF02L", "ABF02G", "ABF02R", "ABF02D", "ABF02B", "ABF02P", "ABF02W", "ABF02K"]
},
"neutral" : {
"index" : 2,
"layer" : "sail",
"actualAnimation" : "AB03_.def",
"overlayAnimation" : "ABM03_.def",
"onboardAssaultAllowed" : true,
"onboardVisitAllowed" : true,
"flagAnimations" : ["ABF03L", "ABF03G", "ABF03R", "ABF03D", "ABF03B", "ABF03P", "ABF03W", "ABF03K"]
},
}
},
// subtype: color of guard
"borderGuard" : {
"index" :9,
"handler": "borderGuard",
"lastReservedIndex" : 7,
"base" : {
"aiValue" : 0,
"sounds" : {
"visit" : ["CAVEHEAD"],
"removal" : [ "PICKUP01", "PICKUP02", "PICKUP03", "PICKUP04", "PICKUP05", "PICKUP06", "PICKUP07" ]
}
},
"types" : {
"lblue" : { "index" : 0 },
"green" : { "index" : 1 },
"red" : { "index" : 2 },
"dblue" : { "index" : 3 },
"brown" : { "index" : 4 },
"purple" : { "index" : 5 },
"white" : { "index" : 6 },
"black" : { "index" : 7 }
}
},
"borderGate" : {
"index" :212,
"handler": "borderGate",
"lastReservedIndex" : 7,
"base" : {
"aiValue" : 0,
"sounds" : {
"visit" : ["CAVEHEAD"]
}
},
"types" : {
"lblue" : { "index" : 0 },
"green" : { "index" : 1 },
"red" : { "index" : 2 },
"dblue" : { "index" : 3 },
"brown" : { "index" : 4 },
"purple" : { "index" : 5 },
"white" : { "index" : 6 },
"black" : { "index" : 7 }
}
},
"keymasterTent" : {
"index" :10,
"handler": "keymaster",
"lastReservedIndex" : 7,
"base" : {
"aiValue" : 10000,
"sounds" : {
"visit" : ["CAVEHEAD"]
}
},
"types" : {
"lblue" : { "index" : 0 },
"green" : { "index" : 1 },
"red" : { "index" : 2 },
"dblue" : { "index" : 3 },
"brown" : { "index" : 4 },
"purple" : { "index" : 5 },
"white" : { "index" : 6 },
"black" : { "index" : 7 }
}
},
//Seer Hut object is set off bottom-right corner, need to fix that
"seerHut" : {
"index" :83,
"handler": "seerHut",
"lastReservedIndex" : 2,
"base" : {
"aiValue" : 10000,
"base" : {
"visitableFrom" : [ "---", "+++", "+++" ],
"mask" : [ "VVV", "VVV", "VAV" ]
},
"sounds" : {
"visit" : ["QUEST"]
}
},
"types" : {
"0" : { "index" : 0 },
"1" : { "index" : 1 },
"2" : { "index" : 2 }
}
},
// subtype: different revealed areas
"cartographer" : {
"index" :13,
"handler": "cartographer",
"lastReservedIndex" : 2,
"base" : {
"sounds" : {
"visit" : ["LIGHTHOUSE"]
}
},
"types" : {
"water" : { "index" : 0, "aiValue" : 5000, "rmg" : { "zoneLimit" : 1, "value" : 5000, "rarity" : 20 } },
"land" : { "index" : 1, "aiValue": 10000, "rmg" : { "zoneLimit" : 1, "value" : 10000, "rarity" : 20 } },
"subterra" : { "index" : 2, "aiValue" : 7500, "rmg" : { "zoneLimit" : 1, "value" : 7500, "rarity" : 20 } }
}
},
// subtype: resource ID
"mine" : {
"index" :53,
"handler": "mine",
"lastReservedIndex" : 7,
"base" : {
"sounds" : {
"visit" : ["FLAGMINE"]
}
},
"types" : {
"sawmill" : {
"index" : 0,
"aiValue" : 1500,
"rmg" : {
"value" : 1500
},
"sounds" : {
"ambient" : ["LOOPLUMB"]
}
},
"alchemistLab" : {
"index" : 1,
"aiValue" : 3500,
"rmg" : {
"value" : 3500
},
"sounds" : {
"ambient" : ["LOOPSTAR"]
}
},
"orePit" : {
"index" : 2,
"aiValue" : 1500,
"rmg" : {
"value" : 1500
},
"sounds" : {
"ambient" : ["LOOPSULF"]
}
},
"sulfurDune" : {
"index" : 3,
"aiValue" : 3500,
"rmg" : {
"value" : 3500
},
"sounds" : {
"ambient" : ["LOOPSULF"]
}
},
"crystalCavern" : {
"index" : 4,
"aiValue" : 3500,
"rmg" : {
"value" : 3500
},
"sounds" : {
"ambient" : ["LOOPCRYS"]
},
"battleground": "subterranean"
},
"gemPond" : {
"index" : 5,
"aiValue" : 3500,
"rmg" : {
"value" : 3500
},
"sounds" : {
"ambient" : ["LOOPGEMP"]
}
},
"goldMine" : {
"index" : 6,
"aiValue" : 7000,
"rmg" : {
"value" : 7000
},
"sounds" : {
"ambient" : ["LOOPMINE"]
},
"battleground": "subterranean"
},
"abandoned" : {
"index" : 7,
"aiValue" : 3500,
"sounds" : {
"ambient" : ["LOOPCAVE"],
"visit" : ["MYSTERY"]
},
"battleground": "subterranean"
}
}
},
"abandonedMine" : {
"index" :220,
"handler": "mine",
"lastReservedIndex" : 7,
"base" : {
"aiValue" : 3500,
"sounds" : {
"ambient" : ["LOOPCAVE"]
}
},
"types" : {
"mine" : { "index" : 7, "battleground": "subterranean" }
}
},
"garrisonHorizontal": {
"index" :33,
"handler": "garrison",
"lastReservedIndex" : 1,
"base" : {
"aiValue" : 0,
"sounds" : {
"visit" : ["MILITARY"]
}
},
"types": {
"normal": {
"index": 0,
"sounds" : {
"ambient" : ["LOOPSWAR"]
}
},
"antiMagic": {
"index": 1,
"sounds" : {
"ambient" : ["LOOPMAGI"]
}
}
}
},
"garrisonVertical" : {
"index" :219,
"handler": "garrison",
"lastReservedIndex" : 1,
"base" : {
"aiValue" : 0,
"sounds" : {
"visit" : ["MILITARY"]
}
},
"types": {
"normal": {
"index": 0,
"sounds" : {
"ambient" : ["LOOPSWAR"]
}
},
"antiMagic": {
"index": 1,
"sounds" : {
"ambient" : ["LOOPMAGI"]
}
}
}
},
// Subtype: paired monoliths
"monolithOneWayEntrance" : {
"index" :43,
"handler": "monolith",
"lastReservedIndex" : 7,
"base" : {
"sounds" : {
"ambient" : ["LOOPMON1"],
"visit" : ["TELPTOUT"]
}
},
"types" : {
"monolith1" : { "index" : 0 },
"monolith2" : { "index" : 1 },
"monolith3" : { "index" : 2 },
"monolith4" : { "index" : 3 },
"monolith5" : { "index" : 4 },
"monolith6" : { "index" : 5 },
"monolith7" : { "index" : 6 },
"monolith8" : { "index" : 7 }
}
},
"monolithOneWayExit" : {
"index" :44,
"handler": "monolith",
"lastReservedIndex" : 7,
"base" : {
"sounds" : { "ambient" : ["LOOPMON1"] }
},
"types" : {
"monolith1" : { "index" : 0 },
"monolith2" : { "index" : 1 },
"monolith3" : { "index" : 2 },
"monolith4" : { "index" : 3 },
"monolith5" : { "index" : 4 },
"monolith6" : { "index" : 5 },
"monolith7" : { "index" : 6 },
"monolith8" : { "index" : 7 }
}
},
"monolithTwoWay" : {
"index" :45,
"handler": "monolith",
"lastReservedIndex" : 7,
"base" : {
"sounds" : {
"ambient" : ["LOOPMON2"],
"visit" : ["TELPTOUT"]
}
},
"types" : {
"monolith1" : { "index" : 0 },
"monolith2" : { "index" : 1 },
"monolith3" : { "index" : 2 },
"monolith4" : { "index" : 3 },
"monolith5" : { "index" : 4 },
"monolith6" : { "index" : 5 },
"monolith7" : { "index" : 6 },
"monolith8" : { "index" : 7 }
}
},
// subtype: level
"randomDwellingLvl" : {
"index" :217,
"handler": "randomDwelling",
"lastReservedIndex" : 6,
"types" : {
"objectLvl1" : { "index" : 0},
"objectLvl2" : { "index" : 1},
"objectLvl3" : { "index" : 2},
"objectLvl4" : { "index" : 3},
"objectLvl5" : { "index" : 4},
"objectLvl6" : { "index" : 5},
"objectLvl7" : { "index" : 6}
}
},
// subtype: faction ID
"randomDwellingFaction" : {
"index" :218,
"handler": "randomDwelling",
"lastReservedIndex" : 8,
"types" : {
"objectCastle" : { "index" : 0},
"objectRampart" : { "index" : 1},
"objectTower" : { "index" : 2},
"objectInferno" : { "index" : 3},
"objectNecropolis" : { "index" : 4},
"objectDungeon" : { "index" : 5},
"objectStronghold" : { "index" : 6},
"objectFortress" : { "index" : 7},
"objectConflux" : { "index" : 8},
}
},
// don't have subtypes (at least now), but closely connected to this objects
"spellScroll" : {
"index" :93,
"handler": "artifact",
"types" : {
"object" : {
"index" : 0,
"aiValue" : 500,
"sounds" : {
"removal" : [ "PICKUP01", "PICKUP02", "PICKUP03", "PICKUP04", "PICKUP05", "PICKUP06", "PICKUP07" ]
},
"templates" : {
"normal" : {
"visitableFrom" : [ "+++", "+-+", "+++" ],
"mask" : [ "VA" ],
"animation" : "AVA0001.def"
}
}
}
}
},
"heroPlaceholder" : {
"index" : 214,
"handler": "heroPlaceholder",
"types" : { "object" : { "index" : 0 } }
}
}