fix(Core/Misc): bunch of crashfixes (#7307)

This commit is contained in:
Viste
2021-09-14 15:38:56 +03:00
committed by GitHub
parent bd956b5a57
commit a9796af174
56 changed files with 435 additions and 328 deletions
@@ -1286,7 +1286,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
if (TempSummon* summon = me->ToTempSummon())
if (Unit* summoner = summon->GetSummoner())
if (Unit* summoner = summon->GetSummonerUnit())
if (summoner->IsAIEnabled)
summoner->GetAI()->DoAction(ACTION_FLESH_TENTACLE_KILLED);
}
+4 -4
View File
@@ -106,7 +106,7 @@ public:
if (!(*itr)->IsSummon())
continue;
if (Unit* summoner = (*itr)->ToTempSummon()->GetSummoner())
if (Unit* summoner = (*itr)->ToTempSummon()->GetSummonerUnit())
if (!summoner->HasAura(SPELL_NO_SUMMON_AURA) && !summoner->HasAura(SPELL_SUMMON_ZENTABRA_TRIGGER)
&& !summoner->IsInCombat())
{
@@ -168,7 +168,7 @@ public:
if (victim->GetTypeId() != TYPEID_UNIT || !victim->IsSummon())
return;
if (Unit* vehSummoner = victim->ToTempSummon()->GetSummoner())
if (Unit* vehSummoner = victim->ToTempSummon()->GetSummonerUnit())
{
vehSummoner->RemoveAurasDueToSpell(SPELL_NO_SUMMON_AURA);
vehSummoner->RemoveAurasDueToSpell(SPELL_DETECT_INVIS);
@@ -187,7 +187,7 @@ public:
{
damage = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Unit* vehSummoner = attacker->ToTempSummon()->GetSummoner())
if (Unit* vehSummoner = attacker->ToTempSummon()->GetSummonerUnit())
{
vehSummoner->AddAura(SPELL_SUMMON_ZENTABRA_TRIGGER, vehSummoner);
vehSummoner->CastSpell(vehSummoner, SPELL_SUMMON_ZENTABRA, true);
@@ -224,7 +224,7 @@ public:
if (Unit* tiger = ObjectAccessor::GetUnit(*me, _tigerGuid))
{
if (tiger->IsSummon())
if (Unit* vehSummoner = tiger->ToTempSummon()->GetSummoner())
if (Unit* vehSummoner = tiger->ToTempSummon()->GetSummonerUnit())
me->AddAura(SPELL_NO_SUMMON_AURA, vehSummoner);
}
_events.ScheduleEvent(EVENT_NOSUMMON, 50000);