{
	/// 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"]
			}
		}
	},
	
	// subtype: hero CLASS (not hero).
	"hero" : {
		"index" :34,
		"handler": "hero",
		"base" : {
			"base" : {
				"visitableFrom" : [ "+++", "+-+", "+++" ],
				"mask" : [ "VV", "AV"]
			}
		}
	},
	
	// subtype: creatures
	"monster" : {
		"index" :54,
		"handler": "monster",
		"base" : {
			"base" : {
				"visitableFrom" : [ "+++", "+-+", "+++" ],
				"mask" : [ "VV", "VA"]
			}
		}
	},

	// subtype: resource ID
	"resource" : {
		"index" :79,
		"handler": "resource",
		"base" : {
			"base" : {
				"visitableFrom" : [ "+++", "+-+", "+++" ],
				"mask" : [ "VA" ]
			}
		},
		"types" : {
			"wood" :    { "index" : 0, "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTwood0.def" } } },
			"mercury" : { "index" : 1, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTmerc0.def" } } },
			"ore" :     { "index" : 2, "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTore0.def"  } } },
			"sulfur" :  { "index" : 3, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTsulf0.def" } } },
			"crystal" : { "index" : 4, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTcrys0.def" } } },
			"gems" :    { "index" : 5, "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTgems0.def" } } },
			"gold" :    { "index" : 6, "rmg" : { "value" : 750,  "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTgold0.def" } } },
			"mithril" : { "index" : 7 } // TODO: move to WoG?
		}
	},
	
	// subtype: faction
	"town" : {
		"index" :98,
		"handler": "town",
		"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",
		"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",
		"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",
		"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",
		"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",
		"base" : {
			"base" : {
				"visitableFrom" : [ "---", "+++", "+++" ],
				"mask" : [ "VVV", "VVV", "VAV" ]
			}
		},
		"types" : {
			"0" :	{ "index" : 0 },
			"1" :	{ "index" : 1 },
			"2" :	{ "index" : 2 }
		}
	},

	// subtype: different revealed areas
	"cartographer" : {
		"index" :13,
		"handler": "cartographer",
		"types" : {
			"water" : { "index" : 0, "rmg" : { "zoneLimit" : 1,  "value" : 5000, "rarity" : 20 } },
			"land" : { "index" : 1, "rmg" : { "zoneLimit" : 1,  "value" : 10000, "rarity" : 20 } },
			"subterra" : { "index" : 2, "rmg" : { "zoneLimit" : 1,  "value" : 7500, "rarity" : 20 } }
		}
	},

	// subtype: resource ID
	"mine" : {
		"index" :53,
		"handler": "mine",
		"types" : {
			"sawmill" :       { "index" : 0, "rmg" : { "value" : 1500 } },
			"alchemistLab" :  { "index" : 1, "rmg" : { "value" : 3500 } },
			"orePit" :        { "index" : 2, "rmg" : { "value" : 1500 } },
			"sulfurDune" :    { "index" : 3, "rmg" : { "value" : 3500 } },
			"crystalCavern" : { "index" : 4, "rmg" : { "value" : 3500 } },
			"gemPond" :       { "index" : 5, "rmg" : { "value" : 3500 } },
			"goldMine" :      { "index" : 6, "rmg" : { "value" : 7000 } },
			"abandoned" :	  { "index" : 7}
		}
	},
	"abandonedMine" : {
		"index" :220, 
		"handler": "mine",
		"types" : {
			"mine" : { "index" : 7 }
		}
	},

	"garrisonHorizontal": { 
		"index" :33, 
		"handler": "garrison",
		"types":{
			"normal":{"index": 0},
			"antiMagic":{"index": 1}			
		}	
	},
	"garrisonVertical": { 
		"index" :219, 
		"handler": "garrison",
		"types":{
			"normal":{"index": 0},
			"antiMagic":{"index": 1}			
		}	
	},

	// Subtype: paired monoliths
	"monolithOneWayEntrance" : {
		"index" :43,
		"handler": "monolith",
		"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",
		"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",
		"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,
				"templates" : {
					"normal" : {
						"visitableFrom" : [ "+++", "+-+", "+++" ],
						"mask" : [ "VA" ],
						"animation" : "AVA0001.def"
					}
				}
			}
		}
	},
	"heroPlaceholder"				: { "index" :214, "handler": "heroPlaceholder", "types" : { "object" : { "index" : 0 } } }
}
