#include "ZoneNsWaves.h"

WaveConstants ZoneNsWaves::GetConstants() {
	return {
		60,
		2,
		6,
		2,
		"surprise",
		"intro"
	};
}

std::vector<std::string> ZoneNsWaves::GetSpawnerNames() {
	return {
		"Base_MobA",
		"Base_MobB",
		"Base_MobC",
		"MobA_01",
		"MobB_01",
		"MobC_01",
		"MobA_02",
		"MobB_02",
		"MobC_02",
		"MobA_03",
		"MobB_03",
		"MobC_03",
		"Reward_01",
		"Base_Reward",
		"Obstacle_01",
		"Boss",
		"Ape_Boss",
		"Geyser_01",
		"Treasure_01",
		"Cavalry_Boss",
		"Horseman_01",
		"Horseman_02",
		"Horseman_03",
		"Horseman_04"
	};
}

std::vector<WaveMission> ZoneNsWaves::GetWaveMissions() {
	return {
		{190, 7, 1242},
		{240, 7, 1226},
		{450, 15, 1243},
		{600, 15, 1227},
		{720, 22, 1244},
		{840, 22, 1228},
		{1080, 29, 1245},
		{1200, 29, 1229},
	};
}

std::vector<Wave> ZoneNsWaves::GetWaves() {
	return {
		// Wave 1
		Wave {
			std::vector<MobDefinition> {
				{ SpawnLOTS::stromling_minifig, 8, GetSpawnerName(SpawnerName::interior_A) },
				{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::ag_A) },
				{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::concert_A) },
				{ SpawnLOTS::stromling_minifig, 2, GetSpawnerName(SpawnerName::gf_A) },
			}
		},

		// Wave 2
		Wave {
			std::vector<MobDefinition> {
				{ SpawnLOTS::stromling, 8, GetSpawnerName(SpawnerName::interior_A) },
				{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::ag_A) },
				{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
				{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
			}
		},

			// Wave 3
			Wave {
				std::vector<MobDefinition> {
					{ SpawnLOTS::stromling, 4, GetSpawnerName(SpawnerName::interior_A) },
					{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
					{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::ag_A) },
					{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::concert_A) },
					{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::gf_A) },
				},
			},

			// Wave 4
			Wave {
				std::vector<MobDefinition> {
					{ SpawnLOTS::stromling, 3, GetSpawnerName(SpawnerName::interior_A) },
					{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::interior_B) },
					{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::ag_A) },
					{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
					{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
					{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
					{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
					{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
				}
			},

						// Wave 5
						Wave {
							std::vector<MobDefinition> {
								{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::interior_A) },
								{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::interior_C) },
								{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
								{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
								{ SpawnLOTS::stromling, 1, GetSpawnerName(SpawnerName::concert_A) },
								{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
								{ SpawnLOTS::stromling, 1, GetSpawnerName(SpawnerName::gf_A) },
								{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
							}
						},

				// Wave 6
				Wave {
					std::vector<MobDefinition> {
						{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::interior_A) },
						{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
						{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::interior_C) },
						{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
						{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
						{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
						{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::concert_A) },
						{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
						{ SpawnLOTS::stromling, 2, GetSpawnerName(SpawnerName::gf_A) },
						{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_B) },
					}
				},

							// Wave 7
							Wave {
								std::vector<MobDefinition> {
									{ SpawnLOTS::stromling_boss, 1, GetSpawnerName(SpawnerName::Boss) },
								},
								{1885},
								{},
								"Stromling_Boss",
								5.0f
							},

					// Wave 8
					Wave {
						std::vector<MobDefinition> {
							{SpawnLOTS::mushroom, 6, GetSpawnerName(SpawnerName::Reward_01) },
							{SpawnLOTS::mushroom, 3, GetSpawnerName(SpawnerName::interior_Reward) },
						}, {}, {}, "", -1.0f,
						25,
					},

										// Wave 9
										Wave {
											std::vector<MobDefinition> {
												{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
												{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
											}
										},

								// Wave 10
								Wave {
									std::vector<MobDefinition> {
										{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
										{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_B) },
										{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
										{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_B) },
										{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
										{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_B) },
										{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
										{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::gf_B) },
									}
								},

											// Wave 11
											Wave {
												std::vector<MobDefinition> {
													{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
													{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::interior_C) },
													{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
													{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
													{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
													{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::concert_C) },
													{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
													{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::gf_C) },
												}
											},

									// Wave 12
									Wave {
										std::vector<MobDefinition> {
											{ SpawnLOTS::pirate, 4, GetSpawnerName(SpawnerName::interior_A) },
											{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::interior_B) },
											{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::interior_C) },
											{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::ag_B) },
											{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_C) },
											{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
											{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_C) },
											{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
											{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_C) },
										}
									},

												// Wave 13
												Wave {
													std::vector<MobDefinition> {
														{ SpawnLOTS::pirate, 3, GetSpawnerName(SpawnerName::interior_A) },
														{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_B) },
														{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
														{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_B) },
														{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
														{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_B) },
														{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
														{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
													}
												},

										// Wave 14
										Wave {
											std::vector<MobDefinition> {
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::interior_A) },
												{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_B) },
												{ SpawnLOTS::mech, 2, GetSpawnerName(SpawnerName::interior_C) },
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::ag_A) },
												{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_B) },
												{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::ag_C) },
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
												{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_B) },
												{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::concert_C) },
												{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
												{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_B) },
												{ SpawnLOTS::mech, 1, GetSpawnerName(SpawnerName::gf_C) },
											}
										},

													// Wave 15
													Wave {
														std::vector<MobDefinition> {
															{ SpawnLOTS::ape_boss, 1, GetSpawnerName(SpawnerName::Ape_Boss) },

														},
														{1886},
														{},
														"Gorilla_Boss",
														5.0f
													},

											// Wave 16
											Wave {
												std::vector<MobDefinition> {
													{SpawnLOTS::outhouse, 3, GetSpawnerName(SpawnerName::interior_Reward) },
													{SpawnLOTS::mushroom, 6, GetSpawnerName(SpawnerName::Reward_01) },
												}, {}, {}, "", -1.0f,
												25,
											},

																// Wave 17
																Wave {
																	std::vector<MobDefinition> {
																		{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::interior_A) },
																		{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::interior_B) },
																		{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::ag_A) },
																		{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_B) },
																		{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::concert_A) },
																		{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::concert_B) },
																		{ SpawnLOTS::hammerling_melee, 1, GetSpawnerName(SpawnerName::gf_A) },
																		{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::gf_B) },
																	}
																},

														// Wave 18
														Wave {
															std::vector<MobDefinition> {
																{ SpawnLOTS::hammerling_melee, 4, GetSpawnerName(SpawnerName::interior_A) },
																{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::interior_B) },
																{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::concert_A) },
																{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::concert_B) },
																{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::ag_A) },
																{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::ag_B) },
																{ SpawnLOTS::hammerling_melee, 2, GetSpawnerName(SpawnerName::gf_A) },
																{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::gf_B) },
															}
														},

																	// Wave 19
																	Wave {
																		std::vector<MobDefinition> {
																			{ SpawnLOTS::hammerling, 4, GetSpawnerName(SpawnerName::interior_A) },
																			{ SpawnLOTS::sentry, 2, GetSpawnerName(SpawnerName::interior_B) },
																			{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::ag_A) },
																			{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::ag_B) },
																			{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::concert_A) },
																			{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::concert_B) },
																			{ SpawnLOTS::hammerling, 2, GetSpawnerName(SpawnerName::gf_A) },
																			{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::gf_B) },
																		}
																	},

															// Wave 20
															Wave {
																std::vector<MobDefinition> {
																	{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
																	{ SpawnLOTS::sentry, 2, GetSpawnerName(SpawnerName::interior_B) },
																	{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::interior_C) },
																	{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::ag_A) },
																	{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::ag_B) },
																	{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_C) },
																	{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::concert_A) },
																	{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::concert_B) },
																	{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_C) },
																	{ SpawnLOTS::hammerling, 1, GetSpawnerName(SpawnerName::gf_A) },
																	{ SpawnLOTS::sentry, 1, GetSpawnerName(SpawnerName::gf_B) },
																	{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_C) },
																}
															},

																		// Wave 21
																		Wave {
																			std::vector<MobDefinition> {
																				{ SpawnLOTS::admiral, 2, GetSpawnerName(SpawnerName::interior_A) },
																				{ SpawnLOTS::ronin, 2, GetSpawnerName(SpawnerName::interior_B) },
																				{ SpawnLOTS::spiderling_ve, 2, GetSpawnerName(SpawnerName::interior_C) },
																				{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::ag_A) },
																				{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::ag_B) },
																				{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_C) },
																				{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::concert_A) },
																				{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::concert_B) },
																				{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_C) },
																				{ SpawnLOTS::admiral, 1, GetSpawnerName(SpawnerName::gf_A) },
																				{ SpawnLOTS::ronin, 1, GetSpawnerName(SpawnerName::gf_B) },
																				{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_C) },
																			}
																		},

																// Wave 22
																Wave {
																	std::vector<MobDefinition> {
																		{ SpawnLOTS::spiderling_boss, 1, GetSpawnerName(SpawnerName::Cavalry_Boss) },
																	},
																	{1887},
																	{},
																	"Spiderling_Boss",
																	5.0f
																},

																			// Wave 23
																			Wave {
																				std::vector<MobDefinition> {
																					{ SpawnLOTS::outhouse, 6, GetSpawnerName(SpawnerName::Reward_01) },
																					{ SpawnLOTS::outhouse, 3, GetSpawnerName(SpawnerName::interior_Reward) },
																					{ SpawnLOTS::maelstrom_chest, 4, GetSpawnerName(SpawnerName::Obstacle) },
																				}, {}, {}, "", -1.0f,
																				25,
																			},

																			// Wave 24
																			Wave {
																				std::vector<MobDefinition> {
																					{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::gf_A) },
																					{ SpawnLOTS::pirate, 2, GetSpawnerName(SpawnerName::concert_A) },
																					{ SpawnLOTS::pirate, 3, GetSpawnerName(SpawnerName::ag_A) },
																					{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
																					{ SpawnLOTS::ronin, 2, GetSpawnerName(SpawnerName::interior_B) },
																				}
																			},

																						// Wave 25
																						Wave {
																							std::vector<MobDefinition> {
																								{ SpawnLOTS::cavalry, 2, GetSpawnerName(SpawnerName::interior_A) },
																								{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::interior_B) },
																								{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::ag_B) },
																								{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::gf_B) },
																								{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_B) },
																								{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::gf_A) },
																								{ SpawnLOTS::spiderling, 2, GetSpawnerName(SpawnerName::concert_A) },
																								{ SpawnLOTS::spiderling, 1, GetSpawnerName(SpawnerName::ag_A) },
																							}
																						},

																				// Wave 26
																				Wave {
																					std::vector<MobDefinition> {
																						{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_A) },
																						{ SpawnLOTS::ronin, 3, GetSpawnerName(SpawnerName::interior_B) },
																						{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::ag_B) },
																						{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::gf_B) },
																						{ SpawnLOTS::spiderling_ve, 1, GetSpawnerName(SpawnerName::concert_B) },
																						{ SpawnLOTS::admiral_cp, 2, GetSpawnerName(SpawnerName::gf_C) },
																						{ SpawnLOTS::admiral_cp, 2, GetSpawnerName(SpawnerName::ag_C) },
																						{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_C) },
																					}
																				},

																							// Wave 27
																							Wave {
																								std::vector<MobDefinition> {
																									{ SpawnLOTS::ronin, 5, GetSpawnerName(SpawnerName::interior_A) },
																									{ SpawnLOTS::ronin, 4, GetSpawnerName(SpawnerName::interior_B) },
																									{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::ag_C) },
																									{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::gf_C) },
																									{ SpawnLOTS::cavalry, 1, GetSpawnerName(SpawnerName::concert_C) },
																									{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::ag_B) },
																									{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::gf_B) },
																									{ SpawnLOTS::admiral_cp, 1, GetSpawnerName(SpawnerName::concert_B) },
																								}
																							},

																					// Wave 28
																					Wave {
																						std::vector<MobDefinition> {
																							{ SpawnLOTS::dragon_statue, 12, GetSpawnerName(SpawnerName::Reward_01) },
																						}, {}, {}, "", -1.0f,
																						30,
																					},

																								// Wave 29
																								Wave {
																									std::vector<MobDefinition> {
																										{ SpawnLOTS::horseman_boss01, 1, GetSpawnerName(SpawnerName::Horseman_01) },
																										{ SpawnLOTS::horseman_boss02, 1, GetSpawnerName(SpawnerName::Horseman_02) },
																										{ SpawnLOTS::horseman_boss03, 1, GetSpawnerName(SpawnerName::Horseman_03) },
																										{ SpawnLOTS::horseman_boss04, 1, GetSpawnerName(SpawnerName::Horseman_04) },
																									},
																									{1888},
																									{1236, 1237, 1249},
																									"Horsemen_Boss",
																									5.0f
																								},

																								// Wave 30 (treasure)
																								Wave {
																									std::vector<MobDefinition> {
																										{ SpawnLOTS::treasure_chest, 1, GetSpawnerName(SpawnerName::Treasure_01) },
																									}, {}, {},
																									"Treasure_Camera",
																									5.0f,
																									(uint32_t)-1,
																									true,
																									30,
																								},
	};
}

