//dersaidin 24/1/07 		remove wait before wm_endround

game_manager
{
	spawn
	{
		wm_axis_respawntime		30
		wm_allied_respawntime	20
		wm_set_round_timelimit	20
		
		// Objectives
		// 1: Steal Tank
		// 2: Protect Tank
		// 3: Factory gates
		// 4: Blow safe
		// 5: Escape with documents
		// 6: Allied command post
		// 7: Axis command post

		// Current main objectives for each team (0=Axis, 1=Allies)
		wm_set_main_objective		1	0
		wm_set_main_objective		1	1

		wm_objective_status 1 0 0
		wm_objective_status 1 1 0
		wm_objective_status 2 0 0
		wm_objective_status 2 1 0
		wm_objective_status 3 0 0
		wm_objective_status 3 1 0
		wm_objective_status 4 0 0
		wm_objective_status 4 1 0
		wm_objective_status 5 0 0
		wm_objective_status 5 1 0
		wm_objective_status 6 0 0
		wm_objective_status 6 1 0
		wm_objective_status 7 0 0
		wm_objective_status 7 1 0

		wm_set_main_objective		1	0
		wm_set_main_objective		1	1

		// Stopwatch mode defending team (0=Axis, 1=Allies)
		wm_set_defending_team	0

		// Winner on expiration of round timer (0=Axis, 1=Allies)
		wm_setwinner	0
		
		//default spawn
		wait 150
		setautospawn	"Tank Depot"	0
		setautospawn	"Allied Spawn"	1
 		wait 350

		//setchargetimefactor 0 soldier		0
		//setchargetimefactor 0 medic			0
		//setchargetimefactor 0 engineer		0
		//setchargetimefactor 0 fieldops		0
		//setchargetimefactor 0 covertops		0

		//setchargetimefactor 1 soldier		0
		//setchargetimefactor 1 medic			0
		//setchargetimefactor 1 engineer		0
		//setchargetimefactor 1 fieldops		0
		//setchargetimefactor 1 covertops		0
	
		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "goldrush_axis_tank_steal"
		

		wm_addteamvoiceannounce 1 "goldrush_allies_tank_steal"
		

		wm_teamvoiceannounce 0 "goldrush_axis_tank_steal"
		

		wm_teamvoiceannounce 1 "goldrush_allies_tank_steal"
		
		// *---------------------------------------------------------------------------------*
		}
	
trigger allies_transmit
	{
	        wm_announce "The Allies have transmitted the Supply Documents!" 
		wm_setwinner 1
		//wait 1500
		wm_endround
	}

}


tank_sound
{


	trigger start
	{

		trigger tank sound_start
		wait 3400
		trigger tank sound_move
	}

	trigger stop
	{
		trigger tank sound_stop
		wait 1400
		trigger tank sound_idle
	}

	trigger rebirth
	{
		trigger tank sound_rebirth
		wait 1400
		trigger tank sound_idle
	}
}


//********************************************************
// here are the original authors comments                *
// this outlines each accumulator that is used for the   *
// routine.                                              *
//********************************************************
// digibob: converting truck script from goldrush over...
// ============================================================================
// accum 0, track state
// accum 1
//  - bit 0: barrier1 state		( 0 = not built,	1 = built		)
//  - bit 1: barrier2 state		( 0 = not built,	1 = built		)
//  - bit 2: spline status 		( 0 = not moving, 1 = moving 		)
//  - bit 3: stuck check flag 	( 0 = not stuck, 	1 = stuck 		)
//  - bit 4: flag for message		( 0 = dont display, 1= display	)
//  - bit 5: blank			(						)
//  - bit 6: temp register 		(XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
//  - bit 7: death status 		( 0 = alive, 		1 = dead	)
//  - bit 8: player check 		( 0 = players, 		1 = no players	)
//  - bit 9: visible state		( 0 = alive, 		1 = dead	)
// accum 2, blank
// accum 3, current movement loop position
// accum 4, stop counter
// accum 5, lockout ref counter
// accum 6, blank
// accum 7, blank
// ===========================================================================================
// spline points are spln2 -> spln78
// ===========================================================================================
// track events:
//  - tracks_forward
//  - tracks_stop
//  - tracks_turn_left
//  - tracks_turn_right

