/////////////////////////////////////////////////////////////////
// Game scripts
/////////////////////////////////////////////////////////////////

game_manager
{
	spawn
	{
		wait 100
		
		// Set scenario information
		
		wm_axis_respawntime		20
		wm_allied_respawntime	20
		
		wm_number_of_objectives	8		
		
		wm_set_round_timelimit	20
		
		//  objectives 
		
		wm_objective_status		1 0	0  //"Supply Room"
		wm_objective_status		1 1	0  //"Supply Room"
		
		wm_objective_status		2 0	0  //"Radio Codes Booklet"
		wm_objective_status		2 1 0  //"Radio Codes Booklet"
		
		wm_objective_status		3 0	0  //"Radio Transmitter"
		wm_objective_status		3 1	0  //"Radio Transmitter"
		
		wm_objective_status		4 0	0  //"Village Tram Tower"
		wm_objective_status		4 1	0  //"Village Tram Tower"
		
		wm_objective_status		5 0	0  //"Lower Access Door"
		wm_objective_status		5 1	0  //"Lower Access Door"
		
		wm_objective_status		6 0	0  //"Castle Basement Door"	
		wm_objective_status		6 1	0  //"Castle Basement Door"	
		
		wm_objective_status		7 0	0  //"Outpost Bridge"
		wm_objective_status		7 1	0  //"Outpost Bridge"
		
		wm_objective_status		8 0	0  //"Castle Bridge"	
		wm_objective_status		8 1	0  //"Castle Bridge"
		
				
		wm_setwinner				0	
		wm_set_defending_team	0 // Axis defending in SW	
		
		globalaccum 0 set 0 //who has flag
		globalaccum 1 set 0 //who has cp's
		setstate flag_two invisible
		setstate radio_marker default
		setstate codes_marker default
		
		setautospawn "The Outpost" 0 
		setautospawn "The Village" 1
		wm_announce "Fix Coomandpost Spawn times mapscipt !"
		wm_announce "By KillerSlovakia !"
	}
	trigger checkgame
	{
		wm_setwinner 1
		wm_endround
	}
	
//////////////////////////////////////////////////////////////////////////////////////////////////
// CP stuff
//////////////////////////////////////////////////////////////////////////////////////////////////		
	trigger check_cp
	{
		globalaccum 1 trigger_if_equal -2 game_manager run_0
		globalaccum 1 trigger_if_equal -1 game_manager run_1
		globalaccum 1 trigger_if_equal 0  game_manager run_2
		globalaccum 1 trigger_if_equal 1 game_manager run_3
		globalaccum 1 trigger_if_equal 2 game_manager run_4
	}
	trigger run_0
	{
		wm_allied_respawntime	26
		wm_axis_respawntime		11
		wm_announce   "^5Allies now reinforce every 25 seconds!"
		wm_announce   "^5Axis now reinforce every 10 seconds!"
	}
	trigger run_1
	{
		wm_allied_respawntime	24
		wm_axis_respawntime		14
		wm_announce   "^5Allies now reinforce every 22 seconds!"
		wm_announce   "^5Axis now reinforce every 14 seconds!"
	}	
	trigger run_2
	{
		wm_allied_respawntime	13
		wm_axis_respawntime		26
		wm_announce   "^1Allies now reinforce every 13 seconds!"
		wm_announce   "^1Axis now reinforce every 24 seconds!"
	}
	trigger run_3
	{
		wm_allied_respawntime	12
		wm_axis_respawntime		28
		wm_announce   "^1Allies now reinforce every 12 seconds!"
		wm_announce   "^1Axis now reinforce every 26 seconds!"
	}
	trigger run_4
	{
		wm_allied_respawntime	10
		wm_axis_respawntime		30
		wm_announce   "^1Allies now reinforce every 10 seconds!"
		wm_announce   "^1Axis now reinforce every 28 seconds!"
	}
	
	
	
}	
	
	
//////////////////////////////////////////////////////////////////////////////////////////////////
// Outpost bridge
//////////////////////////////////////////////////////////////////////////////////////////////////
con_outpost_bridge
{
	spawn
	{
		wait 200
		constructible_class 3
		setstate outpost_bridge invisible
    	setstate mat_bridge_low default    	
	}

	built final
	{
	    setstate outpost_bridge default
    	setstate mat_bridge_low invisible    	
    	wm_announce   "^1Allies has build the Outpost Bridge!"
    	wm_objective_status		7 0	0  //"Outpost Bridge"
		wm_objective_status		7 1	1  //"Outpost Bridge"
	}

	death
	{
		setstate outpost_bridge invisible
    	setstate mat_bridge_low default    	
		wm_announce	"^1Axis has blown the Outpost Bridge!"
		wm_objective_status		7 0	0  //"Outpost Bridge"
		wm_objective_status		7 1	0  //"Outpost Bridge"
	}	
}

