#ifndef COMBAT_HPP_INCLUDED
#define COMBAT_HPP_INCLUDED

#include <cstdint>
#include <string>

namespace Combat
{
    bool IsOpen();
    bool Open(bool UseHotkey = false);
    std::int32_t GetTabHotkey();

    std::int32_t GetHealth();
    std::int32_t GetMaxHealth();
    double GetHealthPercentage();

    std::int32_t GetSpecialAttack();
    bool IsSpecialAttacking();
    bool ToggleSpecialAttack(bool Toggle); // Note: Have the combat tab open to force-use the special attack bar

    bool IsPoisoned();
    bool HasPoisonImmunity();

    bool IsEnvenomed();

    bool IsAutoRetaliating();
    bool ToggleAutoRetaliate(bool Toggle);

    std::int32_t GetStyleIndex();
    std::string GetStyleString();

    bool SetStyle(const std::string& Style);
    bool SetStyle(std::int32_t Index);
}

#endif // COMBAT_HPP_INCLUDED
