#pragma once
#include "CppScripts.h"

class AgSurvivalBuffStation : public CppScripts::Script
{
public:
	/**
	 * @brief When the rebuild of self is complete, we calculate the behavior that is assigned to self in the database.
	 *
	 * @param self The Entity that called this script.
	 * @param target The target of the self that called this script.
	 */
	void OnRebuildComplete(Entity* self, Entity* target) override;
	void OnTimerDone(Entity* self, std::string timerName) override;
private:
	/**
	 * Skill ID for the buff station.
	 */
	uint32_t skillIdForBuffStation = 201;
	/**
	 * Behavior ID for the buff station.
	 */
	uint32_t behaviorIdForBuffStation = 1784;
	/**
	 * Timer for dropping armor.
	 */
	float dropArmorTimer = 6.0f;
	/**
	 * Timer for dropping life.
	 */
	float dropLifeTimer = 3.0f;
	/**
	 * Timer for dropping imagination.
	 */
	float dropImaginationTimer = 4.0f;
	/**
	 * Timer for smashing.
	 */
	float smashTimer = 25.0f;
	/**
	 * LOT for armor powerup.
	 */
	LOT armorPowerup = 6431;
	/**
	 * LOT for life powerup.
	 */
	LOT lifePowerup = 177;
	/**
	 * LOT for imagination powerup.
	 */
	LOT imaginationPowerup = 935;
};