#include "scripts/common.txt"
#include "scripts/BP_common.txt"

const float TUNNEL_HEALTH_RADIUS = 90.0f * 90.0f;

class BP_Tunnel_Health : ScriptObject
{
    kActor@ self;
	kActor@ hummer;
	bool collided;
	//------------------------------------------------------------------------------------------------------------------------
    BP_Tunnel_Health(kActor @actor)
    {
        @self = actor;
		collided = false;
		self.Flags() |= AF_ALWAYSACTIVE;
    }
	//------------------------------------------------------------------------------------------------------------------------
	void OnPostBeginLevel()
	{
		@hummer = World.GetActorByTID(1001);
		self.Scale() = kVec3(1.0f, 1.0f, 1.0f);
	}
	//------------------------------------------------------------------------------------------------------------------------
    void OnSpawn()
	{
	}
	//------------------------------------------------------------------------------------------------------------------------
    void OnTick(void)
    {
		self.Yaw() += 0.017453f;
		//check for collision with hummer
		if (hummer is null)
		{
			@hummer = World.GetActorByTID(1001);
			return;
		}
		if (IsActorInRadius(hummer, self.Origin(), TUNNEL_HEALTH_RADIUS))
		{
			collided = true;
			OnCustomCollide(hummer);
		}
    }
	//------------------------------------------------------------------------------------------------------------------------
	void OnCustomCollide(kActor@ actor)
	{
		if (Game.GetCurrentMapID() == 128) // in tunnel chase map
		{
			Game.CallDelayedMapScript(9, actor, 0.0f);
		}
		self.Remove();
	}
	//------------------------------------------------------------------------------------------------------------------------
};
