From 8ec71d2b179f4f62fd50230e7e3e9598861b8661 Mon Sep 17 00:00:00 2001 From: Bobblybook Date: Tue, 1 Oct 2024 18:36:11 +1000 Subject: [PATCH] header defs --- .../dungeons/DungeonStrategyContext.h | 4 +- src/strategy/dungeons/DungeonStrategyUtils.h | 4 +- .../wotlk/WotlkDungeonActionContext.h | 4 +- .../wotlk/WotlkDungeonTriggerContext.h | 4 +- .../dungeons/wotlk/nexus/NexusTriggers.h | 94 +++++++++++++++++++ src/strategy/dungeons/wotlk/nexus/TODO | 0 6 files changed, 102 insertions(+), 8 deletions(-) create mode 100644 src/strategy/dungeons/wotlk/nexus/NexusTriggers.h delete mode 100644 src/strategy/dungeons/wotlk/nexus/TODO diff --git a/src/strategy/dungeons/DungeonStrategyContext.h b/src/strategy/dungeons/DungeonStrategyContext.h index f1d8e18f..4715de4e 100644 --- a/src/strategy/dungeons/DungeonStrategyContext.h +++ b/src/strategy/dungeons/DungeonStrategyContext.h @@ -1,5 +1,5 @@ -#ifndef _PLAYERBOT_DUNGEONSTRATEGYCONTEXT_H_ -#define _PLAYERBOT_DUNGEONSTRATEGYCONTEXT_H_ +#ifndef _PLAYERBOT_DUNGEONSTRATEGYCONTEXT_H +#define _PLAYERBOT_DUNGEONSTRATEGYCONTEXT_H #include "Strategy.h" #include "wotlk/utgardekeep/UtgardeKeepStrategy.h" diff --git a/src/strategy/dungeons/DungeonStrategyUtils.h b/src/strategy/dungeons/DungeonStrategyUtils.h index 6c014aba..2b738360 100644 --- a/src/strategy/dungeons/DungeonStrategyUtils.h +++ b/src/strategy/dungeons/DungeonStrategyUtils.h @@ -1,5 +1,5 @@ -#ifndef _PLAYERBOT_DUNGEONUTILS_H_ -#define _PLAYERBOT_DUNGEONUTILS_H_ +#ifndef _PLAYERBOT_DUNGEONUTILS_H +#define _PLAYERBOT_DUNGEONUTILS_H template inline diff --git a/src/strategy/dungeons/wotlk/WotlkDungeonActionContext.h b/src/strategy/dungeons/wotlk/WotlkDungeonActionContext.h index ea13c9b0..419229dd 100644 --- a/src/strategy/dungeons/wotlk/WotlkDungeonActionContext.h +++ b/src/strategy/dungeons/wotlk/WotlkDungeonActionContext.h @@ -1,5 +1,5 @@ -#ifndef _PLAYERBOT_WOTLKDUNGEONACTIONCONTEXT_H_ -#define _PLAYERBOT_WOTLKDUNGEONACTIONCONTEXT_H_ +#ifndef _PLAYERBOT_WOTLKDUNGEONACTIONCONTEXT_H +#define _PLAYERBOT_WOTLKDUNGEONACTIONCONTEXT_H #include "utgardekeep/UtgardeKeepActionContext.h" // #include "nexus/NexusActionContext.h" diff --git a/src/strategy/dungeons/wotlk/WotlkDungeonTriggerContext.h b/src/strategy/dungeons/wotlk/WotlkDungeonTriggerContext.h index 12654700..28a42d87 100644 --- a/src/strategy/dungeons/wotlk/WotlkDungeonTriggerContext.h +++ b/src/strategy/dungeons/wotlk/WotlkDungeonTriggerContext.h @@ -1,5 +1,5 @@ -#ifndef _PLAYERBOT_WOTLKDUNGEONTRIGGERCONTEXT_H_ -#define _PLAYERBOT_WOTLKDUNGEONTRIGGERCONTEXT_H_ +#ifndef _PLAYERBOT_WOTLKDUNGEONTRIGGERCONTEXT_H +#define _PLAYERBOT_WOTLKDUNGEONTRIGGERCONTEXT_H #include "utgardekeep/UtgardeKeepTriggerContext.h" // #include "nexus/NexusTriggerContext.h" diff --git a/src/strategy/dungeons/wotlk/nexus/NexusTriggers.h b/src/strategy/dungeons/wotlk/nexus/NexusTriggers.h new file mode 100644 index 00000000..894b86f7 --- /dev/null +++ b/src/strategy/dungeons/wotlk/nexus/NexusTriggers.h @@ -0,0 +1,94 @@ +#ifndef _PLAYERBOT_WOTLKDUNGEONNEXTRIGGERS_H +#define _PLAYERBOT_WOTLKDUNGEONNEXTRIGGERS_H + +#include "EventMap.h" +#include "Trigger.h" +#include "PlayerbotAIConfig.h" +#include "GenericTriggers.h" +#include "DungeonStrategyUtils.h" + +// Taken from: +// src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +enum Spells +{ + SPELL_SUMMON_VALKYR = 42912, + SPELL_RESURRECTION_BEAM = 42857, + SPELL_RESURRECTION_BALL = 42862, + SPELL_RESURRECTION_HEAL = 42704, + SPELL_INGVAR_TRANSFORM = 42796, + + SPELL_STAGGERING_ROAR_N = 42708, + SPELL_STAGGERING_ROAR_H = 59708, + SPELL_CLEAVE = 42724, + SPELL_SMASH_N = 42669, + SPELL_SMASH_H = 59706, + SPELL_ENRAGE_N = 42705, + SPELL_ENRAGE_H = 59707, + + SPELL_DREADFUL_ROAR_N = 42729, + SPELL_DREADFUL_ROAR_H = 59734, + SPELL_WOE_STRIKE_N = 42730, + SPELL_WOE_STRIKE_H = 59735, + SPELL_DARK_SMASH = 42723, + SPELL_SHADOW_AXE = 42749, + + // Added + DEBUFF_FROST_TOMB = 48400, +}; + +#define SPELL_STAGGERING_ROAR DUNGEON_MODE(bot, SPELL_STAGGERING_ROAR_N, SPELL_STAGGERING_ROAR_H) +#define SPELL_DREADFUL_ROAR DUNGEON_MODE(bot, SPELL_DREADFUL_ROAR_N, SPELL_DREADFUL_ROAR_H) +#define SPELL_WOE_STRIKE DUNGEON_MODE(bot, SPELL_WOE_STRIKE_N, SPELL_WOE_STRIKE_H) +#define SPELL_SMASH DUNGEON_MODE(bot, SPELL_SMASH_N, SPELL_SMASH_H) +#define SPELL_ENRAGE DUNGEON_MODE(bot, SPELL_ENRAGE_N, SPELL_ENRAGE_H) + +class KelesethFrostTombTrigger : public Trigger +{ +public: + KelesethFrostTombTrigger(PlayerbotAI* ai) : Trigger(ai, "keleseth frost tomb") {} + bool IsActive() override; +}; + +class DalronnNontankTrigger : public Trigger +{ +public: + DalronnNontankTrigger(PlayerbotAI* ai) : Trigger(ai, "dalronn non-tank") {} + bool IsActive() override; +}; + +class IngvarStaggeringRoarTrigger : public Trigger +{ +public: + IngvarStaggeringRoarTrigger(PlayerbotAI* ai) : Trigger(ai, "ingvar staggering roar") {} + bool IsActive() override; +}; + +class IngvarDreadfulRoarTrigger : public Trigger +{ +public: + IngvarDreadfulRoarTrigger(PlayerbotAI* ai) : Trigger(ai, "ingvar dreadful roar") {} + bool IsActive() override; +}; + +class IngvarSmashTankTrigger : public Trigger +{ +public: + IngvarSmashTankTrigger(PlayerbotAI* ai) : Trigger(ai, "ingvar smash tank") {} + bool IsActive() override; +}; + +class IngvarSmashTankReturnTrigger : public Trigger +{ +public: + IngvarSmashTankReturnTrigger(PlayerbotAI* ai) : Trigger(ai, "ingvar smash tank return") {} + bool IsActive() override; +}; + +class NotBehindIngvarTrigger : public Trigger +{ +public: + NotBehindIngvarTrigger(PlayerbotAI* ai) : Trigger(ai, "not behind ingvar") {} + bool IsActive() override; +}; + +#endif diff --git a/src/strategy/dungeons/wotlk/nexus/TODO b/src/strategy/dungeons/wotlk/nexus/TODO deleted file mode 100644 index e69de29b..00000000