Scripts: fix some issues found by static code analysis (also fix 2 startup errors)
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
UPDATE `creature_template_addon` SET `emote`=69 WHERE `entry`=31807;
|
||||
DELETE FROM `creature_addon` WHERE `guid` IN (101725,101943);
|
||||
@@ -200,16 +200,13 @@ public:
|
||||
{
|
||||
if (!SisterDeath)
|
||||
{
|
||||
if (instance)
|
||||
Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
Talk(YELL_SISTER_ALYTHESS_DEAD);
|
||||
DoCast(me, SPELL_EMPOWER);
|
||||
me->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
SisterDeath = true;
|
||||
}
|
||||
Talk(YELL_SISTER_ALYTHESS_DEAD);
|
||||
DoCast(me, SPELL_EMPOWER);
|
||||
me->InterruptSpell(CURRENT_GENERIC_SPELL);
|
||||
SisterDeath = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,15 +344,12 @@ public:
|
||||
{
|
||||
Enraged = false;
|
||||
|
||||
if (instance)
|
||||
if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH)))
|
||||
{
|
||||
if (Creature* temp = ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_SACROLASH)))
|
||||
{
|
||||
if (temp->isDead())
|
||||
temp->Respawn();
|
||||
else if (temp->GetVictim())
|
||||
me->getThreatManager().addThreat(temp->GetVictim(), 0.0f);
|
||||
}
|
||||
if (temp->isDead())
|
||||
temp->Respawn();
|
||||
else if (temp->GetVictim())
|
||||
me->getThreatManager().addThreat(temp->GetVictim(), 0.0f);
|
||||
}
|
||||
|
||||
if (!me->IsInCombat())
|
||||
@@ -527,7 +521,7 @@ public:
|
||||
|
||||
if (!SisterDeath)
|
||||
{
|
||||
Unit* Temp = Unit::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
|
||||
Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
|
||||
if (Temp && Temp->isDead())
|
||||
{
|
||||
Talk(YELL_SISTER_SACROLASH_DEAD);
|
||||
@@ -538,7 +532,7 @@ public:
|
||||
}
|
||||
if (!me->GetVictim())
|
||||
{
|
||||
Creature* sisiter = ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_SACROLASH));
|
||||
Creature* sisiter = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH));
|
||||
if (sisiter && !sisiter->isDead() && sisiter->GetVictim())
|
||||
{
|
||||
me->AddThreat(sisiter->GetVictim(), 0.0f);
|
||||
|
||||
@@ -72,7 +72,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, soccothratesGUID))
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
|
||||
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
|
||||
soccothrates->AI()->SetData(1, 1);
|
||||
}
|
||||
@@ -86,9 +86,6 @@ class boss_dalliah_the_doomsayer : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SHADOW_WAVE, urand(11000, 16000));
|
||||
events.ScheduleEvent(EVENT_ME_FIRST, 6000);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (Creature* soccothrates = me->FindNearestCreature(NPC_SOCCOTHRATES, 100.0f, true))
|
||||
soccothratesGUID = soccothrates->GetGUID();
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) OVERRIDE
|
||||
@@ -161,7 +158,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SHADOW_WAVE, urand(11000, 16000));
|
||||
break;
|
||||
case EVENT_ME_FIRST:
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, soccothratesGUID))
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
|
||||
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
|
||||
soccothrates->AI()->Talk(SAY_AGGRO_DALLIAH_FIRST);
|
||||
break;
|
||||
@@ -172,7 +169,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
|
||||
|
||||
if (HealthBelowPct(25) && !soccothratesTaunt)
|
||||
{
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, soccothratesGUID))
|
||||
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
|
||||
soccothrates->AI()->Talk(SAY_DALLIAH_25_PERCENT);
|
||||
soccothratesTaunt = true;
|
||||
}
|
||||
@@ -180,10 +177,9 @@ class boss_dalliah_the_doomsayer : public CreatureScript
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
private:
|
||||
bool soccothratesTaunt;
|
||||
bool soccothratesDeath;
|
||||
uint64 soccothratesGUID;
|
||||
private:
|
||||
bool soccothratesTaunt;
|
||||
bool soccothratesDeath;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
|
||||
+18
-26
@@ -98,7 +98,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
_JustDied();
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
if (dalliah->IsAlive() && !dalliah->IsInCombat())
|
||||
dalliah->AI()->SetData(1, 1);
|
||||
}
|
||||
@@ -120,20 +120,13 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
|
||||
void MoveInLineOfSight(Unit* who) OVERRIDE
|
||||
{
|
||||
if (instance)
|
||||
if (instance->GetData(DATA_CONVERSATION) == NOT_STARTED && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 70.0f))
|
||||
{
|
||||
if (instance->GetData(DATA_CONVERSATION) == NOT_STARTED && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 70.0f))
|
||||
{
|
||||
Talk(SAY_SOCCOTHRATES_CONVO_1);
|
||||
instance->SetData(DATA_CONVERSATION, DONE);
|
||||
Talk(SAY_SOCCOTHRATES_CONVO_1);
|
||||
instance->SetData(DATA_CONVERSATION, DONE);
|
||||
|
||||
if (Creature* dalliah = me->FindNearestCreature(NPC_DALLIAH, 50.0f, true))
|
||||
{
|
||||
dalliahGUID = dalliah->GetGUID();
|
||||
preFight = true;
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_1, 2000);
|
||||
}
|
||||
}
|
||||
preFight = true;
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_1, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,7 +156,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_PREFIGHT_1:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_1);
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_2, 3000);
|
||||
break;
|
||||
@@ -172,7 +165,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_3, 3000);
|
||||
break;
|
||||
case EVENT_PREFIGHT_3:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_2);
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_4, 6000);
|
||||
break;
|
||||
@@ -181,7 +174,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_5, 2000);
|
||||
break;
|
||||
case EVENT_PREFIGHT_5:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_3);
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_6, 3000);
|
||||
break;
|
||||
@@ -190,7 +183,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_7, 2000);
|
||||
break;
|
||||
case EVENT_PREFIGHT_7:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
dalliah->GetMotionMaster()->MovePoint(0, 118.6048f, 96.84852f, 22.44115f);
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_8, 4000);
|
||||
break;
|
||||
@@ -199,7 +192,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_PREFIGHT_9, 4000);
|
||||
break;
|
||||
case EVENT_PREFIGHT_9:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
{
|
||||
dalliah->SetFacingToObject(me);
|
||||
me->SetFacingToObject(dalliah);
|
||||
@@ -253,7 +246,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(11000, 12000));
|
||||
break;
|
||||
case EVENT_ME_FIRST:
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
if (dalliah->IsAlive() && !dalliah->IsInCombat())
|
||||
dalliah->AI()->Talk(SAY_AGGRO_SOCCOTHRATES_FIRST);
|
||||
break;
|
||||
@@ -264,7 +257,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
|
||||
if (HealthBelowPct(25) && !dalliahTaunt)
|
||||
{
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, dalliahGUID))
|
||||
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
|
||||
dalliah->AI()->Talk(SAY_SOCCOTHRATES_25_PERCENT);
|
||||
dalliahTaunt = true;
|
||||
}
|
||||
@@ -272,16 +265,15 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
private:
|
||||
bool preFight;
|
||||
bool dalliahTaunt;
|
||||
bool dalliahDeath;
|
||||
uint64 dalliahGUID;
|
||||
private:
|
||||
bool preFight;
|
||||
bool dalliahTaunt;
|
||||
bool dalliahDeath;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const OVERRIDE
|
||||
{
|
||||
return new boss_wrath_scryer_soccothratesAI(creature);
|
||||
return GetArcatrazAI<boss_wrath_scryer_soccothratesAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@ class instance_arcatraz : public InstanceMapScript
|
||||
SetBossNumber(EncounterCount);
|
||||
LoadDoorData(doorData);
|
||||
|
||||
DalliahGUID = 0;
|
||||
SoccothratesGUID = 0;
|
||||
MellicharGUID = 0;
|
||||
WardensShieldGUID = 0;
|
||||
|
||||
@@ -49,8 +51,20 @@ class instance_arcatraz : public InstanceMapScript
|
||||
|
||||
void OnCreatureCreate(Creature* creature) OVERRIDE
|
||||
{
|
||||
if (creature->GetEntry() == NPC_MELLICHAR)
|
||||
MellicharGUID = creature->GetGUID();
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_DALLIAH:
|
||||
DalliahGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SOCCOTHRATES:
|
||||
SoccothratesGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_MELLICHAR:
|
||||
MellicharGUID = creature->GetGUID();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) OVERRIDE
|
||||
@@ -102,29 +116,13 @@ class instance_arcatraz : public InstanceMapScript
|
||||
switch (type)
|
||||
{
|
||||
case DATA_WARDEN_1:
|
||||
if (data == IN_PROGRESS)
|
||||
HandleGameObject(StasisPodGUIDs[0], true);
|
||||
StasisPodStates[0] = uint8(data);
|
||||
break;
|
||||
case DATA_WARDEN_2:
|
||||
if (data == IN_PROGRESS)
|
||||
HandleGameObject(StasisPodGUIDs[1], true);
|
||||
StasisPodStates[1] = uint8(data);
|
||||
break;
|
||||
case DATA_WARDEN_3:
|
||||
if (data == IN_PROGRESS)
|
||||
HandleGameObject(StasisPodGUIDs[2], true);
|
||||
StasisPodStates[2] = uint8(data);
|
||||
break;
|
||||
case DATA_WARDEN_4:
|
||||
if (data == IN_PROGRESS)
|
||||
HandleGameObject(StasisPodGUIDs[3], true);
|
||||
StasisPodStates[3] = uint8(data);
|
||||
break;
|
||||
case DATA_WARDEN_5:
|
||||
if (data == IN_PROGRESS)
|
||||
HandleGameObject(StasisPodGUIDs[4], true);
|
||||
StasisPodStates[4] = uint8(data);
|
||||
HandleGameObject(StasisPodGUIDs[type - DATA_WARDEN_1], true);
|
||||
StasisPodStates[type - DATA_WARDEN_1] = uint8(data);
|
||||
break;
|
||||
case DATA_CONVERSATION:
|
||||
ConversationState = uint8(data);
|
||||
@@ -156,6 +154,10 @@ class instance_arcatraz : public InstanceMapScript
|
||||
{
|
||||
switch (data)
|
||||
{
|
||||
case DATA_DALLIAH:
|
||||
return DalliahGUID;
|
||||
case DATA_SOCCOTHRATES:
|
||||
return SoccothratesGUID;
|
||||
case DATA_MELLICHAR:
|
||||
return MellicharGUID;
|
||||
case DATA_WARDENS_SHIELD:
|
||||
@@ -233,6 +235,8 @@ class instance_arcatraz : public InstanceMapScript
|
||||
}
|
||||
|
||||
protected:
|
||||
uint64 DalliahGUID;
|
||||
uint64 SoccothratesGUID;
|
||||
uint64 StasisPodGUIDs[5];
|
||||
uint64 MellicharGUID;
|
||||
uint64 WardensShieldGUID;
|
||||
|
||||
Reference in New Issue
Block a user