Files
mod-playerbots/src/strategy/raids/aq20/RaidAq20Utils.cpp
2024-09-01 20:09:35 +10:00

39 lines
1.0 KiB
C++

#include "RaidAq20Utils.h"
#include "SpellAuras.h"
uint32 const OSSIRIAN_BUFF = 25176;
uint32 const OSSIRIAN_DEBUFFS[] = {25177, 25178, 25180, 25181, 25183};
uint32 const OSSIRIAN_CRYSTAL_GO_ENTRY = 180619;
bool RaidAq20Utils::IsOssirianBuffActive(Unit* ossirian)
{
return ossirian && ossirian->HasAura(OSSIRIAN_BUFF);
}
int32 RaidAq20Utils::GetOssirianDebuffTimeRemaining(Unit* ossirian)
{
int32 retVal = 0xffffff;
if (ossirian)
{
for (uint32 debuff : OSSIRIAN_DEBUFFS)
{
if (AuraApplication* auraApplication = ossirian->GetAuraApplication(debuff))
{
if (Aura* aura = auraApplication->GetBase())
{
int32 duration = aura->GetDuration();
if (retVal > duration)
retVal = duration;
}
}
}
}
return retVal;
}
GameObject* RaidAq20Utils::GetNearestCrystal(Unit* ossirian)
{
return ossirian ? ossirian->FindNearestGameObject(OSSIRIAN_CRYSTAL_GO_ENTRY, 200.0f) : nullptr;
}