[HOT FIX] MS build issues regarding folder / command lenght usage or rc.exe (#2038)

This commit is contained in:
bashermens
2026-01-19 22:45:28 +01:00
committed by GitHub
parent fd07e02a8a
commit 41c53365ae
1119 changed files with 27 additions and 27 deletions

View File

@@ -0,0 +1,212 @@
#include "AssassinationRogueStrategy.h"
#include "Playerbots.h"
class AssassinationRogueStrategyActionNodeFactory : public NamedObjectFactory<ActionNode>
{
public:
AssassinationRogueStrategyActionNodeFactory()
{
creators["mutilate"] = &mutilate;
creators["envenom"] = &envenom;
creators["backstab"] = &backstab;
creators["rupture"] = &rupture;
}
private:
static ActionNode* mutilate([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode(
"mutilate",
/*P*/ {},
/*A*/ { NextAction("backstab") },
/*C*/ {}
);
}
static ActionNode* envenom([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode(
"envenom",
/*P*/ {},
/*A*/ { NextAction("rupture") },
/*C*/ {}
);
}
static ActionNode* backstab([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode(
"backstab",
/*P*/ {},
/*A*/ { NextAction("sinister strike") },
/*C*/ {}
);
}
static ActionNode* rupture([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode(
"rupture",
/*P*/ {},
/*A*/ { NextAction("eviscerate") },
/*C*/ {}
);
}
};
AssassinationRogueStrategy::AssassinationRogueStrategy(PlayerbotAI* ai) : MeleeCombatStrategy(ai)
{
actionNodeFactories.Add(new AssassinationRogueStrategyActionNodeFactory());
}
std::vector<NextAction> AssassinationRogueStrategy::getDefaultActions()
{
return {
NextAction("melee", ACTION_DEFAULT)
};
}
void AssassinationRogueStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
{
MeleeCombatStrategy::InitTriggers(triggers);
triggers.push_back(
new TriggerNode(
"high energy available",
{
NextAction("garrote", ACTION_HIGH + 7),
NextAction("ambush", ACTION_HIGH + 6)
}
)
);
triggers.push_back(
new TriggerNode(
"high energy available",
{
NextAction("mutilate", ACTION_NORMAL + 3)
}
)
);
triggers.push_back(
new TriggerNode(
"hunger for blood",
{
NextAction("hunger for blood", ACTION_HIGH + 6),
}
)
);
triggers.push_back(
new TriggerNode(
"slice and dice",
{
NextAction("slice and dice", ACTION_HIGH + 5),
}
)
);
triggers.push_back(
new TriggerNode(
"combo points 3 available",
{
NextAction("envenom", ACTION_HIGH + 5),
NextAction("eviscerate", ACTION_HIGH + 3)
}
)
);
triggers.push_back(
new TriggerNode(
"target with combo points almost dead",
{
NextAction("envenom", ACTION_HIGH + 4),
NextAction("eviscerate", ACTION_HIGH + 2)
}
)
);
triggers.push_back(
new TriggerNode(
"expose armor",
{
NextAction("expose armor", ACTION_HIGH + 3),
}
)
);
triggers.push_back(
new TriggerNode(
"medium threat",
{
NextAction("vanish", ACTION_HIGH),
}
)
);
triggers.push_back(
new TriggerNode(
"low health",
{
NextAction("evasion", ACTION_HIGH + 9),
NextAction("feint", ACTION_HIGH + 8)
}
)
);
triggers.push_back(
new TriggerNode(
"critical health",
{
NextAction("cloak of shadows", ACTION_HIGH + 7)
}
)
);
triggers.push_back(
new TriggerNode(
"kick",
{
NextAction("kick", ACTION_INTERRUPT + 2),
}
)
);
triggers.push_back(
new TriggerNode(
"kick on enemy healer",
{
NextAction("kick on enemy healer", ACTION_INTERRUPT + 1),
}
)
);
triggers.push_back(
new TriggerNode(
"medium aoe",
{
NextAction("fan of knives", ACTION_NORMAL + 5),
}
)
);
triggers.push_back(
new TriggerNode(
"low tank threat",
{
NextAction("tricks of the trade on main tank", ACTION_HIGH + 7),
}
)
);
triggers.push_back(
new TriggerNode(
"enemy out of melee",
{
NextAction("stealth", ACTION_HIGH + 3),
NextAction("sprint", ACTION_HIGH + 2),
NextAction("reach melee", ACTION_HIGH + 1),
}
)
);
}