Core/Misc: Fix some static analysis issues

Fix some static analysis issues about:
- uninitialized values, most of which are false positives, always initialized before being accessed
- unchecked return values
- dead code never executed
- bad formatting leading to wrong behavior

Please ensure EventMap is never used with event id set to 0 or those events will never execute.
This commit is contained in:
jackpoz
2014-03-22 14:54:32 +01:00
parent 409f4bffd5
commit 6dcd8c8545
17 changed files with 85 additions and 19 deletions

View File

@@ -50,7 +50,12 @@ public:
struct npc_water_elementalAI : public ScriptedAI
{
npc_water_elementalAI(Creature* creature) : ScriptedAI(creature) { }
npc_water_elementalAI(Creature* creature) : ScriptedAI(creature)
{
waterBoltTimer = 3 * IN_MILLISECONDS;
resetTimer = 5 * IN_MILLISECONDS;
balindaGUID = 0;
}
uint32 waterBoltTimer;
uint64 balindaGUID;

View File

@@ -164,7 +164,12 @@ public:
struct boss_rend_blackhandAI : public BossAI
{
boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND) { }
boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND)
{
gythEvent = false;
victorGUID = 0;
portcullisGUID = 0;
}
void Reset() OVERRIDE
{

View File

@@ -56,6 +56,28 @@ public:
{
instance_blackwing_lair_InstanceMapScript(Map* map) : InstanceScript(map)
{
// Razorgore
EggCount = 0;
EggEvent = 0;
RazorgoreTheUntamedGUID = 0;
RazorgoreDoorGUID = 0;
// Vaelastrasz the Corrupt
VaelastraszTheCorruptGUID = 0;
VaelastraszDoorGUID = 0;
// Broodlord Lashlayer
BroodlordLashlayerGUID = 0;
BroodlordDoorGUID = 0;
// 3 Dragons
FiremawGUID = 0;
EbonrocGUID = 0;
FlamegorGUID = 0;
ChrommagusDoorGUID = 0;
// Chormaggus
ChromaggusGUID = 0;
NefarianDoorGUID = 0;
// Nefarian
LordVictorNefariusGUID = 0;
NefarianGUID = 0;
SetBossNumber(EncounterCount);
}

View File

@@ -787,7 +787,11 @@ public:
struct npc_pulsing_pumpkinAI : public ScriptedAI
{
npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature) { }
npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature)
{
sprouted = false;
debuffGUID = 0;
}
bool sprouted;
uint64 debuffGUID;

View File

@@ -185,6 +185,8 @@ public:
{
npc_towering_infernalAI(Creature* creature) : ScriptedAI(creature)
{
ImmolationTimer = 5000;
CheckTimer = 5000;
instance = creature->GetInstanceScript();
AnetheronGUID = instance->GetData64(DATA_ANETHERON);
}

View File

@@ -191,6 +191,9 @@ public:
{
npc_lesser_doomguardAI(Creature* creature) : hyjal_trashAI(creature)
{
CrippleTimer = 50000;
WarstompTimer = 10000;
CheckTimer = 5000;
instance = creature->GetInstanceScript();
AzgalorGUID = instance->GetData64(DATA_AZGALOR);
}

View File

@@ -171,7 +171,11 @@ public:
struct npc_snufflenose_gopherAI : public PetAI
{
npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature) { }
npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature)
{
IsMovementActive = false;
TargetTubberGUID = 0;
}
void Reset() OVERRIDE
{

View File

@@ -898,6 +898,9 @@ public:
{
eye_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
MindflayTimer = 500;
KillSelfTimer = 35000;
Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
@@ -974,6 +977,10 @@ public:
{
claw_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
GroundRuptureTimer = 500;
HamstringTimer = 2000;
EvadeTimer = 5000;
SetCombatMovement(false);
Portal = 0;
@@ -1085,6 +1092,11 @@ public:
{
giant_claw_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
GroundRuptureTimer = 500;
HamstringTimer = 2000;
ThrashTimer = 5000;
EvadeTimer = 5000;
SetCombatMovement(false);
Portal = 0;
@@ -1205,6 +1217,8 @@ public:
{
giant_eye_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
BeamTimer = 500;
SetCombatMovement(false);
Portal = 0;

View File

@@ -208,9 +208,11 @@ class instance_oculus : public InstanceMapScript
break;
case DATA_VAROS:
if (state == DONE)
{
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
if (Creature* urom = instance->GetCreature(UromGUID))
urom->SetPhaseMask(1, true);
}
break;
case DATA_UROM:
if (state == DONE)

View File

@@ -48,9 +48,9 @@ enum Spells
enum Events
{
EVENT_STREAM_OF_MACHINE_FLUID = 0,
EVENT_JACKHAMMER = 1,
EVENT_SHADOW_POWER = 2
EVENT_STREAM_OF_MACHINE_FLUID = 1,
EVENT_JACKHAMMER = 2,
EVENT_SHADOW_POWER = 3
};
class boss_gatewatcher_iron_hand : public CreatureScript

View File

@@ -728,7 +728,15 @@ public:
struct npc_phase_hunterAI : public ScriptedAI
{
npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature) { }
npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature)
{
Weak = false;
Materialize = false;
Drained = false;
WeakPercent = 25;
PlayerGUID = 0;
ManaBurnTimer = 5000;
}
bool Weak;
bool Materialize;