//////////////////////////////////////////////////////////////////////////////////////////////////
// Castle bridge
//////////////////////////////////////////////////////////////////////////////////////////////////
con_castle_bridge
{
	spawn
	{
		wait 200
		constructible_class 3
		setstate castle_bridge invisible
    	setstate mat_bridge_high default    	
	}

	built final
	{
	    setstate castle_bridge default
    	setstate mat_bridge_high invisible    	
    	wm_announce   "^1Allies has build the Castle Bridge!"
    	wm_objective_status		8 0	0  //"Castle Bridge"	
		wm_objective_status		8 1	1  //"Castle Bridge"
	}

	death
	{
		setstate castle_bridge invisible
    	setstate mat_bridge_high default    	
		wm_announce	"^1Axis has blown the Castle Bridge!"
		wm_objective_status		8 0	0  //"Castle Bridge"	
		wm_objective_status		8 1	0  //"Castle Bridge"
	}	
}


/////////////////////////////////////////////////////////////////
// 1: Supply Room Door (P)	
/////////////////////////////////////////////////////////////////

supply_access
{
	spawn
	{
		wait 100
		constructible_class 3
	}

	death
	{
			wm_announce	"^1Allies has destroyed the Supply Room Door"
			wm_announce	"^1Allies has captured the Outpost"
			alertentity outpost_two
			alertentity ax_outpost_spawn
			alertentity al_outpost_spawn			
			setautospawn "The Outpost" 1 
			setautospawn "The Castle" 0
			setstate flag_two invisible
			setstate flag_toi invisible
			setstate forward_flag invisible
			wm_objective_status		1 0	2  //"Supply Room"
			wm_objective_status		1 1	1  //"Supply Room"
	}
}

/////////////////////////////////////////////////////////////////
// 2: Radio Codes Booklet (P)	
/////////////////////////////////////////////////////////////////

radio_codes
{
	spawn
	{
	}

	trigger stolen
	{
		wm_announce	"^1Allies has taken the Radio Codes Booklet"
		setstate codes_marker invisible		
		wm_objective_status		2 0	0  //"Radio Codes Booklet"
		wm_objective_status		2 1 1  //"Radio Codes Booklet"	
	}
	
	trigger dropped
	{
		wm_announce	"^1Allies has dropped the Radio Codes Booklet"		
	}
	
	trigger returned
	{
		wm_announce	"^1Axis has secured the Radio Codes Booklet"
		setstate codes_marker default	
		wm_objective_status		2 0	0  //"Radio Codes Booklet"
		wm_objective_status		2 1 0  //"Radio Codes Booklet"	
	}
	
	trigger captured
	{
		wm_objective_status		3 0	2  //"Radio Transmitter"
		wm_objective_status		3 1	1  //"Radio Transmitter"		
	}
}

/////////////////////////////////////////////////////////////////
// 3: Radio Transmitter (P)
/////////////////////////////////////////////////////////////////
radio_transmitter
{
	spawn
	{
	}

	death
	{
		trigger game_manager checkgame	
		wm_announce	"^1Allied Transmission Complete ^1!^3!^1!^3!^1!^3!^1!^3!^1!^3!"	
	}
}
/////////////////////////////////////////////////////////////////
// 4: Village-Outpost Tram Tower Flag (S)
/////////////////////////////////////////////////////////////////

forward_flag
{
	trigger axis_capture
	{
		globalaccum 0 abort_if_equal 0
		wm_announce	"^1Axis reclaim the Village Tram Tower"	
		alertentity al_flag_spawn
		setstate flag_two invisible
		globalaccum 0 set 0
		wm_objective_status		4 0	1  //"Village Tram Tower"
		wm_objective_status		4 1	0  //"Village Tram Tower"
	}

	trigger allied_capture
	{
		wm_announce	"^1Allies has captured the Village Tram Tower"	
		alertentity al_flag_spawn
		setstate flag_two default
		setautospawn "Village Tram Tower" 1
		globalaccum 0 set 1
		wm_objective_status		4 0	0  //"Village Tram Tower"
		wm_objective_status		4 1	1  //"Village Tram Tower"				
	}
}

/////////////////////////////////////////////////////////////////
// 5: Lower Access Door into Outpost (S)
/////////////////////////////////////////////////////////////////

low_access 
{
	spawn
	{
		wait 100
		constructible_class 3
	}

	death
	{
		wm_announce	"^1Allies has destroyed the Lower Access Door into Outpost"	
		wm_objective_status		5 0	2  //"Lower Access Door"
		wm_objective_status		5 1	1  //"Lower Access Door"		
	}
}

/////////////////////////////////////////////////////////////////
// 6: Castle Basement Door (S)
/////////////////////////////////////////////////////////////////

