{
	/// 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" : 7500,
		"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"]
				},
				"battleground": "subterranean"
			},
			"alchemistLab" : {
				"index" : 1,
				"aiValue" : 3500,
				"rmg" : {
					"value" : 3500
				},
				"sounds" : {
					"ambient" : ["LOOPSTAR"]
				},
				"battleground": "subterranean"
			},
			"orePit" : {
				"index" : 2,
				"aiValue" : 1500,
				"rmg" : {
					"value" : 1500
				},
				"sounds" : {
					"ambient" : ["LOOPSULF"]
				},
				"battleground": "subterranean"
			},
			"sulfurDune" : {
				"index" : 3,
				"aiValue" : 3500,
				"rmg" : {
					"value" : 3500
				},
				"sounds" : {
					"ambient" : ["LOOPSULF"]
				},
				"battleground": "subterranean"
			},
			"crystalCavern" : {
				"index" : 4,
				"aiValue" : 3500,
				"rmg" : {
					"value" : 3500
				},
				"sounds" : {
					"ambient" : ["LOOPCRYS"]
				},
				"battleground": "subterranean"
			},
			"gemPond" : {
				"index" : 5,
				"aiValue" : 3500,
				"rmg" : {
					"value" : 3500
				},
				"sounds" : {
					"ambient" : ["LOOPGEMP"]
				},
				"battleground": "subterranean"
			},
			"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",
		"defaultAiValue" : 3500,
		"base" : {
			"sounds" : {
				"ambient" : ["LOOPCAVE"]
			}
		},
		"types" : {
			"mine" : { "index" : 7, "battleground": "subterranean" }
		}
	},

	"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,
				"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 } }
	}
}