//
//Brush Scripting
//Map: game_manager
//Last edited by: Marko  http://markoweb.free.fr
//
//=SC=Beef - Removed access to the 'secret' rooms. www.silent-clan.com

game_manager
{
	spawn
	{
		accum 1 set 0		
		accum 2 set 0
		accum 3 set 0
		accum 4 set 0
		accum 5 set 0
		accum 6 set 0

		// Game rules
		wm_axis_respawntime	15
		wm_allied_respawntime	10
		wm_number_of_objectives 6
		wm_set_round_timelimit	25

		
		// Objective overview status indicators
		//wm_objective_status <objective> <team (0=Axis, 1=Allies)> <status (0=neutral 1=complete 2=failed)>
		wm_objective_status 1 1 0 //trenches bunker flag
		wm_objective_status 1 0 0 //
		wm_objective_status 2 1 0 //the  bunker door
		wm_objective_status 2 0 0 //
		wm_objective_status 3 1 0 //the main base gate
		wm_objective_status 3 0 0 //
		wm_objective_status 4 1 0 //the radio beacon
		wm_objective_status 4 0 0 //
		wm_objective_status 5 1 0 //the generator
		wm_objective_status 5 0 0 //
		wm_objective_status 6 1 0 //the battery
		wm_objective_status 6 0 0 //
	
		
		// Stopwatch mode defending team (0=Axis, 1=Allies)
		wm_set_defending_team	0

		// If the round timer expires, the Axis have won, so set the current winning team
		// Set the round winner:  0 == AXIS, 1 == ALLIED
		wm_setwinner 0

		wait 50

		setautospawn	"Axis start"	0
		setautospawn	"Beach"		1
		setstate axisspawnstart_obj invisible	
		setstate cbunker_blob invisible
		setstate cp_bunker_door_open invisible
		setstate tele invisible
		setstate tele_pub invisible
		remapshader "ui/assets/3_cursor3" "textures/mlb_basic/cursor"
		remapshader "gfx/limbo/spectator" "textures/mlb_basic/logospec"	
		remapshader "gfx/limbo/limbo_back" "textures/mlb_basic/limbologo"
		remapshader "gfx/misc/binocsimple" "textures/mlb_basic/bino"	
		remapshader "gfx/misc/reticlesimple" "textures/mlb_basic/reti"			
		remapshaderflush			
		alertentity t550
		accum 9 set 0
		accum 8 set 0
		accum 4 set 0

		wait 1500
		setstate td_materials default

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "battery_axis_bunker_defend"
		wm_addteamvoiceannounce 0 "radar_axis_entrances_defend"
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

		wm_addteamvoiceannounce 1 "battery_allies_bunker_capture"
		wm_addteamvoiceannounce 1 "radar_allies_entrances_destroy"
		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

		wm_teamvoiceannounce 0 "battery_axis_bunker_defend"
		wm_teamvoiceannounce 0 "radar_axis_entrances_defend"
		wm_teamvoiceannounce 0 "axis_hq_compost_construct"

		wm_teamvoiceannounce 1 "battery_allies_bunker_capture"
		wm_teamvoiceannounce 1 "radar_allies_entrances_destroy"
		wm_teamvoiceannounce 1 "allies_hq_compost_construct"
		// *---------------------------------------------------------------------------------*


	}

	trigger victory
	{
		wm_announce	"^6Allies have destroyed the battery!!!!!!!"
		wm_setwinner 1
		wait 1000
		wm_endround
	}

	trigger flag_clear
	{
		accum 8 abort_if_not_equal 0
		accum 4 abort_if_not_equal 0
		setstate cbunker_blob default
		setstate cp_bunker_door invisible
		setstate cp_bunker_door_open default
		alertentity xblob1	
		alertentity aspawn
		alertentity aspawn1
		alertentity axisspawn
		setautospawn	"Axis base"		0
		setautospawn	"Canyon Bunker"	1
		accum 8 set 1

		
	}
	trigger flag_clear1
	{
		accum 5 abort_if_not_equal 0
		accum 4 abort_if_not_equal 1
		setstate cbunker_blob default	
		setstate cp_bunker_door invisible
		setstate cp_bunker_door_open default
		alertentity aspawn1
		alertentity axisspawn
		setautospawn	"Axis base"		0
		setautospawn	"Canyon Bunker"	1
		accum 5 set 1

		
	}	
	trigger beach_flagblue
	{
		
				
		alertentity aspawn
		alertentity xblob1
		wm_announce	"Allies capture the forward spawn!"
		accum 4 set 1
		// *----------------------------------- vo ------------------------------------------*

		wm_addteamvoiceannounce 1 "radar_allies_entrance1_destroy"
		wm_addteamvoiceannounce 1 "radar_allies_entrance2_destroy"
		wm_addteamvoiceannounce 0 "battery_axis_bunker_defend"
		wm_addteamvoiceannounce 0 "radar_axis_entrance1_defend"
		wm_addteamvoiceannounce 0 "radar_axis_entrance2_defend"

		wm_removeteamvoiceannounce 1 "battery_allies_bunker_capture"
		wm_removeteamvoiceannounce 0 "radar_axis_entrances_defend"

		wm_teamvoiceannounce 0 "battery_axis_bunker_lost"
		wm_teamvoiceannounce 0 "battery_axis_bunker_defend"
		wm_teamvoiceannounce 0 "radar_axis_entrance1_defend"
		wm_teamvoiceannounce 0 "radar_axis_entrance2_defend"

		wm_teamvoiceannounce 1 "battery_allies_bunker_captured"
		wm_teamvoiceannounce 1 "radar_allies_entrance1_destroy"
		wm_teamvoiceannounce 1 "radar_allies_entrance2_destroy"

		// *---------------------------------------------------------------------------------*
		setautospawn	"Trenches Flag"	1				
	}
	
	trigger beach_flagred
	{
	
		wm_announce	"Axis reclaim the forward spawn!"
	trigger game_manager spawns
		accum 4 set 0
		// *----------------------------------- vo ------------------------------------------*

		wm_addteamvoiceannounce 1 "battery_allies_bunker_capture"
		wm_addteamvoiceannounce 0 "radar_axis_entrances_defend"

		wm_removeteamvoiceannounce 0 "battery_axis_bunker_defend"
		wm_removeteamvoiceannounce 0 "radar_axis_entrance1_defend"
		wm_removeteamvoiceannounce 0 "radar_axis_entrance2_defend"

		wm_teamvoiceannounce 0 "battery_axis_bunker_captured"
		wm_teamvoiceannounce 0 "radar_axis_entrances_defend"

		wm_teamvoiceannounce 1 "battery_allies_bunker_lost"
		wm_teamvoiceannounce 1 "battery_allies_bunker_capture"

		// *---------------------------------------------------------------------------------*
		
	}
	
	trigger spawns
	{
	
		accum 4 abort_if_not_equal 1
		alertentity aspawn
		alertentity xblob1
		setautospawn	"Beach"	1

	}
	trigger invisible
	{
		setstate b-17 invisible	
	}

	trigger radio
	{
		wm_announce	"^1Warning: ^3B17 Bomber approaching"
		wait 5000
		alertentity b-17
		trigger b-17 move

	
	}
	trigger boom
	{
		alertentity bay
		alertentity t654
		alertentity aspawn2
		setstate bomb invisible		
		setstate t652 invisible
		//setstate xblob1 invisible
		trigger oldcityflag kill
		setautospawn	"Axis battery"	0
		setautospawn	"Axis base"		1

		// *----------------------------------- vo ------------------------------------------*		
		wm_addteamvoiceannounce 1 "battery_allies_generator_destroy"
		wm_addteamvoiceannounce 0 "battery_axis_generator_defend"

		wm_removeteamvoiceannounce 0 "axis-deftower1_mixed"
		wm_removeteamvoiceannounce 0 "axis-noplane1_mixed"

		wm_teamvoiceannounce 0 "axis-mag3_mixed"
		wm_teamvoiceannounce 0 "battery_axis_generator_defend"

		wm_teamvoiceannounce 1 "battery_allies_generator_destroy"

		// *---------------------------------------------------------------------------------*

	}
	trigger bomb_move
	{
		trigger bomb move	
	}
	
	trigger acc
	{		
		globalaccum 1 abort_if_not_equal 3
		globalaccum 2 abort_if_not_equal 1
		globalaccum 3 abort_if_not_equal 2
		globalaccum 4 abort_if_not_equal 0
		globalaccum 1 set 0
		globalaccum 2 set 0
		globalaccum 3 set 0
		globalaccum 4 set 0
		wm_announce	"^1axs!"			
		wait 1000		
		setstate tele_pub default
		wait 100
		setstate tele_pub invisible	
	}
	trigger pub_passed
	{
		globalaccum 4 abort_if_not_equal 100		
		wait 1000		
		setstate tele_pub default
		wait 1000
		setstate tele_pub invisible		
	}	
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

acc1
{
	activate
	{
		globalaccum 1 inc 1
		trigger game_manager acc
		wait 10000
		globalaccum 1 set 0				
	}
}	
acc2
{
	activate
	{
		globalaccum 2 inc 1
		trigger game_manager acc
		wait 10000
		globalaccum 2 set 0				
	}
}	
acc3
{
	activate
	{
		globalaccum 3 inc 1
		trigger game_manager acc
		wait 10000
		globalaccum 3 set 0			
	}
}	
acc4
{
	activate
	{
		globalaccum 4 inc 1
		trigger game_manager pub_passed
		wait 20000
		globalaccum 4 set 0				
	}	
}
////////////////////////////////////////////////////////////////////////////////
ctal
{
	spawn
	{
		wait 200
		remove
		accum 0 set 3	
	}
	activate
	{
		accum 0 inc 1
		trigger self do				
	}
	trigger down
	{
		accum 0 inc -1
		trigger self do			
	}
	trigger do
	{
		accum 0 trigger_if_equal 0 ctal do_1
		accum 0 trigger_if_equal 1 ctal do_1
		accum 0 trigger_if_equal 2 ctal do_2
		accum 0 trigger_if_equal 3 ctal do_3
		accum 0 trigger_if_equal 4 ctal do_4
		accum 0 trigger_if_equal 5 ctal do_5
		accum 0 trigger_if_equal 6 ctal do_5				
	}
	trigger do_1
	{
		accum 0 set 1
		setchargetimefactor 1 soldier 2
		setchargetimefactor 1 lieutenant 2
		setchargetimefactor 1 medic 2
		setchargetimefactor 1 engineer 2
		setchargetimefactor 1 covertops 2
		setchargetimefactor 0 soldier 0.2
		setchargetimefactor 0 lieutenant 0.2
		setchargetimefactor 0 medic 0.2
		setchargetimefactor 0 engineer 0.2
		setchargetimefactor 0 covertops 0.2
		wm_announce	"^1Axis Chargetimebonus +2!"					
	}
	trigger do_2
	{
		setchargetimefactor 1 soldier 1.5
		setchargetimefactor 1 lieutenant 1.5
		setchargetimefactor 1 medic 1.5
		setchargetimefactor 1 engineer 1.5
		setchargetimefactor 1 covertops 1.5
		setchargetimefactor 0 soldier 0.6
		setchargetimefactor 0 lieutenant 0.6
		setchargetimefactor 0 medic 0.6
		setchargetimefactor 0 engineer 0.6
		setchargetimefactor 0 covertops 0.6	
		wm_announce	"^1Axis Chargetimebonus +1!"			
	}
	trigger do_3
	{
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		setchargetimefactor 0 soldier 1
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 1
		setchargetimefactor 0 engineer 1
		setchargetimefactor 0 covertops 1
		wm_announce	"^1Standard Chargetime!"						
	}
	trigger do_4
	{
		setchargetimefactor 1 soldier 0.6
		setchargetimefactor 1 lieutenant 0.6
		setchargetimefactor 1 medic 0.6
		setchargetimefactor 1 engineer 0.6
		setchargetimefactor 1 covertops 0.6
		setchargetimefactor 0 soldier 1.5
		setchargetimefactor 0 lieutenant 1.5
		setchargetimefactor 0 medic 1.5
		setchargetimefactor 0 engineer 1.5
		setchargetimefactor 0 covertops 1.5
		wm_announce	"^1Allied Chargetimebonus +1!"							
	}
	trigger do_5
	{
		accum 0 set 5
		setchargetimefactor 1 soldier 0.2
		setchargetimefactor 1 lieutenant 0.2
		setchargetimefactor 1 medic 0.2
		setchargetimefactor 1 engineer 0.2
		setchargetimefactor 1 covertops 0.2
		setchargetimefactor 0 soldier 2
		setchargetimefactor 0 lieutenant 2
		setchargetimefactor 0 medic 2
		setchargetimefactor 0 engineer 2
		setchargetimefactor 0 covertops 2	
		wm_announce	"^1Allied Chargetimebonus +2!"						
	}	
}
ctax
{
	activate
	{
		trigger ctal down						
	}
}
////////////////////////////////////////////////////////////////////////////////	
stal
{
	spawn
	{
		wait 200
		remove
		accum 0 set 3	
	}
	activate
	{
		accum 0 inc 1
		trigger self do				
	}
	trigger down
	{
		accum 0 inc -1
		trigger self do			
	}
	trigger do
	{
		accum 0 trigger_if_equal 0 stal do_1
		accum 0 trigger_if_equal 1 stal do_1
		accum 0 trigger_if_equal 2 stal do_2
		accum 0 trigger_if_equal 3 stal do_3
		accum 0 trigger_if_equal 4 stal do_4
		accum 0 trigger_if_equal 5 stal do_5
		accum 0 trigger_if_equal 6 stal do_5				
	}
	trigger do_1
	{
		accum 0 set 1	
		wm_axis_respawntime 15
		wm_allied_respawntime 20
		wm_announce	"^1Axis Spawntimebonus +2!"				
	}
	trigger do_2
	{
		wm_axis_respawntime 20
		wm_allied_respawntime 15	
		wm_announce	"^1Axis Spawntimebonus +1!"			
	}
	trigger do_3
	{
		wm_axis_respawntime 25
		wm_allied_respawntime 10	
		wm_announce	"^1Standard Spawntime!"				
	}
	trigger do_4
	{
		wm_axis_respawntime 30
		wm_allied_respawntime 5
		wm_announce	"^1Allied Spawntimebonus +1!"					
	}
	trigger do_5
	{
		accum 0 set 5	
		wm_axis_respawntime 35
		wm_allied_respawntime 2	
		wm_announce	"^1Allied Spawntimebonus +2!"			
	}	
}	
stax
{
	activate
	{
		trigger stal down				
	}
}
////////////////////////////////////////////////////////////////////////////////	
spal
{
	activate
	{
		//wm_announce	"^1Allied Special!"				
	}
}
////////////////////////////////////////////////////////////////////////////////	
spax
{
	activate
	{
		//wm_announce	"^1Axis Special!"					
	}
}	
////////////////////////////////////////////////////////////////////////////////	
bino_l
{
	activate
	{
		remapshader "gfx/misc/binocsimple" "textures/mlb_basic/bino"			
		remapshaderflush
		wm_announce	"^1Bino unlimited!"					
	}
}
bino_s
{
	activate
	{
		remapshader "gfx/misc/binocsimple" "textures/mlb_basic/bino_d"			
		remapshaderflush
		wm_announce	"^1Bino limited!"						
	}
}
////////////////////////////////////////////////////////////////////////////////
reti_l
{
	activate
	{
		remapshader "gfx/misc/reticlesimple" "textures/mlb_basic/reti"
		remapshaderflush
		wm_announce	"^1Scope unlimited!"					
	}
}
reti_s
{
	activate
	{
		remapshader "gfx/misc/reticlesimple" "textures/mlb_basic/reti_d"		
		remapshaderflush
		wm_announce	"^1Scope limited!"							
	}
}

sidedoor
{
	spawn
	{
		wait 300
		constructible_class 3
		accum 4 set 0
		trigger sidedoor spawn_change		
	}
	death
	{
		wm_objective_status 2 1 1 //the  bunker door
		wm_objective_status 2 0 2 //
		wm_announce	"Allies have blown the main beach bunker door!"
		// *----------------------------------- vo ------------------------------------------*

		wm_removeteamvoiceannounce 1 "radar_allies_entrance2_destroy"
		wm_removeteamvoiceannounce 0 "radar_axis_entrance2_defend"
		wm_removeteamvoiceannounce 0 "radar_axis_entrances_defend"

		wm_teamvoiceannounce 0 "radar_axis_entrance2_destroyed"		

		wm_teamvoiceannounce 1 "radar_allies_entrance2_destroyed"

		// *---------------------------------------------------------------------------------*
		trigger sidedoor main_gate
		trigger game_manager flag_clear
		trigger game_manager flag_clear1
		trigger oldcityflag kill

	}
	trigger spawn_change
	{
		wait 2000
		setautospawn	"Trenches Flag"	0
		alertentity axisspawnstart
		kill axisspawnstart_obj
	}
	trigger main_gate
	{
		accum 4 abort_if_not_equal 0
		wm_teamvoiceannounce 0 "radar_axis_entrance1_defend"
		wm_teamvoiceannounce 1 "radar_allies_entrance1_destroy"
	}
	trigger main_gate_destroyed
	{
		accum 4 set 1
	}
}



beachdoor
{
	spawn
	{
		wait 200
		constructible_class 3
	}

	death
	{
		wm_announce	"Allies have blown the lower beach bunker door!"
		alertentity newspawn
	}
}

basegate
{
	spawn
	{
		wait 300

		constructible_class 3
		accum 4 set 0
	}

	death
	{
		wm_announce	"Allies have breached axis base main gate!"
		wm_objective_status 3 1 1 //the main base gate
		wm_objective_status 3 0 2 //
		// *----------------------------------- vo ------------------------------------------*

		wm_removeteamvoiceannounce 1 "radar_allies_entrance1_destroy"
		wm_removeteamvoiceannounce 1 "radar_allies_entrances_destroy"
		wm_removeteamvoiceannounce 0 "radar_axis_entrance1_defend"
		wm_removeteamvoiceannounce 0 "radar_axis_entrances_defend"


		wm_addteamvoiceannounce 1 "ally-conbeac2_mixed"
		wm_addteamvoiceannounce 0 "axis-deftower1_mixed"
		wm_addteamvoiceannounce 0 "axis-noplane1_mixed"

		wm_teamvoiceannounce 0 "radar_axis_entrance1_destroyed"
		wm_teamvoiceannounce 0 "axis-deftower1_mixed"
		wm_teamvoiceannounce 0 "axis-noplane1_mixed"
		
		wm_teamvoiceannounce 1 "radar_allies_entrance1_destroyed"
		wm_teamvoiceannounce 1 "ally-conbeac2_mixed"

		// *---------------------------------------------------------------------------------*
		trigger sidedoor main_gate_destroyed
		trigger game_manager flag_clear
		trigger game_manager flag_clear1
		trigger oldcityflag kill

	}
}

gen
{
	spawn
	{
		wait 200

		constructible_class 3
	}

	death
	{
		trigger game_manager objective2
		wm_objective_status 5 1 1 //the generator
		wm_objective_status 5 0 2 //
		// *----------------------------------- vo ------------------------------------------*

		wm_removeteamvoiceannounce 1 "battery_allies_generator_destroy"
		wm_removeteamvoiceannounce 0 "battery_axis_generator_defend"

		wm_addteamvoiceannounce 0 "axis-defbattery1_mixed"
		wm_addteamvoiceannounce 1 "ally-desbat1"

		wm_teamvoiceannounce 0 "battery_axis_generator_destroyed"
		wm_teamvoiceannounce 0 "axis-defbattery1_mixed"

		wm_teamvoiceannounce 1 "battery_allies_generator_destroyed"
		wm_teamvoiceannounce 1 "ally-desbat1"

		// *---------------------------------------------------------------------------------*

	trigger frontdoor_left open
	trigger frontdoor_right open
	trigger rotor_right stop
	trigger rotor_left stop

	}
}


gun
{
	spawn
	{
		wait 200
		constructible_class 3
	}

	death
	{
		wm_objective_status 6 1 1 //the battery
		wm_objective_status 6 0 2 //
		setstate gun_go_away invisible
		wm_removeteamvoiceannounce 1 "ally-desbat1"
		trigger game_manager victory		
	}
}


oldcityflag
{
	trigger axis_capture
	{
		trigger game_manager beach_flagred
		wm_objective_status 1 1 0 //trenches bunker flag
		wm_objective_status 1 0 1 //
	}

	trigger allied_capture
	{
		trigger game_manager beach_flagblue
		wm_objective_status 1 1 1 //trenches bunker flag
		wm_objective_status 1 0 0 //
	}
	
	trigger kill
	{
		accum 1 abort_if_equal 1
		remove
		// *----------------------------------- vo ------------------------------------------*

		wm_removeteamvoiceannounce 1 "battery_allies_bunker_capture"
		wm_removeteamvoiceannounce 0 "battery_axis_bunker_defend"

		// *---------------------------------------------------------------------------------*
		accum 1 set 1
	}


}

// ================================================
// ============ NEUTRAL COMMAND POST ==============
// ================================================

allied_compost_built
{
	spawn
	{
		wait 400
		trigger allied_compost_built setup

		constructible_class 2
	}

	trigger setup
	{
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		sethqstatus 1 0
	}

	buildstart final
	{
		setstate allied_compost_built_model underconstruction
		setstate neutral_compost_closed_clip invisible
		setstate neutral_compost_closed_model invisible
	}

	built final
	{
		setstate allied_compost_built_model default
		setstate neutral_compost_closed_clip invisible
		setstate neutral_compost_closed_model invisible

		trigger allied_compost_built_model enable_allied_features

		enablespeaker allies_compost_sound
	}

	decayed final
	{
		setstate allied_compost_built_model invisible
		setstate neutral_compost_closed_clip default
		setstate neutral_compost_closed_model default
	}

	death
	{
		setstate allied_compost_built_model invisible
		setstate neutral_compost_closed_clip default
		setstate neutral_compost_closed_model default

		trigger allied_compost_built_model disable_allied_features

		disablespeaker allies_compost_sound
	}
}

allied_compost_built_model
{
	spawn
	{
		wait 400
		setstate allied_compost_built_model invisible
	}

	trigger enable_allied_features
	{
		setchargetimefactor 1 soldier 0.75
		setchargetimefactor 1 lieutenant 0.75
		setchargetimefactor 1 medic 0.75
		setchargetimefactor 1 engineer 0.75
		setchargetimefactor 1 covertops 0.75
		sethqstatus 1 1

		wm_announce	"Allied Command Post constructed. Charge speed increased!"

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"

		wm_teamvoiceannounce 1 "allies_hq_compost_constructed"

		wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"
		// *---------------------------------------------------------------------------------*

		wm_objective_status 2 0 2
		wm_objective_status 2 1 1
	}

	trigger disable_allied_features
	{
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		sethqstatus 1 0

		wm_announce	"Axis team has destroyed the Allied Command Post!"

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

		wm_teamvoiceannounce 0 "axis_hq_compost_construct"

		wm_teamvoiceannounce 1 "allies_hq_compost_damaged"
		// *---------------------------------------------------------------------------------*

		wm_objective_status 2 0 0
		wm_objective_status 2 1 0
	}
}

axis_compost_built
{
	spawn
	{
		wait 400
		trigger axis_compost_built setup

		constructible_class 2
	}

	trigger setup
	{
		setchargetimefactor 0 soldier 1
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 1
		setchargetimefactor 0 engineer 1
		setchargetimefactor 0 covertops 1
		sethqstatus 0 0
	}

	buildstart final
	{
		setstate axis_compost_built_model underconstruction
		setstate neutral_compost_closed_clip invisible
		setstate neutral_compost_closed_model invisible
	}

	built final
	{
		setstate axis_compost_built_model default
		setstate neutral_compost_closed_clip invisible
		setstate neutral_compost_closed_model invisible

		trigger axis_compost_built_model enable_axis_features

		enablespeaker axis_compost_sound
	}

	decayed final
	{
		setstate axis_compost_built_model invisible
		setstate neutral_compost_closed_clip default
		setstate neutral_compost_closed_model default
	}

	death
	{
		setstate axis_compost_built_model invisible
		setstate neutral_compost_closed_clip default
		setstate neutral_compost_closed_model default

		trigger axis_compost_built_model disable_axis_features

		disablespeaker axis_compost_sound
	}
}

axis_compost_built_model
{
	spawn
	{
		wait 400
		setstate axis_compost_built_model invisible
	}

	trigger enable_axis_features
	{
		setchargetimefactor 0 soldier 0.75
		setchargetimefactor 0 lieutenant 0.75
		setchargetimefactor 0 medic 0.75
		setchargetimefactor 0 engineer 0.75
		setchargetimefactor 0 covertops 0.75
		sethqstatus 0 1

		wm_announce	"Axis Command Post constructed. Charge speed increased!"

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed"

		wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis"

		wm_removeteamvoiceannounce 0 "axis_hq_compost_construct"
		// *---------------------------------------------------------------------------------*

		wm_objective_status 3 0 1
		wm_objective_status 3 1 2
	}

	trigger disable_axis_features
	{
		setchargetimefactor 0 soldier 1
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 1
		setchargetimefactor 0 engineer 1
		setchargetimefactor 0 covertops 1
		sethqstatus 0 0

		wm_announce	"Allied team has destroyed the Axis Command Post!"

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

		wm_teamvoiceannounce 0 "axis_hq_compost_damaged"

		wm_teamvoiceannounce 1 "allies_hq_compost_construct"
		// *---------------------------------------------------------------------------------*

		wm_objective_status 3 0 0
		wm_objective_status 3 1 0
	}

}



mg1nest
{
	spawn
	{
		wait 100

		constructible_class 1

		setstate mg1gun invisible
		setstate mg1_materials default
	}

	buildstart final
	{
		setstate mg1gun underconstruction
	}

	built final
	{
		setstate mg1gun default
		setstate mg1_materials invisible
		wm_teamvoiceannounce 0 "carnage2_mg_cons"
		wm_teamvoiceannounce 1 "carnage2_mg_cons"
		wm_announce	"Main beach bunker MG42 guns constructed"

	}

	decayed final
	{
		setstate mg1gun invisible
		setstate mg1_materials default
	}

	death
	{
		setstate mg1gun invisible
		setstate mg1_materials default
		repairmg42 mg1gun
		wm_announce	"Main beach bunker MG42 guns disabled"

	}
}


mg2nest
{
	spawn
	{
		wait 200

		constructible_class 1

		setstate mg2gun invisible
		setstate mg2_materials default
	}

	buildstart final
	{
		setstate mg2gun underconstruction
	}

	built final
	{
		setstate mg2gun default
		setstate mg2_materials invisible
		wm_announce	"Axis basement MG gun #1 constructed"

	}

	decayed final
	{
		setstate mg2gun invisible
		setstate mg2_materials default
	}

	death
	{
		setstate mg2gun invisible
		setstate mg2_materials default
		repairmg42 mg2gun
		wm_announce	"Axis basement MG gun #1 disabled"

	}
}

mg3nest
{
	spawn
	{
		wait 500

		constructible_class 1

		setstate mg3gun invisible
		setstate mg3_materials default
	}

	buildstart final
	{
		setstate mg3gun underconstruction
	}

	built final
	{
		setstate mg3gun default
		setstate mg3_materials invisible
		wm_announce	"canyon bunker MG42 guns constructed"

	}

	decayed final
	{
		setstate mg3gun invisible
		setstate mg3_materials default
	}

	death
	{
		setstate mg3gun invisible
		setstate mg3_materials default
		repairmg42 mg3gun
		wm_announce	"canyon bunker MG42 guns disabled"

	}
}

mg4nest
{
	spawn
	{
		wait 500

		constructible_class 1

		setstate mg4gun invisible
		setstate mg4_materials default
	}

	buildstart final
	{
		setstate mg4gun underconstruction
	}

	built final
	{
		setstate mg4gun default
		setstate mg4_materials invisible
		wm_announce	"canyon bunker MG42 guns constructed"

	}

	decayed final
	{
		setstate mg4gun invisible
		setstate mg4_materials default
	}

	death
	{
		setstate mg4gun invisible
		setstate mg4_materials default
		repairmg42 mg4gun
		wm_announce	"canyon bunker MG42 guns disabled"

	}
}

//**********************
//**** Echaffaudage ****
//**********************



td
{
	spawn
	{
		wait 200
		trigger td setup
		constructible_class 3
	}

	trigger setup
	{
		setstate const_td invisible
		setstate td_materials default
		setstate td_materials_clip default
		setstate td_flag default
	}

	buildstart final
	{
		setstate const_td underconstruction
		setstate td_materials default
		setstate td_materials_clip default
		setstate td_flag default

	}

	built final
	{
		setstate const_td default
		setstate td_materials invisible
		setstate td_materials_clip invisible
		setstate td_flag invisible

		wm_announce	"^6Allied team has built the Radio"
		wm_objective_status 4 1 1 //the radio beacon
		wm_objective_status 4 0 2 //
		wm_removeteamvoiceannounce 1 "ally-conbeac2_mixed"
		wm_teamvoiceannounce 1 "ally-radcon2"
		wm_teamvoiceannounce 0 "axis-radcon1"
		alertentity t550
		trigger game_manager radio

	}

	decayed final
	{
		setstate const_td invisible
		setstate td_materials default
		setstate td_materials_clip default
		setstate td_flag default
	}

	death
	{
		setstate const_td invisible
		setstate td_materials default
		setstate td_materials_clip default
		setstate td_flag default

		wm_announce	"^6Axis have destroyed the Radio"

	}
}

//-----------------------------
//--- Moving generator door ---
//-----------------------------

frontdoor_left
{
	spawn
	{
	}

	trigger open
	{
		wait 500
		playsound sound/movers/misc/big_gate1.wav volume 127
		wait 350
		enablespeaker frontdoor_sound
		gotomarker frontdoor_left_pc2 15 wait
		disablespeaker frontdoor_sound
		playsound sound/movers/misc/big_gate3.wav volume 127
	}
}

frontdoor_right
{
	spawn
	{
	}

	trigger open
	{
		wait 850
		gotomarker frontdoor_right_pc2 18 wait
		playsound sound/movers/misc/big_gate3.wav volume 127
	}
}




// *************************************************
// ***************** b-17 STUFF ********************
// *************************************************

b-17_sound
{
	trigger start
	{
		trigger b-17 sound_move
	}

}

//-------------------
//--- Flying b-17 ---
//-------------------


b-17
{
	spawn
	{
		wait 400
		faceangles 0 90 0 1
		trigger b-17_sound start
//		followspline 0 splnaa 50000 length 32 wait
//		followspline 0 splna 2000 length 32 wait
	}

	// ========================================
	// sound stuff

	trigger sound_move
	{
		stopsound
		playsound sound/vehicles/tank/tank_move.wav looping volume 1800
	}


// ===========================================================================================
// ===========================================================================================

	trigger run_continue
	{
		accum 3 inc 1
		trigger self move
	}


// ===========================================================================================
// movement

	trigger move_check
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3

		trigger self dispatch
	}

	trigger move
	{
		trigger self move_check

		wait 500

		trigger self move
	}

	trigger dispatch
	{
		accum 3 trigger_if_equal 0 b-17 run_0
		accum 3 trigger_if_equal 1 b-17 run_1
		accum 3 trigger_if_equal 2 b-17 run_2
		accum 3 trigger_if_equal 3 b-17 run_3
		accum 3 trigger_if_equal 4 b-17 run_4
		accum 3 trigger_if_equal 5 b-17 run_5
		accum 3 trigger_if_equal 6 b-17 run_6
		accum 3 trigger_if_equal 7 b-17 run_7
		accum 3 trigger_if_equal 8 b-17 run_8
		accum 3 trigger_if_equal 9 b-17 run_9
		accum 3 trigger_if_equal 10 b-17 run_10
		accum 3 trigger_if_equal 11 b-17 run_11
		accum 3 trigger_if_equal 12 b-17 run_12
		accum 3 trigger_if_equal 13 b-17 run_13
		accum 3 trigger_if_equal 14 b-17 run_14
		accum 3 trigger_if_equal 15 b-17 run_15
		accum 3 trigger_if_equal 16 b-17 run_16
		accum 3 trigger_if_equal 17 b-17 run_17
		accum 3 trigger_if_equal 18 b-17 run_18
		accum 3 trigger_if_equal 19 b-17 run_19
		accum 3 trigger_if_equal 20 b-17 run_20

	}

	trigger run_0
	{
		accum 1 bitset 2
		followspline 0 spln0 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_1
	{
		accum 1 bitset 2
		followspline 0 spln1 1800 wait length 32 roll 0 -2 dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_2
	{
		accum 1 bitset 2
		followspline 0 spln2 1800 wait length 32 roll -2 -2 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_3
	{

		accum 1 bitset 2
		followspline 0 spln3 1800 wait length 32 roll -4 +4 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_4
	{
		accum 1 bitset 2
		followspline 0 spln4 1800 wait length 32 roll 0 -5 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_5
	{

		accum 1 bitset 2
		followspline 0 spln5 1800 wait length 32 roll -5 0 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_6
	{
		accum 1 bitset 2
		followspline 0 spln6 1800 wait length 32 roll -5 -15 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_7
	{

		accum 1 bitset 2
		followspline 0 spln7 1800 wait length 32 roll -20 -10 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_8
	{

		accum 1 bitset 2
		followspline 0 spln8 1800 wait length 32 roll -30 0 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_9
	{

		accum 1 bitset 2
		followspline 0 spln9 1800 wait length 32 roll -30 +10 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_10
	{

		accum 1 bitset 2
		followspline 0 spln10 1800 wait length 32 roll -20 +10 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_11
	{
		accum 1 bitset 2
		followspline 0 spln11 1800 wait length 32 roll -10 +5 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_12
	{
		accum 1 bitset 2
		followspline 0 spln12 1800 wait length 32 roll -5 0 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_13
	{
		accum 1 bitset 2
		followspline 0 spln13 1800 wait length 32 roll -5 +5 dampin dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_14
	{
		accum 1 bitset 2
		followspline 0 spln14 1800 wait length 32
		accum 1 bitreset 2
		alertentity bomb
		trigger game_manager bomb_move
		trigger self run_continue
	}

	trigger run_15
	{
		accum 1 bitset 2
		followspline 0 spln15 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_16
	{
		accum 1 bitset 2
		followspline 0 spln16 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_17
	{
		accum 1 bitset 2
		followspline 0 spln17 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue

	}

	trigger run_18
	{
		accum 1 bitset 2
		followspline 0 spln18 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_19
	{
		accum 1 bitset 2
		followspline 0 spln19 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_20
	{

		accum 1 bitset 2
		followspline 0 spln20 1800 wait length 32
		accum 1 bitreset 2
	trigger game_manager invisible
		trigger self script_lockout

	}

// ===========================================================================================
// ===========================================================================================

	trigger stuck_check
	{
		accum 1 bitreset 3
		trigger self stuck_check_scriptlockout
		trigger self stuck_check_finished
	}

	trigger stuck_check_finished
	{
		accum 3 abort_if_less_than 21

		accum 1 bitset 3
	}

	trigger stuck_check_scriptlockout
	{
		accum 5 abort_if_equal 0

		accum 1 bitset 3
	}




// ===========================================================================================
// ===========================================================================================
// script lockouts

	trigger script_lockout
	{
		accum 5 inc 1
	}

	trigger script_lockout_stop
	{
		accum 5 inc -1
	}

}


//b-17_smoke
//{
//	spawn
//	{
//		wait 500
//		accum 0 set 0
//		attachtotag b-17_shell tag_smoke
//	}
//}

//********************
//*** Falling bomb ***
//********************
bomb
{
	spawn
	{
		wait 400
	}



// ===========================================================================================
// ===========================================================================================

	trigger run_continue
	{
		accum 3 inc 1
		trigger self move
	}


// ===========================================================================================
// movement

	trigger move_check
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3

		trigger self dispatch
	}

	trigger move
	{
		trigger self move_check

		wait 500

		trigger self move
	}

	trigger dispatch
	{
		accum 3 trigger_if_equal 0 bomb run_0
		accum 3 trigger_if_equal 1 bomb run_1

	}

	trigger run_0
	{
		accum 1 bitset 2
		followspline 0 splnb0 1800 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}


	trigger run_1
	{

		accum 1 bitset 2
		followspline 0 splnb1 1800 wait length 32
		accum 1 bitreset 2
		trigger game_manager boom
		trigger self script_lockout

	}

// ===========================================================================================
// ===========================================================================================

	trigger stuck_check
	{
		accum 1 bitreset 3
		trigger self stuck_check_scriptlockout
		trigger self stuck_check_finished
	}

	trigger stuck_check_finished
	{
		accum 3 abort_if_less_than 2

		accum 1 bitset 3
	}

	trigger stuck_check_scriptlockout
	{
		accum 5 abort_if_equal 0

		accum 1 bitset 3
	}




// ===========================================================================================
// ===========================================================================================
// script lockouts

	trigger script_lockout
	{
		accum 5 inc 1
	}

	trigger script_lockout_stop
	{
		accum 5 inc -1
	}

}


//*******************************
//*** Generator moving rotors ***
//*******************************

gene_hurt1
{
	spawn
	{
		wait 500
		setstate gene_hurt1 default
	}

	trigger stop
	{
		setstate gene_hurt1 invisible
		wait 100
		remove
	}
}

gene_hurt2
{
	spawn
	{
		wait 500
		setstate gene_hurt2 default
	}

	trigger stop
	{
		setstate gene_hurt2 invisible
		wait 100
		remove
	}
}

rotor_left
{
	spawn
	{
		wait 500
	trigger rotor_left move
	}
	trigger move
	{
		setrotation 0 0 500

	}

	trigger stop
	{
		wait 500
		setrotation 0 0 500
		wait 200
		setrotation 0 0 450
		wait 200
		setrotation 0 0 400
		wait 200
		setrotation 0 0 350
		wait 200
		setrotation 0 0 300
		wait 200
		setrotation 0 0 250
		wait 200
		setrotation 0 0 200
		wait 200
		setrotation 0 0 150
		wait 200
		setrotation 0 0 100
		wait 200
		setrotation 0 0 50
		wait 200
		setrotation 0 0 25
		wait 200
		setrotation 0 0 10
		stoprotation
	trigger gene_hurt1 stop
	}
}

rotor_right
{
	spawn
	{
		wait 500
	trigger rotor_right move
	}

	trigger move
	{
		setrotation 0 0 -500

	}

	trigger stop
	{
		wait 500
		setrotation 0 0 -500
		wait 200
		setrotation 0 0 -450
		wait 200
		setrotation 0 0 -400
		wait 200
		setrotation 0 0 -350
		wait 200
		setrotation 0 0 -300
		wait 200
		setrotation 0 0 -250
		wait 200
		setrotation 0 0 -200
		wait 200
		setrotation 0 0 -150
		wait 200
		setrotation 0 0 -100
		wait 200
		setrotation 0 0 -50
		wait 200
		setrotation 0 0 -25
		wait 200
		setrotation 0 0 -10
		stoprotation
	trigger gene_hurt2 stop
		alertentity gene_sound
	}
}

ladder_activation
{
	spawn
	{
		accum 1 set 1		//ladder status 0:down 1:up
		wait 100			// Wait for everything to settle
		setstate ladder_text invisible
	}
	activate axis
	{
		//accum 1 abort_if_not_equal 0
		//trigger ladder up1

	}
	activate allies
	{
		accum 1 abort_if_not_equal 1
		trigger ladder down1
		setstate ladder_text default
	}
	trigger up
	{
		accum 1 set 1
	}

	trigger down
	{
		accum 1 set 0
	}	
}

ladder1
{
	spawn
	{
		wait 500
	}

	trigger up
	{
		gotomarker pc_1 75
	trigger ladder_activation up

	}

	trigger down
	{
		gotomarker pc_2 75
		wait 500
		trigger ladder down2
	}
}

ladder2
{
	spawn
	{
	}

	trigger up2
	{
		gotomarker pc_1 75

	}
	trigger up1
	{
		gotomarker pc_2 75
		wait 500
		trigger ladder up3

	}

	trigger down1
	{
		gotomarker pc_2 75
	}
	trigger down2
	{
		gotomarker pc_3 75
		wait 500
		trigger ladder down3
	}
}
ladder3
{
	spawn
	{
		wait 500
	}

	trigger up3
	{
		gotomarker pc_1 75

	}
	trigger up2
	{
		gotomarker pc_2 75

	}
	trigger up1
	{
		gotomarker pc_3 75
		wait 500
		trigger ladder up2
	}
	trigger down1
	{
		gotomarker pc_2 75
	}
	trigger down2
	{
		gotomarker pc_3 75
	}
	trigger down3
	{
		gotomarker pc_4 75
	trigger ladder_activation down
	}
}
ladder
{
	spawn
	{
		wait 500
	}

	trigger up3
	{
		wait 500
		trigger ladder3 up3
		trigger ladder2 up2
		trigger ladder1 up

	}
	trigger up2
	{
		wait 500
		trigger ladder3 up2
		trigger ladder2 up1

	}
	trigger up1
	{
		wait 500
		trigger ladder3 up1
	}
	trigger down1
	{
		wait 500
		trigger ladder1 down
		trigger ladder2 down1
		trigger ladder3 down1
	}
	trigger down2
	{
		wait 500
		trigger ladder2 down2
		trigger ladder3 down2
	}
	trigger down3
	{
		wait 500
		trigger ladder3 down3
	}
}