high_access 
{
	spawn
	{
		wait 100
		constructible_class 3
	}

	death
	{
		wm_announce	"^1Allies has destroyed the Castle Basement Door"	
		wm_objective_status		6 0	2  //"Castle Basement Door"	
		wm_objective_status		6 1	1  //"Castle Basement Door"			
	}
}

/////////////////////////////////////////////////////////////////
// The trams
/////////////////////////////////////////////////////////////////

/////////
// Tram 2

tram1_gearupper
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram1_gearupper turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram1_gearupper turn_tram_down
	}

	trigger start_up
	{
		alertentity tram1_gearupper_noise
		trigger tram1_gearupper turn_tram_up
	}

	trigger start_down
	{
		alertentity tram1_gearupper_noise
		trigger tram1_gearupper turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram1_gearupper_noise
		halt
	}
}

tram1_gearlower
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram1_gearlower turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram1_gearlower turn_tram_down
	}

	trigger start_up
	{
		alertentity tram1_gearlower_noise
		trigger tram1_gearlower turn_tram_up
	}

	trigger start_down
	{
		alertentity tram1_gearlower_noise
		trigger tram1_gearlower turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram1_gearlower_noise
		halt
	}
}
 
tramcar_1
{
	spawn
	{
		wait 100
		trigger tramcar_1 tramstart
	}

	trigger tramstart
	{
		trigger tram1_gearupper start_up
		trigger tram1_gearlower start_up
		
		// tram starts going up
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_17 60
		gotomarker tramspot_1_16 80
		gotomarker tramspot_1_15 120
		gotomarker tramspot_1_14 160
		gotomarker tramspot_1_13 200
		gotomarker tramspot_1_12 200
		gotomarker tramspot_1_11 200
		gotomarker tramspot_1_10 200
		gotomarker tramspot_1_9 200
		gotomarker tramspot_1_8 160
		gotomarker tramspot_1_7 120
		trigger tramcar_1 tramswing_top
	}

	trigger tramdown
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram1_gearupper start_down
		trigger tram1_gearlower start_down
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_2 20
		gotomarker tramspot_1_3 40
		gotomarker tramspot_1_4 60
		gotomarker tramspot_1_5 80
		gotomarker tramspot_1_6 120
		gotomarker tramspot_1_7 160
		gotomarker tramspot_1_8 200
		gotomarker tramspot_1_9 200
		gotomarker tramspot_1_10 200
		gotomarker tramspot_1_11 160
		gotomarker tramspot_1_12 120
		gotomarker tramspot_1_13 80
		gotomarker tramspot_1_14 70
		gotomarker tramspot_1_15 60
		trigger tramcar_1 tramdown_2
	}
	
	trigger tramdown_2
	{
		gotomarker tramspot_1_16 40
		gotomarker tramspot_1_17 20
		gotomarker tramspot_1_18 10
		gotomarker tramspot_1_19 20
		gotomarker tramspot_1_20 40
		gotomarker tramspot_1_21 60
		gotomarker tramspot_1_22 80
		gotomarker tramspot_1_23 120
		gotomarker tramspot_1_24 160
		gotomarker tramspot_1_25 200
		gotomarker tramspot_1_26 200
		gotomarker tramspot_1_27 200
		gotomarker tramspot_1_28 200
		gotomarker tramspot_1_29 200
		gotomarker tramspot_1_30 200
		gotomarker tramspot_1_31 160
		gotomarker tramspot_1_32 120
		trigger tramcar_1 tramswing_bottom
	}

	trigger tramup
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram1_gearupper start_up
		trigger tram1_gearlower start_up
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_39 20
		gotomarker tramspot_1_38 40
		gotomarker tramspot_1_37 60
		gotomarker tramspot_1_36 80
		gotomarker tramspot_1_35 120
		gotomarker tramspot_1_34 160
		gotomarker tramspot_1_33 200
		gotomarker tramspot_1_32 200
		gotomarker tramspot_1_31 200
		gotomarker tramspot_1_30 200
		gotomarker tramspot_1_29 200
		gotomarker tramspot_1_28 200
		gotomarker tramspot_1_27 160
		gotomarker tramspot_1_26 120
		gotomarker tramspot_1_25 80
		gotomarker tramspot_1_24 70
		gotomarker tramspot_1_23 60
		gotomarker tramspot_1_22 40
		gotomarker tramspot_1_21 20
		gotomarker tramspot_1_20 10
		gotomarker tramspot_1_19 20
		trigger tramcar_1 tramup_2		
	}
	
	trigger tramup_2
	{
		gotomarker tramspot_1_18 40
		gotomarker tramspot_1_17 60
		gotomarker tramspot_1_16 80
		gotomarker tramspot_1_15 120
		gotomarker tramspot_1_14 160
		gotomarker tramspot_1_13 200
		gotomarker tramspot_1_12 200
		gotomarker tramspot_1_11 200
		gotomarker tramspot_1_10 200
		gotomarker tramspot_1_9 200
		gotomarker tramspot_1_8 160
		gotomarker tramspot_1_7 120
		trigger tramcar_1 tramswing_top
	}

	trigger tramswing_bottom
	{
		gotomarker tramspot_1_33 80
		gotomarker tramspot_1_34 70
		gotomarker tramspot_1_35 60
		gotomarker tramspot_1_36 60
		gotomarker tramspot_1_37 40
		gotomarker tramspot_1_38 30
		gotomarker tramspot_1_39 20
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_1_40 10
		trigger tram1_gearupper stop
		trigger tram1_gearlower stop
		wait 7000
		trigger tramcar_1 tramup
	}

	trigger tramswing_top
	{
		gotomarker tramspot_1_6 80
		gotomarker tramspot_1_5 70
		gotomarker tramspot_1_4 60
		gotomarker tramspot_1_3 40
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_1_2 20
		gotomarker tramspot_1_1 10
		trigger tram1_gearupper stop
		trigger tram1_gearlower stop
		playsound sound/scenaric/mp_tram/tram_creak.wav // play creak sound
		wait 5000
		trigger tramcar_1 tramdown
	}
}

