diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-08-04 09:36:47 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-04 11:36:47 +0200 |
| commit | 07fd84b679fd6958b7e669a96c78783875e1b949 (patch) | |
| tree | 898e098e9985a08ca84cc9077b132279f43df945 /src/server/game | |
| parent | bc6137d08c08ef2fb29e871cf5659c4d1c5c41ab (diff) | |
Core/Misc: Fix static analysis issues (#25194)
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 13 | ||||
| -rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.h | 6 | ||||
| -rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 3 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Handlers/PetitionsHandler.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellHistory.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 15 |
11 files changed, 28 insertions, 39 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 4bf828aef11..e7c7d337b1d 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -63,9 +63,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; @@ -75,13 +73,12 @@ bool SmartScript::IsSmart(Creature* c, bool silent) smart = false; if (!smart && !silent) - TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: %u Entry: %u) is not using SmartAI, action called by Creature (GUID: %u Entry: %u) skipped to prevent crash.", c ? c->GetSpawnId() : 0, c ? c->GetEntry() : 0, me ? me->GetSpawnId() : 0, me ? me->GetEntry() : 0); + TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: %u Entry: %u) is not using SmartAI, action called by Creature (GUID: %u Entry: %u) skipped to prevent crash.", c->GetSpawnId(), c->GetEntry(), me ? me->GetSpawnId() : 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; @@ -91,12 +88,12 @@ bool SmartScript::IsSmart(GameObject* g, bool silent) smart = false; if (!smart && !silent) - TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: %u Entry: %u) is not using SmartGameObjectAI, action called by GameObject (GUID: %u Entry: %u) skipped to prevent crash.", g ? g->GetSpawnId() : 0, g ? g->GetEntry() : 0, go ? go->GetSpawnId() : 0, go ? go->GetEntry() : 0); + TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: %u Entry: %u) is not using SmartGameObjectAI, action called by GameObject (GUID: %u Entry: %u) skipped to prevent crash.", g->GetSpawnId(), g->GetEntry(), go ? go->GetSpawnId() : 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 abf2033a1f9..7a533d689db 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.h +++ b/src/server/game/AI/SmartScripts/SmartScript.h @@ -70,9 +70,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); ObjectVector const* GetStoredTargetVector(uint32 id, WorldObject const& ref) const; diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index b3f3b6dbeb8..5a5b66b9b30 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -1456,7 +1456,10 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) const } if (!assigned) + { delete sharedList; + return false; + } } sharedList->push_back(cond); break; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 36a96c44046..8acf7cbbd14 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1867,7 +1867,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 a85c17a2aaf..ada272ac370 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3059,7 +3059,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 3ccd5a4bba7..aaf028a7355 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14663,13 +14663,7 @@ void Player::SendPreparedQuest(ObjectGuid guid) { uint32 textid = GetGossipTextId(creature); GossipText const* gossiptext = sObjectMgr->GetGossipText(textid); - if (!gossiptext) - { - qe._Delay = 0; //TEXTEMOTE_MESSAGE; //zyg: player emote - qe._Emote = 0; //TEXTEMOTE_HELLO; //zyg: NPC emote - title.clear(); - } - else + if (gossiptext) { qe = gossiptext->Options[0].Emotes[0]; @@ -20597,7 +20591,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; RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_PVP_TIMER); @@ -23317,7 +23311,7 @@ bool Player::InBattlegroundQueue(bool ignoreArena) const { for (uint8 i = 0; i < PLAYER_MAX_BATTLEGROUND_QUEUES; ++i) if (m_bgBattlegroundQueueID[i].bgQueueTypeId != BATTLEGROUND_QUEUE_NONE && (!ignoreArena || - (ignoreArena && m_bgBattlegroundQueueID[i].bgQueueTypeId != BATTLEGROUND_QUEUE_2v2 && + (m_bgBattlegroundQueueID[i].bgQueueTypeId != BATTLEGROUND_QUEUE_2v2 && m_bgBattlegroundQueueID[i].bgQueueTypeId != BATTLEGROUND_QUEUE_3v3 && m_bgBattlegroundQueueID[i].bgQueueTypeId != BATTLEGROUND_QUEUE_5v5))) return true; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 856756e67cf..9b5f9ed0238 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -10612,7 +10612,7 @@ uint32 Unit::GetCastingTimeForBonus(SpellInfo const* spellProto, DamageEffectTyp } // Combined Spells with Both Over Time and Direct Damage - if (overTime > 0 && CastingTime > 0 && DirectDamage) + if (overTime > 0 && DirectDamage) { // mainly for DoTs which are 3500 here otherwise uint32 OriginalCastTime = spellProto->CalcCastTime(); @@ -11577,7 +11577,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; @@ -12409,7 +12409,7 @@ void Unit::HandleSpellClick(Unit* clicker, int8 seatId /*= -1*/) { uint8 i = 0; bool valid = false; - while (i < MAX_SPELL_EFFECTS && !valid) + while (i < MAX_SPELL_EFFECTS) { if (spellEntry->Effects[i].ApplyAuraName == SPELL_AURA_CONTROL_VEHICLE) { diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index d3c14538c58..3e6636e0ecd 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1247,7 +1247,7 @@ void WorldSession::HandleSetDungeonDifficultyOpcode(WorldPacket& recvData) if (!groupGuy) continue; - if (!groupGuy->IsInMap(groupGuy)) + if (!groupGuy->IsInWorld()) return; if (groupGuy->GetMap()->IsNonRaidDungeon()) @@ -1305,7 +1305,7 @@ void WorldSession::HandleSetRaidDifficultyOpcode(WorldPacket& recvData) if (!groupGuy) continue; - if (!groupGuy->IsInMap(groupGuy)) + if (!groupGuy->IsInWorld()) return; if (groupGuy->GetMap()->IsRaid()) diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp index 6f64c620392..e0e926741e6 100644 --- a/src/server/game/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Handlers/PetitionsHandler.cpp @@ -398,7 +398,7 @@ void WorldSession::HandleSignPetition(WorldPacket& recvData) ObjectGuid ownerGuid = petition->OwnerGuid; CharterTypes type = petition->PetitionType; - uint8 signs = petition->Signatures.size(); + uint8 signs = uint8(petition->Signatures.size()); ObjectGuid playerGuid = _player->GetGUID(); if (ownerGuid == playerGuid) diff --git a/src/server/game/Spells/SpellHistory.cpp b/src/server/game/Spells/SpellHistory.cpp index af4c127947a..eed69844d2c 100644 --- a/src/server/game/Spells/SpellHistory.cpp +++ b/src/server/game/Spells/SpellHistory.cpp @@ -204,7 +204,7 @@ void SpellHistory::WritePacket<Pet>(WorldPacket& packet) const { Clock::time_point now = GameTime::GetSystemTime(); - uint8 cooldownsCount = _spellCooldowns.size(); + uint8 cooldownsCount = uint8(_spellCooldowns.size()); packet << uint8(cooldownsCount); for (auto const& spellCooldown : _spellCooldowns) diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 0813d663de5..708c9ab0c70 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -4213,8 +4213,7 @@ void SpellMgr::LoadSpellInfoCorrections() 72452 // Defiling Horror }, [](SpellInfo* spellInfo) { - spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_60_YARDS); // 60yd - spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_60_YARDS); // 60yd + spellInfo->Effects[EFFECT_0].RadiusEntry = spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_60_YARDS); // 60yd }); // Achievement Check @@ -4298,8 +4297,7 @@ void SpellMgr::LoadSpellInfoCorrections() 72769 // Scent of Blood (Deathbringer Saurfang) }, [](SpellInfo* spellInfo) { - spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); - spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); + spellInfo->Effects[EFFECT_0].RadiusEntry = spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); }); // Scent of Blood (Deathbringer Saurfang) @@ -4468,15 +4466,13 @@ void SpellMgr::LoadSpellInfoCorrections() // Defile ApplySpellFix({ 72754, 73708, 73709, 73710 }, [](SpellInfo* spellInfo) { - spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd - spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd + spellInfo->Effects[EFFECT_0].RadiusEntry = spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd }); // Val'kyr Target Search ApplySpellFix({ 69030 }, [](SpellInfo* spellInfo) { - spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd - spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd + spellInfo->Effects[EFFECT_0].RadiusEntry = spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; }); @@ -4559,8 +4555,7 @@ void SpellMgr::LoadSpellInfoCorrections() // Fury of Frostmourne ApplySpellFix({ 72350 }, [](SpellInfo* spellInfo) { - spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_50000_YARDS); // 50000yd - spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_50000_YARDS); // 50000yd + spellInfo->Effects[EFFECT_0].RadiusEntry = spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_50000_YARDS); // 50000yd }); ApplySpellFix( |