//********************************************************
// this is the routine for the "tank" items              *
// it corresponds to the scriptmover and origin brushes  *
// that clip the tank model                              *
//********************************************************
tank
{
	spawn
	{
		wait 400
//********************************************************
// put the tank at spln1 and orientate it                *
//********************************************************
		followspline 0 spln20 50000 length 32 wait
//********************************************************
// make some sound                                       *
//********************************************************
		trigger tank sound_idle
//********************************************************
// stop the tracks from moving                           *
//********************************************************
		trigger tank tracks_stop
	}

//********************************************************
// here are the actual commands for making the sounds    *
// and you saw the triggers above in the script that     *
// call these.                                           *
//********************************************************
	trigger sound_idle
	{
		stopsound
		playsound sound/vehicles/tank/tank_idle.wav looping volume 512
	}

	trigger sound_start
	{
		stopsound
		playsound sound/vehicles/tank/tank_revup.wav volume 196
	}

	trigger sound_move
	{
		stopsound
		playsound sound/vehicles/tank/tank_move.wav looping volume 512
	}

	trigger sound_stop
	{
		stopsound
		playsound sound/vehicles/tank/tank_revdown.wav volume 196
	}

	trigger sound_death
	{
		stopsound
		playsound sound/vehicles/tank/tank_stop.wav volume 256
	}

	trigger sound_rebirth
	{
		stopsound
		playsound sound/vehicles/tank/tank_start.wav volume 196
	}

//********************************************************
// these routines change the shaders for the tracks to   *
// make them look like they are moving                   *
//********************************************************
	trigger tracks_forward
	{
		accum 0 abort_if_equal 1
		accum 0 set 1

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_wheels_left 	models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_cogs_left 	models/mapobjects/tanks_sd/jag_cogs_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_cogs_right 	models/mapobjects/tanks_sd/jag_cogs_alt_forward

		remapshaderflush
	}

	trigger tracks_stop
	{
		accum 0 abort_if_equal 0
		accum 0 set 0

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_left
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_right
		remapshader models/mapobjects/tanks_sd/jag_wheels_left 	models/mapobjects/tanks_sd/jag_wheels_left
		remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_right
		remapshader models/mapobjects/tanks_sd/jag_cogs_left 	models/mapobjects/tanks_sd/jag_cogs_left
		remapshader models/mapobjects/tanks_sd/jag_cogs_right 	models/mapobjects/tanks_sd/jag_cogs_right

		remapshaderflush
	}

	trigger tracks_turn_left
	{
		accum 0 abort_if_equal 2
		accum 0 set 2

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_wheels_left 	models/mapobjects/tanks_sd/jag_wheels_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_cogs_left 	models/mapobjects/tanks_sd/jag_cogs_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_cogs_right 	models/mapobjects/tanks_sd/jag_cogs_alt_forward

		remapshaderflush
	}

	trigger tracks_turn_right
	{
		accum 0 abort_if_equal 3
		accum 0 set 3

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_wheels_left 	models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_wheels_right models/mapobjects/tanks_sd/jag_wheels_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_cogs_left 	models/mapobjects/tanks_sd/jag_cogs_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_cogs_right 	models/mapobjects/tanks_sd/jag_cogs_alt_backward

		remapshaderflush
	}

//********************************************************
// this routine is executed at every spline.             *
// it checks to see if the tank is damaged, blocked, and *
// if not it continues to the next spline.               *
//********************************************************
	trigger run_continue
	{
		accum 3 inc 1

		trigger self deathcheck		// is it damaged?
		trigger self stopcheck		// is it blocked?
		trigger self move			// make it move down the spline
	}


//********************************************************
// see if the tank is somehow stuck                      *
//********************************************************
	trigger move_check
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3

		trigger self dispatch
	}
//********************************************************
// check for being stuck first then move the tank        *
//********************************************************
	trigger move
	{
		trigger self move_check

		wait 500

		trigger self move
	}