/////////
// Tram 2

tram2_gearupper
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram2_gearupper turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram2_gearupper turn_tram_down
	}

	trigger start_up
	{
		alertentity tram2_gearupper_noise
		trigger tram2_gearupper turn_tram_up
	}

	trigger start_down
	{
		alertentity tram2_gearupper_noise
		trigger tram2_gearupper turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram2_gearupper_noise
		halt
	}
}

tram2_gearlower
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram2_gearlower turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram2_gearlower turn_tram_down
	}

	trigger start_up
	{
		alertentity tram2_gearlower_noise
		trigger tram2_gearlower turn_tram_up
	}

	trigger start_down
	{
		alertentity tram2_gearlower_noise
		trigger tram2_gearlower turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram2_gearlower_noise
		halt
	}
}
 
tramcar_2
{
	spawn
	{
		wait 100
		trigger tramcar_2 tramstart
	}

	trigger tramstart
	{
		trigger tram2_gearupper start_down
		trigger tram2_gearlower start_down
		
		// tram starts going down
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_29 200
		gotomarker tramspot_1_30 200
		gotomarker tramspot_1_31 160
		gotomarker tramspot_1_32 120
		trigger tramcar_2 tramswing_bottom

	}

	trigger tramdown
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram2_gearupper start_down
		trigger tram2_gearlower start_down
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_2 20
		gotomarker tramspot_1_3 40
		gotomarker tramspot_1_4 60
		gotomarker tramspot_1_5 80
		gotomarker tramspot_1_6 120
		gotomarker tramspot_1_7 160
		gotomarker tramspot_1_8 200
		gotomarker tramspot_1_9 200
		gotomarker tramspot_1_10 200
		gotomarker tramspot_1_11 160
		gotomarker tramspot_1_12 120
		gotomarker tramspot_1_13 80
		gotomarker tramspot_1_14 70
		gotomarker tramspot_1_15 60
		trigger tramcar_2 tramdown_2
	}
	
	trigger tramdown_2
	{
		gotomarker tramspot_1_16 40
		gotomarker tramspot_1_17 20
		gotomarker tramspot_1_18 10
		gotomarker tramspot_1_19 20
		gotomarker tramspot_1_20 40
		gotomarker tramspot_1_21 60
		gotomarker tramspot_1_22 80
		gotomarker tramspot_1_23 120
		gotomarker tramspot_1_24 160
		gotomarker tramspot_1_25 200
		gotomarker tramspot_1_26 200
		gotomarker tramspot_1_27 200
		gotomarker tramspot_1_28 200
		gotomarker tramspot_1_29 200
		gotomarker tramspot_1_30 200
		gotomarker tramspot_1_31 160
		gotomarker tramspot_1_32 120
		trigger tramcar_2 tramswing_bottom
	}

	trigger tramup
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram2_gearupper start_up
		trigger tram2_gearlower start_up
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_1_39 20
		gotomarker tramspot_1_38 40
		gotomarker tramspot_1_37 60
		gotomarker tramspot_1_36 80
		gotomarker tramspot_1_35 120
		gotomarker tramspot_1_34 160
		gotomarker tramspot_1_33 200
		gotomarker tramspot_1_32 200
		gotomarker tramspot_1_31 200
		gotomarker tramspot_1_30 200
		gotomarker tramspot_1_29 200
		gotomarker tramspot_1_28 200
		gotomarker tramspot_1_27 160
		gotomarker tramspot_1_26 120
		gotomarker tramspot_1_25 80
		gotomarker tramspot_1_24 70
		gotomarker tramspot_1_23 60
		gotomarker tramspot_1_22 40
		gotomarker tramspot_1_21 20
		gotomarker tramspot_1_20 10
		gotomarker tramspot_1_19 20
		trigger tramcar_2 tramup_2		
	}
	
	trigger tramup_2
	{
		gotomarker tramspot_1_18 40
		gotomarker tramspot_1_17 60
		gotomarker tramspot_1_16 80
		gotomarker tramspot_1_15 120
		gotomarker tramspot_1_14 160
		gotomarker tramspot_1_13 200
		gotomarker tramspot_1_12 200
		gotomarker tramspot_1_11 200
		gotomarker tramspot_1_10 200
		gotomarker tramspot_1_9 200
		gotomarker tramspot_1_8 160
		gotomarker tramspot_1_7 120
		trigger tramcar_2 tramswing_top
	}

	trigger tramswing_bottom
	{
		gotomarker tramspot_1_33 80
		gotomarker tramspot_1_34 70
		gotomarker tramspot_1_35 60
		gotomarker tramspot_1_36 60
		gotomarker tramspot_1_37 40
		gotomarker tramspot_1_38 30
		gotomarker tramspot_1_39 20
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_1_40 10
		trigger tram2_gearupper stop
		trigger tram2_gearlower stop
		wait 7000
		trigger tramcar_2 tramup
	}

	trigger tramswing_top
	{
		gotomarker tramspot_1_6 80
		gotomarker tramspot_1_5 70
		gotomarker tramspot_1_4 60
		gotomarker tramspot_1_3 40
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_1_2 20
		gotomarker tramspot_1_1 10
		trigger tram2_gearupper stop
		trigger tram2_gearlower stop
		playsound sound/scenaric/mp_tram/tram_creak.wav // play creak sound
		wait 5000
		trigger tramcar_2 tramdown
	}
}

