mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
This is a complete overhaul of the warlock class, making 3 new strategies (affliction, demonology, and destruction), as well as finishing the warlock tank strategy (shadow ward and searing pain). It also includes a soulstone fix, where the bots can change who they soulstone based on the non-combat strategies you set for them. It also includes a self-resurrect action and trigger that allows the bots to resurrect using a soulstone or reincarnation. Many other skills were added to finish out the warlock skillset.
33 lines
1.6 KiB
C++
33 lines
1.6 KiB
C++
/*
|
|
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license, you may redistribute it
|
|
* and/or modify it under version 2 of the License, or (at your option), any later version.
|
|
*/
|
|
|
|
#include "DeadStrategy.h"
|
|
|
|
#include "Playerbots.h"
|
|
|
|
void DeadStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
|
|
{
|
|
PassTroughStrategy::InitTriggers(triggers);
|
|
|
|
triggers.push_back(
|
|
new TriggerNode("often", NextAction::array(0, new NextAction("auto release", relevance), nullptr)));
|
|
triggers.push_back(
|
|
new TriggerNode("bg active", NextAction::array(0, new NextAction("auto release", relevance), nullptr)));
|
|
triggers.push_back(
|
|
new TriggerNode("dead", NextAction::array(0, new NextAction("find corpse", relevance), nullptr)));
|
|
triggers.push_back(new TriggerNode(
|
|
"corpse near", NextAction::array(0, new NextAction("revive from corpse", relevance - 1.0f), nullptr)));
|
|
triggers.push_back(new TriggerNode("resurrect request",
|
|
NextAction::array(0, new NextAction("accept resurrect", relevance), nullptr)));
|
|
triggers.push_back(
|
|
new TriggerNode("falling far", NextAction::array(0, new NextAction("repop", relevance + 1.f), nullptr)));
|
|
triggers.push_back(
|
|
new TriggerNode("location stuck", NextAction::array(0, new NextAction("repop", relevance + 1), nullptr)));
|
|
triggers.push_back(new TriggerNode(
|
|
"can self resurrect", NextAction::array(0, new NextAction("self resurrect", relevance + 2.0f), nullptr)));
|
|
}
|
|
|
|
DeadStrategy::DeadStrategy(PlayerbotAI* botAI) : PassTroughStrategy(botAI) {}
|