//********************************************************
// here is where each spline is triggered                *
// accum 3 tracks what spline point we are at            *
//********************************************************
	trigger dispatch
	{
		
		accum 3 trigger_if_equal 0 tank run_0
		accum 3 trigger_if_equal 1 tank run_1
		accum 3 trigger_if_equal 2 tank run_2
		accum 3 trigger_if_equal 3 tank run_3
		accum 3 trigger_if_equal 4 tank run_4
		accum 3 trigger_if_equal 5 tank run_5
		accum 3 trigger_if_equal 6 tank run_6
		accum 3 trigger_if_equal 7 tank run_7
		accum 3 trigger_if_equal 8 tank run_8
		accum 3 trigger_if_equal 9 tank run_9
		accum 3 trigger_if_equal 10 tank run_10
		accum 3 trigger_if_equal 11 tank run_11
		accum 3 trigger_if_equal 12 tank run_12
		accum 3 trigger_if_equal 13 tank run_13
		accum 3 trigger_if_equal 14 tank run_14
		accum 3 trigger_if_equal 15 tank run_15
		accum 3 trigger_if_equal 16 tank run_16
		accum 3 trigger_if_equal 17 tank run_17
		accum 3 trigger_if_equal 18 tank run_18
		accum 3 trigger_if_equal 19 tank run_19
		accum 3 trigger_if_equal 20 tank run_20
		accum 3 trigger_if_equal 21 tank run_21
		accum 3 trigger_if_equal 22 tank run_22
		accum 3 trigger_if_equal 23 tank run_23
		accum 3 trigger_if_equal 24 tank run_24
		accum 3 trigger_if_equal 25 tank run_25
		accum 3 trigger_if_equal 26 tank run_26
		accum 3 trigger_if_equal 27 tank run_27
		accum 3 trigger_if_equal 28 tank run_28
		accum 3 trigger_if_equal 29 tank run_29
		accum 3 trigger_if_equal 30 tank run_30
		accum 3 trigger_if_equal 31 tank run_31
		accum 3 trigger_if_equal 32 tank run_last
	}

	trigger run_0
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln21 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_1
	{
		trigger self tracks_forward

		accum 1 bitset 2
		wm_announce "Allies have stolen the tank"
		wm_teamvoiceannounce 1 "goldrush_allies_tank_stolen"
		wm_teamvoiceannounce 0 "goldrush_axis_tank_stolen"
		wm_removeteamvoiceannounce 1 "goldrush_allies_tank_steal"
		wm_removeteamvoiceannounce 0 "goldrush_axis_tank_steal"
		alertentity tankdepot_axis_spawns
		alertentity tankdepot_allied_spawns
		alertentity tankdepotblob		// Tank Depot team_WOLF_objective
		setautospawn	"Axis Spawn"	0
		setautospawn	"Tank Depot"	1
		followspline 0 spln22 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_2
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln23 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_3
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln24 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_4
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln25 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_5
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln26 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_6
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln27 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_7
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln28 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_8
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln29 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_9
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln30 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_10
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln31 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_11
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln32 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_12
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln33 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_13
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln34 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}


	trigger run_14
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln35 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_15
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln36 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_16
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln37 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_17
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln38 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_18
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln39 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_19
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln40 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_20
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln41 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_21
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln42 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_22
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln43 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_23
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln44 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_24
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln45 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_25
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln46 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_26
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln47 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_27
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln48 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_28
	{
		trigger self script_lockout

		//trigger self 		tracks_stop
		//trigger tank_sound 	stop

		//wm_objective_status 2 0 2
		//wm_objective_status 2 1 1

		//startanimation 45 10 15 nolerp norandom
		//wait 500
		//startanimation 0 1 15 nolerp norandom

		wait 900

		trigger tank_turret turn

		trigger self run_continue
	}

	trigger run_29
	{
		trigger self tracks_forward


		accum 1 bitset 2
		followspline 0 spln49 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_30
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln50 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_31
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln51 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}


	trigger run_last
	{
		trigger self tracks_forward

		trigger self script_lockout

		trigger self 		tracks_stop
		trigger tank_sound 	stop

		

		startanimation 45 10 15 nolerp norandom
		wait 500
		startanimation 0 1 15 nolerp norandom

		wait 900

		trigger tank_turret turn2


		accum 3 inc 100
	}


	trigger stuck_check
	{

		accum 1 bitreset 3

		trigger self stuck_check_bridge_built
		trigger self stuck_check_scriptlockout
		trigger self stuck_check_finished
	}

	trigger stuck_check_finished
	{

		accum 3 abort_if_less_than 77

		accum 1 bitset 3
	}

	trigger stuck_check_scriptlockout
	{
		accum 5 abort_if_equal 0

		accum 1 bitset 3
	}


	trigger stuck_check_bridge_built
	{

		accum 3 abort_if_not_equal 23

		accum 1 abort_if_bitset 0

		accum 1 bitset 3
	}

	trigger stopcheck_setup
	{
		accum 1 bitset 6				// stop if we're stuck

		accum 1 abort_if_bitset 8		// no one in the trigger around tank to make it move, abort

		trigger self stuck_check		// call the stop check function
		accum 1 abort_if_bitset 3		// we're stuck so break out

		accum 1 bitreset 6			// we're free to move
	}

	trigger stopcheck
	{
		trigger self stopcheck_setup
		accum 1 abort_if_not_bitset 6

		trigger self script_lockout

		// Any just stopped moving stuff goes here
		trigger tank_sound stop
		trigger self tracks_stop

		startanimation 45	10 15 nolerp norandom
		wait 666
		startanimation 0 1 15 nolerp norandom

		wait 900

		trigger self script_lockout_stop
		resetscript
	}

	trigger script_lockout
	{
		accum 5 inc 1
	}

	trigger script_lockout_stop
	{
		accum 5 inc -1
	}


	trigger tank_enable
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3 	// stuck check

		accum 4 set 0			// reset stop counter
		accum 1 bitreset 8		// reset stop check

		accum 1 abort_if_bitset 2 	// already following spline
		accum 5 abort_if_not_equal 0	// are we not in a script lockout?

		accum 1 abort_if_bitset 7 	// death check

		// Any just started moving stuff goes here

		trigger self script_lockout

		trigger tank_sound start

		startanimation 55 10 15 nolerp norandom
		wait 666
		startanimation 5 40 15 nolerp norandom
		wait 500

		trigger self tracks_forward

		trigger self script_lockout_stop

		trigger self move
	}

	trigger tank_disable
	{
		accum 4 inc 1				// up the stop counter
		accum 4 abort_if_less_than 4

		accum 1 bitset 8			// set stop check

		trigger self deathcheck
	}