/////////
// Tram 3

tram3_gearupper
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram3_gearupper turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram3_gearupper turn_tram_down
	}

	trigger start_up
	{
		alertentity tram3_gearupper_noise
		trigger tram3_gearupper turn_tram_up
	}

	trigger start_down
	{
		alertentity tram3_gearupper_noise
		trigger tram3_gearupper turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram3_gearupper_noise
		halt
	}
}

tram3_gearlower
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram3_gearlower turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram3_gearlower turn_tram_down
	}

	trigger start_up
	{
		alertentity tram3_gearlower_noise
		trigger tram3_gearlower turn_tram_up
	}

	trigger start_down
	{
		alertentity tram3_gearlower_noise
		trigger tram3_gearlower turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram3_gearlower_noise
		halt
	}
}
 
tramcar_3
{
	spawn
	{
		wait 100
		trigger tramcar_3 tramstart
	}

	trigger tramstart
	{
		trigger tram3_gearupper start_up
		trigger tram3_gearlower start_up
		
		// tram starts going up
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_9 200
		gotomarker tramspot_4_8 160
		gotomarker tramspot_4_7 120
		trigger tramcar_3 tramswing_top
	}

	trigger tramdown
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram3_gearupper start_down
		trigger tram3_gearlower start_down
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_2 20
		gotomarker tramspot_4_3 40
		gotomarker tramspot_4_4 60
		gotomarker tramspot_4_5 80
		gotomarker tramspot_4_6 120
		gotomarker tramspot_4_7 160
		gotomarker tramspot_4_8 200
		gotomarker tramspot_4_9 200
		gotomarker tramspot_4_10 200
		gotomarker tramspot_4_11 160
		gotomarker tramspot_4_12 120
		gotomarker tramspot_4_13 80
		gotomarker tramspot_4_14 70
		gotomarker tramspot_4_15 60
		trigger tramcar_3 tramdown_2
	}
	
	trigger tramdown_2
	{
		gotomarker tramspot_4_16 40
		gotomarker tramspot_4_17 20
		gotomarker tramspot_4_18 10
		gotomarker tramspot_4_19 20
		gotomarker tramspot_4_20 40
		gotomarker tramspot_4_21 60
		gotomarker tramspot_4_22 80
		gotomarker tramspot_4_23 120
		gotomarker tramspot_4_24 160
		gotomarker tramspot_4_25 200
		gotomarker tramspot_4_26 200
		gotomarker tramspot_4_27 200
		gotomarker tramspot_4_28 200
		gotomarker tramspot_4_29 200
		gotomarker tramspot_4_30 200
		gotomarker tramspot_4_31 160
		gotomarker tramspot_4_32 120
		trigger tramcar_3 tramswing_bottom
	}

	trigger tramup
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram3_gearupper start_up
		trigger tram3_gearlower start_up
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_39 20
		gotomarker tramspot_4_38 40
		gotomarker tramspot_4_37 60
		gotomarker tramspot_4_36 80
		gotomarker tramspot_4_35 120
		gotomarker tramspot_4_34 160
		gotomarker tramspot_4_33 200
		gotomarker tramspot_4_32 200
		gotomarker tramspot_4_31 200
		gotomarker tramspot_4_30 200
		gotomarker tramspot_4_29 200
		gotomarker tramspot_4_28 200
		gotomarker tramspot_4_27 160
		gotomarker tramspot_4_26 120
		gotomarker tramspot_4_25 80
		gotomarker tramspot_4_24 70
		gotomarker tramspot_4_23 60
		gotomarker tramspot_4_22 40
		gotomarker tramspot_4_21 20
		gotomarker tramspot_4_20 10
		gotomarker tramspot_4_19 20
		trigger tramcar_3 tramup_2		
	}
	
	trigger tramup_2
	{
		gotomarker tramspot_4_18 40
		gotomarker tramspot_4_17 60
		gotomarker tramspot_4_16 80
		gotomarker tramspot_4_15 120
		gotomarker tramspot_4_14 160
		gotomarker tramspot_4_13 200
		gotomarker tramspot_4_12 200
		gotomarker tramspot_4_11 200
		gotomarker tramspot_4_10 200
		gotomarker tramspot_4_9 200
		gotomarker tramspot_4_8 160
		gotomarker tramspot_4_7 120
		trigger tramcar_3 tramswing_top
	}

	trigger tramswing_bottom
	{
		gotomarker tramspot_4_33 80
		gotomarker tramspot_4_34 70
		gotomarker tramspot_4_35 60
		gotomarker tramspot_4_36 60
		gotomarker tramspot_4_37 40
		gotomarker tramspot_4_38 30
		gotomarker tramspot_4_39 20
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_4_40 10
		trigger tram3_gearupper stop
		trigger tram3_gearlower stop
		wait 7000
		trigger tramcar_3 tramup
	}

	trigger tramswing_top
	{
		gotomarker tramspot_4_6 80
		gotomarker tramspot_4_5 70
		gotomarker tramspot_4_4 60
		gotomarker tramspot_4_3 40
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_4_2 20
		gotomarker tramspot_4_1 10
		trigger tram3_gearupper stop
		trigger tram3_gearlower stop
		playsound sound/scenaric/mp_tram/tram_creak.wav // play creak sound
		wait 5000
		trigger tramcar_3 tramdown
	}
}

