[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,110 @@
#include "RaidOnyxiaTriggers.h"
#include "GenericTriggers.h"
#include "ObjectAccessor.h"
#include "PlayerbotAI.h"
#include "Playerbots.h"
#include "NearestNpcsValue.h"
OnyxiaDeepBreathTrigger::OnyxiaDeepBreathTrigger(PlayerbotAI* botAI) : Trigger(botAI, "ony deep breath warning") {}
bool OnyxiaDeepBreathTrigger::IsActive()
{
Unit* boss = AI_VALUE2(Unit*, "find target", "onyxia");
if (!boss || !boss->HasUnitState(UNIT_STATE_CASTING))
return false;
// Check if Onyxia is casting
Spell* currentSpell = boss->GetCurrentSpell(CURRENT_GENERIC_SPELL);
if (!currentSpell)
return false;
uint32 spellId = currentSpell->m_spellInfo->Id;
if (spellId == 17086 || // North to South
spellId == 18351 || // South to North
spellId == 18576 || // East to West
spellId == 18609 || // West to East
spellId == 18564 || // Southeast to Northwest
spellId == 18584 || // Northwest to Southeast
spellId == 18596 || // Southwest to Northeast
spellId == 18617 // Northeast to Southwest
)
{
return true;
}
return false;
}
OnyxiaNearTailTrigger::OnyxiaNearTailTrigger(PlayerbotAI* botAI) : Trigger(botAI, "ony near tail") {}
bool OnyxiaNearTailTrigger::IsActive()
{
Unit* boss = AI_VALUE2(Unit*, "find target", "onyxia");
if (!boss || botAI->IsTank(bot))
return false;
// Skip if Onyxia is in air or transitioning
if (!boss->IsInCombat() || boss->IsFlying() || !boss->GetVictim())
return false;
return true;
}
RaidOnyxiaFireballSplashTrigger::RaidOnyxiaFireballSplashTrigger(PlayerbotAI* botAI)
: Trigger(botAI, "ony fireball splash incoming")
{
}
bool RaidOnyxiaFireballSplashTrigger::IsActive()
{
Unit* boss = AI_VALUE2(Unit*, "find target", "onyxia");
if (!boss || !boss->HasUnitState(UNIT_STATE_CASTING))
return false;
// Check if Onyxia is casting Fireball
Spell* currentSpell = boss->GetCurrentSpell(CURRENT_GENERIC_SPELL);
if (!currentSpell || currentSpell->m_spellInfo->Id != 18392) // 18392 is the classic Fireball ID
return false;
GuidVector nearbyUnits = AI_VALUE(GuidVector, "nearest friendly players");
for (ObjectGuid guid : nearbyUnits)
{
Unit* unit = botAI->GetUnit(guid);
if (!unit || unit == bot || !unit->IsAlive())
continue;
if (bot->GetDistance(unit) < 8.0f)
return true;
}
return false;
}
RaidOnyxiaWhelpsSpawnTrigger::RaidOnyxiaWhelpsSpawnTrigger(PlayerbotAI* botAI) : Trigger(botAI, "ony whelps spawn") {}
bool RaidOnyxiaWhelpsSpawnTrigger::IsActive()
{
Unit* boss = AI_VALUE2(Unit*, "find target", "onyxia");
if (!boss)
return false;
return !botAI->IsHeal(bot) && boss->IsFlying(); // DPS + Tanks only
}
OnyxiaAvoidEggsTrigger::OnyxiaAvoidEggsTrigger(PlayerbotAI* botAI) : Trigger(botAI, "ony avoid eggs") {}
bool OnyxiaAvoidEggsTrigger::IsActive()
{
Position botPos = Position(bot->GetPositionX(), bot->GetPositionY(), bot->GetPositionZ());
if (botPos.GetExactDist2d(-35.0f, -165.0f) <= 5.0f)
return true;
if (botPos.GetExactDist2d(-35.0f, -260.0f) <= 5.0f)
return true;
return false;
}