фиксы обновления

This commit is contained in:
2026-08-02 20:25:03 +04:00
parent aa95d99b18
commit 4b88e1f171
11 changed files with 37 additions and 33 deletions
@@ -87,7 +87,7 @@ public:
sIndividualProgression->CheckAdjustments(player);
}
void OnPlayerResurrect(Player* player, float /*restore_percent*/, bool /*applySickness*/) override
void OnPlayerResurrect(Player* player, float /*restore_percent*/, bool& /*applySickness*/) override
{
sIndividualProgression->CheckAdjustments(player);
}
@@ -408,6 +408,7 @@ public:
events.Repeat(15s);
break;
case EVENT_TELEPORT:
{
me->AttackStop();
if (IN_LIVE_SIDE(me))
{
@@ -417,7 +418,10 @@ public:
{
me->CastSpell(me, SPELL_TELEPORT_LIVE, false);
}
me->GetThreatMgr().resetAggro(NotOnSameSide(me));
NotOnSameSide notOnSameSide(me);
for (ThreatReference* ref : me->GetThreatMgr().GetModifiableThreatList())
if (notOnSameSide(ref->GetVictim()))
me->GetThreatMgr().ResetThreat(ref->GetVictim());
if (Unit* pTarget = SelectTarget(SelectTargetMethod::MaxDistance, 0))
{
me->GetThreatMgr().AddThreat(pTarget, 100.0f);
@@ -425,6 +429,7 @@ public:
}
events.Repeat(20s);
break;
}
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(30))
{
@@ -403,14 +403,13 @@ public:
case EVENT_DETONATE_MANA:
{
std::vector<Unit*> unitList;
ThreatContainer::StorageType const& threatList = me->GetThreatMgr().GetThreatList();
for (auto itr : threatList)
for (ThreatReference const* ref : me->GetThreatMgr().GetSortedThreatList())
{
if (itr->getTarget()->IsPlayer()
&& itr->getTarget()->getPowerType() == POWER_MANA
&& itr->getTarget()->GetPower(POWER_MANA))
if (ref->GetVictim()->IsPlayer()
&& ref->GetVictim()->getPowerType() == POWER_MANA
&& ref->GetVictim()->GetPower(POWER_MANA))
{
unitList.push_back(itr->getTarget());
unitList.push_back(ref->GetVictim());
}
}
if (!unitList.empty())
@@ -118,11 +118,10 @@ public:
std::list<Unit*> meleeRangeTargets;
Unit* finalTarget = nullptr;
uint8 counter = 0;
auto i = me->GetThreatMgr().GetThreatList().begin();
for (; i != me->GetThreatMgr().GetThreatList().end(); ++i, ++counter)
for (ThreatReference const* ref : me->GetThreatMgr().GetSortedThreatList())
{
// Gather all units with melee range
Unit* target = (*i)->getTarget();
Unit* target = ref->GetVictim();
if (me->IsWithinMeleeRange(target))
{
meleeRangeTargets.push_back(target);
@@ -132,6 +131,7 @@ public:
{
me->AddThreat(target, 500.0f);
}
++counter;
}
counter = 0;
std::list<Unit*, std::allocator<Unit*>>::iterator itr;
@@ -346,17 +346,16 @@ public:
}
std::vector<Unit*> targets;
auto i = me->GetThreatMgr().GetThreatList().begin();
for (; i != me->GetThreatMgr().GetThreatList().end(); ++i)
for (ThreatReference const* ref : me->GetThreatMgr().GetSortedThreatList())
{
if ((*i)->getTarget()->IsPlayer())
if (ref->GetVictim()->IsPlayer())
{
bool inList = false;
if (!blockList.empty())
{
for (GuidList::const_iterator itr = blockList.begin(); itr != blockList.end(); ++itr)
{
if ((*i)->getTarget()->GetGUID() == *itr)
if (ref->GetVictim()->GetGUID() == *itr)
{
inList = true;
break;
@@ -365,7 +364,7 @@ public:
}
if (!inList)
{
targets.push_back((*i)->getTarget());
targets.push_back(ref->GetVictim());
}
}
}
@@ -4,7 +4,7 @@
#include "ActionContext.h"
#include "IndividualProgressionOnyxiaActions.h"
#include "RaidOnyxiaActionContext.h"
#include "OnyActionContext.h"
class IPOnyxiaActionContext : public RaidOnyxiaActionContext
{
@@ -1,7 +1,7 @@
#ifdef MOD_PLAYERBOTS
#ifndef MOD_INDIVIDUAL_PROGRESSION_ONYXIAACTIONS_H
#define MOD_INDIVIDUAL_PROGRESSION_ONYXIAACTIONS_H
#include "RaidOnyxiaActions.h"
#include "OnyActions.h"
class IPOnyxiaKillWhelpsAction : public RaidOnyxiaKillWhelpsAction
{