#include "scripts/bp_common.txt"
#include "scripts/map/common_level_script.txt"

bool blockingTemple = true;
//------------------------------------------------------------------------------------------------------------------------
// Start
//------------------------------------------------------------------------------------------------------------------------
$script 0 {

	World.TriggerActorsByTID(instigator, 2139); //3 grunts on left side of temple final area
	World.TriggerActorsByTID(instigator, 2140); //2 hulks on left side of temple final area
	World.TriggerActorsByTID(instigator, 2142); //3 grunts top of temple final area

	World.TriggerActorsByTID(instigator, 2145); //plasama guy before end save
	World.TriggerActorsByTID(instigator, 2146); //plasama guy before end save
	
	World.TriggerActorsByTID(instigator, 2147); //gunner on end platforms right
	World.TriggerActorsByTID(instigator, 2149); //gunner on end platforms right
	World.TriggerActorsByTID(instigator, 2150); //gunner on end platforms right
	
	World.TriggerActorsByTID(instigator, 2157); //gunner on end platforms narrow right
	World.TriggerActorsByTID(instigator, 2158); //gunner on end platforms narrow right
	World.TriggerActorsByTID(instigator, 2159); //gunner on end platforms narrow right
	World.TriggerActorsByTID(instigator, 2160); //gunner on end platforms narrow right
	
	World.TriggerActorsByTID(instigator, 2148); //gunner on end platforms left
	World.TriggerActorsByTID(instigator, 2152); //gunner on end platforms left
	World.TriggerActorsByTID(instigator, 2151); //gunner on end platforms left
	
	World.TriggerActorsByTID(instigator, 2153); //gunner on end platforms narrow left
	World.TriggerActorsByTID(instigator, 2154); //gunner on end platforms narrow left
	World.TriggerActorsByTID(instigator, 2155); //gunner on end platforms narrow left
	World.TriggerActorsByTID(instigator, 2156); //gunner on end platforms narrow left
	
	ActorFactory.Spawn("BP_FallingRocks", -2070, 9357, 3379, 0, 0);
	
	kActor @shop = ActorFactory.Spawn("ShopPoint", 7542, -3523, 4044, 0, 0); //Spawn Shop Portal

	ActorFactory.Spawn("BP_FallingRocks", 8113, -2807, 4044, 0, 0);
	ActorFactory.Spawn("BP_FallingRocks", 7860, -1941, 4044, 0, 0);

	MapSpawnBeamTrapHorzX(kVec3(7700, -1684, 4060), kVec3(7700, 12, 4060), 4.0f, 0);

	ActorFactory.Spawn("BP_FireTrap", 7884, -919, 4044, 0, 0);
	ActorFactory.Spawn("BP_FallingRocks", 7589, -885, 3924, 0, 0);
	ActorFactory.Spawn("BP_FireTrap", 7266, -919, 4044, 0, 0);
	ActorFactory.Spawn("BP_FireTrap", 7574, -614, 4044, 0, 0);

	ActorFactory.Spawn("BP_FallingRocks", 5972, 3150, 4206, 0, 0);
	
	int bossDeaths = 0;
	GameVariables.GetInt("BP.level3MBDead", bossDeaths);
	if (bossDeaths >= 2) {
		Game.CallDelayedMapScript(2, instigator, 0); //removes blocker
	}
	
	Game.CallDelayedMapScript(1, instigator, 0);
}
//------------------------------------------------------------------------------------------------------------------------
// Update Game
//------------------------------------------------------------------------------------------------------------------------
$script 1 {
	if (blockingTemple) {
		BlockAreaMinMax(kVec3(3732, -4695, 3696), kVec3(3936, -3116, 4696), kVec3(-1, 0, 0));
	}
	
	UpdateGeneralGame();
	//ActorInWorldTestUpdate();
	$restart;
}
//------------------------------------------------------------------------------------------------------------------------
// Both mini bosses died
//------------------------------------------------------------------------------------------------------------------------
$script 2 {
	blockingTemple = false;
}
//------------------------------------------------------------------------------------------------------------------------
