{
	/// 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, "resource" : "wood", "amounts" : [ 6,7,8,9,10], "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTwood0.def" } } },
			"ore" :     { "index" : 2, "aiValue" : 1400, "resource" : "ore",  "amounts" : [ 6,7,8,9,10], "rmg" : { "value" : 1400, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTore0.def"  } } },

			"mercury" : { "index" : 1, "aiValue" : 2000, "resource" : "mercury", "amounts" : [ 3,4,5], "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTmerc0.def" } } },
			"sulfur" :  { "index" : 3, "aiValue" : 2000, "resource" : "sulfur",  "amounts" : [ 3,4,5], "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTsulf0.def" } } },
			"crystal" : { "index" : 4, "aiValue" : 2000, "resource" : "crystal", "amounts" : [ 3,4,5], "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTcrys0.def" } } },
			"gems" :    { "index" : 5, "aiValue" : 2000, "resource" : "gems",    "amounts" : [ 3,4,5], "rmg" : { "value" : 2000, "rarity" : 300 }, "templates" : { "res" : { "animation" : "AVTgems0.def" } } },

			"gold" :    { "index" : 6, "aiValue" : 750,  "resource" : "gold", "amounts" : [ 5,6,7,8,9,10], "amountMultiplier" : 100, "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 } }
	}
}