/////////
// Tram 4

tram4_gearupper
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram4_gearupper turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram4_gearupper turn_tram_down
	}

	trigger start_up
	{
		alertentity tram4_gearupper_noise
		trigger tram4_gearupper turn_tram_up
	}

	trigger start_down
	{
		alertentity tram4_gearupper_noise
		trigger tram4_gearupper turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram4_gearupper_noise
		halt
	}
}

tram4_gearlower
{
	spawn
	{
	}

	trigger turn_tram_up
	{
		faceangles 90 0 0 500
		faceangles 180 0 0 500 
		faceangles 270 0 0 500
		faceangles 360 0 0 500
		trigger tram4_gearlower turn_tram_up
	}

	trigger turn_tram_down
	{
		faceangles -90 0 0 500
		faceangles -180 0 0 500 
		faceangles -270 0 0 500
		faceangles -360 0 0 500
		trigger tram4_gearlower turn_tram_down
	}

	trigger start_up
	{
		alertentity tram4_gearlower_noise
		trigger tram4_gearlower turn_tram_up
	}

	trigger start_down
	{
		alertentity tram4_gearlower_noise
		trigger tram4_gearlower turn_tram_down
	}
	
	trigger stop
	{
		alertentity tram4_gearlower_noise
		halt
	}
}
 
