diff options
author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-08-04 09:36:47 +0000 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-26 14:06:40 +0100 |
commit | 864d775280097f9b6440e4fef1d3800b48b254ae (patch) | |
tree | 9cd881a957dc715819a8a530a42777d45000892a | |
parent | afcb13cd44cf77d6599805f7160d9255c0a6ca4c (diff) |
Core/Misc: Fix static analysis issues (#25194)
(cherry picked from commit 07fd84b679fd6958b7e669a96c78783875e1b949)
18 files changed, 35 insertions, 39 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index d99cb1353e9..dade4e32d60 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -67,9 +67,7 @@ SmartScript::~SmartScript() { } -// @todo this is an utter clusterfuck in terms of design - why in the world does this thing side effect? -// seriously, WHO WRITES THIS SHIT -bool SmartScript::IsSmart(Creature* c, bool silent) +bool SmartScript::IsSmart(Creature* c, bool silent) const { if (!c) return false; @@ -79,13 +77,12 @@ bool SmartScript::IsSmart(Creature* c, bool silent) smart = false; if (!smart && !silent) - TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: " UI64FMTD " Entry: %u) is not using SmartAI, action called by Creature (GUID: " UI64FMTD " Entry: %u) skipped to prevent crash.", uint64(c ? c->GetSpawnId() : UI64LIT(0)), c ? c->GetEntry() : 0, uint64(me ? me->GetSpawnId() : UI64LIT(0)), me ? me->GetEntry() : 0); + TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: " UI64FMTD " Entry: %u) is not using SmartAI, action called by Creature (GUID: " UI64FMTD " Entry: %u) skipped to prevent crash.", c->GetSpawnId(), c->GetEntry(), uint64(me ? me->GetSpawnId() : UI64LIT(0)), me ? me->GetEntry() : 0); return smart; } -// @todo this, too -bool SmartScript::IsSmart(GameObject* g, bool silent) +bool SmartScript::IsSmart(GameObject* g, bool silent) const { if (!g) return false; @@ -95,12 +92,12 @@ bool SmartScript::IsSmart(GameObject* g, bool silent) smart = false; if (!smart && !silent) - TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: " UI64FMTD " Entry: %u) is not using SmartGameObjectAI, action called by GameObject (GUID: " UI64FMTD " Entry: %u) skipped to prevent crash.", uint64(g ? g->GetSpawnId() : UI64LIT(0)), g ? g->GetEntry() : 0, uint64(go ? go->GetSpawnId() : UI64LIT(0)), go ? go->GetEntry() : 0); + TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: " UI64FMTD " Entry: %u) is not using SmartGameObjectAI, action called by GameObject (GUID: " UI64FMTD " Entry: %u) skipped to prevent crash.", g->GetSpawnId(), g->GetEntry(), uint64(go ? go->GetSpawnId() : UI64LIT(0)), go ? go->GetEntry() : 0); return smart; } -bool SmartScript::IsSmart(bool silent) +bool SmartScript::IsSmart(bool silent) const { if (me) return IsSmart(me, silent); diff --git a/src/server/game/AI/SmartScripts/SmartScript.h b/src/server/game/AI/SmartScripts/SmartScript.h index 55061ab40ef..4dd0faf5522 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.h +++ b/src/server/game/AI/SmartScripts/SmartScript.h @@ -74,9 +74,9 @@ class TC_GAME_API SmartScript void DoFindFriendlyMissingBuff(std::vector<Creature*>& creatures, float range, uint32 spellid) const; Unit* DoFindClosestFriendlyInRange(float range, bool playerOnly) const; - bool IsSmart(Creature* c, bool silent = false); - bool IsSmart(GameObject* g, bool silent = false); - bool IsSmart(bool silent = false); + bool IsSmart(Creature* c, bool silent = false) const; + bool IsSmart(GameObject* g, bool silent = false) const; + bool IsSmart(bool silent = false) const; void StoreTargetList(ObjectVector const& targets, uint32 id); void AddToStoredTargetList(ObjectVector const& targets, uint32 id); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 122708f62c6..c7d92bc46a2 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2013,7 +2013,7 @@ bool Creature::CanStartAttack(Unit const* who, bool force) const if (!_IsTargetAcceptable(who)) return false; - if (!force && (IsNeutralToAll() || !IsWithinDistInMap(who, GetAttackDistance(who) + m_CombatDistance))) + if (IsNeutralToAll() || !IsWithinDistInMap(who, GetAttackDistance(who) + m_CombatDistance)) return false; } diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 06cf4c4c27d..098381b60e1 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2999,7 +2999,7 @@ bool WorldObject::IsValidAssistTarget(WorldObject const* target, SpellInfo const // can't assist player out of sanctuary from sanctuary if has pvp enabled if (unitTarget->IsPvP()) - if (unit && unit->IsInSanctuary() && !unitTarget->IsInSanctuary()) + if (unit->IsInSanctuary() && !unitTarget->IsInSanctuary()) return false; } } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b33e9b61cd1..2a4bc3cc25d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21882,7 +21882,7 @@ void Player::UpdatePvPFlag(time_t currTime) if (!pvpInfo.EndTimer || (currTime < pvpInfo.EndTimer +300) || pvpInfo.IsHostile) return; - if (pvpInfo.EndTimer && pvpInfo.EndTimer <= currTime) + if (pvpInfo.EndTimer <= currTime) { pvpInfo.EndTimer = 0; RemovePlayerFlag(PLAYER_FLAGS_PVP_TIMER); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 448248ad933..dab5216ca9c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11111,7 +11111,7 @@ void Unit::RemoveCharmedBy(Unit* charmer) CharmType type; if (HasUnitState(UNIT_STATE_POSSESSED)) type = CHARM_TYPE_POSSESS; - else if (charmer && charmer->IsOnVehicle(this)) + else if (charmer->IsOnVehicle(this)) type = CHARM_TYPE_VEHICLE; else type = CHARM_TYPE_CHARM; diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 09928b7d8f1..8eec81420f7 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -930,7 +930,7 @@ void WorldSession::HandleSetDungeonDifficultyOpcode(WorldPackets::Misc::SetDunge if (!groupGuy) continue; - if (!groupGuy->IsInMap(groupGuy)) + if (!groupGuy->IsInWorld()) return; if (groupGuy->GetMap()->IsNonRaidDungeon()) @@ -1009,7 +1009,7 @@ void WorldSession::HandleSetRaidDifficultyOpcode(WorldPackets::Misc::SetRaidDiff if (!groupGuy) continue; - if (!groupGuy->IsInMap(groupGuy)) + if (!groupGuy->IsInWorld()) return; if (groupGuy->GetMap()->IsRaid()) diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index de75e59205c..334a666a3bf 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -4343,7 +4343,7 @@ void SpellMgr::LoadSpellInfoCorrections() // Val'kyr Target Search ApplySpellFix({ 69030 }, [](SpellInfo* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; + spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; }); // Raging Spirit Visual diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index 98b5eba4c8b..13f4f0ef788 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -145,7 +145,7 @@ public: handler->SendSysMessage("========================"); } std::string const& name = itr->second->GetName(); - uint8 size = name.size(); + uint8 size = uint8(name.size()); uint8 security = itrSec; uint8 max = ((16 - size) / 2); uint8 max2 = max; diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp index 2e316c09e26..dafd9b78ade 100644 --- a/src/server/scripts/Commands/cs_list.cpp +++ b/src/server/scripts/Commands/cs_list.cpp @@ -248,7 +248,7 @@ public: if (count > resultCount) count -= resultCount; - else if (count) + else count = 0; } @@ -295,7 +295,7 @@ public: if (count > resultCount) count -= resultCount; - else if (count) + else count = 0; } @@ -370,7 +370,7 @@ public: if (count > resultCount) count -= resultCount; - else if (count) + else count = 0; } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index d8d24e4934a..293ffec3aa6 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1569,7 +1569,7 @@ public: // the max level of the new profession. uint16 max = maxPureSkill ? atoul(maxPureSkill) : targetHasSkill ? target->GetPureMaxSkillValue(skill) : uint16(level); - if (level == 0 || level > max || max <= 0) + if (level == 0 || level > max) return false; // If the player has the skill, we get the current skill step. If they don't have the skill, we diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index 3beff962458..a19a76c561c 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -325,7 +325,6 @@ public: if (RaidWiped) { - RaidWiped = true; EnterEvadeMode(); return; } diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index 1e610d06073..841034035bf 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -305,7 +305,7 @@ struct npc_head : public ScriptedAI ReturnToBody(true); break; case PHASE_HEAD_3: - if (!_die && damage >= me->GetHealth()) + if (damage >= me->GetHealth()) { _die = true; damage = 0; diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp index 4cf85dd988e..497f39eec07 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp @@ -234,7 +234,7 @@ class spell_koralon_meteor_fists_damage : public SpellScriptLoader private: void FilterTargets(std::list<WorldObject*>& targets) { - _chainTargets = targets.size(); + _chainTargets = uint8(targets.size()); } void CalculateSplitDamage() diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp index 6fe4079daae..92e4e721113 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -686,8 +686,7 @@ public: while (unit == nullptr || !unit->IsAlive()) unit = selectAdvisorUnit(); - if (unit && unit->IsAlive()) - DoCast(unit, SPELL_HEAL); + DoCast(unit, SPELL_HEAL); Heal_Timer = 60000; } else diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp index aa4801a6909..5cd82f894db 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp @@ -222,7 +222,7 @@ public: { //Teleport 4 players under the waterfalls GuidSet targets; - GuidSet::const_iterator itr; + GuidSet::const_iterator itr = targets.begin(); for (uint8 i = 0; i < 4; ++i) { counter = 0; @@ -260,7 +260,7 @@ public: if (WateryGlobules_Timer <= diff) { GuidSet globules; - GuidSet::const_iterator itr; + GuidSet::const_iterator itr = globules.begin(); for (uint8 g = 0; g < 4; g++) //one unit can't cast more than one spell per update, so some players have to cast for us XD { counter = 0; @@ -274,6 +274,7 @@ public: break; ++counter; } while (itr != globules.end()); + if (pGlobuleTarget) { globules.insert(pGlobuleTarget->GetGUID()); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index fb70d79975f..39e94936bf0 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -190,19 +190,19 @@ class instance_blood_furnace : public InstanceMapScript void ResetPrisons() { ResetPrisoners(PrisonersCell5); - PrisonerCounter5 = PrisonersCell5.size(); + PrisonerCounter5 = uint8(PrisonersCell5.size()); HandleGameObject(PrisonCellGUIDs[DATA_PRISON_CELL5 - DATA_PRISON_CELL1], false); ResetPrisoners(PrisonersCell6); - PrisonerCounter6 = PrisonersCell6.size(); + PrisonerCounter6 = uint8(PrisonersCell6.size()); HandleGameObject(PrisonCellGUIDs[DATA_PRISON_CELL6 - DATA_PRISON_CELL1], false); ResetPrisoners(PrisonersCell7); - PrisonerCounter7 = PrisonersCell7.size(); + PrisonerCounter7 = uint8(PrisonersCell7.size()); HandleGameObject(PrisonCellGUIDs[DATA_PRISON_CELL7 - DATA_PRISON_CELL1], false); ResetPrisoners(PrisonersCell8); - PrisonerCounter8 = PrisonersCell8.size(); + PrisonerCounter8 = uint8(PrisonersCell8.size()); HandleGameObject(PrisonCellGUIDs[DATA_PRISON_CELL8 - DATA_PRISON_CELL1], false); } @@ -242,12 +242,12 @@ class instance_blood_furnace : public InstanceMapScript if (posX >= 405.0f && posX <= 423.0f && posZ <= 17) { - if (posY >= 106.0f && posY <= 123.0f && posZ <= 17) + if (posY >= 106.0f && posY <= 123.0f) { PrisonersCell5.insert(creature->GetGUID()); ++PrisonerCounter5; } - else if (posY >= 76.0f && posY <= 91.0f && posZ <= 17) + else if (posY >= 76.0f && posY <= 91.0f) { PrisonersCell6.insert(creature->GetGUID()); ++PrisonerCounter6; @@ -256,12 +256,12 @@ class instance_blood_furnace : public InstanceMapScript } else if (posX >= 490.0f && posX <= 506.0f && posZ <= 17) { - if (posY >= 106.0f && posY <= 123.0f && posZ <= 17) + if (posY >= 106.0f && posY <= 123.0f) { PrisonersCell7.insert(creature->GetGUID()); ++PrisonerCounter7; } - else if (posY >= 76.0f && posY <= 91.0f && posZ <= 17) + else if (posY >= 76.0f && posY <= 91.0f) { PrisonersCell8.insert(creature->GetGUID()); ++PrisonerCounter8; diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index bde10bc6fe0..8d81d84edf1 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -147,7 +147,7 @@ void CreateDir(boost::filesystem::path const& path) return; if (!fs::create_directory(path)) - throw new std::runtime_error("Unable to create directory" + path.string()); + throw std::runtime_error("Unable to create directory" + path.string()); } void Usage(char const* prg) |