// death / rebirth

	rebirth
	{
		accum 1 bitreset 9 // we're visibly alive
		accum 1 bitreset 7 // we're alive again

		trigger self script_lockout

		changemodel models/mapobjects/tanks_sd/jagdpanther_africa_tracks.md3

		setstate tank_smoke invisible

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "axis_hq_tank_stop"

		wm_teamvoiceannounce 0 "axis_hq_tank_repaired_allies"

		wm_teamvoiceannounce 1 "allies_hq_tank_repaired"

		wm_removeteamvoiceannounce 1 "allies_hq_tank_damaged_axis"
		// *---------------------------------------------------------------------------------*

		trigger tank_sound rebirth
		wait 500

		trigger self script_lockout_stop
	}

	death
	{
		accum 1 bitset 7
	}

	trigger deathcheck
	{
		accum 1 abort_if_not_bitset 7		// are we dead?
		accum 1 abort_if_bitset 9		// are we not already visibly dead?
		accum 1 abort_if_bitset 2		// are we not following a spline?
		accum 5 abort_if_not_equal 0		// are we not in a script lockout?

		accum 1 bitset 9				// we're now visibly dead

		trigger self deathcheck_message
		accum 1 bitset 4

		changemodel models/mapobjects/tanks_sd/jagdpanther_africa_tracks2.md3

		setstate tank_smoke default

		kill tank_construct

		trigger self sound_death
		trigger self tracks_stop

		trigger self script_lockout

		trigger self tracks_stop
		startanimation 45 10 15 nolerp norandom
		wait 666
		startanimation 0 1 15 nolerp norandom

		trigger self script_lockout_stop

		resetscript
	}

	trigger deathcheck_message
	{
		accum 1 abort_if_not_bitset 4

		wm_announce "The Tank has been damaged!"

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 1 "allies_hq_tank_damaged_axis"

		wm_teamvoiceannounce 0 "axis_hq_tank_damaged"

		wm_teamvoiceannounce 1 "allies_hq_tank_damaged_axis"

		wm_removeteamvoiceannounce 0 "axis_hq_tank_stop"
		// *---------------------------------------------------------------------------------*
	}

	trigger startfire
	{
		startanimation 67 8 10 nolerp norandom noloop
	}

	trigger stopfire
	{
		startanimation 0 1 15 nolerp norandom
	}

	trigger enable_stage1
	{
		accum 1 bitset 0
	}

	trigger disable_stage1
	{
		accum 1 bitreset 0
	}

	trigger enable_stage2
	{
		accum 1 bitreset 1
	}

	trigger disable_stage2
	{
		accum 1 bitset 1
	}

	trigger enable_stage3
	{
		accum 1 bitreset 5
	}

	trigger disable_stage3
	{
		accum 1 bitset 5
	}

}


