{
	"@type": "Retrodreamer.Monocles.Gen2.Generator",
	"Phases": [
		{
			"@type": "Retrodreamer.Monocles.Gen2.Phase",
			"Id": "Create Zone Map",
			"Steps": [
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "base",
					"Steps": [
						{ 
							"@type": "Retrodreamer.Monocles.Gen2.SetParametersStep",
							"Priority": 0,
							"Params" : {
								"@type" : "Mapgen.GossRix.GossRixParameters",
								"AreaWidth" : 70,
								"AreaHeight" : 70,
								"RoomSeeds" : 18,
								"RoomStartingSize" : 5
							}
						},
						{ "@type": "Retrodreamer.Monocles.Gen2.SetLayerStep", "Layer": "Level_0", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectAutotiler", "Index": 0, "Priority": 110 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SetTilemapStep", "Tilemap": "base-mansion-tileset_0", "Priority": 120},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateGossRixMapStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectObjectiveStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.ExcludeRegionAroundStart", "Radius": 12, "Priority": 400 },
						{ "@type": "Retrodreamer.Monocles.Gen2.ApplyObjectiveToMapStep", "Priority": 500 },
						{ 
							"@type": "Retrodreamer.Monocles.Gen2.DecorateWithColumnsStep", 
							"ColumnWidth": 2,
							"ColumnHeight": 2,
							"ColumnChance": 0.6,
							"MinSpace": 4,
							"Priority": 600
						}
					],
					"Priority": 0
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "decorate",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateFloorStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateWithRugsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateShadowLayerIfNecessaryStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateRoofLayerIfNecessaryStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateWallLayerIfNecessaryStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateCollisionLayerIfNecessaryStep", "Priority": 500 }
					],
					"Priority": 100
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "construct",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateTilemapStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreatePropsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateEnemiesStep",
							"Priority": 200,
							"SpawnLevelSet": "base-mansion-spawn_set_0"
						},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateObjectiveStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.FinalizeMapStep", "Priority": 400 }
					],
					"Priority": 200
				}
			],
			"Priority": 0
		},
		{
			"@type": "Retrodreamer.Monocles.Gen2.Phase",
			"Id": "Create Shop Map",
			"Steps": [
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "base",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.SetLayerStep", "Layer": "Level_1", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectAutotiler", "Index": 0, "Priority": 110 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SetTilemapStep", "Tilemap": "base-mansion-tileset_0", "Priority": 120},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateShopMapStep", "Priority": 200 }
					],
					"Priority": 0
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "decorate",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateFloorStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateShadowLayerIfNecessaryStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateRoofLayerIfNecessaryStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateWallLayerIfNecessaryStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateCollisionLayerIfNecessaryStep", "Priority": 400 }
					],
					"Priority": 100
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "construct",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateTilemapStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreatePropsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.PopulateShopStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.FinalizeMapStep", "Priority": 300 }
					],
					"Priority": 200
				}
			],
			"Priority": 100
		},
		{
			"@type": "Retrodreamer.Monocles.Gen2.Phase",
			"Id": "Create Zone Map",
			"Steps": [
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "base",
					"Steps": [
						{
							"@type": "Retrodreamer.Monocles.Gen2.SetParametersStep",
							"Priority": 0,
							"Params" : {
								"@type" : "Mapgen.GossRix.GossRixParameters",
								"AreaWidth" : 70,
								"AreaHeight" : 70,
								"RoomSeeds" : 18,
								"RoomStartingSize" : 5
							}
						},
						{ "@type": "Retrodreamer.Monocles.Gen2.SetLayerStep", "Layer": "Level_2", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectAutotiler", "Index": 1, "Priority": 110 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SetTilemapStep", "Tilemap": "base-mansion-tileset_1", "Priority": 120},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateGossRixMapStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectObjectiveStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.ExcludeRegionAroundStart", "Radius": 12, "Priority": 400 },
						{ "@type": "Retrodreamer.Monocles.Gen2.ApplyObjectiveToMapStep", "Priority": 500 },
						{ 
							"@type": "Retrodreamer.Monocles.Gen2.DecorateWithColumnsStep", 
							"ColumnWidth": 2,
							"ColumnHeight": 2,
							"ColumnChance": 0.6,
							"MinSpace": 4,
							"Priority": 600
						}
					],
					"Priority": 0
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "decorate",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateFloorStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateWithRugsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateShadowLayerIfNecessaryStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateRoofLayerIfNecessaryStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateWallLayerIfNecessaryStep", "Priority": 400 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateCollisionLayerIfNecessaryStep", "Priority": 500 }
					],
					"Priority": 100
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "construct",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateTilemapStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreatePropsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateEnemiesStep",
							"Priority": 200,
							"SpawnLevelSet": "base-mansion-spawn_set_1"
						},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateObjectiveStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.FinalizeMapStep", "Priority": 400 }
					],
					"Priority": 200
				}
			],
			"Priority": 200
		},
		{
			"@type": "Retrodreamer.Monocles.Gen2.Phase",
			"Id": "Create Boss Map",
			"Steps": [
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "base",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.SetLayerStep", "Layer": "Level_3", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectAutotiler", "Index": 0, "Priority": 10 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SetTilemapStep", "Tilemap": "base-mansion-tileset_0", "Priority": 20},
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateGossRixBossMapStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.SelectBossObjectiveStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.ApplyObjectiveToMapStep", "Priority": 300 }
					],
					"Priority": 0
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "decorate",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.DecorateFloorStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateShadowLayerIfNecessaryStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateRoofLayerIfNecessaryStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateWallLayerIfNecessaryStep", "Priority": 300 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateCollisionLayerIfNecessaryStep", "Priority": 400 }
					],
					"Priority": 100
				},
				{
					"@type": "Retrodreamer.Monocles.Gen2.Phase",
					"Id": "construct",
					"Steps": [
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateTilemapStep", "Priority": 0 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreatePropsStep", "Priority": 100 },
						{ "@type": "Retrodreamer.Monocles.Gen2.CreateObjectiveStep", "Priority": 200 },
						{ "@type": "Retrodreamer.Monocles.Gen2.FinalizeMapStep", "Priority": 300 }
					],
					"Priority": 200
				}
			],
			"Priority": 300
		},
		{
			"@type": "Retrodreamer.Monocles.Gen2.Phase",
			"Id": "Finalize Zone",
			"Steps": [
				{ "@type": "Retrodreamer.Monocles.Gen2.CreateZoneTransitionsStep", "Priority": 0 },
				{ "@type": "Retrodreamer.Monocles.Gen2.RemoveVestigialObjectsStep", "Priority": 100 }
			],
			"Priority": 400
		}
	]
}
