//
//
// DESCRIPTION:
//      LifeForce_1 Logic
//

/*
==============================================================
TurokLifeForce_1
==============================================================
*/

#include "scripts/common.txt"

class TurokLifeForce_1 : ScriptObject
{
    kActor @self;
	float radius = 15.0f;


    TurokLifeForce_1(kActor @actor)
    {
        @self = actor; self.Flags() |= AF_CANBETOUCHED;

    }


    /*
    ==============================================================
    OnTouch
    ==============================================================
    */
	void OnTouch(kActor @touchedActor)
	{

        	float x, y, z;
        
        	x = Player.Actor().Origin().x;
        	y = Player.Actor().Origin().y;
        	z = Player.Actor().Origin().z;

		TurokPlayer @playerScript = cast<TurokPlayer@>(touchedActor.ScriptObject().obj);
	
		if (LifeForce::GetLifeForceTracker() < (1000 - LifeForce::LifeForce1Amount)) 
		{
			LifeForce::LifeForceTrackerIncrease(LifeForce::LifeForce1Amount);
			ActorFactory.Spawn(AT_REAL_COIN1, x, y, z, 0, Player.Actor().SectorIndex());
		} else
		{

			LifeForce::SpareLifeForceTotalIncrease(LifeForce::LifeForce1Amount);
			ActorFactory.Spawn(AT_SPARE_COIN1, x, y, z, 0, Player.Actor().SectorIndex());
			ActorFactory.Spawn(AT_CHECKER_COIN1, x, y, z, 0, Player.Actor().SectorIndex());
		}
		self.MarkPersistentBit(false);
		self.Remove();
    }



    /*
    ==============================================================
    OnRestore
    ==============================================================
    */

	void OnRestore()
	{
		self.Remove();
	}



    /*
    ==============================================================
    OnTick
    ==============================================================
    */

    void OnTick()
	{
		self.Yaw() += 0.017453f;
    	}

    /*
    ==============================================================
    OnPickup
    ==============================================================
    */

	void OnPickup()
	{
	}


    /*
    ==============================================================
    OnSpawn
    ==============================================================
    */


    void OnSpawn()
	{
    	}


}
