{ /// 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", "defaultAiValue" : 5000, "base" : { "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VV", "AV"] }, "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", "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" } } }, "mithril" : { "index" : 7, "aiValue" : 3500 } // TODO: move to WoG? } }, // subtype: faction "town" : { "index" :98, "handler": "town", "defaultAiValue" : 20000, "base" : { "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", "defaultAiValue" : 0, "base" : { "base" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VVV", "VAV" ] } }, "types" : { "evil" : { "index" : 0, "rmg" : { "mapLimit" : 64 } }, "good" : { "index" : 1, "rmg" : { "mapLimit" : 64 } }, "neutral" : { "index" : 2, "rmg" : { "mapLimit" : 64 } }, } }, // subtype: color of guard "borderGuard" : { "index" :9, "handler": "borderGuard", "defaultAiValue" : 0, "base" : { "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", "defaultAiValue" : 0, "base" : { "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", "defaultAiValue" : 10000, "base" : { "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", "defaultAiValue" : 10000, "base" : { "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", "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", "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"] } }, "gemPond" : { "index" : 5, "aiValue" : 3500, "rmg" : { "value" : 3500 }, "sounds" : { "ambient" : ["LOOPGEMP"] } }, "goldMine" : { "index" : 6, "aiValue" : 7000, "rmg" : { "value" : 7000 }, "sounds" : { "ambient" : ["LOOPMINE"] } }, "abandoned" : { "index" : 7, "aiValue" : 3500, "sounds" : { "ambient" : ["LOOPCAVE"], "visit" : ["MYSTERY"] } } } }, "abandonedMine" : { "index" :220, "handler": "mine", "defaultAiValue" : 3500, "base" : { "sounds" : { "ambient" : ["LOOPCAVE"] } }, "types" : { "mine" : { "index" : 7 } } }, "garrisonHorizontal": { "index" :33, "handler": "garrison", "defaultAiValue" : 0, "base" : { "sounds" : { "visit" : ["MILITARY"] } }, "types": { "normal": { "index": 0, "sounds" : { "ambient" : ["LOOPSWAR"] } }, "antiMagic": { "index": 1, "sounds" : { "ambient" : ["LOOPMAGI"] } } } }, "garrisonVertical" : { "index" :219, "handler": "garrison", "defaultAiValue" : 0, "base" : { "sounds" : { "visit" : ["MILITARY"] } }, "types": { "normal": { "index": 0, "sounds" : { "ambient" : ["LOOPSWAR"] } }, "antiMagic": { "index": 1, "sounds" : { "ambient" : ["LOOPMAGI"] } } } }, // Subtype: paired monoliths "monolithOneWayEntrance" : { "index" :43, "handler": "monolith", "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", "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", "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", "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", "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, "templates" : { "normal" : { "visitableFrom" : [ "+++", "+-+", "+++" ], "mask" : [ "VA" ], "animation" : "AVA0001.def" } } } } }, "heroPlaceholder" : { "index" : 214, "handler": "heroPlaceholder", "types" : { "object" : { "index" : 0 } } } }