#include "scripts/mapEnemies/MapEnemies_Level04.txt"
#include "scripts/mapEnemies/MapEnemies_Level05.txt"
#include "scripts/mapEnemies/MapEnemies_Level06.txt"
#include "scripts/mapEnemies/MapEnemies_Level07.txt"
#include "scripts/mapEnemies/MapEnemies_Level08.txt"
#include "scripts/mapEnemies/MapEnemies_Level09.txt"
#include "scripts/mapEnemies/MapEnemies_Level10.txt"
#include "scripts/mapEnemies/MapEnemies_Level11.txt"
#include "scripts/mapEnemies/MapEnemies_Level52.txt"
#include "scripts/mapEnemies/MapEnemies_Level53.txt"
#include "scripts/mapEnemies/MapEnemies_Level56.txt"

namespace MapEnemies {
	//------------------------------------------------------------------------------------------------------------------------
    void Setup(TurokEnemy @e) {
		
		//if in a challenge map and is a normal enemy on map then remove the enemy
		if (Game.GetCurrentMapID() > 53 and e.bpEnemyID == -1) {
			e.self.Remove();
			return;
		}
		
		switch (Game.GetCurrentMapID())
		{
			case 56: //Pistol Challenge
				Map56Enemies::Setup(@e);
				break;
			case 53: //Arena
				Map53Enemies::Setup(@e);
				break;
			case 52: //shop
				Map52Enemies::Setup(@e);
				break;
			case 4: //1a
				Map04Enemies::Setup(@e);
				break;
			case 5: //1b
				Map05Enemies::Setup(@e);
				break;
			case 6: //2a
				Map06Enemies::Setup(@e);
				break;
			case 7: //2b
				Map07Enemies::Setup(@e);
				break;
			case 8: //3a
				Map08Enemies::Setup(@e);
				break;
			case 9: //3b
				Map09Enemies::Setup(@e);
				break;
			case 10: //4a
				Map10Enemies::Setup(@e);
				break;
			case 11: //4b
				Map11Enemies::Setup(@e);
				break;
			default:
				break;
		}
    }
	//------------------------------------------------------------------------------------------------------------------------
}