tank_trigger
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret

		trigger tank_trigger bot_goal_loop
	}

	trigger bot_goal_loop
	{
		wait 4000	// check every 4 seconds
		trigger tank bot_active_check
		trigger tank_trigger bot_goal_loop
	}
}

tank_build
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret
	}
}

tank_construct
{
	spawn
	{
		wait 1000

// you can uncomment this line if you want a dead tank at
// the start of the map.  Just don't let anyone spawn too
// close to it or the tank won't die and won't be fixable.
		kill tank

// anything but a knife can damage this item
		constructible_class 2
		constructible_health 1200
		constructible_constructxpbonus 10
		constructible_destructxpbonus 10
	}

	built final
	{
		alertentity tank

		wm_announce "The Tank has been repaired!"
	}
}

tank_shell
{
	spawn
	{
		wait 400
		attachtotag tank tag_tank
	}
}

tank_turret
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret
	}

	trigger turn
	{
		wait 1000

		//playsound sound/vehicles/tank/turret_spin.wav looping


		//faceangles 0 8 0 3000

		//stopsound
		//playsound sound/vehicles/tank/turret_end.wav

		wait 500

		trigger tank startfire
		playsound sound/vehicles/tank/tank_fire.wav

		trigger boomtrigger boom_all		// triggers the hurts around bank explosions (each has its own wait for timing)

		trigger tank_flash run
	}

	trigger turn2
	{
		wait 1500
		playsound sound/vehicles/tank/turret_spin.wav looping
		faceangles 0 0 0 3000
		stopsound
		playsound sound/vehicles/tank/turret_end.wav
		wait 500
		trigger tank startfire
		playsound sound/vehicles/tank/tank_fire.wav
		trigger tank_turret blow_side
	}

	trigger blow_doors
	{
		setstate tank_flash invisible

		wait 200
		trigger tank stopfire

		alertentity bank_door1
		setstate doorframe invisible
		setstate doorframe_damaged default

		wm_announce "Allied team has destroyed the Main gate!"

		wm_objective_status 3 0 2
		wm_objective_status 3 1 1

		wm_set_main_objective		4	0
		wm_set_main_objective		4	1

		wait 100
		trigger bank_door2_damaged bankbackboom

		//playsound sound/vehicles/tank/turret_spin.wav looping
		//faceangles 0 0 0 3000
		//stopsound
		//playsound sound/vehicles/tank/turret_end.wav
		//trigger tank sound_death
		trigger tank script_lockout_stop

	}

	trigger blow_side
	{
		setstate tank_flash invisible

		wait 200
		trigger tank stopfire

		trigger target_000 blow_up
		
		wm_announce "Allied team has destroyed the Side Wall!"

		//-------------------------------vo-------------------------
		wm_addteamvoiceannounce 1 "radar_allies_entrance2_destroyed"
		wm_teamvoiceannounce 0 "radar_axis_entrance2_destroyed"
		//----------------------------------------------------------

		//wm_objective_status 3 0 2
		//wm_objective_status 3 1 1

		//wm_set_main_objective		4	0
		//wm_set_main_objective		4	1

		
		trigger tank script_lockout_stop

	}
}

tank_flash
{
	spawn
	{

		setstate tank_flash invisible
	}

	trigger run
	{
		setstate tank_flash default

 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_doors
	}
}


tank_disabler
{
	trigger run
	{
		trigger tank tank_disable
	}
}

tank_enabler
{
	trigger run
	{
		trigger tank tank_enable
	}
}

tank_smoke
{
	spawn
	{
		wait 300
		attachtotag tank_shell tag_smoke
		setstate tank_smoke invisible
	}
}

//gate explosion

doorframe
{
	spawn
	{
		setstate doorframe_damaged invisible
	}
}

bank_door2_damaged
{
	spawn
	{
		wait 200
		setstate bank_door2_damaged invisible
	}

	trigger bankbackboom
	{

		alertentity bank_door2
		setstate bank_door2_damaged default

		wait 2000

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 1 "radar_allies_entrance1_destroyed"
		wm_teamvoiceannounce 0 "radar_axis_entrance1_destroyed"
		wm_removeteamvoiceannounce 0 "axis_hq_tank_stop"
		// *---------------------------------------------------------------------------------*
	}
}


