{ /// 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" : { "removable": true, "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, "removable": true, "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VVV", "VAV"] }, "sounds" : { "removal" : ["KILLFADE"] } } }, // subtype: creatures "monster" : { "index" :54, "handler": "monster", "base" : { "removable": true, "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VV", "VA"] }, "sounds" : { "removal" : ["KILLFADE"] } } }, "randomResource": { "index" :76, "handler": "randomResource", "base" : { "removable": true, "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VA" ] } }, "types" : { "randomResource" : { "index" : 0, "rmg" : { "value" : 1500, "rarity" : 2000 }, "templates" : { "normal" : { "animation" : "AVTrndm0", "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VV", "VA"] } } } } }, // subtype: resource ID "resource" : { "index" :79, "handler": "resource", "lastReservedIndex" : 6, "base" : { "removable": true, "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, "removable": true, "layer" : "sail", "onboardAssaultAllowed" : true, "onboardVisitAllowed" : true, "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VVV", "VAV" ] } }, "types" : { "boatNecropolis" : { "index" : 0, "compatibilityIdentifiers" : [ "evil" ], "actualAnimation" : "AB01_.def", "overlayAnimation" : "ABM01_.def", "flagAnimations" : ["ABF01L", "ABF01G", "ABF01R", "ABF01D", "ABF01B", "ABF01P", "ABF01W", "ABF01K"] }, "boatCastle" : { "index" : 1, "compatibilityIdentifiers" : [ "good" ], "actualAnimation" : "AB02_.def", "overlayAnimation" : "ABM02_.def", "flagAnimations" : ["ABF02L", "ABF02G", "ABF02R", "ABF02D", "ABF02B", "ABF02P", "ABF02W", "ABF02K"] }, "boatFortress" : { "index" : 2, "compatibilityIdentifiers" : [ "neutral" ], "actualAnimation" : "AB03_.def", "overlayAnimation" : "ABM03_.def", "flagAnimations" : ["ABF03L", "ABF03G", "ABF03R", "ABF03D", "ABF03B", "ABF03P", "ABF03W", "ABF03K"] }, } }, // subtype: color of guard "borderGuard" : { "index" :9, "handler": "borderGuard", "lastReservedIndex" : 7, "base" : { "aiValue" : 0, "removable": true, "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: 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 } } } }