mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-18 11:15:43 +00:00
Improve class spell and use trinket
This commit is contained in:
@@ -85,7 +85,7 @@ NextAction** DpsPaladinStrategy::getDefaultActions()
|
||||
return NextAction::array(0, new NextAction("crusader strike", ACTION_DEFAULT + 0.4f),
|
||||
new NextAction("judgement of wisdom", ACTION_DEFAULT + 0.3f),
|
||||
new NextAction("divine storm", ACTION_DEFAULT + 0.2f),
|
||||
new NextAction("melee consecration", ACTION_DEFAULT + 0.1f),
|
||||
new NextAction("consecration", ACTION_DEFAULT + 0.1f),
|
||||
new NextAction("melee", ACTION_DEFAULT), NULL);
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ void DpsPaladinStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
// triggers.push_back(new TriggerNode("repentance", NextAction::array(0, new NextAction("repentance",
|
||||
// ACTION_INTERRUPT + 2), nullptr)));
|
||||
triggers.push_back(new TriggerNode(
|
||||
"medium aoe", NextAction::array(0, new NextAction("melee consecration", ACTION_HIGH + 3), nullptr)));
|
||||
"medium aoe", NextAction::array(0, new NextAction("consecration", ACTION_HIGH + 3), nullptr)));
|
||||
triggers.push_back(
|
||||
new TriggerNode("art of war", NextAction::array(0, new NextAction("exorcism", ACTION_HIGH + 2), nullptr)));
|
||||
triggers.push_back(new TriggerNode("target critical health",
|
||||
|
||||
@@ -17,8 +17,8 @@ void GenericPaladinStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
{
|
||||
CombatStrategy::InitTriggers(triggers);
|
||||
|
||||
// triggers.push_back(new TriggerNode("low health", NextAction::array(0, new NextAction("divine shield",
|
||||
// ACTION_CRITICAL_HEAL + 2), new NextAction("holy light", ACTION_CRITICAL_HEAL + 2), nullptr)));
|
||||
triggers.push_back(new TriggerNode("critical health", NextAction::array(0, new NextAction("divine shield",
|
||||
ACTION_HIGH + 5), nullptr)));
|
||||
triggers.push_back(
|
||||
new TriggerNode("hammer of justice interrupt",
|
||||
NextAction::array(0, new NextAction("hammer of justice", ACTION_INTERRUPT), nullptr)));
|
||||
|
||||
@@ -153,13 +153,6 @@ Unit* CastRighteousDefenseAction::GetTarget()
|
||||
return current_target->GetVictim();
|
||||
}
|
||||
|
||||
bool CastMeleeConsecrationAction::isUseful()
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
// float dis = distance + CONTACT_DISTANCE;
|
||||
return target && bot->IsWithinMeleeRange(target); // sServerFacade->IsDistanceGreaterThan(AI_VALUE2(float,
|
||||
// "distance", GetTargetName()), distance);
|
||||
}
|
||||
|
||||
bool CastDivineSacrificeAction::isUseful()
|
||||
{
|
||||
|
||||
@@ -44,13 +44,6 @@ SPELL_ACTION(CastHolyShockAction, "holy shock");
|
||||
// consecration
|
||||
MELEE_ACTION(CastConsecrationAction, "consecration");
|
||||
|
||||
class CastMeleeConsecrationAction : public CastSpellAction
|
||||
{
|
||||
public:
|
||||
CastMeleeConsecrationAction(PlayerbotAI* botAI) : CastSpellAction(botAI, "consecration") {}
|
||||
bool isUseful() override;
|
||||
};
|
||||
|
||||
// repentance
|
||||
SNARE_ACTION(CastRepentanceSnareAction, "repentance");
|
||||
DEBUFF_ACTION(CastRepentanceAction, "repentance");
|
||||
@@ -67,10 +60,10 @@ BUFF_ACTION(CastDivineFavorAction, "divine favor");
|
||||
// fury
|
||||
BUFF_ACTION(CastRighteousFuryAction, "righteous fury");
|
||||
|
||||
class CastDivineStormAction : public CastBuffSpellAction
|
||||
class CastDivineStormAction : public CastMeleeSpellAction
|
||||
{
|
||||
public:
|
||||
CastDivineStormAction(PlayerbotAI* botAI) : CastBuffSpellAction(botAI, "divine storm") {}
|
||||
CastDivineStormAction(PlayerbotAI* botAI) : CastMeleeSpellAction(botAI, "divine storm") {}
|
||||
};
|
||||
|
||||
class CastCrusaderStrikeAction : public CastMeleeSpellAction
|
||||
|
||||
@@ -232,7 +232,6 @@ public:
|
||||
creators["concentration aura"] = &PaladinAiObjectContextInternal::concentration_aura;
|
||||
creators["holy wrath"] = &PaladinAiObjectContextInternal::holy_wrath;
|
||||
creators["consecration"] = &PaladinAiObjectContextInternal::consecration;
|
||||
creators["melee consecration"] = &PaladinAiObjectContextInternal::melee_consecration;
|
||||
creators["cleanse disease"] = &PaladinAiObjectContextInternal::cleanse_disease;
|
||||
creators["cleanse poison"] = &PaladinAiObjectContextInternal::cleanse_poison;
|
||||
creators["cleanse magic"] = &PaladinAiObjectContextInternal::cleanse_magic;
|
||||
@@ -331,7 +330,6 @@ private:
|
||||
static Action* concentration_aura(PlayerbotAI* botAI) { return new CastConcentrationAuraAction(botAI); }
|
||||
static Action* holy_wrath(PlayerbotAI* botAI) { return new CastHolyWrathAction(botAI); }
|
||||
static Action* consecration(PlayerbotAI* botAI) { return new CastConsecrationAction(botAI); }
|
||||
static Action* melee_consecration(PlayerbotAI* botAI) { return new CastMeleeConsecrationAction(botAI); }
|
||||
static Action* cleanse_poison(PlayerbotAI* botAI) { return new CastCleansePoisonAction(botAI); }
|
||||
static Action* cleanse_disease(PlayerbotAI* botAI) { return new CastCleanseDiseaseAction(botAI); }
|
||||
static Action* cleanse_magic(PlayerbotAI* botAI) { return new CastCleanseMagicAction(botAI); }
|
||||
|
||||
@@ -82,7 +82,7 @@ void TankPaladinStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
triggers.push_back(new TriggerNode(
|
||||
"light aoe", NextAction::array(0, new NextAction("avenger's shield", ACTION_HIGH + 5), nullptr)));
|
||||
triggers.push_back(
|
||||
new TriggerNode("medium aoe", NextAction::array(0, new NextAction("melee consecration", ACTION_HIGH + 7),
|
||||
new TriggerNode("medium aoe", NextAction::array(0, new NextAction("consecration", ACTION_HIGH + 7),
|
||||
new NextAction("avenger's shield", ACTION_HIGH + 6), nullptr)));
|
||||
// triggers.push_back(new TriggerNode("avenger's shield", NextAction::array(0, new NextAction("avenger's shield",
|
||||
// ACTION_HIGH + 7), nullptr)));
|
||||
@@ -107,7 +107,7 @@ void TankPaladinStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
||||
new TriggerNode("medium group heal occasion",
|
||||
NextAction::array(0, new NextAction("divine sacrifice", ACTION_HIGH + 5), nullptr)));
|
||||
triggers.push_back(new TriggerNode(
|
||||
"enough mana", NextAction::array(0, new NextAction("melee consecration", ACTION_HIGH + 4), nullptr)));
|
||||
"enough mana", NextAction::array(0, new NextAction("consecration", ACTION_HIGH + 4), nullptr)));
|
||||
triggers.push_back(new TriggerNode("not facing target",
|
||||
NextAction::array(0, new NextAction("set facing", ACTION_NORMAL + 7), nullptr)));
|
||||
triggers.push_back(new TriggerNode(
|
||||
|
||||
Reference in New Issue
Block a user