std::string ZoneNsWaves::GetSpawnerName(SpawnerName spawnerName) {
	switch (spawnerName) {
	case interior_A:
		return "Base_MobA";
	case interior_B:
		return "Base_MobB";
	case interior_C:
		return "Base_MobC";
	case gf_A:
		return "MobA_01";
	case gf_B:
		return "MobB_01";
	case gf_C:
		return "MobC_01";
	case concert_A:
		return "MobA_02";
	case concert_B:
		return "MobB_02";
	case concert_C:
		return "MobC_02";
	case ag_A:
		return "MobA_03";
	case ag_B:
		return "MobB_03";
	case ag_C:
		return "MobC_03";
	case Reward_01:
		return "Reward_01";
	case interior_Reward:
		return "Base_Reward";
	case Obstacle:
		return "Obstacle_01";
	case Boss:
		return "Boss";
	case Ape_Boss:
		return "Ape_Boss";
	case Geyser:
		return "Geyser_01";
	case Treasure_01:
		return "Treasure_01";
	case Cavalry_Boss:
		return "Cavalry_Boss";
	case Horseman_01:
		return "Horseman_01";
	case Horseman_02:
		return "Horseman_02";
	case Horseman_03:
		return "Horseman_03";
	case Horseman_04:
		return "Horseman_04";
	default:
		return "";
	}
}