// these cause timed damage from the tank barrel to the bank explosion
boomtrigger
{
	trigger boom_all		// this is called from the tank to trigger all hurts
	{
		trigger hurt_barrelblast1 boom
		trigger hurt_barrelblast2 boom
		trigger hurt_barrelblast3 boom
		trigger hurt_bankblast boom
		wait 450
		setstate bankdoors_toi invisible
		setstate bankdoors_cm_marker invisible
	}
}


hurt_barrelblast1
{
	spawn
	{
		wait 200
		setstate hurt_barrelblast1 invisible
	}

	trigger boom
	{
		setstate hurt_barrelblast1 default
		wait 100
		remove
	}
}

hurt_barrelblast2
{
	spawn
	{
		wait 200
		setstate hurt_barrelblast2 invisible
	}

	trigger boom
	{
		wait 165
		setstate hurt_barrelblast2 default
		wait 100
		remove
	}
}

hurt_barrelblast3
{
	spawn
	{
		wait 200
		setstate hurt_barrelblast3 invisible
	}

	trigger boom
	{
		wait 325
		setstate hurt_barrelblast3 default
		wait 100
		remove
	}
}

hurt_bankblast
{
	spawn
	{
		wait 200
		setstate hurt_bankblast invisible

		setstate hurt_barrelblast2 invisible
		setstate hurt_barrelblast3 invisible
	}

	trigger boom
	{
		wait 400
		setstate hurt_bankblast default
		wait 100
		remove
	}
}


bridge
{
	spawn
	{
		wait 400
		trigger bridge setup
// gotta use dyno to blow it up
		constructible_class 3
	}

	trigger setup
	{
		setstate bridge_materials default
		setstate bridge_materials_clip default
		setstate bridge_flag default

		trigger tank disable_stage1

		setstate bridge invisible
	}

	buildstart final
	{
		setstate bridge_materials default
		setstate bridge_materials_clip default
		setstate bridge_flag default


		setstate bridge underconstruction
	}

	built final
	{
		setstate bridge_materials invisible
		setstate bridge_materials_clip invisible
		setstate bridge_flag invisible


		setstate bridge default

		trigger tank enable_stage1

		wm_announce "The Bridge has been constructed."

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "fueldump_axis_bridge_destroy"
		wm_addteamvoiceannounce 1 "fueldump_allies_bridge_constructed"

		wm_teamvoiceannounce 0 "fueldump_axis_bridge_destroy"
		wm_teamvoiceannounce 1 "fueldump_allies_bridge_constructed"
		// *---------------------------------------------------------------------------------*
	}

	decayed final
	{
		setstate bridge_materials default
		setstate bridge_materials_clip default
		setstate bridge_flag default


		setstate bridge invisible
	}

	death
	{
		setstate bridge_materials default
		setstate bridge_materials_clip default
		setstate bridge_flag default


		setstate bridge invisible

		trigger tank disable_stage1

		wm_announce "The Bridge has been destroyed."

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "fueldump_axis_bridge_destroyed"
		wm_addteamvoiceannounce 1 "fueldump_allies_bridge_destroyed"

		wm_teamvoiceannounce 0 "fueldump_axis_bridge_destroyed"
		wm_teamvoiceannounce 1 "fueldump_allies_bridge_destroyed"
		// *---------------------------------------------------------------------------------*
	}

	trigger remove
	{
		setstate bridge_toi invisible
		setstate bridge_materials invisible
		setstate bridge_materials_clip invisible
		setstate bridge_flag invisible
		setstate bridge invisible

		remove
	}
}

docs
{
      trigger stolen 
      { 
         //wm_announce "Allies have stolen the Supply Documents!" 
         setstate docs_cm_marker invisible 
      } 

      trigger returned 
      { 
         //wm_announce "Supply Documents returned!" 
         setstate docs_cm_marker default 
      } 

      trigger captured 
      { 
      } 
}

transmitter
{
	death
	{
		trigger game_manager allies_transmit
	}
}

target_000
{
	spawn
	{
		// Reset state bits
		//accum 0 bitset 0					// Mark as not blown up
	}
	
	pain
	{
	}
	
	// If you need to notify other parts of the script that the target has been removed, then do it here.
	death
	{
	}
	
	// Called when the entity should be destroyed
	trigger blow_up
	{
		// Check if we have already been blown up
		//accum 0 abort_if_not_bitset 0		// Abort if already blown up
		
		// Update state bits
		//accum 0 bitreset 0					// Mark as blown up

		// Blow up
		alertentity target_000
	}
}