tramcar_4
{
	spawn
	{
		wait 100
		trigger tramcar_4 tramstart
	}

	trigger tramstart
	{
		trigger tram4_gearupper start_down
		trigger tram4_gearlower start_down
		
		// tram starts going down
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_28 200
		gotomarker tramspot_4_29 200
		gotomarker tramspot_4_30 200
		gotomarker tramspot_4_31 160
		gotomarker tramspot_4_32 120
		trigger tramcar_4 tramswing_bottom
	}

	trigger tramdown
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram3_gearupper start_down
		trigger tram3_gearlower start_down
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_2 20
		gotomarker tramspot_4_3 40
		gotomarker tramspot_4_4 60
		gotomarker tramspot_4_5 80
		gotomarker tramspot_4_6 120
		gotomarker tramspot_4_7 160
		gotomarker tramspot_4_8 200
		gotomarker tramspot_4_9 200
		gotomarker tramspot_4_10 200
		gotomarker tramspot_4_11 160
		gotomarker tramspot_4_12 120
		gotomarker tramspot_4_13 80
		gotomarker tramspot_4_14 70
		gotomarker tramspot_4_15 60
		trigger tramcar_4 tramdown_2
	}
	
	trigger tramdown_2
	{
		gotomarker tramspot_4_16 40
		gotomarker tramspot_4_17 20
		gotomarker tramspot_4_18 10
		gotomarker tramspot_4_19 20
		gotomarker tramspot_4_20 40
		gotomarker tramspot_4_21 60
		gotomarker tramspot_4_22 80
		gotomarker tramspot_4_23 120
		gotomarker tramspot_4_24 160
		gotomarker tramspot_4_25 200
		gotomarker tramspot_4_26 200
		gotomarker tramspot_4_27 200
		gotomarker tramspot_4_28 200
		gotomarker tramspot_4_29 200
		gotomarker tramspot_4_30 200
		gotomarker tramspot_4_31 160
		gotomarker tramspot_4_32 120
		trigger tramcar_4 tramswing_bottom
	}

	trigger tramup
	{
		wait 500
		playsound sound/scenaric/mp_tram/tram_start.wav
		trigger tram3_gearupper start_up
		trigger tram3_gearlower start_up
		wait 500
		stopsound
		playsound sound/scenaric/mp_tram/tram_move.wav looping
		gotomarker tramspot_4_39 20
		gotomarker tramspot_4_38 40
		gotomarker tramspot_4_37 60
		gotomarker tramspot_4_36 80
		gotomarker tramspot_4_35 120
		gotomarker tramspot_4_34 160
		gotomarker tramspot_4_33 200
		gotomarker tramspot_4_32 200
		gotomarker tramspot_4_31 200
		gotomarker tramspot_4_30 200
		gotomarker tramspot_4_29 200
		gotomarker tramspot_4_28 200
		gotomarker tramspot_4_27 160
		gotomarker tramspot_4_26 120
		gotomarker tramspot_4_25 80
		gotomarker tramspot_4_24 70
		gotomarker tramspot_4_23 60
		gotomarker tramspot_4_22 40
		gotomarker tramspot_4_21 20
		gotomarker tramspot_4_20 10
		gotomarker tramspot_4_19 20
		trigger tramcar_4 tramup_2		
	}
	
	trigger tramup_2
	{
		gotomarker tramspot_4_18 40
		gotomarker tramspot_4_17 60
		gotomarker tramspot_4_16 80
		gotomarker tramspot_4_15 120
		gotomarker tramspot_4_14 160
		gotomarker tramspot_4_13 200
		gotomarker tramspot_4_12 200
		gotomarker tramspot_4_11 200
		gotomarker tramspot_4_10 200
		gotomarker tramspot_4_9 200
		gotomarker tramspot_4_8 160
		gotomarker tramspot_4_7 120
		trigger tramcar_4 tramswing_top
	}

	trigger tramswing_bottom
	{
		gotomarker tramspot_4_33 80
		gotomarker tramspot_4_34 70
		gotomarker tramspot_4_35 60
		gotomarker tramspot_4_36 60
		gotomarker tramspot_4_37 40
		gotomarker tramspot_4_38 30
		gotomarker tramspot_4_39 20
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_4_40 10
		trigger tram3_gearupper stop
		trigger tram3_gearlower stop
		wait 7000
		trigger tramcar_4 tramup
	}

	trigger tramswing_top
	{
		gotomarker tramspot_4_6 80
		gotomarker tramspot_4_5 70
		gotomarker tramspot_4_4 60
		gotomarker tramspot_4_3 40
		stopsound
		playsound sound/scenaric/mp_tram/tram_stop.wav
		gotomarker tramspot_4_2 20
		gotomarker tramspot_4_1 10
		trigger tram3_gearupper stop
		trigger tram3_gearlower stop
		playsound sound/scenaric/mp_tram/tram_creak.wav // play creak sound
		wait 5000
		trigger tramcar_4 tramdown
	}
}




//////////////////////////////////////////////////////////////////////////////////////////////////
// Castle neutral command post
//////////////////////////////////////////////////////////////////////////////////////////////////
allied_compost_built
{
	spawn
	{
		wait 200
		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
	}

	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 200
		setstate allied_compost_built_model invisible
	}

	trigger enable_allied_features
	{
		setchargetimefactor 1 soldier 0.75
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 0.75
		setchargetimefactor 1 engineer 0.75
		setchargetimefactor 1 covertops 0.75
		wm_announce	"^6Allied Castle Command Post constructed."
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"
		wm_teamvoiceannounce 1 "allies_hq_compost_constructed"
		wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"
		globalaccum 1 inc 1
		trigger game_manager check_cp
	}

	trigger disable_allied_features
	{
		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		wm_announce	"^6Axis team has destroyed the Allied Castle Command Post!"
		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"
		globalaccum 1 inc -1
		trigger game_manager check_cp
	}
}

