_LOADED["level/core/club/common_elements.lua"] = nil;
require("level/core/club/common_elements.lua");

-- Style overrides
SetDefaultStyle(ClubStyle);

MakeState{
	type="StateCoreLevel",
	levelId = 14,

	-- Customer Factory
	customerFactory = {
		
		locations = {
			{ x = -50, y = 168 },
		},		

		customers = {
			{
				name = {"ClubNewlywedMale", "ClubLocalLovebird","ClubNewlywedFemale"},
				nextWave = 3,
			},
			{
				name = {"ClubTexasTycoonBasic", "ClubAmericasFormerTopModelBasic","ClubNewlywedFemale"},
				nextWave = 5,
			},
			{
				name = {"ClubTexasTycoonBasic", "ClubConventionGeekBasic", "ClubNewlywedMale"},
				nextWave = 19,
			},
			
			{
				name = {"ClubLocalLovebird", "ClubTexasTycoonBasic"},
				nextWave = 31,
			},
			
			{
				name = {"ClubConventionGeekBasic","ClubNewlywedFemale"},
				nextWave = 15,
			},
			{
				name = {"ClubAmericasFormerTopModelBasic"},
				nextWave = 20,
			},
			
			{
				name = {"ClubFemale1Basic", "ClubNewlywedMale", "ClubFemale1Basic"},
				nextWave = 26,
			},
			{
				name = {"ClubOldTimerFemaleBasic", "ClubJapaneseExecutiveBasic", "ClubOldTimerFemaleBasic"},
				nextWave = 26,
			},
			
			-- Spawnable customers
			--[[
				-- Basic customers
				-- Add 'Basic' to the name before both extra stations are available
				-- e.g. 'ClubJapaneseExecutiveBasic'
				-----------------------------------
				ClubJapaneseExecutive				-- Margarita, Conga
				ClubFemale1							-- Cuba Libre, Conga
				ClubOldTimerFemale					-- Daiquiri, Square Dance
				ClubOldTimerMale					-- Wildcard, Square Dance or Conga
				
				-- Advanced customers
				-----------------------------------
				ClubConventionGeek						-- Daiquiri or Margarita, Cuba Libre or Cooking
				
				ClubNewlywedMale						-- Cuba Libre or Cooking, Tango
				ClubNewlywedFemale						-- Daiquiri or Margarita, Tango
				
				ClubLocalLovebird						-- Cooking, Wildcard, Tango
				ClubTexasTycoon							-- Combination, Cooking, Square Dance
				
				ClubAmericasFormerTopModel				-- Margarita, Cooking or Combination, Tango
				ClubFemale2								-- Daiquiri, Cooking or Combination, Conga or Square Dance
			]]
		},
	},

	-- Goals
	targetMoney = 580,
	parTime = 185000,
	targetStars = 95,
	goals = {
		
		-- Level quota. Must match targetMoney above
		--------------------------------------------------------		
		{
			type = kClosingTimeWin,
			description = GetString("Goal_ClosingTime", "580"),
			quantity = 1,
			icon = goalIconsTable[kClosingTimeWin],
		},
		
		-- Par Time. Must match parTime above
		--------------------------------------------------------
		{
			type = kEndLevelInLessThan,
			description = GetString("Goal_CompleteBefore", "3:05"),
			quantity = 1,
			condition = 185000,
			optional = true,
			group = kGoalLessThan,
			icon = goalIconsTable[kEndLevelInLessThan],
		},
		
		-- Quality Stars. Must match targetStars above
		--------------------------------------------------------
		{
			type = kHaveStars,
			description = GetString("Goal_Stars", "95"),
			quantity = 1,
			condition = 95,
			optional = true,
			icon = goalIconsTable[kHaveStars],
		},
		
		-- Losing condition. Must match targetMoney above
		--------------------------------------------------------
		{
			type = kClosingTimeLose,
			description = GetString("Goal_ClosingTime", "580"),
			quantity = 1,
			loosingCondition = true,
			icon = goalIconsTable[kClosingTimeLose],
		},
		
	},
		
	-------------------------------------------------------------------------
	-- Graphic content
	
	CreateBackground();

	BlgContainer {
		name = "gameLayer",
		enableZSorting = true,

		CreateStations(3);
		
		CreateDecos();
		CreateTimedDecos(1);
	},

	CreateBaseLevelControls(),
};

SetDefaultStyle(nil);