mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-02-04 03:13:48 +00:00
[HOT FIX] MS build issues regarding folder / command lenght usage or rc.exe (#2038)
This commit is contained in:
142
src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp
Normal file
142
src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp
Normal file
@@ -0,0 +1,142 @@
|
||||
/*
|
||||
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU AGPL v3 license, you may redistribute it
|
||||
* and/or modify it under version 3 of the License, or (at your option), any later version.
|
||||
*/
|
||||
|
||||
#include "ShadowPriestStrategy.h"
|
||||
|
||||
#include "Playerbots.h"
|
||||
#include "ShadowPriestStrategyActionNodeFactory.h"
|
||||
|
||||
ShadowPriestStrategy::ShadowPriestStrategy(PlayerbotAI* botAI) : GenericPriestStrategy(botAI)
|
||||
{
|
||||
actionNodeFactories.Add(new ShadowPriestStrategyActionNodeFactory());
|
||||
}
|
||||
|
||||
std::vector<NextAction> ShadowPriestStrategy::getDefaultActions()
|
||||
{
|
||||
return {
|
||||
NextAction("mind blast", ACTION_DEFAULT + 0.3f),
|
||||
NextAction("mind flay", ACTION_DEFAULT + 0.2f),
|
||||
NextAction("shadow word: death", ACTION_DEFAULT + 0.1f), // cast during movement
|
||||
NextAction("shoot", ACTION_DEFAULT)
|
||||
};
|
||||
}
|
||||
|
||||
void ShadowPriestStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
{
|
||||
GenericPriestStrategy::InitTriggers(triggers);
|
||||
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"shadowform",
|
||||
{
|
||||
NextAction("shadowform", ACTION_HIGH)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"low mana",
|
||||
{
|
||||
NextAction("dispersion", ACTION_HIGH + 5)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"critical health",
|
||||
{
|
||||
NextAction("dispersion", ACTION_HIGH + 5)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"vampiric embrace",
|
||||
{
|
||||
NextAction("vampiric embrace", 16.0f)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"silence",
|
||||
{
|
||||
NextAction("silence", ACTION_INTERRUPT + 1)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"silence on enemy healer",
|
||||
{
|
||||
NextAction("silence on enemy healer", ACTION_INTERRUPT)
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
void ShadowPriestAoeStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
{
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"shadow word: pain on attacker",
|
||||
{
|
||||
NextAction("shadow word: pain on attacker", ACTION_NORMAL + 5)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"vampiric touch on attacker",
|
||||
{
|
||||
NextAction("vampiric touch on attacker", ACTION_NORMAL + 4)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"mind sear channel check",
|
||||
{
|
||||
NextAction("cancel channel", ACTION_HIGH + 5)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"medium aoe",
|
||||
{
|
||||
NextAction("mind sear", ACTION_HIGH + 4)
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
void ShadowPriestDebuffStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
{
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"vampiric touch",
|
||||
{
|
||||
NextAction("vampiric touch", ACTION_HIGH + 3)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"devouring plague",
|
||||
{
|
||||
NextAction("devouring plague", ACTION_HIGH + 2)
|
||||
}
|
||||
)
|
||||
);
|
||||
triggers.push_back(
|
||||
new TriggerNode(
|
||||
"shadow word: pain",
|
||||
{
|
||||
NextAction("shadow word: pain", ACTION_HIGH + 1)
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user