/////////////////////////////////////////////////
// Command post//////////////////////////////////
/////////////////////////////////////////////////
spawnpost_built
{
	spawn
	{
		wait 50
		constructible_class	2
		trigger spawnpost_built setup
	}

	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
	{
		trigger spawnpost_built_model trans
		trigger spawnpost_damaged_model hide
		trigger spawnpost_closed_model hide
	}

	built final
	{
		trigger spawnpost_built_model show
		trigger spawnpost_damaged_model enable
		trigger spawnpost_closed_model disable
		trigger spawnpost_built_model enable_allied_features
		trigger upper_complex_wobj on

		enablespeaker allies_compost_sound
	}

	decayed final
	{
		trigger spawnpost_built_model hide
		trigger spawnpost_damaged_model show
		trigger spawnpost_closed_model show
	}

	death
	{
		trigger spawnpost_built_model hide
		trigger spawnpost_damaged_model show
		trigger spawnpost_built_model disable_allied_features
		trigger upper_complex_wobj off

		disablespeaker allies_compost_sound
	}
}

spawnpost_closed_model
{
	spawn
	{
		accum 0 set 0
	}

	trigger hide
	{
		setstate spawnpost_closed invisible
		setstate spawnpost_closed_model invisible
	}

	trigger show
	{
		accum 0 abort_if_equal 1
		setstate spawnpost_closed default
		setstate spawnpost_closed_model default
	}

	trigger disable
	{
		accum 0 set 1
	}
}

spawnpost_damaged_model
{
	spawn
	{
		accum 0 set 0
		wait 200
		setstate spawnpost_damaged invisible		
		setstate spawnpost_damaged_model invisible		
	}

	trigger hide
	{
		setstate spawnpost_damaged invisible
		setstate spawnpost_damaged_model invisible
	}

	trigger show
	{
		accum 0 abort_if_equal 1
		setstate spawnpost_damaged default
		setstate spawnpost_damaged_model default
	}

	trigger disable
	{
		accum 0 set 1
	}
}

spawnpost_built_model
{
	spawn
	{
		accum 1 set 0
		accum 2 set 0 // state of command post as far as the VO is concerned (0=not built, 1=built) - Wils
		wait 200
		setstate spawnpost_built_model invisible
	}

	trigger show
	{
		setstate spawnpost_built_model default
		enablespeaker spawnpost_sound
	}

	trigger hide
	{
		setstate spawnpost_built_model invisible
		disablespeaker spawnpost_sound
	}

	trigger trans
	{
		setstate spawnpost_built_model underconstruction
	}

	trigger enable_allied_features
	{
		// allies built it
		accum 1 set 1 // Is this ever used? - Wils
		accum 2 set 1 // State of com post as far as VO is concerned (1=built)
		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_objective_status	6 1 1
		wm_objective_status	6 0 2

		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_removeteamvoiceannounce 0 "frostbite_axis_entrances_defend"
		wm_removeteamvoiceannounce 1 "frostbite_allies_entrances_destroy"		
		// *---------------------------------------------------------------------------------*
	}

	trigger disable_allied_features
	{
		// allies lost it
		accum 2 set 0 // state of com post as far as VO is concerned (0=destroyed)
		wm_announce	"Axis team has destroyed the Allied Command Post!"

		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1
		sethqstatus 1 0

		wm_objective_status	6 1 0
		wm_objective_status	6 0 0

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

		wm_teamvoiceannounce 1 "allies_hq_compost_damaged"
		// *---------------------------------------------------------------------------------*
	}
}

upper_complex_wobj
{
	spawn
	{
		wait 50
		setstate upper_complex_wobj invisible
		setstate upper_complex_spawns invisible
	}

	trigger on
	{
		setstate upper_complex_wobj default
		setstate upper_complex_spawns default
		alertentity upper_complex_spawns
//		setautospawn "Upper Complex" 1
	}

	trigger off
	{
		setstate upper_complex_wobj invisible
		setstate upper_complex_spawns invisible
		alertentity upper_complex_spawns
//		setautospawn "Allied Barracks" 1
	}
}

upper_complex_spawns
{
	spawn
	{
		wait 50
		setstate upper_complex_spawns invisible
	}
}
