mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-02-21 10:30:01 +01:00
Violet Hold implementation Consortium guy is missing, will revisit once I reach heroics so I can code it properly
58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
#include "VioletHoldMultipliers.h"
|
|
#include "VioletHoldActions.h"
|
|
#include "GenericSpellActions.h"
|
|
#include "ChooseTargetActions.h"
|
|
#include "MovementActions.h"
|
|
#include "VioletHoldTriggers.h"
|
|
#include "Action.h"
|
|
|
|
float ErekemMultiplier::GetValue(Action* action)
|
|
{
|
|
Unit* boss = AI_VALUE2(Unit*, "find target", "erekem");
|
|
if (!boss || !botAI->IsDps(bot)) { return 1.0f; }
|
|
|
|
if (dynamic_cast<DpsAssistAction*>(action))
|
|
{
|
|
return 0.0f;
|
|
}
|
|
if (action->getThreatType() == Action::ActionThreatType::Aoe)
|
|
{
|
|
return 0.0f;
|
|
}
|
|
return 1.0f;
|
|
}
|
|
|
|
float IchoronMultiplier::GetValue(Action* action)
|
|
{
|
|
Unit* boss = AI_VALUE2(Unit*, "find target", "ichoron");
|
|
if (!boss) { return 1.0f; }
|
|
|
|
if (dynamic_cast<DpsAssistAction*>(action)
|
|
|| dynamic_cast<TankAssistAction*>(action)
|
|
|| dynamic_cast<DropTargetAction*>(action))
|
|
{
|
|
return 0.0f;
|
|
}
|
|
return 1.0f;
|
|
}
|
|
|
|
float ZuramatMultiplier::GetValue(Action* action)
|
|
{
|
|
Unit* boss = AI_VALUE2(Unit*, "find target", "zuramat the obliterator");
|
|
if (!boss) { return 1.0f; }
|
|
|
|
if (bot->HasAura(SPELL_VOID_SHIFTED))
|
|
{
|
|
if (dynamic_cast<DpsAssistAction*>(action) || dynamic_cast<TankAssistAction*>(action))
|
|
{
|
|
return 0.0f;
|
|
}
|
|
}
|
|
|
|
if (boss->HasAura(SPELL_SHROUD_OF_DARKNESS) && dynamic_cast<AttackAction*>(action))
|
|
{
|
|
return 0.0f;
|
|
}
|
|
return 1.0f;
|
|
}
|