Scripts: fix some issues found by static code analysis (also fix 2 startup errors)

This commit is contained in:
joschiwald
2013-11-28 20:19:57 +01:00
parent 788c8693a4
commit 6a7067f766
5 changed files with 63 additions and 75 deletions
@@ -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
@@ -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;