axis_compost_built
{
	spawn
	{
		wait 200
		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
	}

	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 200
		accum 1 set 0
		setstate axis_compost_built_model invisible
	}

	trigger enable_axis_features
	{
		setchargetimefactor 0 soldier 0.75
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 0.75
		setchargetimefactor 0 engineer 0.75
		setchargetimefactor 0 covertops 0.75
		wm_announce	"^6Axis Castle Command Post constructed."
		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed"
		wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis"
		wm_removeteamvoiceannounce 0 "axis_hq_compost_construct"
		// *---------------------------------------------------------------------------------*
		globalaccum 1 inc -1
		trigger game_manager check_cp		
	}

	trigger disable_axis_features
	{
		setchargetimefactor 0 soldier 1
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 1
		setchargetimefactor 0 engineer 1
		setchargetimefactor 0 covertops 1
		wm_announce	"^6Allied team has destroyed the Axis Castle 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"
		// *---------------------------------------------------------------------------------*
		globalaccum 1 inc 1
		trigger game_manager check_cp
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// Outpost neutral command post
//////////////////////////////////////////////////////////////////////////////////////////////////
allied_compost2_built
{
	spawn
	{
		wait 200
		trigger allied_compost2_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_compost2_built_model underconstruction
		setstate neutral_compost2_closed_clip invisible
		setstate neutral_compost2_closed_clip invisible
	}

	built final
	{
		setstate allied_compost2_built_model default
		setstate neutral_compost2_closed_clip invisible
		setstate neutral_compost2_closed_clip invisible
		trigger allied_compost2_built_model enable_allied_features
		enablespeaker allies_compost_sound
	}

	decayed final
	{
		setstate allied_compost2_built_model invisible
		setstate neutral_compost2_closed_clip default
		setstate neutral_compost2_closed_clip default
	}

	death
	{
		setstate allied_compost2_built_model invisible
		setstate neutral_compost2_closed_clip default
		setstate neutral_compost2_closed_clip default
		trigger allied_compost2_built_model disable_allied_features
		disablespeaker allies_compost_sound
	}
}

allied_compost2_built_model
{
	spawn
	{
		wait 200
		setstate allied_compost2_built_model invisible
	}

	trigger enable_allied_features
	{
		setchargetimefactor 1 soldier 0.75
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 0.75
		setchargetimefactor 1 engineer 0.75
		setchargetimefactor 1 covertops 0.75
		sethqstatus 1 1
		wm_announce	"^6Allied Outpost Command Post constructed !"
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"
		wm_teamvoiceannounce 1 "allies_hq_compost_constructed"
		wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"	
		globalaccum 1 inc 1	
		trigger game_manager check_cp
	}

	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	"^6Axis team has destroyed the Allied Outpost Command Post!"
		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"	
		globalaccum 1 inc -1	
		trigger game_manager check_cp
	}
}

axis_compost2_built
{
	spawn
	{
		wait 200
		trigger axis_compost2_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_compost2_built_model underconstruction
		setstate neutral_compost2_closed_clip invisible
		setstate neutral_compost2_closed_clip invisible
	}

	built final
	{
		setstate axis_compost2_built_model default
		setstate neutral_compost2_closed_clip invisible
		setstate neutral_compost2_closed_clip invisible
		trigger axis_compost2_built_model enable_axis_features
		enablespeaker axis_compost_sound
	}

	decayed final
	{
		setstate axis_compost2_built_model invisible
		setstate neutral_compost2_closed_clip default
		setstate neutral_compost2_closed_clip default
	}

	death
	{
		setstate axis_compost2_built_model invisible
		setstate neutral_compost2_closed_clip default
		setstate neutral_compost2_closed_clip default
		trigger axis_compost2_built_model disable_axis_features
		disablespeaker axis_compost_sound
	}
}

axis_compost2_built_model
{
	spawn
	{
		wait 200
		setstate axis_compost2_built_model invisible
		accum 1 set 0
	}

	trigger enable_axis_features
	{
		setchargetimefactor 0 soldier 0.75
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 0.75
		setchargetimefactor 0 engineer 0.75
		setchargetimefactor 0 covertops 0.75
		sethqstatus 0 1
		wm_announce	"^6Axis Outpost Command Post constructed !"
		// *----------------------------------- vo ------------------------------------------*
		wm_removeteamvoiceannounce 0 "axis_hq_compost_construct"
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed"
		wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis"
		// *---------------------------------------------------------------------------------*
		globalaccum 1 inc -1
		trigger game_manager check_cp
	}

	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	"^6Allied team has destroyed the Axis Outpost 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"
		// *---------------------------------------------------------------------------------*
		globalaccum 1 inc 1
		trigger game_manager check_cp
	}

}
