From d5263b0aee18b825ff7f46fb861094ff1836693e Mon Sep 17 00:00:00 2001 From: Knindza Date: Fri, 13 Sep 2024 02:43:34 +0200 Subject: [PATCH 001/119] fix(Battlegrounds/AlteracValley): Adding missing Tower Archers (#18746) Updating Alterac --- .../Battlegrounds/Zones/BattlegroundAV.cpp | 3 ++ .../game/Battlegrounds/Zones/BattlegroundAV.h | 30 +++++++++---------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp index dce3357b551f94..e8cccc8c955b0f 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp @@ -325,6 +325,9 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type) if (creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_A_CAPTAIN] || creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_H_CAPTAIN]) creature->SetRespawnDelay(RESPAWN_ONE_DAY); /// @todo: look if this can be done by database + also add this for the wingcommanders + if (creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_A_TOWERDEFENSE] || creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_H_TOWERDEFENSE]) + creature->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE); + if ((isStatic && cinfoid >= 10 && cinfoid <= 14) || (!isStatic && ((cinfoid >= AV_NPC_A_GRAVEDEFENSE0 && cinfoid <= AV_NPC_A_GRAVEDEFENSE3) || (cinfoid >= AV_NPC_H_GRAVEDEFENSE0 && cinfoid <= AV_NPC_H_GRAVEDEFENSE3)))) { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h index 1d62a96fd0307a..0383af41ba517e 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h @@ -1118,21 +1118,21 @@ const float BG_AV_CreaturePos[AV_CPLACE_MAX][4] = enum BG_AV_CreatureIds { - AV_NPC_A_TOWERDEFENSE = 0, // stormpike bowman - AV_NPC_A_GRAVEDEFENSE0 = 1, // stormpike Defender - AV_NPC_A_GRAVEDEFENSE1 = 2, // seasoned defender - AV_NPC_A_GRAVEDEFENSE2 = 3, // veteran defender - AV_NPC_A_GRAVEDEFENSE3 = 4, // champion defender - AV_NPC_A_CAPTAIN = 5, // balinda - AV_NPC_A_BOSS = 6, // vanndar - - AV_NPC_H_TOWERDEFENSE = 7, // frostwolf bowman - AV_NPC_H_GRAVEDEFENSE0 = 8, // frostwolf guardian - AV_NPC_H_GRAVEDEFENSE1 = 9, // seasoned guardian - AV_NPC_H_GRAVEDEFENSE2 = 10, // veteran guardian - AV_NPC_H_GRAVEDEFENSE3 = 11, // champion guardian - AV_NPC_H_CAPTAIN = 12, // galvangar - AV_NPC_H_BOSS = 13, // drek thar + AV_NPC_A_GRAVEDEFENSE0 = 0, // Stormpike defender + AV_NPC_A_GRAVEDEFENSE1 = 1, // Seasoned defender + AV_NPC_A_GRAVEDEFENSE2 = 2, // Veteran defender + AV_NPC_A_GRAVEDEFENSE3 = 3, // Champion defender + AV_NPC_A_TOWERDEFENSE = 4, // Stormpike bowman + AV_NPC_A_CAPTAIN = 5, // Balinda + AV_NPC_A_BOSS = 6, // Vanndar + + AV_NPC_H_GRAVEDEFENSE0 = 7, // Frostwolf guardian + AV_NPC_H_GRAVEDEFENSE1 = 8, // Seasoned guardian + AV_NPC_H_GRAVEDEFENSE2 = 9, // Veteran guardian + AV_NPC_H_GRAVEDEFENSE3 = 10, // Champion guardian + AV_NPC_H_TOWERDEFENSE = 11, // Frostwolf bowman + AV_NPC_H_CAPTAIN = 12, // Galvangar + AV_NPC_H_BOSS = 13, // Drek thar AV_NPC_A_MARSHAL_SOUTH = 14, AV_NPC_MARSHAL_NORTH = 15, From 8d7463c67007e58f41366ed4fc1dbc1e1290f465 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Fri, 13 Sep 2024 21:15:25 +0200 Subject: [PATCH 002/119] fix(Core/PlayerStorage): Equip OH, 2H, Titan's Grip weapon swapping (#19884) titan's grip, unequip with full bags --- src/server/game/Entities/Player/Player.cpp | 8 +++++ .../game/Entities/Player/PlayerStorage.cpp | 35 +++++++------------ 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 068eaa8d26ddd9..b53ef50cb56eca 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -12426,6 +12426,14 @@ void Player::AutoUnequipOffhandIfNeed(bool force /*= false*/) if (!CanDualWield() && (offItem->GetTemplate()->InventoryType == INVTYPE_WEAPONOFFHAND || offItem->GetTemplate()->InventoryType == INVTYPE_WEAPON)) force = true; + // unequip offhand weapon if player main hand weapon is a polearm or staff or fishing pole + if (Item* mhWeapon = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) + if (ItemTemplate const* mhWeaponProto = mhWeapon->GetTemplate()) + if (mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || + mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_STAFF || + mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_FISHING_POLE) + force = true; + // need unequip offhand for 2h-weapon without TitanGrip (in any from hands) if (!force && (CanTitanGrip() || (offItem->GetTemplate()->InventoryType != INVTYPE_2HWEAPON && !IsTwoHandUsed()))) { diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index 0211a57779dd74..2716faaa98c57a 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -201,28 +201,11 @@ uint8 Player::FindEquipSlot(ItemTemplate const* proto, uint32 slot, bool swap) c break; case INVTYPE_2HWEAPON: slots[0] = EQUIPMENT_SLOT_MAINHAND; - if (Item* mhWeapon = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) - { - if (ItemTemplate const* mhWeaponProto = mhWeapon->GetTemplate()) - { - if (mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_STAFF) - { - const_cast(this)->AutoUnequipOffhandIfNeed(true); - break; - } - } - } - - if (GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND)) - { - if (proto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || proto->SubClass == ITEM_SUBCLASS_WEAPON_STAFF) - { - const_cast(this)->AutoUnequipOffhandIfNeed(true); - break; - } - } if (CanDualWield() && CanTitanGrip() && proto->SubClass != ITEM_SUBCLASS_WEAPON_POLEARM && proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && proto->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) - slots[1] = EQUIPMENT_SLOT_OFFHAND; + if (Item* mhWeapon = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) + if (ItemTemplate const* mhWeaponProto = mhWeapon->GetTemplate()) + if (mhWeaponProto->SubClass != ITEM_SUBCLASS_WEAPON_POLEARM && mhWeaponProto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && mhWeaponProto->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) + slots[1] = EQUIPMENT_SLOT_OFFHAND; break; case INVTYPE_TABARD: slots[0] = EQUIPMENT_SLOT_TABARD; @@ -1962,6 +1945,14 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16& dest, Item* pItem, bool return EQUIP_ERR_CANT_DUAL_WIELD; } + // Do not allow offhand with main hand polearm, staff or fishing pole + if (Item* mhWeapon = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND)) + if (ItemTemplate const* mhWeaponProto = mhWeapon->GetTemplate()) + if (mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || + mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_STAFF || + mhWeaponProto->SubClass == ITEM_SUBCLASS_WEAPON_FISHING_POLE) + return EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED; + if (IsTwoHandUsed()) return EQUIP_ERR_CANT_EQUIP_WITH_TWOHANDED; } @@ -1977,7 +1968,7 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16& dest, Item* pItem, bool else if (eslot != EQUIPMENT_SLOT_MAINHAND) return EQUIP_ERR_ITEM_CANT_BE_EQUIPPED; - if (!CanTitanGrip()) + if (!CanTitanGrip() || (pProto->SubClass == ITEM_SUBCLASS_WEAPON_POLEARM || pProto->SubClass == ITEM_SUBCLASS_WEAPON_STAFF || pProto->SubClass == ITEM_SUBCLASS_WEAPON_FISHING_POLE)) { // offhand item must can be stored in inventory for offhand item and it also must be unequipped Item* offItem = GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND); From 92ec34753fb31e109e7a23678e26185271df7734 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Fri, 13 Sep 2024 19:23:05 +0000 Subject: [PATCH 003/119] =?UTF-8?q?fix(Core/Creature):=20Add=20support=20f?= =?UTF-8?q?or=20CREATURE=5FFLAG=5FEXTRA=5FNO=5FPARRY=5FHAST=E2=80=A6=20(#1?= =?UTF-8?q?9927)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Entities/Unit/Unit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 705c36e2380ac6..692e67fb51131b 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1847,7 +1847,10 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) if (damageInfo->blocked_amount && damageInfo->TargetState != VICTIMSTATE_BLOCKS) victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRY_SHIELD); - if (damageInfo->TargetState == VICTIMSTATE_PARRY) + // Parry haste is enabled if it's not a creature or if the creature doesn't have the NO_PARRY_HASTEN flag. + bool isParryHasteEnabled = !victim->IsCreature() || + !victim->ToCreature()->GetCreatureTemplate()->HasFlagsExtra(CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN); + if (damageInfo->TargetState == VICTIMSTATE_PARRY && isParryHasteEnabled) { // Get attack timers float offtime = float(victim->getAttackTimer(OFF_ATTACK)); From 8030ef4ba0ed7ee20b3647c58fe421f91c1e1274 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Fri, 13 Sep 2024 16:26:42 -0300 Subject: [PATCH 004/119] =?UTF-8?q?fix(Scripts/BlackTemple):=20Fix=20varia?= =?UTF-8?q?ble=20not=20being=20set=20to=20true=20when=20Ak=E2=80=A6=20(#19?= =?UTF-8?q?947)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/BlackTemple): Fix variable not being set to false when Akama dies --- src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 1f59b410e08492..69b8fad983d99c 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -278,6 +278,7 @@ struct npc_akama_shade : public ScriptedAI } else if (damage >= me->GetHealth() && !_died) { + _died = true; damage = me->GetHealth() - 1; Talk(SAY_DEATH); if (Creature* shade = instance->GetCreature(DATA_SHADE_OF_AKAMA)) From bd40fef081daaa3b160b4609083599b42435eb79 Mon Sep 17 00:00:00 2001 From: Grimdhex <176165533+Grimdhex@users.noreply.github.com> Date: Sat, 14 Sep 2024 13:22:02 +0200 Subject: [PATCH 005/119] fix(Scripts/BlackTemple): fix blaze and flame bast casting for Flame of Azzinoth (#19967) fix(Scripts/Core): fix blaze and flame bast casting for Flame of Azzinoth --- .../scripts/Outland/BlackTemple/boss_illidan.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index e4de895c3511dd..60873db141e57a 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1298,12 +1298,21 @@ struct npc_flame_of_azzinoth : public ScriptedAI DoCastVictim(SPELL_FLAME_BLAST); me->m_Events.AddEventAtOffset([&] { - if (Unit* target = me->GetVictim()) - target->CastSpell(target, SPELL_BLAZE, true); + DoCastVictim(SPELL_BLAZE); }, 1s); }, 15s, 20s); } + void UpdateAI(uint32 diff) override + { + scheduler.Update(diff); + + if (!UpdateVictim()) + return; + + DoMeleeAttackIfReady(); + } + private: ObjectGuid _bladeGUID; }; From 4fc60bbbdfb6e40b4e174333065c8365f639dfef Mon Sep 17 00:00:00 2001 From: Grimdhex <176165533+Grimdhex@users.noreply.github.com> Date: Sat, 14 Sep 2024 13:39:03 +0200 Subject: [PATCH 006/119] fix(Core/Spells): Shadow demon - Allow to move while casting Paralyze (#19948) * fix(Scripts/BlackTemple): fix stationary shadow demons * optimization: use else if to stop the execution when a condition is reach * revert last changes and fix the spell to allow move while casting * . --- src/server/game/Spells/SpellInfoCorrections.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index f88dfbdc93c989..9cf614e11b44f6 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4831,6 +4831,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_3_YARDS); }); + // Paralyze + ApplySpellFix({ 41083 }, [](SpellInfo* spellInfo) + { + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_ACTION_DURING_CHANNEL; + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; From 99b39e50452e5a5f0362765860fc7c8280f251c0 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 15 Sep 2024 07:46:55 -0300 Subject: [PATCH 007/119] =?UTF-8?q?fix(Scripts/BlackTemple):=20Parasitic?= =?UTF-8?q?=20Shadowfiends=20should=20not=20target=20pl=E2=80=A6=20(#19944?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(Scripts/BlackTemple): Parasitic Shadowfiends should not target players affected with debuff * Update boss_illidan.cpp * Update src/server/scripts/Outland/BlackTemple/boss_illidan.cpp * make it simple --- .../Outland/BlackTemple/boss_illidan.cpp | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 60873db141e57a..a181d6fba8f6ed 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1186,14 +1186,37 @@ struct npc_parasitic_shadowfiend : public ScriptedAI { npc_parasitic_shadowfiend(Creature* creature) : ScriptedAI(creature) { } + bool CanAIAttack(Unit const* who) const override + { + return !who->HasAura(SPELL_PARASITIC_SHADOWFIEND) && !who->HasAura(SPELL_PARASITIC_SHADOWFIEND_TRIGGER); + } + + void EnterEvadeMode(EvadeReason /*why*/) override + { + me->DespawnOrUnsummon(); + } + void IsSummonedBy(WorldObject* /*summoner*/) override { // Simulate blizz-like AI delay to avoid extreme overpopulation of adds me->SetReactState(REACT_DEFENSIVE); - me->m_Events.AddEventAtOffset([&] { + + scheduler.Schedule(2400ms, [this](TaskContext context) + { me->SetReactState(REACT_AGGRESSIVE); me->SetInCombatWithZone(); - }, 2400ms); + context.Repeat(); + }); + } + + void UpdateAI(uint32 diff) override + { + scheduler.Update(diff); + + if (!UpdateVictim()) + return; + + DoMeleeAttackIfReady(); } }; From 8b16f7d243d54a19e6e7d5bf79bf44427fa84bfe Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 15 Sep 2024 07:48:11 -0300 Subject: [PATCH 008/119] =?UTF-8?q?fix(Scripts/BlackTemple):=20Implement?= =?UTF-8?q?=20emotes=20when=20opening=20Najentus=20and=20=E2=80=A6=20(#199?= =?UTF-8?q?46)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(Scripts/BlackTemple): Implement emotes when opening Najentus and Den of Mortal Delights * only check if state is done --- .../rev_1726132179936077700.sql | 2 ++ src/server/game/Instances/InstanceScript.cpp | 18 ++++++++++ src/server/game/Instances/InstanceScript.h | 4 +++ .../Outland/BlackTemple/black_temple.h | 12 +++++-- .../BlackTemple/instance_black_temple.cpp | 34 +++++++++++++------ 5 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1726132179936077700.sql diff --git a/data/sql/updates/pending_db_world/rev_1726132179936077700.sql b/data/sql/updates/pending_db_world/rev_1726132179936077700.sql new file mode 100644 index 00000000000000..8851a0966dcf4a --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1726132179936077700.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_text` SET `TextRange` = 3 WHERE `CreatureId` = 22984; diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 122257c15221ea..593aab04aa6e9d 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -761,6 +761,24 @@ void InstanceScript::LoadInstanceSavedGameobjectStateData() } } +bool InstanceScript::AllBossesDone() const +{ + for (auto const& boss : bosses) + if (boss.state != DONE) + return false; + + return true; +} + +bool InstanceScript::AllBossesDone(std::initializer_list bossIds) const +{ + for (auto const& bossId : bossIds) + if (!IsBossDone(bossId)) + return false; + + return true; +} + std::string InstanceScript::GetBossStateName(uint8 state) { // See enum EncounterState in InstanceScript.h diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index d65bb0349ffad3..c5add7eb201b86 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -275,6 +275,10 @@ class InstanceScript : public ZoneScript void LoadInstanceSavedGameobjectStateData(); + [[nodiscard]] bool IsBossDone(uint32 bossId) const { return GetBossState(bossId) == DONE; }; + [[nodiscard]] bool AllBossesDone() const; + [[nodiscard]] bool AllBossesDone(std::initializer_list bossIds) const; + TaskScheduler scheduler; protected: void SetHeaders(std::string const& dataHeaders); diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.h b/src/server/scripts/Outland/BlackTemple/black_temple.h index 4b88eff2798bec..ac876e1c7926cb 100644 --- a/src/server/scripts/Outland/BlackTemple/black_temple.h +++ b/src/server/scripts/Outland/BlackTemple/black_temple.h @@ -42,7 +42,8 @@ enum DataTypes DATA_GATHIOS_THE_SHATTERER = 12, DATA_HIGH_NETHERMANCER_ZEREVOR = 13, DATA_LADY_MALANDE = 14, - DATA_VERAS_DARKSHADOW = 15 + DATA_VERAS_DARKSHADOW = 15, + DATA_BLACK_TEMPLE_TRIGGER = 16 }; enum CreatureIds @@ -82,7 +83,8 @@ enum CreatureIds NPC_ASHTONGUE_STALKER = 23374, NPC_STORM_FURY = 22848, - NPC_DRAGON_TURTLE = 22885 + NPC_DRAGON_TURTLE = 22885, + NPC_BLACK_TEMPLE_TRIGGER = 22984 }; enum GameObjectIds @@ -113,6 +115,12 @@ enum MiscIds SPELL_SUMMON_SHADOWFIENDS = 41159 }; +enum Texts +{ + EMOTE_NAJENTUS_DEFEATED = 0, + EMOTE_LOWER_TEMPLE_DEFEATED = 1 +}; + template inline AI* GetBlackTempleAI(T* obj) { diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index f324168f483c1d..7a60d7a375a6d2 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -62,6 +62,7 @@ ObjectData const creatureData[] = { NPC_VERAS_DARKSHADOW, DATA_VERAS_DARKSHADOW }, { NPC_AKAMA_ILLIDAN, DATA_AKAMA_ILLIDAN }, { NPC_ILLIDAN_STORMRAGE, DATA_ILLIDAN_STORMRAGE }, + { NPC_BLACK_TEMPLE_TRIGGER, DATA_BLACK_TEMPLE_TRIGGER }, { 0, 0 } }; @@ -165,18 +166,31 @@ class instance_black_temple : public InstanceMapScript if (!InstanceScript::SetBossState(type, state)) return false; - if (type == DATA_SHADE_OF_AKAMA && state == DONE) + if (state == DONE) { - for (ObjectGuid const& guid : ashtongueGUIDs) - if (Creature* ashtongue = instance->GetCreature(guid)) - ashtongue->SetFaction(FACTION_ASHTONGUE_DEATHSWORN); - } - else if (type == DATA_ILLIDARI_COUNCIL && state == DONE) - { - if (Creature* akama = GetCreature(DATA_AKAMA_ILLIDAN)) - akama->AI()->DoAction(0); - } + switch (type) + { + case DATA_HIGH_WARLORD_NAJENTUS: + if (Creature* trigger = GetCreature(DATA_BLACK_TEMPLE_TRIGGER)) + trigger->AI()->Talk(EMOTE_NAJENTUS_DEFEATED); + break; + case DATA_SHADE_OF_AKAMA: + for (ObjectGuid const& guid : ashtongueGUIDs) + if (Creature* ashtongue = instance->GetCreature(guid)) + ashtongue->SetFaction(FACTION_ASHTONGUE_DEATHSWORN); + break; + case DATA_ILLIDARI_COUNCIL: + if (Creature* akama = GetCreature(DATA_AKAMA_ILLIDAN)) + akama->AI()->DoAction(0); + break; + default: + break; + } + if (AllBossesDone({ DATA_SHADE_OF_AKAMA, DATA_TERON_GOREFIEND, DATA_GURTOGG_BLOODBOIL, DATA_RELIQUARY_OF_SOULS })) + if (Creature* trigger = GetCreature(DATA_BLACK_TEMPLE_TRIGGER)) + trigger->AI()->Talk(EMOTE_LOWER_TEMPLE_DEFEATED); + } return true; } From d13b6963ea9962f03dfc358c286ed6c0f89051c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Sep 2024 10:49:06 +0000 Subject: [PATCH 009/119] chore(DB): import pending files Referenced commit(s): 8b16f7d243d54a19e6e7d5bf79bf44427fa84bfe --- .../rev_1726132179936077700.sql => db_world/2024_09_15_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1726132179936077700.sql => db_world/2024_09_15_00.sql} (62%) diff --git a/data/sql/updates/pending_db_world/rev_1726132179936077700.sql b/data/sql/updates/db_world/2024_09_15_00.sql similarity index 62% rename from data/sql/updates/pending_db_world/rev_1726132179936077700.sql rename to data/sql/updates/db_world/2024_09_15_00.sql index 8851a0966dcf4a..b8b2dd8d292216 100644 --- a/data/sql/updates/pending_db_world/rev_1726132179936077700.sql +++ b/data/sql/updates/db_world/2024_09_15_00.sql @@ -1,2 +1,3 @@ +-- DB update 2024_09_11_01 -> 2024_09_15_00 -- UPDATE `creature_text` SET `TextRange` = 3 WHERE `CreatureId` = 22984; From 04c8e85434daab642996146a243245ae73a7e858 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sun, 15 Sep 2024 14:39:04 +0200 Subject: [PATCH 010/119] fix(Scripts/BT): correct illidari council enrage timer (#19975) * fix(Scripts/BT): correct illidari council enrage timer * wrong conversion from https://github.com/azerothcore/azerothcore-wotlk/commit/5ae1473e3064beb4adf666e33a38b6072639069a * redundant --- .../BlackTemple/boss_illidari_council.cpp | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp index 016cbdba89d090..c3ff343ba8c44e 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp @@ -147,11 +147,11 @@ struct boss_illidari_council : public BossAI bool spoken = false; - me->CastSpell(me, SPELL_EMPYREAL_BALANCE, true); + DoCastSelf(SPELL_EMPYREAL_BALANCE, true); ScheduleTimedEvent(3200ms, [&] { - me->CastSpell(me, SPELL_EMPYREAL_EQUIVALENCY, true); + DoCastSelf(SPELL_EMPYREAL_EQUIVALENCY, true); }, 3200ms); for (uint8 i = DATA_GATHIOS_THE_SHATTERER; i <= DATA_VERAS_DARKSHADOW; ++i) @@ -239,7 +239,7 @@ struct boss_illidari_council_memberAI : public ScriptedAI { if (param == ACTION_ENRAGE) { - me->CastSpell(me, SPELL_BERSERK, true); + DoCastSelf(SPELL_BERSERK, true); Talk(SAY_COUNCIL_ENRAGE); } } @@ -331,14 +331,14 @@ struct boss_gathios_the_shatterer : public boss_illidari_council_memberAI events.ScheduleEvent(EVENT_SPELL_BLESSING, 15s); break; case EVENT_SPELL_AURA: - me->CastSpell(me, _toggleAura ? SPELL_DEVOTION_AURA : SPELL_CHROMATIC_RESISTANCE_AURA); + DoCastSelf(_toggleAura ? SPELL_DEVOTION_AURA : SPELL_CHROMATIC_RESISTANCE_AURA); _toggleAura = !_toggleAura; events.ScheduleEvent(EVENT_SPELL_AURA, 60s); break; case EVENT_SPELL_CONSECRATION: if (roll_chance_i(50)) Talk(SAY_COUNCIL_SPECIAL); - me->CastSpell(me, SPELL_CONSECRATION, false); + DoCastSelf(SPELL_CONSECRATION); events.ScheduleEvent(EVENT_SPELL_AURA, 30s); break; case EVENT_SPELL_HAMMER_OF_JUSTICE: @@ -352,12 +352,12 @@ struct boss_gathios_the_shatterer : public boss_illidari_council_memberAI events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 0s); break; case EVENT_SPELL_SEAL: - me->CastSpell(me, _toggleSeal ? SPELL_SEAL_OF_COMMAND : SPELL_SEAL_OF_BLOOD); + DoCastSelf(_toggleSeal ? SPELL_SEAL_OF_COMMAND : SPELL_SEAL_OF_BLOOD); _toggleSeal = !_toggleSeal; events.ScheduleEvent(EVENT_SPELL_SEAL, 20s); break; case EVENT_SPELL_JUDGEMENT: - me->CastSpell(me->GetVictim(), SPELL_JUDGEMENT, false); + me->CastSpell(me->GetVictim(), SPELL_JUDGEMENT); events.ScheduleEvent(EVENT_SPELL_JUDGEMENT, 16s, 20s); break; } @@ -511,22 +511,22 @@ struct boss_lady_malande : public boss_illidari_council_memberAI switch (events.ExecuteEvent()) { case EVENT_SPELL_CIRCLE_OF_HEALING: - me->CastSpell(me, SPELL_CIRCLE_OF_HEALING, false); + DoCastSelf(SPELL_CIRCLE_OF_HEALING); events.ScheduleEvent(EVENT_SPELL_CIRCLE_OF_HEALING, 20s); break; case EVENT_SPELL_REFLECTIVE_SHIELD: if (roll_chance_i(50)) Talk(SAY_COUNCIL_SPECIAL); - me->CastSpell(me, SPELL_REFLECTIVE_SHIELD, false); + DoCastSelf(SPELL_REFLECTIVE_SHIELD); events.ScheduleEvent(EVENT_SPELL_REFLECTIVE_SHIELD, 40s); break; case EVENT_SPELL_DIVINE_WRATH: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f)) - me->CastSpell(target, SPELL_DIVINE_WRATH, false); + me->CastSpell(target, SPELL_DIVINE_WRATH); events.ScheduleEvent(EVENT_SPELL_DIVINE_WRATH, 20s); break; case EVENT_SPELL_EMPOWERED_SMITE: - me->CastSpell(me->GetVictim(), SPELL_EMPOWERED_SMITE, false); + me->CastSpell(me->GetVictim(), SPELL_EMPOWERED_SMITE); events.ScheduleEvent(EVENT_SPELL_EMPOWERED_SMITE, 3s); break; } @@ -542,7 +542,7 @@ struct boss_veras_darkshadow : public boss_illidari_council_memberAI me->SetCanDualWield(true); boss_illidari_council_memberAI::JustEngagedWith(who); events.ScheduleEvent(EVENT_SPELL_VANISH, 10s); - events.ScheduleEvent(EVENT_SPELL_ENRAGE, 90s); + events.ScheduleEvent(EVENT_SPELL_ENRAGE, 15min); } void JustSummoned(Creature* summon) override @@ -564,13 +564,13 @@ struct boss_veras_darkshadow : public boss_illidari_council_memberAI case EVENT_SPELL_VANISH: if (roll_chance_i(50)) Talk(SAY_COUNCIL_SPECIAL); - me->CastSpell(me, SPELL_DEADLY_STRIKE, false); - me->CastSpell(me, SPELL_VANISH, false); + DoCastSelf(SPELL_DEADLY_STRIKE); + DoCastSelf(SPELL_VANISH); events.ScheduleEvent(EVENT_SPELL_VANISH, 60s); events.ScheduleEvent(EVENT_SPELL_VANISH_OUT, 29s); break; case EVENT_SPELL_VANISH_OUT: - me->CastSpell(me, SPELL_VANISH_OUT, false); + DoCastSelf(SPELL_VANISH_OUT); break; case EVENT_SPELL_ENRAGE: DoResetThreatList(); From ee6e74eb3c7c02425dd564e22bbec6318f8bfc6a Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 15 Sep 2024 15:55:45 -0300 Subject: [PATCH 011/119] fix(Scripts/Commands): Fix level up achievements not being granted (#19969) --- src/server/game/Handlers/CharacterHandler.cpp | 8 ++++++-- src/server/scripts/Commands/cs_character.cpp | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 4021d541f702b3..77fe6a4c153c31 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -987,8 +987,12 @@ void WorldSession::HandlePlayerLoginFromDB(LoginQueryHolder const& holder) if (pCurrChar->HasAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS)) { - pCurrChar->RemoveAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS, true); - pCurrChar->CheckAllAchievementCriteria(); + // If we process the check while players are loading they won't be notified of the changes. + pCurrChar->m_Events.AddEventAtOffset([pCurrChar] + { + pCurrChar->RemoveAtLoginFlag(AT_LOGIN_CHECK_ACHIEVS, true); + pCurrChar->CheckAllAchievementCriteria(); + }, 1s); } bool firstLogin = pCurrChar->HasAtLoginFlag(AT_LOGIN_FIRST); diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index fc479a383a1cd3..8e5311a65cb074 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -23,6 +23,7 @@ Category: commandscripts EndScriptData */ #include "AccountMgr.h" +#include "AchievementMgr.h" #include "Chat.h" #include "CommandScript.h" #include "DBCStores.h" @@ -272,6 +273,8 @@ class character_commandscript : public CommandScript stmt->SetData(1, playerGuid.GetCounter()); CharacterDatabase.Execute(stmt); + sAchievementMgr->UpdateAchievementCriteriaForOfflinePlayer(playerGuid.GetCounter(), ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL); + sCharacterCache->UpdateCharacterLevel(playerGuid, newLevel); } } From 1df989f7807d9d0e8cfb52a8fe1001dc62b19598 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sun, 15 Sep 2024 21:11:24 +0200 Subject: [PATCH 012/119] chore(Core/Achievement): cleanup offline achievement (#19976) --- data/sql/updates/db_characters/2024_09_03_00.sql | 8 ++++++-- src/server/game/Achievements/AchievementMgr.cpp | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/data/sql/updates/db_characters/2024_09_03_00.sql b/data/sql/updates/db_characters/2024_09_03_00.sql index b61491e17ea979..d43d20b2e5d7e5 100644 --- a/data/sql/updates/db_characters/2024_09_03_00.sql +++ b/data/sql/updates/db_characters/2024_09_03_00.sql @@ -1,11 +1,15 @@ -- DB update 2024_07_05_00 -> 2024_09_03_00 DROP TABLE IF EXISTS `character_achievement_offline_updates`; CREATE TABLE `character_achievement_offline_updates` ( - `guid` BIGINT UNSIGNED NOT NULL COMMENT 'Character\'s GUID', + `guid` INT UNSIGNED NOT NULL COMMENT 'Character\'s GUID', `update_type` TINYINT UNSIGNED NOT NULL COMMENT 'Supported types: 1 - COMPLETE_ACHIEVEMENT; 2 - UPDATE_CRITERIA', `arg1` INT UNSIGNED NOT NULL COMMENT 'For type 1: achievement ID; for type 2: ACHIEVEMENT_CRITERIA_TYPE', `arg2` INT UNSIGNED DEFAULT NULL COMMENT 'For type 2: miscValue1 for updating achievement criteria', `arg3` INT UNSIGNED DEFAULT NULL COMMENT 'For type 2: miscValue2 for updating achievement criteria', INDEX `idx_guid` (`guid`) ) -COMMENT = 'Stores updates to character achievements when the character was offline'; +COMMENT = 'Stores updates to character achievements when the character was offline' +CHARSET = utf8mb4 +COLLATE = utf8mb4_unicode_ci +ENGINE = InnoDB +; diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 9d3626e3d6c49c..a6b2f905ff21ba 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -2503,7 +2503,7 @@ void AchievementMgr::ProcessOfflineUpdate(AchievementOfflinePlayerUpdate const& { AchievementEntry const* achievement = sAchievementStore.LookupEntry(update.arg1); - ASSERT(achievement != NULL, "Not found achievement to complete for offline achievements update. Wrong arg1 ({}) value?", update.arg1); + ASSERT(achievement, "Not found achievement to complete for offline achievements update. Wrong arg1 ({}) value?", update.arg1); CompletedAchievement(achievement); break; @@ -3142,7 +3142,7 @@ void AchievementGlobalMgr::CompletedAchievementForOfflinePlayer(ObjectGuid::LowT { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES); stmt->SetData(0, playerLowGuid); - stmt->SetData(1, uint32(ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_COMPLETE_ACHIEVEMENT)); + stmt->SetData(1, ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_COMPLETE_ACHIEVEMENT); stmt->SetData(2, entry->ID); stmt->SetData(3, 0); stmt->SetData(4, 0); @@ -3153,7 +3153,7 @@ void AchievementGlobalMgr::UpdateAchievementCriteriaForOfflinePlayer(ObjectGuid: { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES); stmt->SetData(0, playerLowGuid); - stmt->SetData(1, uint32(ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_UPDATE_CRITERIA)); + stmt->SetData(1, ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_UPDATE_CRITERIA); stmt->SetData(2, type); stmt->SetData(3, miscValue1); stmt->SetData(4, miscValue2); From e2353a1c9f58a143581ed326e9b0600f90c24aeb Mon Sep 17 00:00:00 2001 From: sudlud Date: Sun, 15 Sep 2024 23:15:21 +0200 Subject: [PATCH 013/119] =?UTF-8?q?fix(Core/PlayerQuest):=20Introduce=20fl?= =?UTF-8?q?ag=20QUEST=5FSPECIAL=5FFLAGS=5FNO=5FLOREMAST=E2=80=A6=20(#19962?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(Core/PlayerQuest): Introduce flag QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT - this allows flagging quests so that they will not count towards Loremaster achievement - update Corrupted Flower Quests in Felwood accordingly as a first use case * load Specialflags as uint32 from DB --- .../pending_db_world/rev_1726231075608295100.sql | 7 +++++++ src/server/game/Achievements/AchievementMgr.cpp | 2 +- src/server/game/Quests/QuestDef.cpp | 2 +- src/server/game/Quests/QuestDef.h | 13 +++++++------ 4 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1726231075608295100.sql diff --git a/data/sql/updates/pending_db_world/rev_1726231075608295100.sql b/data/sql/updates/pending_db_world/rev_1726231075608295100.sql new file mode 100644 index 00000000000000..ed9f2d7e8f8a3b --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1726231075608295100.sql @@ -0,0 +1,7 @@ +-- implement QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT +-- extend column datatype from tinyint to int +ALTER TABLE `quest_template_addon` MODIFY COLUMN `SpecialFlags` INT UNSIGNED DEFAULT 0 NOT NULL; + +-- add flag to Corrupted Flower Quests in Felwood +UPDATE `quest_template_addon` SET `SpecialFlags` = (`SpecialFlags` | 256) +WHERE (`ID` IN (996, 998, 1514, 2523, 2878, 3363, 4113, 4114, 4115, 4116, 4117, 4118, 4119, 4221, 4222, 4343, 4401, 4403, 4443, 4444, 4445, 4446, 4447, 4448, 4461, 4462, 4464, 4465, 4466, 4467)); diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index a6b2f905ff21ba..697dd05a3eff41 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -1087,7 +1087,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui for (RewardedQuestSet::const_iterator itr = rewQuests.begin(); itr != rewQuests.end(); ++itr) { Quest const* quest = sObjectMgr->GetQuestTemplate(*itr); - if (quest && quest->GetZoneOrSort() >= 0 && uint32(quest->GetZoneOrSort()) == achievementCriteria->complete_quests_in_zone.zoneID) + if (quest && quest->GetZoneOrSort() >= 0 && uint32(quest->GetZoneOrSort()) == achievementCriteria->complete_quests_in_zone.zoneID && !(quest->HasSpecialFlag(QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT))) ++counter; } SetCriteriaProgress(achievementCriteria, counter); diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index a4cf35b8532bce..12edb29a2cfc85 100644 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -187,7 +187,7 @@ void Quest::LoadQuestTemplateAddon(Field* fields) RequiredMaxRepValue = fields[14].Get(); StartItemCount = fields[15].Get(); RewardMailSenderEntry = fields[16].Get(); - SpecialFlags = fields[17].Get(); + SpecialFlags = fields[17].Get(); if ((SpecialFlags & QUEST_SPECIAL_FLAGS_AUTO_ACCEPT) && !sWorld->getBoolConfig(CONFIG_QUEST_IGNORE_AUTO_ACCEPT)) { diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h index 84bbec84b6b6e0..247ac1ec210a48 100644 --- a/src/server/game/Quests/QuestDef.h +++ b/src/server/game/Quests/QuestDef.h @@ -165,17 +165,18 @@ enum QuestSpecialFlags QUEST_SPECIAL_FLAGS_CAST = 0x0020, // Set by 32 in SpecialFlags in DB if the quest requires RequiredOrNpcGo killcredit but NOT kill (a spell cast) QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER = 0x0040, // Set by 64 in SpecialFlags in DB if the quest does not share rewarded reputation with other allied factions QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE = 0x0080, // Set by 128 in SpecialFlags in DB if the quest is allowed to fail in Player::FailQuest() independant of its current state + QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT = 0x0100, // Set by 256 in SpecialFlags in DB if the quest should not count towards Loremaster Achievement // room for more custom flags QUEST_SPECIAL_FLAGS_DB_ALLOWED = QUEST_SPECIAL_FLAGS_REPEATABLE | QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT | QUEST_SPECIAL_FLAGS_AUTO_ACCEPT | QUEST_SPECIAL_FLAGS_DF_QUEST | QUEST_SPECIAL_FLAGS_MONTHLY | QUEST_SPECIAL_FLAGS_CAST | QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER | - QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE, + QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE | QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT, - QUEST_SPECIAL_FLAGS_DELIVER = 0x0100, // Internal flag computed only - QUEST_SPECIAL_FLAGS_SPEAKTO = 0x0200, // Internal flag computed only - QUEST_SPECIAL_FLAGS_KILL = 0x0400, // Internal flag computed only - QUEST_SPECIAL_FLAGS_TIMED = 0x0800, // Internal flag computed only - QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x1000 // Internal flag computed only + QUEST_SPECIAL_FLAGS_DELIVER = 0x0200, // Internal flag computed only + QUEST_SPECIAL_FLAGS_SPEAKTO = 0x0400, // Internal flag computed only + QUEST_SPECIAL_FLAGS_KILL = 0x0800, // Internal flag computed only + QUEST_SPECIAL_FLAGS_TIMED = 0x1000, // Internal flag computed only + QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x2000 // Internal flag computed only }; struct QuestLocale From 64c9e4a0a4d54ea24dce09d0ea5e762d92227fea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Sep 2024 21:16:14 +0000 Subject: [PATCH 014/119] chore(DB): import pending files Referenced commit(s): e2353a1c9f58a143581ed326e9b0600f90c24aeb --- .../rev_1726231075608295100.sql => db_world/2024_09_15_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1726231075608295100.sql => db_world/2024_09_15_01.sql} (92%) diff --git a/data/sql/updates/pending_db_world/rev_1726231075608295100.sql b/data/sql/updates/db_world/2024_09_15_01.sql similarity index 92% rename from data/sql/updates/pending_db_world/rev_1726231075608295100.sql rename to data/sql/updates/db_world/2024_09_15_01.sql index ed9f2d7e8f8a3b..194915502b0bef 100644 --- a/data/sql/updates/pending_db_world/rev_1726231075608295100.sql +++ b/data/sql/updates/db_world/2024_09_15_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_15_00 -> 2024_09_15_01 -- implement QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT -- extend column datatype from tinyint to int ALTER TABLE `quest_template_addon` MODIFY COLUMN `SpecialFlags` INT UNSIGNED DEFAULT 0 NOT NULL; From 3bb5ec779d217e8beedf7e42f8f8146312d2c1db Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Mon, 16 Sep 2024 10:15:50 -0400 Subject: [PATCH 015/119] fix(Core/Spells): Revert triggered spell logic change. (#19983) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert "fix(Core/Spells): Resolve a case of triggered spells prolonging comba…" This reverts commit edd7e10dfc7651ed2657a09d5411771831c8ec1e. --- src/server/game/Entities/Unit/Unit.cpp | 12 +++++------- src/server/game/Spells/Spell.cpp | 3 +-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 692e67fb51131b..3e552068e41fcc 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -20228,13 +20228,13 @@ void Unit::OutDebugInfo() const class AuraMunchingQueue : public BasicEvent { public: - AuraMunchingQueue(Unit& owner, ObjectGuid targetGUID, int32 basePoints, uint32 spellId, AuraEffect* aurEff) : _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId), _aurEff(aurEff) { } + AuraMunchingQueue(Unit& owner, ObjectGuid targetGUID, int32 basePoints, uint32 spellId) : _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId) { } bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override { if (_owner.IsInWorld() && _owner.FindMap()) if (Unit* target = ObjectAccessor::GetUnit(_owner, _targetGUID)) - _owner.CastCustomSpell(_spellId, SPELLVALUE_BASE_POINT0, _basePoints, target, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, _aurEff, _owner.GetGUID()); + _owner.CastCustomSpell(_spellId, SPELLVALUE_BASE_POINT0, _basePoints, target, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, nullptr, _owner.GetGUID()); return true; } @@ -20244,15 +20244,13 @@ class AuraMunchingQueue : public BasicEvent ObjectGuid _targetGUID; int32 _basePoints; uint32 _spellId; - AuraEffect* _aurEff; }; void Unit::CastDelayedSpellWithPeriodicAmount(Unit* caster, uint32 spellId, AuraType auraType, int32 addAmount, uint8 effectIndex) { - AuraEffect* aurEff = nullptr; for (AuraEffectList::iterator i = m_modAuras[auraType].begin(); i != m_modAuras[auraType].end(); ++i) { - aurEff = *i; + AuraEffect* aurEff = *i; if (aurEff->GetCasterGUID() != caster->GetGUID() || aurEff->GetId() != spellId || aurEff->GetEffIndex() != effectIndex || !aurEff->GetTotalTicks()) continue; @@ -20262,9 +20260,9 @@ void Unit::CastDelayedSpellWithPeriodicAmount(Unit* caster, uint32 spellId, Aura // xinef: delay only for casting on different unit if (this == caster || !sWorld->getBoolConfig(CONFIG_MUNCHING_BLIZZLIKE)) - caster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, addAmount, this, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, aurEff, caster->GetGUID()); + caster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, addAmount, this, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, nullptr, caster->GetGUID()); else - caster->m_Events.AddEvent(new AuraMunchingQueue(*caster, GetGUID(), addAmount, spellId, aurEff), caster->m_Events.CalculateQueueTime(400)); + caster->m_Events.AddEvent(new AuraMunchingQueue(*caster, GetGUID(), addAmount, spellId), caster->m_Events.CalculateQueueTime(400)); } void Unit::SendClearTarget() diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e26a2a087ab4e2..24d07cc9452347 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2931,8 +2931,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target) { if (missInfo != SPELL_MISS_EVADE && !m_caster->IsFriendlyTo(effectUnit) && (!m_spellInfo->IsPositive() || m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL))) { - if (!m_triggeredByAuraSpell.spellInfo || (!(m_triggeredByAuraSpell.spellInfo->Effects[m_triggeredByAuraSpell.effectIndex].TriggerSpell == m_spellInfo->Id) && !(m_triggeredByAuraSpell.spellInfo->IsAuraEffectEqual(m_spellInfo)))) - m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS)); + m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS)); // Patch 3.0.8: All player spells which cause a creature to become aggressive to you will now also immediately cause the creature to be tapped. if (effectUnit->IsInCombatWith(m_caster)) From 07c54fe8c7c0eb32ba51d52e3f6bbc34005239ab Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Mon, 16 Sep 2024 11:12:26 -0400 Subject: [PATCH 016/119] fix(DB/Command): Add help values for various commands. (#19984) Init. --- .../pending_db_world/command-syntax.sql | 171 ++++++++++++++++++ src/server/scripts/Commands/cs_debug.cpp | 2 +- src/server/scripts/Commands/cs_misc.cpp | 3 - 3 files changed, 172 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/command-syntax.sql diff --git a/data/sql/updates/pending_db_world/command-syntax.sql b/data/sql/updates/pending_db_world/command-syntax.sql new file mode 100644 index 00000000000000..44690096dbb2aa --- /dev/null +++ b/data/sql/updates/pending_db_world/command-syntax.sql @@ -0,0 +1,171 @@ +-- wp modify + +UPDATE `command` SET `help` = 'Syntax: .gobject set $subcommand +Type .gobject set to see the list of possible subcommands or .help gobject set $subcommand to see info on subcommands.' WHERE `name` = 'gobject set'; + +UPDATE `command` SET `help` = 'Syntax: .skirmish [arena] [XvX] [Nick1] [Nick2] ... [NickN] +[arena] can be \"all\" or comma-separated list of possible arenas (NA, BE, RL, DS, RV). +[XvX] can be 1v1, 2v2, 3v3, 5v5. After [XvX] specify enough nicknames for that mode.' WHERE `name` = 'skirmish'; + +UPDATE `command` SET `help` = 'Syntax: .bf $subcommand +Type .bf to see the list of possible subcommands or .help bf $subcommand to see info on subcommands.' WHERE `name` = 'bf'; + +UPDATE `command` SET `help` = 'Syntax: .debug entervehicle #entry #seatID +Enter the targeted or given vehicle ID in the given seat.' WHERE `name` = 'debug entervehicle'; + +UPDATE `command` SET `help` = 'Syntax: .debug getitemstate #itemState [unchanged/changed/new/removed/queue/check_all] +Returns all items in a given player''s inventory with a given item state.' WHERE `name` = 'debug getitemstate'; + +UPDATE `command` SET `help` = 'Syntax: .debug getitemvalue #GUID #index +Returns the value of the given index for the given item GUID.' WHERE `name` = 'debug getitemvalue'; + +UPDATE `command` SET `help` = 'Syntax: .debug getvalue #index #isInt +Returns either an integer or float value at a given index of your target.' WHERE `name` = 'debug getvalue'; + +UPDATE `command` SET `help` = 'Syntax: .debug hostile +Returns the hostile reference list of a given player.' WHERE `name` = 'debug hostile'; + +UPDATE `command` SET `help` = 'Syntax: .debug itemexpire #GUID +Destroy an item with the given GUID.' WHERE `name` = 'debug itemexpire'; + +UPDATE `command` SET `help` = 'Syntax: .debug lootrecipient +Returns the loot recipient of the targeted creature.' WHERE `name` = 'debug lootrecipient'; + +UPDATE `command` SET `help` = 'Syntax: .debug los +Returns line of sight status between you and your target.' WHERE `name` = 'debug los'; + +UPDATE `command` SET `help` = 'Syntax: .debug play $subcommand +Type .debug play to see the list of possible subcommands or .help debug play $subcommand to see info on subcommands.' WHERE `name` = 'debug play'; + +UPDATE `command` SET `help` = 'Syntax: .debug send $subcommand +Type .debug send to see the list of possible subcommands or .help debug send $subcommand to see info on subcommands.' WHERE `name` = 'debug send'; + +UPDATE `command` SET `help` = 'Syntax: .debug send buyerror #error +Sends the given buy error result.' WHERE `name` = 'debug send buyerror'; + +UPDATE `command` SET `help` = 'Syntax: .debug send channelnotify #type +Sends a channel notify message of the given type.' WHERE `name` = 'debug send channelnotify'; + +UPDATE `command` SET `help` = 'Syntax: .debug send chatmessage #type +Sends a chat message of the given type.', `name` = 'debug send chatmessage' WHERE `name` = 'debug send chatmmessage'; + +UPDATE `command` SET `help` = 'Syntax: .debug send equiperror #error +Sends the given equip error result.' WHERE `name` = 'debug send equiperror'; + +UPDATE `command` SET `help` = 'Syntax: .debug send largepacket +Sends a system message of 128 kilobytes.' WHERE `name` = 'debug send largepacket'; + +UPDATE `command` SET `help` = 'Syntax: .debug send opcode +Sends opcodes contained in "opcode.txt".' WHERE `name` = 'debug send opcode'; + +UPDATE `command` SET `help` = 'Syntax: .debug send qinvalidmsg #error +Sends the given quest error result.' WHERE `name` = 'debug send qinvalidmsg'; + +UPDATE `command` SET `help` = 'Syntax: .debug send qpartymsg #message +Sends the given party quest share message.' WHERE `name` = 'debug send qpartymsg'; + +UPDATE `command` SET `help` = 'Syntax: .debug send sellerror #error +Sends the given sell error result.' WHERE `name` = 'debug send sellerror'; + +UPDATE `command` SET `help` = 'Syntax: .debug send setphaseshift #phaseShift +Sends a phase shift message with the given phase shift value.' WHERE `name` = 'debug send setphaseshift'; + +UPDATE `command` SET `help` = 'Syntax: .debug send spellfail #result #failArgument1 #failArgument2 +Sends a spell failure message with the given result and argument values.' WHERE `name` = 'debug send spellfail'; + +UPDATE `command` SET `help` = 'Syntax: .debug setaurastate #state #apply +Sets the selected units aura state using the given apply value.' WHERE `name` = 'debug setaurastate'; + +UPDATE `command` SET `help` = 'Syntax: .debug setbit #index #bit +Sets the unsigned 32-bit integer value of the target at the given index to the given bit.' WHERE `name` = 'debug setbit'; + +UPDATE `command` SET `help` = 'Syntax: .debug setitemvalue #GUID #index #value +Sets the value of the given index for the given item GUID to the given value.' WHERE `name` = 'debug setitemvalue'; + +UPDATE `command` SET `help` = 'Syntax: .debug setvalue #index #value +Sets the unsigned 32-bit integer or float value of the target at the given index to the given value.' WHERE `name` = 'debug setvalue'; + +UPDATE `command` SET `help` = 'Syntax: .debug setvid #ID +Currently disabled. +Sets the given target''s vehicle ID to the given value.' WHERE `name` = 'debug setvid'; + +UPDATE `command` SET `help` = 'Syntax: .debug spawnvehicle #entry #ID +Creates a vehicle with the given ID.' WHERE `name` = 'debug spawnvehicle'; + +UPDATE `command` SET `help` = 'Syntax: .debug threat +Returns the threat list of a given creature.' WHERE `name` = 'debug threat'; + +UPDATE `command` SET `help` = 'Syntax: .debug update #index #value +Sets the unsigned 32-bit integer value of the target at the given index to the given bit.' WHERE `name` = 'debug update'; + +UPDATE `command` SET `help` = 'Syntax: .debug uws #variable #value +Sends a worldstate update for the given variable to the given value.' WHERE `name` = 'debug uws'; + +UPDATE `command` SET `help` = 'Syntax: .gobject set state #GUIDLow, #objectType, #objectState +Sets the byte value or sends a custom animation for a given gameobject GUID.' WHERE `name` = 'gobject set state'; + +UPDATE `command` SET `help` = 'Syntax: .learn all $subcommand +Type .learn all to see the list of possible subcommands or .help learn all $subcommand to see info on subcommands.' WHERE `name` = 'learn all'; + +UPDATE `command` SET `help` = 'Syntax: .learn all my $subcommand +Type .learn all my to see the list of possible subcommands or .help learn all my $subcommand to see info on subcommands.' WHERE `name` = 'learn all my'; + +UPDATE `command` SET `help` = 'Syntax: .lfg $subcommand +Type .lfg to see the list of possible subcommands or .help lfg $subcommand to see info on subcommands.' WHERE `name` = 'lfg'; + +UPDATE `command` SET `help` = 'Syntax: .lookup player $subcommand +Type .lookup player to see the list of possible subcommands or .help lookup player $subcommand to see info on subcommands.' WHERE `name` = 'lookup player'; + +UPDATE `command` SET `help` = 'Syntax: .npc near #distance +Returns all database creature spawns in a given distance.' WHERE `name` = 'npc near'; + +UPDATE `command` SET `help` = 'Syntax: .npc set $subcommand +Type .npc set to see the list of possible subcommands or .help npc set $subcommand to see info on subcommands.' WHERE `name` = 'npc set'; + +UPDATE `command` SET `help` = 'Syntax: .npc tame +Creates a player pet of the targeted creature.' WHERE `name` = 'npc tame'; + +UPDATE `command` SET `help` = 'Syntax: .reload npc_spellclick_spells +Reload npc_spellclick_spells table.' WHERE `name` = 'reload npc_spellclick_spells'; + +UPDATE `command` SET `help` = 'Syntax: .spect $subcommand +Type .spect to see the list of possible subcommands or .help spect $subcommand to see info on subcommands.' WHERE `name` = 'spect'; + +UPDATE `command` SET `help` = 'Syntax: .spect leave +Leave an arena you are spectating.' WHERE `name` = 'spect leave'; + +UPDATE `command` SET `help` = 'Syntax: .spect reset +Reset various values related to spectating.' WHERE `name` = 'spect reset'; + +UPDATE `command` SET `help` = 'Syntax: .spect spectate #name +Begin spectating the given player.' WHERE `name` = 'spect spectate'; + +UPDATE `command` SET `help` = 'Syntax: .spect version #version +Verify addon version for arena spectating.' WHERE `name` = 'spect version'; + +UPDATE `command` SET `help` = 'Syntax: .spect watch #name +Begin watching the given player.' WHERE `name` = 'spect watch'; + +UPDATE `command` SET `help` = 'Syntax: .ticket complete #ticketID +Mark a ticket of the given ID as complete.' WHERE `name` = 'ticket complete'; + +UPDATE `command` SET `help` = 'Syntax: .ticket escalate #ticketID +Add a ticket of the given ID to the escalation queue.' WHERE `name` = 'ticket escalate'; + +UPDATE `command` SET `help` = 'Syntax: .ticket escalatedlist +Return all open tickets in the escalation queue.' WHERE `name` = 'ticket escalatedlist'; + +UPDATE `command` SET `help` = 'Syntax: .ticket response $subcommand +Type .ticket response to see the list of possible subcommands or .help ticket response $subcommand to see info on subcommands.' WHERE `name` = 'ticket response'; + +UPDATE `command` SET `help` = 'Syntax: .ticket togglesystem +Toggle whether tickets are allowed or disallowed.' WHERE `name` = 'ticket togglesystem'; + +UPDATE `command` SET `help` = 'Syntax: .titles $subcommand +Type .titles to see the list of possible subcommands or .help titles $subcommand to see info on subcommands.' WHERE `name` = 'titles'; + +UPDATE `command` SET `help` = 'Syntax: .titles set $subcommand +Type .titles set to see the list of possible subcommands or .help titles set $subcommand to see info on subcommands.' WHERE `name` = 'titles set'; + +UPDATE `command` SET `help` = 'Syntax: .unban playeraccount #name +Unban accounts for character name pattern.' WHERE `name` = 'unban playeraccount'; diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index 93fe67cc3cf5e8..b57ff6ccc327cd 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -64,7 +64,7 @@ class debug_commandscript : public CommandScript { { "buyerror", HandleDebugSendBuyErrorCommand, SEC_ADMINISTRATOR, Console::No }, { "channelnotify", HandleDebugSendChannelNotifyCommand, SEC_ADMINISTRATOR, Console::No }, - { "chatmmessage", HandleDebugSendChatMsgCommand, SEC_ADMINISTRATOR, Console::No }, + { "chatmessage", HandleDebugSendChatMsgCommand, SEC_ADMINISTRATOR, Console::No }, { "equiperror", HandleDebugSendEquipErrorCommand, SEC_ADMINISTRATOR, Console::No }, { "largepacket", HandleDebugSendLargePacketCommand, SEC_ADMINISTRATOR, Console::No }, { "opcode", HandleDebugSendOpcodeCommand, SEC_ADMINISTRATOR, Console::No }, diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index db29dcb36eeddf..94ccfb6eb5e625 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -157,9 +157,6 @@ class misc_commandscript : public CommandScript if (args.empty() || !tokens.size()) { - handler->PSendSysMessage("Usage: .skirmish [arena] [XvX] [Nick1] [Nick2] ... [NickN]"); - handler->PSendSysMessage("[arena] can be \"all\" or comma-separated list of possible arenas (NA, BE, RL, DS, RV)."); - handler->PSendSysMessage("[XvX] can be 1v1, 2v2, 3v3, 5v5. After [XvX] specify enough nicknames for that mode."); handler->SetSentErrorMessage(true); return false; } From a35f0c4ef61f20dd88fffff4ac5864830c4c0daf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Sep 2024 15:13:36 +0000 Subject: [PATCH 017/119] chore(DB): import pending files Referenced commit(s): 07c54fe8c7c0eb32ba51d52e3f6bbc34005239ab --- .../command-syntax.sql => db_world/2024_09_16_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/command-syntax.sql => db_world/2024_09_16_00.sql} (99%) diff --git a/data/sql/updates/pending_db_world/command-syntax.sql b/data/sql/updates/db_world/2024_09_16_00.sql similarity index 99% rename from data/sql/updates/pending_db_world/command-syntax.sql rename to data/sql/updates/db_world/2024_09_16_00.sql index 44690096dbb2aa..501e67711f3019 100644 --- a/data/sql/updates/pending_db_world/command-syntax.sql +++ b/data/sql/updates/db_world/2024_09_16_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_15_01 -> 2024_09_16_00 -- wp modify UPDATE `command` SET `help` = 'Syntax: .gobject set $subcommand From 5af3d2d650e4615aff39ccd1adf2a0c71962f084 Mon Sep 17 00:00:00 2001 From: Grimdhex <176165533+Grimdhex@users.noreply.github.com> Date: Wed, 18 Sep 2024 11:52:16 +0200 Subject: [PATCH 018/119] fix(Scripts/BlackTemple): Flames of Azzinoth - Fix the charge logic (#19968) fix(Scripts/BlackTemple): fix the charge mechanic of Flames of Azzinoth * remove also a old duplicate check in a spell script --- .../scripts/Outland/BlackTemple/boss_illidan.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index a181d6fba8f6ed..0c131834c071be 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1313,7 +1313,7 @@ struct npc_flame_of_azzinoth : public ScriptedAI { ScheduleTimedEvent(10s, [&] { if (Creature* _blade = ObjectAccessor::GetCreature(*me, _bladeGUID)) - if (Unit* target = _blade->AI()->SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) + if (Unit* target = _blade->AI()->SelectTarget(SelectTargetMethod::Random, 0, -40.0f, true)) DoCast(target, SPELL_CHARGE); }, 5s, 20s); @@ -1463,16 +1463,6 @@ class spell_illidan_tear_of_azzinoth_summon_channel_aura : public AuraScript GetTarget()->CastSpell(GetTarget(), SPELL_UNCAGED_WRATH, true); } } - - // xinef: ugly hax, dunno how it really works on blizz - Map::PlayerList const& pl = GetTarget()->GetMap()->GetPlayers(); - for (Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr) - if (Player* player = itr->GetSource()) - if (player->GetPositionX() > 693.4f || player->GetPositionY() < 271.8f || player->GetPositionX() < 658.43f || player->GetPositionY() > 338.68f) - { - GetTarget()->CastSpell(player, SPELL_CHARGE, true); - break; - } } void Register() override From dbde182ecdcf3ebe392943c2b34adae1fdf00110 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Thu, 19 Sep 2024 05:24:11 +0200 Subject: [PATCH 019/119] =?UTF-8?q?refactor(Deps/MySQL):=20Drop=20MariaDB?= =?UTF-8?q?=20and=20MySQL=205.7/8.1=20and=20add=20MySQL=208.=E2=80=A6=20(#?= =?UTF-8?q?19451)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/SECURITY.md | 43 ++++---- data/sql/create/drop_mysql.sql | 14 +-- data/sql/create/drop_mysql_8.sql | 9 -- src/cmake/macros/FindMySQL.cmake | 98 ++----------------- src/cmake/showoptions.cmake | 1 - .../apps/authserver/authserver.conf.dist | 3 +- src/server/apps/worldserver/Main.cpp | 6 -- .../database/Database/DatabaseWorkerPool.cpp | 22 +---- .../database/Database/DatabaseWorkerPool.h | 20 +--- .../database/Database/MySQLConnection.cpp | 14 +-- src/server/database/Updater/DBUpdater.cpp | 9 -- src/tools/dbimport/dbimport.conf.dist | 2 +- 12 files changed, 37 insertions(+), 204 deletions(-) delete mode 100644 data/sql/create/drop_mysql_8.sql diff --git a/.github/SECURITY.md b/.github/SECURITY.md index e7b138f777ca91..fbabc2817ede80 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -15,23 +15,16 @@ Versions of AzerothCore: | AzerothCore Branch | Supported | | ------------------ | ------------------ | | master | :white_check_mark: | +| Any playerbot fork | :red_circle: | +| Any NPCBot fork | :red_circle: | Versions of MySQL: | MySQL Version | Supported | | ------------- | ------------------ | -| 8.1 | :white_check_mark: | +| 8.4 | :white_check_mark: | | 8.0 | :white_check_mark: | -| 5.7 | :white_check_mark: | -| 5.6 and lower | :red_circle: | - -Versions of MariaDB: - -| MariaDB Version | Supported | -| --------------- | ------------------ | -| 10.6 | :white_check_mark: | -| 10.5 | :white_check_mark: | -| 10.4 and lower | :red_circle: | +| 5.7 and lower | :red_circle: | Versions of CLang: @@ -43,26 +36,26 @@ Versions of CLang: Versions of GCC: -| GCC Version | Supported | -| ----------- | ------------------ | -| 14 | :white_check_mark: | -| 12 | :white_check_mark: | -| 11 and lower| :red_circle: | +| GCC Version | Supported | +| ------------ | ------------------ | +| 14 | :white_check_mark: | +| 12 | :white_check_mark: | +| 11 and lower | :red_circle: | Versions of Ubuntu: -| Ubuntu version | Supported | -| -------------- | ------------------ | -| 24.04 | :white_check_mark: | -| 22.04 | :white_check_mark: | -| 20.04 and lower| :red_circle: | +| Ubuntu version | Supported | +| --------------- | ------------------ | +| 24.04 | :white_check_mark: | +| 22.04 | :white_check_mark: | +| 20.04 and lower | :red_circle: | Versions of macOS: -| macOS Version | Supported | -| -------------- | ------------------ | -| 12 | :white_check_mark: | -| 11 and lower | :red_circle: | +| macOS Version | Supported | +| ------------- | ------------------ | +| 12 | :white_check_mark: | +| 11 and lower | :red_circle: | **Note**: We do NOT support any repacks that may or may not have been made based on AzerothCore. This is because they are usually based on older versions and there is no way to know what is in the precompiled binaries. Instead, you should compile your binaries from the AzerothCore source. To get started, read the [Installation Guide](https://www.azerothcore.org/wiki/installation). diff --git a/data/sql/create/drop_mysql.sql b/data/sql/create/drop_mysql.sql index 8b8d66f284b3f9..669e2538bc9819 100644 --- a/data/sql/create/drop_mysql.sql +++ b/data/sql/create/drop_mysql.sql @@ -1,16 +1,4 @@ -REVOKE ALL PRIVILEGES ON * . * FROM 'acore'@'localhost'; - -REVOKE ALL PRIVILEGES ON `acore_world` . * FROM 'acore'@'localhost'; - -REVOKE GRANT OPTION ON `acore_world` . * FROM 'acore'@'localhost'; - -REVOKE ALL PRIVILEGES ON `acore_characters` . * FROM 'acore'@'localhost'; - -REVOKE GRANT OPTION ON `acore_characters` . * FROM 'acore'@'localhost'; - -REVOKE ALL PRIVILEGES ON `acore_auth` . * FROM 'acore'@'localhost'; - -REVOKE GRANT OPTION ON `acore_auth` . * FROM 'acore'@'localhost'; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'acore'@'localhost'; DROP USER 'acore'@'localhost'; diff --git a/data/sql/create/drop_mysql_8.sql b/data/sql/create/drop_mysql_8.sql deleted file mode 100644 index 669e2538bc9819..00000000000000 --- a/data/sql/create/drop_mysql_8.sql +++ /dev/null @@ -1,9 +0,0 @@ -REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'acore'@'localhost'; - -DROP USER 'acore'@'localhost'; - -DROP DATABASE IF EXISTS `acore_world`; - -DROP DATABASE IF EXISTS `acore_characters`; - -DROP DATABASE IF EXISTS `acore_auth`; diff --git a/src/cmake/macros/FindMySQL.cmake b/src/cmake/macros/FindMySQL.cmake index 09a7fd1df4dc27..32a577573793ba 100644 --- a/src/cmake/macros/FindMySQL.cmake +++ b/src/cmake/macros/FindMySQL.cmake @@ -24,77 +24,6 @@ set( MYSQL_FOUND 0 ) -# Find MariaDB for Windows -if (WIN32) - # Set know versions MariaDB - set(_MARIADB_KNOWN_VERSIONS "MariaDB 10.9" "MariaDB 10.8" "MariaDB 10.7" "MariaDB 10.6" "MariaDB 10.5") - - # Set default options - set(MARIADB_FOUND_LIB 0) - set(MARIADB_FOUND_INCLUDE 0) - set(MARIADB_FOUND_EXECUTABLE 0) - set(MARIADB_FOUND 0) - - macro(FindLibMariaDB MariaDBVersion) - # Find include - find_path(MYSQL_INCLUDE_DIR - NAMES - mysql.h - PATHS - ${MYSQL_ADD_INCLUDE_PATH} - "$ENV{ProgramW6432}/${MariaDBVersion}/include/mysql" - "$ENV{ProgramFiles}/${MariaDBVersion}/include/mysql" - "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/mysql" - DOC - "Specify the directory containing mysql.h." - ) - - if(MYSQL_INCLUDE_DIR) - set(MARIADB_FOUND_INCLUDE 1) - endif() - - find_library(MYSQL_LIBRARY - NAMES - libmariadb - PATHS - ${MYSQL_ADD_LIBRARIES_PATH} - "$ENV{ProgramW6432}/${MariaDBVersion}/lib" - "$ENV{ProgramW6432}/${MariaDBVersion}/lib/opt" - "$ENV{ProgramFiles}/${MariaDBVersion}/lib" - "$ENV{ProgramFiles}/${MariaDBVersion}/lib/opt" - "$ENV{SystemDrive}/${MariaDBVersion}/lib/opt" - "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" - DOC - "Specify the location of the mysql library here." - ) - - if(MYSQL_LIBRARY) - set(MARIADB_FOUND_LIB 1) - endif() - - find_program(MYSQL_EXECUTABLE mysql - PATHS - "$ENV{ProgramW6432}/${MariaDBVersion}/bin" - "$ENV{ProgramW6432}/${MariaDBVersion}/bin/opt" - "$ENV{ProgramFiles}/${MariaDBVersion}/bin" - "$ENV{ProgramFiles}/${MariaDBVersion}/bin/opt" - "$ENV{SystemDrive}/${MariaDBVersion}/bin/opt" - DOC - "path to your mysql binary.") - - if (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR AND MYSQL_EXECUTABLE) - set(MARIADB_FOUND 1) - endif() - - endmacro(FindLibMariaDB) - - foreach(version ${_MARIADB_KNOWN_VERSIONS}) - if (NOT MARIADB_FOUND) - FindLibMariaDB(${version}) - endif() - endforeach() -endif() - if( UNIX ) set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH "preferred path to MySQL (mysql_config)" @@ -156,15 +85,12 @@ find_path(MYSQL_INCLUDE_DIR /usr/local/include/mysql /usr/local/mysql/include "C:/tools/mysql/current/include" # chocolatey package - "$ENV{ProgramW6432}/MySQL/MySQL Server 8.1/include" + "$ENV{ProgramW6432}/MySQL/MySQL Server 8.4/include" + "$ENV{ProgramFiles}/MySQL/MySQL Server 8.4/include" + "$ENV{SystemDrive}/MySQL/MySQL Server 8.4/include" "$ENV{ProgramW6432}/MySQL/MySQL Server 8.0/include" - "$ENV{ProgramW6432}/MySQL/MySQL Server 5.7/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 8.1/include" "$ENV{ProgramFiles}/MySQL/MySQL Server 8.0/include" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 8.1/include" "$ENV{SystemDrive}/MySQL/MySQL Server 8.0/include" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include" "$ENV{MYSQL_INCLUDE_DIR}" "$ENV{MYSQL_DIR}/include" DOC @@ -195,15 +121,12 @@ if( WIN32 ) PATHS ${MYSQL_ADD_LIBRARIES_PATH} "C:/tools/mysql/current/lib" # chocolatey package - "$ENV{ProgramW6432}/MySQL/MySQL Server 8.1/lib" + "$ENV{ProgramW6432}/MySQL/MySQL Server 8.4/lib" + "$ENV{ProgramFiles}/MySQL/MySQL Server 8.4/lib" + "$ENV{SystemDrive}/MySQL/MySQL Server 8.4/lib" "$ENV{ProgramW6432}/MySQL/MySQL Server 8.0/lib" - "$ENV{ProgramW6432}/MySQL/MySQL Server 5.7/lib" - "$ENV{ProgramFiles}/MySQL/MySQL Server 8.1/lib" "$ENV{ProgramFiles}/MySQL/MySQL Server 8.0/lib" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib" - "$ENV{SystemDrive}/MySQL/MySQL Server 8.1/lib" "$ENV{SystemDrive}/MySQL/MySQL Server 8.0/lib" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib" "$ENV{MYSQL_LIBRARY}" "$ENV{MYSQL_DIR}/lib" DOC "Specify the location of the mysql library here." @@ -242,15 +165,12 @@ if( WIN32 ) find_program(MYSQL_EXECUTABLE mysql PATHS "C:/tools/mysql/current/bin" # chocolatey package - "$ENV{ProgramW6432}/MySQL/MySQL Server 8.1/bin" + "$ENV{ProgramW6432}/MySQL/MySQL Server 8.4/bin" + "$ENV{ProgramFiles}/MySQL/MySQL Server 8.4/bin" + "$ENV{SystemDrive}/MySQL/MySQL Server 8.4/bin" "$ENV{ProgramW6432}/MySQL/MySQL Server 8.0/bin" - "$ENV{ProgramW6432}/MySQL/MySQL Server 5.7/bin" - "$ENV{ProgramFiles}/MySQL/MySQL Server 8.1/bin" "$ENV{ProgramFiles}/MySQL/MySQL Server 8.0/bin" - "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin" - "$ENV{SystemDrive}/MySQL/MySQL Server 8.1/bin" "$ENV{SystemDrive}/MySQL/MySQL Server 8.0/bin" - "$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin" "$ENV{MYSQL_ROOT}/bin" DOC "path to your mysql binary.") diff --git a/src/cmake/showoptions.cmake b/src/cmake/showoptions.cmake index 7111990b6f64ad..443584127de805 100644 --- a/src/cmake/showoptions.cmake +++ b/src/cmake/showoptions.cmake @@ -153,7 +153,6 @@ if(WITH_STRICT_DATABASE_TYPE_CHECKS) message(" *** WITH_STRICT_DATABASE_TYPE_CHECKS - WARNING!") message(" *** Validates uses of database Get***() functions from Field class") message(" *** invalid calls will result in returning value 0") - message(" *** NOT COMPATIBLE WITH MARIADB!") add_definitions(-DACORE_STRICT_DATABASE_TYPE_CHECKS) endif() diff --git a/src/server/apps/authserver/authserver.conf.dist b/src/server/apps/authserver/authserver.conf.dist index 6cd737219189a8..13f2f7063dd5b0 100644 --- a/src/server/apps/authserver/authserver.conf.dist +++ b/src/server/apps/authserver/authserver.conf.dist @@ -176,8 +176,7 @@ SourceDirectory = "" # MySQLExecutable # Description: The path to your MySQL CLI binary. # If the path is left empty, built-in path from cmake is used. -# Example: "C:/Program Files/MariaDB 10.5/bin/mysql.exe" -# "C:/Program Files/MySQL/MySQL Server 8.0/bin/mysql.exe" +# Example: "C:/Program Files/MySQL/MySQL Server 8.4/bin/mysql.exe" # "mysql.exe" # "/usr/bin/mysql" # Default: "" diff --git a/src/server/apps/worldserver/Main.cpp b/src/server/apps/worldserver/Main.cpp index 0b485bffadf4cb..68fb037e839ca5 100644 --- a/src/server/apps/worldserver/Main.cpp +++ b/src/server/apps/worldserver/Main.cpp @@ -386,12 +386,6 @@ int main(int argc, char** argv) sScriptMgr->OnStartup(); -// Be kind and warn people of EOL deprecation :) -#if !defined(MARIADB_VERSION_ID) - if (MySQL::GetLibraryVersion() < 80000) - LOG_WARN("server", "WARNING: You are using MySQL version 5.7 which is soon EOL!\nThis version will be deprecated. Consider upgrading to MySQL 8.0 or 8.1!"); -#endif - // Launch CliRunnable thread std::shared_ptr cliThread; #if AC_PLATFORM == AC_PLATFORM_WINDOWS diff --git a/src/server/database/Database/DatabaseWorkerPool.cpp b/src/server/database/Database/DatabaseWorkerPool.cpp index 3be45ed401d222..0fd20d4b479529 100644 --- a/src/server/database/Database/DatabaseWorkerPool.cpp +++ b/src/server/database/Database/DatabaseWorkerPool.cpp @@ -59,15 +59,10 @@ DatabaseWorkerPool::DatabaseWorkerPool() : { WPFatal(mysql_thread_safe(), "Used MySQL library isn't thread-safe."); -#if !defined(MARIADB_VERSION_ID) || MARIADB_VERSION_ID < 100600 bool isSupportClientDB = mysql_get_client_version() >= MIN_MYSQL_CLIENT_VERSION; bool isSameClientDB = mysql_get_client_version() == MYSQL_VERSION_ID; -#else // MariaDB 10.6+ - bool isSupportClientDB = mysql_get_client_version() >= MIN_MYSQL_CLIENT_VERSION; - bool isSameClientDB = true; // Client version 3.2.3? -#endif - WPFatal(isSupportClientDB, "AzerothCore does not support MySQL versions below 5.7 or MariaDB versions below 10.5.\n\nFound version: {} / {}. Server compiled with: {}.\nSearch the wiki for ACE00043 in Common Errors (https://www.azerothcore.org/wiki/common-errors#ace00043).", + WPFatal(isSupportClientDB, "AzerothCore does not support MySQL versions below 8.0\n\nFound version: {} / {}. Server compiled with: {}.\nSearch the wiki for ACE00043 in Common Errors (https://www.azerothcore.org/wiki/common-errors#ace00043).", mysql_get_client_info(), mysql_get_client_version(), MYSQL_VERSION_ID); WPFatal(isSameClientDB, "Used MySQL library version ({} id {}) does not match the version id used to compile AzerothCore (id {}).\nSearch the wiki for ACE00046 in Common Errors (https://www.azerothcore.org/wiki/common-errors#ace00046).", mysql_get_client_info(), mysql_get_client_version(), MYSQL_VERSION_ID); @@ -378,8 +373,6 @@ void DatabaseWorkerPool::KeepAlive() * * DatabaseIncompatibleVersion("8.0.35") => false * DatabaseIncompatibleVersion("5.6.6") => true -* DatabaseIncompatibleVersion("5.5.5-10.5.5-MariaDB") => false -* DatabaseIncompatibleVersion("5.5.5-10.4.0-MariaDB") => true * * Adapted from stackoverflow response * https://stackoverflow.com/a/2941508 @@ -410,17 +403,6 @@ bool DatabaseIncompatibleVersion(std::string const mysqlVersion) uint8 offset = 0; std::string minVersion = MIN_MYSQL_SERVER_VERSION; - // If the version string contains "MariaDB", use that - if (mysqlVersion.find("MariaDB") != std::string::npos) - { - // All MariaDB 10.X versions have a prefix of 5.5.5 from the - // mysql_get_server_info() function. To make matters more - // annoying, this is removed in MariaDB 11.X - if (mysqlVersion.rfind("5.5.5-", 0) == 0) - offset = 6; - minVersion = MIN_MARIADB_SERVER_VERSION; - } - auto parsedMySQLVersion = parse(mysqlVersion.substr(offset)); auto parsedMinVersion = parse(minVersion); @@ -455,7 +437,7 @@ uint32 DatabaseWorkerPool::OpenConnections(InternalIndex type, uint8 numConne } else if (DatabaseIncompatibleVersion(connection->GetServerInfo())) { - LOG_ERROR("sql.driver", "AzerothCore does not support MySQL versions below 5.7 or MariaDB versions below 10.5.\n\nFound server version: {}. Server compiled with: {}.", + LOG_ERROR("sql.driver", "AzerothCore does not support MySQL versions below 8.0\n\nFound server version: {}. Server compiled with: {}.", connection->GetServerInfo(), MYSQL_VERSION_ID); return 1; } diff --git a/src/server/database/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h index 233fd5cf21275c..fb11b2a4ababbf 100644 --- a/src/server/database/Database/DatabaseWorkerPool.h +++ b/src/server/database/Database/DatabaseWorkerPool.h @@ -26,31 +26,17 @@ /** @file DatabaseWorkerPool.h */ -/** -* @def MIN_MYSQL_CLIENT_VERSION -* The minimum MariaDB Client Version -* MARIADB_VERSION_ID is defined if using libmariadbclient instead of libmysqlclient -*/ -#if MARIADB_VERSION_ID >= 100600 -#define MIN_MYSQL_CLIENT_VERSION 30203u -#else /** * @def MIN_MYSQL_CLIENT_VERSION * The minimum MySQL Client Version */ -#define MIN_MYSQL_CLIENT_VERSION 50700u -#endif +#define MIN_MYSQL_CLIENT_VERSION 80000u /** * @def MIN_MYSQL_SERVER_VERSION * The minimum MySQL Server Version */ -#define MIN_MYSQL_SERVER_VERSION "5.7.0" -/** -* @def MIN_MARIADB_SERVER_VERSION -* The minimum MariaDB Server Version -*/ -#define MIN_MARIADB_SERVER_VERSION "10.5.0" +#define MIN_MYSQL_SERVER_VERSION "8.0.0" template class ProducerConsumerQueue; @@ -253,4 +239,4 @@ class DatabaseWorkerPool #endif }; -#endif +#endif // _DATABASEWORKERPOOL_H diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp index 54c393c75b0901..7303ea82fa7262 100644 --- a/src/server/database/Database/MySQLConnection.cpp +++ b/src/server/database/Database/MySQLConnection.cpp @@ -130,7 +130,6 @@ uint32 MySQLConnection::Open() if (m_connectionInfo.ssl != "") { -#if !defined(MARIADB_VERSION_ID) && MYSQL_VERSION_ID >= 80000 mysql_ssl_mode opt_use_ssl = SSL_MODE_DISABLED; if (m_connectionInfo.ssl == "ssl") { @@ -138,15 +137,6 @@ uint32 MySQLConnection::Open() } mysql_options(mysqlInit, MYSQL_OPT_SSL_MODE, (char const*)&opt_use_ssl); -#else - MySQLBool opt_use_ssl = MySQLBool(0); - if (m_connectionInfo.ssl == "ssl") - { - opt_use_ssl = MySQLBool(1); - } - - mysql_options(mysqlInit, MYSQL_OPT_SSL_ENFORCE, (char const*)&opt_use_ssl); -#endif } m_Mysql = reinterpret_cast(mysql_real_connect(mysqlInit, m_connectionInfo.host.c_str(), m_connectionInfo.user.c_str(), @@ -227,7 +217,7 @@ bool MySQLConnection::Execute(PreparedStatementBase* stmt) uint32 _s = getMSTime(); -#if !defined(MARIADB_VERSION_ID) && (MYSQL_VERSION_ID >= 80300) +#if MYSQL_VERSION_ID >= 80300 if (mysql_stmt_bind_named_param(msql_STMT, msql_BIND, m_mStmt->GetParameterCount(), nullptr)) #else if (mysql_stmt_bind_param(msql_STMT, msql_BIND)) @@ -279,7 +269,7 @@ bool MySQLConnection::_Query(PreparedStatementBase* stmt, MySQLPreparedStatement uint32 _s = getMSTime(); -#if !defined(MARIADB_VERSION_ID) && (MYSQL_VERSION_ID >= 80300) +#if MYSQL_VERSION_ID >= 80300 if (mysql_stmt_bind_named_param(msql_STMT, msql_BIND, m_mStmt->GetParameterCount(), nullptr)) #else if (mysql_stmt_bind_param(msql_STMT, msql_BIND)) diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index 7b3ead0669275e..ee35fc5e6f40dd 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -493,18 +493,9 @@ void DBUpdater::ApplyFile(DatabaseWorkerPool& pool, std::string const& hos // Set max allowed packet to 1 GB args.emplace_back("--max-allowed-packet=1GB"); -#if !defined(MARIADB_VERSION_ID) && MYSQL_VERSION_ID >= 80000 - if (ssl == "ssl") args.emplace_back("--ssl-mode=REQUIRED"); -#else - - if (ssl == "ssl") - args.emplace_back("--ssl"); - -#endif - // Execute sql file args.emplace_back("-e"); args.emplace_back(Acore::StringFormat("BEGIN; SOURCE {}; COMMIT;", path.generic_string())); diff --git a/src/tools/dbimport/dbimport.conf.dist b/src/tools/dbimport/dbimport.conf.dist index 37ea25e5e704d3..c4c38e937cbd8a 100644 --- a/src/tools/dbimport/dbimport.conf.dist +++ b/src/tools/dbimport/dbimport.conf.dist @@ -54,7 +54,7 @@ SourceDirectory = "" # MySQLExecutable # Description: The path to your MySQL CLI binary. # If the path is left empty, built-in path from cmake is used. -# Example: "C:/Program Files/MariaDB 10.9/bin/mysql.exe" +# Example: "C:/Program Files/MySQL Server 8.4/bin/mysql.exe" # "mysql.exe" # "/usr/bin/mysql" # Default: "" From a0057b9e90c8e659dadb107010f224ba9c80e44a Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Thu, 19 Sep 2024 08:49:56 -0400 Subject: [PATCH 020/119] fix(Core/Spells): Resolve a case of triggered spells prolonging combat. (#19991) * Revert "fix(Core/Spells): Revert triggered spell logic change. (#19983)" This reverts commit 3bb5ec779d217e8beedf7e42f8f8146312d2c1db. * Add aura effect check. Co-Authored-By: Anton Popovichenko * Add comment, use target instead of owner. * Adjust comment terminology. --------- Co-authored-by: Anton Popovichenko --- src/server/game/Entities/Unit/Unit.cpp | 24 +++++++++++++++++++----- src/server/game/Spells/Spell.cpp | 3 ++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3e552068e41fcc..fde228d5d457f6 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -20228,13 +20228,24 @@ void Unit::OutDebugInfo() const class AuraMunchingQueue : public BasicEvent { public: - AuraMunchingQueue(Unit& owner, ObjectGuid targetGUID, int32 basePoints, uint32 spellId) : _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId) { } + AuraMunchingQueue(Unit& owner, ObjectGuid targetGUID, int32 basePoints, uint32 spellId, AuraEffect* aurEff, AuraType auraType) : _owner(owner), _targetGUID(targetGUID), _basePoints(basePoints), _spellId(spellId), _aurEff(aurEff), _auraType(auraType) { } bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override { if (_owner.IsInWorld() && _owner.FindMap()) if (Unit* target = ObjectAccessor::GetUnit(_owner, _targetGUID)) - _owner.CastCustomSpell(_spellId, SPELLVALUE_BASE_POINT0, _basePoints, target, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, nullptr, _owner.GetGUID()); + { + bool auraFound = false; // Used to ensure _aurEff exists to avoid wild pointer access/crash + Unit::AuraEffectList const& auraEffects = target->GetAuraEffectsByType(_auraType); + for (Unit::AuraEffectList::const_iterator j = auraEffects.begin(); j != auraEffects.end(); ++j) + if ((*j) == _aurEff) + auraFound = true; + + if (!auraFound) + _aurEff = nullptr; + + _owner.CastCustomSpell(_spellId, SPELLVALUE_BASE_POINT0, _basePoints, target, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, _aurEff, _owner.GetGUID()); + } return true; } @@ -20244,13 +20255,16 @@ class AuraMunchingQueue : public BasicEvent ObjectGuid _targetGUID; int32 _basePoints; uint32 _spellId; + AuraEffect* _aurEff; + AuraType _auraType; }; void Unit::CastDelayedSpellWithPeriodicAmount(Unit* caster, uint32 spellId, AuraType auraType, int32 addAmount, uint8 effectIndex) { + AuraEffect* aurEff = nullptr; for (AuraEffectList::iterator i = m_modAuras[auraType].begin(); i != m_modAuras[auraType].end(); ++i) { - AuraEffect* aurEff = *i; + aurEff = *i; if (aurEff->GetCasterGUID() != caster->GetGUID() || aurEff->GetId() != spellId || aurEff->GetEffIndex() != effectIndex || !aurEff->GetTotalTicks()) continue; @@ -20260,9 +20274,9 @@ void Unit::CastDelayedSpellWithPeriodicAmount(Unit* caster, uint32 spellId, Aura // xinef: delay only for casting on different unit if (this == caster || !sWorld->getBoolConfig(CONFIG_MUNCHING_BLIZZLIKE)) - caster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, addAmount, this, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, nullptr, caster->GetGUID()); + caster->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, addAmount, this, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_NO_PERIODIC_RESET), nullptr, aurEff, caster->GetGUID()); else - caster->m_Events.AddEvent(new AuraMunchingQueue(*caster, GetGUID(), addAmount, spellId), caster->m_Events.CalculateQueueTime(400)); + caster->m_Events.AddEvent(new AuraMunchingQueue(*caster, GetGUID(), addAmount, spellId, aurEff, auraType), caster->m_Events.CalculateQueueTime(400)); } void Unit::SendClearTarget() diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 24d07cc9452347..e26a2a087ab4e2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2931,7 +2931,8 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target) { if (missInfo != SPELL_MISS_EVADE && !m_caster->IsFriendlyTo(effectUnit) && (!m_spellInfo->IsPositive() || m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL))) { - m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS)); + if (!m_triggeredByAuraSpell.spellInfo || (!(m_triggeredByAuraSpell.spellInfo->Effects[m_triggeredByAuraSpell.effectIndex].TriggerSpell == m_spellInfo->Id) && !(m_triggeredByAuraSpell.spellInfo->IsAuraEffectEqual(m_spellInfo)))) + m_caster->CombatStart(effectUnit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_SUPRESS_TARGET_PROCS)); // Patch 3.0.8: All player spells which cause a creature to become aggressive to you will now also immediately cause the creature to be tapped. if (effectUnit->IsInCombatWith(m_caster)) From a196f7f28aa263dc7f9c532e15839f3b409fb68f Mon Sep 17 00:00:00 2001 From: skelUA Date: Thu, 19 Sep 2024 16:11:31 +0300 Subject: [PATCH 021/119] fix(Core/Loot) fix bug with loot (#19882) Try to fix bug with loot --- src/server/game/Groups/Group.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 7bd5cef5b69ad3..91191514650cb8 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -994,7 +994,7 @@ bool CanRollOnItem(LootItem const& item, Player const* player, Loot* loot) return false; uint32 itemCount = player->GetItemCount(item.itemid); - if ((proto->MaxCount > 0 && static_cast(itemCount) >= proto->MaxCount) || (player->CanEquipUniqueItem(proto) != EQUIP_ERR_OK)) + if ((proto->MaxCount > 0 && static_cast(itemCount) >= proto->MaxCount)) return false; if (!item.AllowedForPlayer(player, loot->sourceWorldObjectGUID)) From 1d899cf3c91c926ef5cc257b402a4c008a7a42ea Mon Sep 17 00:00:00 2001 From: Mattia Date: Fri, 20 Sep 2024 23:18:29 +0200 Subject: [PATCH 022/119] Fix(db/creature) black temple illidari assassin riposte ability missing (#19957) * fix(DB/Creature) Black Temple - Illidari Assassin: Riposte ability missing * fix(DB/Creature): Black Temple - Illidari Assassin: Riposte ability missing * Update 2024_09_13_00.sql * bitwise method --- data/sql/updates/pending_db_world/2024_09_13_00.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 data/sql/updates/pending_db_world/2024_09_13_00.sql diff --git a/data/sql/updates/pending_db_world/2024_09_13_00.sql b/data/sql/updates/pending_db_world/2024_09_13_00.sql new file mode 100644 index 00000000000000..ef390343830756 --- /dev/null +++ b/data/sql/updates/pending_db_world/2024_09_13_00.sql @@ -0,0 +1,5 @@ +UPDATE `creature_template` SET `flags_extra` = `flags_extra` | 134217728 WHERE `entry` = 23403; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23403) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23403, 0, 2, 0, 0, 0, 100, 0, 0, 15000, 30000, 40000, 0, 0, 11, 41392, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 'Illidari Assassin - In Combat - Cast Riposte'); From eda0df70f16317af1f5c861c81d7ab1502394d7b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 20 Sep 2024 21:19:22 +0000 Subject: [PATCH 023/119] chore(DB): import pending files Referenced commit(s): 1d899cf3c91c926ef5cc257b402a4c008a7a42ea --- .../2024_09_13_00.sql => db_world/2024_09_20_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/2024_09_13_00.sql => db_world/2024_09_20_00.sql} (95%) diff --git a/data/sql/updates/pending_db_world/2024_09_13_00.sql b/data/sql/updates/db_world/2024_09_20_00.sql similarity index 95% rename from data/sql/updates/pending_db_world/2024_09_13_00.sql rename to data/sql/updates/db_world/2024_09_20_00.sql index ef390343830756..5da54ef560ff02 100644 --- a/data/sql/updates/pending_db_world/2024_09_13_00.sql +++ b/data/sql/updates/db_world/2024_09_20_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_16_00 -> 2024_09_20_00 UPDATE `creature_template` SET `flags_extra` = `flags_extra` | 134217728 WHERE `entry` = 23403; DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23403) AND (`source_type` = 0) AND (`id` IN (2)); From 2e17b3250897ec1fdf40840865245919410d1735 Mon Sep 17 00:00:00 2001 From: sudlud Date: Fri, 20 Sep 2024 23:20:33 +0200 Subject: [PATCH 024/119] fix(apps/installer): fix Debian 12 build with mysql (#20003) --- apps/installer/includes/os_configs/debian.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/installer/includes/os_configs/debian.sh b/apps/installer/includes/os_configs/debian.sh index 76b1c946348831..da137922d4babc 100644 --- a/apps/installer/includes/os_configs/debian.sh +++ b/apps/installer/includes/os_configs/debian.sh @@ -19,11 +19,11 @@ sudo apt-get update -y sudo apt-get install -y gdbserver gdb unzip curl \ libncurses-dev libreadline-dev clang g++ \ gcc git cmake make ccache \ - default-libmysqlclient-dev libssl-dev libbz2-dev \ + libssl-dev libbz2-dev \ libboost-all-dev gnupg wget # run noninteractive install for MYSQL 8.4 LTS wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb sudo DEBIAN_FRONTEND="noninteractive" dpkg -i ./mysql-apt-config_0.8.32-1_all.deb sudo apt-get update -sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server +sudo DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server libmysqlclient-dev From 36a8653c8383288b776c59aba432e95cf8db45a5 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Sat, 21 Sep 2024 16:37:55 +0200 Subject: [PATCH 025/119] fix(CI/macOS): Fix macOS CI dependency installation by updating macOS version. (#19997) * fix(CI/MacOS): Fix MacOS CI dependency installation. * Try to use macos 14 version * Remove brew cleanup and z3 dependency * Adjust readline lib discovery * Update macos supported version in SECURITY.md --- .github/SECURITY.md | 4 ++-- .github/workflows/macos_build.yml | 2 +- apps/ci/mac/ci-compile.sh | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index fbabc2817ede80..7feca2632ae1d6 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -54,8 +54,8 @@ Versions of macOS: | macOS Version | Supported | | ------------- | ------------------ | -| 12 | :white_check_mark: | -| 11 and lower | :red_circle: | +| 14 | :white_check_mark: | +| 12 and lower | :red_circle: | **Note**: We do NOT support any repacks that may or may not have been made based on AzerothCore. This is because they are usually based on older versions and there is no way to know what is in the precompiled binaries. Instead, you should compile your binaries from the AzerothCore source. To get started, read the [Installation Guide](https://www.azerothcore.org/wiki/installation). diff --git a/.github/workflows/macos_build.yml b/.github/workflows/macos_build.yml index 2fb927004ef78d..9e0d1090a6b463 100644 --- a/.github/workflows/macos_build.yml +++ b/.github/workflows/macos_build.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: - - macos-12 + - macos-14 runs-on: ${{ matrix.os }} name: ${{ matrix.os }} if: | diff --git a/apps/ci/mac/ci-compile.sh b/apps/ci/mac/ci-compile.sh index aebca818f026b2..79507bc9f3c975 100755 --- a/apps/ci/mac/ci-compile.sh +++ b/apps/ci/mac/ci-compile.sh @@ -28,8 +28,8 @@ time cmake ../../../ \ -DCMAKE_BUILD_TYPE=Release \ -DMYSQL_ADD_INCLUDE_PATH=$mysql_include_path \ -DMYSQL_LIBRARY=$mysql_lib_path \ --DREADLINE_INCLUDE_DIR=/usr/local/opt/readline/include \ --DREADLINE_LIBRARY=/usr/local/opt/readline/lib/libreadline.dylib \ +-DREADLINE_INCLUDE_DIR=$(brew --prefix readline)/include \ +-DREADLINE_LIBRARY=$(brew --prefix readline)/lib/libreadline.dylib \ -DOPENSSL_INCLUDE_DIR="$OPENSSL_ROOT_DIR/include" \ -DOPENSSL_SSL_LIBRARIES="$OPENSSL_ROOT_DIR/lib/libssl.dylib" \ -DOPENSSL_CRYPTO_LIBRARIES="$OPENSSL_ROOT_DIR/lib/libcrypto.dylib" \ From 188b864d79b7c3f9382ad5c668ca39d67e14723d Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 21 Sep 2024 18:48:04 +0200 Subject: [PATCH 026/119] fix(DB/ArgentTournament): Stabled Campaign Warhorse missing error message (#19926) * fix lance requirement error msg * ; --- data/sql/updates/pending_db_world/rev_1725899053676428516.sql | 4 ++++ src/server/scripts/Spells/spell_generic.cpp | 1 + 2 files changed, 5 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1725899053676428516.sql diff --git a/data/sql/updates/pending_db_world/rev_1725899053676428516.sql b/data/sql/updates/pending_db_world/rev_1725899053676428516.sql new file mode 100644 index 00000000000000..082ce9d9ecc648 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1725899053676428516.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeorReferenceiD` = 18 and `SourceGroup` = 34125 AND `ConditionValue1` = 62853; +DELETE FROM `spell_script_names` WHERE `spell_id`=63215 AND `ScriptName`='spell_gen_summon_tournament_mount'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (63215, 'spell_gen_summon_tournament_mount'); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 35488441df47b7..b7b9f9cebf6d63 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3273,6 +3273,7 @@ enum TournamentMountsSpells 62785 - Summon Tournament Kodo 62786 - Summon Tournament Hawkstrider 62787 - Summon Tournament Warhorse + 63215 - Summon Campaign Charger 63663 - Summon Tournament Argent Charger 63791 - Summon Tournament Hawkstrider (Aspirant) 63792 - Summon Tournament Steed (Aspirant) */ From 0ba59c0053ce06da8d1a7d32c2d8b6b12c1461a5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 21 Sep 2024 16:48:59 +0000 Subject: [PATCH 027/119] chore(DB): import pending files Referenced commit(s): 188b864d79b7c3f9382ad5c668ca39d67e14723d --- .../rev_1725899053676428516.sql => db_world/2024_09_21_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1725899053676428516.sql => db_world/2024_09_21_00.sql} (88%) diff --git a/data/sql/updates/pending_db_world/rev_1725899053676428516.sql b/data/sql/updates/db_world/2024_09_21_00.sql similarity index 88% rename from data/sql/updates/pending_db_world/rev_1725899053676428516.sql rename to data/sql/updates/db_world/2024_09_21_00.sql index 082ce9d9ecc648..045525cca0307f 100644 --- a/data/sql/updates/pending_db_world/rev_1725899053676428516.sql +++ b/data/sql/updates/db_world/2024_09_21_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_20_00 -> 2024_09_21_00 -- DELETE FROM `conditions` WHERE `SourceTypeorReferenceiD` = 18 and `SourceGroup` = 34125 AND `ConditionValue1` = 62853; DELETE FROM `spell_script_names` WHERE `spell_id`=63215 AND `ScriptName`='spell_gen_summon_tournament_mount'; From 386aea03ee2e1421f2c6b14c694db182ff15ee0f Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sat, 21 Sep 2024 19:34:31 +0200 Subject: [PATCH 028/119] chore(Core/Misc): Some cleanup (#19970) * remove weird blanks * update if * ) ) to )) * missed some ) ) * now switch * . --- src/common/Collision/DynamicTree.cpp | 2 +- src/common/Collision/Maps/TileAssembler.cpp | 4 +- src/common/Collision/Models/ModelInstance.cpp | 1 - src/common/Dynamic/TypeContainerFunctions.h | 2 +- .../Dynamic/TypeContainerFunctionsPtr.h | 3 +- src/common/Platform/ServiceWin32.cpp | 6 +- src/common/Utilities/Util.cpp | 2 +- src/server/game/AI/CoreAI/CombatAI.cpp | 2 +- .../game/AI/SmartScripts/SmartScript.cpp | 2 +- .../game/Achievements/AchievementMgr.cpp | 4 +- .../game/AuctionHouse/AuctionHouseMgr.cpp | 3 +- .../game/Battlefield/BattlefieldMgr.cpp | 2 +- .../Battlegrounds/Zones/BattlegroundNA.cpp | 2 +- .../Battlegrounds/Zones/BattlegroundSA.cpp | 4 +- .../game/Battlegrounds/Zones/BattlegroundSA.h | 2 +- src/server/game/Calendar/CalendarMgr.h | 2 +- src/server/game/DungeonFinding/LFGQueue.cpp | 2 +- .../game/Entities/Creature/Creature.cpp | 4 +- src/server/game/Entities/Pet/Pet.cpp | 2 +- src/server/game/Entities/Player/Player.cpp | 12 +- .../game/Entities/Player/PlayerQuest.cpp | 2 +- .../game/Entities/Player/PlayerStorage.cpp | 8 +- src/server/game/Entities/Unit/StatSystem.cpp | 4 +- src/server/game/Entities/Unit/Unit.cpp | 56 +-- src/server/game/Globals/ObjectMgr.cpp | 1 - .../game/Grids/Notifiers/GridNotifiers.h | 4 +- src/server/game/Groups/Group.cpp | 2 +- src/server/game/Guilds/Guild.cpp | 2 +- src/server/game/Handlers/GroupHandler.cpp | 2 +- src/server/game/Handlers/MailHandler.cpp | 4 +- src/server/game/Handlers/MiscHandler.cpp | 2 +- src/server/game/Handlers/PetHandler.cpp | 2 +- src/server/game/Handlers/SpellHandler.cpp | 4 +- src/server/game/Handlers/TradeHandler.cpp | 4 +- src/server/game/Movement/Spline/Spline.cpp | 1 - src/server/game/Movement/Spline/Spline.h | 1 - src/server/game/Movement/Spline/SplineImpl.h | 1 - src/server/game/OutdoorPvP/OutdoorPvP.cpp | 1 - .../ScriptDefines/AllCreatureScript.cpp | 1 - src/server/game/Server/WorldSession.cpp | 2 +- .../game/Spells/Auras/SpellAuraEffects.cpp | 10 +- src/server/game/Spells/Auras/SpellAuras.cpp | 4 +- src/server/game/Spells/Spell.cpp | 22 +- src/server/game/Spells/SpellEffects.cpp | 36 +- src/server/game/Spells/SpellMgr.cpp | 4 +- .../boss_ambassador_flamelash.cpp | 2 +- .../BlackrockDepths/boss_tomb_of_seven.cpp | 2 +- .../instance_blackrock_depths.cpp | 2 +- .../instance_blackrock_spire.cpp | 2 +- .../Karazhan/boss_nightbane.cpp | 2 +- .../EasternKingdoms/Karazhan/bosses_opera.cpp | 4 +- .../EasternKingdoms/Karazhan/karazhan.cpp | 2 +- .../instance_scarlet_monastery.cpp | 6 +- .../Scholomance/instance_scholomance.cpp | 2 +- .../SunwellPlateau/boss_felmyst.cpp | 2 +- .../zone_isle_of_queldanas.cpp | 2 +- .../culling_of_stratholme.cpp | 2 +- .../OnyxiasLair/instance_onyxias_lair.cpp | 2 +- .../scripts/Kalimdor/ZulFarrak/zulfarrak.cpp | 4 +- .../AzjolNerub/AzjolNerub/boss_hadronox.cpp | 2 +- .../instance_obsidian_sanctum.cpp | 6 +- .../boss_argent_challenge.cpp | 132 +++--- .../TrialOfTheChampion/boss_black_knight.cpp | 60 +-- .../boss_grand_champions.cpp | 182 ++++----- .../instance_trial_of_the_champion.cpp | 248 ++++++------ .../trial_of_the_champion.cpp | 12 +- .../boss_anubarak_trial.cpp | 106 ++--- .../boss_faction_champions.cpp | 380 +++++++++--------- .../TrialOfTheCrusader/boss_lord_jaraxxus.cpp | 64 +-- .../boss_northrend_beasts.cpp | 184 ++++----- .../TrialOfTheCrusader/boss_twin_valkyr.cpp | 122 +++--- .../instance_trial_of_the_crusader.cpp | 362 ++++++++--------- .../trial_of_the_crusader.cpp | 12 +- .../DraktharonKeep/boss_trollgore.cpp | 2 +- .../ForgeOfSouls/boss_bronjahm.cpp | 2 +- .../ForgeOfSouls/boss_devourer_of_souls.cpp | 2 +- .../ForgeOfSouls/forge_of_souls.cpp | 4 +- .../ForgeOfSouls/instance_forge_of_souls.cpp | 10 +- .../HallsOfReflection/halls_of_reflection.cpp | 8 +- .../instance_halls_of_reflection.cpp | 12 +- .../PitOfSaron/boss_forgemaster_garfrost.cpp | 2 +- .../PitOfSaron/boss_krickandick.cpp | 6 +- .../PitOfSaron/boss_scourgelord_tyrannus.cpp | 2 +- .../PitOfSaron/instance_pit_of_saron.cpp | 6 +- .../FrozenHalls/PitOfSaron/pit_of_saron.cpp | 14 +- .../IcecrownCitadel/boss_sindragosa.cpp | 2 +- .../Naxxramas/boss_four_horsemen.cpp | 2 +- .../Northrend/Naxxramas/boss_gothik.cpp | 2 +- .../Northrend/Naxxramas/boss_kelthuzad.cpp | 2 +- .../Northrend/Naxxramas/boss_razuvious.cpp | 2 +- .../Naxxramas/instance_naxxramas.cpp | 8 +- .../Nexus/EyeOfEternity/boss_malygos.cpp | 18 +- .../instance_eye_of_eternity.cpp | 14 +- .../Northrend/Nexus/Oculus/boss_drakos.cpp | 24 +- .../Northrend/Nexus/Oculus/boss_eregos.cpp | 30 +- .../Northrend/Nexus/Oculus/boss_urom.cpp | 34 +- .../Northrend/Nexus/Oculus/boss_varos.cpp | 20 +- .../Nexus/Oculus/instance_oculus.cpp | 54 +-- .../scripts/Northrend/Nexus/Oculus/oculus.cpp | 18 +- .../Ulduar/HallsOfLightning/boss_loken.cpp | 2 +- .../instance_halls_of_lightning.cpp | 14 +- .../HallsOfStone/boss_maiden_of_grief.cpp | 6 +- .../Ulduar/HallsOfStone/brann_bronzebeard.cpp | 10 +- .../HallsOfStone/instance_halls_of_stone.cpp | 4 +- .../Ulduar/Ulduar/boss_assembly_of_iron.cpp | 4 +- .../Ulduar/Ulduar/boss_flame_leviathan.cpp | 8 +- .../Northrend/Ulduar/Ulduar/boss_freya.cpp | 2 +- .../Ulduar/Ulduar/boss_general_vezax.cpp | 48 +-- .../Northrend/Ulduar/Ulduar/boss_hodir.cpp | 98 ++--- .../Northrend/Ulduar/Ulduar/boss_ignis.cpp | 20 +- .../Northrend/Ulduar/Ulduar/boss_kologarn.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 164 ++++---- .../Ulduar/Ulduar/boss_razorscale.cpp | 96 ++--- .../Northrend/Ulduar/Ulduar/boss_thorim.cpp | 4 +- .../Northrend/Ulduar/Ulduar/boss_xt002.cpp | 4 +- .../Ulduar/Ulduar/boss_yoggsaron.cpp | 16 +- .../Ulduar/Ulduar/instance_ulduar.cpp | 20 +- .../UtgardeKeep/boss_ingvar_the_plunderer.cpp | 18 +- .../UtgardeKeep/UtgardeKeep/boss_keleseth.cpp | 36 +- .../UtgardeKeep/instance_utgarde_keep.cpp | 6 +- .../UtgardePinnacle/boss_palehoof.cpp | 6 +- .../UtgardePinnacle/boss_skadi.cpp | 4 +- .../UtgardePinnacle/boss_svala.cpp | 2 +- .../UtgardePinnacle/boss_ymiron.cpp | 10 +- .../instance_utgarde_pinnacle.cpp | 12 +- .../instance_vault_of_archavon.cpp | 2 +- .../Northrend/VioletHold/boss_cyanigosa.cpp | 4 +- .../Northrend/VioletHold/boss_erekem.cpp | 4 +- .../Northrend/VioletHold/boss_ichoron.cpp | 2 +- .../Northrend/VioletHold/boss_lavanthor.cpp | 2 +- .../Northrend/VioletHold/boss_moragg.cpp | 2 +- .../Northrend/VioletHold/boss_xevozz.cpp | 2 +- .../Northrend/VioletHold/boss_zuramat.cpp | 2 +- .../VioletHold/instance_violet_hold.cpp | 28 +- .../Northrend/VioletHold/violet_hold.cpp | 24 +- src/server/scripts/Northrend/zone_dalaran.cpp | 6 +- .../scripts/Northrend/zone_dragonblight.cpp | 6 +- .../scripts/Northrend/zone_icecrown.cpp | 2 +- .../scripts/Northrend/zone_sholazar_basin.cpp | 2 +- .../scripts/Northrend/zone_storm_peaks.cpp | 4 +- .../scripts/OutdoorPvP/OutdoorPvPEP.cpp | 16 +- .../scripts/OutdoorPvP/OutdoorPvPNA.cpp | 2 +- .../boss_fathomlord_karathress.cpp | 4 +- .../SerpentShrine/boss_lady_vashj.cpp | 4 +- .../GruulsLair/boss_high_king_maulgar.cpp | 2 +- .../boss_omor_the_unscarred.cpp | 2 +- .../MagtheridonsLair/boss_magtheridon.cpp | 2 +- .../ShatteredHalls/boss_nethekurse.cpp | 2 +- .../Outland/TempestKeep/Eye/boss_alar.cpp | 2 +- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 6 +- src/server/scripts/Spells/spell_hunter.cpp | 2 +- src/server/scripts/Spells/spell_item.cpp | 2 +- src/server/scripts/Spells/spell_quest.cpp | 8 +- .../scripts/World/areatrigger_scripts.cpp | 2 +- src/server/scripts/World/npc_professions.cpp | 4 +- src/tools/mmaps_generator/MapBuilder.cpp | 2 +- src/tools/vmap4_extractor/wmo.cpp | 1 - 157 files changed, 1606 insertions(+), 1616 deletions(-) diff --git a/src/common/Collision/DynamicTree.cpp b/src/common/Collision/DynamicTree.cpp index aef80fa914a185..4fcfc55b4967fe 100644 --- a/src/common/Collision/DynamicTree.cpp +++ b/src/common/Collision/DynamicTree.cpp @@ -279,7 +279,7 @@ bool DynamicMapTree::isInLineOfSight(float x1, float y1, float z1, float x2, flo float maxDist = (v2 - v1).magnitude(); - if (!G3D::fuzzyGt(maxDist, 0) ) + if (!G3D::fuzzyGt(maxDist, 0)) { return true; } diff --git a/src/common/Collision/Maps/TileAssembler.cpp b/src/common/Collision/Maps/TileAssembler.cpp index b86d83419bdd41..50cf2eaca0dee8 100644 --- a/src/common/Collision/Maps/TileAssembler.cpp +++ b/src/common/Collision/Maps/TileAssembler.cpp @@ -418,7 +418,7 @@ namespace VMAP std::string model_name(buff, name_length); WorldModel_Raw raw_model; - if ( !raw_model.Read((iSrcDir + "/" + model_name).c_str()) ) + if (!raw_model.Read((iSrcDir + "/" + model_name).c_str())) { continue; } @@ -527,7 +527,7 @@ namespace VMAP READ_OR_RETURN_WITH_DELETE(vectorarray, nvectors * sizeof(float) * 3); for (uint32 i = 0; i < nvectors; ++i) { - vertexArray.push_back( Vector3(vectorarray + 3 * i) ); + vertexArray.push_back( Vector3(vectorarray + 3 * i)); } delete[] vectorarray; diff --git a/src/common/Collision/Models/ModelInstance.cpp b/src/common/Collision/Models/ModelInstance.cpp index 4510461bdd70c6..4a540a7857d1a6 100644 --- a/src/common/Collision/Models/ModelInstance.cpp +++ b/src/common/Collision/Models/ModelInstance.cpp @@ -227,5 +227,4 @@ namespace VMAP if (check != nameLen) { return false; } return true; } - } diff --git a/src/common/Dynamic/TypeContainerFunctions.h b/src/common/Dynamic/TypeContainerFunctions.h index 12094a4909fe1b..b517f4529aff86 100644 --- a/src/common/Dynamic/TypeContainerFunctions.h +++ b/src/common/Dynamic/TypeContainerFunctions.h @@ -237,7 +237,7 @@ namespace Acore //{ // // The head element is bad // SPECIFIC_TYPE* t = Remove(elements._elements, obj); - // return ( t != nullptr ? t : Remove(elements._TailElements, obj) ); + // return ( t != nullptr ? t : Remove(elements._TailElements, obj)); //} } #endif diff --git a/src/common/Dynamic/TypeContainerFunctionsPtr.h b/src/common/Dynamic/TypeContainerFunctionsPtr.h index 37be105ceeee51..7b17b4c3883a33 100644 --- a/src/common/Dynamic/TypeContainerFunctionsPtr.h +++ b/src/common/Dynamic/TypeContainerFunctionsPtr.h @@ -137,7 +137,7 @@ namespace Acore template bool Remove(ContainerMapList& elements, CountedPtr& obj, OBJECT_HANDLE hdl) { typename std::map>::iterator iter = elements._element.find(hdl); - if ( iter != elements._element.end() ) + if (iter != elements._element.end()) { elements._element.erase(iter); return true; @@ -163,6 +163,5 @@ namespace Acore bool t = Remove(elements._elements, obj, hdl); return ( !t ? Remove(elements._TailElements, obj, hdl) : t ); } - } #endif diff --git a/src/common/Platform/ServiceWin32.cpp b/src/common/Platform/ServiceWin32.cpp index 7ff540ba88e7f8..b0104e43bba1f8 100644 --- a/src/common/Platform/ServiceWin32.cpp +++ b/src/common/Platform/ServiceWin32.cpp @@ -52,7 +52,7 @@ bool WinServiceInstall() if (serviceControlMgr) { char path[_MAX_PATH + 10]; - if (GetModuleFileName( 0, path, sizeof(path) / sizeof(path[0]) ) > 0) + if (GetModuleFileName( 0, path, sizeof(path) / sizeof(path[0])) > 0) { SC_HANDLE service; std::strcat(path, " --service"); @@ -170,7 +170,7 @@ void WINAPI ServiceControlHandler(DWORD controlCode) break; default: - if ( controlCode >= 128 && controlCode <= 255 ) + if (controlCode >= 128 && controlCode <= 255) // user defined control code { break; @@ -198,7 +198,7 @@ void WINAPI ServiceMain(DWORD argc, char* argv[]) serviceStatusHandle = RegisterServiceCtrlHandler(serviceName, ServiceControlHandler); - if ( serviceStatusHandle ) + if (serviceStatusHandle) { char path[_MAX_PATH + 1]; unsigned int i, last_slash = 0; diff --git a/src/common/Utilities/Util.cpp b/src/common/Utilities/Util.cpp index 0652e56673e300..56cc75e1667443 100644 --- a/src/common/Utilities/Util.cpp +++ b/src/common/Utilities/Util.cpp @@ -90,7 +90,7 @@ std::string secsToTimeString(uint64 timeInSecs, bool shortText) { ss << minutes << (shortText ? "m" : " minute(s) "); } - if (secs || (!days && !hours && !minutes) ) + if (secs || (!days && !hours && !minutes)) { ss << secs << (shortText ? "s" : " second(s) "); } diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp index 507b7c22568589..13609a9b56455a 100644 --- a/src/server/game/AI/CoreAI/CombatAI.cpp +++ b/src/server/game/AI/CoreAI/CombatAI.cpp @@ -256,7 +256,7 @@ void TurretAI::UpdateAI(uint32 /*diff*/) if (!UpdateVictim()) return; - if( me->m_spells[0] ) + if (me->m_spells[0]) DoSpellAttackIfReady(me->m_spells[0]); } diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 97e6ea16453ca2..91eda147d0f950 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1562,7 +1562,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (WorldObject* target : targets) { // xinef: allow gameobjects to summon gameobjects! - //if(!IsUnit((*itr))) + //if (!IsUnit((*itr))) // continue; target->GetPosition(x, y, z, o); diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 697dd05a3eff41..1850fb03a9d441 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -2352,7 +2352,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) LocaleConstant localeConstant = GetPlayer()->GetSession()->GetSessionDbLocaleIndex(); if (localeConstant != LOCALE_enUS) { - if(AchievementRewardLocale const* loc = sAchievementMgr->GetAchievementRewardLocale(achievement)) + if (AchievementRewardLocale const* loc = sAchievementMgr->GetAchievementRewardLocale(achievement)) { ObjectMgr::GetLocaleString(loc->Subject, localeConstant, subject); ObjectMgr::GetLocaleString(loc->Text, localeConstant, text); @@ -2539,7 +2539,7 @@ bool AchievementGlobalMgr::IsStatisticAchievement(AchievementEntry const* achiev AchievementCategoryEntry const* cat = sAchievementCategoryStore.LookupEntry(achievement->categoryId); do { - switch(cat->ID) + switch (cat->ID) { case ACHIEVEMENT_CATEGORY_STATISTICS: return true; diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index e7cf7ab95ee013..0d2c96d5dd602e 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -250,7 +250,7 @@ AuctionHouseObject* AuctionHouseMgr::GetAuctionsMapByHouseId(uint8 auctionHouseI if (sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION)) return &_neutralAuctions; - switch(auctionHouseId) + switch (auctionHouseId) { case AUCTIONHOUSE_ALLIANCE: return &_allianceAuctions; @@ -260,7 +260,6 @@ AuctionHouseObject* AuctionHouseMgr::GetAuctionsMapByHouseId(uint8 auctionHouseI } return &_neutralAuctions; - } uint32 AuctionHouseMgr::GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 time, Item* pItem, uint32 count) diff --git a/src/server/game/Battlefield/BattlefieldMgr.cpp b/src/server/game/Battlefield/BattlefieldMgr.cpp index ac87609351a6e0..57844197f7c98b 100644 --- a/src/server/game/Battlefield/BattlefieldMgr.cpp +++ b/src/server/game/Battlefield/BattlefieldMgr.cpp @@ -64,7 +64,7 @@ void BattlefieldMgr::InitBattlefield() /* For Cataclysm: Tol Barad pBf = new BattlefieldTB; // respawn, init variables - if(!pBf->SetupBattlefield()) + if (!pBf->SetupBattlefield()) { LOG_DEBUG("bg.battlefield", "Battlefield : Tol Barad init failed."); delete pBf; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp index 3b6d385e3bade4..36a55b71c86aa2 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundNA.cpp @@ -73,7 +73,7 @@ void BattlegroundNA::FillInitialWorldStates(WorldPacket& data) bool BattlegroundNA::SetupBattleground() { // gates - if ( !AddObject(BG_NA_OBJECT_DOOR_1, BG_NA_OBJECT_TYPE_DOOR_1, 4031.854f, 2966.833f, 12.0462f, -2.648788f, 0, 0, 0.9697962f, -0.2439165f, RESPAWN_IMMEDIATELY) + if (!AddObject(BG_NA_OBJECT_DOOR_1, BG_NA_OBJECT_TYPE_DOOR_1, 4031.854f, 2966.833f, 12.0462f, -2.648788f, 0, 0, 0.9697962f, -0.2439165f, RESPAWN_IMMEDIATELY) || !AddObject(BG_NA_OBJECT_DOOR_2, BG_NA_OBJECT_TYPE_DOOR_2, 4081.179f, 2874.97f, 12.00171f, 0.4928045f, 0, 0, 0.2439165f, 0.9697962f, RESPAWN_IMMEDIATELY) || !AddObject(BG_NA_OBJECT_DOOR_3, BG_NA_OBJECT_TYPE_DOOR_3, 4023.709f, 2981.777f, 10.70117f, -2.648788f, 0, 0, 0.9697962f, -0.2439165f, RESPAWN_IMMEDIATELY) || !AddObject(BG_NA_OBJECT_DOOR_4, BG_NA_OBJECT_TYPE_DOOR_4, 4090.064f, 2858.438f, 10.23631f, 0.4928045f, 0, 0, 0.2439165f, 0.9697962f, RESPAWN_IMMEDIATELY) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp index 83c320fc1f21de..9d0a325220c7ba 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp @@ -589,7 +589,7 @@ void BattlegroundSA::DefendersPortalTeleport(GameObject* portal, Player* plr) uint32 portal_num = 0; //get it via X - switch( (uint32)portal->GetPositionX() ) + switch ((uint32)portal->GetPositionX()) { case 1394: portal_num = 0; @@ -947,7 +947,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source) uint32 npc = 0; uint32 flag = 0; - switch(i) + switch (i) { case BG_SA_LEFT_CAPTURABLE_GY: flag = BG_SA_LEFT_FLAG; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h index 1126e75673ed88..4e0832a23d4601 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h @@ -536,7 +536,7 @@ class AC_GAME_API BattlegroundSA : public Battleground uint32 GetGateIDFromEntry(uint32 id) { uint32 i = 0; - switch(id) + switch (id) { case 190722: i = BG_SA_GREEN_GATE; diff --git a/src/server/game/Calendar/CalendarMgr.h b/src/server/game/Calendar/CalendarMgr.h index e633b1a310aade..c92661be37e6d5 100644 --- a/src/server/game/Calendar/CalendarMgr.h +++ b/src/server/game/Calendar/CalendarMgr.h @@ -28,7 +28,7 @@ enum CalendarMailAnswers { // else CALENDAR_EVENT_REMOVED_MAIL_SUBJECT = 0, - // if ( *(_DWORD *)(a1 + 8292) & 0x100 ) + // if (*(_DWORD *)(a1 + 8292) & 0x100 ) CALENDAR_INVITE_REMOVED_MAIL_SUBJECT = 0x100 }; diff --git a/src/server/game/DungeonFinding/LFGQueue.cpp b/src/server/game/DungeonFinding/LFGQueue.cpp index 59508328c3a862..e662419acc1428 100644 --- a/src/server/game/DungeonFinding/LFGQueue.cpp +++ b/src/server/game/DungeonFinding/LFGQueue.cpp @@ -304,7 +304,7 @@ namespace lfg //UpdateBestCompatibleInQueue(itQueue, strGuids); AddToCompatibles(strGuids); if (roleCheckResult && roleCheckResult <= 15) - foundMask |= ( (((uint64)1) << (roleCheckResult - 1)) | (((uint64)1) << (16 + roleCheckResult - 1)) | (((uint64)1) << (32 + roleCheckResult - 1)) | (((uint64)1) << (48 + roleCheckResult - 1)) ); + foundMask |= ( (((uint64)1) << (roleCheckResult - 1)) | (((uint64)1) << (16 + roleCheckResult - 1)) | (((uint64)1) << (32 + roleCheckResult - 1)) | (((uint64)1) << (48 + roleCheckResult - 1))); return LFG_COMPATIBLES_WITH_LESS_PLAYERS; } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index d52ea041178213..01fcd1f1182543 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -3609,10 +3609,10 @@ float Creature::GetAttackDistance(Unit const* player) const if (creatureLevel + 5 <= sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)) { // detect range auras - retDistance += static_cast( GetTotalAuraModifier(SPELL_AURA_MOD_DETECT_RANGE) ); + retDistance += static_cast( GetTotalAuraModifier(SPELL_AURA_MOD_DETECT_RANGE)); // detected range auras - retDistance += static_cast( player->GetTotalAuraModifier(SPELL_AURA_MOD_DETECTED_RANGE) ); + retDistance += static_cast( player->GetTotalAuraModifier(SPELL_AURA_MOD_DETECTED_RANGE)); } // "Minimum Aggro Radius for a mob seems to be combat range (5 yards)" diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index c3fa426a5c04e0..141eab8813a1e3 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -1175,7 +1175,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(petlevel + (petlevel / 4))); } - switch(GetEntry()) + switch (GetEntry()) { case NPC_FELGUARD: { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b53ef50cb56eca..707ac73ee3d42b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4684,7 +4684,7 @@ void Player::DurabilityLossAll(double percent, bool inventory) void Player::DurabilityLoss(Item* item, double percent) { - if(!item || percent == 0.0) + if (!item || percent == 0.0) return; uint32 pMaxDurability = item ->GetUInt32Value(ITEM_FIELD_MAXDURABILITY); @@ -10001,13 +10001,13 @@ void Player::RemoveSpellMods(Spell* spell) spell->m_appliedMods.erase(iterMod); // MAGE T8P4 BONUS - if( spellInfo->SpellFamilyName == SPELLFAMILY_MAGE ) + if (spellInfo->SpellFamilyName == SPELLFAMILY_MAGE) { SpellInfo const* sp = mod->ownerAura->GetSpellInfo(); // Missile Barrage, Hot Streak, Brain Freeze (trigger spell - Fireball!) - if( sp->SpellIconID == 3261 || sp->SpellIconID == 2999 || sp->SpellIconID == 2938 ) - if( AuraEffect* aurEff = GetAuraEffectDummy(64869) ) - if( roll_chance_i(aurEff->GetAmount()) ) + if (sp->SpellIconID == 3261 || sp->SpellIconID == 2999 || sp->SpellIconID == 2938) + if (AuraEffect* aurEff = GetAuraEffectDummy(64869)) + if (roll_chance_i(aurEff->GetAmount())) { mod->charges = 1; continue; @@ -15443,7 +15443,7 @@ void Player::PrepareCharmAISpells() } else if (spellInfo->Effects[i].ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE) { - if( (int32)periodic_damage < CalculateSpellDamage(this, spellInfo, i) ) + if ((int32)periodic_damage < CalculateSpellDamage(this, spellInfo, i)) { m_charmAISpells[SPELL_DOT_DAMAGE] = spellInfo->Id; break; diff --git a/src/server/game/Entities/Player/PlayerQuest.cpp b/src/server/game/Entities/Player/PlayerQuest.cpp index 2a95b3e2777ec9..b566d2d7630e39 100644 --- a/src/server/game/Entities/Player/PlayerQuest.cpp +++ b/src/server/game/Entities/Player/PlayerQuest.cpp @@ -294,7 +294,7 @@ bool Player::CanCompleteQuest(uint32 quest_id, const QuestStatusData* q_savedSta return false; // Xinef: take seasonals into account - if(!qInfo->IsRepeatable() && !qInfo->IsSeasonal() && IsQuestRewarded(quest_id)) + if (!qInfo->IsRepeatable() && !qInfo->IsSeasonal() && IsQuestRewarded(quest_id)) return false; // not allow re-complete quest // auto complete quest diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index 2716faaa98c57a..fc41fafaa5ffa6 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -991,7 +991,7 @@ InventoryResult Player::CanStoreItem_InBag(uint8 bag, ItemPosCountVec& dest, Ite // skip not existed bag or self targeted bag Bag* pBag = GetBagByPos(bag); - if (!pBag || pBag == pSrcItem || (pSrcItem && (pSrcItem->GetGUID() == pBag->GetGUID())) ) + if (!pBag || pBag == pSrcItem || (pSrcItem && (pSrcItem->GetGUID() == pBag->GetGUID()))) return EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG; if (pSrcItem && pSrcItem->IsNotEmptyBag()) @@ -1119,8 +1119,8 @@ InventoryResult Player::CanStoreItem(uint8 bag, uint8 slot, ItemPosCountVec& des if (pItem) { // you bad chet0rz, wpe pro - if( bag == NULL_BAG && slot == NULL_SLOT ) - if( pItem->IsBag() && pItem->IsNotEmptyBag() ) + if (bag == NULL_BAG && slot == NULL_SLOT) + if (pItem->IsBag() && pItem->IsNotEmptyBag()) return EQUIP_ERR_CAN_ONLY_DO_WITH_EMPTY_BAGS; // Xinef: Removed next loot generated check @@ -7197,7 +7197,7 @@ void Player::_SaveAuras(CharacterDatabaseTransaction trans, bool logout) continue; Aura* aura = itr->second; - if( !logout && aura->GetDuration() < 60 * IN_MILLISECONDS ) + if (!logout && aura->GetDuration() < 60 * IN_MILLISECONDS ) continue; int32 damage[MAX_SPELL_EFFECTS]; diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index f2191b39efe068..aee22dcd2361f9 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -237,7 +237,7 @@ void Player::UpdateResistances(uint32 school) AuraEffectList const& mResbyIntellect = GetAuraEffectsByType(SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT); for(AuraEffectList::const_iterator i = mResbyIntellect.begin(); i != mResbyIntellect.end(); ++i) { - if((*i)->GetMiscValue() & (1 << (school - 1)) ) + if ((*i)->GetMiscValue() & (1 << (school - 1))) value += int32(GetStat(Stats((*i)->GetMiscValueB())) * (*i)->GetAmount() / 100.0f); } @@ -923,7 +923,7 @@ void Player::ApplyHealthRegenBonus(int32 amount, bool apply) void Player::UpdateManaRegen() { - if( HasAuraTypeWithMiscvalue(SPELL_AURA_PREVENT_REGENERATE_POWER, POWER_MANA + 1) ) + if (HasAuraTypeWithMiscvalue(SPELL_AURA_PREVENT_REGENERATE_POWER, POWER_MANA + 1)) { SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER, 0); SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER, 0); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index fde228d5d457f6..19c2be2f9d2420 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2772,7 +2772,7 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst(Unit const* victim, WeaponAttackTy // Critical hit chance float crit_chance = GetUnitCriticalChance(attType, victim); - if( crit_chance < 0 ) + if (crit_chance < 0) crit_chance = 0; float dodge_chance = victim->GetUnitDodgeChance(); @@ -4956,7 +4956,7 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint32 dispellerSpellId if (Aura* noxious = Aura::TryCreate(aura->GetSpellInfo(), aura->GetEffectMask(), dispeller, caster)) { noxious->SetDuration(aura->GetDuration() * aureff->GetAmount() / 100); - if (aura->GetUnitOwner() ) + if (aura->GetUnitOwner()) if (const std::vector* spell_triggered = sSpellMgr->GetSpellLinked(-int32(aura->GetId()))) for (std::vector::const_iterator itr = spell_triggered->begin(); itr != spell_triggered->end(); ++itr) aura->GetUnitOwner()->RemoveAurasDueToSpell(*itr); @@ -5691,7 +5691,7 @@ bool Unit::HasVisibleAuraType(AuraType auraType) const { AuraEffectList const& mAuraList = GetAuraEffectsByType(auraType); for (AuraEffectList::const_iterator i = mAuraList.begin(); i != mAuraList.end(); ++i) - if( (*i)->GetBase()->CanBeSentToClient() ) + if ((*i)->GetBase()->CanBeSentToClient()) return true; return false; @@ -6221,7 +6221,7 @@ void Unit::RemoveGameObject(uint32 spellid, bool del) } go->SetOwnerGUID(ObjectGuid::Empty); - if(del) + if (del) { go->SetRespawnTime(0); go->Delete(); @@ -6236,7 +6236,7 @@ void Unit::RemoveAllGameObjects() while(!m_gameObj.empty()) { GameObject* go = ObjectAccessor::GetGameObject(*this, *m_gameObj.begin()); - if(go) + if (go) { go->SetOwnerGUID(ObjectGuid::Empty); go->SetRespawnTime(0); @@ -7537,7 +7537,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere } case SPELLFAMILY_ROGUE: { - switch(dummySpell->Id) + switch (dummySpell->Id) { // Glyph of Backstab case 56800: @@ -7546,7 +7546,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere if (AuraEffect* aurEff = victim->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_ROGUE, 0x100000, 0, 0, GetGUID())) if (Aura* aur = aurEff->GetBase()) if (!aur->IsRemoved() && aur->GetDuration() > 0) - if ((aur->GetApplyTime() + aur->GetMaxDuration() / 1000 + 5) > (GameTime::GetGameTime().count() + aur->GetDuration() / 1000) ) + if ((aur->GetApplyTime() + aur->GetMaxDuration() / 1000 + 5) > (GameTime::GetGameTime().count() + aur->GetDuration() / 1000)) { aur->SetDuration(aur->GetDuration() + 2000); return true; @@ -7565,7 +7565,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere } } // Master of subtlety - if( dummySpell->SpellIconID == 2114 ) + if (dummySpell->SpellIconID == 2114) { triggered_spell_id = 31665; basepoints0 = triggerAmount; @@ -8317,7 +8317,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere // Lightning Overload if (dummySpell->SpellIconID == 2018) // only this spell have SpellFamily Shaman SpellIconID == 2018 and dummy aura { - if(!procSpell || !IsPlayer() || !victim) + if (!procSpell || !IsPlayer() || !victim) return false; if (procEx & PROC_EX_CRITICAL_HIT) @@ -8548,7 +8548,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere basepoints0 = triggerEntry->Effects[EFFECT_0].BasePoints * 2; SetCantProc(true); - if(basepoints0) + if (basepoints0) CastCustomSpell(target, triggered_spell_id, &basepoints0, nullptr, nullptr, true, castItem, triggeredByAura, originalCaster); else CastSpell(target, triggered_spell_id, true, castItem, triggeredByAura, originalCaster); @@ -8688,7 +8688,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere AddSpellCooldown(cooldown_spell_id, 0, cooldown); } - if(basepoints0) + if (basepoints0) CastCustomSpell(target, triggered_spell_id, &basepoints0, nullptr, nullptr, true, castItem, triggeredByAura, originalCaster); else CastSpell(target, triggered_spell_id, true, castItem, triggeredByAura, originalCaster); @@ -9586,7 +9586,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg { if (cooldown) { - if (pTarget->HasSpellCooldown(trigger_spell_id) ) + if (pTarget->HasSpellCooldown(trigger_spell_id)) return false; pTarget->AddSpellCooldown(trigger_spell_id, 0, cooldown); } @@ -9622,7 +9622,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg // Ruby Drake, Evasive Aura case 50241: { - if( GetAura(50240) ) + if (GetAura(50240)) return false; break; @@ -9812,7 +9812,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg AddSpellCooldown(triggerEntry->Id, 0, cooldown); } - if(basepoints0) + if (basepoints0) CastCustomSpell(target, triggerEntry->Id, &basepoints0, nullptr, nullptr, true, castItem, triggeredByAura); else CastSpell(target, triggerEntry->Id, true, castItem, triggeredByAura); @@ -10466,11 +10466,11 @@ void Unit::ModifyAuraState(AuraStateType flag, bool apply) Unit::AuraMap& tAuras = GetOwnedAuras(); for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end(); ++itr) { - if( (*itr).second->IsRemoved() ) + if ((*itr).second->IsRemoved()) continue; - if( (*itr).second->GetSpellInfo()->CasterAuraState == flag ) - if( AuraApplication* aurApp = (*itr).second->GetApplicationOfTarget(GetGUID()) ) + if ((*itr).second->GetSpellInfo()->CasterAuraState == flag ) + if (AuraApplication* aurApp = (*itr).second->GetApplicationOfTarget(GetGUID())) (*itr).second->HandleAllEffects(aurApp, AURA_EFFECT_HANDLE_REAL, true); } } @@ -10486,8 +10486,8 @@ void Unit::ModifyAuraState(AuraStateType flag, bool apply) Unit::AuraMap& tAuras = GetOwnedAuras(); for (Unit::AuraMap::iterator itr = tAuras.begin(); itr != tAuras.end(); ++itr) { - if( (*itr).second->GetSpellInfo()->CasterAuraState == flag ) - if( AuraApplication* aurApp = (*itr).second->GetApplicationOfTarget(GetGUID()) ) + if ((*itr).second->GetSpellInfo()->CasterAuraState == flag ) + if (AuraApplication* aurApp = (*itr).second->GetApplicationOfTarget(GetGUID())) (*itr).second->HandleAllEffects(aurApp, AURA_EFFECT_HANDLE_REAL, false); } } @@ -11383,7 +11383,7 @@ float Unit::SpellPctDamageModsDone(Unit* victim, SpellInfo const* spellProto, Da // Merciless Combat if ((*i)->GetSpellInfo()->SpellIconID == 2656) { - if( (spellProto && spellProto->SpellFamilyFlags[0] & 0x2) || spellProto->SpellFamilyFlags[1] & 0x2 ) + if ((spellProto && spellProto->SpellFamilyFlags[0] & 0x2) || spellProto->SpellFamilyFlags[1] & 0x2 ) if (!victim->HealthAbovePct(35)) AddPct(DoneTotalMod, (*i)->GetAmount()); } @@ -12463,7 +12463,7 @@ uint32 Unit::SpellHealingBonusDone(Unit* victim, SpellInfo const* spellProto, ui // Check for table values SpellBonusEntry const* bonus = sSpellMgr->GetSpellBonusData(spellProto->Id); - if(bonus) + if (bonus) { if (damagetype == DOT) { @@ -12711,7 +12711,7 @@ bool Unit::IsImmunedToDamage(SpellSchoolMask meleeSchoolMask) const // If m_immuneToDamage type contain magic, IMMUNE damage. SpellImmuneList const& damageList = m_spellImmune[IMMUNITY_DAMAGE]; for (SpellImmuneList::const_iterator itr = damageList.begin(); itr != damageList.end(); ++itr) - if((itr->type & meleeSchoolMask) == meleeSchoolMask) + if ((itr->type & meleeSchoolMask) == meleeSchoolMask) return true; return false; @@ -12743,7 +12743,7 @@ bool Unit::IsImmunedToDamage(SpellInfo const* spellInfo) const // If m_immuneToDamage type contain magic, IMMUNE damage. SpellImmuneList const& damageList = m_spellImmune[IMMUNITY_DAMAGE]; for (SpellImmuneList::const_iterator itr = damageList.begin(); itr != damageList.end(); ++itr) - if((itr->type & schoolMask) == schoolMask) + if ((itr->type & schoolMask) == schoolMask) return true; return false; @@ -12796,7 +12796,7 @@ bool Unit::IsImmunedToSchool(SpellSchoolMask meleeSchoolMask) const // If m_immuneToSchool type contain this school type, IMMUNE damage. SpellImmuneList const& schoolList = m_spellImmune[IMMUNITY_SCHOOL]; for (SpellImmuneList::const_iterator itr = schoolList.begin(); itr != schoolList.end(); ++itr) - if((itr->type & meleeSchoolMask) == meleeSchoolMask) + if ((itr->type & meleeSchoolMask) == meleeSchoolMask) return true; return false; @@ -12818,7 +12818,7 @@ bool Unit::IsImmunedToSchool(SpellInfo const* spellInfo) const // If m_immuneToSchool type contain this school type, IMMUNE damage. SpellImmuneList const& schoolList = m_spellImmune[IMMUNITY_SCHOOL]; for (SpellImmuneList::const_iterator itr = schoolList.begin(); itr != schoolList.end(); ++itr) - if((itr->type & schoolMask) == schoolMask && !spellInfo->CanPierceImmuneAura(sSpellMgr->GetSpellInfo(itr->spellId))) + if ((itr->type & schoolMask) == schoolMask && !spellInfo->CanPierceImmuneAura(sSpellMgr->GetSpellInfo(itr->spellId))) return true; } @@ -13897,7 +13897,7 @@ bool Unit::_IsValidAttackTarget(Unit const* target, SpellInfo const* bySpell, Wo { Player* owner = GetAffectingPlayer(); Unit const* const thisUnit = owner ? owner : this; - if (!(target->IsPlayer() && thisUnit->IsPlayer()) && + if (!(target->IsPlayer() && thisUnit->IsPlayer()) && !(target->IsCreature() && thisUnit->IsCreature())) { Player const* player = target->IsPlayer() ? target->ToPlayer() : thisUnit->ToPlayer(); @@ -15385,7 +15385,7 @@ float Unit::GetTotalAttackPowerValue(WeaponAttackType attType, Unit* victim) con if (attType == RANGED_ATTACK) { int32 ap = GetInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER) + GetInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER_MODS); - if( victim ) + if (victim) ap += victim->GetTotalAuraModifier(SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS); if (ap < 0) @@ -15395,7 +15395,7 @@ float Unit::GetTotalAttackPowerValue(WeaponAttackType attType, Unit* victim) con else { int32 ap = GetInt32Value(UNIT_FIELD_ATTACK_POWER) + GetInt32Value(UNIT_FIELD_ATTACK_POWER_MODS); - if( victim ) + if (victim) ap += victim->GetTotalAuraModifier(SPELL_AURA_MELEE_ATTACK_POWER_ATTACKER_BONUS); if (ap < 0) diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index f2fca152a421ec..e19e6098d8cd59 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -702,7 +702,6 @@ void ObjectMgr::LoadCreatureTemplate(Field* fields, bool triggerHook) { sScriptMgr->OnAfterDatabaseLoadCreatureTemplates(_creatureTemplateStoreFast); } - } void ObjectMgr::LoadCreatureTemplateModels() diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index e238a306195bcb..58a1069a4534e7 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -838,8 +838,8 @@ namespace Acore FriendlyMissingBuffInRange(Unit const* obj, float range, uint32 spellid) : i_obj(obj), i_range(range) { i_spell = spellid; - if( SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellid) ) - if( SpellInfo const* newSpell = sSpellMgr->GetSpellForDifficultyFromSpell(spell, const_cast(obj)) ) + if (SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellid)) + if (SpellInfo const* newSpell = sSpellMgr->GetSpellForDifficultyFromSpell(spell, const_cast(obj))) i_spell = newSpell->Id; } bool operator()(Unit* u) diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 91191514650cb8..3ecdf17c69b62b 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1573,7 +1573,7 @@ void Group::CountTheRoll(Rolls::iterator rollI, Map* allowedMap) ItemPosCountVec dest; InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, roll->itemid, item->count); - if(msg == EQUIP_ERR_OK) + if (msg == EQUIP_ERR_OK) { player->AutoStoreLoot(pProto->DisenchantID, LootTemplates_Disenchant, true); } diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 648131080b3d06..16473a2ac81f9e 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -241,7 +241,7 @@ void Guild::BankEventLogEntry::WritePacket(WorldPackets::Guild::GuildBankLogQuer bankLogEntry.TimeOffset = int32(GameTime::GetGameTime().count() - m_timestamp); bankLogEntry.EntryType = int8(m_eventType); - switch(m_eventType) + switch (m_eventType) { case GUILD_BANK_LOG_DEPOSIT_ITEM: case GUILD_BANK_LOG_WITHDRAW_ITEM: diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index 7f22c320cde93a..aac4ade3cc3fd0 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -1160,7 +1160,7 @@ void WorldSession::HandleGroupSwapSubGroupOpcode(WorldPacket& recv_data) ObjectGuid guid1 = getGuid(playerName1); ObjectGuid guid2 = getGuid(playerName2); - if(!guid1 || !guid2) + if (!guid1 || !guid2) { SendPartyResult(PARTY_OP_SWAP, playerName1, ERR_GROUP_SWAP_FAILED); return; diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 71cd2dfb0bb6d9..387c80298b67f4 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -319,7 +319,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData) needItemDelay = GetAccountId() != rc_account; } - if( money >= 10 * GOLD ) + if (money >= 10 * GOLD) { CleanStringForMysqlQuery(subject); CharacterDatabase.Execute("INSERT INTO log_money VALUES({}, {}, \"{}\", \"{}\", {}, \"{}\", {}, \"{}\", NOW(), {})", @@ -551,7 +551,7 @@ void WorldSession::HandleMailTakeItem(WorldPacket& recvData) .AddMoney(m->COD) .SendMailTo(trans, MailReceiver(sender, m->sender), MailSender(MAIL_NORMAL, m->receiver), MAIL_CHECK_MASK_COD_PAYMENT); - if( m->COD >= 10 * GOLD ) + if (m->COD >= 10 * GOLD) { std::string senderName; if (!sCharacterCache->GetCharacterNameByGuid(ObjectGuid(HighGuid::Player, m->sender), senderName)) diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 0f5debee7354e2..1f54dfdf37861d 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1707,7 +1707,7 @@ void WorldSession::HandleHearthAndResurrect(WorldPacket& /*recv_data*/) if (_player->IsInFlight()) return; - if(Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId())) + if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId())) { bf->PlayerAskToLeave(_player); return; diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index af53948caa167d..328c5a3fb74623 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -462,7 +462,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe spell->SendPetCastResult(SPELL_FAILED_DONT_REPORT); if (!pet->HasSpellCooldown(spellId)) - if(pet->ToPet()) + if (pet->ToPet()) pet->ToPet()->RemoveSpellCooldown(spellId, true); spell->finish(false); diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index e932155873ffb9..079ebf7b5be3ae 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -375,7 +375,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket) if (mover->IsPlayer()) { // not have spell in spellbook or spell passive and not casted by client - if( !(spellInfo->Targets & TARGET_FLAG_GAMEOBJECT_ITEM) && (!mover->ToPlayer()->HasActiveSpell(spellId) || spellInfo->IsPassive()) ) + if (!(spellInfo->Targets & TARGET_FLAG_GAMEOBJECT_ITEM) && (!mover->ToPlayer()->HasActiveSpell(spellId) || spellInfo->IsPassive())) { bool allow = false; @@ -411,7 +411,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket) if (seat->m_flags & VEHICLE_SEAT_FLAG_CAN_ATTACK || spellInfo->Effects[EFFECT_0].Effect == SPELL_EFFECT_OPEN_LOCK /*allow looting from vehicle, but only if player has required spell (all necessary opening spells are in playercreateinfo_spell)*/) if ((mover->IsCreature() && !mover->ToCreature()->HasSpell(spellId)) || spellInfo->IsPassive()) // the creature can't cast that spell, check player instead { - if( !(spellInfo->Targets & TARGET_FLAG_GAMEOBJECT_ITEM) && (!_player->HasActiveSpell (spellId) || spellInfo->IsPassive()) ) + if (!(spellInfo->Targets & TARGET_FLAG_GAMEOBJECT_ITEM) && (!_player->HasActiveSpell (spellId) || spellInfo->IsPassive())) { //cheater? kick? ban? recvPacket.rfinish(); // prevent spam at ignore packet diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index 77cba1d8e59607..1de3e182eac1fb 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -462,12 +462,12 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/) // execute trade: 2. store moveItems(myItems, hisItems); - if( my_trade->GetMoney() >= 10 * GOLD ) + if (my_trade->GetMoney() >= 10 * GOLD ) { CharacterDatabase.Execute("INSERT INTO log_money VALUES({}, {}, \"{}\", \"{}\", {}, \"{}\", {}, \"goods\", NOW(), {})", GetAccountId(), _player->GetGUID().GetCounter(), _player->GetName(), GetRemoteAddress(), trader->GetSession()->GetAccountId(), trader->GetName(), my_trade->GetMoney(), 6); } - if( his_trade->GetMoney() >= 10 * GOLD ) + if (his_trade->GetMoney() >= 10 * GOLD ) { CharacterDatabase.Execute("INSERT INTO log_money VALUES({}, {}, \"{}\", \"{}\", {}, \"{}\", {}, \"goods\", NOW(), {})", trader->GetSession()->GetAccountId(), trader->GetGUID().GetCounter(), trader->GetName(), trader->GetSession()->GetRemoteAddress(), GetAccountId(), _player->GetName(), his_trade->GetMoney(), 6); diff --git a/src/server/game/Movement/Spline/Spline.cpp b/src/server/game/Movement/Spline/Spline.cpp index 59086cc1ad1b9a..a4f191679234e9 100644 --- a/src/server/game/Movement/Spline/Spline.cpp +++ b/src/server/game/Movement/Spline/Spline.cpp @@ -301,5 +301,4 @@ namespace Movement return str.str(); } - } diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h index d9d255f0a2dc4a..b8800eb2c0ffca 100644 --- a/src/server/game/Movement/Spline/Spline.h +++ b/src/server/game/Movement/Spline/Spline.h @@ -205,7 +205,6 @@ namespace Movement void set_length(index_type i, length_type length) { lengths[i] = length;} void clear(); }; - } #include "SplineImpl.h" diff --git a/src/server/game/Movement/Spline/SplineImpl.h b/src/server/game/Movement/Spline/SplineImpl.h index 96ce4fac8bb508..48b9b2ac05d633 100644 --- a/src/server/game/Movement/Spline/SplineImpl.h +++ b/src/server/game/Movement/Spline/SplineImpl.h @@ -92,5 +92,4 @@ namespace Movement SplineBase::clear(); lengths.clear(); } - } diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp index 2fc354e01b7a52..bc55486c041463 100644 --- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp +++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp @@ -299,7 +299,6 @@ void OutdoorPvP::HandlePlayerLeaveZone(Player* player, uint32 /*zone*/) void OutdoorPvP::HandlePlayerResurrects(Player* /*player*/, uint32 /*zone*/) { - } bool OutdoorPvP::Update(uint32 diff) diff --git a/src/server/game/Scripting/ScriptDefines/AllCreatureScript.cpp b/src/server/game/Scripting/ScriptDefines/AllCreatureScript.cpp index 7d4e286e375394..45d90cf10837af 100644 --- a/src/server/game/Scripting/ScriptDefines/AllCreatureScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/AllCreatureScript.cpp @@ -55,7 +55,6 @@ void ScriptMgr::OnBeforeCreatureSelectLevel(const CreatureTemplate* cinfo, Creat { script->OnBeforeCreatureSelectLevel(cinfo, creature, level); }); - } void ScriptMgr::Creature_SelectLevel(const CreatureTemplate* cinfo, Creature* creature) diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 55ab51c007a66b..957ae12817d60c 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -988,7 +988,7 @@ void WorldSession::ReadMovementInfo(WorldPacket& data, MovementInfo* mi) if (mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION)) data >> mi->splineElevation; - //! Anti-cheat checks. Please keep them in seperate if() blocks to maintain a clear overview. + //! Anti-cheat checks. Please keep them in seperate if () blocks to maintain a clear overview. //! Might be subject to latency, so just remove improper flags. #ifdef ACORE_DEBUG #define REMOVE_VIOLATING_FLAGS(check, maskToRemove) \ diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index acb1089525c91a..fcb9a7d3558482 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1058,7 +1058,7 @@ float AuraEffect::CalcPeriodicCritChance(Unit const* caster, Unit const* target) } } - switch(GetSpellInfo()->SpellFamilyName) + switch (GetSpellInfo()->SpellFamilyName) { // Rupture - since 3.3.3 can crit case SPELLFAMILY_ROGUE: @@ -5603,7 +5603,7 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool { if (Battleground* bg = target->ToPlayer()->GetBattleground()) bg->RemovePlayerFromResurrectQueue(target->ToPlayer()); - if(Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(target->GetZoneId())) + if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(target->GetZoneId())) bf->RemovePlayerFromResurrectQueue(target->GetGUID()); } break; @@ -5623,7 +5623,7 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool // Halls of Lightning, Arc Lightning case 52921: { - if( aurApp->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE ) + if (aurApp->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE ) return; Player* player = nullptr; @@ -5631,7 +5631,7 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool Acore::PlayerSearcher searcher(target, player, checker); Cell::VisitWorldObjects(target, searcher, 10.0f); - if( player && player->GetGUID() != target->GetGUID() ) + if (player && player->GetGUID() != target->GetGUID()) target->CastSpell(player, 52921, true); return; @@ -6488,7 +6488,7 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster) { if (caster) if (Unit* victim = caster->GetVictim()) - if(victim->GetDistance(caster) < 45.0f) + if (victim->GetDistance(caster) < 45.0f) { target = victim; break; diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 0a4e6e7c41e71e..04ee6b7234219e 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1613,7 +1613,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b case SPELLFAMILY_GENERIC: if (!caster) break; - switch(GetId()) + switch (GetId()) { case 61987: // Avenging Wrath // Remove the immunity shield marker on Avenging Wrath removal if Forbearance is not present @@ -2010,7 +2010,7 @@ bool Aura::IsAuraStronger(Aura const* newAura) const return true; if (curValue == std::abs(newEffect->GetAmount())) - if(!IsPassive() && !IsPermanent() && GetDuration() < newAura->GetDuration()) + if (!IsPassive() && !IsPermanent() && GetDuration() < newAura->GetDuration()) return true; } } diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e26a2a087ab4e2..e3ae154234d657 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3069,7 +3069,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA { // for delayed spells ignore negative spells (after duel end) for friendly targets /// @todo: this cause soul transfer bugged - if(!IsTriggered() && m_spellInfo->Speed > 0.0f && unit->IsPlayer() && !m_spellInfo->IsPositive()) + if (!IsTriggered() && m_spellInfo->Speed > 0.0f && unit->IsPlayer() && !m_spellInfo->IsPositive()) return SPELL_MISS_EVADE; // assisting case, healing and resurrection @@ -3248,7 +3248,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA HandleEffects(unit, nullptr, nullptr, effectNumber, SPELL_EFFECT_HANDLE_HIT_TARGET); } - if( sanct_effect >= 0 && (effectMask & (1 << sanct_effect)) ) + if (sanct_effect >= 0 && (effectMask & (1 << sanct_effect))) HandleEffects(unit, nullptr, nullptr, sanct_effect, SPELL_EFFECT_HANDLE_HIT_TARGET); return SPELL_MISS_NONE; @@ -3275,7 +3275,7 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask) m_caster->CastSpell(unit, 61988, true); // Fearie Fire (Feral) - damage - if( m_preCastSpell == 60089 ) + if (m_preCastSpell == 60089) m_caster->CastSpell(unit, m_preCastSpell, true); else if (sSpellMgr->GetSpellInfo(m_preCastSpell)) // Blizz seems to just apply aura without bothering to cast @@ -6540,24 +6540,24 @@ SpellCastResult Spell::CheckCast(bool strict) } case SPELL_EFFECT_STEAL_BENEFICIAL_BUFF: { - if( !m_targets.GetUnitTarget() || m_targets.GetUnitTarget() == m_caster) + if (!m_targets.GetUnitTarget() || m_targets.GetUnitTarget() == m_caster) return SPELL_FAILED_BAD_TARGETS; bool found = false; Unit::VisibleAuraMap const* visibleAuras = m_targets.GetUnitTarget()->GetVisibleAuras(); for(Unit::VisibleAuraMap::const_iterator itr = visibleAuras->begin(); itr != visibleAuras->end(); ++itr) { - if( itr->second->GetBase()->IsPassive() ) + if (itr->second->GetBase()->IsPassive()) continue; - if( !itr->second->IsPositive() ) + if (!itr->second->IsPositive()) continue; found = true; break; } - if( !found ) + if (!found) return SPELL_FAILED_NOTHING_TO_STEAL; break; @@ -8757,17 +8757,17 @@ void Spell::PrepareTriggersExecutedOnHit() { case SPELLFAMILY_PALADIN: { - if( m_spellInfo->SpellFamilyFlags[1] & 0x40000000 ) + if (m_spellInfo->SpellFamilyFlags[1] & 0x40000000) { Unit::AuraEffectList const& mVindication = m_caster->GetAuraEffectsByType(SPELL_AURA_PROC_TRIGGER_SPELL); for(Unit::AuraEffectList::const_iterator itr = mVindication.begin(); itr != mVindication.end(); ++itr) { - if( (*itr)->GetSpellInfo()->Effects[EFFECT_0].TriggerSpell == 26017 ) + if ((*itr)->GetSpellInfo()->Effects[EFFECT_0].TriggerSpell == 26017 ) { m_preCastSpell = 26017; break; } - else if( (*itr)->GetSpellInfo()->Effects[EFFECT_0].TriggerSpell == 67 ) + else if ((*itr)->GetSpellInfo()->Effects[EFFECT_0].TriggerSpell == 67 ) m_preCastSpell = 67; } } @@ -8776,7 +8776,7 @@ void Spell::PrepareTriggersExecutedOnHit() case SPELLFAMILY_DRUID: { // Faerie Fire (Feral) - if( m_spellInfo->Id == 16857 && (m_caster->GetShapeshiftForm() == FORM_BEAR || m_caster->GetShapeshiftForm() == FORM_DIREBEAR) ) + if (m_spellInfo->Id == 16857 && (m_caster->GetShapeshiftForm() == FORM_BEAR || m_caster->GetShapeshiftForm() == FORM_DIREBEAR)) m_preCastSpell = 60089; break; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 5c16b3090d1e3b..fe5fef96dc6354 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -681,16 +681,16 @@ void Spell::EffectDummy(SpellEffIndex effIndex) // Trial of the Champion, Trample case 67866: { - if( unitTarget && !unitTarget->IsVehicle() && !unitTarget->GetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID) ) + if (unitTarget && !unitTarget->IsVehicle() && !unitTarget->GetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID)) unitTarget->CastSpell(unitTarget, 67867, false); return; } // Trial of the Champion, Hammer of the Righteous case 66867: { - if( !unitTarget ) + if (!unitTarget) return; - if( unitTarget->HasAura(66940) ) + if (unitTarget->HasAura(66940)) m_caster->CastSpell(unitTarget, 66903, true); else m_caster->CastSpell(unitTarget, 66904, true); @@ -699,12 +699,12 @@ void Spell::EffectDummy(SpellEffIndex effIndex) case 17731: case 69294: { - if( !gameObjTarget || gameObjTarget->GetRespawnTime() > GameTime::GetGameTime().count() ) + if (!gameObjTarget || gameObjTarget->GetRespawnTime() > GameTime::GetGameTime().count()) return; gameObjTarget->SetRespawnTime(10); gameObjTarget->SendCustomAnim(gameObjTarget->GetGoAnimProgress()); - if( Creature* trigger = gameObjTarget->SummonCreature(12758, *gameObjTarget, TEMPSUMMON_TIMED_DESPAWN, 1000) ) + if (Creature* trigger = gameObjTarget->SummonCreature(12758, *gameObjTarget, TEMPSUMMON_TIMED_DESPAWN, 1000)) trigger->CastSpell(trigger, 17731, false); return; @@ -712,7 +712,7 @@ void Spell::EffectDummy(SpellEffIndex effIndex) // HoL, Arc Weld case 59086: { - if( m_caster && m_caster->IsPlayer() && m_caster->ToPlayer()->isMoving() ) + if (m_caster && m_caster->IsPlayer() && m_caster->ToPlayer()->isMoving()) m_caster->CastSpell(m_caster, 59097, true); return; @@ -753,7 +753,7 @@ void Spell::EffectDummy(SpellEffIndex effIndex) break; case SPELLFAMILY_ROGUE: // Hunger for Blood - if( m_spellInfo->Id == 51662 ) + if (m_spellInfo->Id == 51662) { m_caster->CastSpell(m_caster, 63848, true); return; @@ -3126,7 +3126,7 @@ void Spell::EffectSummonPet(SpellEffIndex effIndex) uint32 petentry = m_spellInfo->Effects[effIndex].MiscValue; int32 duration = m_spellInfo->GetDuration(); - if(Player* modOwner = m_originalCaster->GetSpellModOwner()) + if (Player* modOwner = m_originalCaster->GetSpellModOwner()) modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration); Player* owner = m_originalCaster->ToPlayer(); @@ -3448,7 +3448,7 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex) case SPELLFAMILY_HUNTER: { // Kill Shot - if( m_spellInfo->SpellFamilyFlags[1] & 0x800000 ) + if (m_spellInfo->SpellFamilyFlags[1] & 0x800000) { spell_bonus += int32(m_caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.4f); } @@ -3469,7 +3469,7 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex) { float disease_amt = m_spellInfo->Effects[EFFECT_2].CalcValue(); //Death Knight T8 Melee 4P Bonus - if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736) ) + if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736)) AddPct(disease_amt, aurEff->GetAmount()); AddPct(totalDamagePercentMod, disease_amt * unitTarget->GetDiseasesByCaster(m_caster->GetGUID()) / 2.0f); @@ -3501,7 +3501,7 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex) float disease_amt = m_spellInfo->Effects[EFFECT_2].CalcValue(); //Death Knight T8 Melee 4P Bonus - if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736) ) + if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736)) AddPct(disease_amt, aurEff->GetAmount()); AddPct(totalDamagePercentMod, disease_amt * unitTarget->GetDiseasesByCaster(m_caster->GetGUID(), consumeDiseases) / 2.0f); @@ -3520,7 +3520,7 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex) { float disease_amt = m_spellInfo->Effects[EFFECT_2].CalcValue(); //Death Knight T8 Melee 4P Bonus - if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736) ) + if (AuraEffect* aurEff = m_caster->GetAuraEffectDummy(64736)) AddPct(disease_amt, aurEff->GetAmount()); AddPct(totalDamagePercentMod, disease_amt * unitTarget->GetDiseasesByCaster(m_caster->GetGUID())); @@ -3945,7 +3945,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex) } case 61263: // for item Intravenous Healing Potion (44698) { - if( !m_caster || !unitTarget ) + if (!m_caster || !unitTarget) return; m_caster->CastSpell(m_caster, 61267, true); @@ -3957,16 +3957,16 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex) } case SPELLFAMILY_ROGUE: { - switch( m_spellInfo->Id ) + switch (m_spellInfo->Id) { // Master of Subtlety case 31666: { - if( !unitTarget ) + if (!unitTarget) return; Aura* mos = unitTarget->GetAura(31665); - if( mos ) + if (mos) { mos->SetMaxDuration(6000); mos->SetDuration(6000, true); @@ -3977,11 +3977,11 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex) // Overkill case 58428: { - if( !unitTarget ) + if (!unitTarget) return; Aura* overkill = unitTarget->GetAura(58427); - if( overkill ) + if (overkill) { overkill->SetMaxDuration(20000); overkill->SetDuration(20000, true); diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 2e3c2d2cea74c8..11e7a8d80b93af 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3038,7 +3038,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes() { if (spellInfo->Effects[j].Effect) { - switch(spellInfo->Effects[j].Effect) + switch (spellInfo->Effects[j].Effect) { case SPELL_EFFECT_SCHOOL_DAMAGE: case SPELL_EFFECT_WEAPON_DAMAGE: @@ -3503,7 +3503,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes() { if (spellInfo->Effects[j].ApplyAuraName && spellInfo->Effects[j].TriggerSpell) { - switch(spellInfo->Effects[j].ApplyAuraName) + switch (spellInfo->Effects[j].ApplyAuraName) { case SPELL_AURA_PERIODIC_TRIGGER_SPELL: case SPELL_AURA_PERIODIC_TRIGGER_SPELL_FROM_CLIENT: diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp index 63219693bf6412..71025059c6a24e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp @@ -194,7 +194,7 @@ class boss_ambassador_flamelash : public CreatureScript _events.Update(diff); - switch(_events.ExecuteEvent()) + switch (_events.ExecuteEvent()) { case EVENT_SPELL_FIREBLAST: DoCastVictim(SPELL_FIREBLAST); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index cfecdbfdcb6d55..a9432797e31096 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -218,7 +218,7 @@ class boss_doomrel : public CreatureScript _events.Update(diff); - switch(_events.ExecuteEvent()) + switch (_events.ExecuteEvent()) { case EVENT_SPELL_SHADOWBOLTVOLLEY: DoCastVictim(SPELL_SHADOWBOLTVOLLEY); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp index 1e7dde5657f634..0d44cf717ff220 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp @@ -456,7 +456,7 @@ class instance_blackrock_depths : public InstanceMapScript { case TYPE_RING_OF_LAW: encounter[0] = data; - switch(data) + switch (data) { case IN_PROGRESS: TempSummonGrimstone = instance->SummonCreature(NPC_GRIMSTONE, GrimstonePositon); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp index cff24c08141b1f..0bf6092541db9d 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -358,7 +358,7 @@ class instance_blackrock_spire : public InstanceMapScript } break; case DATA_SOLAKAR_FLAMEWREATH: - switch(data) + switch (data) { case IN_PROGRESS: if (SolakarState == NOT_STARTED) diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index d667d1ecc681fa..000d7088d721dc 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -242,7 +242,7 @@ struct boss_nightbane : public BossAI _skeletonscheduler.Schedule(50ms, [this](TaskContext context) { //spawns skeletons every 2 seconds until skeletonCount is reached - if(_skeletonSpawnCounter < _skeletonCount) + if (_skeletonSpawnCounter < _skeletonCount) { me->CastSpell(_skeletonSpawnPos.GetPositionX(), _skeletonSpawnPos.GetPositionY(), _skeletonSpawnPos.GetPositionZ(), SPELL_SUMMON_SKELETON, true); _skeletonSpawnCounter++; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 6de5d782e09857..9027d546afc462 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -941,7 +941,7 @@ struct boss_julianne : public ScriptedAI void DoAction(int32 action) override { - switch(action) + switch (action) { case ACTION_FAKING_DEATH: isFakingDeath = false; @@ -1138,7 +1138,7 @@ struct boss_romulo : public ScriptedAI void DoAction(int32 action) override { - switch(action) + switch (action) { case ACTION_FAKING_DEATH: isFakingDeath = false; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index 4e93c8c46c9594..56aefe2cd57ea0 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -456,7 +456,7 @@ class npc_image_of_medivh : public CreatureScript uint32 NextStep(uint32 nextStep) { - switch(nextStep) + switch (nextStep) { case 1: Talk(SAY_DIALOG_MEDIVH_1); diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp index 87ed304235c081..6ccc8b13a3c480 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp @@ -140,7 +140,7 @@ class instance_scarlet_monastery : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case TYPE_MOGRAINE_AND_WHITE_EVENT: if (data == IN_PROGRESS) @@ -317,7 +317,7 @@ class npc_mograine : public CreatureScript mograine->Kill(me, me, true); return 0; default: - if(mograine) + if (mograine) mograine->DespawnOrUnsummon(0); return 0; } @@ -468,7 +468,7 @@ class npc_mograine : public CreatureScript while (uint32 eventId = events.ExecuteEvent()) { - switch(eventId) + switch (eventId) { case EVENT_SPELL_CRUSADER_STRIKE: me->CastSpell(me->GetVictim(), SPELL_CRUSADER_STRIKE, true); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp index 71e3f7e3f4d76e..0937c701ab4aaa 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp @@ -417,7 +417,7 @@ class npc_scholomance_occultist : public CreatureScript return; } - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 1: me->CastSpell(me, BONE_ARMOR_SPELL, false); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp index bce86175dfe40e..0187c46b3fd508 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp @@ -281,7 +281,7 @@ class boss_felmyst : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_RESTORE_COMBAT: me->SetReactState(REACT_AGGRESSIVE); diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 6bff7a27da01b1..f301171e3d56dc 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -193,7 +193,7 @@ class npc_bh_thalorien_dawnseeker : public CreatureScript { me->RemoveAurasDueToSpell(67541); me->GetMotionMaster()->MoveCharge(11779.30f, -7065.43f, 24.92f, me->GetSpeed(MOVE_RUN), EVENT_CHARGE); - switch(summon->GetEntry()) + switch (summon->GetEntry()) { case NPC_SCOURGE_ZOMBIE: events.ScheduleEvent(EVENT_SPAWN_WAVE_2, 3000); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 4dcd08647b9c32..98b8839ed4cb70 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -517,7 +517,7 @@ class npc_arthas : public CreatureScript void WaypointReached(uint32 uiPointId) override { - switch(uiPointId) + switch (uiPointId) { // Starting waypoint, After reaching uther and jaina case 0: diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp index 7b6872bf0acdcf..bc8a7c609e3e0e 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp @@ -97,7 +97,7 @@ class instance_onyxias_lair : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case ACHIEV_CRITERIA_MANY_WHELPS_10_PLAYER: case ACHIEV_CRITERIA_MANY_WHELPS_25_PLAYER: diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp index 31e94f04f39f14..0f67f215e43d7b 100644 --- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp +++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp @@ -330,12 +330,12 @@ class go_troll_cage : public GameObjectScript instance->SetData(DATA_PYRAMID, PYRAMID_CAGES_OPEN); //setting gossip option as soon as the cages open - if(Creature* bly = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BLY))) + if (Creature* bly = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BLY))) { bly->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } - if(Creature* weegli = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_WEEGLI))) + if (Creature* weegli = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_WEEGLI))) { weegli->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp index 50ac54cb8fcdef..daa36c30660a86 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp @@ -256,7 +256,7 @@ class npc_anub_ar_crusher : public CreatureScript void JustSummoned(Creature* summon) override { - if(summon->GetEntry() != me->GetEntry()) + if (summon->GetEntry() != me->GetEntry()) { summon->GetMotionMaster()->MovePoint(0, *me, false); summon->GetMotionMaster()->MoveFollow(me, 0.1f, 0.0f + M_PI * 0.3f * summons.size()); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp index 5dd29389e34e61..b8b709239bc97a 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp @@ -48,7 +48,7 @@ class instance_obsidian_sanctum : public InstanceMapScript void OnCreatureCreate(Creature* pCreature) override { - switch(pCreature->GetEntry()) + switch (pCreature->GetEntry()) { case NPC_SARTHARION: m_uiSartharionGUID = pCreature->GetGUID(); @@ -67,7 +67,7 @@ class instance_obsidian_sanctum : public InstanceMapScript ObjectGuid GetGuidData(uint32 uiData) const override { - switch(uiData) + switch (uiData) { case DATA_SARTHARION: return m_uiSartharionGUID; @@ -84,7 +84,7 @@ class instance_obsidian_sanctum : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* source, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { // Gonna Go When the Volcano Blows (10 player) (2047) case 7326: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index 63b00243582e7a..47f6266c654331 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -104,19 +104,19 @@ class boss_eadric : public CreatureScript { events.Reset(); me->SetReactState(REACT_PASSIVE); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_ARGENT_CHALLENGE, NOT_STARTED); } void MovementInform(uint32 type, uint32 id) override { - if( type == POINT_MOTION_TYPE && id == 1 ) + if (type == POINT_MOTION_TYPE && id == 1) me->SetFacingTo(3 * M_PI / 2); } void KilledUnit(Unit* who) override { - if( who->IsPlayer() ) + if (who->IsPlayer()) { Talk(SAY_EADRIC_KILL_PLAYER); } @@ -129,7 +129,7 @@ class boss_eadric : public CreatureScript events.ScheduleEvent(EVENT_SPELL_HAMMER_RIGHTEOUS, 25000); Talk(SAY_EADRIC_AGGRO); me->CastSpell(me, SPELL_VENGEANCE, false); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_ARGENT_CHALLENGE, IN_PROGRESS); } @@ -141,7 +141,7 @@ class boss_eadric : public CreatureScript void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if( damage >= me->GetHealth() ) + if (damage >= me->GetHealth()) { damage = me->GetHealth() - 1; if (me->GetFaction() != FACTION_FRIENDLY) @@ -156,7 +156,7 @@ class boss_eadric : public CreatureScript _EnterEvadeMode(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_ARGENT_CHALLENGE, DONE); } } @@ -164,15 +164,15 @@ class boss_eadric : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -182,7 +182,7 @@ class boss_eadric : public CreatureScript events.Repeat(16s); break; case EVENT_SPELL_HAMMER_RIGHTEOUS: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 55.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 55.0f, true)) { Talk(SAY_EADRIC_EMOTE_HAMMER_RIGHTEOUS, target); Talk(SAY_EADRIC_HAMMER_RIGHTEOUS); @@ -224,26 +224,26 @@ class boss_paletress : public CreatureScript { events.Reset(); summoned = false; - if( MemoryGUID ) + if (MemoryGUID) { - if( Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID) ) + if (Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID)) memory->DespawnOrUnsummon(); MemoryGUID.Clear(); } me->SetReactState(REACT_PASSIVE); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_ARGENT_CHALLENGE, NOT_STARTED); } void MovementInform(uint32 type, uint32 id) override { - if( type == POINT_MOTION_TYPE && id == 1 ) + if (type == POINT_MOTION_TYPE && id == 1) me->SetFacingTo(3 * M_PI / 2); } void KilledUnit(Unit* who) override { - if( who->IsPlayer() ) + if (who->IsPlayer()) { Talk(SAY_PALETRESS_KILL_PLAYER); } @@ -256,22 +256,22 @@ class boss_paletress : public CreatureScript events.ScheduleEvent(EVENT_SPELL_SMITE, 2s, 3s); me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); Talk(SAY_PALETRESS_AGGRO); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_ARGENT_CHALLENGE, IN_PROGRESS); } void DoAction(int32 param) override { - if( param == 1 ) + if (param == 1) { MemoryGUID.Clear(); me->RemoveAura(SPELL_SHIELD); Talk(SAY_PALETRESS_MEMORY_DEATH); } - else if( param == (-1) ) + else if (param == (-1)) { - if( MemoryGUID ) - if( Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID) ) + if (MemoryGUID) + if (Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID)) { memory->DespawnOrUnsummon(); MemoryGUID.Clear(); @@ -281,10 +281,10 @@ class boss_paletress : public CreatureScript void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - //if( me->HasAura(SPELL_SHIELD) ) + //if (me->HasAura(SPELL_SHIELD)) // return; - if( damage >= me->GetHealth() ) + if (damage >= me->GetHealth()) { damage = me->GetHealth() - 1; @@ -299,7 +299,7 @@ class boss_paletress : public CreatureScript _EnterEvadeMode(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); - if( pInstance ) + if (pInstance) { pInstance->SetData(BOSS_ARGENT_CHALLENGE, DONE); pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 68206); @@ -310,7 +310,7 @@ class boss_paletress : public CreatureScript void JustSummoned(Creature* summon) override { - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_MEMORY_ENTRY, summon->GetEntry()); MemoryGUID = summon->GetGUID(); } @@ -324,12 +324,12 @@ class boss_paletress : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !summoned && HealthBelowPct(25) ) + if (!summoned && HealthBelowPct(25)) { me->InterruptNonMeleeSpells(true); Talk(SAY_PALETRESS_MEMORY_SUMMON); @@ -343,32 +343,32 @@ class boss_paletress : public CreatureScript return; } - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_SMITE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_SMITE, false); events.Repeat(3s, 4s); break; case EVENT_SPELL_HOLY_FIRE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_HOLY_FIRE, false); events.Repeat(9s, 12s); break; case EVENT_SPELL_RENEW: - if( !MemoryGUID ) + if (!MemoryGUID) { break; } - if( urand(0, 1) ) + if (urand(0, 1)) me->CastSpell(me, SPELL_RENEW, false); - else if( Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID) ) - if( memory->IsAlive() ) + else if (Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID)) + if (memory->IsAlive()) me->CastSpell(memory, SPELL_RENEW, false); events.Repeat(15s, 17s); break; @@ -410,8 +410,8 @@ class npc_memory : public CreatureScript void JustDied(Unit* /*killer*/) override { me->DespawnOrUnsummon(20000); - if( pInstance ) - if( Creature* paletress = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_PALETRESS)) ) + if (pInstance) + if (Creature* paletress = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_PALETRESS))) paletress->AI()->DoAction(1); } @@ -421,10 +421,10 @@ class npc_memory : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -436,7 +436,7 @@ class npc_memory : public CreatureScript case EVENT_MEMORY_START_ATTACK: me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(false); - if( Unit* target = me->SelectNearestTarget(200.0f) ) + if (Unit* target = me->SelectNearestTarget(200.0f)) { AttackStart(target); DoZoneInCombat(); @@ -447,12 +447,12 @@ class npc_memory : public CreatureScript events.ScheduleEvent(EVENT_SPELL_WAKING_NIGHTMARE, 20s, 30s); break; case EVENT_SPELL_OLD_WOUNDS: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true)) me->CastSpell(target, SPELL_OLD_WOUNDS, true); events.Repeat(12s); break; case EVENT_SPELL_SHADOWS_PAST: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true)) me->CastSpell(target, SPELL_SHADOWS_PAST, false); events.Repeat(15s, 20s); break; @@ -541,9 +541,9 @@ class npc_argent_soldier : public CreatureScript void WaypointReached(uint32 uiPoint) override { - if( uiPoint == 1 ) + if (uiPoint == 1) { - switch( uiWaypoint ) + switch (uiWaypoint) { case 0: me->SetFacingTo(5.4f); @@ -561,10 +561,10 @@ class npc_argent_soldier : public CreatureScript void SetData(uint32 uiType, uint32 /*uiData*/) override { AddWaypoint(0, me->GetPositionX(), 660.0f, 411.80f); - switch( me->GetEntry() ) + switch (me->GetEntry()) { case NPC_ARGENT_LIGHTWIELDER: - switch( uiType ) + switch (uiType) { case 0: AddWaypoint(1, 716.321f, 647.047f, 411.93f); @@ -578,7 +578,7 @@ class npc_argent_soldier : public CreatureScript } break; case NPC_ARGENT_MONK: - switch( uiType ) + switch (uiType) { case 0: AddWaypoint(1, 717.86f, 649.0f, 411.923f); @@ -592,7 +592,7 @@ class npc_argent_soldier : public CreatureScript } break; case NPC_PRIESTESS: - switch( uiType ) + switch (uiType) { case 0: AddWaypoint(1, 719.872f, 650.94f, 411.93f); @@ -613,7 +613,7 @@ class npc_argent_soldier : public CreatureScript void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if( bCheck && damage >= me->GetHealth() ) + if (bCheck && damage >= me->GetHealth()) { bCheck = false; damage = me->GetHealth() - 1; @@ -625,25 +625,25 @@ class npc_argent_soldier : public CreatureScript void JustEngagedWith(Unit* /*who*/) override { - switch( me->GetEntry() ) + switch (me->GetEntry()) { case NPC_ARGENT_MONK: events.RescheduleEvent(EVENT_MONK_SPELL_FLURRY_OF_BLOWS, 5s); events.RescheduleEvent(EVENT_MONK_SPELL_PUMMEL, 7s); - if( IsHeroic() ) + if (IsHeroic()) bCheck = true; break; case NPC_PRIESTESS: events.RescheduleEvent(EVENT_PRIESTESS_SPELL_HOLY_SMITE, 5s, 8s); events.RescheduleEvent(EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN, 3s, 6s); events.RescheduleEvent(EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT, 8s, 15s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_PRIESTESS_SPELL_MIND_CONTROL_H, 12s); break; case NPC_ARGENT_LIGHTWIELDER: events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT, 12s, 15s); events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_CLEAVE, 3s, 5s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H, 8s, 12s); break; } @@ -653,15 +653,15 @@ class npc_argent_soldier : public CreatureScript { npc_escortAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -671,18 +671,18 @@ class npc_argent_soldier : public CreatureScript events.Repeat(12s, 18s); break; case EVENT_MONK_SPELL_PUMMEL: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_PUMMEL, false); events.Repeat(8s, 11s); break; case EVENT_PRIESTESS_SPELL_HOLY_SMITE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_HOLY_SMITE, false); events.Repeat(6s, 8s); break; case EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SHADOW_WORD_PAIN, false); events.Repeat(12s, 15s); break; @@ -691,7 +691,7 @@ class npc_argent_soldier : public CreatureScript events.Repeat(35s, 45s); break; case EVENT_PRIESTESS_SPELL_MIND_CONTROL_H: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_MIND_CONTROL_H, false); events.Repeat(22s, 30s); break; @@ -699,19 +699,19 @@ class npc_argent_soldier : public CreatureScript case EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT: { Unit* target = DoSelectLowestHpFriendly(40.0f); - if( !target ) + if (!target) target = me; me->CastSpell(target, SPELL_BLAZING_LIGHT, false); events.Repeat(8s, 12s); } break; case EVENT_LIGHTWIELDER_SPELL_CLEAVE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false); events.Repeat(6s, 8s); break; case EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE_H, false); events.Repeat(12s, 15s); break; @@ -723,7 +723,7 @@ class npc_argent_soldier : public CreatureScript void JustDied(Unit* /*pKiller*/) override { me->DespawnOrUnsummon(10000); - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_ARGENT_SOLDIER_DEFEATED, 0); } }; @@ -742,7 +742,7 @@ class spell_eadric_radiance : public SpellScript { std::list tmplist; for( std::list::const_iterator itr = targets.begin(); itr != targets.end(); ++itr) - if( (*itr)->ToUnit()->HasInArc(M_PI, GetCaster()) ) + if ((*itr)->ToUnit()->HasInArc(M_PI, GetCaster())) tmplist.push_back(*itr); targets.clear(); @@ -798,8 +798,8 @@ class spell_reflective_shield_aura : public AuraScript void HandleAfterEffectAbsorb(AuraEffect* /*aurEff*/, DamageInfo& dmgInfo, uint32& absorbAmount) { - if( Unit* attacker = dmgInfo.GetAttacker() ) - if( GetOwner() && attacker->GetGUID() != GetOwner()->GetGUID() ) + if (Unit* attacker = dmgInfo.GetAttacker()) + if (GetOwner() && attacker->GetGUID() != GetOwner()->GetGUID()) { int32 damage = (int32)(absorbAmount * 0.25f); GetOwner()->ToUnit()->CastCustomSpell(attacker, SPELL_REFLECTIVE_SHIELD_DAMAGE, &damage, nullptr, nullptr, true); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp index 0b2a7ffc5443b5..47b89b1624190e 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp @@ -123,7 +123,7 @@ class boss_black_knight : public CreatureScript me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); me->SetReactState(REACT_PASSIVE); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_BLACK_KNIGHT, NOT_STARTED); //me->SetLootMode(0); // [LOOT] @@ -143,7 +143,7 @@ class boss_black_knight : public CreatureScript return; } - if( Phase < 3 && damage >= me->GetHealth() ) + if (Phase < 3 && damage >= me->GetHealth()) { damage = 0; me->SetHealth(me->GetMaxHealth()); @@ -164,19 +164,19 @@ class boss_black_knight : public CreatureScript void DoAction(int32 param) override { - if( param == -1 ) + if (param == -1) { summons.DespawnAll(); } - else if( param == 1 ) + else if (param == 1) { - if( !pInstance ) + if (!pInstance) return; pInstance->SetData(BOSS_BLACK_KNIGHT, IN_PROGRESS); Talk(SAY_BK_AGGRO); me->CastSpell((Unit*)nullptr, (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? SPELL_RAISE_DEAD_JAEREN : SPELL_RAISE_DEAD_ARELAS), false); - if( Creature* announcer = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_ANNOUNCER)) ) + if (Creature* announcer = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_ANNOUNCER))) announcer->DespawnOrUnsummon(); events.Reset(); @@ -190,7 +190,7 @@ class boss_black_knight : public CreatureScript void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case SPELL_BLACK_KNIGHT_RES: me->SetHealth(me->GetMaxHealth()); @@ -205,7 +205,7 @@ class boss_black_knight : public CreatureScript ++Phase; - switch( Phase ) + switch (Phase) { case 2: me->SetDisplayId(MODEL_SKELETON); @@ -236,46 +236,46 @@ class boss_black_knight : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_ANNOUNCER_SAY_ZOMBIE: - if( pInstance && !summons.empty() ) - if( Creature* ghoul = pInstance->instance->GetCreature(*summons.begin()) ) + if (pInstance && !summons.empty()) + if (Creature* ghoul = pInstance->instance->GetCreature(*summons.begin())) if (urand(0, 1)) ghoul->Yell("[Zombie] .... . Brains ....", LANG_UNIVERSAL); /// @todo: Multiple variations + not always happening, from video sources, needs sniff to transition from DB. break; case EVENT_SPELL_PLAGUE_STRIKE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_PLAGUE_STRIKE, false); events.Repeat(10s, 12s); break; case EVENT_SPELL_ICY_TOUCH: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_ICY_TOUCH, false); events.Repeat(5s, 6s); break; case EVENT_SPELL_DEATH_RESPITE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_DEATH_RESPITE, false); events.Repeat(13s, 15s); break; case EVENT_SPELL_OBLITERATE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_OBLITERATE, false); events.Repeat(15s, 17s); break; case EVENT_SPELL_DESECRATION: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_DESECRATION, false); events.Repeat(14s, 17s); break; @@ -284,7 +284,7 @@ class boss_black_knight : public CreatureScript events.Repeat(2s, 4s); break; case EVENT_SPELL_MARKED_DEATH: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.000000f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.000000f, true)) me->CastSpell(target, SPELL_MARKED_DEATH, false); events.Repeat(9s); break; @@ -296,7 +296,7 @@ class boss_black_knight : public CreatureScript void JustSummoned(Creature* summon) override { summons.Summon(summon); - if( Unit* target = summon->SelectNearestTarget(200.0f) ) + if (Unit* target = summon->SelectNearestTarget(200.0f)) { summon->AI()->AttackStart(target); DoZoneInCombat(summon); @@ -305,7 +305,7 @@ class boss_black_knight : public CreatureScript void KilledUnit(Unit* victim) override { - if( victim->IsPlayer() ) + if (victim->IsPlayer()) { Talk(SAY_BK_KILL_PLAYER); } @@ -315,9 +315,9 @@ class boss_black_knight : public CreatureScript { me->CastSpell((Unit*)nullptr, SPELL_BK_KILL_CREDIT, true); Talk(SAY_BK_DEATH); - if( pInstance ) + if (pInstance) pInstance->SetData(BOSS_BLACK_KNIGHT, DONE); - if( me->ToTempSummon() ) + if (me->ToTempSummon()) me->ToTempSummon()->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN); } }; @@ -347,7 +347,7 @@ class npc_black_knight_skeletal_gryphon : public CreatureScript void DoAction(int32 param) override { - if( param == 1 ) + if (param == 1) { me->SetControlled(false, UNIT_STATE_ROOT); me->DisableRotate(false); @@ -358,7 +358,7 @@ class npc_black_knight_skeletal_gryphon : public CreatureScript void WaypointReached(uint32 i) override { - if( i == 12 ) + if (i == 12) { SetEscortPaused(true); me->SetOrientation(3.62f); @@ -366,7 +366,7 @@ class npc_black_knight_skeletal_gryphon : public CreatureScript me->DisableRotate(true); me->SetFacingTo(3.62f); me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_MOUNT_SPECIAL); - if( InstanceScript* pInstance = me->GetInstanceScript() ) + if (InstanceScript* pInstance = me->GetInstanceScript()) pInstance->SetData(DATA_SKELETAL_GRYPHON_LANDED, 0); } } @@ -422,7 +422,7 @@ class npc_black_knight_ghoul : public CreatureScript void SpellHitTarget(Unit* target, SpellInfo const* spell) override { - switch(spell->Id) + switch (spell->Id) { case SPELL_CLAW_N: case SPELL_CLAW_H: @@ -443,15 +443,15 @@ class npc_black_knight_ghoul : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 7ed03a36d6a36e..436fad32ac0ea2 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -173,7 +173,7 @@ class npc_toc5_player_vehicle : public CreatureScript if (me->IsDuringRemoveFromWorld()) return; - if( apply ) + if (apply) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetSpeed(MOVE_RUN, 2.0f, false); @@ -193,7 +193,7 @@ class npc_toc5_player_vehicle : public CreatureScript if (me->IsDuringRemoveFromWorld()) return; - if( !apply ) + if (!apply) { me->RemoveAura(SPELL_PLAYER_VEHICLE_DEFEND); who->RemoveAura(SPELL_PLAYER_VEHICLE_DEFEND); @@ -260,7 +260,7 @@ class npc_toc5_grand_champion_minion : public CreatureScript void UpdateAI(uint32 diff) override { - if( ShieldTimer <= (int32)diff ) + if (ShieldTimer <= (int32)diff ) { me->CastSpell(me, SPELL_MINIONS_DEFEND, true); ShieldTimer = 5000; @@ -268,15 +268,15 @@ class npc_toc5_grand_champion_minion : public CreatureScript else ShieldTimer -= diff; - if ( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -285,22 +285,22 @@ class npc_toc5_grand_champion_minion : public CreatureScript GuidVector LIST; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) { - if( me->GetExactDist(plr) < 8.0f || me->GetExactDist(plr) > 25.0f || plr->isDead() ) + if (me->GetExactDist(plr) < 8.0f || me->GetExactDist(plr) > 25.0f || plr->isDead()) continue; - if( !plr->GetVehicle() ) + if (!plr->GetVehicle()) LIST.push_back(plr->GetGUID()); - else if( Vehicle* v = plr->GetVehicle() ) + else if (Vehicle* v = plr->GetVehicle()) { - if( Unit* mount = v->GetBase() ) + if (Unit* mount = v->GetBase()) LIST.push_back(mount->GetGUID()); } } - if( !LIST.empty() ) + if (!LIST.empty()) { uint8 rnd = LIST.size() > 1 ? urand(0, LIST.size() - 1) : 0; - if( Unit* target = ObjectAccessor::GetUnit(*me, LIST.at(rnd)) ) + if (Unit* target = ObjectAccessor::GetUnit(*me, LIST.at(rnd))) { me->GetThreatMgr().ResetAllThreat(); me->AddThreat(target, 10000.0f); @@ -316,25 +316,25 @@ class npc_toc5_grand_champion_minion : public CreatureScript GuidVector LIST; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) { - if( me->GetExactDist(plr) < 10.0f || me->GetExactDist(plr) > 30.0f ) + if (me->GetExactDist(plr) < 10.0f || me->GetExactDist(plr) > 30.0f ) continue; - if( Vehicle* v = plr->GetVehicle() ) - if( Unit* mount = v->GetBase() ) + if (Vehicle* v = plr->GetVehicle()) + if (Unit* mount = v->GetBase()) LIST.push_back(mount->GetGUID()); } - if( !LIST.empty() ) + if (!LIST.empty()) { uint8 rnd = LIST.size() > 1 ? urand(0, LIST.size() - 1) : 0; - if( Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd)) ) + if (Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd))) me->CastSpell(target, SPELL_NPC_SHIELD_BREAKER, false); } events.Repeat(6s, 8s); } break; case EVENT_THRUST: - if( me->GetVictim() && me->GetExactDist(me->GetVictim()) <= 5.5f ) + if (me->GetVictim() && me->GetExactDist(me->GetVictim()) <= 5.5f ) me->CastSpell(me->GetVictim(), SPELL_PLAYER_VEHICLE_THRUST, false); events.Repeat(3s, 5s); break; @@ -345,7 +345,7 @@ class npc_toc5_grand_champion_minion : public CreatureScript { me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0); me->DespawnOrUnsummon(10000); - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_MOUNT_DIED, 0); } }; @@ -402,7 +402,7 @@ class boss_grand_champion : public CreatureScript void Reset() override { - if( pInstance && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED ) + if (pInstance && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED ) { DoAction(1); DoAction(2); @@ -415,7 +415,7 @@ class boss_grand_champion : public CreatureScript void JustEngagedWith(Unit* /*who*/) override { - if( pInstance && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED ) + if (pInstance && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED ) me->CallForHelp(100.0f); } @@ -423,7 +423,7 @@ class boss_grand_champion : public CreatureScript { me->m_spellImmune[IMMUNITY_MECHANIC].clear(); events.Reset(); - switch( me->GetEntry() ) + switch (me->GetEntry()) { case NPC_AMBROSE: // Ambrose Boltspark case NPC_ERESSEA: // Eressea Dawnsinger @@ -485,7 +485,7 @@ class boss_grand_champion : public CreatureScript void DoAction(int32 param) override { - if( param == 1 ) + if (param == 1) { MountPhase = false; NewMountGUID.Clear(); @@ -500,16 +500,16 @@ class boss_grand_champion : public CreatureScript AddCreatureAddonAuras(); events.Reset(); } - else if( param == 2 ) + else if (param == 2) ScheduleAbilitiesEvents(); } void SetData(uint32 uiType, uint32 uiData) override { BossOrder = uiType; - if( uiData > 1 ) + if (uiData > 1) return; - switch( BossOrder ) + switch (BossOrder) { case 0: if (uiData == 0) // 1 == short version @@ -545,11 +545,11 @@ class boss_grand_champion : public CreatureScript void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if( MountPhase ) + if (MountPhase) { - if( me->GetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID) == 0 ) + if (me->GetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID) == 0 ) damage = 0; - else if( damage >= me->GetHealth() ) + else if (damage >= me->GetHealth()) { events.Reset(); damage = me->GetHealth() - 1; @@ -565,10 +565,10 @@ class boss_grand_champion : public CreatureScript me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( pInstance ) + if (pInstance) { pInstance->SetData(DATA_MOUNT_DIED, BossOrder); - if( Creature* mount = me->FindNearestCreature( pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_WARHORSE : VEHICLE_ARGENT_BATTLEWORG, 100.0f, true ) ) + if (Creature* mount = me->FindNearestCreature( pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_WARHORSE : VEHICLE_ARGENT_BATTLEWORG, 100.0f, true )) { NewMountGUID = mount->GetGUID(); me->GetMotionMaster()->MovePoint(7, *mount); @@ -579,7 +579,7 @@ class boss_grand_champion : public CreatureScript } else { - if( damage >= me->GetHealth() ) + if (damage >= me->GetHealth()) { MountPhase = true; events.Reset(); @@ -593,7 +593,7 @@ class boss_grand_champion : public CreatureScript me->SetRegeneratingHealth(false); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(true); - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_GRAND_CHAMPION_DIED, BossOrder); } } @@ -603,26 +603,26 @@ class boss_grand_champion : public CreatureScript void WaypointReached(uint32 i) override { - if( !pInstance ) + if (!pInstance) return; - if( (i == 2 && (BossOrder == 1 || BossOrder == 2)) || (i == 3 && BossOrder == 0) ) + if ((i == 2 && (BossOrder == 1 || BossOrder == 2)) || (i == 3 && BossOrder == 0)) pInstance->SetData(DATA_GRAND_CHAMPION_REACHED_DEST, BossOrder); } void MovementInform(uint32 type, uint32 id) override { - if( id < 4 ) + if (id < 4) npc_escortAI::MovementInform(type, id); - if( type == POINT_MOTION_TYPE ) + if (type == POINT_MOTION_TYPE) { - if( id == 5 ) + if (id == 5) me->SetFacingTo(3 * M_PI / 2); - else if( id == 7 ) // reached new mount! + else if (id == 7) // reached new mount! { - if( NewMountGUID ) - if( Creature* mount = ObjectAccessor::GetCreature(*me, NewMountGUID) ) + if (NewMountGUID) + if (Creature* mount = ObjectAccessor::GetCreature(*me, NewMountGUID)) { mount->DespawnOrUnsummon(); me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, mount->GetDisplayId()); @@ -637,16 +637,16 @@ class boss_grand_champion : public CreatureScript me->SetReactState(REACT_AGGRESSIVE); me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetImmuneToAll(false); - if( Unit* target = me->SelectNearestTarget(200.0f) ) + if (Unit* target = me->SelectNearestTarget(200.0f)) AttackStart(target); DoZoneInCombat(); me->CastSpell(me, SPELL_TRAMPLE_AURA, true); - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_REACHED_NEW_MOUNT, 0); NewMountGUID.Clear(); } } - else if( id == 9 ) + else if (id == 9) me->DespawnOrUnsummon(); } } @@ -661,37 +661,37 @@ class boss_grand_champion : public CreatureScript { npc_escortAI::UpdateAI(diff); - if ( !UpdateVictim() && !NewMountGUID ) + if (!UpdateVictim() && !NewMountGUID ) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) || ((me->GetEntry() == NPC_JACOB || me->GetEntry() == NPC_MOKRA) && me->HasAura(SPELL_BLADESTORM)) ) + if (me->HasUnitState(UNIT_STATE_CASTING) || ((me->GetEntry() == NPC_JACOB || me->GetEntry() == NPC_MOKRA) && me->HasAura(SPELL_BLADESTORM))) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_FIND_NEW_MOUNT: { - if( me->HasAura(SPELL_TRAMPLE_STUN) ) + if (me->HasAura(SPELL_TRAMPLE_STUN)) { events.Repeat(200ms); break; } // hackfix, trample won't hit grand champions because of UNIT_FLAG_NON_ATTACKABLE - if( pInstance ) + if (pInstance) { bool trample = false; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( me->GetExactDist(plr) <= 5.0f ) - if( Vehicle* v = plr->GetVehicle() ) - if( Unit* c = v->GetBase() ) - if( c->IsCreature() && c->ToCreature()->GetEntry() == (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_BATTLEWORG : VEHICLE_ARGENT_WARHORSE) ) + if (Player* plr = itr->GetSource()) + if (me->GetExactDist(plr) <= 5.0f ) + if (Vehicle* v = plr->GetVehicle()) + if (Unit* c = v->GetBase()) + if (c->IsCreature() && c->ToCreature()->GetEntry() == (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_BATTLEWORG : VEHICLE_ARGENT_WARHORSE)) { me->GetMotionMaster()->MovementExpired(); me->GetMotionMaster()->MoveIdle(); @@ -701,23 +701,23 @@ class boss_grand_champion : public CreatureScript break; } - if( trample ) + if (trample) { events.Repeat(15s); break; } } - if( Creature* mount = ObjectAccessor::GetCreature(*me, NewMountGUID) ) - if( mount->IsAlive() ) + if (Creature* mount = ObjectAccessor::GetCreature(*me, NewMountGUID)) + if (mount->IsAlive()) { - if( me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE ) + if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE ) me->GetMotionMaster()->MovePoint(7, *mount); events.Repeat(200ms); break; } - if( Creature* mount = me->FindNearestCreature( pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_WARHORSE : VEHICLE_ARGENT_BATTLEWORG, 100.0f, true ) ) + if (Creature* mount = me->FindNearestCreature( pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE ? VEHICLE_ARGENT_WARHORSE : VEHICLE_ARGENT_BATTLEWORG, 100.0f, true )) { me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); NewMountGUID = mount->GetGUID(); @@ -734,22 +734,22 @@ class boss_grand_champion : public CreatureScript GuidVector LIST; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) { - if( me->GetExactDist(plr) < 8.0f || me->GetExactDist(plr) > 25.0f || plr->isDead() ) + if (me->GetExactDist(plr) < 8.0f || me->GetExactDist(plr) > 25.0f || plr->isDead()) continue; - if( !plr->GetVehicle() ) + if (!plr->GetVehicle()) LIST.push_back(plr->GetGUID()); - else if( Vehicle* v = plr->GetVehicle() ) + else if (Vehicle* v = plr->GetVehicle()) { - if( Unit* mount = v->GetBase() ) + if (Unit* mount = v->GetBase()) LIST.push_back(mount->GetGUID()); } } - if( !LIST.empty() ) + if (!LIST.empty()) { uint8 rnd = LIST.size() > 1 ? urand(0, LIST.size() - 1) : 0; - if( Unit* target = ObjectAccessor::GetUnit(*me, LIST.at(rnd)) ) + if (Unit* target = ObjectAccessor::GetUnit(*me, LIST.at(rnd))) { me->GetThreatMgr().ResetAllThreat(); me->AddThreat(target, 10000.0f); @@ -765,33 +765,33 @@ class boss_grand_champion : public CreatureScript GuidVector LIST; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) { - if( me->GetExactDist(plr) < 10.0f || me->GetExactDist(plr) > 30.0f ) + if (me->GetExactDist(plr) < 10.0f || me->GetExactDist(plr) > 30.0f ) continue; - if( Vehicle* v = plr->GetVehicle() ) - if( Unit* mount = v->GetBase() ) + if (Vehicle* v = plr->GetVehicle()) + if (Unit* mount = v->GetBase()) LIST.push_back(mount->GetGUID()); } - if( !LIST.empty() ) + if (!LIST.empty()) { uint8 rnd = LIST.size() > 1 ? urand(0, LIST.size() - 1) : 0; - if( Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd)) ) + if (Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd))) me->CastSpell(target, SPELL_NPC_SHIELD_BREAKER, false); } events.Repeat(6s, 8s); } break; case EVENT_THRUST: - if( Unit* victim = me->GetVictim() ) - if( me->GetExactDist(victim) <= 6.0f ) + if (Unit* victim = me->GetVictim()) + if (me->GetExactDist(victim) <= 6.0f ) me->CastSpell(victim, SPELL_PLAYER_VEHICLE_THRUST, false); events.Repeat(3s, 5s); break; /******************* MAGE *******************/ case EVEMT_MAGE_SPELL_FIREBALL: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false); events.Repeat(5s); break; @@ -804,7 +804,7 @@ class boss_grand_champion : public CreatureScript events.Repeat(22s); break; case EVEMT_MAGE_SPELL_POLYMORPH: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_POLYMORPH, false); events.Repeat(8s); break; @@ -812,7 +812,7 @@ class boss_grand_champion : public CreatureScript /****************** SHAMAN ******************/ case EVENT_SHAMAN_SPELL_CHAIN_LIGHTNING: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_CHAIN_LIGHTNING, false); events.Repeat(16s); break; @@ -823,10 +823,10 @@ class boss_grand_champion : public CreatureScript case EVENT_SHAMAN_SPELL_HEALING_WAVE: { Unit* target = nullptr; - if( urand(0, 1) ) + if (urand(0, 1)) { target = DoSelectLowestHpFriendly(40.0f); - if( !target ) + if (!target) target = me; } else @@ -836,7 +836,7 @@ class boss_grand_champion : public CreatureScript } break; case EVENT_SHAMAN_SPELL_HEX_OF_MENDING: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_HEX_OF_MENDING, false); events.Repeat(20s, 25s); break; @@ -852,9 +852,9 @@ class boss_grand_champion : public CreatureScript break; case EVENT_HUNTER_SPELL_MULTI_SHOT: { - if( !UnitTargetGUID ) + if (!UnitTargetGUID) { - if( Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 30.0f, true)) { me->CastSpell(target, SPELL_SHOOT, false); UnitTargetGUID = target->GetGUID(); @@ -865,7 +865,7 @@ class boss_grand_champion : public CreatureScript else { Unit* target = ObjectAccessor::GetUnit(*me, UnitTargetGUID); - if( target && me->IsInRange(target, 5.0f, 30.0f, false) ) + if (target && me->IsInRange(target, 5.0f, 30.0f, false)) me->CastSpell(target, SPELL_MULTI_SHOT, false); else { @@ -873,7 +873,7 @@ class boss_grand_champion : public CreatureScript for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { Player* player = itr->GetSource(); - if( player && me->IsInRange(player, 5.0f, 30.0f, false) ) + if (player && me->IsInRange(player, 5.0f, 30.0f, false)) { me->CastSpell(player, SPELL_MULTI_SHOT, false); break; @@ -889,7 +889,7 @@ class boss_grand_champion : public CreatureScript /****************** ROGUE *******************/ case EVENT_ROGUE_SPELL_EVISCERATE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_EVISCERATE, false); events.Repeat(8s); break; @@ -898,7 +898,7 @@ class boss_grand_champion : public CreatureScript events.Repeat(14s); break; case EVENT_ROGUE_SPELL_POISON_BOTTLE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_POISON_BOTTLE, false); events.Repeat(19s); break; @@ -906,12 +906,12 @@ class boss_grand_champion : public CreatureScript /***************** WARRIOR ******************/ case EVENT_WARRIOR_SPELL_MORTAL_STRIKE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false); events.Repeat(8s, 12s); break; case EVENT_WARRIOR_SPELL_BLADESTORM: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_BLADESTORM, false); events.Repeat(15s, 20s); break; @@ -921,7 +921,7 @@ class boss_grand_champion : public CreatureScript for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { Player* player = itr->GetSource(); - if( player && me->IsInRange(player, 8.0f, 25.0f, false) ) + if (player && me->IsInRange(player, 8.0f, 25.0f, false)) { DoResetThreatList(); me->AddThreat(player, 5.0f); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 76b54fe59f88b7..e5ca3913b7e9b3 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -101,7 +101,7 @@ class instance_trial_of_the_champion : public InstanceMapScript bool IsEncounterInProgress() const override { for( uint8 i = 0; i < MAX_ENCOUNTER; ++i ) - if( m_auiEncounter[i] == IN_PROGRESS ) + if (m_auiEncounter[i] == IN_PROGRESS) return true; return false; @@ -112,54 +112,54 @@ class instance_trial_of_the_champion : public InstanceMapScript if (TeamIdInInstance == TEAM_NEUTRAL) { Map::PlayerList const& players = instance->GetPlayers(); - if( !players.IsEmpty() ) - if( Player* pPlayer = players.begin()->GetSource() ) + if (!players.IsEmpty()) + if (Player* pPlayer = players.begin()->GetSource()) TeamIdInInstance = pPlayer->GetTeamId(); } - switch( creature->GetEntry() ) + switch (creature->GetEntry()) { // Grand Champions: case NPC_MOKRA: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_JACOB); break; case NPC_ERESSEA: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_AMBROSE); break; case NPC_RUNOK: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_COLOSOS); break; case NPC_ZULTORE: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_JAELYNE); break; case NPC_VISCERI: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_LANA); break; // Grand Champion Minions: case NPC_ORGRIMMAR_MINION: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_STORMWIND_MINION); break; case NPC_SILVERMOON_MINION: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_GNOMEREGAN_MINION); break; case NPC_THUNDER_BLUFF_MINION: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_EXODAR_MINION); break; case NPC_SENJIN_MINION: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_DARNASSUS_MINION); break; case NPC_UNDERCITY_MINION: - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) creature->UpdateEntry(NPC_IRONFORGE_MINION); break; @@ -173,7 +173,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case NPC_JAEREN: case NPC_ARELAS: NPC_AnnouncerGUID = creature->GetGUID(); - //if( TeamIdInInstance == TEAM_ALLIANCE ) + //if (TeamIdInInstance == TEAM_ALLIANCE) // creature->UpdateEntry(NPC_ARELAS); creature->SetReactState(REACT_PASSIVE); break; @@ -186,7 +186,7 @@ class instance_trial_of_the_champion : public InstanceMapScript // Beginning vehicles: case VEHICLE_ARGENT_WARHORSE: case VEHICLE_ARGENT_BATTLEWORG: - if( InstanceProgress < INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED && m_auiEncounter[0] == NOT_STARTED ) + if (InstanceProgress < INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED && m_auiEncounter[0] == NOT_STARTED) { creature->DespawnOrUnsummon(); creature->SetRespawnTime(3); @@ -204,7 +204,7 @@ class instance_trial_of_the_champion : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch( go->GetEntry() ) + switch (go->GetEntry()) { case GO_MAIN_GATE: GO_MainGateGUID = go->GetGUID(); @@ -237,7 +237,7 @@ class instance_trial_of_the_champion : public InstanceMapScript events.Reset(); events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms); - if( !in ) + if (!in) { OUT_LOAD_INST_DATA_FAIL; return; @@ -250,17 +250,17 @@ class instance_trial_of_the_champion : public InstanceMapScript std::istringstream loadStream(in); loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2 >> data3; - if( dataHead1 == 'T' && dataHead2 == 'C' ) + if (dataHead1 == 'T' && dataHead2 == 'C') { m_auiEncounter[0] = data0; m_auiEncounter[1] = data1; m_auiEncounter[2] = data2; InstanceProgress = data3; - if( InstanceProgress == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED ) + if (InstanceProgress == INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED) InstanceProgress = INSTANCE_PROGRESS_INITIAL; for( uint8 i = 0; i < MAX_ENCOUNTER; ++i ) - if( m_auiEncounter[i] == IN_PROGRESS ) + if (m_auiEncounter[i] == IN_PROGRESS) m_auiEncounter[i] = NOT_STARTED; } else @@ -306,10 +306,10 @@ class instance_trial_of_the_champion : public InstanceMapScript void InstanceCleanup() { - if( CLEANED ) + if (CLEANED) return; - switch( InstanceProgress ) + switch (InstanceProgress) { case INSTANCE_PROGRESS_INITIAL: case INSTANCE_PROGRESS_GRAND_CHAMPIONS_REACHED_DEST: @@ -328,15 +328,15 @@ class instance_trial_of_the_champion : public InstanceMapScript { for( uint8 j = 0; j < 3; ++j ) { - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[i][j]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[i][j])) c->DespawnOrUnsummon(); NPC_GrandChampionMinionsGUID[i][j].Clear(); } - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) c->DespawnOrUnsummon(); NPC_GrandChampionGUID[i].Clear(); } - if( Creature* c = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* c = instance->GetCreature(NPC_AnnouncerGUID)) { c->DespawnOrUnsummon(); c->SetHomePosition(748.309f, 619.488f, 411.172f, 4.71239f); @@ -349,7 +349,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { announcer->DespawnOrUnsummon(); announcer->SetHomePosition(735.81f, 661.92f, 412.39f, 4.714f); @@ -358,28 +358,28 @@ class instance_trial_of_the_champion : public InstanceMapScript announcer->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { uint32 entry = c->GetEntry(); c->DespawnOrUnsummon(); - switch( i ) + switch (i) { case 0: - if( Creature* pBoss = announcer->SummonCreature(entry, 736.695f, 650.02f, 412.4f, 3 * M_PI / 2) ) + if (Creature* pBoss = announcer->SummonCreature(entry, 736.695f, 650.02f, 412.4f, 3 * M_PI / 2)) { NPC_GrandChampionGUID[0] = pBoss->GetGUID(); pBoss->AI()->SetData(0, 2); } break; case 1: - if( Creature* pBoss = announcer->SummonCreature(entry, 756.32f, 650.05f, 412.4f, 3 * M_PI / 2) ) + if (Creature* pBoss = announcer->SummonCreature(entry, 756.32f, 650.05f, 412.4f, 3 * M_PI / 2)) { NPC_GrandChampionGUID[1] = pBoss->GetGUID(); pBoss->AI()->SetData(1, 2); } break; case 2: - if( Creature* pBoss = announcer->SummonCreature(entry, 746.5f, 650.65f, 411.7f, 3 * M_PI / 2) ) + if (Creature* pBoss = announcer->SummonCreature(entry, 746.5f, 650.65f, 411.7f, 3 * M_PI / 2)) { NPC_GrandChampionGUID[2] = pBoss->GetGUID(); pBoss->AI()->SetData(2, 2); @@ -397,17 +397,17 @@ class instance_trial_of_the_champion : public InstanceMapScript for( uint8 i = 0; i < 3; ++i ) for( uint8 j = 0; j < 3; ++j ) { - if( Creature* c = instance->GetCreature(NPC_ArgentSoldierGUID[i][j]) ) + if (Creature* c = instance->GetCreature(NPC_ArgentSoldierGUID[i][j])) c->DespawnOrUnsummon(); NPC_ArgentSoldierGUID[i][j].Clear(); } - if( Creature* c = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* c = instance->GetCreature(NPC_ArgentChampionGUID)) { c->AI()->DoAction(-1); // paletress despawn memory c->DespawnOrUnsummon(); } NPC_ArgentChampionGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* c = instance->GetCreature(NPC_AnnouncerGUID)) { c->DespawnOrUnsummon(); c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f); @@ -422,16 +422,16 @@ class instance_trial_of_the_champion : public InstanceMapScript case INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED: // revert to INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED { - if( Creature* c = instance->GetCreature(NPC_BlackKnightVehicleGUID) ) + if (Creature* c = instance->GetCreature(NPC_BlackKnightVehicleGUID)) c->DespawnOrUnsummon(); NPC_BlackKnightVehicleGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* c = instance->GetCreature(NPC_BlackKnightGUID)) { c->AI()->DoAction(-1); c->DespawnOrUnsummon(); } NPC_BlackKnightGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* c = instance->GetCreature(NPC_AnnouncerGUID)) { c->DespawnOrUnsummon(); c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f); @@ -443,7 +443,7 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case INSTANCE_PROGRESS_FINISHED: - if( Creature* c = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* c = instance->GetCreature(NPC_AnnouncerGUID)) c->DespawnOrUnsummon(); break; } @@ -460,7 +460,7 @@ class instance_trial_of_the_champion : public InstanceMapScript uint32 GetData(uint32 uiData) const override { - switch( uiData ) + switch (uiData) { case DATA_INSTANCE_PROGRESS: return InstanceProgress; @@ -473,7 +473,7 @@ class instance_trial_of_the_champion : public InstanceMapScript ObjectGuid GetGuidData(uint32 uiData) const override { - switch( uiData ) + switch (uiData) { case DATA_ANNOUNCER: return NPC_AnnouncerGUID; @@ -486,21 +486,21 @@ class instance_trial_of_the_champion : public InstanceMapScript void SetData(uint32 uiType, uint32 uiData) override { - switch( uiType ) + switch (uiType) { case DATA_ANNOUNCER_GOSSIP_SELECT: - switch( InstanceProgress ) + switch (InstanceProgress) { case INSTANCE_PROGRESS_INITIAL: if (uiData == 0) // normal intro { shortver = false; - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { - if( GameObject* gate = instance->GetGameObject(GO_MainGateGUID) ) + if (GameObject* gate = instance->GetGameObject(GO_MainGateGUID)) announcer->SetFacingToObject(gate); - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_WELCOME); } events.RescheduleEvent(EVENT_YELL_WELCOME_2, 8s); @@ -521,7 +521,7 @@ class instance_trial_of_the_champion : public InstanceMapScript InstanceProgress = INSTANCE_PROGRESS_GRAND_CHAMPIONS_REACHED_DEST; uiData = DONE; // save to db - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { announcer->SetUnitMovementFlags(MOVEMENTFLAG_WALKING); announcer->GetMotionMaster()->MovePoint(1, 735.81f, 661.92f, 412.39f); @@ -530,10 +530,10 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case INSTANCE_PROGRESS_CHAMPIONS_DEAD: - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { Counter = urand(0, 1); - if( Counter ) + if (Counter) announcer->AI()->Talk(SAY_EADRIC_INTRO_ANNOUNCER); else announcer->AI()->Talk(SAY_JAEREN_PALETRESS_INTRO); @@ -542,7 +542,7 @@ class instance_trial_of_the_champion : public InstanceMapScript events.RescheduleEvent(EVENT_START_ARGENT_CHALLENGE_INTRO, 0ms); break; case INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED: - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_BK_INTRO); events.RescheduleEvent(EVENT_SUMMON_BLACK_KNIGHT, 3s); break; @@ -551,7 +551,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case DATA_GRAND_CHAMPION_REACHED_DEST: if (shortver) break; - switch( uiData ) + switch (uiData) { case 0: events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_2, 0ms); @@ -560,7 +560,7 @@ class instance_trial_of_the_champion : public InstanceMapScript events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_3, 0ms); break; case 2: - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { InstanceProgress = INSTANCE_PROGRESS_GRAND_CHAMPIONS_REACHED_DEST; uiData = DONE; // save to db @@ -572,10 +572,10 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case DATA_MOUNT_DIED: - switch( InstanceProgress ) + switch (InstanceProgress) { case INSTANCE_PROGRESS_GRAND_CHAMPIONS_REACHED_DEST: // fighting group 1/3 - if( ++Counter >= 3 ) + if (++Counter >= 3) { Counter = 0; InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_1; @@ -584,7 +584,7 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_1: // fighting group 2/3 - if( ++Counter >= 3 ) + if (++Counter >= 3) { Counter = 0; InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_2; @@ -593,7 +593,7 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_2: // fighting group 3/3 - if( ++Counter >= 3 ) + if (++Counter >= 3) { Counter = 0; InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_3; @@ -602,7 +602,7 @@ class instance_trial_of_the_champion : public InstanceMapScript } break; case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_3: // fighting grand champions (on vehicles) - if( ++Counter >= 3 ) + if (++Counter >= 3) { Counter = 0; InstanceProgress = INSTANCE_PROGRESS_CHAMPIONS_UNMOUNTED; @@ -618,7 +618,7 @@ class instance_trial_of_the_champion : public InstanceMapScript --Counter; break; case DATA_GRAND_CHAMPION_DIED: - if( ++Counter >= 3 ) + if (++Counter >= 3) { Counter = 0; VehicleList.clear(); @@ -627,7 +627,7 @@ class instance_trial_of_the_champion : public InstanceMapScript m_auiEncounter[0] = DONE; bool creditCasted = false; for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { c->GetMotionMaster()->MovePoint(9, 747.36f, 670.07f, 411.9f); if (!creditCasted) @@ -636,7 +636,7 @@ class instance_trial_of_the_champion : public InstanceMapScript creditCasted = true; } } - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { announcer->GetMotionMaster()->MovePoint(0, 743.14f, 628.77f, 411.2f); announcer->SummonGameObject(instance->IsHeroic() ? GO_CHAMPIONS_LOOT_H : GO_CHAMPIONS_LOOT, 746.59f, 618.49f, 411.09f, 1.42f, 0, 0, 0, 0, 90000000); // [LOOT] @@ -645,12 +645,12 @@ class instance_trial_of_the_champion : public InstanceMapScript } // bind players to instance - if( instance->IsHeroic() ) + if (instance->IsHeroic()) instance->ToInstanceMap()->PermBindAllPlayers(); } break; case DATA_ARGENT_SOLDIER_DEFEATED: - if( ++Counter >= 9 ) + if (++Counter >= 9) { Counter = 0; InstanceProgress = INSTANCE_PROGRESS_ARGENT_SOLDIERS_DIED; @@ -661,7 +661,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case BOSS_ARGENT_CHALLENGE: { m_auiEncounter[1] = uiData; - if( uiData == DONE ) + if (uiData == DONE) { HandleGameObject(GO_EnterGateGUID, true); InstanceProgress = INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED; @@ -685,7 +685,7 @@ class instance_trial_of_the_champion : public InstanceMapScript HandleGameObject(GO_EnterGateGUID, false); bAchievIveHadWorse = true; } - else if( uiData == DONE ) + else if (uiData == DONE) { HandleGameObject(GO_EnterGateGUID, true); InstanceProgress = INSTANCE_PROGRESS_FINISHED; @@ -698,7 +698,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; } - if( uiData == DONE ) + if (uiData == DONE) SaveToDB(); } @@ -708,7 +708,7 @@ class instance_trial_of_the_champion : public InstanceMapScript uint32 MINION_TO_SUMMON = 0; int32 TEXT_ID = 0; - switch( BossNumber ) + switch (BossNumber) { case 0: CHAMPION_TO_SUMMON = NPC_MOKRA; @@ -754,7 +754,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; } - if( Creature* pBoss = instance->SummonCreature(CHAMPION_TO_SUMMON, SpawnPos) ) + if (Creature* pBoss = instance->SummonCreature(CHAMPION_TO_SUMMON, SpawnPos)) { NPC_GrandChampionGUID[BossOrder] = pBoss->GetGUID(); pBoss->ToCreature()->SetReactState(REACT_PASSIVE); @@ -764,7 +764,7 @@ class instance_trial_of_the_champion : public InstanceMapScript pBoss->AI()->SetData(BossOrder, (shortver ? 1 : 0)); for( uint8 i = 0; i < 3; ++i ) - if( Creature* pAdd = instance->SummonCreature(MINION_TO_SUMMON, SpawnPos) ) + if (Creature* pAdd = instance->SummonCreature(MINION_TO_SUMMON, SpawnPos)) { NPC_GrandChampionMinionsGUID[BossOrder][i] = pAdd->GetGUID(); pAdd->SetReactState(REACT_PASSIVE); @@ -776,7 +776,7 @@ class instance_trial_of_the_champion : public InstanceMapScript } if (!shortver) - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { announcer->AI()->Talk(TEXT_ID); /// @todo: Missing Argent Raid Spectator cheers. } @@ -785,7 +785,7 @@ class instance_trial_of_the_champion : public InstanceMapScript void Update(uint32 diff) override { events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case EVENT_NULL: break; @@ -842,15 +842,15 @@ class instance_trial_of_the_champion : public InstanceMapScript } case EVENT_GRAND_GROUP_1_MOVE_MIDDLE: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { announcer->SetFacingTo(4.714f); - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_BEGIN); HandleGameObject(GO_EnterGateGUID, false); } for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[1][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[1][i])) { float angle = rand_norm() * 2 * M_PI; c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f); @@ -862,12 +862,12 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_GROUP_1_ATTACK: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[1][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[1][i])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); } @@ -877,7 +877,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_GROUP_2_MOVE_MIDDLE: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[0][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[0][i])) { float angle = rand_norm() * 2 * M_PI; c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f); @@ -889,12 +889,12 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_GROUP_2_ATTACK: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[0][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[0][i])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); } @@ -903,7 +903,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_GROUP_3_MOVE_MIDDLE: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[2][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[2][i])) { float angle = rand_norm() * 2 * M_PI; c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f); @@ -915,12 +915,12 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_GROUP_3_ATTACK: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[2][i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[2][i])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); } @@ -929,7 +929,7 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_CHAMPIONS_MOVE_MIDDLE: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { float angle = rand_norm() * 2 * M_PI; c->GetMotionMaster()->MovePoint(4, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f); @@ -941,12 +941,12 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_CHAMPIONS_MOUNTS_ATTACK: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); c->CastSpell(c, 67865, true); // SPELL_TRAMPLE_AURA @@ -956,10 +956,10 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_CHAMPIONS_MOVE_SIDE: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { c->AI()->DoAction(1); - switch( i ) + switch (i) { case 0: c->GetMotionMaster()->MovePoint(5, 736.695f, 650.02f, 412.4f); @@ -979,12 +979,12 @@ class instance_trial_of_the_champion : public InstanceMapScript case EVENT_GRAND_CHAMPIONS_ATTACK: { for( uint8 i = 0; i < 3; ++i ) - if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) ) + if (Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); c->AI()->DoAction(2); @@ -993,7 +993,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_GRATZ_SLAIN_CHAMPIONS: { - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_GRATZ_SLAIN_CHAMPIONS); HandleGameObject(GO_EnterGateGUID, true); @@ -1001,15 +1001,15 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_RESTORE_ANNOUNCER_GOSSIP: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) announcer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } break; case EVENT_START_ARGENT_CHALLENGE_INTRO: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { - if( GameObject* gate = instance->GetGameObject(GO_MainGateGUID) ) + if (GameObject* gate = instance->GetGameObject(GO_MainGateGUID)) { announcer->SetFacingToObject(gate); HandleGameObject(GO_MainGateGUID, true, gate); @@ -1023,19 +1023,19 @@ class instance_trial_of_the_champion : public InstanceMapScript float x = pos.GetPositionX(); pos.m_positionX = x - 2.0f + (i - 1) * 10.0f; - if( Creature* pTrash = instance->SummonCreature(NPC_ARGENT_LIGHTWIELDER, pos) ) + if (Creature* pTrash = instance->SummonCreature(NPC_ARGENT_LIGHTWIELDER, pos)) { pTrash->AI()->SetData(i, 0); NPC_ArgentSoldierGUID[i][0] = pTrash->GetGUID(); } pos.m_positionX = x + (i - 1) * 10.0f; - if( Creature* pTrash = instance->SummonCreature(NPC_ARGENT_MONK, pos) ) + if (Creature* pTrash = instance->SummonCreature(NPC_ARGENT_MONK, pos)) { pTrash->AI()->SetData(i, 0); NPC_ArgentSoldierGUID[i][1] = pTrash->GetGUID(); } pos.m_positionX = x + 2.0f + (i - 1) * 10.0f; - if( Creature* pTrash = instance->SummonCreature(NPC_PRIESTESS, pos) ) + if (Creature* pTrash = instance->SummonCreature(NPC_PRIESTESS, pos)) { pTrash->AI()->SetData(i, 0); NPC_ArgentSoldierGUID[i][2] = pTrash->GetGUID(); @@ -1046,7 +1046,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_SUMMON_ARGENT_CHALLENGE: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) announcer->GetMotionMaster()->MovePoint(0, 735.81f, 661.92f, 412.39f); if (Creature* boss = instance->SummonCreature(Counter ? NPC_EADRIC : NPC_PALETRESS, SpawnPosition)) boss->GetMotionMaster()->MovePoint(0, 746.881f, 660.263f, 411.7f); @@ -1057,15 +1057,15 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_ARGENT_CHALLENGE_SAY_1: { - if( Creature* ac = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* ac = instance->GetCreature(NPC_ArgentChampionGUID)) ac->AI()->Talk(Counter ? SAY_EADRIC_INTRO : SAY_PALETRESS_INTRO_1); - if( !Counter ) + if (!Counter) events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_SAY_2, 6s); } break; case EVENT_ARGENT_CHALLENGE_SAY_2: { - if( Creature* ac = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* ac = instance->GetCreature(NPC_ArgentChampionGUID)) ac->AI()->Talk(SAY_PALETRESS_INTRO_2); } break; @@ -1074,14 +1074,14 @@ class instance_trial_of_the_champion : public InstanceMapScript Counter = 0; for( uint8 i = 0; i < 3; ++i ) for( uint8 j = 0; j < 3; ++j ) - if( Creature* c = instance->GetCreature(NPC_ArgentSoldierGUID[i][j]) ) + if (Creature* c = instance->GetCreature(NPC_ArgentSoldierGUID[i][j])) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->SetImmuneToAll(false); //c->AI()->DoZoneInCombat(); } - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_YOU_MAY_BEGIN); } break; @@ -1096,12 +1096,12 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_ARGENT_CHALLENGE_ATTACK: { - if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { boss->SetReactState(REACT_AGGRESSIVE); boss->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); boss->SetImmuneToAll(false); - if( Unit* target = boss->SelectNearestTarget(200.0f) ) + if (Unit* target = boss->SelectNearestTarget(200.0f)) boss->AI()->AttackStart(target); boss->AI()->DoZoneInCombat(); } @@ -1109,7 +1109,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_ARGENT_CHALLENGE_RUN_MIDDLE: { - if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { boss->GetMotionMaster()->MovePoint(1, 747.13f, 628.037f, 411.2f); events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_LEAVE_CHEST, 6s); @@ -1118,12 +1118,12 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_ARGENT_CHALLENGE_LEAVE_CHEST: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) - if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) + if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { announcer->GetMotionMaster()->MovePoint(0, 743.14f, 628.77f, 411.2f); uint32 chest = 0; - if( instance->IsHeroic() ) + if (instance->IsHeroic()) chest = (boss->GetEntry() == NPC_EADRIC || boss->GetEntry() == NPC_EADRIC_H) ? GO_EADRIC_LOOT_H : GO_PALETRESS_LOOT_H; else chest = (boss->GetEntry() == NPC_EADRIC || boss->GetEntry() == NPC_EADRIC_H) ? GO_EADRIC_LOOT : GO_PALETRESS_LOOT; @@ -1136,7 +1136,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_ARGENT_CHALLENGE_DISAPPEAR: { - if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) ) + if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { boss->GetMotionMaster()->MovePoint(0, SpawnPosition); boss->DespawnOrUnsummon(3000); @@ -1145,18 +1145,18 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_SUMMON_BLACK_KNIGHT: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) - if( Creature* bk_vehicle = announcer->SummonCreature(VEHICLE_BLACK_KNIGHT, 769.834f, 651.915f, 447.035f, 0.0f) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) + if (Creature* bk_vehicle = announcer->SummonCreature(VEHICLE_BLACK_KNIGHT, 769.834f, 651.915f, 447.035f, 0.0f)) { NPC_BlackKnightVehicleGUID = bk_vehicle->GetGUID(); bk_vehicle->SetReactState(REACT_PASSIVE); bk_vehicle->SetFacingTo(M_PI); - if( Vehicle* v = bk_vehicle->GetVehicleKit() ) - if( Unit* bk = v->GetPassenger(0) ) + if (Vehicle* v = bk_vehicle->GetVehicleKit()) + if (Unit* bk = v->GetPassenger(0)) { NPC_BlackKnightGUID = bk->GetGUID(); bk->SendMovementFlagUpdate(); // put him on vehicle visually - if( bk->IsCreature() ) + if (bk->IsCreature()) bk->ToCreature()->SetReactState(REACT_PASSIVE); } @@ -1167,7 +1167,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_START_BLACK_KNIGHT_SCENE: { - if( Creature* bk = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* bk = instance->GetCreature(NPC_BlackKnightGUID)) { Position exitPos = { 751.003357f, 638.145508f, 411.570129f, M_PI }; bk->ExitVehicle(/*&exitPos*/); @@ -1179,9 +1179,9 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_BLACK_KNIGHT_CAST_ANNOUNCER: { - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) { - if( Creature* bk = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* bk = instance->GetCreature(NPC_BlackKnightGUID)) { bk->SetPosition(745.016f, 631.506f, 411.575f, bk->GetAngle(announcer)); bk->SetHomePosition(*bk); @@ -1189,7 +1189,7 @@ class instance_trial_of_the_champion : public InstanceMapScript announcer->SetFacingToObject(bk); announcer->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); bk->AddAura(68306, announcer); // spell has attribute player only - if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* tirion = instance->GetCreature(NPC_TirionGUID)) tirion->AI()->Talk(TEXT_BK_MEANING); } } @@ -1198,7 +1198,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_BLACK_KNIGHT_KILL_ANNOUNCER: { - if( Creature* bk_vehicle = instance->GetCreature(NPC_BlackKnightVehicleGUID) ) + if (Creature* bk_vehicle = instance->GetCreature(NPC_BlackKnightVehicleGUID)) bk_vehicle->AI()->DoAction(1); events.ScheduleEvent(EVENT_BLACK_KNIGHT_MOVE_FORWARD, 4s); @@ -1206,13 +1206,13 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_BLACK_KNIGHT_MOVE_FORWARD: { - if( Creature* bk = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* bk = instance->GetCreature(NPC_BlackKnightGUID)) { bk->SetUnitMovementFlags(MOVEMENTFLAG_WALKING); bk->GetMotionMaster()->MovePoint(0, 746.81f, 623.15f, 411.42f); bk->AI()->Talk(SAY_BK_INTRO_2); } - if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) ) + if (Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID)) if (announcer->IsAlive()) Unit::Kill(announcer, announcer); events.ScheduleEvent(EVENT_BLACK_KNIGHT_SAY_TASK, 14s); @@ -1220,7 +1220,7 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_BLACK_KNIGHT_SAY_TASK: { - if( Creature* bk = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* bk = instance->GetCreature(NPC_BlackKnightGUID)) { bk->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); bk->AI()->Talk(SAY_BK_INTRO_3); @@ -1230,11 +1230,11 @@ class instance_trial_of_the_champion : public InstanceMapScript break; case EVENT_BLACK_KNIGHT_ATTACK: { - if( Creature* bk = instance->GetCreature(NPC_BlackKnightGUID) ) + if (Creature* bk = instance->GetCreature(NPC_BlackKnightGUID)) { bk->SetReactState(REACT_AGGRESSIVE); bk->ReplaceAllUnitFlags(UNIT_FLAG_NONE); - if( Unit* target = bk->SelectNearestTarget(200.0f) ) + if (Unit* target = bk->SelectNearestTarget(200.0f)) bk->AI()->AttackStart(target); bk->AI()->DoZoneInCombat(); bk->AI()->DoAction(1); @@ -1246,7 +1246,7 @@ class instance_trial_of_the_champion : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 11789: // I've Had Worse criteria id return bAchievIveHadWorse; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp index bda08218866e10..c6118f2aac80c9 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp @@ -88,14 +88,14 @@ class npc_announcer_toc5 : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); - if(!pInstance) + if (!pInstance) return true; - if(uiAction == GOSSIP_ACTION_INFO_DEF + 1 || uiAction == GOSSIP_ACTION_INFO_DEF + 2 || uiAction == GOSSIP_ACTION_INFO_DEF + 3 || uiAction == GOSSIP_ACTION_INFO_DEF + 4) + if (uiAction == GOSSIP_ACTION_INFO_DEF + 1 || uiAction == GOSSIP_ACTION_INFO_DEF + 2 || uiAction == GOSSIP_ACTION_INFO_DEF + 3 || uiAction == GOSSIP_ACTION_INFO_DEF + 4) { pInstance->SetData(DATA_ANNOUNCER_GOSSIP_SELECT, (uiAction == GOSSIP_ACTION_INFO_DEF + 2 ? 1 : 0)); creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); @@ -117,9 +117,9 @@ class npc_announcer_toc5 : public CreatureScript void Reset() override { InstanceScript* pInstance = me->GetInstanceScript(); - if( !pInstance ) + if (!pInstance) return; - if( pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_ALLIANCE ) + if (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_ALLIANCE ) me->UpdateEntry(NPC_ARELAS); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); // removed during black knight scene } @@ -135,7 +135,7 @@ class npc_announcer_toc5 : public CreatureScript if (type != EFFECT_MOTION_TYPE) return; InstanceScript* pInstance = me->GetInstanceScript(); - if( !pInstance ) + if (!pInstance) return; if (pInstance->GetData(DATA_INSTANCE_PROGRESS) < INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED) return; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index bb41e7eeee3574..848b3fdb2d9af6 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -182,7 +182,7 @@ class boss_anubarak_trial : public CreatureScript { float angle = rand_norm() * 2 * M_PI; float dist = rand_norm() * 40.0f; - if( Creature* c = me->SummonCreature(NPC_SCARAB, AnubLocs[0].GetPositionX() + cos(angle) * dist, AnubLocs[0].GetPositionY() + std::sin(angle) * dist, AnubLocs[0].GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000) ) + if (Creature* c = me->SummonCreature(NPC_SCARAB, AnubLocs[0].GetPositionX() + cos(angle) * dist, AnubLocs[0].GetPositionY() + std::sin(angle) * dist, AnubLocs[0].GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000)) { c->SetFaction(FACTION_PREY); c->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); @@ -193,7 +193,7 @@ class boss_anubarak_trial : public CreatureScript void DoAction(int32 param) override { - switch( param ) + switch (param) { case -1: summons.DespawnAll(); @@ -210,7 +210,7 @@ class boss_anubarak_trial : public CreatureScript events.RescheduleEvent(EVENT_SPELL_PENETRATING_COLD, 15s, 20s); events.RescheduleEvent(EVENT_SUMMON_NERUBIAN, 5s, 8s); events.RescheduleEvent(EVENT_SUBMERGE, 80s); - if( !IsHeroic() ) + if (!IsHeroic()) events.RescheduleEvent(EVENT_RESPAWN_SPHERE, 4s); for (ObjectGuid const& guid : summons) @@ -224,15 +224,15 @@ class boss_anubarak_trial : public CreatureScript } summons.clear(); for( uint8 i = 0; i < 4; ++i ) - if( Creature* c = me->SummonCreature(NPC_BURROW, AnubLocs[i + 1]) ) + if (Creature* c = me->SummonCreature(NPC_BURROW, AnubLocs[i + 1])) BurrowGUID[i] = c->GetGUID(); for( uint8 i = 0; i < 6; ++i ) - if( Creature* c = me->SummonCreature(NPC_FROST_SPHERE, AnubLocs[i + 5]) ) + if (Creature* c = me->SummonCreature(NPC_FROST_SPHERE, AnubLocs[i + 5])) SphereGUID[i] = c->GetGUID(); Talk(SAY_AGGRO); DoZoneInCombat(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_ANUBARAK, IN_PROGRESS); } @@ -243,21 +243,21 @@ class boss_anubarak_trial : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - if( !bPhase3 && HealthBelowPct(30) && !me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE) && !me->HasAura(SPELL_SUBMERGE) && !me->HasAura(SPELL_EMERGE) ) + if (!bPhase3 && HealthBelowPct(30) && !me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE) && !me->HasAura(SPELL_SUBMERGE) && !me->HasAura(SPELL_EMERGE)) { bPhase3 = true; events.CancelEvent(EVENT_SUBMERGE); events.CancelEvent(EVENT_EMERGE); events.CancelEvent(EVENT_EMERGE_2); - if( !IsHeroic() ) + if (!IsHeroic()) events.CancelEvent(EVENT_SUMMON_NERUBIAN); me->CastSpell((Unit*)nullptr, SPELL_LEECHING_SWARM, false); Talk(EMOTE_LEECHING_SWARM); @@ -265,7 +265,7 @@ class boss_anubarak_trial : public CreatureScript return; } - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -280,10 +280,10 @@ class boss_anubarak_trial : public CreatureScript uint8 i = StartAt; do { - if( Creature* c = ObjectAccessor::GetCreature(*me, SphereGUID[i]) ) - if( !c->HasAura(SPELL_FROST_SPHERE) ) + if (Creature* c = ObjectAccessor::GetCreature(*me, SphereGUID[i])) + if (!c->HasAura(SPELL_FROST_SPHERE)) { - if( Creature* c = me->SummonCreature(NPC_FROST_SPHERE, AnubLocs[i + 5]) ) + if (Creature* c = me->SummonCreature(NPC_FROST_SPHERE, AnubLocs[i + 5])) SphereGUID[i] = c->GetGUID(); break; } @@ -294,7 +294,7 @@ class boss_anubarak_trial : public CreatureScript break; case EVENT_SPELL_FREEZING_SLASH: { - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FREEZING_SLASH, false); events.Repeat(15s, 20s); } @@ -332,7 +332,7 @@ class boss_anubarak_trial : public CreatureScript case EVENT_SUMMON_SCARAB: { uint8 i = urand(0, 3); - if( Creature* c = ObjectAccessor::GetCreature(*me, BurrowGUID[i]) ) + if (Creature* c = ObjectAccessor::GetCreature(*me, BurrowGUID[i])) me->CastSpell(c, SPELL_SUMMON_SCARAB, true); events.Repeat(4s); } @@ -368,7 +368,7 @@ class boss_anubarak_trial : public CreatureScript void JustSummoned(Creature* summon) override { - if( !summon ) + if (!summon) return; summons.Summon(summon); @@ -379,13 +379,13 @@ class boss_anubarak_trial : public CreatureScript events.Reset(); summons.DespawnAll(); Talk(SAY_DEATH); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_ANUBARAK, DONE); } void KilledUnit(Unit* who) override { - if( who->IsPlayer() ) + if (who->IsPlayer()) Talk(SAY_KILL_PLAYER); } @@ -394,7 +394,7 @@ class boss_anubarak_trial : public CreatureScript events.Reset(); summons.DespawnAll(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 1); } @@ -409,7 +409,7 @@ class boss_anubarak_trial : public CreatureScript if (!bIntro) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( !me->IsInCombat() ) + if (!me->IsInCombat()) Talk(SAY_INTRO); bIntro = true; } @@ -442,7 +442,7 @@ class npc_swarm_scarab : public CreatureScript void DoAction(int32 param) override { - if( param == 1 ) + if (param == 1) despawnTimer = 2000; } @@ -453,11 +453,11 @@ class npc_swarm_scarab : public CreatureScript determinationTimer = urand(10000, 50000); despawnTimer = 0; if (me->GetFaction() == FACTION_MONSTER_2) // hostile - it's phase 2 - if( Unit* target = me->SelectNearestTarget(250.0f) ) + if (Unit* target = me->SelectNearestTarget(250.0f)) { AttackStart(target); DoZoneInCombat(); - if( Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true) ) + if (Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true)) { me->AddThreat(t, 20000.0f); AttackStart(t); @@ -472,9 +472,9 @@ class npc_swarm_scarab : public CreatureScript void UpdateAI(uint32 diff) override { - if( despawnTimer ) + if (despawnTimer) { - if( despawnTimer <= (int32)diff ) + if (despawnTimer <= (int32)diff ) { despawnTimer = 0; me->DisappearAndDie(); @@ -485,10 +485,10 @@ class npc_swarm_scarab : public CreatureScript return; } - if( !UpdateVictim() ) + if (!UpdateVictim()) return; - if( determinationTimer <= (int32)diff ) + if (determinationTimer <= (int32)diff ) { me->CastSpell(me, SPELL_DETERMINATION, false); determinationTimer = urand(20000, 60000); @@ -556,10 +556,10 @@ class npc_frost_sphere : public CreatureScript void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if( me->GetHealth() <= damage ) + if (me->GetHealth() <= damage ) { damage = 0; - if( !me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE)) { me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->GetMotionMaster()->MoveIdle(); @@ -571,7 +571,7 @@ class npc_frost_sphere : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if( spell->Id == SPELL_SPIKE_FAIL ) + if (spell->Id == SPELL_SPIKE_FAIL) { me->RemoveAllAuras(); me->DespawnOrUnsummon(1500); @@ -580,9 +580,9 @@ class npc_frost_sphere : public CreatureScript void UpdateAI(uint32 diff) override { - if( permafrostTimer ) + if (permafrostTimer) { - if( permafrostTimer <= diff ) + if (permafrostTimer <= diff) { permafrostTimer = 0; me->RemoveAurasDueToSpell(SPELL_FROST_SPHERE); @@ -631,9 +631,9 @@ class npc_nerubian_burrower : public CreatureScript me->CastSpell(me, SPELL_SPIDER_FRENZY, true); events.Reset(); events.RescheduleEvent(EVENT_SUBMERGE, 30s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_SPELL_SHADOW_STRIKE, 30s, 45s); - if( Unit* target = me->SelectNearestTarget(250.0f) ) + if (Unit* target = me->SelectNearestTarget(250.0f)) { AttackStart(target); DoZoneInCombat(); @@ -642,13 +642,13 @@ class npc_nerubian_burrower : public CreatureScript void SpellHitTarget(Unit* target, SpellInfo const* spell) override { - if( !target || !spell ) + if (!target || !spell) return; - if( spell->Id == SPELL_SHADOW_STRIKE ) + if (spell->Id == SPELL_SHADOW_STRIKE) { float o = target->GetOrientation(); - if( o >= M_PI ) + if (o >= M_PI) o -= M_PI; else o += M_PI; @@ -661,25 +661,25 @@ class npc_nerubian_burrower : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_SHADOW_STRIKE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true)) me->CastSpell(target, SPELL_SHADOW_STRIKE, false); events.Repeat(30s, 45s); break; case EVENT_SUBMERGE: - if( HealthBelowPct(80) && !me->HasAura(RAID_MODE(66193, 67855, 67856, 67857)) ) // not having permafrost - allow submerge + if (HealthBelowPct(80) && !me->HasAura(RAID_MODE(66193, 67855, 67856, 67857))) // not having permafrost - allow submerge { me->GetMotionMaster()->MoveIdle(); me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE); @@ -743,9 +743,9 @@ class npc_anubarak_spike : public CreatureScript void DoAction(int32 param) override { - if( param == -1 ) + if (param == -1) { - if( Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID) ) + if (Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID)) target->RemoveAura(SPELL_MARK); TargetGUID.Clear(); me->RemoveAllAuras(); @@ -758,7 +758,7 @@ class npc_anubarak_spike : public CreatureScript void SelectNewTarget(bool next) { if (TargetGUID) - if( Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID) ) + if (Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID)) target->RemoveAura(SPELL_MARK); TargetGUID.Clear(); if (!next) @@ -768,7 +768,7 @@ class npc_anubarak_spike : public CreatureScript } DoZoneInCombat(); DoResetThreatList(); - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true)) { if (!next) { @@ -791,10 +791,10 @@ class npc_anubarak_spike : public CreatureScript void UpdateAI(uint32 diff) override { - if( TargetGUID ) + if (TargetGUID) { Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID); - if( !target || !target->HasAura(SPELL_MARK) || !me->IsValidAttackTarget(target) || me->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE || !me->HasUnitState(UNIT_STATE_CHASE_MOVE) ) + if (!target || !target->HasAura(SPELL_MARK) || !me->IsValidAttackTarget(target) || me->GetMotionMaster()->GetCurrentMovementGeneratorType() != CHASE_MOTION_TYPE || !me->HasUnitState(UNIT_STATE_CHASE_MOVE)) { SelectNewTarget(true); return; @@ -803,7 +803,7 @@ class npc_anubarak_spike : public CreatureScript events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -840,13 +840,13 @@ class spell_pursuing_spikes : public SpellScriptLoader void HandleEffectPeriodic(AuraEffect const* /*aurEff*/) { - if( Unit* target = GetTarget() ) + if (Unit* target = GetTarget()) { - if( Creature* c = target->FindNearestCreature(NPC_FROST_SPHERE, 8.0f, true) ) + if (Creature* c = target->FindNearestCreature(NPC_FROST_SPHERE, 8.0f, true)) { target->UpdatePosition(*c, false); target->CastCustomSpell(SPELL_SPIKE_FAIL, SPELLVALUE_MAX_TARGETS, 1); - if( target->IsCreature() ) + if (target->IsCreature()) target->ToCreature()->AI()->DoAction(-1); Remove(); return; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 72aa2abfccf0ff..acf9bc5be8753d 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -56,16 +56,16 @@ struct boss_faction_championsAI : public ScriptedAI { me->SetInCombatWithZone(); RecalculateThreat(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FACTION_CHAMPIONS_START, 0); } void AttackStart(Unit* who) override { - if( !who ) + if (!who) return; - if( mAIType == AI_MELEE || mAIType == AI_PET ) + if (mAIType == AI_MELEE || mAIType == AI_PET) UnitAI::AttackStart(who); else UnitAI::AttackStartCaster(who, 18.5f); @@ -107,7 +107,7 @@ struct boss_faction_championsAI : public ScriptedAI for( ThreatContainer::StorageType::const_iterator itr = tList.begin(); itr != tList.end(); ++itr ) { Unit* pUnit = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()); - if( pUnit && pUnit->IsPlayer() && me->GetThreatMgr().GetThreat(pUnit) ) + if (pUnit && pUnit->IsPlayer() && me->GetThreatMgr().GetThreat(pUnit)) { float threatMod = GetThreatMod(me->GetDistance2d(pUnit), (float)pUnit->GetArmor(), pUnit->GetHealth(), pUnit->GetMaxHealth(), pUnit); me->GetThreatMgr().ModifyThreatByPercent(pUnit, -100); @@ -126,19 +126,19 @@ struct boss_faction_championsAI : public ScriptedAI void JustDied(Unit* /*pKiller*/) override { - if( pInstance && mAIType != AI_PET ) + if (pInstance && mAIType != AI_PET) pInstance->SetData(TYPE_FACTION_CHAMPIONS, DONE); } void KilledUnit(Unit* /*who*/) override { - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FACTION_CHAMPIONS_PLAYER_DIED, 1); } void EnterEvadeMode(EvadeReason /* why */) override { - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 0); } @@ -146,11 +146,11 @@ struct boss_faction_championsAI : public ScriptedAI { // check for stun, fear, etc. // for casting, silence, disarm check individually in the ai - if( me->isFeared() || me->isFrozen() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasUnitState(UNIT_STATE_CONFUSED) ) + if (me->isFeared() || me->isFrozen() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasUnitState(UNIT_STATE_CONFUSED)) { - if( !IsHeroic() ) + if (!IsHeroic()) return true; - if( me->HasSpellCooldown(SPELL_PVP_TRINKET) ) + if (me->HasSpellCooldown(SPELL_PVP_TRINKET)) return true; else { @@ -164,12 +164,12 @@ struct boss_faction_championsAI : public ScriptedAI Creature* SelectTarget_MostHPLostFriendlyMissingBuff(uint32 spell, float range) { std::list lst = DoFindFriendlyMissingBuff(range, spell); - if( lst.empty() ) + if (lst.empty()) return nullptr; std::list::const_iterator iter = lst.begin(); uint32 lowestHP = (*iter)->GetMaxHealth() - (*iter)->GetHealth(); for( std::list::const_iterator itr = lst.begin(); itr != lst.end(); ++itr ) - if( ((*itr)->GetMaxHealth() - (*itr)->GetHealth()) > lowestHP ) + if (((*itr)->GetMaxHealth() - (*itr)->GetHealth()) > lowestHP ) { iter = itr; lowestHP = (*itr)->GetMaxHealth() - (*itr)->GetHealth(); @@ -185,7 +185,7 @@ struct boss_faction_championsAI : public ScriptedAI for( ThreatContainer::StorageType::const_iterator iter = tList.begin(); iter != tList.end(); ++iter ) { target = ObjectAccessor::GetUnit((*me), (*iter)->getUnitGuid()); - if( target && me->GetDistance2d(target) < distance ) + if (target && me->GetDistance2d(target) < distance ) ++count; } return count; @@ -198,7 +198,7 @@ struct boss_faction_championsAI : public ScriptedAI for( ThreatContainer::StorageType::const_iterator iter = tList.begin(); iter != tList.end(); ++iter ) { target = ObjectAccessor::GetUnit((*me), (*iter)->getUnitGuid()); - if( target && target->getPowerType() == POWER_MANA && (!casting || target->HasUnitState(UNIT_STATE_CASTING)) && me->GetExactDist(target) <= range ) + if (target && target->getPowerType() == POWER_MANA && (!casting || target->HasUnitState(UNIT_STATE_CASTING)) && me->GetExactDist(target) <= range ) return target; } return nullptr; @@ -209,7 +209,7 @@ struct boss_faction_championsAI : public ScriptedAI if (!me->IsInCombat()) return; - if( threatTimer <= diff ) + if (threatTimer <= diff) { RecalculateThreat(); threatTimer = urand(8750, 9250); @@ -217,9 +217,9 @@ struct boss_faction_championsAI : public ScriptedAI else threatTimer -= diff; - if( me->getPowerType() == POWER_MANA ) + if (me->getPowerType() == POWER_MANA ) { - if( powerTimer <= diff ) + if (powerTimer <= diff) { me->ModifyPower(POWER_MANA, me->GetMaxPower(POWER_MANA) / 3); powerTimer = 4000; @@ -227,9 +227,9 @@ struct boss_faction_championsAI : public ScriptedAI else powerTimer -= diff; } - else if( me->getPowerType() == POWER_ENERGY ) + else if (me->getPowerType() == POWER_ENERGY ) { - if( powerTimer <= diff ) + if (powerTimer <= diff) { me->ModifyPower(POWER_ENERGY, me->GetMaxPower(POWER_ENERGY) / 3); powerTimer = 1000; @@ -300,44 +300,44 @@ class npc_toc_druid : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_LIFEBLOOM: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_LIFEBLOOM, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_LIFEBLOOM, 40.0f)) me->CastSpell(target, SPELL_LIFEBLOOM, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_NOURISH: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_NOURISH, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_NOURISH, 40.0f)) me->CastSpell(target, SPELL_NOURISH, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_REGROWTH: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REGROWTH, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REGROWTH, 40.0f)) me->CastSpell(target, SPELL_REGROWTH, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_REJUVENATION: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REJUVENATION, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REJUVENATION, 40.0f)) me->CastSpell(target, SPELL_REJUVENATION, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_THORNS: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_THORNS, 30.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_THORNS, 30.0f)) me->CastSpell(target, SPELL_THORNS, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); @@ -348,7 +348,7 @@ class npc_toc_druid : public CreatureScript EventMapGCD(events, 1500); break; case EVENT_SPELL_BARKSKIN: - if( HealthBelowPct(50) ) + if (HealthBelowPct(50)) { me->CastSpell(me, SPELL_BARKSKIN, false); events.Repeat(1min); @@ -429,38 +429,38 @@ class npc_toc_shaman : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_HEALING_WAVE: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HEALING_WAVE, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HEALING_WAVE, 40.0f)) me->CastSpell(target, SPELL_HEALING_WAVE, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_RIPTIDE: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RIPTIDE, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RIPTIDE, 40.0f)) me->CastSpell(target, SPELL_RIPTIDE, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SPIRIT_CLEANSE: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SPIRIT_CLEANSE, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SPIRIT_CLEANSE, 40.0f)) me->CastSpell(target, SPELL_SPIRIT_CLEANSE, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_HEROISM_OR_BLOODLUST: - if( me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION ) + if (me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION ) me->CastSpell((Unit*)nullptr, SPELL_HEROISM, true); else me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true); @@ -468,19 +468,19 @@ class npc_toc_shaman : public CreatureScript EventMapGCD(events, 1500); break; case EVENT_SPELL_HEX: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true)) me->CastSpell(target, SPELL_HEX, false); events.Repeat(45s); EventMapGCD(events, 1500); break; case EVENT_SPELL_EARTH_SHIELD: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_EARTH_SHIELD, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_EARTH_SHIELD, 40.0f)) me->CastSpell(target, SPELL_EARTH_SHIELD, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_EARTH_SHOCK: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_EARTH_SHOCK, false); events.Repeat(5s, 10s); EventMapGCD(events, 1500); @@ -552,26 +552,26 @@ class npc_toc_paladin : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_HAND_OF_FREEDOM: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_FREEDOM, 30.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_FREEDOM, 30.0f)) me->CastSpell(target, SPELL_HAND_OF_FREEDOM, false); events.Repeat(25s); EventMapGCD(events, 1500); break; case EVENT_SPELL_BUBBLE: - if( HealthBelowPct(25) ) + if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_BUBBLE, false); events.Repeat(5min); @@ -581,31 +581,31 @@ class npc_toc_paladin : public CreatureScript events.Repeat(10s); break; case EVENT_SPELL_CLEANSE: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_CLEANSE, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_CLEANSE, 40.0f)) me->CastSpell(target, SPELL_CLEANSE, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_FLASH_OF_LIGHT: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_OF_LIGHT, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_OF_LIGHT, 40.0f)) me->CastSpell(target, SPELL_FLASH_OF_LIGHT, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_HOLY_LIGHT: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_LIGHT, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_LIGHT, 40.0f)) me->CastSpell(target, SPELL_HOLY_LIGHT, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_HOLY_SHOCK: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_SHOCK, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_SHOCK, 40.0f)) me->CastSpell(target, SPELL_HOLY_SHOCK, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_HAND_OF_PROTECTION: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION, 40.0f)) { me->CastSpell(target, SPELL_HAND_OF_PROTECTION, false); events.Repeat(5min); @@ -615,7 +615,7 @@ class npc_toc_paladin : public CreatureScript events.Repeat(10s); break; case EVENT_SPELL_HAMMER_OF_JUSTICE: - if( Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 15.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 15.0f, true)) { me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE, false); events.Repeat(40s); @@ -685,44 +685,44 @@ class npc_toc_priest : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_RENEW: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RENEW, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RENEW, 40.0f)) me->CastSpell(target, SPELL_RENEW, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SHIELD: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SHIELD, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SHIELD, 40.0f)) me->CastSpell(target, SPELL_SHIELD, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_FLASH_HEAL: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_HEAL, 40.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_HEAL, 40.0f)) me->CastSpell(target, SPELL_FLASH_HEAL, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_DISPEL: - if( Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f)) ) + if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f))) me->CastSpell(target, SPELL_DISPEL, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_MANA_BURN: - if( Unit* target = SelectEnemyCaster(false, 30.0f) ) + if (Unit* target = SelectEnemyCaster(false, 30.0f)) { me->CastSpell(target, SPELL_MANA_BURN, false); events.Repeat(10s, 15s); @@ -732,7 +732,7 @@ class npc_toc_priest : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_PSYCHIC_SCREAM: - if( HealthBelowPct(50) && EnemiesInRange(8.0f) >= 3 ) + if (HealthBelowPct(50) && EnemiesInRange(8.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false); events.Repeat(30s); @@ -808,20 +808,20 @@ class npc_toc_shadow_priest : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_SILENCE: - if( Unit* target = SelectEnemyCaster(false, 30.0f) ) + if (Unit* target = SelectEnemyCaster(false, 30.0f)) { me->CastSpell(target, SPELL_SILENCE, false); events.Repeat(45s); @@ -832,31 +832,31 @@ class npc_toc_shadow_priest : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_VAMPIRIC_TOUCH: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_VAMPIRIC_TOUCH, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SW_PAIN: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SW_PAIN, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_MIND_FLAY: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MIND_FLAY, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_MIND_BLAST: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MIND_BLAST, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_HORROR: - if( me->GetVictim() && me->GetExactDist2d(me->GetVictim()) <= 30.0f ) + if (me->GetVictim() && me->GetExactDist2d(me->GetVictim()) <= 30.0f ) { me->CastSpell(me->GetVictim(), SPELL_HORROR, false); events.Repeat(2min); @@ -866,7 +866,7 @@ class npc_toc_shadow_priest : public CreatureScript events.Repeat(10s); break; case EVENT_SPELL_DISPERSION: - if( HealthBelowPct(25) ) + if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_DISPERSION, false); events.Repeat(3min); @@ -876,13 +876,13 @@ class npc_toc_shadow_priest : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_DISPEL: - if( Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f)) ) + if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f))) me->CastSpell(target, SPELL_DISPEL, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_PSYCHIC_SCREAM: - if( EnemiesInRange(8.0f) >= 3 ) + if (EnemiesInRange(8.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false); events.Repeat(30s); @@ -961,22 +961,22 @@ class npc_toc_warlock : public CreatureScript void JustSummoned(Creature* c) override { - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); } void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -985,7 +985,7 @@ class npc_toc_warlock : public CreatureScript break; case EVENT_SPELL_HELLFIRE: - if( EnemiesInRange(9.0f) >= 3 ) + if (EnemiesInRange(9.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_HELLFIRE, false); events.Repeat(30s); @@ -995,43 +995,43 @@ class npc_toc_warlock : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_CORRUPTION: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CORRUPTION, false); events.Repeat(10s, 20s); EventMapGCD(events, 1500); break; case EVENT_SPELL_CURSE_OF_AGONY: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_AGONY, false); events.Repeat(10s, 20s); EventMapGCD(events, 1500); break; case EVENT_SPELL_CURSE_OF_EXHAUSTION: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_EXHAUSTION, false); events.Repeat(10s, 20s); EventMapGCD(events, 1500); break; case EVENT_SPELL_FEAR: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true)) me->CastSpell(target, SPELL_FEAR, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SEARING_PAIN: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SEARING_PAIN, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SHADOW_BOLT: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_UNSTABLE_AFFLICTION: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_UNSTABLE_AFFLICTION, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); @@ -1105,32 +1105,32 @@ class npc_toc_mage : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_ARCANE_BARRAGE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_ARCANE_BARRAGE, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_ARCANE_BLAST: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_ARCANE_BLAST, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_ARCANE_EXPLOSION: - if( EnemiesInRange(9.0f) >= 3 ) + if (EnemiesInRange(9.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_ARCANE_EXPLOSION, false); events.Repeat(6s); @@ -1140,7 +1140,7 @@ class npc_toc_mage : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_BLINK: - if( HealthBelowPct(50) && EnemiesInRange(10.0f) >= 3 ) + if (HealthBelowPct(50) && EnemiesInRange(10.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_FROST_NOVA, false); events.Repeat(15s); @@ -1151,7 +1151,7 @@ class npc_toc_mage : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_COUNTERSPELL: - if( Unit* target = SelectEnemyCaster(true, 30.0f) ) + if (Unit* target = SelectEnemyCaster(true, 30.0f)) { me->CastSpell(target, SPELL_COUNTERSPELL, false); events.Repeat(24s); @@ -1161,13 +1161,13 @@ class npc_toc_mage : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_FROSTBOLT: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FROSTBOLT, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_ICE_BLOCK: - if( HealthBelowPct(25) ) + if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_ICE_BLOCK, false); events.Repeat(5min); @@ -1177,7 +1177,7 @@ class npc_toc_mage : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_POLYMORPH: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_POLYMORPH, false); events.Repeat(15s); EventMapGCD(events, 1500); @@ -1252,22 +1252,22 @@ class npc_toc_hunter : public CreatureScript void JustSummoned(Creature* c) override { - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); } void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -1276,13 +1276,13 @@ class npc_toc_hunter : public CreatureScript break; case EVENT_SPELL_AIMED_SHOT: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_AIMED_SHOT, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_DETERRENCE: - if( HealthBelowPct(25) ) + if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_DETERRENCE, false); events.Repeat(90s); @@ -1292,7 +1292,7 @@ class npc_toc_hunter : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_DISENGAGE: - if( EnemiesInRange(10.0f) >= 3 ) + if (EnemiesInRange(10.0f) >= 3 ) { me->CastSpell(me, SPELL_DISENGAGE, false); events.Repeat(20s); @@ -1302,7 +1302,7 @@ class npc_toc_hunter : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_EXPLOSIVE_SHOT: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_EXPLOSIVE_SHOT, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); @@ -1313,19 +1313,19 @@ class npc_toc_hunter : public CreatureScript EventMapGCD(events, 1500); break; case EVENT_SPELL_STEADY_SHOT: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_STEADY_SHOT, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_WING_CLIP: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) me->CastSpell(me->GetVictim(), SPELL_WING_CLIP, false); events.Repeat(8s); EventMapGCD(events, 1500); break; case EVENT_SPELL_WYVERN_STING: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true)) { me->CastSpell(target, SPELL_WYVERN_STING, false); events.Repeat(1min); @@ -1336,7 +1336,7 @@ class npc_toc_hunter : public CreatureScript break; } - if( me->isAttackReady() && !me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->isAttackReady() && !me->HasUnitState(UNIT_STATE_CASTING)) { me->CastSpell(me->GetVictim(), SPELL_SHOOT, true); me->resetAttackTimer(); @@ -1405,27 +1405,27 @@ class npc_toc_boomkin : public CreatureScript void JustSummoned(Creature* c) override { - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) c->AI()->AttackStart(target); } void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_BARKSKIN: - if( HealthBelowPct(50) ) + if (HealthBelowPct(50)) { me->CastSpell(me, SPELL_BARKSKIN, false); events.Repeat(1min); @@ -1435,43 +1435,43 @@ class npc_toc_boomkin : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_WRATH: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_WRATH, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_MOONFIRE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MOONFIRE, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_STARFIRE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_STARFIRE, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_INSECT_SWARM: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_INSECT_SWARM, false); events.Repeat(5s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_ENTANGLING_ROOTS: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true)) me->CastSpell(target, SPELL_ENTANGLING_ROOTS, false); events.Repeat(10s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_FAERIE_FIRE: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FAERIE_FIRE, false); events.Repeat(15s, 20s); EventMapGCD(events, 1500); break; case EVENT_SPELL_CYCLONE: - if( Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 20.0f, true)) me->CastSpell(target, SPELL_CYCLONE, false); events.Repeat(25s, 40s); EventMapGCD(events, 1500); @@ -1551,25 +1551,25 @@ class npc_toc_warrior : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_BLADESTORM: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( EnemiesInRange(8.0f) >= 3 ) + if (EnemiesInRange(8.0f) >= 3 ) { me->CastSpell(me, SPELL_BLADESTORM, false); events.Repeat(90s); @@ -1579,7 +1579,7 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_INTIMIDATING_SHOUT: - if( EnemiesInRange(8.0f) >= 3 ) + if (EnemiesInRange(8.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_INTIMIDATING_SHOUT, false); events.Repeat(2min); @@ -1589,18 +1589,18 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_MORTAL_STRIKE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false); events.Repeat(6s, 8s); EventMapGCD(events, 1500); break; case EVENT_SPELL_CHARGE: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) > 8.0f && me->GetDistance2d(me->GetVictim()) < 25.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) > 8.0f && me->GetDistance2d(me->GetVictim()) < 25.0f ) { me->CastSpell(me->GetVictim(), SPELL_CHARGE, false); events.Repeat(10s); @@ -1610,7 +1610,7 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_DISARM: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_DISARM, false); events.Repeat(1min); @@ -1620,12 +1620,12 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_OVERPOWER: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_OVERPOWER, false); events.Repeat(10s, 15s); @@ -1635,12 +1635,12 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_SUNDER_ARMOR: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_SUNDER_ARMOR, false); events.Repeat(10s, 15s); @@ -1650,12 +1650,12 @@ class npc_toc_warrior : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_SHATTERING_THROW: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 25.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 25.0f ) { me->CastSpell(me->GetVictim(), SPELL_SHATTERING_THROW, false); events.Repeat(5min); @@ -1665,12 +1665,12 @@ class npc_toc_warrior : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_RETALIATION: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( EnemiesInRange(8.0f) >= 3 ) + if (EnemiesInRange(8.0f) >= 3 ) { me->CastSpell(me, SPELL_RETALIATION, false); events.Repeat(5min); @@ -1743,20 +1743,20 @@ class npc_toc_dk : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_CHAINS_OF_ICE: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 25.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 25.0f ) { me->CastSpell(me->GetVictim(), SPELL_CHAINS_OF_ICE, false); events.Repeat(10s, 15s); @@ -1766,7 +1766,7 @@ class npc_toc_dk : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_DEATH_COIL: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 30.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 30.0f ) { me->CastSpell(me->GetVictim(), SPELL_DEATH_COIL, false); events.Repeat(5s, 8s); @@ -1776,7 +1776,7 @@ class npc_toc_dk : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_DEATH_GRIP: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 30.0f && me->GetDistance2d(me->GetVictim()) >= 12.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 30.0f && me->GetDistance2d(me->GetVictim()) >= 12.0f ) { me->CastSpell(me->GetVictim(), SPELL_DEATH_GRIP, false); Position pos; @@ -1791,12 +1791,12 @@ class npc_toc_dk : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_FROST_STRIKE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_FROST_STRIKE, false); events.Repeat(6s, 10s); @@ -1806,7 +1806,7 @@ class npc_toc_dk : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_ICEBOUND_FORTITUDE: - if( HealthBelowPct(50) ) + if (HealthBelowPct(50)) { me->CastSpell(me, SPELL_ICEBOUND_FORTITUDE, false); events.Repeat(1min); @@ -1816,7 +1816,7 @@ class npc_toc_dk : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_ICY_TOUCH: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 20.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 20.0f ) { me->CastSpell(me->GetVictim(), SPELL_ICY_TOUCH, false); events.Repeat(10s, 15s); @@ -1826,7 +1826,7 @@ class npc_toc_dk : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_STRANGULATE: - if(SelectEnemyCaster(false, 30.0f)) + if (SelectEnemyCaster(false, 30.0f)) { me->CastSpell(me->GetVictim(), SPELL_STRANGULATE, false); events.Repeat(2min); @@ -1900,25 +1900,25 @@ class npc_toc_rogue : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_FAN_OF_KNIVES: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( EnemiesInRange(10.0f) >= 3 ) + if (EnemiesInRange(10.0f) >= 3 ) { me->CastSpell(me->GetVictim(), SPELL_FAN_OF_KNIVES, false); events.Repeat(6s, 10s); @@ -1928,7 +1928,7 @@ class npc_toc_rogue : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_BLIND: - if( Unit* target = SelectTarget(SelectTargetMethod::MinThreat, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MinThreat, 0, 20.0f, true)) { me->CastSpell(target, SPELL_BLIND, false); events.Repeat(2min); @@ -1938,7 +1938,7 @@ class npc_toc_rogue : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_CLOAK: - if( HealthBelowPct(50) ) + if (HealthBelowPct(50)) { me->CastSpell(me, SPELL_CLOAK, false); events.Repeat(90s); @@ -1948,7 +1948,7 @@ class npc_toc_rogue : public CreatureScript events.Repeat(6s); break; case EVENT_SPELL_BLADE_FLURRY: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) events.Repeat(5s); else { @@ -1958,7 +1958,7 @@ class npc_toc_rogue : public CreatureScript } break; case EVENT_SPELL_SHADOWSTEP: - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 40.0f && me->GetDistance2d(me->GetVictim()) > 10.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) < 40.0f && me->GetDistance2d(me->GetVictim()) > 10.0f ) { me->CastSpell(me->GetVictim(), SPELL_SHADOWSTEP, false); events.Repeat(30s); @@ -1968,12 +1968,12 @@ class npc_toc_rogue : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_HEMORRHAGE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_HEMORRHAGE, false); events.Repeat(5s); @@ -1983,12 +1983,12 @@ class npc_toc_rogue : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_EVISCERATE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) + if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f ) { me->CastSpell(me->GetVictim(), SPELL_EVISCERATE, false); events.Repeat(15s, 25s); @@ -2058,25 +2058,25 @@ class npc_toc_enh_shaman : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_EARTH_SHOCK_ENH: - if( me->HasUnitFlag(UNIT_FLAG_SILENCED) ) + if (me->HasUnitFlag(UNIT_FLAG_SILENCED)) { events.Repeat(5s); break; } - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 25.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 25.0f, true)) { me->CastSpell(target, SPELL_EARTH_SHOCK_ENH, false); events.Repeat(6s, 8s); @@ -2086,12 +2086,12 @@ class npc_toc_enh_shaman : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_LAVA_LASH: - if( me->HasUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND) ) + if (me->HasUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND)) { events.Repeat(5s); break; } - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true)) { me->CastSpell(target, SPELL_LAVA_LASH, false); events.Repeat(6s, 8s); @@ -2101,12 +2101,12 @@ class npc_toc_enh_shaman : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_STORMSTRIKE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) && me->HasUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED) && me->HasUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND)) { events.Repeat(5s); break; } - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true)) { me->CastSpell(target, SPELL_STORMSTRIKE, false); events.Repeat(8s, 9s); @@ -2116,7 +2116,7 @@ class npc_toc_enh_shaman : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_HEROISM_OR_BLOODLUST: - if( me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION ) + if (me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION ) me->CastSpell((Unit*)nullptr, SPELL_HEROISM, true); else me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true); @@ -2196,15 +2196,15 @@ class npc_toc_retro_paladin : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -2214,12 +2214,12 @@ class npc_toc_retro_paladin : public CreatureScript EventMapGCD(events, 1500); break; case EVENT_SPELL_CRUSADER_STRIKE: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.0f, true)) { me->CastSpell(target, SPELL_CRUSADER_STRIKE, false); events.Repeat(6s, 8s); @@ -2229,7 +2229,7 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_DIVINE_SHIELD: - if( HealthBelowPct(25) ) + if (HealthBelowPct(25)) { me->CastSpell(me, SPELL_DIVINE_SHIELD, false); events.Repeat(5min); @@ -2239,12 +2239,12 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_DIVINE_STORM: - if( me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (me->HasUnitFlag(UNIT_FLAG_DISARMED)) { events.Repeat(5s); break; } - if( EnemiesInRange(5.0f) >= 3 ) + if (EnemiesInRange(5.0f) >= 3 ) { me->CastSpell((Unit*)nullptr, SPELL_DIVINE_STORM, false); events.Repeat(10s, 15s); @@ -2254,7 +2254,7 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_HAMMER_OF_JUSTICE_RET: - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 15.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 15.0f, true)) { me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE_RET, false); events.Repeat(40s); @@ -2264,7 +2264,7 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_HAND_OF_PROTECTION_RET: - if( Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION_RET, 30.0f) ) + if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION_RET, 30.0f)) { me->CastSpell(target, SPELL_HAND_OF_PROTECTION_RET, false); events.Repeat(5min); @@ -2274,7 +2274,7 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_JUDGEMENT_OF_COMMAND: - if( Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat, 0, 20.0f, true)) { me->CastSpell(target, SPELL_JUDGEMENT_OF_COMMAND, false); events.Repeat(10s, 15s); @@ -2284,7 +2284,7 @@ class npc_toc_retro_paladin : public CreatureScript events.Repeat(5s); break; case EVENT_SPELL_REPENTANCE: - if( Unit* target = SelectTarget(SelectTargetMethod::MinThreat, 0, 20.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::MinThreat, 0, 20.0f, true)) { me->CastSpell(target, SPELL_REPENTANCE, false); events.Repeat(1min); @@ -2341,26 +2341,26 @@ class npc_toc_pet_warlock : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_DEVOUR_MAGIC: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_DEVOUR_MAGIC, false); events.Repeat(8s, 15s); EventMapGCD(events, 1500); break; case EVENT_SPELL_SPELL_LOCK: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SPELL_LOCK, false); events.Repeat(24s); EventMapGCD(events, 1500); @@ -2415,20 +2415,20 @@ class npc_toc_pet_hunter : public CreatureScript void UpdateAI(uint32 diff) override { boss_faction_championsAI::UpdateAI(diff); - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( !myCanCast() ) + if (!myCanCast()) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_CLAW: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_CLAW, false); events.Repeat(8s, 15s); break; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp index 7f8d8c6e3a448d..ebb2299dbbb542 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp @@ -116,7 +116,7 @@ class boss_jaraxxus : public CreatureScript void Reset() override { events.Reset(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_JARAXXUS, NOT_STARTED); std::list creatures; @@ -135,34 +135,34 @@ class boss_jaraxxus : public CreatureScript events.RescheduleEvent(EVENT_SPELL_INCINERATE_FLESH, 24s, 26s); events.RescheduleEvent(EVENT_SPELL_NETHER_POWER, 25s, 45s); events.RescheduleEvent(EVENT_SPELL_LEGION_FLAME, 30s); - //if( GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC ) + //if (GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC ) // events.RescheduleEvent(EVENT_SPELL_TOUCH_OF_JARAXXUS, 10s, 15s); events.RescheduleEvent(EVENT_SUMMON_NETHER_PORTAL, 20s); // it schedules EVENT_SUMMON_VOLCANO me->RemoveAura(SPELL_CHAINS); Talk(SAY_AGGRO); DoZoneInCombat(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_JARAXXUS, IN_PROGRESS); } void SpellHit(Unit* caster, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case 66228: case 67106: case 67107: case 67108: - if( Aura* a = me->GetAura(spell->Id) ) + if (Aura* a = me->GetAura(spell->Id)) a->SetStackAmount(spell->StackAmount); break; case 30449: { - if( !caster ) + if (!caster) return; uint32 id = 0; - switch( me->GetMap()->GetDifficulty() ) + switch (me->GetMap()->GetDifficulty()) { case 0: id = 66228; @@ -177,9 +177,9 @@ class boss_jaraxxus : public CreatureScript id = 67108; break; } - if( Aura* a = me->GetAura(id) ) + if (Aura* a = me->GetAura(id)) { - if( a->GetStackAmount() > 1 ) + if (a->GetStackAmount() > 1 ) a->ModStackAmount(-1); else a->Remove(); @@ -194,30 +194,30 @@ class boss_jaraxxus : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_FEL_FIREBALL: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_FEL_FIREBALL, false); events.Repeat(10s, 15s); break; case EVENT_SPELL_FEL_LIGHTNING: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true)) me->CastSpell(target, SPELL_FEL_LIGHTNING, false); events.Repeat(10s, 15s); break; case EVENT_SPELL_INCINERATE_FLESH: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true)) { Talk(EMOTE_INCINERATE, target); Talk(SAY_INCINERATE); @@ -231,7 +231,7 @@ class boss_jaraxxus : public CreatureScript events.Repeat(25s, 45s); break; case EVENT_SPELL_LEGION_FLAME: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true)) { Talk(EMOTE_LEGION_FLAME, target); me->CastSpell(target, SPELL_LEGION_FLAME, false); @@ -239,7 +239,7 @@ class boss_jaraxxus : public CreatureScript events.Repeat(30s); break; case EVENT_SPELL_TOUCH_OF_JARAXXUS: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true)) me->CastSpell(target, SPELL_TOUCH_OF_JARAXXUS, false); events.Repeat(10s, 15s); break; @@ -266,7 +266,7 @@ class boss_jaraxxus : public CreatureScript { summons.DespawnAll(); Talk(SAY_DEATH); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_JARAXXUS, DONE); } @@ -285,7 +285,7 @@ class boss_jaraxxus : public CreatureScript events.Reset(); summons.DespawnAll(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 1); } @@ -311,7 +311,7 @@ class npc_fel_infernal : public CreatureScript void Reset() override { - if( Unit* target = me->SelectNearestTarget(200.0f) ) + if (Unit* target = me->SelectNearestTarget(200.0f)) { AttackStart(target); DoZoneInCombat(); @@ -322,20 +322,20 @@ class npc_fel_infernal : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_FEL_STEAK: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 44.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 44.0f, true)) { DoResetThreatList(); me->AddThreat(target, 50000.0f); @@ -381,7 +381,7 @@ class npc_mistress_of_pain : public CreatureScript void Reset() override { - if( Unit* target = me->SelectNearestTarget(200.0f) ) + if (Unit* target = me->SelectNearestTarget(200.0f)) { AttackStart(target); DoZoneInCombat(); @@ -389,7 +389,7 @@ class npc_mistress_of_pain : public CreatureScript events.Reset(); events.RescheduleEvent(EVENT_SPELL_SHIVAN_SLASH, 10s, 20s); events.RescheduleEvent(EVENT_SPELL_SPINNING_PAIN_SPIKE, 22s, 30s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_SPELL_MISTRESS_KISS, 10s, 15s); } @@ -401,25 +401,25 @@ class npc_mistress_of_pain : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_SHIVAN_SLASH: - if( me->GetVictim() ) + if (me->GetVictim()) me->CastSpell(me->GetVictim(), SPELL_SHIVAN_SLASH, false); events.Repeat(15s, 25s); break; case EVENT_SPELL_SPINNING_PAIN_SPIKE: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 140.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 140.0f, true)) me->CastSpell(target, SPELL_SPINNING_PAIN_SPIKE, false); events.Repeat(25s, 30s); break; @@ -457,7 +457,7 @@ class spell_toc25_mistress_kiss : public SpellScriptLoader { if (Unit* caster = GetCaster()) if (Unit* target = GetTarget()) - if( target->HasUnitState(UNIT_STATE_CASTING) ) + if (target->HasUnitState(UNIT_STATE_CASTING)) { caster->CastSpell(target, 66359, true); SetDuration(0); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index 01a4a72030f40b..9ad8b6230d706e 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -113,7 +113,7 @@ class npc_snobold_vassal : public CreatureScript void AttackStart(Unit* who) override { - if( who->GetGUID() != TargetGUID ) + if (who->GetGUID() != TargetGUID ) return; ScriptedAI::AttackStart(who); } @@ -122,26 +122,26 @@ class npc_snobold_vassal : public CreatureScript void UpdateAI(uint32 diff) override { - if( !TargetGUID && !me->GetVehicle() ) + if (!TargetGUID && !me->GetVehicle()) return; Unit* t = ObjectAccessor::GetUnit(*me, TargetGUID); - if( !t && !(t = me->GetVehicleBase()) ) + if (!t && !(t = me->GetVehicleBase())) return; - if( t->isDead() ) + if (t->isDead()) { t->RemoveAura(SPELL_CHANGE_VEHICLE); me->RemoveAllAuras(); me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetHealth(me->GetMaxHealth()); - if( pInstance ) - if( Creature* gormok = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_GORMOK)) ) - if( gormok->IsAlive() ) - if( Vehicle* vk = gormok->GetVehicleKit() ) + if (pInstance) + if (Creature* gormok = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_GORMOK))) + if (gormok->IsAlive()) + if (Vehicle* vk = gormok->GetVehicleKit()) for( uint8 i = 0; i < 4; ++i ) - if( !vk->GetPassenger(i) ) + if (!vk->GetPassenger(i)) { me->EnterVehicleUnattackable(gormok, i); Reset(); @@ -153,26 +153,26 @@ class npc_snobold_vassal : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_SNOBOLLED: - if( t->IsPlayer() ) + if (t->IsPlayer()) me->CastSpell((Unit*)nullptr, SPELL_SNOBOLLED, true); break; case EVENT_SPELL_BATTER: - if( t->IsPlayer() ) + if (t->IsPlayer()) me->CastSpell(t, SPELL_BATTER); events.Repeat(6s, 8s); break; case EVENT_SPELL_FIRE_BOMB: { - if( !t->IsPlayer() && pInstance ) + if (!t->IsPlayer() && pInstance ) { GuidVector validPlayers; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); @@ -180,14 +180,14 @@ class npc_snobold_vassal : public CreatureScript for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { - if( Player* p = itr->GetSource() ) - if( p->IsAlive() && p->GetGUID() != TargetGUID && (!gormok || !p->IsWithinMeleeRange(gormok)) ) + if (Player* p = itr->GetSource()) + if (p->IsAlive() && p->GetGUID() != TargetGUID && (!gormok || !p->IsWithinMeleeRange(gormok))) validPlayers.push_back(p->GetGUID()); } - if( !validPlayers.empty() ) - if( Player* p = ObjectAccessor::GetPlayer(*me, validPlayers.at(urand(0, validPlayers.size() - 1))) ) - if( Creature* trigger = me->SummonCreature(NPC_FIRE_BOMB, *p, TEMPSUMMON_TIMED_DESPAWN, 60000) ) + if (!validPlayers.empty()) + if (Player* p = ObjectAccessor::GetPlayer(*me, validPlayers.at(urand(0, validPlayers.size() - 1)))) + if (Creature* trigger = me->SummonCreature(NPC_FIRE_BOMB, *p, TEMPSUMMON_TIMED_DESPAWN, 60000)) { me->CastSpell(trigger, SPELL_FIRE_BOMB_AURA, true); // periodic damage aura, speed 14.0f me->CastSpell(trigger, SPELL_FIRE_BOMB); // visual + initial damage 4k @@ -198,7 +198,7 @@ class npc_snobold_vassal : public CreatureScript } break; case EVENT_SPELL_HEAD_CRACK: - if( t->IsPlayer() ) + if (t->IsPlayer()) me->CastSpell(t, SPELL_HEAD_CRACK); events.Repeat(30s, 35s); break; @@ -209,17 +209,17 @@ class npc_snobold_vassal : public CreatureScript void JustDied(Unit* /*pKiller*/) override { - if( Unit* t = ObjectAccessor::GetUnit(*me, TargetGUID)) + if (Unit* t = ObjectAccessor::GetUnit(*me, TargetGUID)) { t->RemoveAura(SPELL_CHANGE_VEHICLE); - if( t->IsAlive() ) + if (t->IsAlive()) t->RemoveAurasDueToSpell(SPELL_SNOBOLLED); } } void DoAction(int32 param) override { - if( param == 1 && !TargetGUID ) + if (param == 1 && !TargetGUID) me->DespawnOrUnsummon(); } }; @@ -265,9 +265,9 @@ class boss_gormok : public CreatureScript events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 16s, 24s); // refresh snobold position - if( Vehicle* vk = me->GetVehicleKit() ) + if (Vehicle* vk = me->GetVehicleKit()) for( uint8 i = 0; i < 4; ++i ) - if( Unit* snobold = vk->GetPassenger(i) ) + if (Unit* snobold = vk->GetPassenger(i)) snobold->SendMovementFlagUpdate(); } @@ -280,22 +280,22 @@ class boss_gormok : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_IMPALE: - if( !me->HasUnitFlag(UNIT_FLAG_DISARMED) ) + if (!me->HasUnitFlag(UNIT_FLAG_DISARMED)) { - if( Unit* victim = me->GetVictim() ) + if (Unit* victim = me->GetVictim()) me->CastSpell(victim, SPELL_IMPALE, false); events.Repeat(9s, 10s); } @@ -307,21 +307,21 @@ class boss_gormok : public CreatureScript events.Repeat(20s, 25s); break; case EVENT_PICK_SNOBOLD_TARGET: - if( Vehicle* vk = me->GetVehicleKit() ) + if (Vehicle* vk = me->GetVehicleKit()) for( uint8 i = 0; i < 4; ++i ) - if( Unit* snobold = vk->GetPassenger(i) ) + if (Unit* snobold = vk->GetPassenger(i)) { GuidVector validPlayers; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { - if( Player* p = itr->GetSource() ) - if( p->IsAlive() && !p->GetVehicleKit() && !p->IsMounted() && !p->GetVehicle() && !p->IsGameMaster() ) + if (Player* p = itr->GetSource()) + if (p->IsAlive() && !p->GetVehicleKit() && !p->IsMounted() && !p->GetVehicle() && !p->IsGameMaster()) validPlayers.push_back(p->GetGUID()); } - if( !validPlayers.empty() ) - if( Player* p = ObjectAccessor::GetPlayer(*me, validPlayers.at(urand(0, validPlayers.size() - 1))) ) + if (!validPlayers.empty()) + if (Player* p = ObjectAccessor::GetPlayer(*me, validPlayers.at(urand(0, validPlayers.size() - 1)))) { snobold->ChangeSeat(4); // switch to hand me->setAttackTimer(BASE_ATTACK, 3000); @@ -337,12 +337,12 @@ class boss_gormok : public CreatureScript { me->CastSpell(me, SPELL_RISING_ANGER, true); Player* p = ObjectAccessor::GetPlayer(*me, PlayerGUID); - if( p && p->IsAlive() && !p->GetVehicleKit() && !p->IsMounted() && !p->GetVehicle() ) + if (p && p->IsAlive() && !p->GetVehicleKit() && !p->IsMounted() && !p->GetVehicle()) { - if( Vehicle* vk = me->GetVehicleKit() ) - if( Unit* snobold = vk->GetPassenger(4) ) + if (Vehicle* vk = me->GetVehicleKit()) + if (Unit* snobold = vk->GetPassenger(4)) { - if( snobold->IsCreature() ) + if (snobold->IsCreature()) { CAST_AI(npc_snobold_vassal::npc_snobold_vassalAI, snobold->ToCreature()->AI())->TargetGUID = PlayerGUID; snobold->ToCreature()->AI()->AttackStart(p); @@ -353,21 +353,21 @@ class boss_gormok : public CreatureScript //snobold->ClearUnitState(UNIT_STATE_ONVEHICLE); } } - else if( Vehicle* vk = me->GetVehicleKit() ) + else if (Vehicle* vk = me->GetVehicleKit()) { events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 5s); - if( Unit* snobold = vk->GetPassenger(4) ) - if( snobold->IsCreature() ) + if (Unit* snobold = vk->GetPassenger(4)) + if (snobold->IsCreature()) { bool needDespawn = true; for( uint8 i = 0; i < 4; ++i ) - if( !vk->GetPassenger(i) ) + if (!vk->GetPassenger(i)) { snobold->ChangeSeat(i); needDespawn = false; break; } - if( needDespawn ) + if (needDespawn) snobold->ToCreature()->DespawnOrUnsummon(); } } @@ -383,7 +383,7 @@ class boss_gormok : public CreatureScript { summons.DoAction(1); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_GORMOK, DONE); } @@ -394,7 +394,7 @@ class boss_gormok : public CreatureScript void DoAction(int32 param) override { - switch( param ) + switch (param) { case -1: summons.DespawnAll(); @@ -407,7 +407,7 @@ class boss_gormok : public CreatureScript events.Reset(); summons.DespawnAll(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 1); } }; @@ -488,16 +488,16 @@ struct boss_jormungarAI : public ScriptedAI void DoAction(int32 param) override { - switch( param ) + switch (param) { case -1: - if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) events.RescheduleEvent(EVENT_SUBMERGE, 1500ms); break; case -2: - if( me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) bIsStationary = true; // it will come out mobile soon - else if( me->GetDisplayId() == _MODEL_STATIONARY ) + else if (me->GetDisplayId() == _MODEL_STATIONARY ) events.RescheduleEvent(EVENT_SUBMERGE, 1s); else events.CancelEvent(EVENT_SUBMERGE); @@ -510,7 +510,7 @@ struct boss_jormungarAI : public ScriptedAI void ScheduleEvents() { events.Reset(); - if( me->GetDisplayId() == _MODEL_STATIONARY ) + if (me->GetDisplayId() == _MODEL_STATIONARY ) { me->SetAttackTime(BASE_ATTACK, 1500); events.RescheduleEvent(EVENT_SPELL_SPRAY, (me->GetEntry() == NPC_ACIDMAW ? 20s : 15s)); @@ -523,7 +523,7 @@ struct boss_jormungarAI : public ScriptedAI events.RescheduleEvent(EVENT_SPELL_SPEW, 15s, 30s); events.RescheduleEvent(EVENT_SPELL_SLIME_POOL, 15s); } - if( !me->HasAura(SPELL_ENRAGE) ) + if (!me->HasAura(SPELL_ENRAGE)) events.RescheduleEvent(EVENT_SUBMERGE, 45s, 50s); } @@ -540,11 +540,11 @@ struct boss_jormungarAI : public ScriptedAI void AttackStart(Unit* who) override { - if( me->GetDisplayId() == _MODEL_STATIONARY ) + if (me->GetDisplayId() == _MODEL_STATIONARY ) { - if( !who ) + if (!who) return; - if( me->Attack(who, true) ) + if (me->Attack(who, true)) DoStartNoMovement(who); } else @@ -553,15 +553,15 @@ struct boss_jormungarAI : public ScriptedAI void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -573,8 +573,8 @@ struct boss_jormungarAI : public ScriptedAI Talk(EMOTE_SUBMERGE); // second one submerge 1.5sec after the first one, used also for synchronizing - if( pInstance ) - if( Creature* c = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(_TYPE_OTHER)) ) + if (pInstance) + if (Creature* c = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(_TYPE_OTHER))) c->AI()->DoAction(-1); events.Reset(); @@ -584,7 +584,7 @@ struct boss_jormungarAI : public ScriptedAI case EVENT_MOVE_UNDERGROUND: { float angle = me->GetAngle(Locs[LOC_CENTER].GetPositionX() + urand(0, 20) - 10.0f, Locs[LOC_CENTER].GetPositionY() + urand(0, 20) - 10.0f), dist = urand(10, 35); - if( Creature* c = me->SummonCreature(NPC_WORLD_TRIGGER, *me, TEMPSUMMON_TIMED_DESPAWN, 6000) ) + if (Creature* c = me->SummonCreature(NPC_WORLD_TRIGGER, *me, TEMPSUMMON_TIMED_DESPAWN, 6000)) { c->SetSpeed(MOVE_RUN, 2.5f); c->CastSpell(c, SPELL_CHURNING_GROUND, true); @@ -603,11 +603,11 @@ struct boss_jormungarAI : public ScriptedAI me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MoveIdle(); me->StopMoving(); - if( bIsStationary ) + if (bIsStationary) { me->SetNativeDisplayId(_MODEL_MOBILE); me->SetCombatMovement(true); - if( Unit* victim = me->GetVictim() ) + if (Unit* victim = me->GetVictim()) me->GetMotionMaster()->MoveChase(victim); } else @@ -623,7 +623,7 @@ struct boss_jormungarAI : public ScriptedAI } break; case EVENT_SPELL_SPRAY: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true)) me->CastSpell(target, _SPELL_SPRAY, false); events.Repeat(20s); break; @@ -632,7 +632,7 @@ struct boss_jormungarAI : public ScriptedAI events.Repeat(15s, 30s); break; case EVENT_SPELL_BITE: - if( Unit* victim = me->GetVictim() ) + if (Unit* victim = me->GetVictim()) me->CastSpell(victim, _SPELL_BITE, false); events.Repeat(20s); break; @@ -641,15 +641,15 @@ struct boss_jormungarAI : public ScriptedAI events.Repeat(15s, 30s); break; case EVENT_SPELL_SLIME_POOL: - if( Creature* c = me->SummonCreature(NPC_SLIME_POOL, *me, TEMPSUMMON_TIMED_DESPAWN, 30000) ) + if (Creature* c = me->SummonCreature(NPC_SLIME_POOL, *me, TEMPSUMMON_TIMED_DESPAWN, 30000)) c->CastSpell(c, SPELL_SLIME_POOL_EFFECT, true); events.Repeat(30s); break; } - if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) { - if( me->GetDisplayId() == _MODEL_STATIONARY ) + if (me->GetDisplayId() == _MODEL_STATIONARY ) DoSpellAttackIfReady(_SPELL_SPIT); else DoMeleeAttackIfReady(); @@ -658,10 +658,10 @@ struct boss_jormungarAI : public ScriptedAI void JustDied(Unit* /*pKiller*/) override { - if( pInstance ) + if (pInstance) { - if( Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(_TYPE_OTHER)) ) - if( c->IsAlive() ) + if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(_TYPE_OTHER))) + if (c->IsAlive()) c->AI()->DoAction(-2); pInstance->SetData(TYPE_JORMUNGAR, DONE); } @@ -671,7 +671,7 @@ struct boss_jormungarAI : public ScriptedAI { events.Reset(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 1); } }; @@ -817,8 +817,8 @@ class boss_icehowl : public CreatureScript { Map::PlayerList const& lPlayers = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = lPlayers.begin(); itr != lPlayers.end(); ++itr ) - if( Unit* p = itr->GetSource() ) - if( p->IsAlive() && p->GetExactDist(me) <= 12.0f ) + if (Unit* p = itr->GetSource()) + if (p->IsAlive() && p->GetExactDist(me) <= 12.0f ) { DoCastAOE(SPELL_TRAMPLE); return true; @@ -829,7 +829,7 @@ class boss_icehowl : public CreatureScript void MovementInform(uint32 /*type*/, uint32 id) override { - if( id == EVENT_CHARGE ) + if (id == EVENT_CHARGE) { events.Reset(); events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 5s, 15s); @@ -843,7 +843,7 @@ class boss_icehowl : public CreatureScript me->UpdatePosition(destX, destY, destZ, angle, true); me->StopMovingOnCurrentPos(); - if( !DoTrampleIfValid() ) + if (!DoTrampleIfValid()) { me->CastSpell(me, SPELL_STAGGERED_DAZE, true); me->CastSpell((Unit*)nullptr, SPELL_TRAMPLE, true); @@ -862,20 +862,20 @@ class boss_icehowl : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_FEROCIOUS_BUTT: - if( Unit* victim = me->GetVictim() ) + if (Unit* victim = me->GetVictim()) me->CastSpell(victim, SPELL_FEROCIOUS_BUTT, false); events.Repeat(15s, 30s); break; @@ -884,7 +884,7 @@ class boss_icehowl : public CreatureScript events.Repeat(15s, 20s); break; case EVENT_SPELL_ARCTIC_BREATH: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true)) me->CastSpell(target, SPELL_ARCTIC_BREATH, false); events.Repeat(20s, 30s); break; @@ -906,7 +906,7 @@ class boss_icehowl : public CreatureScript events.RescheduleEvent(EVENT_GAZE, 2s); break; case EVENT_GAZE: - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 500.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 500.0f, true)) { TargetGUID = target->GetGUID(); me->SetGuidValue(UNIT_FIELD_TARGET, TargetGUID); @@ -929,14 +929,14 @@ class boss_icehowl : public CreatureScript case EVENT_JUMP_BACK: { float angle; - if( Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID) ) + if (Unit* target = ObjectAccessor::GetPlayer(*me, TargetGUID)) angle = me->GetAngle(target); else // in case something went wrong angle = rand_norm() * 2 * M_PI; float jumpangle = angle >= M_PI ? angle - M_PI : angle + M_PI; float dist = 50.0f; - if( angle > 1.0f && angle < 2.0f ) // near main gate + if (angle > 1.0f && angle < 2.0f) // near main gate dist = 46.0f; destX = Locs[LOC_CENTER].GetPositionX() + cos(angle) * dist; destY = Locs[LOC_CENTER].GetPositionY() + std::sin(angle) * dist; @@ -946,8 +946,8 @@ class boss_icehowl : public CreatureScript events.RescheduleEvent(EVENT_TRAMPLE, 1500ms); - if( pInstance ) - switch( GetDifficulty() ) + if (pInstance) + switch (GetDifficulty()) { case RAID_DIFFICULTY_10MAN_NORMAL: pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MASSIVE_CRASH); @@ -976,7 +976,7 @@ class boss_icehowl : public CreatureScript break; case EVENT_CHECK_TRAMPLE_PLAYERS: - if( DoTrampleIfValid() ) + if (DoTrampleIfValid()) { events.Reset(); events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 5s, 15s); @@ -996,7 +996,7 @@ class boss_icehowl : public CreatureScript break; } - if( me->GetReactState() != REACT_PASSIVE ) + if (me->GetReactState() != REACT_PASSIVE ) DoMeleeAttackIfReady(); } @@ -1004,13 +1004,13 @@ class boss_icehowl : public CreatureScript { events.Reset(); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 1); } void JustDied(Unit* /*killer*/) override { - if( !pInstance ) + if (!pInstance) return; pInstance->SetData(TYPE_ICEHOWL, DONE); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index e3f805fb7e830f..48e3fbd57933b2 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -116,9 +116,9 @@ struct boss_twin_valkyrAI : public ScriptedAI me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_HASTE_SPELLS, true); events.Reset(); - if( me->GetEntry() == NPC_LIGHTBANE ) + if (me->GetEntry() == NPC_LIGHTBANE ) { - if( pInstance ) + if (pInstance) pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, 21853); // special events here @@ -127,7 +127,7 @@ struct boss_twin_valkyrAI : public ScriptedAI events.RescheduleEvent(EVENT_SPECIAL, 45s); } events.RescheduleEvent(EVENT_SPELL_SPIKE, 5s, 8s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_SPELL_TOUCH, 10s, 25s, 1); me->SetCanFly(true); @@ -142,14 +142,14 @@ struct boss_twin_valkyrAI : public ScriptedAI void DoAction(int32 a) override { - switch( a ) + switch (a) { case -1: summons.DespawnAll(); - if( pInstance && me->GetEntry() == NPC_LIGHTBANE ) + if (pInstance && me->GetEntry() == NPC_LIGHTBANE ) { uint32 essenceId1 = 0, empoweredId1 = 0, touchId1 = 0, essenceId2 = 0, empoweredId2 = 0, touchId2 = 0; - switch( me->GetMap()->GetDifficulty() ) + switch (me->GetMap()->GetDifficulty()) { case 0: essenceId1 = 65684; @@ -207,7 +207,7 @@ struct boss_twin_valkyrAI : public ScriptedAI /*void AttackStart(Unit* victim) { - if( victim && me->Attack(victim, true) ) + if (victim && me->Attack(victim, true)) me->GetMotionMaster()->MoveChase(victim, 0.0f, 0.0f, 6.0f); }*/ @@ -216,15 +216,15 @@ struct boss_twin_valkyrAI : public ScriptedAI me->setActive(true); me->LowerPlayerDamageReq(me->GetMaxHealth()); DoZoneInCombat(); - if( Creature* twin = GetSister() ) - if( !twin->IsInCombat() ) - if( Unit* target = twin->SelectNearestTarget(200.0f) ) + if (Creature* twin = GetSister()) + if (!twin->IsInCombat()) + if (Unit* target = twin->SelectNearestTarget(200.0f)) twin->AI()->AttackStart(target); Talk(SAY_AGGRO); me->CastSpell(me, me->GetEntry() == NPC_LIGHTBANE ? SPELL_LIGHT_SURGE : SPELL_DARK_SURGE, true); - if( pInstance && me->GetEntry() == NPC_LIGHTBANE ) + if (pInstance && me->GetEntry() == NPC_LIGHTBANE ) pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, 21853); } @@ -265,13 +265,13 @@ struct boss_twin_valkyrAI : public ScriptedAI void UpdateSharedHealth() { // lightbane synchronizes - if( me->GetEntry() == NPC_LIGHTBANE ) - if( Creature* twin = GetSister() ) - if( twin->IsAlive() && me->IsAlive() ) + if (me->GetEntry() == NPC_LIGHTBANE ) + if (Creature* twin = GetSister()) + if (twin->IsAlive() && me->IsAlive()) { int32 d = CAST_AI(boss_twin_valkyrAI, twin->AI())->LastSynchroHP - (int32)twin->GetHealth(); int32 newhealth = (int32)me->GetHealth() - d; - if( newhealth <= 0 ) + if (newhealth <= 0) newhealth = 1; me->SetHealth( (uint32)newhealth ); twin->SetHealth(me->GetHealth()); @@ -281,25 +281,25 @@ struct boss_twin_valkyrAI : public ScriptedAI void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; UpdateSharedHealth(); events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; uint8 eventId = events.ExecuteEvent(); - switch(eventId) + switch (eventId) { case 0: break; case EVENT_BERSERK: me->CastSpell(me, SPELL_BERSERK, true); Talk(SAY_BERSERK); - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) { twin->CastSpell(twin, SPELL_BERSERK, true); twin->AI()->Talk(SAY_BERSERK); @@ -311,18 +311,18 @@ struct boss_twin_valkyrAI : public ScriptedAI case EVENT_SUMMON_BALLS_3: { uint8 count = 0; - if( IsHeroic() ) + if (IsHeroic()) count = eventId == EVENT_SUMMON_BALLS_3 ? 36 : 6; else count = eventId == EVENT_SUMMON_BALLS_3 ? 24 : 4; for( uint8 i = 0; i < count; ++i ) { float angle = rand_norm() * 2 * M_PI; - if( Creature* ball = me->SummonCreature((i % 2) ? NPC_CONCENTRATED_DARK : NPC_CONCENTRATED_LIGHT, Locs[LOC_CENTER].GetPositionX() + cos(angle) * 47.0f, Locs[LOC_CENTER].GetPositionY() + std::sin(angle) * 47.0f, Locs[LOC_CENTER].GetPositionZ() + 1.5f, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1500) ) + if (Creature* ball = me->SummonCreature((i % 2) ? NPC_CONCENTRATED_DARK : NPC_CONCENTRATED_LIGHT, Locs[LOC_CENTER].GetPositionX() + cos(angle) * 47.0f, Locs[LOC_CENTER].GetPositionY() + std::sin(angle) * 47.0f, Locs[LOC_CENTER].GetPositionZ() + 1.5f, 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1500)) boss_twin_valkyrAI::JustSummoned(ball); } - switch( eventId ) + switch (eventId) { case EVENT_SUMMON_BALLS_1: events.RescheduleEvent(EVENT_SUMMON_BALLS_2, 8s); @@ -343,10 +343,10 @@ struct boss_twin_valkyrAI : public ScriptedAI case EVENT_SPELL_TOUCH: { uint32 essenceId = 0; - switch( me->GetEntry() ) + switch (me->GetEntry()) { case NPC_LIGHTBANE: - switch( GetDifficulty() ) + switch (GetDifficulty()) { case 0: essenceId = 65684; @@ -363,7 +363,7 @@ struct boss_twin_valkyrAI : public ScriptedAI } break; case NPC_DARKBANE: - switch( GetDifficulty() ) + switch (GetDifficulty()) { case 0: essenceId = 65686; @@ -382,7 +382,7 @@ struct boss_twin_valkyrAI : public ScriptedAI } /* - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, essenceId) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, essenceId)) me->CastSpell(target, me->GetEntry()==NPC_LIGHTBANE ? SPELL_LIGHT_TOUCH : SPELL_DARK_TOUCH, false); events.RepeatEvent(urand(45000,50000)); */ @@ -414,17 +414,17 @@ struct boss_twin_valkyrAI : public ScriptedAI do s = urand(0, 3); while( SpecialMask & (1 << s) && (SpecialMask & 0xF) != 0xF ); SpecialMask |= (1 << s); - switch( s ) + switch (s) { case 0: // light vortex me->CastSpell((Unit*)nullptr, SPELL_LIGHT_VORTEX, false); Talk(EMOTE_VORTEX); Talk(SAY_LIGHT); - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) twin->AI()->Talk(SAY_LIGHT); break; case 1: // dark vortex - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) { twin->CastSpell((Unit*)nullptr, SPELL_DARK_VORTEX, false); twin->AI()->Talk(EMOTE_VORTEX); @@ -435,7 +435,7 @@ struct boss_twin_valkyrAI : public ScriptedAI case 2: // light pact Talk(EMOTE_TWINK_PACT); Talk(SAY_TWINK_PACT); - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) { twin->AI()->Talk(SAY_TWINK_PACT); twin->AI()->DoAction(-3); @@ -444,7 +444,7 @@ struct boss_twin_valkyrAI : public ScriptedAI me->CastSpell(me, SPELL_LIGHT_TWIN_PACT, false); break; case 3: // dark pact - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) { twin->AI()->Talk(EMOTE_TWINK_PACT); twin->AI()->Talk(SAY_TWINK_PACT); @@ -455,7 +455,7 @@ struct boss_twin_valkyrAI : public ScriptedAI } break; } - if( (SpecialMask & 0xF) == 0xF ) + if ((SpecialMask & 0xF) == 0xF ) SpecialMask = 0; events.Repeat(45s); events.DelayEventsToMax(15000, 1); // no touch of light/darkness during special abilities! @@ -474,13 +474,13 @@ struct boss_twin_valkyrAI : public ScriptedAI { DoAction(-1); Talk(SAY_DEATH); - if( pInstance ) + if (pInstance) { pInstance->SetData(TYPE_VALKYR, DONE); pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_POWERING_UP); } - if( Creature* twin = GetSister() ) - if( twin->IsAlive() ) + if (Creature* twin = GetSister()) + if (twin->IsAlive()) { twin->SetHealth(1); Unit::Kill(twin, twin); @@ -499,17 +499,17 @@ struct boss_twin_valkyrAI : public ScriptedAI void KilledUnit(Unit* who) override { - if( who->IsPlayer() ) + if (who->IsPlayer()) { Talk(SAY_KILL_PLAYER); - if( Creature* twin = GetSister() ) + if (Creature* twin = GetSister()) twin->AI()->Talk(SAY_KILL_PLAYER); } } void EnterEvadeMode(EvadeReason /* why */) override { - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_FAILED, 0); } }; @@ -530,9 +530,9 @@ class boss_eydis : public CreatureScript { me->SetFlag(UNIT_FIELD_AURASTATE, 1 << (19 - 1)); SetEquipmentSlots(false, EQUIP_MAIN_2, EQUIP_OFFHAND_2, EQUIP_RANGED_2); - if( Creature* c = me->SummonCreature(NPC_DARK_ESSENCE, Locs[LOC_DARKESS_1]) ) + if (Creature* c = me->SummonCreature(NPC_DARK_ESSENCE, Locs[LOC_DARKESS_1])) boss_twin_valkyrAI::JustSummoned(c); - if( Creature* c = me->SummonCreature(NPC_DARK_ESSENCE, Locs[LOC_DARKESS_2]) ) + if (Creature* c = me->SummonCreature(NPC_DARK_ESSENCE, Locs[LOC_DARKESS_2])) boss_twin_valkyrAI::JustSummoned(c); } @@ -556,9 +556,9 @@ class boss_fjola : public CreatureScript { me->SetFlag(UNIT_FIELD_AURASTATE, 1 << (22 - 1)); SetEquipmentSlots(false, EQUIP_MAIN_1, EQUIP_OFFHAND_1, EQUIP_RANGED_1); - if( Creature* c = me->SummonCreature(NPC_LIGHT_ESSENCE, Locs[LOC_LIGHTESS_1]) ) + if (Creature* c = me->SummonCreature(NPC_LIGHT_ESSENCE, Locs[LOC_LIGHTESS_1])) boss_twin_valkyrAI::JustSummoned(c); - if( Creature* c = me->SummonCreature(NPC_LIGHT_ESSENCE, Locs[LOC_LIGHTESS_2]) ) + if (Creature* c = me->SummonCreature(NPC_LIGHT_ESSENCE, Locs[LOC_LIGHTESS_2])) boss_twin_valkyrAI::JustSummoned(c); } @@ -573,7 +573,7 @@ class npc_essence_of_twin : public CreatureScript bool OnGossipHello(Player* player, Creature* creature) override { - switch( creature->GetEntry() ) + switch (creature->GetEntry()) { case NPC_LIGHT_ESSENCE: { @@ -582,7 +582,7 @@ class npc_essence_of_twin : public CreatureScript //uint32 empoweredId = 0; uint32 touchId1 = 0; //uint32 touchId2 = 0; - switch( creature->GetMap()->GetDifficulty() ) + switch (creature->GetMap()->GetDifficulty()) { case 0: essenceId = 65684; @@ -628,7 +628,7 @@ class npc_essence_of_twin : public CreatureScript //uint32 empoweredId = 0; //uint32 touchId1 = 0; uint32 touchId2 = 0; - switch( creature->GetMap()->GetDifficulty() ) + switch (creature->GetMap()->GetDifficulty()) { case 0: essenceId = 65686; @@ -706,10 +706,10 @@ class npc_concentrated_ball : public CreatureScript void MovementInform(uint32 type, uint32 id) override { - if( type != POINT_MOTION_TYPE || id != 0 ) + if (type != POINT_MOTION_TYPE || id != 0) return; - if( urand(0, 2) ) + if (urand(0, 2)) me->DespawnOrUnsummon(0); } @@ -721,10 +721,10 @@ class npc_concentrated_ball : public CreatureScript void UpdateAI(uint32 /*diff*/) override { - if( despawning ) + if (despawning) return; - if( me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE ) + if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE ) MoveToNextPoint(); } }; @@ -742,15 +742,15 @@ class spell_valkyr_essence : public SpellScriptLoader void HandleAfterEffectAbsorb(AuraEffect* /*aurEff*/, DamageInfo& /*dmgInfo*/, uint32& absorbAmount) { uint16 count = absorbAmount / 1000; - if( !count || !GetOwner() ) + if (!count || !GetOwner()) return; - if( SpellInfo const* se = GetAura()->GetSpellInfo() ) - if( Unit* owner = GetOwner()->ToUnit() ) + if (SpellInfo const* se = GetAura()->GetSpellInfo()) + if (Unit* owner = GetOwner()->ToUnit()) { uint32 auraId = 0; uint32 empoweredId = 0; - switch( se->Id ) + switch (se->Id) { case 65686: auraId = 67590; @@ -785,15 +785,15 @@ class spell_valkyr_essence : public SpellScriptLoader empoweredId = 65724; break; } - if( !owner->HasAura(auraId) ) + if (!owner->HasAura(auraId)) { owner->CastSpell(owner, SPELL_POWERING_UP, true); - if( --count == 0 ) + if (--count == 0) return; } - if( Aura* aur = owner->GetAura(auraId) ) + if (Aura* aur = owner->GetAura(auraId)) { - if( aur->GetStackAmount() + count < 100 ) + if (aur->GetStackAmount() + count < 100 ) { aur->ModStackAmount(count); @@ -834,15 +834,15 @@ class spell_valkyr_touch : public SpellScriptLoader { PreventDefaultAction(); Unit* caster = GetCaster(); - if( !caster ) + if (!caster) return; - if( caster->GetMap()->GetId() == 649 ) + if (caster->GetMap()->GetId() == 649 ) { uint32 excludedID = GetSpellInfo()->ExcludeTargetAuraSpell; Map::PlayerList const& pl = caster->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( plr->IsAlive() && !plr->HasAura(excludedID) && !plr->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION) ) + if (Player* plr = itr->GetSource()) + if (plr->IsAlive() && !plr->HasAura(excludedID) && !plr->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION)) { uint32 absorb = 0; uint32 resist = 0; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 8a9a3a4988743d..8a4dc0d70d8c94 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -185,18 +185,18 @@ class instance_trial_of_the_crusader : public InstanceMapScript { Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( plr->IsAlive() && !plr->IsGameMaster() ) + if (Player* plr = itr->GetSource()) + if (plr->IsAlive() && !plr->IsGameMaster()) return EncounterStatus == IN_PROGRESS; // found alive player - if( EncounterStatus != NOT_STARTED ) + if (EncounterStatus != NOT_STARTED) *(const_cast(&EncounterStatus)) = NOT_STARTED; return false; } void OnCreatureCreate(Creature* creature) override { - switch( creature->GetEntry() ) + switch (creature->GetEntry()) { case NPC_BARRENT: NPC_BarrettGUID = creature->GetGUID(); @@ -246,7 +246,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch( go->GetEntry() ) + switch (go->GetEntry()) { case GO_MAIN_GATE_DOOR: GO_MainGateGUID = go->GetGUID(); @@ -274,26 +274,26 @@ class instance_trial_of_the_crusader : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch( type ) + switch (type) { case TYPE_FAILED: // - some scene here? - if( instance->IsHeroic() && !CLEANED ) + if (instance->IsHeroic() && !CLEANED ) { - if( AttemptsLeft > 0 ) + if (AttemptsLeft > 0) --AttemptsLeft; Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft); } InstanceCleanup(true); SaveToDB(); break; case TYPE_ANNOUNCER_GOSSIP_SELECT: - if( instance->IsHeroic() && AttemptsLeft == 0 ) + if (instance->IsHeroic() && AttemptsLeft == 0 ) break; - switch( InstanceProgress ) + switch (InstanceProgress) { case INSTANCE_PROGRESS_INITIAL: events.RescheduleEvent(EVENT_SCENE_001, 0); @@ -316,7 +316,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case TYPE_GORMOK: - if( data == DONE ) + if (data == DONE) { if (Creature* trigger = instance->SummonCreature(WORLD_TRIGGER, Locs[LOC_CENTER], nullptr, 25000)) { @@ -336,9 +336,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case TYPE_JORMUNGAR: - if( data == DONE ) + if (data == DONE) { - if( ++Counter == 2 ) + if (++Counter == 2) { if (Creature* trigger = instance->SummonCreature(WORLD_TRIGGER, Locs[LOC_CENTER], nullptr, 25000)) { @@ -348,11 +348,11 @@ class instance_trial_of_the_crusader : public InstanceMapScript trigger->SetInCombatWithZone(); } - if( Creature* c = instance->GetCreature(NPC_AcidmawGUID) ) + if (Creature* c = instance->GetCreature(NPC_AcidmawGUID)) c->DespawnOrUnsummon(10000); - if( Creature* c = instance->GetCreature(NPC_DreadscaleGUID) ) + if (Creature* c = instance->GetCreature(NPC_DreadscaleGUID)) c->DespawnOrUnsummon(10000); - if( AchievementTimer + 10 >= GameTime::GetGameTime().count() ) + if (AchievementTimer + 10 >= GameTime::GetGameTime().count()) DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_JORMUNGAR_ACHIEV); AchievementTimer = 0; @@ -376,7 +376,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript AchievementTimer = 0; break; case TYPE_ICEHOWL: - if( data == DONE ) + if (data == DONE) { northrendBeastsMask |= 4; if ((northrendBeastsMask & 7) == 7) @@ -397,9 +397,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case TYPE_JARAXXUS: EncounterStatus = data == IN_PROGRESS ? IN_PROGRESS : NOT_STARTED; - if( data == IN_PROGRESS ) + if (data == IN_PROGRESS) HandleGameObject(GO_EnterGateGUID, false); - else if( data == DONE ) + else if (data == DONE) { HandleGameObject(GO_EnterGateGUID, true); InstanceProgress = INSTANCE_PROGRESS_JARAXXUS_DEAD; @@ -408,11 +408,11 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case TYPE_FACTION_CHAMPIONS: - if( data == DONE ) + if (data == DONE) { - if( ++Counter >= NPC_ChampionGUIDs.size() ) + if (++Counter >= NPC_ChampionGUIDs.size()) { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->CastSpell(c, SPELL_FACTION_CHAMPIONS_KILL_CREDIT, true); Counter = 0; EncounterStatus = NOT_STARTED; @@ -424,10 +424,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript c->DespawnOrUnsummon(15000); NPC_ChampionGUIDs.clear(); - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { uint32 cacheEntry = 0; - switch( instance->GetDifficulty() ) + switch (instance->GetDifficulty()) { case RAID_DIFFICULTY_10MAN_NORMAL: cacheEntry = GO_CRUSADERS_CACHE_10; @@ -451,13 +451,13 @@ class instance_trial_of_the_crusader : public InstanceMapScript HandleGameObject(GO_EnterGateGUID, true); - if( AchievementTimer + 60 >= GameTime::GetGameTime().count() ) + if (AchievementTimer + 60 >= GameTime::GetGameTime().count()) DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, SPELL_RESILIENCE_WILL_FIX_IT_CREDIT); AchievementTimer = 0; SaveToDB(); } - else if( Counter == 1 ) + else if (Counter == 1) AchievementTimer = GameTime::GetGameTime().count(); } break; @@ -473,19 +473,19 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case TYPE_FACTION_CHAMPIONS_PLAYER_DIED: - if( urand(0, 2) == 0 ) + if (urand(0, 2) == 0 ) { - if( TeamIdInInstance == TEAM_HORDE ) + if (TeamIdInInstance == TEAM_HORDE) { - if( Creature* pTemp = instance->GetCreature(NPC_VarianGUID) ) + if (Creature* pTemp = instance->GetCreature(NPC_VarianGUID)) pTemp->AI()->Talk(SAY_VARIAN_KILL_HORDE_PLAYER_1); } - else if( Creature* pTemp = instance->GetCreature(NPC_GarroshGUID) ) + else if (Creature* pTemp = instance->GetCreature(NPC_GarroshGUID)) pTemp->AI()->Talk(SAY_GARROSH_KILL_ALLIANCE_PLAYER_1); } break; case TYPE_VALKYR: - if( data == DONE && ++Counter >= 2 ) + if (data == DONE && ++Counter >= 2) { Counter = 0; EncounterStatus = NOT_STARTED; @@ -498,12 +498,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case TYPE_ANUBARAK: - if( data == IN_PROGRESS ) + if (data == IN_PROGRESS) { EncounterStatus = IN_PROGRESS; HandleGameObject(GO_WebDoorGUID, false); } - else if( data == DONE ) + else if (data == DONE) { Counter = 0; EncounterStatus = NOT_STARTED; @@ -512,14 +512,14 @@ class instance_trial_of_the_crusader : public InstanceMapScript HandleGameObject(GO_WebDoorGUID, true); SaveToDB(); - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { c->UpdatePosition(Locs[LOC_TIRION_FINAL], true); c->StopMovingOnCurrentPos(); c->SetFacingTo(Locs[LOC_TIRION_FINAL].GetOrientation()); events.RescheduleEvent(EVENT_SCENE_501, 20000); } - if( GameObject* floor = instance->GetGameObject(GO_FloorGUID) ) + if (GameObject* floor = instance->GetGameObject(GO_FloorGUID)) floor->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, nullptr, true); } break; @@ -528,7 +528,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint32 GetData(uint32 type) const override { - switch( type ) + switch (type) { case TYPE_INSTANCE_PROGRESS: return InstanceProgress; @@ -538,7 +538,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript ObjectGuid GetGuidData(uint32 type) const override { - switch( type ) + switch (type) { case TYPE_GORMOK: return NPC_GormokGUID; @@ -560,7 +560,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript void Update(uint32 diff) override { events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -589,7 +589,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case EVENT_SCENE_001: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_01); events.RescheduleEvent(EVENT_SCENE_002, 22000); @@ -597,7 +597,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case EVENT_SCENE_002: { - if( Creature* c = instance->GetCreature(NPC_VarianGUID) ) + if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_0_03a); events.RescheduleEvent(EVENT_SCENE_003, 5000); @@ -605,7 +605,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case EVENT_SCENE_003: { - if( Creature* c = instance->GetCreature(NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_0_03h); events.RescheduleEvent(EVENT_SCENE_004, 8000); @@ -616,7 +616,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript InstanceProgress = INSTANCE_PROGRESS_INTRO_DONE; EncounterStatus = IN_PROGRESS; - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_02); HandleGameObject(GO_MainGateGUID, true); HandleGameObject(GO_EnterGateGUID, false); @@ -631,24 +631,24 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case EVENT_NORTHREND_BEASTS_ENRAGE: - if( Creature* c = instance->GetCreature(NPC_GormokGUID) ) + if (Creature* c = instance->GetCreature(NPC_GormokGUID)) if (c->IsAlive()) c->CastSpell(c, 26662, true); - if( Creature* c = instance->GetCreature(NPC_AcidmawGUID) ) + if (Creature* c = instance->GetCreature(NPC_AcidmawGUID)) if (c->IsAlive()) c->CastSpell(c, 26662, true); - if( Creature* c = instance->GetCreature(NPC_DreadscaleGUID) ) + if (Creature* c = instance->GetCreature(NPC_DreadscaleGUID)) if (c->IsAlive()) c->CastSpell(c, 26662, true); - if( Creature* c = instance->GetCreature(NPC_IcehowlGUID) ) + if (Creature* c = instance->GetCreature(NPC_IcehowlGUID)) if (c->IsAlive()) c->CastSpell(c, 26662, true); break; case EVENT_SUMMON_GORMOK: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) - if( Creature* gormok = c->SummonCreature(NPC_GORMOK, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) + if (Creature* gormok = c->SummonCreature(NPC_GORMOK, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000)) gormok->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ()); events.RescheduleEvent(EVENT_GORMOK_ATTACK, 10000); @@ -658,12 +658,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_GORMOK_ATTACK: { northrendBeastsMask = 0; - if( Creature* c = instance->GetCreature(NPC_GormokGUID) ) + if (Creature* c = instance->GetCreature(NPC_GormokGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); @@ -674,7 +674,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_005: { northrendBeastsMask |= 16; - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_04); events.RescheduleEvent(EVENT_OPEN_GATE, 3000); @@ -683,11 +683,11 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SUMMON_ACIDMAW_AND_DREADSCALE: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { - if( Creature* dreadscale = c->SummonCreature(NPC_DREADSCALE, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN) ) + if (Creature* dreadscale = c->SummonCreature(NPC_DREADSCALE, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN)) dreadscale->GetMotionMaster()->MovePoint(0, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY() - 25.0f, Locs[LOC_BEHIND_GATE].GetPositionZ()); - if( Creature* acidmaw = c->SummonCreature(NPC_ACIDMAW, Locs[LOC_ACIDMAW].GetPositionX(), Locs[LOC_ACIDMAW].GetPositionY(), Locs[LOC_ACIDMAW].GetPositionZ(), Locs[LOC_ACIDMAW].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN) ) + if (Creature* acidmaw = c->SummonCreature(NPC_ACIDMAW, Locs[LOC_ACIDMAW].GetPositionX(), Locs[LOC_ACIDMAW].GetPositionY(), Locs[LOC_ACIDMAW].GetPositionZ(), Locs[LOC_ACIDMAW].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN)) acidmaw->AddAura(53421, acidmaw); } @@ -697,7 +697,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_005_2: { - if( Creature* dreadscale = instance->GetCreature(NPC_DreadscaleGUID) ) + if (Creature* dreadscale = instance->GetCreature(NPC_DreadscaleGUID)) dreadscale->GetMotionMaster()->MovePoint(0, Locs[LOC_DREADSCALE].GetPositionX(), Locs[LOC_DREADSCALE].GetPositionY(), Locs[LOC_DREADSCALE].GetPositionZ()); events.RescheduleEvent(EVENT_ACIDMAW_AND_DREADSCALE_ATTACK, 7000); @@ -706,23 +706,23 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_ACIDMAW_AND_DREADSCALE_ATTACK: { HandleGameObject(GO_MainGateGUID, false); - if( Creature* c = instance->GetCreature(NPC_DreadscaleGUID) ) + if (Creature* c = instance->GetCreature(NPC_DreadscaleGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); } } - if( Creature* c = instance->GetCreature(NPC_AcidmawGUID) ) + if (Creature* c = instance->GetCreature(NPC_AcidmawGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) { c->RemoveAura(53421); c->CastSpell(c, 66947, false); @@ -735,7 +735,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_006: { northrendBeastsMask |= 32; - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_05); events.RescheduleEvent(EVENT_OPEN_GATE, 2000); @@ -744,8 +744,8 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SUMMON_ICEHOWL: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) - if( Creature* icehowl = c->SummonCreature(NPC_ICEHOWL, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) + if (Creature* icehowl = c->SummonCreature(NPC_ICEHOWL, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) icehowl->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ()); events.RescheduleEvent(EVENT_ICEHOWL_ATTACK, 10000); @@ -754,12 +754,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_ICEHOWL_ATTACK: { - if( Creature* c = instance->GetCreature(NPC_IcehowlGUID) ) + if (Creature* c = instance->GetCreature(NPC_IcehowlGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); @@ -769,19 +769,19 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_BEASTS_DONE: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_0_06); - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_101: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { HandleGameObject(GO_MainGateGUID, true); c->AI()->Talk(SAY_STAGE_1_01); - if( Creature* fizzlebang = c->SummonCreature(NPC_FIZZLEBANG, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000) ) + if (Creature* fizzlebang = c->SummonCreature(NPC_FIZZLEBANG, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000)) { fizzlebang->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); fizzlebang->GetMotionMaster()->MovePoint(0, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY() - 65.0f, Locs[LOC_BEHIND_GATE].GetPositionZ() - 1.0f); @@ -789,7 +789,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript events.RescheduleEvent(EVENT_SCENE_102, 20000); // move Icehowl to side, can't remove corpse because of loot! - if( Creature* icehowl = instance->GetCreature(NPC_IcehowlGUID) ) + if (Creature* icehowl = instance->GetCreature(NPC_IcehowlGUID)) { icehowl->UpdatePosition(513.19f, 139.48f, 395.22f, 3 * M_PI / 2, true); icehowl->StopMovingOnCurrentPos(); @@ -801,7 +801,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_102: { HandleGameObject(GO_MainGateGUID, false); - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) c->AI()->Talk(SAY_STAGE_1_02); events.RescheduleEvent(EVENT_SCENE_103, 11000); @@ -809,11 +809,11 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_103: { - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) { c->AI()->Talk(SAY_STAGE_1_03); c->HandleEmoteCommand(EMOTE_STATE_SPELL_PRECAST); - if( Creature* trigger = c->SummonCreature(NPC_PURPLE_GROUND, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN) ) + if (Creature* trigger = c->SummonCreature(NPC_PURPLE_GROUND, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN)) NPC_PurpleGroundGUID = trigger->GetGUID(); } @@ -822,9 +822,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_104: { - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) { - if( Creature* portal = c->SummonCreature(NPC_WORLD_TRIGGER, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN) ) + if (Creature* portal = c->SummonCreature(NPC_WORLD_TRIGGER, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN)) { NPC_PortalGUID = portal->GetGUID(); portal->SetObjectScale(3.0f); @@ -839,9 +839,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SUMMON_JARAXXUS: { - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) { - if( Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) + if (Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) jaraxxus->GetMotionMaster()->MovePoint(0, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY() - 10.0f, Locs[LOC_CENTER].GetPositionZ()); c->HandleEmoteCommand(EMOTE_STATE_NONE); c->AI()->Talk(SAY_STAGE_1_04); @@ -852,12 +852,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_105: { - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->SetFacingTo(M_PI / 2); - if( Creature* c = instance->GetCreature(NPC_PurpleGroundGUID) ) + if (Creature* c = instance->GetCreature(NPC_PurpleGroundGUID)) c->DespawnOrUnsummon(); NPC_PurpleGroundGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_PortalGUID) ) + if (Creature* c = instance->GetCreature(NPC_PortalGUID)) c->DespawnOrUnsummon(); NPC_PortalGUID.Clear(); @@ -866,7 +866,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_106: { - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->AI()->Talk(SAY_STAGE_1_05); events.RescheduleEvent(EVENT_SCENE_107, 5000); @@ -874,7 +874,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_107: { - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) c->AI()->Talk(SAY_STAGE_1_06); events.RescheduleEvent(EVENT_SCENE_108, 800); @@ -882,10 +882,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_108: { - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) { c->AI()->Talk(SAY_STAGE_1_06_1); - if( Creature* f = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* f = instance->GetCreature(NPC_FizzlebangGUID)) { c->CastSpell(f, 67888, true); Unit::Kill(f, f); @@ -897,9 +897,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_109: { - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->SetFacingTo(3 * M_PI / 2); - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_1_07); events.RescheduleEvent(EVENT_JARAXXUS_ATTACK, 6000); @@ -908,12 +908,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_JARAXXUS_ATTACK: { InstanceProgress = INSTANCE_PROGRESS_JARAXXUS_INTRO_DONE; - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - if( Unit* target = c->SelectNearestTarget(200.0f) ) + if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); @@ -923,7 +923,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_110: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_1_08); events.RescheduleEvent(EVENT_SCENE_111, 18000); @@ -931,7 +931,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_111: { - if( Creature* c = instance->GetCreature(NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_1_09); events.RescheduleEvent(EVENT_SCENE_112, 9000); @@ -939,7 +939,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_112: { - if( Creature* c = instance->GetCreature(NPC_VarianGUID) ) + if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_1_10); events.RescheduleEvent(EVENT_SCENE_113, 5000); @@ -947,23 +947,23 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_113: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_1_11); - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_201: { // move Jaraxxus to side, can't remove corpse because of loot! - if( Creature* jaraxxus = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* jaraxxus = instance->GetCreature(NPC_JaraxxusGUID)) { jaraxxus->UpdatePosition(613.83f, 139.5f, 395.22f, 3 * M_PI / 2, true); jaraxxus->StopMovingOnCurrentPos(); jaraxxus->DestroyForNearbyPlayers(); } - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_2_01); events.RescheduleEvent(EVENT_SCENE_202, 9000); @@ -973,22 +973,22 @@ class instance_trial_of_the_crusader : public InstanceMapScript { Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( !plr->IsGameMaster() ) + if (Player* plr = itr->GetSource()) + if (!plr->IsGameMaster()) { TeamIdInInstance = plr->GetTeamId(); break; } - if( TeamIdInInstance == TEAM_ALLIANCE ) + if (TeamIdInInstance == TEAM_ALLIANCE) { - if( Creature* c = instance->GetCreature(NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_2_02h); events.RescheduleEvent(EVENT_SCENE_203, 15000); } else { - if( Creature* c = instance->GetCreature(NPC_VarianGUID) ) + if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_2_02a); events.RescheduleEvent(EVENT_SCENE_203, 18000); } @@ -996,7 +996,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_203: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_2_03); events.RescheduleEvent(EVENT_SCENE_204, 5000); @@ -1004,15 +1004,15 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_204: { - if( TeamIdInInstance == TEAM_ALLIANCE ) + if (TeamIdInInstance == TEAM_ALLIANCE) { - if( Creature* c = instance->GetCreature(NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(NPC_GarroshGUID)) c->AI()->Talk(SAY_STAGE_2_04h); events.RescheduleEvent(EVENT_SCENE_205, 6000); } else { - if( Creature* c = instance->GetCreature(NPC_VarianGUID) ) + if (Creature* c = instance->GetCreature(NPC_VarianGUID)) c->AI()->Talk(SAY_STAGE_2_04a); events.RescheduleEvent(EVENT_SCENE_205, 5000); } @@ -1022,7 +1022,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_205: { - if( Creature* c = instance->GetCreature(TeamIdInInstance == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(TeamIdInInstance == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID)) c->AI()->Talk(TeamIdInInstance == TEAM_ALLIANCE ? SAY_STAGE_2_05a : SAY_STAGE_2_05h); break; @@ -1044,12 +1044,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript vOtherEntries.push_back(TeamIdInInstance == TEAM_ALLIANCE ? NPC_HORDE_WARRIOR : NPC_ALLIANCE_WARRIOR); uint8 healersSubtracted = 2; - if( instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_NORMAL || instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_HEROIC ) + if (instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_NORMAL || instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_HEROIC ) healersSubtracted = 1; for( uint8 i = 0; i < healersSubtracted; ++i ) { uint8 pos = urand(0, vHealerEntries.size() - 1); - switch( vHealerEntries[pos] ) + switch (vHealerEntries[pos]) { case NPC_ALLIANCE_DRUID_RESTORATION: vOtherEntries.push_back(NPC_ALLIANCE_DRUID_BALANCE); @@ -1079,7 +1079,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript vHealerEntries.erase(vHealerEntries.begin() + pos); } - if( instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_NORMAL || instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_HEROIC ) + if (instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_NORMAL || instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_HEROIC ) for( uint8 i = 0; i < 4; ++i ) vOtherEntries.erase(vOtherEntries.begin() + urand(0, vOtherEntries.size() - 1)); @@ -1089,7 +1089,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript uint8 pos2 = 10; for( std::vector::iterator itr = vOtherEntries.begin(); itr != vOtherEntries.end(); ++itr ) { - if( Creature* pTemp = instance->SummonCreature(*itr, FactionChampionLoc[urand(0, 4) + (TeamIdInInstance == TEAM_ALLIANCE ? 0 : 5)]) ) + if (Creature* pTemp = instance->SummonCreature(*itr, FactionChampionLoc[urand(0, 4) + (TeamIdInInstance == TEAM_ALLIANCE ? 0 : 5)])) { NPC_ChampionGUIDs.push_back(pTemp->GetGUID()); pTemp->SetHomePosition((TeamIdInInstance == TEAM_ALLIANCE ? FactionChampionLoc[pos2].GetPositionX() : (Locs[LOC_CENTER].GetPositionX() * 2 - FactionChampionLoc[pos2].GetPositionX())), FactionChampionLoc[pos2].GetPositionY(), FactionChampionLoc[pos2].GetPositionZ(), 0.0f); @@ -1110,7 +1110,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); c->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); - //if( Unit* target = c->SelectNearestTarget(200.0f) ) + //if (Unit* target = c->SelectNearestTarget(200.0f)) // c->AI()->AttackStart(target); } Map::PlayerList const& pl = instance->GetPlayers(); @@ -1121,15 +1121,15 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_FACTION_CHAMPIONS_DEAD: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_2_06); - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; } case EVENT_SCENE_301: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_3_01); events.RescheduleEvent(EVENT_SCENE_302, 13000); @@ -1137,7 +1137,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_302: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_3_02); events.RescheduleEvent(EVENT_SCENE_303, 3000); @@ -1146,12 +1146,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_303: { HandleGameObject(GO_EnterGateGUID, false); - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { HandleGameObject(GO_MainGateGUID, true); - if( Creature* t = c->SummonCreature(NPC_LIGHTBANE, Locs[LOC_VALKYR_RIGHT].GetPositionX(), Locs[LOC_VALKYR_RIGHT].GetPositionY(), Locs[LOC_VALKYR_RIGHT].GetPositionZ(), Locs[LOC_VALKYR_RIGHT].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) + if (Creature* t = c->SummonCreature(NPC_LIGHTBANE, Locs[LOC_VALKYR_RIGHT].GetPositionX(), Locs[LOC_VALKYR_RIGHT].GetPositionY(), Locs[LOC_VALKYR_RIGHT].GetPositionZ(), Locs[LOC_VALKYR_RIGHT].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) t->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_RIGHT].GetPositionX(), Locs[LOC_VALKYR_DEST_RIGHT].GetPositionY(), Locs[LOC_VALKYR_DEST_RIGHT].GetPositionZ()); - if( Creature* t = c->SummonCreature(NPC_DARKBANE, Locs[LOC_VALKYR_LEFT].GetPositionX(), Locs[LOC_VALKYR_LEFT].GetPositionY(), Locs[LOC_VALKYR_LEFT].GetPositionZ(), Locs[LOC_VALKYR_LEFT].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) + if (Creature* t = c->SummonCreature(NPC_DARKBANE, Locs[LOC_VALKYR_LEFT].GetPositionX(), Locs[LOC_VALKYR_LEFT].GetPositionY(), Locs[LOC_VALKYR_LEFT].GetPositionZ(), Locs[LOC_VALKYR_LEFT].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) t->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionZ()); } @@ -1162,9 +1162,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript { HandleGameObject(GO_MainGateGUID, false); EncounterStatus = IN_PROGRESS; - if( Creature* c = instance->GetCreature(NPC_LightbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_LightbaneGUID)) c->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_2_RIGHT].GetPositionX(), Locs[LOC_VALKYR_DEST_2_RIGHT].GetPositionY(), Locs[LOC_VALKYR_DEST_2_RIGHT].GetPositionZ()); - if( Creature* c = instance->GetCreature(NPC_DarkbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_DarkbaneGUID)) c->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionZ()); events.RescheduleEvent(EVENT_VALKYRIES_ATTACK, 3250); @@ -1172,21 +1172,21 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_VALKYRIES_ATTACK: { - if( Creature* c = instance->GetCreature(NPC_LightbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_LightbaneGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - /*if( Unit* target = c->SelectNearestTarget(200.0f) ) + /*if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); }*/ } - if( Creature* c = instance->GetCreature(NPC_DarkbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_DarkbaneGUID)) { c->SetReactState(REACT_AGGRESSIVE); c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - /*if( Unit* target = c->SelectNearestTarget(200.0f) ) + /*if (Unit* target = c->SelectNearestTarget(200.0f)) { c->AI()->AttackStart(target); c->AI()->DoZoneInCombat(); @@ -1200,14 +1200,14 @@ class instance_trial_of_the_crusader : public InstanceMapScript { Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( !plr->IsGameMaster() ) + if (Player* plr = itr->GetSource()) + if (!plr->IsGameMaster()) { TeamIdInInstance = plr->GetTeamId(); break; } } - if( Creature* c = instance->GetCreature(TeamIdInInstance == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID) ) + if (Creature* c = instance->GetCreature(TeamIdInInstance == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID)) c->AI()->Talk((TeamIdInInstance == TEAM_ALLIANCE ? SAY_STAGE_3_03a : SAY_STAGE_3_03h)); events.RescheduleEvent(EVENT_SCENE_401, 60000); @@ -1215,7 +1215,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_401: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_4_01); events.RescheduleEvent(EVENT_SCENE_402, 20000); @@ -1225,8 +1225,8 @@ class instance_trial_of_the_crusader : public InstanceMapScript { HandleGameObject(GO_EnterGateGUID, false); EncounterStatus = IN_PROGRESS; - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) - if( Creature* t = c->SummonCreature(NPC_LICH_KING, Locs[LOC_ARTHAS_PORTAL]) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) + if (Creature* t = c->SummonCreature(NPC_LICH_KING, Locs[LOC_ARTHAS_PORTAL])) { t->SetReactState(REACT_PASSIVE); t->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); @@ -1240,8 +1240,8 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_403: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) - if( Creature* t = c->SummonCreature(NPC_WORLD_TRIGGER, Locs[LOC_ARTHAS_PORTAL], TEMPSUMMON_TIMED_DESPAWN, 60000) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) + if (Creature* t = c->SummonCreature(NPC_WORLD_TRIGGER, Locs[LOC_ARTHAS_PORTAL], TEMPSUMMON_TIMED_DESPAWN, 60000)) { t->SetReactState(REACT_PASSIVE); t->CastSpell(t, 51807, true); @@ -1252,7 +1252,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_404: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->SetDisplayId(c->GetNativeDisplayId()); c->SetVisible(true); @@ -1264,7 +1264,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_405: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) c->AI()->Talk(SAY_STAGE_4_03); events.RescheduleEvent(EVENT_SCENE_406, 7000); @@ -1272,7 +1272,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_406: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->AI()->Talk(SAY_STAGE_4_04); c->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); @@ -1284,7 +1284,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_406_2: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK); } @@ -1294,7 +1294,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript case EVENT_SCENE_407: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) c->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION); events.RescheduleEvent(EVENT_SCENE_408, 4000); @@ -1302,7 +1302,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_408: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); } @@ -1312,14 +1312,14 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_409: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { - if( GameObject* floor = instance->GetGameObject(GO_FloorGUID) ) + if (GameObject* floor = instance->GetGameObject(GO_FloorGUID)) floor->SetDestructibleState(GO_DESTRUCTIBLE_DAMAGED);//floor->ModifyHealth(-10000000, c); c->CastSpell((Unit*)nullptr, 68193, true); c->SetVisible(false); c->SetDisplayId(11686); - if( Creature* t = c->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f, true) ) + if (Creature* t = c->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f, true)) t->DespawnOrUnsummon(); InstanceProgress = INSTANCE_PROGRESS_ANUB_ARAK; @@ -1331,7 +1331,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_410: { - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->SetVisible(true); c->AI()->Talk(SAY_STAGE_4_05); @@ -1342,7 +1342,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_501: { - if( Creature* c = instance->GetCreature(NPC_TirionGUID) ) + if (Creature* c = instance->GetCreature(NPC_TirionGUID)) { c->AI()->Talk(SAY_STAGE_4_06); c->SummonCreature(NPC_ARGENT_MAGE, Locs[LOC_MAGE].GetPositionX(), Locs[LOC_MAGE].GetPositionY(), Locs[LOC_MAGE].GetPositionZ(), Locs[LOC_MAGE].GetOrientation()); @@ -1354,10 +1354,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript } case EVENT_SCENE_502: { - if( instance->IsHeroic() ) + if (instance->IsHeroic()) { uint32 tributeChest = 0; - if( instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_HEROIC ) + if (instance->GetSpawnMode() == RAID_DIFFICULTY_10MAN_HEROIC ) { if (AttemptsLeft >= 50) tributeChest = GO_TRIBUTE_CHEST_10H_99; @@ -1368,7 +1368,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript else tributeChest = GO_TRIBUTE_CHEST_10H_25; } - else if( instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_HEROIC ) + else if (instance->GetSpawnMode() == RAID_DIFFICULTY_25MAN_HEROIC ) { if (AttemptsLeft >= 50) tributeChest = GO_TRIBUTE_CHEST_25H_99; @@ -1397,7 +1397,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript void OnPlayerEnter(Player* plr) override { - if( instance->IsHeroic() ) + if (instance->IsHeroic()) { plr->SendUpdateWorldState(UPDATE_STATE_UI_SHOW, 1); plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft); @@ -1441,59 +1441,59 @@ class instance_trial_of_the_crusader : public InstanceMapScript void InstanceCleanup(bool fromFailed = false) { - if( CLEANED ) + if (CLEANED) return; CLEANED = true; - switch( InstanceProgress ) + switch (InstanceProgress) { case INSTANCE_PROGRESS_INITIAL: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); break; case INSTANCE_PROGRESS_INTRO_DONE: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); - if( Creature* c = instance->GetCreature(NPC_GormokGUID) ) + if (Creature* c = instance->GetCreature(NPC_GormokGUID)) { c->AI()->DoAction(-1); // despawn summons c->DespawnOrUnsummon(); } NPC_GormokGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_AcidmawGUID) ) + if (Creature* c = instance->GetCreature(NPC_AcidmawGUID)) c->DespawnOrUnsummon(); NPC_AcidmawGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_DreadscaleGUID) ) + if (Creature* c = instance->GetCreature(NPC_DreadscaleGUID)) c->DespawnOrUnsummon(); NPC_DreadscaleGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_IcehowlGUID) ) + if (Creature* c = instance->GetCreature(NPC_IcehowlGUID)) c->DespawnOrUnsummon(); NPC_IcehowlGUID.Clear(); northrendBeastsMask = 0; break; case INSTANCE_PROGRESS_BEASTS_DEAD: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); - if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) ) + if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID)) c->DespawnOrUnsummon(); NPC_FizzlebangGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->DespawnOrUnsummon(); NPC_JaraxxusGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_PurpleGroundGUID) ) + if (Creature* c = instance->GetCreature(NPC_PurpleGroundGUID)) c->DespawnOrUnsummon(); NPC_PurpleGroundGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_PortalGUID) ) + if (Creature* c = instance->GetCreature(NPC_PortalGUID)) c->DespawnOrUnsummon(); NPC_PortalGUID.Clear(); break; case INSTANCE_PROGRESS_JARAXXUS_INTRO_DONE: - if( Creature* c = instance->GetCreature(NPC_JaraxxusGUID) ) + if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID)) c->DespawnOrUnsummon(); - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); - if( Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) ) + if (Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000)) { jaraxxus->CastSpell(jaraxxus, 67924, true); jaraxxus->SetReactState(REACT_AGGRESSIVE); @@ -1503,7 +1503,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript } break; case INSTANCE_PROGRESS_JARAXXUS_DEAD: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); for (ObjectGuid const& guid : NPC_ChampionGUIDs) if (Creature* c = instance->GetCreature(guid)) @@ -1511,15 +1511,15 @@ class instance_trial_of_the_crusader : public InstanceMapScript NPC_ChampionGUIDs.clear(); break; case INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); - if( Creature* c = instance->GetCreature(NPC_DarkbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_DarkbaneGUID)) { c->AI()->DoAction(-1); c->DespawnOrUnsummon(); } NPC_DarkbaneGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_LightbaneGUID) ) + if (Creature* c = instance->GetCreature(NPC_LightbaneGUID)) { c->AI()->DoAction(-1); c->DespawnOrUnsummon(); @@ -1528,7 +1528,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case INSTANCE_PROGRESS_VALKYR_DEAD: case INSTANCE_PROGRESS_ANUB_ARAK: - /*if( GameObject* floor = instance->GetGameObject(GO_FloorGUID) ) + /*if (GameObject* floor = instance->GetGameObject(GO_FloorGUID)) floor->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, nullptr, true);*/ if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { @@ -1546,11 +1546,11 @@ class instance_trial_of_the_crusader : public InstanceMapScript if (Creature* t = c->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f, true)) t->DespawnOrUnsummon(); } - if( Creature* c = instance->GetCreature(NPC_LichKingGUID) ) + if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) c->DespawnOrUnsummon(); NPC_LichKingGUID.Clear(); - if( Creature* c = instance->GetCreature(NPC_AnubarakGUID) ) + if (Creature* c = instance->GetCreature(NPC_AnubarakGUID)) { c->AI()->DoAction(-1); c->DespawnOrUnsummon(); @@ -1559,9 +1559,9 @@ class instance_trial_of_the_crusader : public InstanceMapScript break; case INSTANCE_PROGRESS_DONE: - if( GameObject* floor = instance->GetGameObject(GO_FloorGUID) ) + if (GameObject* floor = instance->GetGameObject(GO_FloorGUID)) floor->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, nullptr, true); - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { c->SetVisible(false); c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); @@ -1574,12 +1574,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript --AttemptsLeft; Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) + if (Player* plr = itr->GetSource()) plr->SendUpdateWorldState(UPDATE_STATE_UI_COUNT, AttemptsLeft); } - if( instance->IsHeroic() && AttemptsLeft == 0 ) - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (instance->IsHeroic() && AttemptsLeft == 0 ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); HandleGameObject(GO_MainGateGUID, false); @@ -1621,30 +1621,30 @@ class instance_trial_of_the_crusader : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case ACHIEV_CRITERIA_UPPER_BACK_PAIN_10_N: case ACHIEV_CRITERIA_UPPER_BACK_PAIN_10_H: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { std::list L; uint8 count = 0; c->GetCreaturesWithEntryInRange(L, 200.0f, 34800); // find all snobolds for( std::list::const_iterator itr = L.begin(); itr != L.end(); ++itr ) - if( (*itr)->GetVehicle() ) + if ((*itr)->GetVehicle()) ++count; return (count >= 2); } break; case ACHIEV_CRITERIA_UPPER_BACK_PAIN_25_N: case ACHIEV_CRITERIA_UPPER_BACK_PAIN_25_H: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { std::list L; uint8 count = 0; c->GetCreaturesWithEntryInRange(L, 200.0f, 34800); // find all snobolds for( std::list::const_iterator itr = L.begin(); itr != L.end(); ++itr ) - if( (*itr)->GetVehicle() ) + if ((*itr)->GetVehicle()) ++count; return (count >= 4); } @@ -1653,13 +1653,13 @@ class instance_trial_of_the_crusader : public InstanceMapScript case ACHIEV_CRITERIA_THREE_SIXTY_PAIN_SPIKE_10_H: case ACHIEV_CRITERIA_THREE_SIXTY_PAIN_SPIKE_25_N: case ACHIEV_CRITERIA_THREE_SIXTY_PAIN_SPIKE_25_H: - if( Creature* c = instance->GetCreature(NPC_BarrettGUID) ) + if (Creature* c = instance->GetCreature(NPC_BarrettGUID)) { std::list L; uint8 count = 0; c->GetCreaturesWithEntryInRange(L, 200.0f, 34826); // find all mistress of pain for( std::list::const_iterator itr = L.begin(); itr != L.end(); ++itr ) - if( (*itr)->IsAlive() ) + if ((*itr)->IsAlive()) ++count; return (count >= 2); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp index 697aba6d0d9fc5..475708cce58fc3 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp @@ -36,15 +36,15 @@ class npc_announcer_toc10 : public CreatureScript bool OnGossipHello(Player* player, Creature* creature) override { - if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); - if(!pInstance) + if (!pInstance) return true; uint32 gossipTextId = 0; - switch(pInstance->GetData(TYPE_INSTANCE_PROGRESS)) + switch (pInstance->GetData(TYPE_INSTANCE_PROGRESS)) { case INSTANCE_PROGRESS_INITIAL: gossipTextId = MSG_TESTED; @@ -72,14 +72,14 @@ class npc_announcer_toc10 : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 uiAction) override { - if( !creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) ) + if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP)) return true; InstanceScript* pInstance = creature->GetInstanceScript(); - if( !pInstance ) + if (!pInstance) return true; - if( uiAction == GOSSIP_ACTION_INFO_DEF + 1337 ) + if (uiAction == GOSSIP_ACTION_INFO_DEF + 1337) { pInstance->SetData(TYPE_ANNOUNCER_GOSSIP_SELECT, 0); creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index 3c82020a0a878c..fd8f4fda7dd56e 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -133,7 +133,7 @@ class boss_trollgore : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_SPELL_INFECTED_WOUND: me->CastSpell(me->GetVictim(), SPELL_INFECTED_WOUND, false); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp index d08cddca6be5d6..c8d14deaa9d167 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp @@ -143,7 +143,7 @@ class boss_bronjahm : public CreatureScript if (me->isAttackReady()) me->SetFacingToObject(me->GetVictim()); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp index 076d0c4ac86f88..b848dd28506fc6 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp @@ -204,7 +204,7 @@ class boss_devourer_of_souls : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp index d94ea64d47d9e6..619fa90a36f21b 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -81,7 +81,7 @@ class npc_fos_leader : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -206,7 +206,7 @@ class npc_fos_leader : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { ClearGossipMenuFor(player); - switch(uiAction) + switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: CloseGossipMenuFor(player); diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp index 156a405c7a24ed..dda74b74def9cd 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp @@ -151,7 +151,7 @@ class instance_forge_of_souls : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_BRONJAHM: m_auiEncounter[type] = data; @@ -180,22 +180,22 @@ class instance_forge_of_souls : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 12752: // Soul Power - if( Creature* c = instance->GetCreature(NPC_BronjahmGUID) ) + if (Creature* c = instance->GetCreature(NPC_BronjahmGUID)) { std::list L; uint8 count = 0; c->GetCreaturesWithEntryInRange(L, 200.0f, 36535); // find all Corrupted Soul Fragment (36535) for( std::list::const_iterator itr = L.begin(); itr != L.end(); ++itr ) - if( (*itr)->IsAlive() ) + if ((*itr)->IsAlive()) ++count; return (count >= 4); } break; case 12976: - if( Creature* c = instance->GetCreature(NPC_DevourerGUID) ) + if (Creature* c = instance->GetCreature(NPC_DevourerGUID)) return (bool)c->AI()->GetData(1); break; } diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 2c5d00e369b712..6af907e2d452b2 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -245,7 +245,7 @@ class npc_hor_leader : public CreatureScript void DoAction(int32 actionId) override { - switch(actionId) + switch (actionId) { case ACTION_START_INTRO: events.ScheduleEvent(EVENT_START_INTRO, 0ms); @@ -1767,7 +1767,7 @@ class npc_hor_lich_king : public CreatureScript if (me->IsNonMeleeSpellCast(false, true, true)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_LK_CHECK_COMBAT: if (me->isActiveObject()) // during fight @@ -1953,7 +1953,7 @@ class npc_hor_leader_second : public CreatureScript void DoAction(int32 actionId) override { - switch(actionId) + switch (actionId) { case ACTION_START_INTRO: events.ScheduleEvent(EVENT_LK_SAY_AGGRO, 0ms); @@ -2001,7 +2001,7 @@ class npc_hor_leader_second : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_LK_SAY_AGGRO: if (Creature* lkboss = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS))) diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index a9ee8578805731..14d01fe942e482 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -228,7 +228,7 @@ class instance_halls_of_reflection : public InstanceMapScript } } - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_SYLVANAS_PART1: creature->SetVisible(false); @@ -372,7 +372,7 @@ class instance_halls_of_reflection : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch(go->GetEntry()) + switch (go->GetEntry()) { case GO_FROSTMOURNE: GO_FrostmourneGUID = go->GetGUID(); @@ -408,7 +408,7 @@ class instance_halls_of_reflection : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_INTRO: EncounterMask |= (1 << DATA_INTRO); @@ -597,7 +597,7 @@ class instance_halls_of_reflection : public InstanceMapScript if (EncounterMask & (1 << DATA_BATTERED_HILT)) return; - switch(data) + switch (data) { case 1: // talked to leader EncounterMask |= (1 << DATA_BATTERED_HILT); @@ -667,7 +667,7 @@ class instance_halls_of_reflection : public InstanceMapScript uint32 GetData(uint32 type) const override { - switch(type) + switch (type) { case DATA_INTRO: case DATA_FALRIC: @@ -687,7 +687,7 @@ class instance_halls_of_reflection : public InstanceMapScript ObjectGuid GetGuidData(uint32 type) const override { - switch(type) + switch (type) { case NPC_DARK_RANGER_LORALEN: return NPC_GuardGUID; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp index 12eb4361cbaf31..8d60280251f285 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp @@ -233,7 +233,7 @@ class boss_garfrost : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 3148377a63df0e..c5d341dc9fe4c8 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -175,7 +175,7 @@ class boss_ick : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -212,7 +212,7 @@ class boss_ick : public CreatureScript break; case EVENT_SPECIAL: - switch(urand(0, 2)) + switch (urand(0, 2)) { case 0: // Pursuit if (Creature* k = GetKrick()) @@ -305,7 +305,7 @@ class boss_krick : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index e49c9ee7a7911e..675ff39f1d62b8 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -150,7 +150,7 @@ class boss_tyrannus : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp index 3c4c0e7cf5a692..d7210151fe9bc9 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp @@ -261,7 +261,7 @@ class instance_pit_of_saron : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_INSTANCE_PROGRESS: if (InstanceProgress < data) @@ -306,7 +306,7 @@ class instance_pit_of_saron : public InstanceMapScript void SetGuidData(uint32 type, ObjectGuid data) override { - switch(type) + switch (type) { case DATA_NECROLYTE_1_GUID: NPC_Necrolyte1GUID = data; @@ -374,7 +374,7 @@ class instance_pit_of_saron : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 12993: // Doesn't Go to Eleven (4524) return bAchievEleven; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index 578a4e3af8acc7..a83777d45f9a02 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -73,7 +73,7 @@ class npc_pos_leader : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -469,7 +469,7 @@ class npc_pos_deathwhisper_necrolyte : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -521,7 +521,7 @@ class npc_pos_after_first_boss : public CreatureScript { if (type != POINT_MOTION_TYPE) return; - switch(id) + switch (id) { case 1: events.RescheduleEvent(id, 0ms); @@ -532,7 +532,7 @@ class npc_pos_after_first_boss : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -1013,7 +1013,7 @@ class npc_pos_martin_or_gorkun_second : public CreatureScript { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -1198,7 +1198,7 @@ class npc_pos_leader_second : public CreatureScript if (type != WAYPOINT_MOTION_TYPE) return; - switch(id) + switch (id) { case 0: Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_JAINA_OUTRO_2 : SAY_SYLVANAS_OUTRO_2); @@ -1221,7 +1221,7 @@ class npc_pos_leader_second : public CreatureScript { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 85a564b39883a9..0b182930033869 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -813,7 +813,7 @@ class spell_sindragosa_s_fury : public SpellScript if (ResistFactor > 0.9f) ResistFactor = 0.9f; - uint32 damage = uint32( (GetEffectValue() / _targetCount) * (1.0f - ResistFactor) ); + uint32 damage = uint32( (GetEffectValue() / _targetCount) * (1.0f - ResistFactor)); SpellNonMeleeDamage damageInfo(GetCaster(), GetHitUnit(), GetSpellInfo(), GetSpellInfo()->SchoolMask); damageInfo.damage = damage; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp index 556371bb2db9f1..0308ab316883c6 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp @@ -157,7 +157,7 @@ class boss_four_horsemen : public CreatureScript void MoveToCorner() { - switch(me->GetEntry()) + switch (me->GetEntry()) { case NPC_THANE_KORTHAZZ: currentWaypoint = 0; diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index ba1e94e1a3f866..fd4bb92e72eaa5 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -357,7 +357,7 @@ class boss_gothik : public CreatureScript void SummonHelpers(uint32 entry) { - switch(entry) + switch (entry) { case NPC_LIVING_TRAINEE: me->SummonCreature(NPC_LIVING_TRAINEE, PosSummonLiving[0].GetPositionX(), PosSummonLiving[0].GetPositionY(), PosSummonLiving[0].GetPositionZ(), PosSummonLiving[0].GetOrientation()); diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp index 72588d466ffa1d..2fab24707e86fc 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp @@ -231,7 +231,7 @@ class boss_kelthuzad : public CreatureScript } if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_KELTHUZAD_GATE))) { - if(!_justSpawned) // Don't open the door if we just spawned and are still doing the conversation + if (!_justSpawned) // Don't open the door if we just spawned and are still doing the conversation { go->SetGoState(GO_STATE_ACTIVE); } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp index 77a687572803ca..b3cac8840a8a76 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp @@ -222,7 +222,7 @@ class boss_razuvious : public CreatureScript void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override { // Damage done by the controlled Death Knight understudies should also count toward damage done by players - if(who && who->IsCreature() && who->GetEntry() == NPC_DEATH_KNIGHT_UNDERSTUDY) + if (who && who->IsCreature() && who->GetEntry() == NPC_DEATH_KNIGHT_UNDERSTUDY) { me->LowerPlayerDamageReq(damage); } diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 79fd6c78760a3c..3709a766b145b5 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -206,7 +206,7 @@ class instance_naxxramas : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_PATCHWERK: _patchwerkGUID = creature->GetGUID(); @@ -277,7 +277,7 @@ class instance_naxxramas : public InstanceMapScript return; } - switch(pGo->GetEntry()) + switch (pGo->GetEntry()) { case GO_PATCHWERK_GATE: _patchwerkGateGUID = pGo->GetGUID(); @@ -621,7 +621,7 @@ class instance_naxxramas : public InstanceMapScript void SetData(uint32 id, uint32 data) override { - switch(id) + switch (id) { case DATA_ABOMINATION_KILLED: abominationsKilled++; @@ -768,7 +768,7 @@ class instance_naxxramas : public InstanceMapScript return false; // Bosses data - switch(bossId) + switch (bossId) { case BOSS_KELTHUZAD: if (state == NOT_STARTED) diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 68491abc57af6d..eb39ef71b6df8b 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -382,7 +382,7 @@ class boss_malygos : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -799,7 +799,7 @@ class boss_malygos : public CreatureScript if (!summon) return; summons.Summon(summon); - switch(summon->GetEntry()) + switch (summon->GetEntry()) { case NPC_ARCANE_OVERLOAD: summon->CastSpell(summon, SPELL_ARCANE_OVERLOAD_DMG, true); @@ -989,7 +989,7 @@ class npc_power_spark : public CreatureScript void DoAction(int32 param) override { - switch(param) + switch (param) { case 1: MoveTimer = 1; @@ -1123,7 +1123,7 @@ class npc_nexus_lord : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -1183,7 +1183,7 @@ class npc_scion_of_eternity : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -1321,12 +1321,12 @@ class npc_hover_disk : public CreatureScript void DoAction(int32 param) override { - switch(param) + switch (param) { case 1: // move to next point if (Vehicle* v = me->GetVehicleKit()) if (Unit* pass = v->GetPassenger(0)) - switch(pass->GetEntry()) + switch (pass->GetEntry()) { case NPC_NEXUS_LORD: { @@ -1357,7 +1357,7 @@ class npc_hover_disk : public CreatureScript { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -1397,7 +1397,7 @@ class npc_alexstrasza : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp index 62b425431db82f..6419f3b44c6e53 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp @@ -97,7 +97,7 @@ class instance_eye_of_eternity : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_MALYGOS: NPC_MalygosGUID = creature->GetGUID(); @@ -107,7 +107,7 @@ class instance_eye_of_eternity : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch(go->GetEntry()) + switch (go->GetEntry()) { case GO_IRIS_N: case GO_IRIS_H: @@ -124,7 +124,7 @@ class instance_eye_of_eternity : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_IRIS_ACTIVATED: if (EncounterStatus == NOT_STARTED) @@ -134,7 +134,7 @@ class instance_eye_of_eternity : public InstanceMapScript break; case DATA_ENCOUNTER_STATUS: EncounterStatus = data; - switch(data) + switch (data) { case NOT_STARTED: bPokeAchiev = false; @@ -184,7 +184,7 @@ class instance_eye_of_eternity : public InstanceMapScript ObjectGuid GetGuidData(uint32 type) const override { - switch(type) + switch (type) { case DATA_MALYGOS_GUID: return NPC_MalygosGUID; @@ -195,7 +195,7 @@ class instance_eye_of_eternity : public InstanceMapScript void ProcessEvent(WorldObject* /*unit*/, uint32 eventId) override { - switch(eventId) + switch (eventId) { case 20158: if (GameObject* go = instance->GetGameObject(GO_PlatformGUID)) @@ -233,7 +233,7 @@ class instance_eye_of_eternity : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* source, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case ACHIEV_CRITERIA_A_POKE_IN_THE_EYE_10: case ACHIEV_CRITERIA_A_POKE_IN_THE_EYE_25: diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp index e6c9d06a8d9ec4..3781b4799d0a04 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp @@ -105,9 +105,9 @@ class boss_drakos : public CreatureScript { pInstance->SetData(DATA_DRAKOS, DONE); for( uint8 i = 0; i < 3; ++i ) - if( ObjectGuid guid = pInstance->GetGuidData(DATA_DCD_1 + i) ) - if( GameObject* pGo = ObjectAccessor::GetGameObject(*me, guid) ) - if( pGo->GetGoState() != GO_STATE_ACTIVE ) + if (ObjectGuid guid = pInstance->GetGuidData(DATA_DCD_1 + i)) + if (GameObject* pGo = ObjectAccessor::GetGameObject(*me, guid)) + if (pGo->GetGoState() != GO_STATE_ACTIVE ) { pGo->SetLootState(GO_READY); pGo->UseDoorOrButton(0, false); @@ -125,17 +125,17 @@ class boss_drakos : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; DoMeleeAttackIfReady(); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -206,10 +206,10 @@ class npc_oculus_unstable_sphere : public CreatureScript void MovementInform(uint32 type, uint32 id) override { - if( type != POINT_MOTION_TYPE || id != 1 ) + if (type != POINT_MOTION_TYPE || id != 1) return; - if( !located ) + if (!located) gonext = true; } @@ -231,21 +231,21 @@ class npc_oculus_unstable_sphere : public CreatureScript void UpdateAI(uint32 diff) override { - if( timer == 0 ) + if (timer == 0) me->CastSpell(me, SPELL_TELEPORT_VISUAL, true); timer += diff; - if( timer > 10000 ) + if (timer > 10000) { - if( !located ) + if (!located) me->GetMotionMaster()->MoveIdle(); located = true; me->CastSpell(me, SPELL_UNSTABLE_SPHERE_PULSE, true); timer -= 2000; } - if( !located && gonext ) + if (!located && gonext) { PickNewLocation(); gonext = false; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp index 00d634860340aa..2a26a8492f0eb4 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp @@ -93,7 +93,7 @@ class boss_eregos : public CreatureScript if (pInstance) { pInstance->SetData(DATA_EREGOS, NOT_STARTED); - if( pInstance->GetData(DATA_UROM) != DONE ) + if (pInstance->GetData(DATA_UROM) != DONE ) me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); else me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); @@ -110,17 +110,17 @@ class boss_eregos : public CreatureScript { pInstance->SetData(DATA_EREGOS, IN_PROGRESS); - if( me->FindNearestCreature(NPC_AMBER_DRAKE, 750.0f, true) ) + if (me->FindNearestCreature(NPC_AMBER_DRAKE, 750.0f, true)) pInstance->SetData(DATA_AMBER_VOID, 0); else pInstance->SetData(DATA_AMBER_VOID, 1); - if( me->FindNearestCreature(NPC_EMERALD_DRAKE, 750.0f, true) ) + if (me->FindNearestCreature(NPC_EMERALD_DRAKE, 750.0f, true)) pInstance->SetData(DATA_EMERALD_VOID, 0); else pInstance->SetData(DATA_EMERALD_VOID, 1); - if( me->FindNearestCreature(NPC_RUBY_DRAKE, 750.0f, true) ) + if (me->FindNearestCreature(NPC_RUBY_DRAKE, 750.0f, true)) pInstance->SetData(DATA_RUBY_VOID, 0); else pInstance->SetData(DATA_RUBY_VOID, 1); @@ -148,10 +148,10 @@ class boss_eregos : public CreatureScript void DamageTaken(Unit*, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override { - if( !me->GetMap()->IsHeroic() ) + if (!me->GetMap()->IsHeroic()) return; - if( shiftNumber <= uint32(1) && uint32(me->GetHealth() * 100 / me->GetMaxHealth()) <= uint32(60 - shiftNumber * 40) ) + if (shiftNumber <= uint32(1) && uint32(me->GetHealth() * 100 / me->GetMaxHealth()) <= uint32(60 - shiftNumber * 40)) { ++shiftNumber; events.RescheduleEvent(EVENT_SPELL_PLANAR_SHIFT, 0ms); @@ -167,7 +167,7 @@ class boss_eregos : public CreatureScript void JustSummoned(Creature* pSummon) override { - if( pSummon->GetEntry() != NPC_LEY_GUARDIAN_WHELP ) + if (pSummon->GetEntry() != NPC_LEY_GUARDIAN_WHELP ) return; DoZoneInCombat(pSummon, 300.0f); @@ -175,25 +175,25 @@ class boss_eregos : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; - if( me->HasAura(SPELL_PLANAR_SHIFT) || me->HasAura(SPELL_DRAKE_STOP_TIME) ) + if (me->HasAura(SPELL_PLANAR_SHIFT) || me->HasAura(SPELL_DRAKE_STOP_TIME)) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; DoMeleeAttackIfReady(); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_ARCANE_BARRAGE: - if( Unit* v = me->GetVictim() ) + if (Unit* v = me->GetVictim()) me->CastSpell(v, SPELL_ARCANE_BARRAGE, false); events.Repeat(2500ms); break; @@ -224,8 +224,8 @@ class boss_eregos : public CreatureScript Talk(SAY_SHIELD); me->CastSpell(me, SPELL_PLANAR_SHIFT, false); for( uint8 i = 0; i < 3; ++i ) - if( Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 300.0f, false) ) - if( Creature* pa = me->SummonCreature(NPC_PLANAR_ANOMALY, *me, TEMPSUMMON_TIMED_DESPAWN, 17000) ) + if (Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 300.0f, false)) + if (Creature* pa = me->SummonCreature(NPC_PLANAR_ANOMALY, *me, TEMPSUMMON_TIMED_DESPAWN, 17000)) { pa->SetCanFly(true); pa->SetDisableGravity(true); @@ -234,7 +234,7 @@ class boss_eregos : public CreatureScript pa->CastSpell(pa, SPELL_PLANAR_AURA_DAMAGE, true); if (Aura* a = pa->GetAura(SPELL_PLANAR_AURA_DAMAGE)) a->SetDuration(15000); - if( pa->AI() ) + if (pa->AI()) { pa->AI()->AttackStart(t); pa->GetMotionMaster()->MoveChase(t, 0.01f); diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp index f5547129e5f876..9807f0244a5964 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp @@ -125,7 +125,7 @@ class boss_urom : public CreatureScript if (pInstance) { pInstance->SetData(DATA_UROM, NOT_STARTED); - if( pInstance->GetData(DATA_VAROS) != DONE ) + if (pInstance->GetData(DATA_VAROS) != DONE ) me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); else me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); @@ -143,20 +143,20 @@ class boss_urom : public CreatureScript void JustEngagedWith(Unit* /*who*/) override { - if( lock ) + if (lock) return; uint8 phase = GetPhaseByCurrentPosition(); - if( phase == 3 ) + if (phase == 3) { Talk(SAY_AGGRO); - if( pInstance ) + if (pInstance) pInstance->SetData(DATA_UROM, IN_PROGRESS); me->SetInCombatWithZone(); me->SetHomePosition(cords[0][0], cords[0][1], cords[0][2], cords[0][3]); - if( me->FindCurrentSpellBySpellId(SPELL_EVOCATION) ) + if (me->FindCurrentSpellBySpellId(SPELL_EVOCATION)) me->InterruptNonMeleeSpells(false); events.RescheduleEvent(EVENT_FROSTBOMB, 7s, 11s); @@ -167,7 +167,7 @@ class boss_urom : public CreatureScript { lock = true; - switch( phase ) + switch (phase) { case 0: Talk(SAY_SUMMON_1); @@ -190,7 +190,7 @@ class boss_urom : public CreatureScript void AttackStart(Unit* who) override { - if( lock ) + if (lock) return; if (me->GetDistance(1103.0f, 1049.0f, 510.0f) < 55.0f) @@ -200,8 +200,8 @@ class boss_urom : public CreatureScript void JustSummoned(Creature* pSummon) override { pSummon->SetInCombatWithZone(); - if( Unit* v = pSummon->SelectVictim() ) - if( pSummon->AI() ) + if (Unit* v = pSummon->SelectVictim()) + if (pSummon->AI()) pSummon->AI()->AttackStart(v); } @@ -234,7 +234,7 @@ class boss_urom : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case SPELL_SUMMON_MENAGERIE_1: { @@ -299,9 +299,9 @@ class boss_urom : public CreatureScript void UpdateAI(uint32 diff) override { - if( releaseLockTimer ) + if (releaseLockTimer) { - if( releaseLockTimer >= 5000 ) + if (releaseLockTimer >= 5000) { lock = false; if (me->IsInCombat()) @@ -315,27 +315,27 @@ class boss_urom : public CreatureScript releaseLockTimer += diff; } - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; DoMeleeAttackIfReady(); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_FROSTBOMB: - if( Unit* v = me->GetVictim() ) + if (Unit* v = me->GetVictim()) me->CastSpell(v, SPELL_FROSTBOMB, false); events.Repeat(7s, 11s); break; case EVENT_TIME_BOMB: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true)) DoCast(target, DUNGEON_MODE(SPELL_TIME_BOMB_N, SPELL_TIME_BOMB_H)); events.Repeat(20s, 25s); break; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp index 58e3f4c9050318..1fa46159404f3c 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp @@ -100,7 +100,7 @@ class boss_varos : public CreatureScript if (pInstance) { pInstance->SetData(DATA_VAROS, NOT_STARTED); - if( pInstance->GetData(DATA_CC_COUNT) < 10 ) + if (pInstance->GetData(DATA_CC_COUNT) < 10 ) { me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->CastSpell(me, 50053, true); @@ -157,23 +157,23 @@ class boss_varos : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; DoMeleeAttackIfReady(); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_AMPLIFY_MAGIC: { - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true)) me->CastSpell(target, SPELL_AMPLIFY_MAGIC, false); events.Repeat(17s + 500ms, 22s + 500ms); } @@ -185,7 +185,7 @@ class boss_varos : public CreatureScript { Talk(SAY_AZURE); Talk(SAY_AZURE_EMOTE); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case EVENT_CALL_AZURE_RING_CAPTAIN_1: me->CastSpell(me, SPELL_CALL_AZURE_RING_CAPTAIN_1, true); @@ -204,11 +204,11 @@ class boss_varos : public CreatureScript events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_1, 16s); break; } - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true)) { - if( Creature* trigger = me->SummonCreature(NPC_ARCANE_BEAM, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 13000) ) + if (Creature* trigger = me->SummonCreature(NPC_ARCANE_BEAM, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 13000)) { - if( Creature* c = me->FindNearestCreature(NPC_AZURE_RING_CAPTAIN, 500.0f, true) ) + if (Creature* c = me->FindNearestCreature(NPC_AZURE_RING_CAPTAIN, 500.0f, true)) c->CastSpell(trigger, SPELL_ARCANE_BEAM_VISUAL, true); trigger->GetMotionMaster()->MoveChase(target, 0.1f); trigger->CastSpell(me, SPELL_ARCANE_BEAM_PERIODIC_DAMAGE, true); @@ -234,7 +234,7 @@ class boss_varos : public CreatureScript me->SetControlled(true, UNIT_STATE_ROOT); me->CastSpell((Unit*)nullptr, SPELL_ENERGIZE_CORES, false); ZapAngle += M_PI / 2; - if( ZapAngle >= 2 * M_PI ) + if (ZapAngle >= 2 * M_PI) ZapAngle -= 2 * M_PI; events.ScheduleEvent(EVENT_ENERGIZE_CORES_THIN, 2s); } diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index 0aa6de4f42a8ac..33069679bc2138 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -63,7 +63,7 @@ class instance_oculus : public InstanceMapScript void OnCreatureCreate(Creature* pCreature) override { - switch( pCreature->GetEntry() ) + switch (pCreature->GetEntry()) { case NPC_DRAKOS: uiDrakosGUID = pCreature->GetGUID(); @@ -82,19 +82,19 @@ class instance_oculus : public InstanceMapScript void OnGameObjectCreate(GameObject* pGo) override { - switch( pGo->GetEntry() ) + switch (pGo->GetEntry()) { case GO_DRAGON_CAGE_DOOR: for( uint8 i = 0; i < 3; ++i ) { - if( DragonCageDoorGUID[i] ) + if (DragonCageDoorGUID[i]) continue; DragonCageDoorGUID[i] = pGo->GetGUID(); break; } - if( m_auiEncounter[DATA_DRAKOS] == DONE ) - if( pGo->GetGoState() != GO_STATE_ACTIVE ) + if (m_auiEncounter[DATA_DRAKOS] == DONE) + if (pGo->GetGoState() != GO_STATE_ACTIVE ) { pGo->SetLootState(GO_READY); pGo->UseDoorOrButton(0, false); @@ -129,11 +129,11 @@ class instance_oculus : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch( type ) + switch (type) { case DATA_DRAKOS: m_auiEncounter[DATA_DRAKOS] = data; - if( data == DONE ) + if (data == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount); @@ -144,18 +144,18 @@ class instance_oculus : public InstanceMapScript break; case DATA_VAROS: m_auiEncounter[DATA_VAROS] = data; - if( data == DONE ) + if (data == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); - if( Creature* urom = instance->GetCreature(uiUromGUID) ) + if (Creature* urom = instance->GetCreature(uiUromGUID)) urom->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); } break; case DATA_UROM: m_auiEncounter[DATA_UROM] = data; - if( data == DONE ) - if( Creature* eregos = instance->GetCreature(uiEregosGUID) ) + if (data == DONE) + if (Creature* eregos = instance->GetCreature(uiEregosGUID)) eregos->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); break; case DATA_EREGOS: @@ -174,13 +174,13 @@ class instance_oculus : public InstanceMapScript } break; case DATA_CC_COUNT: - if( CentrifugeCount < 10 ) + if (CentrifugeCount < 10) { ++CentrifugeCount; DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, 10 - CentrifugeCount); } - if( CentrifugeCount >= 10 ) - if( Creature* varos = instance->GetCreature(uiVarosGUID) ) + if (CentrifugeCount >= 10) + if (Creature* varos = instance->GetCreature(uiVarosGUID)) { varos->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); varos->InterruptNonMeleeSpells(false); @@ -198,13 +198,13 @@ class instance_oculus : public InstanceMapScript break; } - if( data == DONE ) + if (data == DONE) SaveToDB(); } uint32 GetData(uint32 type) const override { - switch( type ) + switch (type) { case DATA_DRAKOS: case DATA_VAROS: @@ -220,7 +220,7 @@ class instance_oculus : public InstanceMapScript ObjectGuid GetGuidData(uint32 identifier) const override { - switch( identifier ) + switch (identifier) { case DATA_DRAKOS: return uiDrakosGUID; @@ -259,24 +259,24 @@ class instance_oculus : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* source, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case CRITERIA_EXPERIENCED_AMBER: - if( source ) - if( Unit* drake = source->GetVehicleBase() ) - if( drake->GetEntry() == NPC_AMBER_DRAKE ) + if (source) + if (Unit* drake = source->GetVehicleBase()) + if (drake->GetEntry() == NPC_AMBER_DRAKE ) return true; break; case CRITERIA_EXPERIENCED_EMERALD: - if( source ) - if( Unit* drake = source->GetVehicleBase() ) - if( drake->GetEntry() == NPC_EMERALD_DRAKE ) + if (source) + if (Unit* drake = source->GetVehicleBase()) + if (drake->GetEntry() == NPC_EMERALD_DRAKE ) return true; break; case CRITERIA_EXPERIENCED_RUBY: - if( source ) - if( Unit* drake = source->GetVehicleBase() ) - if( drake->GetEntry() == NPC_RUBY_DRAKE ) + if (source) + if (Unit* drake = source->GetVehicleBase()) + if (drake->GetEntry() == NPC_RUBY_DRAKE ) return true; break; case CRITERIA_AMBER_VOID: diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 0e54a5e370b9bb..3f785b6b068727 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -157,7 +157,7 @@ class npc_oculus_drakegiver : public CreatureScript return; } - if(me->GetEntry() == NPC_BELGARISTRASZ) + if (me->GetEntry() == NPC_BELGARISTRASZ) { Talk(SAY_BELGARISTRASZ); } @@ -167,10 +167,10 @@ class npc_oculus_drakegiver : public CreatureScript bool OnGossipHello(Player* player, Creature* creature) override { - if(creature->IsQuestGiver()) + if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - if(creature->GetInstanceScript()->GetData(DATA_DRAKOS) == DONE) + if (creature->GetInstanceScript()->GetData(DATA_DRAKOS) == DONE) { switch (creature->GetEntry()) { @@ -251,10 +251,10 @@ class npc_oculus_drakegiver : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { ClearGossipMenuFor(player); - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_VERDISA: - switch(uiAction) + switch (uiAction) { case GOSSIP_ACTION_INFO_DEF: SendGossipMenuFor(player, GOSSIP_TEXTID_VERDISA2, creature->GetGUID()); @@ -273,7 +273,7 @@ class npc_oculus_drakegiver : public CreatureScript CloseGossipMenuFor(player); break; case NPC_BELGARISTRASZ: - switch(uiAction) + switch (uiAction) { case GOSSIP_ACTION_INFO_DEF: openedMenu[player->GetGUID()] = true; @@ -415,11 +415,11 @@ class npc_oculus_drake : public CreatureScript void SpellHitTarget(Unit* target, SpellInfo const* spell) override { for( uint8 i = 0; i < 8; ++i ) - if( me->m_spells[i] == spell->Id ) + if (me->m_spells[i] == spell->Id) { - if( target && target->IsAlive() && !target->CanFly() && target->IsHostileTo(me) && !spell->IsTargetingArea()) + if (target && target->IsAlive() && !target->CanFly() && target->IsHostileTo(me) && !spell->IsTargetingArea()) { - if( Unit* charmer = me->GetCharmer() ) + if (Unit* charmer = me->GetCharmer()) Unit::Kill(charmer, charmer, false); } break; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp index 0ad61d242d5a54..376c55cf61e6e5 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp @@ -143,7 +143,7 @@ class boss_loken : public CreatureScript { if (hp) { - switch(HealthCheck) + switch (HealthCheck) { case 75: Talk(SAY_75HEALTH); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp index 96b1e1a2a98632..b6212a1acf3699 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp @@ -73,7 +73,7 @@ class instance_halls_of_lightning : public InstanceMapScript void OnCreatureCreate(Creature* pCreature) override { - switch(pCreature->GetEntry()) + switch (pCreature->GetEntry()) { case NPC_BJARNGRIM: m_uiGeneralBjarngrimGUID = pCreature->GetGUID(); @@ -92,7 +92,7 @@ class instance_halls_of_lightning : public InstanceMapScript void OnGameObjectCreate(GameObject* pGo) override { - switch(pGo->GetEntry()) + switch (pGo->GetEntry()) { case GO_BJARNGRIM_DOOR: m_uiBjarngrimDoorGUID = pGo->GetGUID(); @@ -126,7 +126,7 @@ class instance_halls_of_lightning : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 7321: //Shatter Resistant (2042) return volkhanAchievement; @@ -139,7 +139,7 @@ class instance_halls_of_lightning : public InstanceMapScript void SetData(uint32 uiType, uint32 uiData) override { m_auiEncounter[uiType] = uiData; - if( uiType == TYPE_LOKEN_INTRO ) + if (uiType == TYPE_LOKEN_INTRO) SaveToDB(); // Achievements @@ -148,10 +148,10 @@ class instance_halls_of_lightning : public InstanceMapScript else if (uiType == DATA_VOLKHAN_ACHIEVEMENT) volkhanAchievement = (bool)uiData; - if( uiData != DONE ) + if (uiData != DONE) return; - switch(uiType) + switch (uiType) { case TYPE_BJARNGRIM: HandleGameObject(m_uiBjarngrimDoorGUID, true); @@ -197,7 +197,7 @@ class instance_halls_of_lightning : public InstanceMapScript ObjectGuid GetGuidData(uint32 uiData) const override { - switch(uiData) + switch (uiData) { case TYPE_BJARNGRIM: return m_uiGeneralBjarngrimGUID; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp index 231504ad44d547..814daf759acc50 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp @@ -95,15 +95,15 @@ class boss_maiden_of_grief : public CreatureScript void UpdateAI(uint32 diff) override { - if(!UpdateVictim()) + if (!UpdateVictim()) return; events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case EVENT_STORM: { diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index b4ee33e6698c05..ae209689c49ed7 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -319,7 +319,7 @@ class brann_bronzebeard : public CreatureScript me->SetReactState(REACT_PASSIVE); me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); - if(pInstance) + if (pInstance) { pInstance->SetData(BRANN_BRONZEBEARD, 1); pInstance->SetData(DATA_BRANN_ACHIEVEMENT, true); @@ -586,7 +586,7 @@ class brann_bronzebeard : public CreatureScript for (int i = 0; i < count; ++i) { Creature* cr = me->SummonCreature(entry, 946.5971f + urand(0, 6), 383.5330f + urand(0, 6), 205.9943f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000); - if(cr) + if (cr) { cr->AI()->AttackStart(me); cr->AddThreat(me, 100.0f); @@ -598,7 +598,7 @@ class brann_bronzebeard : public CreatureScript void JustDied(Unit* /*killer*/) override { ResetEvent(); - if(pInstance) + if (pInstance) { if (Creature* brann = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_BRANN))) { @@ -662,7 +662,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) // In front of Console case 11: SetEscortPaused(true); - if(pInstance) + if (pInstance) { pInstance->SetData(BOSS_TRIBUNAL_OF_AGES, IN_PROGRESS); if (GameObject* tribunal = ObjectAccessor::GetGameObject(*me, pInstance->GetGuidData(GO_TRIBUNAL_CONSOLE))) @@ -672,7 +672,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) // Before Sjonnir's door case 27: SetEscortPaused(true); - if(pInstance) + if (pInstance) { pInstance->SetData(BRANN_BRONZEBEARD, 5); me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp index 8449a7795f8f0f..619d5e724e54b5 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp @@ -80,7 +80,7 @@ class instance_halls_of_stone : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch(go->GetEntry()) + switch (go->GetEntry()) { case GO_KADDRAK: goKaddrakGUID = go->GetGUID(); @@ -124,7 +124,7 @@ class instance_halls_of_stone : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_SJONNIR: SjonnirGUID = creature->GetGUID(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 8007e94d9464c3..c56188547b9713 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -340,7 +340,7 @@ class boss_steelbreaker : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_FUSION_PUNCH: me->CastSpell(me->GetVictim(), SPELL_FUSION_PUNCH, false); @@ -509,7 +509,7 @@ class boss_runemaster_molgeim : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_RUNE_OF_POWER: { diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 7b1ebde90611ac..a3869ededaaf01 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -432,7 +432,7 @@ class boss_flame_leviathan : public CreatureScript events.Repeat(20s); return; case EVENT_SUMMON: - if(summons.size() < 20) + if (summons.size() < 20) if (Creature* lift = DoSummonFlyer(NPC_MECHANOLIFT, me, 30.0f, 50.0f, 0)) lift->GetMotionMaster()->MoveRandom(100); @@ -474,9 +474,9 @@ class boss_flame_leviathan : public CreatureScript return; } - if(me->isAttackReady() && !me->HasUnitState(UNIT_STATE_STUNNED)) + if (me->isAttackReady() && !me->HasUnitState(UNIT_STATE_STUNNED)) { - if(me->IsWithinCombatRange(me->GetVictim(), 15.0f)) + if (me->IsWithinCombatRange(me->GetVictim(), 15.0f)) { me->CastSpell(me->GetVictim(), SPELL_BATTERING_RAM, false); me->resetAttackTimer(); @@ -1036,7 +1036,7 @@ class npc_hodirs_fury : public CreatureScript _switchTargetTimer += diff; if (_switchTargetTimer >= 30000) { - if(Unit* target = me->SelectNearbyTarget(nullptr, 200.0f)) + if (Unit* target = me->SelectNearbyTarget(nullptr, 200.0f)) { if (target->GetVehicleBase() && target->GetVehicleBase()->GetEntry() == NPC_SEAT) { diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp index aa441954096aab..df194ce325cdaa 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp @@ -502,7 +502,7 @@ class boss_freya : public CreatureScript events.ScheduleEvent(EVENT_FREYA_BERSERK, 10min); events.SetPhase(EVENT_PHASE_ADDS); - if( !m_pInstance ) + if (!m_pInstance) return; if (m_pInstance->GetData(TYPE_FREYA) != DONE) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index be71517da32e7e..a04be877774d20 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -177,7 +177,7 @@ class boss_vezax : public CreatureScript void DoAction(int32 param) override { - switch( param ) + switch (param) { case 1: hardmodeAvailable = false; @@ -209,18 +209,18 @@ class boss_vezax : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; - if( !berserk && (me->GetPositionX() < 1720.0f || me->GetPositionX() > 1940.0f || me->GetPositionY() < 20.0f || me->GetPositionY() > 210.0f) ) + if (!berserk && (me->GetPositionX() < 1720.0f || me->GetPositionX() > 1940.0f || me->GetPositionY() < 20.0f || me->GetPositionY() > 210.0f)) events.RescheduleEvent(EVENT_BERSERK, 1ms); events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -238,7 +238,7 @@ class boss_vezax : public CreatureScript for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { Player* temp = itr->GetSource(); - if( temp->IsAlive() && temp->GetDistance(me) > 15.0f ) + if (temp->IsAlive() && temp->GetDistance(me) > 15.0f ) players.push_back(temp); } if (!players.empty()) @@ -256,7 +256,7 @@ class boss_vezax : public CreatureScript me->SetGuidValue(UNIT_FIELD_TARGET, me->GetVictim()->GetGUID()); break; case EVENT_SPELL_SEARING_FLAMES: - if(!me->HasAura(SPELL_SARONITE_BARRIER)) + if (!me->HasAura(SPELL_SARONITE_BARRIER)) me->CastSpell(me->GetVictim(), SPELL_SEARING_FLAMES, false); events.Repeat(me->GetMap()->Is25ManRaid() ? 8s : 15s); break; @@ -273,19 +273,19 @@ class boss_vezax : public CreatureScript std::vector inside; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* tmp = itr->GetSource() ) - if( tmp->IsAlive() ) + if (Player* tmp = itr->GetSource()) + if (tmp->IsAlive()) { - if( tmp->GetDistance(me) > 15.0f ) + if (tmp->GetDistance(me) > 15.0f ) outside.push_back(tmp); else inside.push_back(tmp); } Player* t = nullptr; - if( outside.size() >= uint8(me->GetMap()->Is25ManRaid() ? 9 : 4) ) + if (outside.size() >= uint8(me->GetMap()->Is25ManRaid() ? 9 : 4)) t = outside.at(urand(0, outside.size() - 1)); - else if( !inside.empty() ) + else if (!inside.empty()) t = inside.at(urand(0, inside.size() - 1)); if (t) @@ -299,7 +299,7 @@ class boss_vezax : public CreatureScript vaporsCount++; me->CastSpell(me, SPELL_SUMMON_SARONITE_VAPORS, false); - if( vaporsCount < 6 || !hardmodeAvailable ) + if (vaporsCount < 6 || !hardmodeAvailable) events.Repeat(30s); else { @@ -321,7 +321,7 @@ class boss_vezax : public CreatureScript if (summons.size()) { Talk(SAY_EMOTE_ANIMUS); - if( Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin())) ) + if (Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin()))) sv->CastSpell(sv, SPELL_SARONITE_ANIMUS_FORMATION_VISUAL, true); events.ScheduleEvent(EVENT_SPELL_SUMMON_SARONITE_ANIMUS, 2s); @@ -334,7 +334,7 @@ class boss_vezax : public CreatureScript Talk(SAY_HARDMODE); Talk(SAY_EMOTE_BARRIER); me->CastSpell(me, SPELL_SARONITE_BARRIER, true); - if( Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin())) ) + if (Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin()))) sv->CastSpell(sv, SPELL_SUMMON_SARONITE_ANIMUS, true); events.ScheduleEvent(EVENT_DESPAWN_SARONITE_VAPORS, 2500ms); @@ -357,8 +357,8 @@ class boss_vezax : public CreatureScript Talk(SAY_DEATH); - if( GameObject* door = me->FindNearestGameObject(GO_VEZAX_DOOR, 500.0f) ) - if( door->GetGoState() != GO_STATE_ACTIVE ) + if (GameObject* door = me->FindNearestGameObject(GO_VEZAX_DOOR, 500.0f)) + if (door->GetGoState() != GO_STATE_ACTIVE ) { door->SetLootState(GO_READY); door->UseDoorOrButton(0, false); @@ -367,7 +367,7 @@ class boss_vezax : public CreatureScript void KilledUnit(Unit* who) override { - if( who->IsPlayer() ) + if (who->IsPlayer()) Talk(SAY_SLAY); } @@ -410,8 +410,8 @@ class npc_ulduar_saronite_vapors : public CreatureScript me->CastSpell(me, SPELL_SARONITE_VAPORS_AURA, true); // killed saronite vapors, hard mode unavailable - if( pInstance ) - if( Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX)) ) + if (pInstance) + if (Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX))) vezax->AI()->DoAction(1); } @@ -437,8 +437,8 @@ class npc_ulduar_saronite_animus : public CreatureScript npc_ulduar_saronite_animusAI(Creature* pCreature) : ScriptedAI(pCreature) { pInstance = pCreature->GetInstanceScript(); - if( pInstance ) - if( Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX)) ) + if (pInstance) + if (Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX))) vezax->AI()->JustSummoned(me); timer = 0; me->SetInCombatWithZone(); @@ -451,8 +451,8 @@ class npc_ulduar_saronite_animus : public CreatureScript { me->DespawnOrUnsummon(3000); - if( pInstance ) - if( Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX)) ) + if (pInstance) + if (Creature* vezax = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(TYPE_VEZAX))) vezax->AI()->DoAction(2); } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp index 7c1dbd1364dbef..956763df85b045 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp @@ -310,7 +310,7 @@ class boss_hodir : public CreatureScript void SmallIcicles(bool enable) { - if( enable ) + if (enable) me->CastSpell(me, SPELL_ICICLE_BOSS_AURA, true); else me->RemoveAura(SPELL_ICICLE_BOSS_AURA); @@ -318,7 +318,7 @@ class boss_hodir : public CreatureScript void SpellHitTarget(Unit* target, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case SPELL_ICICLE_TBBA: me->CastSpell(target, SPELL_ICICLE_VISUAL_UNPACKED, true); @@ -360,9 +360,9 @@ class boss_hodir : public CreatureScript events.Reset(); summons.DespawnAll(); - if( GameObject* d = me->FindNearestGameObject(GO_HODIR_FROZEN_DOOR, 250.0f)) + if (GameObject* d = me->FindNearestGameObject(GO_HODIR_FROZEN_DOOR, 250.0f)) { - if( d->GetGoState() != GO_STATE_ACTIVE ) + if (d->GetGoState() != GO_STATE_ACTIVE ) { d->SetLootState(GO_READY); d->UseDoorOrButton(0, false); @@ -370,7 +370,7 @@ class boss_hodir : public CreatureScript } if (GameObject* d = me->FindNearestGameObject(GO_HODIR_DOOR, 250.0f)) { - if( d->GetGoState() != GO_STATE_ACTIVE ) + if (d->GetGoState() != GO_STATE_ACTIVE ) { d->SetLootState(GO_READY); d->UseDoorOrButton(0, false); @@ -414,7 +414,7 @@ class boss_hodir : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; switch (events.ExecuteEvent()) @@ -518,7 +518,7 @@ class boss_hodir : public CreatureScript void SpawnHelpers() { char faction = 'A'; - if( hhd[0][0].id ) + if (hhd[0][0].id) { Map::PlayerList const& cl = me->GetMap()->GetPlayers(); for (Map::PlayerList::const_iterator itr = cl.begin(); itr != cl.end(); ++itr) @@ -530,25 +530,25 @@ class boss_hodir : public CreatureScript } uint8 cnt = 0; - if( faction ) + if (faction) for( uint8 k = 0; k < 4; ++k ) { - if( (faction == 'A' && ( k > 1 || (k == 1 && RAID_MODE(1, 0)) )) || - (faction == 'H' && ( k < 2 || (k == 3 && RAID_MODE(1, 0)) )) ) + if ((faction == 'A' && ( k > 1 || (k == 1 && RAID_MODE(1, 0)))) || + (faction == 'H' && ( k < 2 || (k == 3 && RAID_MODE(1, 0))))) continue; for( uint8 i = 0; i < 4; ++i ) { - if( !hhd[k][i].id ) + if (!hhd[k][i].id) continue; - if( Creature* h_p = me->SummonCreature(hhd[k][i].id, hhd[k][i].x, hhd[k][i].y, 432.69f, M_PI / 2) ) + if (Creature* h_p = me->SummonCreature(hhd[k][i].id, hhd[k][i].x, hhd[k][i].y, 432.69f, M_PI / 2)) { h_p->SetFaction(1665); - if( cnt < 8 ) + if (cnt < 8) Helpers[cnt++] = h_p->GetGUID(); - if( Creature* c = h_p->SummonCreature(NPC_FLASH_FREEZE_NPC, h_p->GetPositionX(), h_p->GetPositionY(), h_p->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000) ) + if (Creature* c = h_p->SummonCreature(NPC_FLASH_FREEZE_NPC, h_p->GetPositionX(), h_p->GetPositionY(), h_p->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000)) { c->CastSpell(h_p, SPELL_FLASH_FREEZE_TRAPPED_NPC, true); JustSummoned(c); @@ -644,7 +644,7 @@ class npc_ulduar_icicle : public CreatureScript void UpdateAI(uint32 diff) override { - if( timer1 <= diff ) + if (timer1 <= diff) { me->CastSpell(me, (me->GetEntry() == 33169 ? SPELL_ICICLE_FALL_EFFECT_UNPACKED : SPELL_ICICLE_FALL_EFFECT_PACKED), true); me->CastSpell(me, SPELL_ICICLE_VISUAL_FALLING, false); @@ -745,7 +745,7 @@ class npc_ulduar_toasty_fire : public CreatureScript { if (a == 1) { - if( GameObject* fire = me->FindNearestGameObject(194300, 1.0f) ) + if (GameObject* fire = me->FindNearestGameObject(194300, 1.0f)) { fire->SetOwnerGUID(ObjectGuid::Empty); fire->Delete(); @@ -756,7 +756,7 @@ class npc_ulduar_toasty_fire : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case SPELL_ICE_SHARDS_SMALL: case SPELL_ICE_SHARDS_BIG: @@ -803,7 +803,7 @@ class npc_ulduar_hodir_priest : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) + if (spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) { events.Reset(); events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s); @@ -814,19 +814,19 @@ class npc_ulduar_hodir_priest : public CreatureScript { events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_TRY_FREE_HELPER: { - if( !me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC) ) - if( pInstance ) - if( ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR) ) - if( Creature* hodir = ObjectAccessor::GetCreature(*me, g) ) + if (!me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)) + if (pInstance) + if (ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR)) + if (Creature* hodir = ObjectAccessor::GetCreature(*me, g)) { AttackStart(hodir); ScheduleAbilities(); @@ -900,7 +900,7 @@ class npc_ulduar_hodir_druid : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) + if (spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) { events.Reset(); events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s); @@ -911,19 +911,19 @@ class npc_ulduar_hodir_druid : public CreatureScript { events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_TRY_FREE_HELPER: { - if( !me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC) ) - if( pInstance ) - if( ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR) ) - if( Creature* hodir = ObjectAccessor::GetCreature(*me, g) ) + if (!me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)) + if (pInstance) + if (ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR)) + if (Creature* hodir = ObjectAccessor::GetCreature(*me, g)) { AttackStart(hodir); ScheduleAbilities(); @@ -998,7 +998,7 @@ class npc_ulduar_hodir_shaman : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) + if (spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) { events.Reset(); events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s); @@ -1016,19 +1016,19 @@ class npc_ulduar_hodir_shaman : public CreatureScript { events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_TRY_FREE_HELPER: { - if( !me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC) ) - if( pInstance ) - if( ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR) ) - if( Creature* hodir = ObjectAccessor::GetCreature(*me, g) ) + if (!me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)) + if (pInstance) + if (ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR)) + if (Creature* hodir = ObjectAccessor::GetCreature(*me, g)) { AttackStart(hodir); ScheduleAbilities(); @@ -1100,7 +1100,7 @@ class npc_ulduar_hodir_mage : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) + if (spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC) { events.Reset(); events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s); @@ -1111,19 +1111,19 @@ class npc_ulduar_hodir_mage : public CreatureScript { events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_TRY_FREE_HELPER: { - if( !me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC) ) - if( pInstance ) - if( ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR) ) - if( Creature* hodir = ObjectAccessor::GetCreature(*me, g) ) + if (!me->HasAura(SPELL_FLASH_FREEZE_TRAPPED_NPC)) + if (pInstance) + if (ObjectGuid g = pInstance->GetGuidData(TYPE_HODIR)) + if (Creature* hodir = ObjectAccessor::GetCreature(*me, g)) { AttackStart(hodir); ScheduleAbilities(); @@ -1147,14 +1147,14 @@ class npc_ulduar_hodir_mage : public CreatureScript bool found = false; me->GetCreaturesWithEntryInRange(FB, 150.0f, NPC_FLASH_FREEZE_NPC); for( std::list::const_iterator itr = FB.begin(); itr != FB.end(); ++itr ) - if( !((*itr)->HasAura(SPELL_MAGE_MELT_ICE)) ) + if (!((*itr)->HasAura(SPELL_MAGE_MELT_ICE))) { me->CastSpell((*itr), SPELL_MAGE_MELT_ICE, false); found = true; break; } - if( found ) + if (found) { events.DelayEvents(2s); events.Repeat(2s); @@ -1372,7 +1372,7 @@ class spell_hodir_flash_freeze_aura : public AuraScript if (target->IsPlayer()) { caster->ToCreature()->AI()->SetData(1, 1); - if( Creature* c = target->SummonCreature(NPC_FLASH_FREEZE_PLR, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5 * 60 * 1000) ) + if (Creature* c = target->SummonCreature(NPC_FLASH_FREEZE_PLR, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 5 * 60 * 1000)) { c->CastSpell(target, SPELL_FLASH_FREEZE_TRAPPED_PLAYER, true); caster->ToCreature()->AI()->JustSummoned(c); @@ -1380,7 +1380,7 @@ class spell_hodir_flash_freeze_aura : public AuraScript } else if (target->IsCreature()) { - if( Creature* c = target->SummonCreature(NPC_FLASH_FREEZE_NPC, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000) ) + if (Creature* c = target->SummonCreature(NPC_FLASH_FREEZE_NPC, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000)) { c->CastSpell(target, SPELL_FLASH_FREEZE_TRAPPED_NPC, true); caster->ToCreature()->AI()->JustSummoned(c); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index f44e278d4bfe8a..a19b91a95c8eb1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -148,7 +148,7 @@ class npc_ulduar_iron_construct : public CreatureScript void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if( damage >= RAID_MODE(3000U, 5000U) && me->GetAura(S_BRITTLE) ) + if (damage >= RAID_MODE(3000U, 5000U) && me->GetAura(S_BRITTLE)) { me->CastSpell(me, SPELL_SHATTER, true); Unit::Kill(attacker, me); @@ -219,7 +219,7 @@ class boss_ignis : public CreatureScript bShattered = false; lastShatterMSTime = 0; - if( InstanceScript* m_pInstance = me->GetInstanceScript() ) + if (InstanceScript* m_pInstance = me->GetInstanceScript()) { m_pInstance->SetData(TYPE_IGNIS, NOT_STARTED); m_pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_STOKIN_THE_FURNACE_EVENT); @@ -256,7 +256,7 @@ class boss_ignis : public CreatureScript Talk(SAY_AGGRO); DoZoneInCombat(); - if( InstanceScript* m_pInstance = me->GetInstanceScript() ) + if (InstanceScript* m_pInstance = me->GetInstanceScript()) { m_pInstance->SetData(TYPE_IGNIS, IN_PROGRESS); m_pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_STOKIN_THE_FURNACE_EVENT); @@ -298,7 +298,7 @@ class boss_ignis : public CreatureScript { Talk(SAY_DEATH); - if( me->GetInstanceScript() ) + if (me->GetInstanceScript()) me->GetInstanceScript()->SetData(TYPE_IGNIS, DONE); std::list icl; @@ -324,7 +324,7 @@ class boss_ignis : public CreatureScript if (!UpdateVictim()) return; - if( me->GetPositionX() < 490.0f || me->GetPositionX() > 690.0f || me->GetPositionY() < 130.0f || me->GetPositionY() > 410.0f ) + if (me->GetPositionX() < 490.0f || me->GetPositionX() > 690.0f || me->GetPositionY() < 130.0f || me->GetPositionY() > 410.0f ) { EnterEvadeMode(EVADE_REASON_OTHER); return; @@ -380,9 +380,9 @@ class boss_ignis : public CreatureScript for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) { temp = itr->GetSource(); - if( !temp->IsAlive() || temp->GetExactDist2d(me) > 90.0f ) + if (!temp->IsAlive() || temp->GetExactDist2d(me) > 90.0f ) continue; - if( me->GetVictim() && temp->GetGUID() == me->GetVictim()->GetGUID() ) + if (me->GetVictim() && temp->GetGUID() == me->GetVictim()->GetGUID()) continue; bool found = false; for (std::list::iterator iterator = icl.begin(); iterator != icl.end(); ++iterator) @@ -394,14 +394,14 @@ class boss_ignis : public CreatureScript } } - if( !found ) + if (!found) playerGUIDs.push_back(temp->GetGUID()); } - if( !playerGUIDs.empty() ) + if (!playerGUIDs.empty()) { int8 pos = urand(0, playerGUIDs.size() - 1); - if( Player* pTarget = ObjectAccessor::GetPlayer(*me, playerGUIDs.at(pos)) ) + if (Player* pTarget = ObjectAccessor::GetPlayer(*me, playerGUIDs.at(pos))) { Talk(SAY_SLAG_POT); me->CastSpell(pTarget, SPELL_GRAB, false); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index fdbebae70d591d..ae7d9d955c55f1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -573,7 +573,7 @@ class boss_kologarn_arms : public CreatureScript { float x, y, z; // left arm - if( me->GetEntry() == NPC_LEFT_ARM ) + if (me->GetEntry() == NPC_LEFT_ARM ) { x = 1776.97f; y = -44.8396f; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 5ced2828d8c3ac..d306053870f965 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -417,16 +417,16 @@ class boss_mimiron : public CreatureScript events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_COMPUTER_SAY_INITIATED: - if( Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000) ) + if (Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000)) computer->AI()->Talk(TALK_COMPUTER_INITIATED); break; case EVENT_COMPUTER_SAY_MINUTES: - if( Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000) ) + if (Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000)) computer->AI()->Talk(minutesTalkNum++); break; case EVENT_MIMIRON_SAY_HARDMODE: @@ -442,12 +442,12 @@ class boss_mimiron : public CreatureScript std::vector pg; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( plr->IsAlive() && plr->GetExactDist2d(me) < 150.0f && !plr->IsGameMaster() ) + if (Player* plr = itr->GetSource()) + if (plr->IsAlive() && plr->GetExactDist2d(me) < 150.0f && !plr->IsGameMaster()) pg.push_back(plr); for( uint8 i = 0; i < 3; ++i ) - if( !pg.empty() ) + if (!pg.empty()) { uint8 index = urand(0, pg.size() - 1); Player* player = pg[index]; @@ -467,7 +467,7 @@ class boss_mimiron : public CreatureScript case EVENT_BERSERK: berserk = true; Talk(SAY_BERSERK); - if( hardmode ) + if (hardmode) me->SummonCreature(33576, 2744.78f, 2569.47f, 364.32f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 120000); events.ScheduleEvent(EVENT_BERSERK_2, 0ms); break; @@ -486,7 +486,7 @@ class boss_mimiron : public CreatureScript } break; case EVENT_SIT_LMK2: - if(Creature* LMK2 = GetLMK2()) + if (Creature* LMK2 = GetLMK2()) { me->EnterVehicle(LMK2, 6); events.ScheduleEvent(EVENT_SIT_LMK2_INTERVAL, 2s); @@ -500,8 +500,8 @@ class boss_mimiron : public CreatureScript if (hardmode) { LMK2->CastSpell(LMK2, SPELL_EMERGENCY_MODE, true); - if( Vehicle* veh = LMK2->GetVehicleKit() ) - if( Unit* cannon = veh->GetPassenger(3) ) + if (Vehicle* veh = LMK2->GetVehicleKit()) + if (Unit* cannon = veh->GetPassenger(3)) cannon->CastSpell(cannon, SPELL_EMERGENCY_MODE, true); } LMK2->AI()->SetData(1, 1); @@ -521,7 +521,7 @@ class boss_mimiron : public CreatureScript EnterEvadeMode(EVADE_REASON_OTHER); break; case EVENT_ELEVATOR_INTERVAL_0: - if( GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 100.0f) ) + if (GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 100.0f)) { elevator->SetLootState(GO_READY); elevator->UseDoorOrButton(0, false); @@ -530,9 +530,9 @@ class boss_mimiron : public CreatureScript events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_1, 6s); break; case EVENT_ELEVATOR_INTERVAL_1: - if(me->SummonCreature(NPC_VX001, 2744.65f, 2569.46f, 364.40f, 3.14f, TEMPSUMMON_MANUAL_DESPAWN)) + if (me->SummonCreature(NPC_VX001, 2744.65f, 2569.46f, 364.40f, 3.14f, TEMPSUMMON_MANUAL_DESPAWN)) { - if( GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 100.0f) ) + if (GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 100.0f)) { elevator->SetLootState(GO_READY); elevator->UseDoorOrButton(0, true); @@ -557,7 +557,7 @@ class boss_mimiron : public CreatureScript events.ScheduleEvent(EVENT_ENTER_VX001, 5s); break; case EVENT_ENTER_VX001: - if( Creature* VX001 = GetVX001() ) + if (Creature* VX001 = GetVX001()) { me->EnterVehicle(VX001, 1); events.ScheduleEvent(EVENT_EMOTE_VX001, 2s); @@ -566,7 +566,7 @@ class boss_mimiron : public CreatureScript EnterEvadeMode(EVADE_REASON_OTHER); break; case EVENT_EMOTE_VX001: - if( Creature* VX001 = GetVX001() ) + if (Creature* VX001 = GetVX001()) { VX001->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE); events.ScheduleEvent(EVENT_VX001_START_FIGHT, 1750ms); @@ -575,9 +575,9 @@ class boss_mimiron : public CreatureScript EnterEvadeMode(EVADE_REASON_OTHER); break; case EVENT_VX001_START_FIGHT: - if( Creature* VX001 = GetVX001() ) + if (Creature* VX001 = GetVX001()) { - if( hardmode ) + if (hardmode) VX001->CastSpell(VX001, SPELL_EMERGENCY_MODE, true); VX001->AI()->SetData(1, 2); me->SetInCombatWithZone(); @@ -586,7 +586,7 @@ class boss_mimiron : public CreatureScript EnterEvadeMode(EVADE_REASON_OTHER); break; case EVENT_VX001_EMOTESTATE_DEATH: - if( Creature* VX001 = GetVX001() ) + if (Creature* VX001 = GetVX001()) { VX001->HandleEmoteCommand(EMOTE_STATE_DROWNED); VX001->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DROWNED); @@ -596,8 +596,8 @@ class boss_mimiron : public CreatureScript EnterEvadeMode(EVADE_REASON_OTHER); break; case EVENT_GET_OUT_VX001: - if( Creature* VX001 = GetVX001() ) - if( Creature* ACU = me->SummonCreature(NPC_AERIAL_COMMAND_UNIT, 2743.91f, 2568.78f, 391.34f, M_PI, TEMPSUMMON_MANUAL_DESPAWN) ) + if (Creature* VX001 = GetVX001()) + if (Creature* ACU = me->SummonCreature(NPC_AERIAL_COMMAND_UNIT, 2743.91f, 2568.78f, 391.34f, M_PI, TEMPSUMMON_MANUAL_DESPAWN)) { me->EnterVehicle(VX001, 4); float speed = ACU->GetDistance(2737.75f, 2574.22f, 381.34f) / 2.0f; @@ -614,7 +614,7 @@ class boss_mimiron : public CreatureScript events.ScheduleEvent(EVENT_ENTER_ACU, 7s); break; case EVENT_ENTER_ACU: - if( Creature* ACU = GetACU() ) + if (Creature* ACU = GetACU()) { me->EnterVehicle(ACU, 0); events.ScheduleEvent(EVENT_SAY_ACU_ACTIVATE, 6s); @@ -627,9 +627,9 @@ class boss_mimiron : public CreatureScript events.ScheduleEvent(EVENT_ACU_START_ATTACK, 4s); break; case EVENT_ACU_START_ATTACK: - if( Creature* ACU = GetACU() ) + if (Creature* ACU = GetACU()) { - if( hardmode ) + if (hardmode) ACU->CastSpell(ACU, SPELL_EMERGENCY_MODE, true); ACU->AI()->SetData(1, 3); me->SetInCombatWithZone(); @@ -654,7 +654,7 @@ class boss_mimiron : public CreatureScript { Creature* LMK2 = GetLMK2(); Creature* VX001 = GetVX001(); - if( !VX001 || !LMK2 ) + if (!VX001 || !LMK2) { EnterEvadeMode(EVADE_REASON_OTHER); return; @@ -670,7 +670,7 @@ class boss_mimiron : public CreatureScript { Creature* VX001 = GetVX001(); Creature* LMK2 = GetLMK2(); - if( !VX001 || !LMK2 ) + if (!VX001 || !LMK2) { EnterEvadeMode(EVADE_REASON_OTHER); return; @@ -687,7 +687,7 @@ class boss_mimiron : public CreatureScript { Creature* ACU = GetACU(); Creature* VX001 = GetVX001(); - if( !VX001 || !ACU ) + if (!VX001 || !ACU) { EnterEvadeMode(EVADE_REASON_OTHER); return; @@ -705,7 +705,7 @@ class boss_mimiron : public CreatureScript Creature* VX001 = GetVX001(); Creature* LMK2 = GetLMK2(); Creature* ACU = GetACU(); - if( !VX001 || !LMK2 || !ACU ) + if (!VX001 || !LMK2 || !ACU) { EnterEvadeMode(EVADE_REASON_OTHER); return; @@ -717,7 +717,7 @@ class boss_mimiron : public CreatureScript LMK2->CastSpell(LMK2, SPELL_SELF_REPAIR, true); //LMK2->SetHealth( LMK2->GetMaxHealth()/2 ); VX001->CastSpell(VX001, SPELL_SELF_REPAIR, true); //VX001->SetHealth( VX001->GetMaxHealth()/2 ); ACU->CastSpell(ACU, SPELL_SELF_REPAIR, true); //ACU->SetHealth( ACU->GetMaxHealth()/2 ); - if( hardmode ) + if (hardmode) { LMK2->CastSpell(LMK2, SPELL_EMERGENCY_MODE, true); VX001->CastSpell(VX001, SPELL_EMERGENCY_MODE, true); @@ -770,11 +770,11 @@ class boss_mimiron : public CreatureScript DoCastSelf(SPELL_SLEEP_VISUAL_1); - if( pInstance ) + if (pInstance) for( uint16 i = 0; i < 3; ++i ) - if( ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i) ) - if( GameObject* door = ObjectAccessor::GetGameObject(*me, guid) ) - if( door->GetGoState() != GO_STATE_ACTIVE ) + if (ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i)) + if (GameObject* door = ObjectAccessor::GetGameObject(*me, guid)) + if (door->GetGoState() != GO_STATE_ACTIVE ) { door->SetLootState(GO_READY); door->UseDoorOrButton(0, false); @@ -784,7 +784,7 @@ class boss_mimiron : public CreatureScript pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, NPC_LEVIATHAN_MKII, 1, me); if (hardmode) - if( Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000) ) + if (Creature* computer = me->SummonCreature(NPC_COMPUTER, 2746.7f, 2569.44f, 410.39f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 1000)) computer->AI()->Talk(TALK_COMPUTER_TERMINATED); events.Reset(); @@ -873,19 +873,19 @@ class boss_mimiron : public CreatureScript void ResetGameObjects() { - if( pInstance ) + if (pInstance) for( uint16 i = 0; i < 3; ++i ) - if( ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i) ) - if( GameObject* door = ObjectAccessor::GetGameObject(*me, guid) ) - if( door->GetGoState() != GO_STATE_ACTIVE ) + if (ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i)) + if (GameObject* door = ObjectAccessor::GetGameObject(*me, guid)) + if (door->GetGoState() != GO_STATE_ACTIVE ) { door->SetLootState(GO_READY); door->UseDoorOrButton(0, false); } - if( GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 200.0f) ) + if (GameObject* elevator = me->FindNearestGameObject(GO_MIMIRON_ELEVATOR, 200.0f)) { - if( elevator->GetGoState() != GO_STATE_ACTIVE ) + if (elevator->GetGoState() != GO_STATE_ACTIVE ) { elevator->SetLootState(GO_READY); elevator->SetByteValue(GAMEOBJECT_BYTES_1, 0, GO_STATE_ACTIVE); @@ -893,8 +893,8 @@ class boss_mimiron : public CreatureScript elevator->EnableCollision(false); } - if( GameObject* button = me->FindNearestGameObject(GO_BUTTON, 200.0f) ) - if( button->GetGoState() != GO_STATE_READY ) + if (GameObject* button = me->FindNearestGameObject(GO_BUTTON, 200.0f)) + if (button->GetGoState() != GO_STATE_READY ) { button->SetLootState(GO_READY); button->UseDoorOrButton(0, false); @@ -904,18 +904,18 @@ class boss_mimiron : public CreatureScript void CloseDoorAndButton() { - if( pInstance ) + if (pInstance) for( uint16 i = 0; i < 3; ++i ) - if( ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i) ) - if( GameObject* door = ObjectAccessor::GetGameObject(*me, guid) ) - if( door->GetGoState() != GO_STATE_READY ) + if (ObjectGuid guid = pInstance->GetGuidData(DATA_GO_MIMIRON_DOOR_1 + i)) + if (GameObject* door = ObjectAccessor::GetGameObject(*me, guid)) + if (door->GetGoState() != GO_STATE_READY ) { door->SetLootState(GO_READY); door->UseDoorOrButton(0, false); } - if( GameObject* button = me->FindNearestGameObject(GO_BUTTON, 200.0f) ) - if( button->GetGoState() != GO_STATE_ACTIVE ) + if (GameObject* button = me->FindNearestGameObject(GO_BUTTON, 200.0f)) + if (button->GetGoState() != GO_STATE_ACTIVE ) { button->SetLootState(GO_READY); button->UseDoorOrButton(0, false); @@ -1143,7 +1143,7 @@ class npc_ulduar_leviathan_mkii : public CreatureScript Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) if (Player* plr = itr->GetSource()) - if( plr->IsAlive() && plr->GetDistance2d(me) > 15.0f ) + if (plr->IsAlive() && plr->GetDistance2d(me) > 15.0f ) pList.push_back(plr); if (!pList.empty()) @@ -1151,7 +1151,7 @@ class npc_ulduar_leviathan_mkii : public CreatureScript else pTarget = (Player*)SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true); - if( pTarget ) + if (pTarget) cannon->CastSpell(pTarget, SPELL_NAPALM_SHELL, false); events.Repeat(14s); @@ -1236,7 +1236,7 @@ class npc_ulduar_leviathan_mkii : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if( spell->Id == SPELL_SELF_REPAIR ) + if (spell->Id == SPELL_SELF_REPAIR) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_AGGRESSIVE); @@ -1339,7 +1339,7 @@ class npc_ulduar_vx001 : public CreatureScript void DoAction(int32 action) override { if (action == 1337) - if( Vehicle* vk = me->GetVehicleKit() ) + if (Vehicle* vk = me->GetVehicleKit()) for (uint8 i = 0; i < 2; ++i) if (Unit* r = vk->GetPassenger(5 + i)) if (r->IsCreature()) @@ -1422,15 +1422,15 @@ class npc_ulduar_vx001 : public CreatureScript events.Repeat(10s); break; case EVENT_SPELL_ROCKET_STRIKE: - if( Vehicle* vk = me->GetVehicleKit() ) + if (Vehicle* vk = me->GetVehicleKit()) { for( int i = 0; i < (Phase / 2); ++i ) { uint8 index = (Phase == 2 ? rand() % 2 : i); - if( Unit* r = vk->GetPassenger(5 + index) ) + if (Unit* r = vk->GetPassenger(5 + index)) if (Player* temp = SelectTargetFromPlayerList(100.0f)) { - if( Creature* trigger = me->SummonCreature(NPC_ROCKET_STRIKE_N, temp->GetPositionX(), temp->GetPositionY(), temp->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 6000) ) + if (Creature* trigger = me->SummonCreature(NPC_ROCKET_STRIKE_N, temp->GetPositionX(), temp->GetPositionY(), temp->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 6000)) trigger->CastSpell(trigger, SPELL_ROCKET_STRIKE_AURA, true); Position exitPos = r->GetPosition(); exitPos.m_positionX += cos(me->GetOrientation()) * 2.35f; @@ -1473,7 +1473,7 @@ class npc_ulduar_vx001 : public CreatureScript vb->SendMeleeAttackStop(); vb->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); - if( !leftarm ) + if (!leftarm) { vb->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOM_SPELL_03); me->CastSpell(p, SPELL_HAND_PULSE_R, false); @@ -1560,7 +1560,7 @@ class npc_ulduar_vx001 : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if( spell->Id == SPELL_SELF_REPAIR ) + if (spell->Id == SPELL_SELF_REPAIR) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_AGGRESSIVE); @@ -1715,12 +1715,12 @@ class npc_ulduar_aerial_command_unit : public CreatureScript return; // following :D - if( Phase == 3 && !immobilized ) - if( Unit* victim = me->GetVictim() ) - if( me->GetExactDist2d(victim) > 25.0f ) + if (Phase == 3 && !immobilized) + if (Unit* victim = me->GetVictim()) + if (me->GetExactDist2d(victim) > 25.0f ) { float angle = victim->GetAngle(me->GetPositionX(), me->GetPositionY()); - me->SetOrientation( me->GetAngle(victim->GetPositionX(), victim->GetPositionY()) ); + me->SetOrientation( me->GetAngle(victim->GetPositionX(), victim->GetPositionY())); float x = victim->GetPositionX() + 15.0f * cos(angle); float y = victim->GetPositionY() + 15.0f * std::sin(angle); @@ -1759,11 +1759,11 @@ class npc_ulduar_aerial_command_unit : public CreatureScript case 0: break; case EVENT_SPELL_PLASMA_BALL: - if( !immobilized ) + if (!immobilized) { if (Phase == 3) { - if( Unit* victim = me->GetVictim() ) + if (Unit* victim = me->GetVictim()) me->CastSpell(victim, SPELL_PLASMA_BALL, false); } else @@ -1778,18 +1778,18 @@ class npc_ulduar_aerial_command_unit : public CreatureScript events.Repeat(3s); break; case EVENT_SUMMON_BOMB_BOT: - if( !immobilized ) + if (!immobilized) me->CastSpell(me, SPELL_SUMMON_BOMB_BOT, false); events.Repeat(15s); break; case EVENT_SUMMON_ASSAULT_BOT: - if( GameObject* pad = me->FindNearestGameObject(RAND(194742, 194746, 194745), 200.0f) ) + if (GameObject* pad = me->FindNearestGameObject(RAND(194742, 194746, 194745), 200.0f)) if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_TIMED_DESPAWN, 15000)) trigger->AI()->DoAction(2); events.Repeat(30s); break; case EVENT_SUMMON_JUNK_BOT: - if( GameObject* pad = me->FindNearestGameObject(RAND(194741, 194744, 194747), 200.0f) ) + if (GameObject* pad = me->FindNearestGameObject(RAND(194741, 194744, 194747), 200.0f)) if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_TIMED_DESPAWN, 15000)) trigger->AI()->DoAction(1); events.Repeat(10s); @@ -1798,7 +1798,7 @@ class npc_ulduar_aerial_command_unit : public CreatureScript { uint32 ids[3] = {194740, 194743, 194748}; for( uint8 i = 0; i < 3; ++i ) - if( GameObject* pad = me->FindNearestGameObject(ids[i], 200.0f) ) + if (GameObject* pad = me->FindNearestGameObject(ids[i], 200.0f)) if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_MANUAL_DESPAWN)) trigger->AI()->DoAction(3); events.Repeat(45s); @@ -1871,7 +1871,7 @@ class npc_ulduar_aerial_command_unit : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - if( spell->Id == SPELL_SELF_REPAIR ) + if (spell->Id == SPELL_SELF_REPAIR) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->SetReactState(REACT_AGGRESSIVE); @@ -2062,7 +2062,7 @@ class npc_ulduar_bot_summon_trigger : public CreatureScript void DoAction(int32 param) override { - switch( param ) + switch (param) { case 1: me->CastSpell(me, SPELL_BEAM_GREEN, true); @@ -2081,14 +2081,14 @@ class npc_ulduar_bot_summon_trigger : public CreatureScript void UpdateAI(uint32 diff) override { - if( timer <= diff ) + if (timer <= diff) { uint32 option_npcid[3] = {NPC_JUNK_BOT, NPC_ASSAULT_BOT, NPC_EMERGENCY_FIRE_BOT}; InstanceScript* pInstance = me->GetInstanceScript(); if (Creature* ACU = GetACU()) // ACU summons for easy removing - if( Creature* bot = ACU->SummonCreature( option_npcid[option - 1], *me, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000 ) ) + if (Creature* bot = ACU->SummonCreature( option_npcid[option - 1], *me, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000)) { - if( option < 3 ) + if (option < 3) bot->SetInCombatWithZone(); if (Creature* m = GetMimiron()) if (m->AI()->GetData(1)) // hardmode @@ -2190,12 +2190,12 @@ class go_ulduar_do_not_push_this_button : public GameObjectScript bool OnGossipHello(Player* player, GameObject* go) override { - if(!player || !go) + if (!player || !go) return true; if (InstanceScript* instance = go->GetInstanceScript()) { - if(instance->GetData(TYPE_MIMIRON) != NOT_STARTED) + if (instance->GetData(TYPE_MIMIRON) != NOT_STARTED) return false; if (Creature* c = ObjectAccessor::GetCreature(*go, instance->GetGuidData(TYPE_MIMIRON))) @@ -2226,7 +2226,7 @@ class npc_ulduar_flames_initial : public CreatureScript CreateTime = GameTime::GetGameTime().count(); events.Reset(); events.ScheduleEvent(EVENT_FLAMES_SPREAD, 5750ms); - if( Creature* flame = me->SummonCreature(NPC_FLAMES_SPREAD, me->GetPositionX(), me->GetPositionY(), 364.32f, 0.0f) ) + if (Creature* flame = me->SummonCreature(NPC_FLAMES_SPREAD, me->GetPositionX(), me->GetPositionY(), 364.32f, 0.0f)) { FlameList.push_back(flame->GetGUID()); flame->CastSpell(flame, SPELL_FLAMES_AURA, true); @@ -2245,7 +2245,7 @@ class npc_ulduar_flames_initial : public CreatureScript void SpreadFlame(float x, float y) { - if( Creature* flame = me->SummonCreature(NPC_FLAMES_SPREAD, x, y, 364.32f, 0.0f) ) + if (Creature* flame = me->SummonCreature(NPC_FLAMES_SPREAD, x, y, 364.32f, 0.0f)) { FlameList.push_back(flame->GetGUID()); if (Creature* c = me->FindNearestCreature(NPC_FLAMES_SPREAD, 10.0f)) @@ -2280,13 +2280,13 @@ class npc_ulduar_flames_initial : public CreatureScript events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_FLAMES_SPREAD: { - if( FlameList.empty() ) + if (FlameList.empty()) { me->DespawnOrUnsummon(); return; @@ -2300,15 +2300,15 @@ class npc_ulduar_flames_initial : public CreatureScript } Creature* last = ObjectAccessor::GetCreature(*me, FlameList.back()); - if( last ) + if (last) { float prevdist = 100.0f; Player* target = nullptr; Map::PlayerList const& pl = me->GetMap()->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( plr->IsAlive() && plr->GetExactDist2d(last) < prevdist && !plr->IsGameMaster() ) + if (Player* plr = itr->GetSource()) + if (plr->IsAlive() && plr->GetExactDist2d(last) < prevdist && !plr->IsGameMaster()) { target = plr; prevdist = plr->GetExactDist2d(last); @@ -2345,7 +2345,7 @@ class npc_ulduar_flames_spread : public CreatureScript void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { - switch( spell->Id ) + switch (spell->Id) { case SPELL_FROST_BOMB_EXPLOSION_10: case SPELL_FROST_BOMB_EXPLOSION_25: @@ -2403,7 +2403,7 @@ class npc_ulduar_emergency_fire_bot : public CreatureScript void UpdateAI(uint32 diff) override { events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 985c014da5a143..8d9dae387fb480 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -197,7 +197,7 @@ class boss_razorscale : public CreatureScript bGroundPhase = false; flyTimes = 0; - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_RAZORSCALE, NOT_STARTED); } @@ -223,7 +223,7 @@ class boss_razorscale : public CreatureScript uint8 i = 0; for( std::list::iterator itr = eeList.begin(); itr != eeList.end(); ++itr ) { - if( i > 2 ) + if (i > 2) break; ExpeditionEngineerGUIDs[i] = (*itr)->GetGUID(); if (!i) @@ -233,7 +233,7 @@ class boss_razorscale : public CreatureScript if (Creature* c = me->FindNearestCreature(NPC_EXPEDITION_COMMANDER, 300.0f, true)) CommanderGUID = c->GetGUID(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_RAZORSCALE, IN_PROGRESS); } @@ -241,7 +241,7 @@ class boss_razorscale : public CreatureScript { summons.DespawnAll(); - if( pInstance ) + if (pInstance) pInstance->SetData(TYPE_RAZORSCALE, DONE); } @@ -278,18 +278,18 @@ class boss_razorscale : public CreatureScript case SPELL_CHAIN_4: { uint8 count = 0; - if( me->HasAura(SPELL_CHAIN_1) ) + if (me->HasAura(SPELL_CHAIN_1)) count++; - if( me->HasAura(SPELL_CHAIN_3) ) + if (me->HasAura(SPELL_CHAIN_3)) count++; if (RAID_MODE(0, 1)) { - if( me->HasAura(SPELL_CHAIN_2) ) + if (me->HasAura(SPELL_CHAIN_2)) count++; - if( me->HasAura(SPELL_CHAIN_4) ) + if (me->HasAura(SPELL_CHAIN_4)) count++; } - if( count >= REQ_CHAIN_COUNT ) + if (count >= REQ_CHAIN_COUNT) { if (Creature* commander = ObjectAccessor::GetCreature(*me, CommanderGUID)) commander->AI()->Talk(SAY_COMMANDER_GROUND_PHASE); @@ -397,25 +397,25 @@ class boss_razorscale : public CreatureScript } break; case EVENT_SPELL_FIREBALL: - if( Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true) ) + if (Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true)) me->CastSpell(pTarget, SPELL_FIREBALL, false); events.Repeat(4s); break; case EVENT_SPELL_DEVOURING_FLAME: - if( Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true) ) + if (Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true)) me->CastSpell(pTarget, SPELL_DEVOURINGFLAME, false); events.Repeat(13s); break; case EVENT_SUMMON_MOLE_MACHINES: { memset(cords, '\0', sizeof(cords)); - uint8 num = RAID_MODE( urand(2, 3), urand(2, 4) ); + uint8 num = RAID_MODE( urand(2, 3), urand(2, 4)); for( int i = 0; i < num; ++i ) { // X: (550, 625) Y: (-185, -230) cords[i][0] = urand(550, 625); cords[i][1] = -230 + rand() % 45; - if( GameObject* drill = me->SummonGameObject(GO_DRILL, cords[i][0], cords[i][1], 391.1f, M_PI / 4, 0.0f, 0.0f, 0.0f, 0.0f, 8) ) + if (GameObject* drill = me->SummonGameObject(GO_DRILL, cords[i][0], cords[i][1], 391.1f, M_PI / 4, 0.0f, 0.0f, 0.0f, 0.0f, 8)) { //drill->SetGoAnimProgress(0); //drill->SetLootState(GO_READY); @@ -432,13 +432,13 @@ class boss_razorscale : public CreatureScript case EVENT_SUMMON_ADDS: for( int i = 0; i < 4; ++i ) { - if( !cords[i][0] ) + if (!cords[i][0]) break; uint8 opt; uint8 r = urand(1, 100); - if( r <= 30 ) opt = 1; - else if( r <= 65 ) opt = 2; + if (r <= 30) opt = 1; + else if (r <= 65) opt = 2; else opt = 3; for( int j = 0; j < 4; ++j ) @@ -447,13 +447,13 @@ class boss_razorscale : public CreatureScript float y = cords[i][1] + 4.0f * std::sin(j * M_PI / 2); uint32 npc_entry = 0; - switch( opt ) + switch (opt) { case 1: - if( j == 1 ) npc_entry = NPC_DARK_RUNE_SENTINEL; + if (j == 1) npc_entry = NPC_DARK_RUNE_SENTINEL; break; case 2: - switch( j ) + switch (j) { case 1: npc_entry = NPC_DARK_RUNE_WATCHER; @@ -464,7 +464,7 @@ class boss_razorscale : public CreatureScript } break; default: // case 3: - switch( j ) + switch (j) { case 1: npc_entry = NPC_DARK_RUNE_WATCHER; @@ -479,7 +479,7 @@ class boss_razorscale : public CreatureScript break; } - if( npc_entry ) + if (npc_entry) if (Creature* c = me->SummonCreature(npc_entry, x, y, 391.1f, j * M_PI / 2, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000)) DoZoneInCombat(c); } @@ -498,8 +498,8 @@ class boss_razorscale : public CreatureScript me->SetInCombatWithZone(); // just in case if (pInstance) for( int i = 0; i < 4; ++i ) - if( ObjectGuid guid = pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1 + i) ) - if( Creature* hfs = ObjectAccessor::GetCreature(*me, guid) ) + if (ObjectGuid guid = pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1 + i)) + if (Creature* hfs = ObjectAccessor::GetCreature(*me, guid)) { me->SummonCreature(34188, hfs->GetPositionX(), hfs->GetPositionY(), hfs->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 22000); hfs->AI()->SetData(1, 0); @@ -515,7 +515,7 @@ class boss_razorscale : public CreatureScript } me->CastSpell(me, SPELL_WINGBUFFET, true); - if( (me->GetHealth() * 100) / me->GetMaxHealth() < 50 ) // start phase 3 + if ((me->GetHealth() * 100) / me->GetMaxHealth() < 50 ) // start phase 3 { Talk(EMOTE_PERMA_GROUND); me->SetControlled(false, UNIT_STATE_ROOT); @@ -753,11 +753,11 @@ class npc_ulduar_harpoonfirestate : public CreatureScript { if (pInstance) { - if( me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1) ) + if (me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1)) return GO_HARPOON_GUN_1; - else if( me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_2) ) + else if (me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_2)) return GO_HARPOON_GUN_2; - else if( me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_3) ) + else if (me->GetGUID() == pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_3)) return GO_HARPOON_GUN_3; else return GO_HARPOON_GUN_4; @@ -773,12 +773,12 @@ class npc_ulduar_harpoonfirestate : public CreatureScript if (pInstance) { uint32 h_entry = GetHarpoonGunIdForThisHFS(); - if( GameObject* wh = me->FindNearestGameObject(h_entry, 5.0f) ) + if (GameObject* wh = me->FindNearestGameObject(h_entry, 5.0f)) { wh->SetRespawnTime(0); wh->Delete(); } - if( GameObject* bh = me->FindNearestGameObject(GO_BROKEN_HARPOON, 5.0f) ) + if (GameObject* bh = me->FindNearestGameObject(GO_BROKEN_HARPOON, 5.0f)) if (bh->GetPhaseMask() != 1) bh->SetPhaseMask(1, true); } @@ -789,9 +789,9 @@ class npc_ulduar_harpoonfirestate : public CreatureScript { if (++repairPoints >= REPAIR_POINTS) { - if( GameObject* bh = me->FindNearestGameObject(GO_BROKEN_HARPOON, 4.0f) ) + if (GameObject* bh = me->FindNearestGameObject(GO_BROKEN_HARPOON, 4.0f)) bh->SetPhaseMask(2, true); - if( GameObject* wh = me->SummonGameObject(GetHarpoonGunIdForThisHFS(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 3 * M_PI / 2, 0.0f, 0.0f, 0.0f, 0.0f, 0) ) + if (GameObject* wh = me->SummonGameObject(GetHarpoonGunIdForThisHFS(), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 3 * M_PI / 2, 0.0f, 0.0f, 0.0f, 0.0f, 0)) { me->RemoveGameObject(wh, false); if (Creature* cr = me->SummonCreature(NPC_RAZORSCALE_CONTROLLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 5000)) @@ -884,7 +884,7 @@ class npc_ulduar_expedition_engineer : public CreatureScript if (Creature* c = ObjectAccessor::GetCreature(*me, fixingGUID)) if (me->GetExactDist2dSq(c) <= 25.0f) { - if( me->GetUInt32Value(UNIT_NPC_EMOTESTATE) != EMOTE_STATE_WORK ) + if (me->GetUInt32Value(UNIT_NPC_EMOTESTATE) != EMOTE_STATE_WORK ) me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_WORK); if (std::fabs(me->GetOrientation() - me->GetAngle(c)) > M_PI / 4) @@ -899,10 +899,10 @@ class npc_ulduar_expedition_engineer : public CreatureScript if (!fixingGUID) { Creature* razorscale = nullptr; - if( ObjectGuid rsGUID = pInstance->GetGuidData(TYPE_RAZORSCALE) ) + if (ObjectGuid rsGUID = pInstance->GetGuidData(TYPE_RAZORSCALE)) razorscale = ObjectAccessor::GetCreature(*me, rsGUID); - if( !razorscale || !razorscale->IsInCombat() ) + if (!razorscale || !razorscale->IsInCombat()) { Reset(); me->GetMotionMaster()->MoveTargetedHome(); @@ -910,8 +910,8 @@ class npc_ulduar_expedition_engineer : public CreatureScript } for( int i = 0; i < 4; ++i ) - if( ObjectGuid fs_GUID = pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1 + i) ) - if( Creature* fs = ObjectAccessor::GetCreature(*me, fs_GUID) ) + if (ObjectGuid fs_GUID = pInstance->GetGuidData(DATA_HARPOON_FIRE_STATE_1 + i)) + if (Creature* fs = ObjectAccessor::GetCreature(*me, fs_GUID)) if (!fs->AI()->GetData(2)) { float a = rand_norm() * M_PI; @@ -940,18 +940,18 @@ class go_ulduar_working_harpoon : public GameObjectScript bool OnGossipHello(Player* user, GameObject* go) override { - if( !user || !go ) + if (!user || !go) return true; InstanceScript* pInstance = go->GetInstanceScript(); - if( !pInstance ) + if (!pInstance) return true; Creature* rs = nullptr; - if( ObjectGuid rsGUID = pInstance->GetGuidData(TYPE_RAZORSCALE) ) + if (ObjectGuid rsGUID = pInstance->GetGuidData(TYPE_RAZORSCALE)) rs = ObjectAccessor::GetCreature(*go, rsGUID); - if( !rs || !rs->IsInCombat() ) + if (!rs || !rs->IsInCombat()) { go->SetRespawnTime(0); go->Delete(); @@ -960,7 +960,7 @@ class go_ulduar_working_harpoon : public GameObjectScript uint32 npc = 0; uint32 spell = 0; - switch( go->GetEntry() ) + switch (go->GetEntry()) { case GO_HARPOON_GUN_1: npc = DATA_HARPOON_FIRE_STATE_1; @@ -980,8 +980,8 @@ class go_ulduar_working_harpoon : public GameObjectScript break; } - if( ObjectGuid g = pInstance->GetGuidData(npc) ) - if( Creature* hfs = ObjectAccessor::GetCreature(*go, g) ) + if (ObjectGuid g = pInstance->GetGuidData(npc)) + if (Creature* hfs = ObjectAccessor::GetCreature(*go, g)) hfs->AI()->SetData(3, spell); go->SetLootState(GO_JUST_DEACTIVATED); @@ -1017,7 +1017,7 @@ class npc_ulduar_dark_rune_guardian : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; if (timer2 <= diff) timer2 = 0; @@ -1066,10 +1066,10 @@ class npc_ulduar_dark_rune_watcher : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; - if( timer1 <= diff ) + if (timer1 <= diff) { me->CastSpell(me->GetVictim(), SPELL_CHAINLIGHTNING, false); timer1 = urand(10000, 12000); @@ -1122,10 +1122,10 @@ class npc_ulduar_dark_rune_sentinel : public CreatureScript void UpdateAI(uint32 diff) override { - if( !UpdateVictim() ) + if (!UpdateVictim()) return; - if( timer1 <= diff ) + if (timer1 <= diff) { me->CastSpell(me, SPELL_BATTLE_SHOUT, false); timer1 = urand(15000, 20000); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index f516bfc84591e4..6be19da41009aa 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -1416,14 +1416,14 @@ class boss_thorim_runic_colossus : public CreatureScript void RunRunicSmash(bool cast) { - if (Creature* cr = ObjectAccessor::GetCreature(*me, _leftHand ? _triggerLeftGUID[0] : _triggerRightGUID[0]) ) + if (Creature* cr = ObjectAccessor::GetCreature(*me, _leftHand ? _triggerLeftGUID[0] : _triggerRightGUID[0])) { if (cast) cr->CastSpell(cr, SPELL_RUNIC_SMASH_DAMAGE, true); cr->SetPosition(_leftHand ? 2235.0f : 2221.0f, _nextTriggerPos, cr->GetPositionZ(), 0.0f); cr->StopMovingOnCurrentPos(); } - if( Creature* cr = ObjectAccessor::GetCreature(*me, _leftHand ? _triggerLeftGUID[1] : _triggerRightGUID[1]) ) + if (Creature* cr = ObjectAccessor::GetCreature(*me, _leftHand ? _triggerLeftGUID[1] : _triggerRightGUID[1])) { if (cast) cr->CastSpell(cr, SPELL_RUNIC_SMASH_DAMAGE, true); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index c67299d861d3ad..750df991f1e77c 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -308,7 +308,7 @@ class boss_xt002 : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { // Control events case EVENT_HEALTH_CHECK: @@ -509,7 +509,7 @@ class npc_xt002_heart : public CreatureScript _spawnSelection++; break; case 3: - if(_pummelerCount < 2) + if (_pummelerCount < 2) me->SummonCreature(NPC_XM024_PUMMELLER, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ() + 2, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); _pummelerCount++; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index dc2e9c641b8062..68702d31384e4b 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -791,7 +791,7 @@ class boss_yoggsaron_sara : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case EVENT_SARA_P1_DOORS_CLOSE: // Whispers of YS @@ -1405,7 +1405,7 @@ class boss_yoggsaron_brain : public CreatureScript { // Stun if (me->GetInstanceScript()) - if(Creature* sara = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(NPC_SARA))) + if (Creature* sara = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(NPC_SARA))) sara->AI()->DoAction(MINUTE * IN_MILLISECONDS - std::min((uint32)MINUTE * IN_MILLISECONDS, _induceTimer)); _induceTimer = 0; @@ -1419,7 +1419,7 @@ class boss_yoggsaron_brain : public CreatureScript return; summons.DespawnAll(); - switch(param) + switch (param) { case ACTION_ILLUSION_STORMWIND: PrepareStormwindIllusion(); @@ -1472,7 +1472,7 @@ class boss_yoggsaron_brain : public CreatureScript me->CastSpell(me, SPELL_BRAIN_HURT_VISUAL, true); if (me->GetInstanceScript()) - if(Creature* sara = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(NPC_SARA))) + if (Creature* sara = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(NPC_SARA))) sara->AI()->DoAction(ACTION_BRAIN_DAMAGED); } } @@ -1905,7 +1905,7 @@ class boss_yoggsaron_immortal_guardian : public CreatureScript if (_visualTimer) { _visualTimer += diff; - if (_visualTimer >= 100 && _visualTimer < 10000 ) + if (_visualTimer >= 100 && _visualTimer < 10000) { me->CastSpell(me, SPELL_SIMPLE_TELEPORT, false); _visualTimer = 10000; @@ -1989,7 +1989,7 @@ class boss_yoggsaron_lich_king : public CreatureScript if (_checkTimer != 0) { _checkTimer -= diff; - if (_checkTimer < 0 ) + if (_checkTimer < 0) _checkTimer = 0; } else @@ -2076,7 +2076,7 @@ class boss_yoggsaron_llane : public CreatureScript if (_checkTimer != 0) { _checkTimer -= diff; - if (_checkTimer < 0 ) + if (_checkTimer < 0) _checkTimer = 0; } else @@ -2171,7 +2171,7 @@ class boss_yoggsaron_neltharion : public CreatureScript if (_checkTimer != 0) { _checkTimer -= diff; - if (_checkTimer < 0 ) + if (_checkTimer < 0) _checkTimer = 0; } else diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index bf51c0556df889..300acd1e2808bf 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -310,7 +310,7 @@ class instance_ulduar : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_LEVIATHAN: m_uiLeviathanGUID = creature->GetGUID(); @@ -373,11 +373,11 @@ class instance_ulduar : public InstanceMapScript break; case NPC_HARPOON_FIRE_STATE: { - if( creature->GetPositionX() > 595 ) + if (creature->GetPositionX() > 595 ) m_RazorscaleHarpoonFireStateGUID[3] = creature->GetGUID(); - else if( creature->GetPositionX() > 585 ) + else if (creature->GetPositionX() > 585 ) m_RazorscaleHarpoonFireStateGUID[2] = creature->GetGUID(); - else if( creature->GetPositionX() > 575 ) + else if (creature->GetPositionX() > 575 ) m_RazorscaleHarpoonFireStateGUID[1] = creature->GetGUID(); else m_RazorscaleHarpoonFireStateGUID[0] = creature->GetGUID(); @@ -446,7 +446,7 @@ class instance_ulduar : public InstanceMapScript // Flame Leviathan case GO_REPAIR_STATION_TRAP: { - if(m_RepairSGUID[0]) + if (m_RepairSGUID[0]) m_RepairSGUID[1] = gameObject->GetGUID(); else m_RepairSGUID[0] = gameObject->GetGUID(); @@ -558,15 +558,15 @@ class instance_ulduar : public InstanceMapScript case GO_HODIR_FROZEN_DOOR: case GO_HODIR_DOOR: if (GetData(TYPE_HODIR) == DONE) - if( gameObject->GetGoState() != GO_STATE_ACTIVE ) + if (gameObject->GetGoState() != GO_STATE_ACTIVE ) { gameObject->SetLootState(GO_READY); gameObject->UseDoorOrButton(0, false); } break; case GO_VEZAX_DOOR: - if( GetData(TYPE_VEZAX) == DONE ) - if( gameObject->GetGoState() != GO_STATE_ACTIVE ) + if (GetData(TYPE_VEZAX) == DONE ) + if (gameObject->GetGoState() != GO_STATE_ACTIVE ) { gameObject->SetLootState(GO_READY); gameObject->UseDoorOrButton(0, false); @@ -669,7 +669,7 @@ class instance_ulduar : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case TYPE_LEVIATHAN: m_auiEncounter[type] = data; @@ -1056,7 +1056,7 @@ class instance_ulduar : public InstanceMapScript uint32 GetData(uint32 type) const override { - switch(type) + switch (type) { case TYPE_LEVIATHAN: case TYPE_IGNIS: diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp index 56734e14000832..7b44e22c6327a9 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp @@ -189,7 +189,7 @@ class boss_ingvar_the_plunderer : public CreatureScript else if (s->GetEntry() == NPC_THROW) { ThrowGUID = s->GetGUID(); - if( Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 70.0f, true) ) + if (Unit* t = SelectTarget(SelectTargetMethod::Random, 0, 70.0f, true)) s->GetMotionMaster()->MovePoint(0, t->GetPositionX(), t->GetPositionY(), t->GetPositionZ()); } } @@ -246,10 +246,10 @@ class boss_ingvar_the_plunderer : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -263,16 +263,16 @@ class boss_ingvar_the_plunderer : public CreatureScript events.RescheduleEvent(EVENT_ANNHYLDE_YELL, 3s); break; case EVENT_VALKYR_MOVE: - if( Creature* s = ObjectAccessor::GetCreature(*me, ValkyrGUID) ) + if (Creature* s = ObjectAccessor::GetCreature(*me, ValkyrGUID)) s->GetMotionMaster()->MovePoint(1, s->GetPositionX(), s->GetPositionY(), s->GetPositionZ() - 15.0f); break; case EVENT_ANNHYLDE_YELL: - if( Creature* s = ObjectAccessor::GetCreature(*me, ValkyrGUID) ) + if (Creature* s = ObjectAccessor::GetCreature(*me, ValkyrGUID)) s->AI()->Talk(YELL_ANHYLDE_2); break; case EVENT_VALKYR_BEAM: me->RemoveAura(SPELL_SUMMON_VALKYR); - if( Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID) ) + if (Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID)) c->CastSpell(me, SPELL_RESURRECTION_BEAM, false); events.RescheduleEvent(EVENT_RESURRECTION_BALL, 4s); break; @@ -291,7 +291,7 @@ class boss_ingvar_the_plunderer : public CreatureScript events.RescheduleEvent(EVENT_START_PHASE_2, 1s); break; case EVENT_START_PHASE_2: - if( Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID) ) + if (Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID)) { c->DespawnOrUnsummon(); summons.DespawnAll(); @@ -327,7 +327,7 @@ class boss_ingvar_the_plunderer : public CreatureScript events.Repeat(15s, 20s); break; case EVENT_SPELL_CLEAVE_OR_WOE_STRIKE: - if( me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 ) + if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 ) { events.Repeat(3s); break; @@ -339,7 +339,7 @@ class boss_ingvar_the_plunderer : public CreatureScript events.Repeat(3s, 7s); break; case EVENT_SPELL_SMASH: - if( me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 ) + if (me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 ) { events.Repeat(3s); break; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp index 56582fdc586896..e03daa35b0bf7a 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp @@ -76,7 +76,7 @@ class npc_frost_tomb : public CreatureScript if (Unit* s = t->GetSummonerUnit()) { PrisonerGUID = s->GetGUID(); - if( me->GetInstanceScript() && me->GetInstanceScript()->instance->IsHeroic() ) + if (me->GetInstanceScript() && me->GetInstanceScript()->instance->IsHeroic()) { const int32 dmg = 2000; c->CastCustomSpell(s, SPELL_FROST_TOMB_AURA, nullptr, &dmg, nullptr, true); @@ -105,7 +105,7 @@ class npc_frost_tomb : public CreatureScript { if (Unit* p = ObjectAccessor::GetUnit(*me, PrisonerGUID)) { - if( !p->HasAura(SPELL_FROST_TOMB_AURA) ) + if (!p->HasAura(SPELL_FROST_TOMB_AURA)) me->KillSelf(); } else @@ -173,7 +173,7 @@ class boss_keleseth : public CreatureScript void AttackStart(Unit* who) override { - if( !who ) + if (!who) return; UnitAI::AttackStartCaster(who, 12.0f); @@ -186,10 +186,10 @@ class boss_keleseth : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; @@ -198,8 +198,8 @@ class boss_keleseth : public CreatureScript events.Repeat(4s, 5s); break; case EVENT_FROST_TOMB: - if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) ) - if( !target->HasAura(SPELL_FROST_TOMB_AURA) ) + if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true)) + if (!target->HasAura(SPELL_FROST_TOMB_AURA)) { Talk(SAY_FROST_TOMB_EMOTE, target); Talk(SAY_FROST_TOMB); @@ -215,8 +215,8 @@ class boss_keleseth : public CreatureScript { float dist = rand_norm() * 4 + 3.0f; float angle = rand_norm() * 2 * M_PI; - if( Creature* c = me->SummonCreature(NPC_SKELETON, 156.2f + cos(angle) * dist, 259.1f + std::sin(angle) * dist, 42.9f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000) ) - if( Unit* target = c->SelectNearestTarget(250.0f) ) + if (Creature* c = me->SummonCreature(NPC_SKELETON, 156.2f + cos(angle) * dist, 259.1f + std::sin(angle) * dist, 42.9f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000)) + if (Unit* target = c->SelectNearestTarget(250.0f)) { c->AddThreat(target, 5.0f); DoZoneInCombat(c); @@ -266,7 +266,7 @@ class npc_vrykul_skeleton : public CreatureScript { events.Reset(); events.RescheduleEvent(EVENT_SPELL_DECREPIFY, 10s, 20s); - if( IsHeroic() ) + if (IsHeroic()) events.RescheduleEvent(EVENT_SPELL_BONE_ARMOR, 25s, 120s); } @@ -292,9 +292,9 @@ class npc_vrykul_skeleton : public CreatureScript void UpdateAI(uint32 diff) override { - if( pInstance && pInstance->GetData(DATA_KELESETH) != IN_PROGRESS ) + if (pInstance && pInstance->GetData(DATA_KELESETH) != IN_PROGRESS ) { - if( me->IsAlive() ) + if (me->IsAlive()) me->KillSelf(); return; } @@ -304,20 +304,20 @@ class npc_vrykul_skeleton : public CreatureScript events.Update(diff); - if( me->HasUnitState(UNIT_STATE_CASTING) ) + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_SPELL_DECREPIFY: - if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) me->CastSpell(me->GetVictim(), SPELL_DECREPIFY, false); events.Repeat(15s, 25s); break; case EVENT_SPELL_BONE_ARMOR: - if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) me->CastSpell((Unit*)nullptr, SPELL_BONE_ARMOR, false); events.Repeat(40s, 120s); break; @@ -337,7 +337,7 @@ class npc_vrykul_skeleton : public CreatureScript break; } - if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) ) + if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE)) DoMeleeAttackIfReady(); } }; @@ -356,7 +356,7 @@ class spell_frost_tomb_aura : public AuraScript { PreventDefaultAction(); if (aurEff->GetTickNumber() == 1) - if( Unit* target = GetTarget() ) + if (Unit* target = GetTarget()) target->CastSpell((Unit*)nullptr, SPELL_FROST_TOMB_SUMMON, true); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp index e7cdbee3711002..475fa0c2e9100f 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp @@ -107,7 +107,7 @@ class instance_utgarde_keep : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch(go->GetEntry()) + switch (go->GetEntry()) { case GO_BELLOW_1: GO_ForgeBellowGUID[0] = go->GetGUID(); @@ -158,7 +158,7 @@ class instance_utgarde_keep : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_KELESETH: m_auiEncounter[0] = data; @@ -307,7 +307,7 @@ class instance_utgarde_keep : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 7231: // On The Rocks return bRocksAchiev; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 5222dcae79baab..3229d8c96c939a 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -174,11 +174,11 @@ class boss_palehoof : public CreatureScript // Reset mini bosses for(uint8 i = 0; i < 4; ++i) { - if(Creature* Animal = ObjectAccessor::GetCreature(*me, m_pInstance->GetGuidData(DATA_NPC_FRENZIED_WORGEN + i))) + if (Creature* Animal = ObjectAccessor::GetCreature(*me, m_pInstance->GetGuidData(DATA_NPC_FRENZIED_WORGEN + i))) { Animal->SetPosition(Animal->GetHomePosition()); Animal->StopMovingOnCurrentPos(); - if(Animal->isDead()) + if (Animal->isDead()) Animal->Respawn(true); Animal->CastSpell(Animal, SPELL_FREEZE, true); @@ -322,7 +322,7 @@ class boss_palehoof : public CreatureScript void JustDied(Unit* /*pKiller*/) override { me->PlayDirectSound(SOUND_DEATH); - if(m_pInstance) + if (m_pInstance) m_pInstance->SetData(DATA_GORTOK_PALEHOOF, DONE); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp index 221d462c2579f6..c67253561ee115 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp @@ -148,7 +148,7 @@ class boss_skadi : public CreatureScript me->UpdatePosition(343.02f, -507.325f, 104.567f, M_PI, true); me->StopMovingOnCurrentPos(); - if(m_pInstance) + if (m_pInstance) { m_pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_LODI_DODI); m_pInstance->SetData(DATA_SKADI_THE_RUTHLESS, NOT_STARTED); @@ -355,7 +355,7 @@ class boss_skadi_grauf : public CreatureScript void MovementInform(uint32 /*uiType*/, uint32 Id) override { - switch(Id) + switch (Id) { case 0: case 1: diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp index 35409dd8b5ef9c..ffb35c90a06719 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp @@ -193,7 +193,7 @@ class boss_svala : public CreatureScript { summons.DespawnAll(); Talk(SAY_DEATH); - if(instance) + if (instance) instance->SetData(DATA_SVALA_SORROWGRAVE, DONE); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index aacaf7f8eb9f5c..c922640ee9feea 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -148,7 +148,7 @@ class boss_ymiron : public CreatureScript me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE); - if(pInstance) + if (pInstance) { pInstance->SetData(DATA_KING_YMIRON, NOT_STARTED); pInstance->SetData(DATA_YMIRON_ACHIEVEMENT, true); @@ -168,7 +168,7 @@ class boss_ymiron : public CreatureScript void JustEngagedWith(Unit* /*pWho*/) override { Talk(SAY_AGGRO); - if(pInstance) + if (pInstance) { pInstance->SetData(DATA_KING_YMIRON, IN_PROGRESS); if (pInstance->GetData(DATA_SKADI_THE_RUTHLESS) == DONE) @@ -183,7 +183,7 @@ class boss_ymiron : public CreatureScript void MovementInform(uint32 uiType, uint32 point) override { - if(uiType != POINT_MOTION_TYPE) + if (uiType != POINT_MOTION_TYPE) return; if (point == 0) @@ -271,7 +271,7 @@ class boss_ymiron : public CreatureScript king->SetDisableGravity(true); me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE); me->GetMotionMaster()->MoveChase(me->GetVictim()); - switch(BoatOrder[BoatNum - 1]) + switch (BoatOrder[BoatNum - 1]) { case 0: events.ScheduleEvent(EVENT_YMIRON_RANULF_ABILITY, 3s, 1); @@ -338,7 +338,7 @@ class boss_ymiron : public CreatureScript summons.DespawnAll(); summons2.DespawnAll(); - if(pInstance) + if (pInstance) pInstance->SetData(DATA_KING_YMIRON, DONE); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp index 4d9ac638c3f9be..0b0370310618d9 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp @@ -73,14 +73,14 @@ class instance_utgarde_pinnacle : public InstanceMapScript bool IsEncounterInProgress() const override { for(uint8 i = 0; i < MAX_ENCOUNTERS; ++i) - if(Encounters[i] == IN_PROGRESS) + if (Encounters[i] == IN_PROGRESS) return true; return false; } void OnCreatureCreate(Creature* pCreature) override { - switch(pCreature->GetEntry()) + switch (pCreature->GetEntry()) { case NPC_SVALA_SORROWGRAVE: SvalaSorrowgrave = pCreature->GetGUID(); @@ -114,7 +114,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript void OnGameObjectCreate(GameObject* pGo) override { - switch(pGo->GetEntry()) + switch (pGo->GetEntry()) { case GO_SKADI_THE_RUTHLESS_DOOR: SkadiRuthlessDoor = pGo->GetGUID(); @@ -137,7 +137,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case 7322: // The Incredible Hulk (2043) return svalaAchievement; @@ -151,7 +151,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_SVALA_SORROWGRAVE: case DATA_GORTOK_PALEHOOF: @@ -212,7 +212,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript uint32 GetData(uint32 type) const override { - switch(type) + switch (type) { case DATA_SVALA_SORROWGRAVE: return Encounters[0]; diff --git a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp index 782748d69ebaed..f69f5b7f4f053e 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp @@ -176,7 +176,7 @@ class instance_vault_of_archavon : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case EVENT_ARCHAVON: case EVENT_EMALON: diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp index 3aa2cf6e66b732..da67718717f32d 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp @@ -99,7 +99,7 @@ class boss_cyanigosa : public CreatureScript { if (!target || !spell) return; - switch(spell->Id) + switch (spell->Id) { case SPELL_ARCANE_VACUUM: target->NearTeleportTo(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 10.0f, target->GetOrientation()); @@ -117,7 +117,7 @@ class boss_cyanigosa : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp index ad6986e8adf1dd..2d34027916773d 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp @@ -116,7 +116,7 @@ class boss_erekem : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -280,7 +280,7 @@ class npc_erekem_guard : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 6a078ba64e95a9..affe37877cf49b 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -110,7 +110,7 @@ class boss_ichoron : public CreatureScript if (!me->IsAlive()) return; - switch(param) + switch (param) { case ACTION_WATER_ELEMENT_HIT: if (pInstance) diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp index b609e4a36864a4..a16341ced376cf 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp @@ -88,7 +88,7 @@ class boss_lavanthor : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp index 231b1270dd2c25..0b517c0c23c8e9 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp @@ -91,7 +91,7 @@ class boss_moragg : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp index bd2cf323ecfb55..69eb1b7be46428 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp @@ -104,7 +104,7 @@ class boss_xevozz : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp index b5ec591976c98f..96eed54b9f59a1 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp @@ -103,7 +103,7 @@ class boss_zuramat : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING)) return; - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 83f9126053843f..ba1f65e5eaaf75 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -107,7 +107,7 @@ class instance_violet_hold : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { - switch(creature->GetEntry()) + switch (creature->GetEntry()) { case NPC_SINCLARI: NPC_SinclariGUID = creature->GetGUID(); @@ -162,7 +162,7 @@ class instance_violet_hold : public InstanceMapScript void OnGameObjectCreate(GameObject* go) override { - switch(go->GetEntry()) + switch (go->GetEntry()) { case GO_ACTIVATION_CRYSTAL: HandleGameObject(ObjectGuid::Empty, false, go); // make go not used yet @@ -202,7 +202,7 @@ class instance_violet_hold : public InstanceMapScript void SetData(uint32 type, uint32 data) override { - switch(type) + switch (type) { case DATA_ACTIVATE_DEFENSE_SYSTEM: { @@ -277,7 +277,7 @@ class instance_violet_hold : public InstanceMapScript void SetGuidData(uint32 type, ObjectGuid data) override { - switch(type) + switch (type) { case DATA_ADD_TRASH_MOB: trashMobs.insert(data); @@ -291,7 +291,7 @@ class instance_violet_hold : public InstanceMapScript uint32 GetData(uint32 type) const override { - switch(type) + switch (type) { case DATA_ENCOUNTER_STATUS: return (uint32)EncounterStatus; @@ -333,7 +333,7 @@ class instance_violet_hold : public InstanceMapScript { Creature* pBoss = nullptr; - switch(uiBoss) + switch (uiBoss) { case BOSS_MORAGG: HandleGameObject(GO_MoraggCellGUID, true); @@ -403,13 +403,13 @@ class instance_violet_hold : public InstanceMapScript void Update(uint32 diff) override { events.Update(diff); - switch( events.ExecuteEvent() ) + switch (events.ExecuteEvent()) { case 0: break; case EVENT_CHECK_PLAYERS: { - if( DoNeedCleanup(false) ) + if (DoNeedCleanup(false)) InstanceCleanup(); events.Repeat(5s); } @@ -522,7 +522,7 @@ class instance_violet_hold : public InstanceMapScript void OnPlayerEnter(Player* plr) override { - if( DoNeedCleanup(plr->IsAlive()) ) + if (DoNeedCleanup(plr->IsAlive())) InstanceCleanup(); if (EncounterStatus == IN_PROGRESS) @@ -542,19 +542,19 @@ class instance_violet_hold : public InstanceMapScript uint8 aliveCount = 0; Map::PlayerList const& pl = instance->GetPlayers(); for( Map::PlayerList::const_iterator itr = pl.begin(); itr != pl.end(); ++itr ) - if( Player* plr = itr->GetSource() ) - if( plr->IsAlive() && !plr->IsGameMaster() && !plr->HasAura(27827)/*spirit of redemption aura*/ ) + if (Player* plr = itr->GetSource()) + if (plr->IsAlive() && !plr->IsGameMaster() && !plr->HasAura(27827)/*spirit of redemption aura*/ ) ++aliveCount; bool need = enter ? aliveCount <= 1 : aliveCount == 0; - if( !need && CLEANED ) + if (!need && CLEANED) CLEANED = false; return need; } void InstanceCleanup() { - if( CLEANED ) + if (CLEANED) return; CLEANED = true; @@ -638,7 +638,7 @@ class instance_violet_hold : public InstanceMapScript bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override { - switch(criteria_id) + switch (criteria_id) { case CRITERIA_DEFENSELESS: return GateHealth == 100 && !bDefensesUsed; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index ba2e92fd96d98d..21fe3a013b2ac4 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -91,7 +91,7 @@ class npc_vh_sinclari : public CreatureScript { ClearGossipMenuFor(player); - switch(uiAction) + switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: CloseGossipMenuFor(player); @@ -172,7 +172,7 @@ class npc_vh_teleportation_portal : public CreatureScript events.Update(diff); - switch(events.ExecuteEvent()) + switch (events.ExecuteEvent()) { case 0: break; @@ -325,7 +325,7 @@ struct violet_hold_trashAI : public npc_escortAI if (!bAddedWP) { bAddedWP = true; - switch(PLoc) + switch (PLoc) { case 0: for(int i = 0; i < 6; i++) @@ -1040,30 +1040,30 @@ class npc_azure_saboteur : public CreatureScript if (!pInstance) return; - switch(uiBoss) + switch (uiBoss) { case 1: - if(uiWPointId == 2) + if (uiWPointId == 2) FinishPointReached(); break; case 2: - if(uiWPointId == 2) + if (uiWPointId == 2) FinishPointReached(); break; case 3: - if(uiWPointId == 1) + if (uiWPointId == 1) FinishPointReached(); break; case 4: - if(uiWPointId == 0) + if (uiWPointId == 0) FinishPointReached(); break; case 5: - if(uiWPointId == 0) + if (uiWPointId == 0) FinishPointReached(); break; case 6: - if(uiWPointId == 4) + if (uiWPointId == 4) FinishPointReached(); break; } @@ -1073,10 +1073,10 @@ class npc_azure_saboteur : public CreatureScript { npc_escortAI::UpdateAI(diff); - if(!bAddedWPs) + if (!bAddedWPs) { bAddedWPs = true; - switch(uiBoss) + switch (uiBoss) { case 1: for(int i = 0; i < 3; i++) diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp index 274748225e33b1..3c23fe2a988a17 100644 --- a/src/server/scripts/Northrend/zone_dalaran.cpp +++ b/src/server/scripts/Northrend/zone_dalaran.cpp @@ -148,7 +148,7 @@ class npc_shandy_dalaran : public CreatureScript void SetData(uint32 type, uint32 /*data*/) override { - switch(type) + switch (type) { case ACTION_SHANDY_INTRO: if (Creature* aquanos = me->FindNearestCreature(NPC_AQUANOS_ENTRY, 30, true)) @@ -163,7 +163,7 @@ class npc_shandy_dalaran : public CreatureScript _events.ScheduleEvent(EVENT_OUTRO_DH, 10min); break; default: - if(_lSource == type && _canWash) + if (_lSource == type && _canWash) { _canWash = false; _events.ScheduleEvent(EVENT_INTRO_DH2, type == ACTION_UNMENTIONABLES ? 4s : 10s); @@ -243,7 +243,7 @@ class npc_shandy_dalaran : public CreatureScript if (player->GetQuestStatus(QUEST_SUITABLE_DISGUISE_A) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_SUITABLE_DISGUISE_H) == QUEST_STATUS_INCOMPLETE) { - if(player->GetTeamId() == TEAM_ALLIANCE) + if (player->GetTeamId() == TEAM_ALLIANCE) AddGossipItemFor(player, GOSSIP_MENU_AQUANOS, GOSSIP_AQUANOS_ALLIANCE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); else AddGossipItemFor(player, GOSSIP_MENU_AQUANOS, GOSSIP_AQUANOS_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index c3525a4cd66e36..4f7d18fd9ff2c4 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -283,12 +283,12 @@ class go_the_pearl_of_the_depths : public GameObjectScript bool OnGossipHello(Player* player, GameObject* go) override { - if(!player || !go) + if (!player || !go) return true; Creature* t = player->FindNearestCreature(NPC_CONVERSING_WITH_THE_DEPTHS_TRIGGER, 10.0f, true); - if(t && t->AI() && CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())) - if(!CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->running) + if (t && t->AI() && CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())) + if (!CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->running) CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->Start(player->GetGUID()); return true; diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp index ab3e632956a51c..43ca3c21b6f343 100644 --- a/src/server/scripts/Northrend/zone_icecrown.cpp +++ b/src/server/scripts/Northrend/zone_icecrown.cpp @@ -138,7 +138,7 @@ class npc_battle_at_valhalas : public CreatureScript void PrepareSummons() { - switch(currentQuest) + switch (currentQuest) { case QUEST_BFV_FALLEN_HEROES: me->SummonCreature(NPC_ELDRETH, 8245.5f, 3522.7f, 627.67f, 3.11f, TEMPSUMMON_MANUAL_DESPAWN, 30000); diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 8e49b983ed25b6..7f969b81439703 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -400,7 +400,7 @@ class npc_still_at_it_trigger : public CreatureScript if (timer) { timer -= diff; - if( timer < 0 ) + if (timer < 0) timer = 0; } else if (success) diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index 5c82da7a9b696f..df5621f74bac4e 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -700,11 +700,11 @@ class npc_roxi_ramrocket : public CreatureScript player->PrepareQuestMenu(creature->GetGUID()); //Trainer Menu - if ( creature->IsTrainer() ) + if (creature->IsTrainer()) AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); //Vendor Menu - if ( creature->IsVendor() ) + if (creature->IsVendor()) if (player->HasSpell(SPELL_MECHANO_HOG) || player->HasSpell(SPELL_MEKGINEERS_CHOPPER)) AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp index 1e1933d195d9e6..474f7306adbf57 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp @@ -38,12 +38,12 @@ OPvPCapturePointEP_EWT::OPvPCapturePointEP_EWT(OutdoorPvP* pvp) void OPvPCapturePointEP_EWT::ChangeState() { // if changing from controlling alliance to horde or vice versa - if ( _oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state ) + if (_oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_EWT_A)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_EWT, TEAM_NEUTRAL); } - else if ( _oldState == OBJECTIVESTATE_HORDE && _oldState != _state ) + else if (_oldState == OBJECTIVESTATE_HORDE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_EWT_H)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_EWT, TEAM_NEUTRAL); @@ -170,12 +170,12 @@ OPvPCapturePointEP_NPT::OPvPCapturePointEP_NPT(OutdoorPvP* pvp) void OPvPCapturePointEP_NPT::ChangeState() { // if changing from controlling alliance to horde or vice versa - if ( _oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state ) + if (_oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_NPT_A)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_NPT, TEAM_NEUTRAL); } - else if ( _oldState == OBJECTIVESTATE_HORDE && _oldState != _state ) + else if (_oldState == OBJECTIVESTATE_HORDE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_NPT_H)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_NPT, TEAM_NEUTRAL); @@ -312,12 +312,12 @@ OPvPCapturePointEP_CGT::OPvPCapturePointEP_CGT(OutdoorPvP* pvp) void OPvPCapturePointEP_CGT::ChangeState() { // if changing from controlling alliance to horde or vice versa - if ( _oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state ) + if (_oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_CGT_A)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_CGT, TEAM_NEUTRAL); } - else if ( _oldState == OBJECTIVESTATE_HORDE && _oldState != _state ) + else if (_oldState == OBJECTIVESTATE_HORDE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_CGT_H)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_CGT, TEAM_NEUTRAL); @@ -439,12 +439,12 @@ OPvPCapturePointEP_PWT::OPvPCapturePointEP_PWT(OutdoorPvP* pvp) void OPvPCapturePointEP_PWT::ChangeState() { // if changing from controlling alliance to horde or vice versa - if ( _oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state ) + if (_oldState == OBJECTIVESTATE_ALLIANCE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_PWT_A)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_PWT, TEAM_NEUTRAL); } - else if ( _oldState == OBJECTIVESTATE_HORDE && _oldState != _state ) + else if (_oldState == OBJECTIVESTATE_HORDE && _oldState != _state) { sWorld->SendZoneText(EP_GraveYardZone, sObjectMgr->GetAcoreStringForDBCLocale(LANG_OPVP_EP_LOSE_PWT_H)); ((OutdoorPvPEP*)_pvp)->SetControlledState(EP_PWT, TEAM_NEUTRAL); diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp index 6db94e28772f2b..a411f43a6eb63e 100644 --- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp +++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp @@ -791,7 +791,7 @@ void OPvPCapturePointNA::ChangeState() break; case OBJECTIVESTATE_ALLIANCE: m_HalaaState = HALAA_A; - if(m_canRecap) + if (m_canRecap) FactionTakeOver(TEAM_ALLIANCE); artkit = 2; break; 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 c557b59d02e0b8..8ec98b72fbb50c 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp @@ -358,7 +358,7 @@ struct boss_fathomguard_tidalvess : public ScriptedAI int32 action = 0; uint8 group = 0; - switch(entry) + switch (entry) { case NPC_SPITFIRE_TOTEM: timer = 59s; @@ -407,7 +407,7 @@ struct boss_fathomguard_tidalvess : public ScriptedAI void SummonTotem(uint32 entry) { - switch(entry) + switch (entry) { case NPC_SPITFIRE_TOTEM: DoCastSelf(SPELL_SPITFIRE_TOTEM); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index 7207b284111139..bcfbcc0e6e2cfa 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -103,7 +103,7 @@ struct boss_lady_vashj : public BossAI void KilledUnit(Unit* /*victim*/) override { - if(!_recentlySpoken) + if (!_recentlySpoken) { Talk(SAY_SLAY); _recentlySpoken = true; @@ -132,7 +132,7 @@ struct boss_lady_vashj : public BossAI void JustSummoned(Creature* summon) override { summons.Summon(summon); - switch(summon->GetEntry()) { + switch (summon->GetEntry()) { case(WORLD_TRIGGER): summon->CastSpell(summon, SPELL_MAGIC_BARRIER); break; diff --git a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp index 011e26c29dfb7e..d6248c6f2c5e4f 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp @@ -93,7 +93,7 @@ struct boss_high_king_maulgar : public BossAI void KilledUnit(Unit* /*victim*/) override { - if(!_recentlySpoken) + if (!_recentlySpoken) { Talk(SAY_SLAY); _recentlySpoken = true; diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp index 18dda706a5425f..654e2b232b5cca 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp @@ -87,7 +87,7 @@ struct boss_omor_the_unscarred : public BossAI void KilledUnit(Unit*) override { - if(!_hasSpoken) + if (!_hasSpoken) { _hasSpoken = true; Talk(SAY_KILL); diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index 37b3a95b159e9e..897d01c1bde0c1 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -215,7 +215,7 @@ struct boss_magtheridon : public BossAI }); } } - else if (action == ACTION_BANISH_SELF ) + else if (action == ACTION_BANISH_SELF) { Talk(SAY_BANISH); me->CastSpell(me, SPELL_SHADOW_CAGE_STUN, true); diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp index e5723aee5a68ac..4fc5adef6fae0f 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp @@ -271,7 +271,7 @@ struct boss_grand_warlock_nethekurse : public BossAI { // check if door is openened //this should only happen before the intro, if the door is picked by someone - if(nethekursedoor->GetGoState() == 0) + if (nethekursedoor->GetGoState() == 0) { DoAction(ACTION_START_INTRO); } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp index 5195c8bbe27f8d..db246c77e36c0f 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp @@ -337,7 +337,7 @@ struct boss_alar : public BossAI return; } - switch(id) + switch (id) { case POINT_QUILL: scheduler.CancelGroup(GROUP_FLAME_BUFFET); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 4f881ff03bbbee..fce208869c1301 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -338,7 +338,7 @@ struct boss_kaelthas : public BossAI void DoAction(int32 action) override { - switch(action) + switch (action) { case ACTION_START_SANGUINAR: IntroduceNewAdvisor(SAY_INTRO_SANGUINAR, ACTION_START_SANGUINAR); @@ -610,7 +610,7 @@ struct boss_kaelthas : public BossAI Talk(talkIntroduction); }); //switch because talk times are different - switch(kaelAction) + switch (kaelAction) { case ACTION_START_SANGUINAR: attackStartTimer = 14500ms; @@ -685,7 +685,7 @@ struct boss_kaelthas : public BossAI AttackStart(target); } ScheduleHealthCheckEvent(50, [&]{ - if(!_transitionSceneReached) + if (!_transitionSceneReached) { _transitionSceneReached = true; scheduler.CancelAll(); diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp index 284e526542b682..637b355abc8e7d 100644 --- a/src/server/scripts/Spells/spell_hunter.cpp +++ b/src/server/scripts/Spells/spell_hunter.cpp @@ -181,7 +181,7 @@ class spell_hun_generic_scaling : public AuraScript int32 modifier = 45; // xinef: Wild Hunt bonus for stamina - if (AuraEffect* wildHuntEff = GetUnitOwner()->GetDummyAuraEffect(SPELLFAMILY_PET, 3748, EFFECT_0)) + if (AuraEffect* wildHuntEff = GetUnitOwner()->GetDummyAuraEffect(SPELLFAMILY_PET, 3748, EFFECT_0)) AddPct(modifier, wildHuntEff->GetAmount()); amount = CalculatePct(std::max(0, owner->GetStat(Stats(aurEff->GetSpellInfo()->Effects[aurEff->GetEffIndex()].MiscValue))), modifier); diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 5bf697b96023ba..4a92e2a13cd117 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -620,7 +620,7 @@ class spell_item_feast : public SpellScript { LocaleConstant loc_idx = player->GetSession()->GetSessionDbLocaleIndex(); - switch(GetSpellInfo()->Id) + switch (GetSpellInfo()->Id) { case SPELL_GREAT_FEAST: if (BroadcastText const* bct = sObjectMgr->GetBroadcastText(GREAT_FEAST_BROADCAST_TEXT_ID_PREPARE)) diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 94b2f6dd765c44..c0a18506b4b5db 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -623,9 +623,9 @@ class spell_q12274_a_fall_from_grace_costume : public SpellScript void HandleScript(SpellEffIndex /*effIndex*/) { - if(Unit* target = GetHitUnit()) + if (Unit* target = GetHitUnit()) { - if(Player* p = target->ToPlayer()) + if (Player* p = target->ToPlayer()) { p->CastSpell(p, p->getGender() == GENDER_FEMALE ? SPELL_SCARLET_RAVEN_PRIEST_IMAGE_FEMALE : SPELL_SCARLET_RAVEN_PRIEST_IMAGE_MALE, false); } @@ -2325,8 +2325,8 @@ class spell_q12919_gymers_throw : public SpellScript void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { - if(GetOwner()) - if(Player* player = GetOwner()->ToPlayer()) + if (GetOwner()) + if (Player* player = GetOwner()->ToPlayer()) player->CompleteQuest(QUEST_CROW_TRANSFORM); } diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 7f4d76687589c7..7d995e6a95354f 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -302,7 +302,7 @@ class AreaTrigger_at_sentry_point : public AreaTriggerScript if (!player->FindNearestCreature(NPC_TERVOSH, 100.0f)) { - if(Creature* tervosh = player->SummonCreature(NPC_TERVOSH, -3476.51f, -4105.94f, 17.1f, 5.3816f, TEMPSUMMON_TIMED_DESPAWN, 60000)) + if (Creature* tervosh = player->SummonCreature(NPC_TERVOSH, -3476.51f, -4105.94f, 17.1f, 5.3816f, TEMPSUMMON_TIMED_DESPAWN, 60000)) tervosh->CastSpell(tervosh, SPELL_TELEPORT_VISUAL, true); } diff --git a/src/server/scripts/World/npc_professions.cpp b/src/server/scripts/World/npc_professions.cpp index e98676dcff051e..c0c30a13edbdbc 100644 --- a/src/server/scripts/World/npc_professions.cpp +++ b/src/server/scripts/World/npc_professions.cpp @@ -1283,7 +1283,7 @@ class go_evil_book_for_dummies : public GameObjectScript void SendActionMenu(Player* player, GameObject* /*gameobject*/, uint32 uiAction) { - switch(uiAction) + switch (uiAction) { // Learn Goblin case GOSSIP_ACTION_INFO_DEF + 1: @@ -1353,7 +1353,7 @@ class go_evil_book_for_dummies : public GameObjectScript bool OnGossipSelect(Player* player, GameObject* gameobject, uint32 uiSender, uint32 uiAction) override { ClearGossipMenuFor(player); - switch(uiSender) + switch (uiSender) { case GOSSIP_SENDER_LEARN: SendActionMenu(player, gameobject, uiAction); diff --git a/src/tools/mmaps_generator/MapBuilder.cpp b/src/tools/mmaps_generator/MapBuilder.cpp index e83daf1fe22e96..3a066a33c75d98 100644 --- a/src/tools/mmaps_generator/MapBuilder.cpp +++ b/src/tools/mmaps_generator/MapBuilder.cpp @@ -461,7 +461,7 @@ namespace MMAP /**************************************************************************/ void TileBuilder::buildTile(uint32 mapID, uint32 tileX, uint32 tileY, dtNavMesh* navMesh) { - if(shouldSkipTile(mapID, tileX, tileY)) + if (shouldSkipTile(mapID, tileX, tileY)) { ++m_mapBuilder->m_totalTilesProcessed; return; diff --git a/src/tools/vmap4_extractor/wmo.cpp b/src/tools/vmap4_extractor/wmo.cpp index 963038099e0d80..af34818c7ac674 100644 --- a/src/tools/vmap4_extractor/wmo.cpp +++ b/src/tools/vmap4_extractor/wmo.cpp @@ -568,5 +568,4 @@ void MapObject::Extract(ADT::MODF const& mapObjDef, char const* WmoInstName, uin uint32 nlen = strlen(WmoInstName); fwrite(&nlen, sizeof(uint32), 1, pDirfile); fwrite(WmoInstName, sizeof(char), nlen, pDirfile); - } From b364e00238c43cd326fa54aa3e5c4cd8a8c9d770 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 21 Sep 2024 21:57:26 +0200 Subject: [PATCH 029/119] fix(Core/Object): do not add Object to Transport when summoned by a Vehicle (#19920) --- src/server/game/Entities/Object/Object.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 371a776aaa9461..ded540a57a9274 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2252,7 +2252,10 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert summon->SetVisibleBySummonerOnly(visibleBySummonerOnly); - if (!AddToMap(summon->ToCreature(), summon->GetOwnerGUID().IsPlayer() || (summoner && summoner->GetTransport()))) + bool summonerHasTransport = summoner && summoner->GetTransport(); + bool summonerIsVehicle = summoner && summoner->IsUnit() && summoner->ToUnit()->IsVehicle(); + bool checkTransport = summon->GetOwnerGUID().IsPlayer() || (summonerHasTransport && !summonerIsVehicle); + if (!AddToMap(summon->ToCreature(), checkTransport)) { delete summon; return nullptr; From cfd7bf416207f78028ed1532db3d2bfd44dab406 Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Sat, 21 Sep 2024 17:25:22 -0300 Subject: [PATCH 030/119] chore(Core/AllMapScript) Update structure (#19979) * fix(Core/AllMapScript) Update structure to use CALL_ENABLED_HOOKS * fatal error: no template named 'vector' in namespace 'std' * fix build Co-authored-by: Anton Popovichenko --------- Co-authored-by: Anton Popovichenko --- .../Scripting/ScriptDefines/AllMapScript.cpp | 45 ++++++------------- .../Scripting/ScriptDefines/AllMapScript.h | 15 ++++++- src/server/game/Scripting/ScriptMgr.cpp | 1 + 3 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/server/game/Scripting/ScriptDefines/AllMapScript.cpp b/src/server/game/Scripting/ScriptDefines/AllMapScript.cpp index c778b8fffbe591..a4390736513f8d 100644 --- a/src/server/game/Scripting/ScriptDefines/AllMapScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/AllMapScript.cpp @@ -88,10 +88,7 @@ void ScriptMgr::OnCreateMap(Map* map) { ASSERT(map); - ExecuteScript([&](AllMapScript* script) - { - script->OnCreateMap(map); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_CREATE_MAP, script->OnCreateMap(map)); ForeachMaps(map, [&](WorldMapScript* script) @@ -116,10 +113,7 @@ void ScriptMgr::OnDestroyMap(Map* map) { ASSERT(map); - ExecuteScript([&](AllMapScript* script) - { - script->OnDestroyMap(map); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_DESTROY_MAP, script->OnDestroyMap(map)); ForeachMaps(map, [&](WorldMapScript* script) @@ -193,10 +187,7 @@ void ScriptMgr::OnPlayerEnterMap(Map* map, Player* player) ASSERT(map); ASSERT(player); - ExecuteScript([&](AllMapScript* script) - { - script->OnPlayerEnterAll(map, player); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_PLAYER_ENTER_ALL, script->OnPlayerEnterAll(map, player)); ExecuteScript([=](PlayerScript* script) { @@ -227,10 +218,7 @@ void ScriptMgr::OnPlayerLeaveMap(Map* map, Player* player) ASSERT(map); ASSERT(player); - ExecuteScript([&](AllMapScript* script) - { - script->OnPlayerLeaveAll(map, player); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_PLAYER_LEAVE_ALL, script->OnPlayerLeaveAll(map, player)); ForeachMaps(map, [&](WorldMapScript* script) @@ -255,10 +243,7 @@ void ScriptMgr::OnMapUpdate(Map* map, uint32 diff) { ASSERT(map); - ExecuteScript([&](AllMapScript* script) - { - script->OnMapUpdate(map, diff); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_MAP_UPDATE, script->OnMapUpdate(map, diff)); ForeachMaps(map, [&](WorldMapScript* script) @@ -281,24 +266,22 @@ void ScriptMgr::OnMapUpdate(Map* map, uint32 diff) void ScriptMgr::OnBeforeCreateInstanceScript(InstanceMap* instanceMap, InstanceScript** instanceData, bool load, std::string data, uint32 completedEncounterMask) { - ExecuteScript([&](AllMapScript* script) - { - script->OnBeforeCreateInstanceScript(instanceMap, instanceData, load, data, completedEncounterMask); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_BEFORE_CREATE_INSTANCE_SCRIPT, script->OnBeforeCreateInstanceScript(instanceMap, instanceData, load, data, completedEncounterMask)); } void ScriptMgr::OnDestroyInstance(MapInstanced* mapInstanced, Map* map) { - ExecuteScript([&](AllMapScript* script) - { - script->OnDestroyInstance(mapInstanced, map); - }); + CALL_ENABLED_HOOKS(AllMapScript, ALLMAPHOOK_ON_DESTROY_INSTANCE, script->OnDestroyInstance(mapInstanced, map)); } -AllMapScript::AllMapScript(const char* name) : - ScriptObject(name) +AllMapScript::AllMapScript(const char* name, std::vector enabledHooks) : ScriptObject(name, ALLMAPHOOK_END) { - ScriptRegistry::AddScript(this); + // If empty - enable all available hooks. + if (enabledHooks.empty()) + for (uint16 i = 0; i < ALLMAPHOOK_END; ++i) + enabledHooks.emplace_back(i); + + ScriptRegistry::AddScript(this, std::move(enabledHooks)); } template class AC_GAME_API ScriptRegistry; diff --git a/src/server/game/Scripting/ScriptDefines/AllMapScript.h b/src/server/game/Scripting/ScriptDefines/AllMapScript.h index 77479fc1b0aaf9..86e7a0e6d273be 100644 --- a/src/server/game/Scripting/ScriptDefines/AllMapScript.h +++ b/src/server/game/Scripting/ScriptDefines/AllMapScript.h @@ -19,11 +19,24 @@ #define SCRIPT_OBJECT_ALL_MAP_SCRIPT_H_ #include "ScriptObject.h" +#include + +enum AllMapHook +{ + ALLMAPHOOK_ON_PLAYER_ENTER_ALL, + ALLMAPHOOK_ON_PLAYER_LEAVE_ALL, + ALLMAPHOOK_ON_BEFORE_CREATE_INSTANCE_SCRIPT, + ALLMAPHOOK_ON_DESTROY_INSTANCE, + ALLMAPHOOK_ON_CREATE_MAP, + ALLMAPHOOK_ON_DESTROY_MAP, + ALLMAPHOOK_ON_MAP_UPDATE, + ALLMAPHOOK_END +}; class AllMapScript : public ScriptObject { protected: - AllMapScript(const char* name); + AllMapScript(const char* name, std::vector enabledHooks = std::vector()); public: /** diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 9ec3ffeea13936..3ff8933e346490 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -102,6 +102,7 @@ void ScriptMgr::Initialize() ScriptRegistry::InitEnabledHooksIfNeeded(UNITHOOK_END); ScriptRegistry::InitEnabledHooksIfNeeded(WORLDOBJECTHOOK_END); ScriptRegistry::InitEnabledHooksIfNeeded(WORLDHOOK_END); + ScriptRegistry::InitEnabledHooksIfNeeded(ALLMAPHOOK_END); } void ScriptMgr::Unload() From d227ed91c20f147686f9735bfab1455c5f8966fc Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Sat, 21 Sep 2024 23:30:58 +0200 Subject: [PATCH 031/119] =?UTF-8?q?fix(Scripts/Commands):=20Prevent=20cras?= =?UTF-8?q?h=20if=20you=20use=20doublequotes=20in=20go=20cr=E2=80=A6=20(#2?= =?UTF-8?q?0012)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/Commands): Prevent crash if you use doublequotes in go creature name * closes https://github.com/azerothcore/azerothcore-wotlk/issues/20010 --- src/server/scripts/Commands/cs_go.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index 4169428fe22d57..b533d14d5f187c 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -123,7 +123,14 @@ class go_commandscript : public CommandScript if (!name.data()) return false; - QueryResult result = WorldDatabase.Query("SELECT entry FROM creature_template WHERE name = \"{}\" LIMIT 1" , name.data()); + // Make sure we don't pass double quotes into the SQL query. Otherwise it causes a MySQL error + std::string str = name.data(); // Making subtractions to the last character does not with in string_view + if (str.front() == '"') + str = str.substr(1); + if (str.back() == '"') + str = str.substr(0, str.size() - 1); + + QueryResult result = WorldDatabase.Query("SELECT entry FROM creature_template WHERE name = \"{}\" LIMIT 1", str); if (!result) { handler->SendErrorMessage(LANG_COMMAND_GOCREATNOTFOUND); From 1802de94f5bfbcb5a7833269caca5a6512237123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=ABXol?= <66186993+jorge990125@users.noreply.github.com> Date: Sat, 21 Sep 2024 18:27:42 -0400 Subject: [PATCH 032/119] fix(DB/Creature) Ebon Blade Commander Equipment (#19846) * fix(DB/Creature) Ebon Blade Commander Equipment * fix(DB/Creature) Ebon Blade Commander Equipment * Update rev_1725226115559982400.sql * Update rev_1725226115559982400.sql --------- --- data/sql/updates/pending_db_world/rev_1725226115559982400.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/sql/updates/pending_db_world/rev_1725226115559982400.sql diff --git a/data/sql/updates/pending_db_world/rev_1725226115559982400.sql b/data/sql/updates/pending_db_world/rev_1725226115559982400.sql new file mode 100644 index 00000000000000..111a767d9ae0da --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1725226115559982400.sql @@ -0,0 +1 @@ +UPDATE `creature` SET `equipment_id` = 1 WHERE `id1` = 37967; From 7790b2258bbaaec66490f3c69f259ba4b3132162 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Sat, 21 Sep 2024 18:28:11 -0400 Subject: [PATCH 033/119] feat(Core/Commands): Add debug command for applying a spell cooldown. (#20004) * Init. * Correct wrong query characters. --- .../pending_db_world/debug-cooldown.sql | 2 ++ src/server/scripts/Commands/cs_debug.cpp | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 data/sql/updates/pending_db_world/debug-cooldown.sql diff --git a/data/sql/updates/pending_db_world/debug-cooldown.sql b/data/sql/updates/pending_db_world/debug-cooldown.sql new file mode 100644 index 00000000000000..3768c7010f6010 --- /dev/null +++ b/data/sql/updates/pending_db_world/debug-cooldown.sql @@ -0,0 +1,2 @@ +DELETE FROM `command` WHERE `name` = 'debug cooldown'; +INSERT INTO `command` (`name`, `security`, `help`) VALUES ('debug cooldown', 3, 'Syntax: .debug cooldown #spellID #cooldownTime #itemID\nApply a cooldown of the given duration (in milliseconds) for the given spell and item ID.'); diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index b57ff6ccc327cd..38dd93a2ff9eef 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -82,6 +82,7 @@ class debug_commandscript : public CommandScript { "anim", HandleDebugAnimCommand, SEC_ADMINISTRATOR, Console::No }, { "arena", HandleDebugArenaCommand, SEC_ADMINISTRATOR, Console::No }, { "bg", HandleDebugBattlegroundCommand, SEC_ADMINISTRATOR, Console::No }, + { "cooldown", HandleDebugCooldownCommand, SEC_ADMINISTRATOR, Console::No }, { "getitemstate", HandleDebugGetItemStateCommand, SEC_ADMINISTRATOR, Console::No }, { "lootrecipient", HandleDebugGetLootRecipientCommand, SEC_ADMINISTRATOR, Console::No }, { "getvalue", HandleDebugGetValueCommand, SEC_ADMINISTRATOR, Console::No }, @@ -784,6 +785,33 @@ class debug_commandscript : public CommandScript return true; } + static bool HandleDebugCooldownCommand(ChatHandler* handler, uint32 spell_id, uint32 end_time, Optional item_id) + { + Player* player = handler->GetPlayer(); + + if (!player || !spell_id || !end_time) + return false; + + if (!sSpellMgr->GetSpellInfo(spell_id)) + return false; + + if (!item_id) + item_id = 0; + else if (!sItemStore.LookupEntry(*item_id)) + return false; + + if (end_time < player->GetSpellCooldownDelay(spell_id)) + player->RemoveSpellCooldown(spell_id, true); + + player->AddSpellCooldown(spell_id, *item_id, end_time, true, false); + + WorldPacket data; + player->BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, spell_id, end_time); + player->SendDirectMessage(&data); + + return true; + } + static bool HandleDebugArenaCommand(ChatHandler* /*handler*/) { sBattlegroundMgr->ToggleArenaTesting(); From a452b25def8beb6c3bc87fc34acf2f678b0d10c2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 21 Sep 2024 22:28:36 +0000 Subject: [PATCH 034/119] chore(DB): import pending files Referenced commit(s): 1802de94f5bfbcb5a7833269caca5a6512237123 --- .../debug-cooldown.sql => db_world/2024_09_21_01.sql} | 1 + .../rev_1725226115559982400.sql => db_world/2024_09_21_02.sql} | 1 + 2 files changed, 2 insertions(+) rename data/sql/updates/{pending_db_world/debug-cooldown.sql => db_world/2024_09_21_01.sql} (86%) rename data/sql/updates/{pending_db_world/rev_1725226115559982400.sql => db_world/2024_09_21_02.sql} (58%) diff --git a/data/sql/updates/pending_db_world/debug-cooldown.sql b/data/sql/updates/db_world/2024_09_21_01.sql similarity index 86% rename from data/sql/updates/pending_db_world/debug-cooldown.sql rename to data/sql/updates/db_world/2024_09_21_01.sql index 3768c7010f6010..e0c72a1823c5b2 100644 --- a/data/sql/updates/pending_db_world/debug-cooldown.sql +++ b/data/sql/updates/db_world/2024_09_21_01.sql @@ -1,2 +1,3 @@ +-- DB update 2024_09_21_00 -> 2024_09_21_01 DELETE FROM `command` WHERE `name` = 'debug cooldown'; INSERT INTO `command` (`name`, `security`, `help`) VALUES ('debug cooldown', 3, 'Syntax: .debug cooldown #spellID #cooldownTime #itemID\nApply a cooldown of the given duration (in milliseconds) for the given spell and item ID.'); diff --git a/data/sql/updates/pending_db_world/rev_1725226115559982400.sql b/data/sql/updates/db_world/2024_09_21_02.sql similarity index 58% rename from data/sql/updates/pending_db_world/rev_1725226115559982400.sql rename to data/sql/updates/db_world/2024_09_21_02.sql index 111a767d9ae0da..51a147c6141aa5 100644 --- a/data/sql/updates/pending_db_world/rev_1725226115559982400.sql +++ b/data/sql/updates/db_world/2024_09_21_02.sql @@ -1 +1,2 @@ +-- DB update 2024_09_21_01 -> 2024_09_21_02 UPDATE `creature` SET `equipment_id` = 1 WHERE `id1` = 37967; From 985410f18430e78e4b781ff8e11ff95f4ff11548 Mon Sep 17 00:00:00 2001 From: IntelligentQuantum Date: Sun, 22 Sep 2024 10:02:16 +0330 Subject: [PATCH 035/119] feat(Core/Items): Delete old item id from recovery item (#18332) --- .../rev_1707981003566465200.sql | 3 ++ .../apps/worldserver/worldserver.conf.dist | 8 ++++ .../Implementation/CharacterDatabase.cpp | 4 +- .../Implementation/CharacterDatabase.h | 2 + src/server/game/Entities/Player/Player.cpp | 43 +++++++++++++++++++ src/server/game/Entities/Player/Player.h | 3 ++ src/server/game/World/IWorld.h | 1 + src/server/game/World/World.cpp | 4 ++ 8 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 data/sql/updates/pending_db_characters/rev_1707981003566465200.sql diff --git a/data/sql/updates/pending_db_characters/rev_1707981003566465200.sql b/data/sql/updates/pending_db_characters/rev_1707981003566465200.sql new file mode 100644 index 00000000000000..ae7ae772e03780 --- /dev/null +++ b/data/sql/updates/pending_db_characters/rev_1707981003566465200.sql @@ -0,0 +1,3 @@ +-- +ALTER TABLE `recovery_item` + ADD COLUMN `DeleteDate` INT UNSIGNED NULL DEFAULT NULL AFTER `Count`; diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 2fa6d467ee607a..31d309381d603a 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -2616,6 +2616,14 @@ ItemDelete.Quality = 3 ItemDelete.ItemLevel = 80 +# +# ItemDelete.KeepDays +# Description: Time (in days) +# Default: 0 - (Disabled, Don't delete any it) +# 30 - (Enabled) + +ItemDelete.KeepDays = 0 + # ################################################################################################### diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp index 6e777a27828206..b96f224cdb97c1 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp @@ -588,11 +588,13 @@ void CharacterDatabaseConnection::DoPrepareStatements() PrepareStatement(CHAR_UPD_QUEST_TRACK_ABANDON_TIME, "UPDATE quest_tracker SET quest_abandon_time = NOW() WHERE id = ? AND character_guid = ? ORDER BY quest_accept_time DESC LIMIT 1", CONNECTION_ASYNC); // Recovery Item - PrepareStatement(CHAR_INS_RECOVERY_ITEM, "INSERT INTO recovery_item (Guid, ItemEntry, Count) VALUES (?, ?, ?)", CONNECTION_SYNCH); + PrepareStatement(CHAR_INS_RECOVERY_ITEM, "INSERT INTO recovery_item (Guid, ItemEntry, Count, DeleteDate) VALUES (?, ?, ?, UNIX_TIMESTAMP())", CONNECTION_SYNCH); PrepareStatement(CHAR_SEL_RECOVERY_ITEM, "SELECT id, itemEntry, Count, Guid FROM recovery_item WHERE id = ?", CONNECTION_SYNCH); PrepareStatement(CHAR_SEL_RECOVERY_ITEM_LIST, "SELECT id, itemEntry, Count FROM recovery_item WHERE Guid = ? ORDER BY id DESC", CONNECTION_SYNCH); PrepareStatement(CHAR_DEL_RECOVERY_ITEM, "DELETE FROM recovery_item WHERE Guid = ? AND ItemEntry = ? AND Count = ? ORDER BY Id DESC LIMIT 1", CONNECTION_ASYNC); PrepareStatement(CHAR_DEL_RECOVERY_ITEM_BY_RECOVERY_ID, "DELETE FROM recovery_item WHERE id = ?", CONNECTION_ASYNC); + PrepareStatement(CHAR_SEL_RECOVERY_ITEM_OLD_ITEMS, "SELECT Guid, ItemEntry FROM recovery_item WHERE DeleteDate IS NOT NULL AND DeleteDate < ?", CONNECTION_SYNCH); + PrepareStatement(CHAR_DEL_RECOVERY_ITEM_BY_GUID, "DELETE FROM recovery_item WHERE Guid = ?", CONNECTION_ASYNC); PrepareStatement(CHAR_SEL_HONORPOINTS, "SELECT totalHonorPoints FROM characters WHERE guid = ?", CONNECTION_SYNCH); PrepareStatement(CHAR_SEL_ARENAPOINTS, "SELECT arenaPoints FROM characters WHERE guid = ?", CONNECTION_SYNCH); diff --git a/src/server/database/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h index c2c906936ec042..b56f3f2d79e6ba 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.h +++ b/src/server/database/Database/Implementation/CharacterDatabase.h @@ -508,6 +508,8 @@ enum CharacterDatabaseStatements : uint32 CHAR_SEL_RECOVERY_ITEM_LIST, CHAR_DEL_RECOVERY_ITEM, CHAR_DEL_RECOVERY_ITEM_BY_RECOVERY_ID, + CHAR_SEL_RECOVERY_ITEM_OLD_ITEMS, + CHAR_DEL_RECOVERY_ITEM_BY_GUID, CHAR_SEL_HONORPOINTS, CHAR_SEL_ARENAPOINTS, diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 707ac73ee3d42b..acf934da08b09e 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4334,6 +4334,49 @@ void Player::DeleteOldCharacters(uint32 keepDays) } } +/** + * Items which were kept back in the database after being deleted and are now too old (see config option "ItemDelete.KeepDays"), will be completely deleted. + */ +void Player::DeleteOldRecoveryItems() +{ + uint32 keepDays = sWorld->getIntConfig(CONFIG_ITEMDELETE_KEEP_DAYS); + if (!keepDays) + return; + + Player::DeleteOldRecoveryItems(keepDays); +} + +/** + * Items which were kept back in the database after being deleted and are older than the specified amount of days, will be completely deleted. + */ +void Player::DeleteOldRecoveryItems(uint32 keepDays) +{ + LOG_INFO("server.loading", "Player::DeleteOldRecoveryItems: Deleting all items which have been deleted {} days before...", keepDays); + LOG_INFO("server.loading", " "); + + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_RECOVERY_ITEM_OLD_ITEMS); + stmt->SetData(0, uint32(GameTime::GetGameTime().count() - time_t(keepDays * DAY))); + PreparedQueryResult result = CharacterDatabase.Query(stmt); + + if (result) + { + LOG_INFO("server.loading", "Player::DeleteOldRecoveryItems: Found {} item(s) to delete", result->GetRowCount()); + do + { + Field* fields = result->Fetch(); + + uint32 guid = fields[0].Get(); + uint32 itemEntry = fields[1].Get(); + + CharacterDatabasePreparedStatement* deleteStmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RECOVERY_ITEM_BY_GUID); + deleteStmt->SetData(0, guid); + CharacterDatabase.Execute(deleteStmt); + + LOG_INFO("server.loading", "Deleted item from recovery_item table where guid {} and item id {}", guid, itemEntry); + } while (result->NextRow()); + } +} + void Player::SetMovement(PlayerMovementType pType) { WorldPacket data; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 2ebf6c8dbcb4d2..0569360f52e823 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1578,6 +1578,9 @@ class Player : public Unit, public GridObject static void DeleteOldCharacters(); static void DeleteOldCharacters(uint32 keepDays); + static void DeleteOldRecoveryItems(); + static void DeleteOldRecoveryItems(uint32 keepDays); + bool m_mailsUpdated; void SetBindPoint(ObjectGuid guid); diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index 78eab7d7bef475..7b3551a3226508 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -389,6 +389,7 @@ enum WorldIntConfigs CONFIG_ICC_BUFF_ALLIANCE, CONFIG_ITEMDELETE_QUALITY, CONFIG_ITEMDELETE_ITEM_LEVEL, + CONFIG_ITEMDELETE_KEEP_DAYS, CONFIG_BG_REWARD_WINNER_HONOR_FIRST, CONFIG_BG_REWARD_WINNER_ARENA_FIRST, CONFIG_BG_REWARD_WINNER_HONOR_LAST, diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 8350e4e726c593..1500f3ec6bcc4e 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1265,6 +1265,7 @@ void World::LoadConfigSettings(bool reload) _bool_configs[CONFIG_ITEMDELETE_VENDOR] = sConfigMgr->GetOption("ItemDelete.Vendor", 0); _int_configs[CONFIG_ITEMDELETE_QUALITY] = sConfigMgr->GetOption("ItemDelete.Quality", 3); _int_configs[CONFIG_ITEMDELETE_ITEM_LEVEL] = sConfigMgr->GetOption("ItemDelete.ItemLevel", 80); + _int_configs[CONFIG_ITEMDELETE_KEEP_DAYS] = sConfigMgr->GetOption("ItemDelete.KeepDays", 0); _int_configs[CONFIG_FFA_PVP_TIMER] = sConfigMgr->GetOption("FFAPvPTimer", 30); @@ -2091,6 +2092,9 @@ void World::SetInitialWorldSettings() // Delete all characters which have been deleted X days before Player::DeleteOldCharacters(); + // Delete all items which have been deleted X days before + Player::DeleteOldRecoveryItems(); + // Delete all custom channels which haven't been used for PreserveCustomChannelDuration days. Channel::CleanOldChannelsInDB(); From 02cd628f7bc38de4b1cef2cabd98f57249779f29 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 22 Sep 2024 06:33:12 +0000 Subject: [PATCH 036/119] chore(DB): import pending files Referenced commit(s): 985410f18430e78e4b781ff8e11ff95f4ff11548 --- .../2024_09_22_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_characters/rev_1707981003566465200.sql => db_characters/2024_09_22_00.sql} (70%) diff --git a/data/sql/updates/pending_db_characters/rev_1707981003566465200.sql b/data/sql/updates/db_characters/2024_09_22_00.sql similarity index 70% rename from data/sql/updates/pending_db_characters/rev_1707981003566465200.sql rename to data/sql/updates/db_characters/2024_09_22_00.sql index ae7ae772e03780..182cd1d077a24d 100644 --- a/data/sql/updates/pending_db_characters/rev_1707981003566465200.sql +++ b/data/sql/updates/db_characters/2024_09_22_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_03_00 -> 2024_09_22_00 -- ALTER TABLE `recovery_item` ADD COLUMN `DeleteDate` INT UNSIGNED NULL DEFAULT NULL AFTER `Count`; From 44a10e7be86803bbe64cf65508d70d16e13a947d Mon Sep 17 00:00:00 2001 From: Lukas <53310556+proxical@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:37:49 -0700 Subject: [PATCH 037/119] fix(DB/quest_offer_reward): C'Thun's Legacy turnin dialogue (#19130) * fix(DB/quest_offer_reward): C'Thun's Legacy turnin dialogue * fix(DB/quest_offer_reward): C'Thun's Legacy turnin dialogue --- data/sql/updates/pending_db_world/rev_1719113163679056400.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1719113163679056400.sql diff --git a/data/sql/updates/pending_db_world/rev_1719113163679056400.sql b/data/sql/updates/pending_db_world/rev_1719113163679056400.sql new file mode 100644 index 00000000000000..270d18860c9009 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1719113163679056400.sql @@ -0,0 +1,3 @@ +-- +UPDATE `quest_offer_reward` SET `RewardText`='We will leave this place on our own, $G Lord:Lady; $N - once we are certain that the evil within has been wholly destroyed. Your journey of legend is almost at an end.', `VerifiedBuild`=0 WHERE `ID`=8801; +UPDATE `quest_request_items` SET `CompletionText`='$G Lord:Lady; $N, you have freed us of its grasp.', `VerifiedBuild`=0 WHERE `ID`=8801; From bb0d292e1c2bb5619fbc3105e7cd919b45268748 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 22 Sep 2024 07:38:46 +0000 Subject: [PATCH 038/119] chore(DB): import pending files Referenced commit(s): 44a10e7be86803bbe64cf65508d70d16e13a947d --- .../rev_1719113163679056400.sql => db_world/2024_09_22_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1719113163679056400.sql => db_world/2024_09_22_00.sql} (89%) diff --git a/data/sql/updates/pending_db_world/rev_1719113163679056400.sql b/data/sql/updates/db_world/2024_09_22_00.sql similarity index 89% rename from data/sql/updates/pending_db_world/rev_1719113163679056400.sql rename to data/sql/updates/db_world/2024_09_22_00.sql index 270d18860c9009..1f2d140f3e3c8b 100644 --- a/data/sql/updates/pending_db_world/rev_1719113163679056400.sql +++ b/data/sql/updates/db_world/2024_09_22_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_21_02 -> 2024_09_22_00 -- UPDATE `quest_offer_reward` SET `RewardText`='We will leave this place on our own, $G Lord:Lady; $N - once we are certain that the evil within has been wholly destroyed. Your journey of legend is almost at an end.', `VerifiedBuild`=0 WHERE `ID`=8801; UPDATE `quest_request_items` SET `CompletionText`='$G Lord:Lady; $N, you have freed us of its grasp.', `VerifiedBuild`=0 WHERE `ID`=8801; From 8dc0827b55668c293530fb48e0320d3af9cb1bed Mon Sep 17 00:00:00 2001 From: Mattia Date: Sun, 22 Sep 2024 13:57:20 +0200 Subject: [PATCH 039/119] fix(DB/Creature): [Loot] Unyielding mobs low drop of Runecloth (#19910) * fix(DB/Creature): chances items changed * fix: edit items chances and set GroupId --- .../pending_db_world/2024_09_08_00.sql | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 data/sql/updates/pending_db_world/2024_09_08_00.sql diff --git a/data/sql/updates/pending_db_world/2024_09_08_00.sql b/data/sql/updates/pending_db_world/2024_09_08_00.sql new file mode 100644 index 00000000000000..26dc39cf39b3ca --- /dev/null +++ b/data/sql/updates/pending_db_world/2024_09_08_00.sql @@ -0,0 +1,40 @@ +-- Unyielding Footman + +-- Runecloth chance 50 (chance was 20) +UPDATE `creature_loot_template` +SET `Chance` = 50, `GroupId` = 1 +WHERE `Entry` = 16904 AND `Item` = 14047; + +-- Netherweave Cloth chance 25 (chance was 60) +UPDATE `creature_loot_template` +SET `Chance` = 25, `GroupId` = 1 +WHERE `Entry` = 16904 AND `Item` = 21877; + + + +-- Unyielding Sorcerer + +-- Runecloth chance 50 (chance was 20) +UPDATE `creature_loot_template` +SET `Chance` = 50, `GroupId` = 1 +WHERE `Entry` = 16905 AND `Item` = 14047; + +-- Netherweave Cloth chance 25 (chance was 60) +UPDATE `creature_loot_template` +SET `Chance` = 25, `GroupId` = 1 +WHERE `Entry` = 16905 AND `Item` = 21877; + + + +-- Unyielding Knight + +-- Runecloth chance 50 (chance was 20) +UPDATE `creature_loot_template` +SET `Chance` = 50, `GroupId` = 1 +WHERE `Entry` = 16906 AND `Item` = 14047; + +-- Netherweave Cloth chance 25 (chance was 60) +UPDATE `creature_loot_template` +SET `Chance` = 25, `GroupId` = 1 +WHERE `Entry` = 16906 AND `Item` = 21877; + From b8fb0ae847da187f643ec17d8a0ae3a33229d01f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 22 Sep 2024 11:58:12 +0000 Subject: [PATCH 040/119] chore(DB): import pending files Referenced commit(s): 8dc0827b55668c293530fb48e0320d3af9cb1bed --- .../2024_09_08_00.sql => db_world/2024_09_22_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/2024_09_08_00.sql => db_world/2024_09_22_01.sql} (95%) diff --git a/data/sql/updates/pending_db_world/2024_09_08_00.sql b/data/sql/updates/db_world/2024_09_22_01.sql similarity index 95% rename from data/sql/updates/pending_db_world/2024_09_08_00.sql rename to data/sql/updates/db_world/2024_09_22_01.sql index 26dc39cf39b3ca..82277f004e00ed 100644 --- a/data/sql/updates/pending_db_world/2024_09_08_00.sql +++ b/data/sql/updates/db_world/2024_09_22_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_22_00 -> 2024_09_22_01 -- Unyielding Footman -- Runecloth chance 50 (chance was 20) From 8566e4ace3bd1f68c47781e19206b0f06d4ca3be Mon Sep 17 00:00:00 2001 From: chaosua <544218+chaosua@users.noreply.github.com> Date: Sun, 22 Sep 2024 15:43:38 +0300 Subject: [PATCH 041/119] fix(DB/creature_text): (Pit of Saron, AzjolNerub) assign BroadcastTextId to creature_text (#18611) * (Instance:Pit of Saron) cleanup some duplicated txt lines and make use broadcast_text for localization support (Instance:AzjolNerub) added ruRU creature_text localization for Anub'arak intro (because BroadcastTextId unknown) * Update txt_line_fix.sql Remove excess line breaks * Rescued Alliance Slave connect heroic version template --------- Co-authored-by: Walter Pagani --- .../updates/pending_db_world/txt_line_fix.sql | 39 +++++++++++++++++++ .../FrozenHalls/PitOfSaron/pit_of_saron.h | 10 ++--- 2 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 data/sql/updates/pending_db_world/txt_line_fix.sql diff --git a/data/sql/updates/pending_db_world/txt_line_fix.sql b/data/sql/updates/pending_db_world/txt_line_fix.sql new file mode 100644 index 00000000000000..76eecd40be762e --- /dev/null +++ b/data/sql/updates/pending_db_world/txt_line_fix.sql @@ -0,0 +1,39 @@ +-- AzjolNerub +-- Anubarak 29120 txt line ruRU loc (BroadcastTextId unknown) +DELETE FROM `creature_text_locale` WHERE `CreatureID`=29120 AND `GroupID`=5 AND `ID`=0 AND `locale`='ruRU' ; +INSERT INTO `creature_text_locale` (`CreatureID`, `GroupID`, `ID`, `Locale`, `Text`) VALUES +(29120, 5, 0, 'ruRU', 'Я был королем этой империи, когдато. При жизни я был героем смерти, я вернулся завоевателем. Теперь я снова оберегаю это королевство. Забавно, неправда ли?'); + +-- Pit of Saron +-- Lady Sylvanas Windrunner 36990 use localized lines +UPDATE `creature_text` SET `BroadcastTextId` = 37393 WHERE `CreatureID` = 36990 AND `GroupID`=7 AND `ID`=0; + +-- Gorkun Ironskull 37320 use localized lines +UPDATE `creature_text` SET `BroadcastTextId` = 37320 WHERE `CreatureID` = 37581 AND `GroupID`=61 AND `ID`=0; +UPDATE `creature_text` SET `BroadcastTextId` = 37321 WHERE `CreatureID` = 37581 AND `GroupID`=62 AND `ID`=0; + +-- Rescued Horde Slave 36889 use localized lines +UPDATE `creature_text` SET `BroadcastTextId` = 36718 WHERE `CreatureID` = 36889 AND `GroupID`=0 AND `ID`=0; +-- connect heroic version template +UPDATE `creature_template` SET `difficulty_entry_1` = 37654 WHERE `entry` = 36889; + +-- Rescued Alliance Slave connect heroic version template +UPDATE `creature_template` SET `difficulty_entry_1` = 37653 WHERE `entry` = 36888; + +-- remove duplicated line (already exist in GroupID=0 +DELETE FROM `creature_text` WHERE `CreatureID`=36993 AND `GroupID`=36 AND `ID`=0; +DELETE FROM `creature_text` WHERE `CreatureID`=36990 AND `GroupID`=37 AND `ID`=0; + +-- remove duplicated line (already exist in GroupID=1 +DELETE FROM `creature_text` WHERE `CreatureID`=36990 AND `GroupID`=40 AND `ID`=0; +DELETE FROM `creature_text` WHERE `CreatureID`=36993 AND `GroupID`=39 AND `ID`=0; + +-- remove duplicated line (already exist in GroupID=2 +DELETE FROM `creature_text` WHERE `CreatureID`=36990 AND `GroupID`=46 AND `ID`=0; + +-- update comment according to core cript +UPDATE `creature_text` SET `comment` = 'Sylvanas SAY_SYLVANAS_KRICK_1' WHERE `CreatureID` = 36990 AND `GroupID`=0 AND `ID`=0; +UPDATE `creature_text` SET `comment` = 'Sylvanas SAY_SYLVANAS_KRICK_2' WHERE `CreatureID` = 36990 AND `GroupID`=1 AND `ID`=0; +UPDATE `creature_text` SET `comment` = 'Sylvanas SAY_SYLVANAS_KRICK_3' WHERE `CreatureID` = 36990 AND `GroupID`=2 AND `ID`=0; +UPDATE `creature_text` SET `comment` = 'Jaina SAY_JAINA_KRICK_2' WHERE `CreatureID` = 36993 AND `GroupID`=1 AND `ID`=0; +UPDATE `creature_text` SET `comment` = 'Jaina SAY_JAINA_KRICK_1' WHERE `CreatureID` = 36993 AND `GroupID`=0 AND `ID`=0; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h index 312238c282bf94..648ba50e67df5c 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h @@ -244,17 +244,17 @@ const Position SBSLeaderEndPos = {823.2f, -4.4497f, 509.49f, 0.86f}; enum eSBSTexts // Ick outro { SAY_OUTRO_KRICK_1 = 6, - SAY_JAINA_KRICK_1 = 36, - SAY_SYLVANAS_KRICK_1 = 37, + SAY_JAINA_KRICK_1 = 0, + SAY_SYLVANAS_KRICK_1 = 0, SAY_OUTRO_KRICK_2 = 7, - SAY_JAINA_KRICK_2 = 39, - SAY_SYLVANAS_KRICK_2 = 40, + SAY_JAINA_KRICK_2 = 1, + SAY_SYLVANAS_KRICK_2 = 1, SAY_OUTRO_KRICK_3 = 8, SAY_TYRANNUS_KRICK_1 = 0, SAY_OUTRO_KRICK_4 = 9, SAY_TYRANNUS_KRICK_2 = 1, SAY_JAINA_KRICK_3 = 45, - SAY_SYLVANAS_KRICK_3 = 46, + SAY_SYLVANAS_KRICK_3 = 2, }; /************ From f917b9657441d1a802b5637d6fb0945e9f67350a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 22 Sep 2024 12:44:37 +0000 Subject: [PATCH 042/119] chore(DB): import pending files Referenced commit(s): 8566e4ace3bd1f68c47781e19206b0f06d4ca3be --- .../txt_line_fix.sql => db_world/2024_09_22_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/txt_line_fix.sql => db_world/2024_09_22_02.sql} (98%) diff --git a/data/sql/updates/pending_db_world/txt_line_fix.sql b/data/sql/updates/db_world/2024_09_22_02.sql similarity index 98% rename from data/sql/updates/pending_db_world/txt_line_fix.sql rename to data/sql/updates/db_world/2024_09_22_02.sql index 76eecd40be762e..4b2a8bfbd3d0b5 100644 --- a/data/sql/updates/pending_db_world/txt_line_fix.sql +++ b/data/sql/updates/db_world/2024_09_22_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_22_01 -> 2024_09_22_02 -- AzjolNerub -- Anubarak 29120 txt line ruRU loc (BroadcastTextId unknown) DELETE FROM `creature_text_locale` WHERE `CreatureID`=29120 AND `GroupID`=5 AND `ID`=0 AND `locale`='ruRU' ; From 78cc255f43fd382df6629a315bf2486cf075ea8a Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 22 Sep 2024 14:52:19 -0300 Subject: [PATCH 043/119] =?UTF-8?q?fix(Core/Spells):=20Fix=20Fatal=20Attra?= =?UTF-8?q?ction=20procing=20multiple=20times=20for=20eac=E2=80=A6=20(#200?= =?UTF-8?q?14)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Core/Spells): Fix Fatal Attraction procing multiple times for each player nearby --- src/server/game/Spells/SpellInfoCorrections.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 9cf614e11b44f6..21b0ee636f7593 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4837,6 +4837,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_ACTION_DURING_CHANNEL; }); + // Fatal Attraction + ApplySpellFix({ 40870 }, [](SpellInfo* spellInfo) + { + spellInfo->MaxAffectedTargets = 1; + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; From 2625f8c57ca0decfa407deb2c036ffd155b6528e Mon Sep 17 00:00:00 2001 From: Maxlytrius <44470484+Maxlytrius@users.noreply.github.com> Date: Sun, 22 Sep 2024 20:38:57 +0200 Subject: [PATCH 044/119] fix(DB/Item): Buycount adjustment for Star's Lament and Star's Tear (#18887) Create starstearlament.sql --- data/sql/updates/pending_db_world/starstearlament.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/sql/updates/pending_db_world/starstearlament.sql diff --git a/data/sql/updates/pending_db_world/starstearlament.sql b/data/sql/updates/pending_db_world/starstearlament.sql new file mode 100644 index 00000000000000..09ddc2497ca6ec --- /dev/null +++ b/data/sql/updates/pending_db_world/starstearlament.sql @@ -0,0 +1,3 @@ + +UPDATE `item_template` SET `BuyCount` = 20 WHERE (`entry` = 32453); +UPDATE `item_template` SET `BuyCount` = 5 WHERE (`entry` = 32455); From 014602c849a3310bdae6feda8f6fd695878f1eb5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 22 Sep 2024 18:39:51 +0000 Subject: [PATCH 045/119] chore(DB): import pending files Referenced commit(s): 2625f8c57ca0decfa407deb2c036ffd155b6528e --- .../starstearlament.sql => db_world/2024_09_22_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/starstearlament.sql => db_world/2024_09_22_03.sql} (75%) diff --git a/data/sql/updates/pending_db_world/starstearlament.sql b/data/sql/updates/db_world/2024_09_22_03.sql similarity index 75% rename from data/sql/updates/pending_db_world/starstearlament.sql rename to data/sql/updates/db_world/2024_09_22_03.sql index 09ddc2497ca6ec..a433e62ec71c72 100644 --- a/data/sql/updates/pending_db_world/starstearlament.sql +++ b/data/sql/updates/db_world/2024_09_22_03.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_22_02 -> 2024_09_22_03 UPDATE `item_template` SET `BuyCount` = 20 WHERE (`entry` = 32453); UPDATE `item_template` SET `BuyCount` = 5 WHERE (`entry` = 32455); From aab91777601ba88813dc777bca144edd2242a4d4 Mon Sep 17 00:00:00 2001 From: Ceikry <61421472+Ceikry@users.noreply.github.com> Date: Mon, 23 Sep 2024 05:30:08 -0500 Subject: [PATCH 046/119] fix(DB/Quest) - Omit deprecated Pledge of Secrecy from Goblin and Gnome Engineering Questlines. (#19577) * Add level adjustments for Pledge of Secrecy 30->20 * quest_template_addon -> quest_template * nvim lowercased everything * Update to remove the Pledge of Secrecy from the chain instead * Set RewardNextQuest for other horde breadcrumbs as well --- .../rev_1723083294200919589.sql | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1723083294200919589.sql diff --git a/data/sql/updates/pending_db_world/rev_1723083294200919589.sql b/data/sql/updates/pending_db_world/rev_1723083294200919589.sql new file mode 100644 index 00000000000000..fee9e07c0b60fd --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1723083294200919589.sql @@ -0,0 +1,26 @@ +-- Bug Report #19575 + +-- Unlink from engineering quest chain: +-- 3638 (Goblin Engineering - Pledge of Secrecy) +-- 3640 (gnome engineering - pledge of secrecy, alliance) +-- 3642 (gnome engineering - pledge of secrecy, horde) +UPDATE `quest_template` SET `RewardNextQuest`=0 WHERE `ID`=3638 OR `ID`=3640 OR `ID`=3642; +UPDATE `quest_template` SET `RewardNextQuest`=3639 WHERE `ID`=3526 OR `ID`=3629 OR `ID`=3633 OR `ID`=4181; +UPDATE `quest_template` SET `RewardNextQuest`=3641 WHERE `ID`=3630 OR `ID`=3632 OR `ID`=3634; +UPDATE `quest_template` SET `RewardNextQuest`=3643 WHERE `ID`=3635 OR `ID`=3637; + +-- Remove Pledge of Secrecy from creature_queststarter +DELETE FROM `creature_queststarter` WHERE `quest`=3638 OR `quest`=3640 OR `quest`=3642; +-- Remove Pledge of Secrecy from creature_questender +DELETE FROM `creature_questender` WHERE `quest`=3638 OR `quest`=3640 OR `quest`=3642; + +-- Link quests together: +-- 3526, 3629, 3633, 4181 (Goblin Engineering) -> 3639 (Goblin Engineering - Show Your Work) +UPDATE `quest_template_addon` SET `PrevQuestID`=3633 WHERE `ID`=3639; +UPDATE `quest_template_addon` SET `NextQuestID`=3639 WHERE `ID`=3526 OR `ID`=3629 OR `ID`=3633 OR `ID`=4181; +-- 3630, 3632, 3634 (Gnome Engineering - Alliance) -> 3641 (Gnome Engineering - Show Your Work - Alliance) +UPDATE `quest_template_addon` SET `PrevQuestID`=3634 WHERE `ID`=3641; +UPDATE `quest_template_addon` SET `NextQuestID`=3641 WHERE `ID`=3630 OR `ID`=3632 OR `ID`=3634; +-- 3635, 3637 (Gnome Engineering - Horde) -> 3643 (Gnome Engineering - Show Your Work - Horde) +UPDATE `quest_template_addon` SET `PrevQuestID`=3635 WHERE `ID`=3643; +UPDATE `quest_template_addon` SET `NextQuestID`=3643 WHERE `ID`=3635 OR `ID`=3637; From e58c9cba422d06d76d11b835bd9f376fd525e1dd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Sep 2024 10:31:03 +0000 Subject: [PATCH 047/119] chore(DB): import pending files Referenced commit(s): aab91777601ba88813dc777bca144edd2242a4d4 --- .../rev_1723083294200919589.sql => db_world/2024_09_23_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1723083294200919589.sql => db_world/2024_09_23_00.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1723083294200919589.sql b/data/sql/updates/db_world/2024_09_23_00.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1723083294200919589.sql rename to data/sql/updates/db_world/2024_09_23_00.sql index fee9e07c0b60fd..5455e1901fa2c9 100644 --- a/data/sql/updates/pending_db_world/rev_1723083294200919589.sql +++ b/data/sql/updates/db_world/2024_09_23_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_22_03 -> 2024_09_23_00 -- Bug Report #19575 -- Unlink from engineering quest chain: From 511235cca3ae8e658a018ca81745226a25b8b9be Mon Sep 17 00:00:00 2001 From: Grimgravy Date: Mon, 23 Sep 2024 09:05:11 -0300 Subject: [PATCH 048/119] fix(Scripts/Quest): Fires Over Skettis (#19567) * fix(Scripts/Quest): Fires Over Skettis * Update spell_item.cpp --------- --- .../rev_1722989630849981700.sql | 8 ++++ src/server/scripts/Spells/spell_item.cpp | 41 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1722989630849981700.sql diff --git a/data/sql/updates/pending_db_world/rev_1722989630849981700.sql b/data/sql/updates/pending_db_world/rev_1722989630849981700.sql new file mode 100644 index 00000000000000..90f862a809f10c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1722989630849981700.sql @@ -0,0 +1,8 @@ +-- +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_skyguard_blasting_charges'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(39844, 'spell_item_skyguard_blasting_charges'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 17) AND (`SourceGroup` = 0) AND (`SourceEntry` = 39844) AND (`SourceId` = 0) AND (`ElseGroup` = 0) AND (`ConditionTypeOrReference` = 30) AND (`ConditionTarget` = 0) AND (`ConditionValue1` = 185549) AND (`ConditionValue2` = 30) AND (`ConditionValue3` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(17, 0, 39844, 0, 0, 30, 0, 185549, 30, 0, 0, 0, 0, '', ' Launch a blasting charge from your flying mount at monstrous kaliri eggs.'); diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index 4a92e2a13cd117..5b50c509e449a8 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -4051,6 +4051,46 @@ class spell_item_gor_dreks_ointment : public SpellScript } }; +enum Skettis +{ + QUEST_FIRES_OVER_SKETTIS = 11008 +}; + +class spell_item_skyguard_blasting_charges : public SpellScript +{ + PrepareSpellScript(spell_item_skyguard_blasting_charges); + + void HandleOpenObject(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + if (GameObject* go = GetHitGObj()) + go->UseDoorOrButton(); + } + + void HandleDummy(SpellEffIndex /*effIndex*/) + { + if (Unit* kaliri = GetHitUnit()) + kaliri->ToCreature()->DespawnOrUnsummon(0s, 30s); + } + + SpellCastResult CheckQuest() + { + if (Player* playerCaster = GetCaster()->ToPlayer()) + { + if (playerCaster->GetQuestStatus(QUEST_FIRES_OVER_SKETTIS) == QUEST_STATUS_INCOMPLETE) + return SPELL_CAST_OK; + } + return SPELL_FAILED_DONT_REPORT; + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_item_skyguard_blasting_charges::HandleOpenObject, EFFECT_1, SPELL_EFFECT_ACTIVATE_OBJECT); + OnEffectHitTarget += SpellEffectFn(spell_item_skyguard_blasting_charges::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); + OnCheckCast += SpellCheckCastFn(spell_item_skyguard_blasting_charges::CheckQuest); + } +}; + void AddSC_item_spell_scripts() { RegisterSpellScript(spell_item_massive_seaforium_charge); @@ -4175,4 +4215,5 @@ void AddSC_item_spell_scripts() RegisterSpellAndAuraScriptPair(spell_item_eye_of_grillok, spell_item_eye_of_grillok_aura); RegisterSpellScript(spell_item_fel_mana_potion); RegisterSpellScript(spell_item_gor_dreks_ointment); + RegisterSpellScript(spell_item_skyguard_blasting_charges); } From 0858c8bbc0c30993ebe60fabe6e5d6d153fc0cf6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Sep 2024 12:06:09 +0000 Subject: [PATCH 049/119] chore(DB): import pending files Referenced commit(s): 511235cca3ae8e658a018ca81745226a25b8b9be --- .../rev_1722989630849981700.sql => db_world/2024_09_23_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1722989630849981700.sql => db_world/2024_09_23_01.sql} (95%) diff --git a/data/sql/updates/pending_db_world/rev_1722989630849981700.sql b/data/sql/updates/db_world/2024_09_23_01.sql similarity index 95% rename from data/sql/updates/pending_db_world/rev_1722989630849981700.sql rename to data/sql/updates/db_world/2024_09_23_01.sql index 90f862a809f10c..8f8a23d9236749 100644 --- a/data/sql/updates/pending_db_world/rev_1722989630849981700.sql +++ b/data/sql/updates/db_world/2024_09_23_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_23_00 -> 2024_09_23_01 -- DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_skyguard_blasting_charges'; INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES From 0e9fb5946b9e7bc1ef3bc86ab50367a30b85d78d Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:21:30 -0300 Subject: [PATCH 050/119] =?UTF-8?q?fix(Scripts/BlackTemple):=20Fix=20Fatal?= =?UTF-8?q?=20Attraction=20not=20being=20removed=20if=20t=E2=80=A6=20(#200?= =?UTF-8?q?21)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/BlackTemple): Fix Fatal Attraction not being removed if targets move apart --- .../scripts/Outland/BlackTemple/boss_mother_shahraz.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index 830447c8da54c2..31bf701687f5c1 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -235,7 +235,13 @@ class spell_mother_shahraz_fatal_attraction_dummy : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo({ SPELL_FATAL_ATTRACTION_DAMAGE }); + return ValidateSpellInfo({ SPELL_FATAL_ATTRACTION_DAMAGE, SPELL_FATAL_ATTRACTION_AURA }); + } + + void FilterTargets(std::list& targets) + { + if (targets.empty()) + GetCaster()->RemoveAurasDueToSpell(SPELL_FATAL_ATTRACTION_AURA); } void HandleDummy(SpellEffIndex /*effIndex*/) @@ -255,6 +261,7 @@ class spell_mother_shahraz_fatal_attraction_dummy : public SpellScript void Register() override { + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mother_shahraz_fatal_attraction_dummy::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ALLY); OnEffectHitTarget += SpellEffectFn(spell_mother_shahraz_fatal_attraction_dummy::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); } }; From b67a409badf5d41300bf0c9948cf54c3d7292385 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Mon, 23 Sep 2024 20:58:00 +0200 Subject: [PATCH 051/119] refactor(Core/Database): improve abort messages for mysql errors (#20013) * refactor(Core/Database): improve abort messages for mysql errors * Update MySQLConnection.cpp --- .../database/Database/MySQLConnection.cpp | 38 +++++++++++-------- .../database/Database/MySQLConnection.h | 2 +- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp index 7303ea82fa7262..ebe2bb894adc7b 100644 --- a/src/server/database/Database/MySQLConnection.cpp +++ b/src/server/database/Database/MySQLConnection.cpp @@ -188,7 +188,7 @@ bool MySQLConnection::Execute(std::string_view sql) LOG_INFO("sql.sql", "SQL: {}", sql); LOG_ERROR("sql.sql", "[{}] {}", lErrno, mysql_error(m_Mysql)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_error(m_Mysql))) // If it returns true, an error was handled successfully (i.e. reconnection) return Execute(sql); // Try again return false; @@ -226,7 +226,7 @@ bool MySQLConnection::Execute(PreparedStatementBase* stmt) uint32 lErrno = mysql_errno(m_Mysql); LOG_ERROR("sql.sql", "SQL(p): {}\n [ERROR]: [{}] {}", m_mStmt->getQueryString(), lErrno, mysql_stmt_error(msql_STMT)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_stmt_error(msql_STMT))) // If it returns true, an error was handled successfully (i.e. reconnection) return Execute(stmt); // Try again m_mStmt->ClearParameters(); @@ -238,7 +238,7 @@ bool MySQLConnection::Execute(PreparedStatementBase* stmt) uint32 lErrno = mysql_errno(m_Mysql); LOG_ERROR("sql.sql", "SQL(p): {}\n [ERROR]: [{}] {}", m_mStmt->getQueryString(), lErrno, mysql_stmt_error(msql_STMT)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_stmt_error(msql_STMT))) // If it returns true, an error was handled successfully (i.e. reconnection) return Execute(stmt); // Try again m_mStmt->ClearParameters(); @@ -278,7 +278,7 @@ bool MySQLConnection::_Query(PreparedStatementBase* stmt, MySQLPreparedStatement uint32 lErrno = mysql_errno(m_Mysql); LOG_ERROR("sql.sql", "SQL(p): {}\n [ERROR]: [{}] {}", m_mStmt->getQueryString(), lErrno, mysql_stmt_error(msql_STMT)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_stmt_error(msql_STMT))) // If it returns true, an error was handled successfully (i.e. reconnection) return _Query(stmt, mysqlStmt, pResult, pRowCount, pFieldCount); // Try again m_mStmt->ClearParameters(); @@ -290,7 +290,7 @@ bool MySQLConnection::_Query(PreparedStatementBase* stmt, MySQLPreparedStatement uint32 lErrno = mysql_errno(m_Mysql); LOG_ERROR("sql.sql", "SQL(p): {}\n [ERROR]: [{}] {}", m_mStmt->getQueryString(), lErrno, mysql_stmt_error(msql_STMT)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_stmt_error(msql_STMT))) // If it returns true, an error was handled successfully (i.e. reconnection) return _Query(stmt, mysqlStmt, pResult, pRowCount, pFieldCount); // Try again m_mStmt->ClearParameters(); @@ -338,7 +338,7 @@ bool MySQLConnection::_Query(std::string_view sql, MySQLResult** pResult, MySQLF LOG_INFO("sql.sql", "SQL: {}", sql); LOG_ERROR("sql.sql", "[{}] {}", lErrno, mysql_error(m_Mysql)); - if (_HandleMySQLErrno(lErrno)) // If it returns true, an error was handled successfully (i.e. reconnection) + if (_HandleMySQLErrno(lErrno, mysql_error(m_Mysql))) // If it returns true, an error was handled successfully (i.e. reconnection) return _Query(sql, pResult, pFields, pRowCount, pFieldCount); // We try again return false; @@ -553,8 +553,9 @@ PreparedResultSet* MySQLConnection::Query(PreparedStatementBase* stmt) return new PreparedResultSet(mysqlStmt->GetSTMT(), result, rowCount, fieldCount); } -bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) +bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, char const* err, uint8 attempts /*= 5*/) { + std::string str = ""; switch (errNo) { case CR_SERVER_GONE_ERROR: @@ -582,9 +583,10 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) // Don't remove 'this' pointer unless you want to skip loading all prepared statements... if (!this->PrepareStatements()) { - LOG_FATAL("sql.sql", "Could not re-prepare statements!"); + str = "Could not re-prepare statements!"; + LOG_FATAL("sql.sql", "{}", str); std::this_thread::sleep_for(10s); - ABORT(); + ABORT("{}\n\n[{}] {}", str, errNo, err); } LOG_INFO("sql.sql", "Successfully reconnected to {} @{}:{} ({}).", @@ -599,19 +601,21 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) { // Shut down the server when the mysql server isn't // reachable for some time - LOG_FATAL("sql.sql", "Failed to reconnect to the MySQL server, terminating the server to prevent data corruption!"); + str = "Failed to reconnect to the MySQL server, terminating the server to prevent data corruption!"; + LOG_FATAL("sql.sql", "{}", str); // We could also initiate a shutdown through using std::raise(SIGTERM) std::this_thread::sleep_for(10s); - ABORT(); + ABORT("{}\n\n[{}] {}", str, errNo, err); } else { // It's possible this attempted reconnect throws 2006 at us. // To prevent crazy recursive calls, sleep here. std::this_thread::sleep_for(3s); // Sleep 3 seconds - return _HandleMySQLErrno(lErrno, attempts); // Call self (recursive) + return _HandleMySQLErrno(lErrno, mysql_error(m_Mysql), attempts); // Call self (recursive) } + [[fallthrough]]; } case ER_LOCK_DEADLOCK: @@ -625,14 +629,16 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) // Outdated table or database structure - terminate core case ER_BAD_FIELD_ERROR: case ER_NO_SUCH_TABLE: - LOG_ERROR("sql.sql", "Your database structure is not up to date. Please make sure you've executed all queries in the sql/updates folders."); + str = "Your database structure is not up to date. Please make sure you've executed all queries in the sql/updates folders."; + LOG_FATAL("sql.sql", "{}", str); std::this_thread::sleep_for(10s); - ABORT(); + ABORT("{}\n\n[{}] {}", str, errNo, err); return false; case ER_PARSE_ERROR: - LOG_ERROR("sql.sql", "Error while parsing SQL. Core fix required."); + str = "Error while parsing SQL. Core fix required."; + LOG_FATAL("sql.sql", "{}", str); std::this_thread::sleep_for(10s); - ABORT(); + ABORT("{}\n\n[{}] {}", str, errNo, err); return false; default: LOG_ERROR("sql.sql", "Unhandled MySQL errno {}. Unexpected behaviour possible.", errNo); diff --git a/src/server/database/Database/MySQLConnection.h b/src/server/database/Database/MySQLConnection.h index 2249aafce25bd0..9241b7123f467a 100644 --- a/src/server/database/Database/MySQLConnection.h +++ b/src/server/database/Database/MySQLConnection.h @@ -99,7 +99,7 @@ friend class PingOperation; void PrepareStatement(uint32 index, std::string_view sql, ConnectionFlags flags); virtual void DoPrepareStatements() = 0; - virtual bool _HandleMySQLErrno(uint32 errNo, uint8 attempts = 5); + virtual bool _HandleMySQLErrno(uint32 errNo, char const* err = "", uint8 attempts = 5); typedef std::vector> PreparedStatementContainer; From d0178bb735912ddabbfeda740ece32dff16c5c01 Mon Sep 17 00:00:00 2001 From: Ed Date: Mon, 23 Sep 2024 15:02:45 -0500 Subject: [PATCH 052/119] fix(DB/Creature Loot) - Update Eye and Hound Culuthas loot tables (#19706) --- .../pending_db_world/rev_1724384703130549345.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1724384703130549345.sql diff --git a/data/sql/updates/pending_db_world/rev_1724384703130549345.sql b/data/sql/updates/pending_db_world/rev_1724384703130549345.sql new file mode 100644 index 00000000000000..768ed03377e271 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1724384703130549345.sql @@ -0,0 +1,11 @@ +-- Updating loot for Hound of Culuthas (Entry: 20141) +DELETE FROM `creature_loot_template` WHERE `Entry` = 20141 AND `Item` IN (25418, 25421); +INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES +(20141, 25418, 0, 80, 0, 1, 2, 1, 1, 'Hound of Culuthas - Razor Sharp Fang'), +(20141, 25421, 0, 0, 0, 1, 2, 1, 1, 'Hound of Culuthas - Gnarled Claw'); + +-- Updating loot for Eye of Culuthas (Entry: 20394) +DELETE FROM `creature_loot_template` WHERE `Entry` = 20394 AND `Item` IN (29799, 29800); +INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES +(20394, 29799, 0, 80, 0, 1, 2, 1, 1, 'Eye of Culuthas - Lifeless Tendril'), +(20394, 29800, 0, 0, 0, 1, 2, 1, 1, 'Eye of Culuthas - Evil Eye'); From 62509abd1d55ceaa7f7451d19d90ee06620a2056 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 23 Sep 2024 20:05:02 +0000 Subject: [PATCH 053/119] chore(DB): import pending files Referenced commit(s): d0178bb735912ddabbfeda740ece32dff16c5c01 --- .../rev_1724384703130549345.sql => db_world/2024_09_23_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1724384703130549345.sql => db_world/2024_09_23_02.sql} (95%) diff --git a/data/sql/updates/pending_db_world/rev_1724384703130549345.sql b/data/sql/updates/db_world/2024_09_23_02.sql similarity index 95% rename from data/sql/updates/pending_db_world/rev_1724384703130549345.sql rename to data/sql/updates/db_world/2024_09_23_02.sql index 768ed03377e271..d85dc777339d6c 100644 --- a/data/sql/updates/pending_db_world/rev_1724384703130549345.sql +++ b/data/sql/updates/db_world/2024_09_23_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_23_01 -> 2024_09_23_02 -- Updating loot for Hound of Culuthas (Entry: 20141) DELETE FROM `creature_loot_template` WHERE `Entry` = 20141 AND `Item` IN (25418, 25421); INSERT INTO `creature_loot_template` (`Entry`, `Item`, `Reference`, `Chance`, `QuestRequired`, `LootMode`, `GroupId`, `MinCount`, `MaxCount`, `Comment`) VALUES From d6c731f5c41a575529601363815467b0c7787416 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Tue, 24 Sep 2024 07:29:27 +0200 Subject: [PATCH 054/119] fix(DB/Event): Love is in the Air event missing Love Boat vehicles 1 (#19987) * add sql add boats remove vehicle_seat_addon stuff Co-authored-by: Dr-J * update smartAI comments with Keira3 * fix sql, make summoners invisible to players * change spellId 62011 to 'Romantic' 69352 * Update rev_1725993194571320983.sql --------- Co-authored-by: Dr-J Co-authored-by: sudlud --- .../rev_1725993194571320983.sql | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1725993194571320983.sql diff --git a/data/sql/updates/pending_db_world/rev_1725993194571320983.sql b/data/sql/updates/pending_db_world/rev_1725993194571320983.sql new file mode 100644 index 00000000000000..893d11cbcd86c1 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1725993194571320983.sql @@ -0,0 +1,177 @@ +-- +-- Boat summoners +SET @GUID := 52030; +DELETE FROM `creature` WHERE `id1` IN (37964,37981,36817) AND (`guid` BETWEEN @GUID AND @GUID+2); +INSERT INTO `creature` (`guid`, `id1`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `VerifiedBuild`) VALUES +(@GUID, 37964, 0, 0, 0, 1, 1, 0, 1484.662, 348.019, -64.54687, 0.8377581, 120, 0, 0, 1, 0, 0, 0, 0, 0, 0), +(@GUID+1, 37981, 1, 0, 0, 1, 1, 0, 9843.134, 2430.733, 1313.6, 5.5676, 120, 0, 0, 1, 0, 0, 0, 0, 0, 0), +(@GUID+2, 36817, 0, 0, 0, 1, 1, 0, -8796.021, 775.0364, 95.22309, 0.01745329, 120, 0, 0, 1, 0, 0, 0, 0, 0, 0); + +DELETE FROM `game_event_creature` WHERE `eventEntry`=8 AND `guid` BETWEEN @GUID AND @GUID+2; +INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES +(8, @GUID), +(8, @GUID+1), +(8, @GUID+2); + +UPDATE `creature_template` SET `npcflag`=16777216,`VehicleId`=616,`IconName`='vehichleCursor' WHERE `entry`=37966; +UPDATE `creature_template` SET `npcflag`=16777216,`VehicleId`=615,`IconName`='vehichleCursor' WHERE `entry`=37980; +UPDATE `creature_template` SET `npcflag`=16777216,`VehicleId`=548,`IconName`='vehichleCursor' WHERE `entry`=36812; + +-- trigger NPC, make invisible to players +UPDATE `creature_template` SET `flags_extra` = `flags_extra` | 128 WHERE (`entry` IN (36817, 37964, 37981)); + +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` IN (37966,37964,37981,37980,36817,36812); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (37966,37964,37980,37981,36817,36812) AND `source_type`=0; + +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(36812, 0, 0, 0, 1, 0, 100, 1, 5000, 5000, 0, 0, 0, 0, 53, 0, 36812, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - Out of Combat - Start Waypoint Path 36812 (No Repeat)'), +(36812, 0, 1, 2, 40, 0, 100, 0, 21, 36812, 0, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Point 21 of Path 36812 Reached - Cast \'Eject All Passengers\''), +(36812, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Point 21 of Path 36812 Reached - Despawn In 2000 ms'), +(36812, 0, 3, 4, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 70143, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Just Summoned - Cast \'Vehicle Test\''), +(36812, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Just Summoned - Set Active On'), +(36812, 0, 5, 0, 1, 0, 100, 0, 0, 0, 3000, 3000, 0, 0, 75, 69341, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - Out of Combat - Add Aura \'Love Boat\''), +(36812, 0, 6, 0, 23, 0, 100, 0, 69342, 2, 1000, 1000, 0, 0, 75, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Aura \'Ride Vehicle\' - Add Aura \'Romantic\''), +(36812, 0, 7, 0, 28, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Stormwind Love Boat - On Passenger Removed - Remove Aura \'Romantic\''), +(37966, 0, 0, 0, 1, 0, 100, 1, 5000, 5000, 0, 0, 0, 0, 53, 0, 37966, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - Out of Combat - Start Waypoint Path 37966 (No Repeat)'), +(37966, 0, 1, 2, 40, 0, 100, 0, 31, 37966, 0, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Point 31 of Path 37966 Reached - Cast \'Eject All Passengers\''), +(37966, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Point 31 of Path 37966 Reached - Despawn In 2000 ms'), +(37966, 0, 3, 4, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 70143, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Just Summoned - Cast \'Vehicle Test\''), +(37966, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Just Summoned - Set Active On'), +(37966, 0, 5, 0, 1, 0, 100, 0, 0, 0, 3000, 3000, 0, 0, 75, 69341, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - Out of Combat - Add Aura \'Love Boat\''), +(37966, 0, 6, 0, 23, 0, 100, 0, 69342, 2, 1000, 1000, 0, 0, 75, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Aura \'Ride Vehicle\' - Add Aura \'Romantic\''), +(37966, 0, 7, 0, 28, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Undercity Love Boat - On Passenger Removed - Remove Aura \'Romantic\''), +(37980, 0, 0, 0, 1, 0, 100, 1, 5000, 5000, 0, 0, 0, 0, 53, 0, 37980, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - Out of Combat - Start Waypoint Path 37980 (No Repeat)'), +(37980, 0, 1, 2, 40, 0, 100, 0, 60, 37980, 0, 0, 0, 0, 11, 50630, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Point 60 of Path 37980 Reached - Cast \'Eject All Passengers\''), +(37980, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Point 60 of Path 37980 Reached - Despawn In 2000 ms'), +(37980, 0, 3, 4, 54, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 70143, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Just Summoned - Cast \'Vehicle Test\''), +(37980, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Just Summoned - Set Active On'), +(37980, 0, 5, 0, 1, 0, 100, 0, 0, 0, 3000, 3000, 0, 0, 75, 69341, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - Out of Combat - Add Aura \'Love Boat\''), +(37980, 0, 6, 0, 23, 0, 100, 0, 69342, 2, 1000, 1000, 0, 0, 75, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Aura \'Ride Vehicle\' - Add Aura \'Romantic\''), +(37980, 0, 7, 0, 28, 0, 100, 0, 0, 0, 0, 0, 0, 0, 28, 69352, 0, 0, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 0, 0, 'Darnassus Love Boat - On Passenger Removed - Remove Aura \'Romantic\''), +(36817, 0, 0, 0, 1, 0, 100, 0, 0, 0, 20000, 20000, 0, 0, 11, 69371, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner - Out of Combat - Cast \'Love Boat Summon\''), +(36817, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner - On Respawn - Set Active On'), +(37964, 0, 0, 0, 1, 0, 100, 0, 0, 0, 20000, 20000, 0, 0, 11, 70846, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner 02 - Out of Combat - Cast \'Love Boat Summon\''), +(37964, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner 02 - On Respawn - Set Active On'), +(37981, 0, 0, 0, 1, 0, 100, 0, 0, 0, 20000, 20000, 0, 0, 11, 70863, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner 03 - Out of Combat - Cast \'Love Boat Summon\''), +(37981, 0, 1, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, '[DND] Love Boat Summoner 03 - On Respawn - Set Active On'); + +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (37966,37980,36812); +INSERT INTO `npc_spellclick_spells` (`npc_entry`, `spell_id`, `cast_flags`, `user_type`) VALUES +(37966, 69342, 1, 0), +(37980, 69342, 1, 0), +(36812, 69342, 1, 0); + +DELETE FROM `waypoints` WHERE `entry` IN (37966,37980,36812); +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(37966, 1, 1485.332, 348.7621, -64.54687, 'Undercity Love Boat'), +(37966, 2, 1487.063, 350.9445, -64.86743, 'Undercity Love Boat'), +(37966, 3, 1494.434, 360.592, -64.86742, 'Undercity Love Boat'), +(37966, 4, 1505.792, 368.026, -64.81186, 'Undercity Love Boat'), +(37966, 5, 1520.413, 376.7361, -64.81187, 'Undercity Love Boat'), +(37966, 6, 1542.724, 389.7309, -64.81187, 'Undercity Love Boat'), +(37966, 7, 1555.352, 393.1875, -64.81187, 'Undercity Love Boat'), +(37966, 8, 1577.076, 397.1563, -64.81187, 'Undercity Love Boat'), +(37966, 9, 1618.071, 395.9705, -64.81187, 'Undercity Love Boat'), +(37966, 10, 1642.727, 391.0139, -64.81187, 'Undercity Love Boat'), +(37966, 11, 1685.007, 370.4167, -64.81187, 'Undercity Love Boat'), +(37966, 12, 1711.104, 350.4514, -64.81187, 'Undercity Love Boat'), +(37966, 13, 1738.417, 310.0278, -64.81187, 'Undercity Love Boat'), +(37966, 14, 1746.345, 286.441, -64.81187, 'Undercity Love Boat'), +(37966, 15, 1752.087, 240.5399, -64.81187, 'Undercity Love Boat'), +(37966, 16, 1750.016, 206.7309, -64.81187, 'Undercity Love Boat'), +(37966, 17, 1737.47, 167.8559, -64.81187, 'Undercity Love Boat'), +(37966, 18, 1707.885, 128.5122, -64.81187, 'Undercity Love Boat'), +(37966, 19, 1667.977, 99.80035, -64.81187, 'Undercity Love Boat'), +(37966, 20, 1624.948, 85.43229, -64.81187, 'Undercity Love Boat'), +(37966, 21, 1583.814, 83.33507, -64.81187, 'Undercity Love Boat'), +(37966, 22, 1539.444, 94.43403, -64.81187, 'Undercity Love Boat'), +(37966, 23, 1502.849, 114.3142, -64.81187, 'Undercity Love Boat'), +(37966, 24, 1482.955, 132.6806, -64.81187, 'Undercity Love Boat'), +(37966, 25, 1456.214, 170.0521, -64.81187, 'Undercity Love Boat'), +(37966, 26, 1441.738, 207.8819, -64.81187, 'Undercity Love Boat'), +(37966, 27, 1438.825, 244.4427, -64.81187, 'Undercity Love Boat'), +(37966, 28, 1450.882, 299.3177, -64.81187, 'Undercity Love Boat'), +(37966, 29, 1462.38, 320.4583, -64.81187, 'Undercity Love Boat'), +(37966, 30, 1467.97, 333.1337, -64.81187, 'Undercity Love Boat'), +(37966, 31, 1471.193, 337.8559, -64.81187, 'Undercity Love Boat'), +(37980, 1, 9843.134, 2430.733, 1313.6, 'Darnassus Love Boat'), +(37980, 2, 9847.023, 2427.627, 1313.516, 'Darnassus Love Boat'), +(37980, 3, 9856.224, 2423.156, 1313.516, 'Darnassus Love Boat'), +(37980, 4, 9871.393, 2416.719, 1313.516, 'Darnassus Love Boat'), +(37980, 5, 9888.688, 2408.337, 1313.516, 'Darnassus Love Boat'), +(37980, 6, 9901.832, 2399.545, 1313.516, 'Darnassus Love Boat'), +(37980, 7, 9915.912, 2390.616, 1313.516, 'Darnassus Love Boat'), +(37980, 8, 9930.722, 2381.382, 1313.516, 'Darnassus Love Boat'), +(37980, 9, 9946.339, 2377.861, 1313.516, 'Darnassus Love Boat'), +(37980, 10, 9964.972, 2377.967, 1313.516, 'Darnassus Love Boat'), +(37980, 11, 9977.46, 2379.141, 1313.516, 'Darnassus Love Boat'), +(37980, 12, 9989.397, 2375.556, 1313.516, 'Darnassus Love Boat'), +(37980, 13, 10006.68, 2364.491, 1313.516, 'Darnassus Love Boat'), +(37980, 14, 10022.01, 2353.608, 1313.516, 'Darnassus Love Boat'), +(37980, 15, 10031.78, 2353.427, 1313.516, 'Darnassus Love Boat'), +(37980, 16, 10041.6, 2366.207, 1313.516, 'Darnassus Love Boat'), +(37980, 17, 10043.1, 2373.267, 1313.516, 'Darnassus Love Boat'), +(37980, 18, 10040.94, 2384.248, 1313.516, 'Darnassus Love Boat'), +(37980, 19, 10040.11, 2396.392, 1313.516, 'Darnassus Love Boat'), +(37980, 20, 10043.54, 2406.759, 1313.516, 'Darnassus Love Boat'), +(37980, 21, 10051.08, 2414.868, 1313.516, 'Darnassus Love Boat'), +(37980, 22, 10059.58, 2421.014, 1313.516, 'Darnassus Love Boat'), +(37980, 23, 10061.45, 2433.856, 1313.516, 'Darnassus Love Boat'), +(37980, 24, 10056.65, 2445.88, 1313.516, 'Darnassus Love Boat'), +(37980, 25, 10049.1, 2453.844, 1313.516, 'Darnassus Love Boat'), +(37980, 26, 10039.64, 2458.193, 1313.516, 'Darnassus Love Boat'), +(37980, 27, 10030.21, 2461.353, 1313.516, 'Darnassus Love Boat'), +(37980, 28, 10013.85, 2465.007, 1313.516, 'Darnassus Love Boat'), +(37980, 29, 10007.3, 2472.648, 1313.516, 'Darnassus Love Boat'), +(37980, 30, 10001.77, 2490.97, 1313.516, 'Darnassus Love Boat'), +(37980, 31, 10007.02, 2503.859, 1313.516, 'Darnassus Love Boat'), +(37980, 32, 10014.66, 2519.925, 1313.516, 'Darnassus Love Boat'), +(37980, 33, 10022.5, 2532.248, 1313.516, 'Darnassus Love Boat'), +(37980, 34, 10032.06, 2559.106, 1313.516, 'Darnassus Love Boat'), +(37980, 35, 10032.88, 2579.188, 1313.516, 'Darnassus Love Boat'), +(37980, 36, 10032.36, 2598.909, 1313.516, 'Darnassus Love Boat'), +(37980, 37, 10029.7, 2612.815, 1313.516, 'Darnassus Love Boat'), +(37980, 38, 10022.64, 2648.693, 1313.516, 'Darnassus Love Boat'), +(37980, 39, 9999.638, 2667.306, 1313.516, 'Darnassus Love Boat'), +(37980, 40, 9985.304, 2673.353, 1313.516, 'Darnassus Love Boat'), +(37980, 41, 9967.442, 2671.7, 1313.516, 'Darnassus Love Boat'), +(37980, 42, 9938.718, 2668.114, 1313.516, 'Darnassus Love Boat'), +(37980, 43, 9898.393, 2665.895, 1313.516, 'Darnassus Love Boat'), +(37980, 44, 9874.026, 2660.383, 1313.516, 'Darnassus Love Boat'), +(37980, 45, 9848.894, 2657.903, 1313.516, 'Darnassus Love Boat'), +(37980, 46, 9834.57, 2658.452, 1313.516, 'Darnassus Love Boat'), +(37980, 47, 9820.689, 2652.576, 1313.516, 'Darnassus Love Boat'), +(37980, 48, 9802.497, 2636.835, 1313.516, 'Darnassus Love Boat'), +(37980, 49, 9795.239, 2622.99, 1313.516, 'Darnassus Love Boat'), +(37980, 50, 9785.92, 2605.789, 1313.516, 'Darnassus Love Boat'), +(37980, 51, 9784.899, 2593.911, 1313.516, 'Darnassus Love Boat'), +(37980, 52, 9793.405, 2574.175, 1313.516, 'Darnassus Love Boat'), +(37980, 53, 9812.471, 2555.666, 1313.516, 'Darnassus Love Boat'), +(37980, 54, 9829.779, 2539.537, 1313.516, 'Darnassus Love Boat'), +(37980, 55, 9841.714, 2520.574, 1313.516, 'Darnassus Love Boat'), +(37980, 56, 9847.395, 2499.439, 1313.516, 'Darnassus Love Boat'), +(37980, 57, 9850.591, 2481.936, 1313.516, 'Darnassus Love Boat'), +(37980, 58, 9846.033, 2466.465, 1313.516, 'Darnassus Love Boat'), +(37980, 59, 9838.938, 2451.995, 1313.516, 'Darnassus Love Boat'), +(37980, 60, 9833.917, 2446.236, 1313.516, 'Darnassus Love Boat'), +(36812, 1, -8795.021, 775.0364, 95.22309, 'Stormwind Love Boat'), +(36812, 2, -8791.573, 776.316, 95.0583, 'Stormwind Love Boat'), +(36812, 3, -8783.189, 778.1111, 95.0583, 'Stormwind Love Boat'), +(36812, 4, -8769.04, 777.9063, 95.0583, 'Stormwind Love Boat'), +(36812, 5, -8757.161, 764.092, 95.0583, 'Stormwind Love Boat'), +(36812, 6, -8750.976, 741.6354, 95.08608, 'Stormwind Love Boat'), +(36812, 7, -8733.618, 717.3299, 95.08608, 'Stormwind Love Boat'), +(36812, 8, -8717.854, 698.5886, 95.0583, 'Stormwind Love Boat'), +(36812, 9, -8698.192, 662.2465, 95.0583, 'Stormwind Love Boat'), +(36812, 10, -8688.56, 630.1719, 95.11386, 'Stormwind Love Boat'), +(36812, 11, -8696.212, 596.9983, 95.08608, 'Stormwind Love Boat'), +(36812, 12, -8702.024, 577.2761, 95.0583, 'Stormwind Love Boat'), +(36812, 13, -8691.561, 565.0538, 95.0583, 'Stormwind Love Boat'), +(36812, 14, -8671.857, 565.382, 95.0583, 'Stormwind Love Boat'), +(36812, 15, -8646.634, 563.7743, 95.0583, 'Stormwind Love Boat'), +(36812, 16, -8631.895, 554.441, 95.0583, 'Stormwind Love Boat'), +(36812, 17, -8618.281, 557.4114, 95.0583, 'Stormwind Love Boat'), +(36812, 18, -8608.049, 577.191, 95.0583, 'Stormwind Love Boat'), +(36812, 19, -8602.768, 595.4983, 95.0583, 'Stormwind Love Boat'), +(36812, 20, -8594.357, 623.566, 95.0583, 'Stormwind Love Boat'), +(36812, 21, -8581.717, 629.7882, 95.08608, 'Stormwind Love Boat'); From 537bfb016e3931e137319e37be7577440a3c4047 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 24 Sep 2024 05:30:26 +0000 Subject: [PATCH 055/119] chore(DB): import pending files Referenced commit(s): d6c731f5c41a575529601363815467b0c7787416 --- .../rev_1725993194571320983.sql => db_world/2024_09_24_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1725993194571320983.sql => db_world/2024_09_24_00.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1725993194571320983.sql b/data/sql/updates/db_world/2024_09_24_00.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1725993194571320983.sql rename to data/sql/updates/db_world/2024_09_24_00.sql index 893d11cbcd86c1..b0cd1b918331df 100644 --- a/data/sql/updates/pending_db_world/rev_1725993194571320983.sql +++ b/data/sql/updates/db_world/2024_09_24_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_23_02 -> 2024_09_24_00 -- -- Boat summoners SET @GUID := 52030; From 7dd460581dc68582edda0f92cefa2cf3af6947c9 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Tue, 24 Sep 2024 13:21:38 +0200 Subject: [PATCH 056/119] fix(Core/Loot): Fix crash for round robin loot mode when solving quest item for offline loot owner. (#20033) --- src/server/game/Loot/LootMgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 9b714e2255d6d3..d32cb0a924c67b 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -700,7 +700,9 @@ QuestItemList* Loot::FillQuestLoot(Player* player) } // Player is not the loot owner, and loot owner still needs this quest item - if (!item.freeforall && lootOwner != player && item.AllowedForPlayer(lootOwner, sourceWorldObjectGUID)) + if (!item.freeforall && + lootOwner && lootOwner != player && + item.AllowedForPlayer(lootOwner, sourceWorldObjectGUID)) { continue; } From a7578e1cce4ec49375fd9298676a1d6263473666 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Tue, 24 Sep 2024 13:33:21 +0200 Subject: [PATCH 057/119] fix(Scripts/TheEye): Kael'thas p5 transition, flight, MotionMaster:MoveTakeoff (#20005) Co-authored-by: killerwife --- .../rev_1726786940038269786.sql | 4 + src/server/game/Movement/MotionMaster.cpp | 11 ++- src/server/game/Movement/MotionMaster.h | 4 +- .../Outland/TempestKeep/Eye/boss_kaelthas.cpp | 79 ++++++++++++------- 4 files changed, 65 insertions(+), 33 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1726786940038269786.sql diff --git a/data/sql/updates/pending_db_world/rev_1726786940038269786.sql b/data/sql/updates/pending_db_world/rev_1726786940038269786.sql new file mode 100644 index 00000000000000..5a45d22ad7be37 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1726786940038269786.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 36092; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(36092, 'spell_kaelthas_kael_explodes'); diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 39b8aa7173dfef..a8bde64e8d3287 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -520,7 +520,7 @@ void MotionMaster::MoveLand(uint32 id, float x, float y, float z, float speed /* /** * @brief Use to move the unit from the ground to the air. Doesn't work with UNIT_FLAG_DISABLE_MOVE */ -void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, float speed /* = 0.0f*/) +void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, float speed /* = 0.0f*/, bool skipAnimation) { if (_owner->HasUnitFlag(UNIT_FLAG_DISABLE_MOVE)) return; @@ -538,7 +538,10 @@ void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, float speed /* = init.SetVelocity(speed); } - init.SetAnimation(Movement::ToFly); + if (!skipAnimation) + { + init.SetAnimation(Movement::ToFly); + } init.Launch(); Mutate(new EffectMovementGenerator(id), MOTION_SLOT_ACTIVE); } @@ -546,10 +549,10 @@ void MotionMaster::MoveTakeoff(uint32 id, Position const& pos, float speed /* = /** * @brief Use to move the unit from the air to the ground. Doesn't work with UNIT_FLAG_DISABLE_MOVE */ -void MotionMaster::MoveTakeoff(uint32 id, float x, float y, float z, float speed /* = 0.0f*/) +void MotionMaster::MoveTakeoff(uint32 id, float x, float y, float z, float speed /* = 0.0f*/, bool skipAnimation) { Position pos = {x, y, z, 0.0f}; - MoveTakeoff(id, pos, speed); + MoveTakeoff(id, pos, speed, skipAnimation); } void MotionMaster::MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ) diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h index 1c3d16c393d01d..7eda4b22ff73cc 100644 --- a/src/server/game/Movement/MotionMaster.h +++ b/src/server/game/Movement/MotionMaster.h @@ -217,8 +217,8 @@ class MotionMaster //: private std::stack // These two movement types should only be used with creatures having landing/takeoff animations void MoveLand(uint32 id, Position const& pos, float speed = 0.0f); void MoveLand(uint32 id, float x, float y, float z, float speed = 0.0f); // pussywizard: added for easy calling by passing 3 floats x, y, z - void MoveTakeoff(uint32 id, Position const& pos, float speed = 0.0f); - void MoveTakeoff(uint32 id, float x, float y, float z, float speed = 0.0f); // pussywizard: added for easy calling by passing 3 floats x, y, z + void MoveTakeoff(uint32 id, Position const& pos, float speed = 0.0f, bool skipAnimation = false); + void MoveTakeoff(uint32 id, float x, float y, float z, float speed = 0.0f, bool skipAnimation = false); // pussywizard: added for easy calling by passing 3 floats x, y, z void MoveCharge(float x, float y, float z, float speed = SPEED_CHARGE, uint32 id = EVENT_CHARGE, const Movement::PointsArray* path = nullptr, bool generatePath = false, float orientation = 0.0f, ObjectGuid targetGUID = ObjectGuid::Empty); void MoveCharge(PathGenerator const& path, float speed = SPEED_CHARGE, ObjectGuid targetGUID = ObjectGuid::Empty); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index fce208869c1301..c22920f8de5311 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -92,7 +92,7 @@ enum KTSpells SPELL_KAEL_EXPLODES4 = 36354, SPELL_KAEL_EXPLODES5 = 36092, SPELL_GROW = 36184, - SPELL_KEAL_STUNNED = 36185, + SPELL_KAEL_STUNNED = 36185, SPELL_KAEL_FULL_POWER = 36187, SPELL_FLOATING_DROWNED = 36550, SPELL_DARK_BANISH_STATE = 52241, // wrong visual apparently @@ -153,8 +153,7 @@ enum KTMisc { POINT_MIDDLE = 1, POINT_AIR = 2, - POINT_LAND = 3, - POINT_START_LAST_PHASE = 4, + POINT_START_LAST_PHASE = 3, DATA_RESURRECT_CAST = 1, @@ -191,7 +190,9 @@ enum KTTransitionScene EVENT_SCENE_13 = 62, EVENT_SCENE_14 = 63, EVENT_SCENE_15 = 64, - EVENT_SCENE_16 = 65 + EVENT_SCENE_16 = 65, + EVENT_SCENE_17 = 66, + EVENT_SCENE_18 = 67 }; enum KTActions @@ -280,7 +281,7 @@ struct boss_kaelthas : public BossAI _phase = PHASE_NONE; _transitionSceneReached = false; - me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_HOVER, true); + me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_HOVER, true); // hover effect 36550 - Floating Drowned me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE); SetRoomState(GO_STATE_READY); @@ -405,13 +406,17 @@ struct boss_kaelthas : public BossAI void MovementInform(uint32 type, uint32 point) override { - if (type != POINT_MOTION_TYPE) + if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE) return; if (point == POINT_MIDDLE) { ExecuteMiddleEvent(); } + else if (point == POINT_AIR) + { + me->SetDisableGravity(true, false, false); // updating AnimationTier will break drowning animation later + } else if (point == POINT_START_LAST_PHASE) { me->SetDisableGravity(false); @@ -479,6 +484,8 @@ struct boss_kaelthas : public BossAI void ExecuteMiddleEvent() { + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE); + me->RemoveAllAttackers(); scheduler.ClearValidator(); me->SetTarget(); me->SetFacingTo(M_PI); @@ -498,7 +505,7 @@ struct boss_kaelthas : public BossAI trigger->CastSpell(me, SPELL_NETHERBEAM1 + i, false); me->SetDisableGravity(true); me->SendMovementFlagUpdate(); - me->GetMotionMaster()->MoveTakeoff(POINT_AIR, me->GetPositionX(), me->GetPositionY(), 75.0f, 2.99); + me->GetMotionMaster()->MoveTakeoff(POINT_AIR, me->GetPositionX(), me->GetPositionY(), 75.0f, 2.99, true); // AnimType Movement::ToFly does not exist for Kael DoCastSelf(SPELL_GROW, true); }, EVENT_SCENE_3); ScheduleUniqueTimedEvent(7000ms, [&] @@ -538,8 +545,6 @@ struct boss_kaelthas : public BossAI me->RemoveAurasDueToSpell(SPELL_NETHERBEAM_AURA2); me->RemoveAurasDueToSpell(SPELL_NETHERBEAM_AURA3); DoCastSelf(SPELL_KAEL_EXPLODES5, true); - DoCastSelf(SPELL_FLOATING_DROWNED); - //me->CastSpell(me, SPELL_KEAL_STUNNED, true); }, EVENT_SCENE_8); ScheduleUniqueTimedEvent(22000ms, [&] { @@ -580,25 +585,34 @@ struct boss_kaelthas : public BossAI if (Creature* trigger = me->SummonCreature(WORLD_TRIGGER, me->GetPositionX()-5, me->GetPositionY()+5, me->GetPositionZ()+15.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 60000)) trigger->CastSpell(me, SPELL_PURE_NETHER_BEAM3, true); }, EVENT_SCENE_14); - ScheduleUniqueTimedEvent(32000ms, [&] + ScheduleUniqueTimedEvent(30500ms, [&] { + me->SetFacingTo(M_PI); me->RemoveAurasDueToSpell(SPELL_FLOATING_DROWNED); - me->RemoveAurasDueToSpell(SPELL_KEAL_STUNNED); + me->CastStop(); + }, EVENT_SCENE_15); + ScheduleUniqueTimedEvent(30700ms, [&] + { + me->CastStop(); DoCastSelf(SPELL_KAEL_FULL_POWER); + }, EVENT_SCENE_16); + ScheduleUniqueTimedEvent(32000ms, [&] + { DoCastSelf(SPELL_KAEL_PHASE_TWO, true); DoCastSelf(SPELL_PURE_NETHER_BEAM4, true); DoCastSelf(SPELL_PURE_NETHER_BEAM5, true); DoCastSelf(SPELL_PURE_NETHER_BEAM6, true); - }, EVENT_SCENE_15); + }, EVENT_SCENE_17); ScheduleUniqueTimedEvent(36000ms, [&] { summons.DespawnEntry(WORLD_TRIGGER); me->CastStop(); me->GetMotionMaster()->Clear(); me->RemoveAurasDueToSpell(SPELL_DARK_BANISH_STATE); // WRONG VISUAL - me->GetMotionMaster()->MoveLand(POINT_LAND, me->GetPositionX(), me->GetPositionY(), 48.0f, 2.99f); // Moveland doesn't handle POINT_START_LAST_PHASE so we need to use MovePoint - me->GetMotionMaster()->MovePoint(POINT_START_LAST_PHASE, me->GetHomePosition(), false, true); - }, EVENT_SCENE_16); + me->SetDisableGravity(true); + me->SendMovementFlagUpdate(); + me->GetMotionMaster()->MoveLand(POINT_START_LAST_PHASE, me->GetHomePosition(), 2.99f); + }, EVENT_SCENE_18); } void IntroduceNewAdvisor(KTYells talkIntroduction, KTActions kaelAction) @@ -689,21 +703,10 @@ struct boss_kaelthas : public BossAI { _transitionSceneReached = true; scheduler.CancelAll(); + me->AttackStop(); me->CastStop(); - me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE); me->SetReactState(REACT_PASSIVE); me->GetMotionMaster()->MovePoint(POINT_MIDDLE, me->GetHomePosition(), true, true); - me->ClearUnitState(UNIT_STATE_MELEE_ATTACKING); - me->SendMeleeAttackStop(); - - ThreatContainer::StorageType threatList = me->GetThreatMgr().GetThreatList(); - for (ThreatContainer::StorageType::const_iterator i = threatList.begin(); i != threatList.end(); ++i) - { - if (Unit* target = ObjectAccessor::GetUnit(*me, (*i)->getUnitGuid())) - { - target->AttackStop(); - } - } } }); ScheduleTimedEvent(1000ms, [&] @@ -1349,6 +1352,27 @@ class spell_kaelthas_remove_enchanted_weapons : public SpellScript } }; +// 36092 - Kael Explodes +class spell_kaelthas_kael_explodes : public SpellScript +{ + PrepareSpellScript(spell_kaelthas_kael_explodes); + + void HandleScriptEffect(SpellEffIndex /*effIndex*/) + { + Unit* caster = GetCaster(); + caster->CastSpell((Unit*)nullptr, SPELL_FLOATING_DROWNED, true); + // caster->CastSpell((Unit*)nullptr, SPELL_KAEL_STUNNED, true); + caster->PlayDirectSound(3320); + caster->PlayDirectSound(10845); + caster->PlayDirectSound(6539); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_kaelthas_kael_explodes::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_boss_kaelthas() { RegisterTheEyeAI(boss_kaelthas); @@ -1368,4 +1392,5 @@ void AddSC_boss_kaelthas() RegisterSpellScript(spell_kaelthas_summon_nether_vapor); RegisterSpellScript(spell_kael_pyroblast); RegisterSpellScript(spell_kaelthas_remove_enchanted_weapons); + RegisterSpellScript(spell_kaelthas_kael_explodes); } From 97aaf8490cdde12d194558c4ee5acf037b5cd1b5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 24 Sep 2024 11:34:15 +0000 Subject: [PATCH 058/119] chore(DB): import pending files Referenced commit(s): a7578e1cce4ec49375fd9298676a1d6263473666 --- .../rev_1726786940038269786.sql => db_world/2024_09_24_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1726786940038269786.sql => db_world/2024_09_24_01.sql} (79%) diff --git a/data/sql/updates/pending_db_world/rev_1726786940038269786.sql b/data/sql/updates/db_world/2024_09_24_01.sql similarity index 79% rename from data/sql/updates/pending_db_world/rev_1726786940038269786.sql rename to data/sql/updates/db_world/2024_09_24_01.sql index 5a45d22ad7be37..fb30e0d74c1775 100644 --- a/data/sql/updates/pending_db_world/rev_1726786940038269786.sql +++ b/data/sql/updates/db_world/2024_09_24_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_24_00 -> 2024_09_24_01 -- DELETE FROM `spell_script_names` WHERE `spell_id` = 36092; INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES From dea3d44b46f6a885c196856e24046d9b490aa633 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:17:22 -0300 Subject: [PATCH 059/119] fix(Core/Spells): Prevent aura application if the target is immune (#20031) --- src/server/game/Spells/Spell.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e3ae154234d657..bde6e7b35dd8b3 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3160,6 +3160,13 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA if (m_spellAura) { + // Prevent aura application if target is immuned + if (m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->IsImmunedToDamageOrSchool(m_spellAura->GetSpellInfo())) + { + m_spellAura->Remove(); + return SPELL_MISS_IMMUNE; + } + // Set aura stack amount to desired value if (m_spellValue->AuraStackAmount > 1) { From a65be25fb94644af573c3fd6811f872674ad8b48 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 25 Sep 2024 05:33:42 -0300 Subject: [PATCH 060/119] =?UTF-8?q?fix(Scripts/BlackTemple):=20Correct=20t?= =?UTF-8?q?he=20door=20announcement=20to=20only=20annou=E2=80=A6=20(#20036?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/BlackTemple): Correct the door announcement to only announce on the first bosses --- .../Outland/BlackTemple/instance_black_temple.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index 7a60d7a375a6d2..ed520d5c3ab54a 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -178,6 +178,13 @@ class instance_black_temple : public InstanceMapScript for (ObjectGuid const& guid : ashtongueGUIDs) if (Creature* ashtongue = instance->GetCreature(guid)) ashtongue->SetFaction(FACTION_ASHTONGUE_DEATHSWORN); + [[fallthrough]]; + case DATA_TERON_GOREFIEND: + case DATA_GURTOGG_BLOODBOIL: + case DATA_RELIQUARY_OF_SOULS: + if (AllBossesDone({ DATA_SHADE_OF_AKAMA, DATA_TERON_GOREFIEND, DATA_GURTOGG_BLOODBOIL, DATA_RELIQUARY_OF_SOULS })) + if (Creature* trigger = GetCreature(DATA_BLACK_TEMPLE_TRIGGER)) + trigger->AI()->Talk(EMOTE_LOWER_TEMPLE_DEFEATED); break; case DATA_ILLIDARI_COUNCIL: if (Creature* akama = GetCreature(DATA_AKAMA_ILLIDAN)) @@ -186,10 +193,6 @@ class instance_black_temple : public InstanceMapScript default: break; } - - if (AllBossesDone({ DATA_SHADE_OF_AKAMA, DATA_TERON_GOREFIEND, DATA_GURTOGG_BLOODBOIL, DATA_RELIQUARY_OF_SOULS })) - if (Creature* trigger = GetCreature(DATA_BLACK_TEMPLE_TRIGGER)) - trigger->AI()->Talk(EMOTE_LOWER_TEMPLE_DEFEATED); } return true; } From 54f7d3f166011f2c812cb51a283596142b976bd5 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 25 Sep 2024 05:34:35 -0300 Subject: [PATCH 061/119] fix(DB/Creature): Fix Illidan walking to waypoints instead of flying (#20035) --- data/sql/updates/pending_db_world/rev_1727190899998700700.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727190899998700700.sql diff --git a/data/sql/updates/pending_db_world/rev_1727190899998700700.sql b/data/sql/updates/pending_db_world/rev_1727190899998700700.sql new file mode 100644 index 00000000000000..4fa7053c9f7d33 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727190899998700700.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `flags_extra` = `flags_extra`|512 WHERE `entry` = 22917; From 69b5ee85f669d04fc692ee2377735dc418f7f0fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 25 Sep 2024 08:34:40 +0000 Subject: [PATCH 062/119] chore(DB): import pending files Referenced commit(s): a65be25fb94644af573c3fd6811f872674ad8b48 --- .../rev_1727190899998700700.sql => db_world/2024_09_25_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727190899998700700.sql => db_world/2024_09_25_00.sql} (67%) diff --git a/data/sql/updates/pending_db_world/rev_1727190899998700700.sql b/data/sql/updates/db_world/2024_09_25_00.sql similarity index 67% rename from data/sql/updates/pending_db_world/rev_1727190899998700700.sql rename to data/sql/updates/db_world/2024_09_25_00.sql index 4fa7053c9f7d33..ab196b27d0f2b9 100644 --- a/data/sql/updates/pending_db_world/rev_1727190899998700700.sql +++ b/data/sql/updates/db_world/2024_09_25_00.sql @@ -1,2 +1,3 @@ +-- DB update 2024_09_24_01 -> 2024_09_25_00 -- UPDATE `creature_template` SET `flags_extra` = `flags_extra`|512 WHERE `entry` = 22917; From 891bcd8e00946d9d071c4c82b1475c3f0fc33e0c Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Wed, 25 Sep 2024 05:36:56 -0300 Subject: [PATCH 063/119] refactor(SQL/Quest) Rescuing the Rescuers ID 11244 (#20030) * refactor(SQL/Quest) Rescuing the Rescuers ID 11244 * fix range and max targets * Texts are added and the smart_script list is modified Co-authored-by: DEV Seaferer <91832265+edgardavid94@users.noreply.github.com> --------- Co-authored-by: DEV Seaferer <91832265+edgardavid94@users.noreply.github.com> --- .../rev_1727135984894325000.sql | 29 +++++++++++++++++++ .../game/Spells/SpellInfoCorrections.cpp | 7 +++++ 2 files changed, 36 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727135984894325000.sql diff --git a/data/sql/updates/pending_db_world/rev_1727135984894325000.sql b/data/sql/updates/pending_db_world/rev_1727135984894325000.sql new file mode 100644 index 00000000000000..95a5e83d0ffce8 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727135984894325000.sql @@ -0,0 +1,29 @@ +-- +DELETE FROM `smart_scripts` WHERE `entryorguid`=24077 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2407700 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(24077, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 50, 186565, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Repawn - Summon Ceremonial Dragonflayer Harpoon'), +(24077, 0, 1, 0, 8, 0, 100, 1, 42968, 0, 0, 0, 0, 0, 80, 2407700, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On spell hit - Start Script'), +(2407700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 99, 3, 0, 0, 0, 0, 0, 20, 186565, 10, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Set loot state'), +(2407700, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Talk 0'), +(2407700, 9, 2, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 0, 0, 91, 255, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Remove Bytes '), +(2407700, 9, 3, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 90, 8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Set Bytes 1'), +(2407700, 9, 4, 0, 0, 0, 100, 0, 1000, 1000, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Talk 1'), +(2407700, 9, 5, 0, 0, 0, 100, 0, 4000, 4000, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Kill Self'), +(2407700, 9, 6, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 5000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Impaled Valgarde Scout - On Script - Despawn'); + +DELETE FROM `creature_text` WHERE `CreatureID`=24077; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(24077, 0, 0, '%s groans.', 16, 0, 100, 0, 0, 0, 22743, 0, 'Impaled Valgarde Scout'), +(24077, 0, 1, '%s screams in agony as the harpoon is removed.', 16, 0, 100, 0, 0, 0, 22744, 0, 'Impaled Valgarde Scout'), +(24077, 0, 2, '%s whimpers.', 16, 0, 100, 0, 0, 0, 22745, 0, 'Impaled Valgarde Scout'), +(24077, 1, 0, 'Don\'t let my death go unavenged, stranger... give ... them... hell...', 12, 0, 100, 0, 0, 0, 22752, 0, 'Impaled Valgarde Scout'), +(24077, 1, 1, 'I\'m done for... too much blood lost... Forget about me, tell Keller... People still alive inside...', 12, 0, 100, 0, 0, 0, 22749, 0, 'Impaled Valgarde Scout'), +(24077, 1, 2, 'Not... no... Our people... Wrymskull... some live...', 12, 0, 100, 0, 0, 0, 22747, 0, 'Impaled Valgarde Scout'), +(24077, 1, 3, 'My injuries are too great. I won\'t make it... Our citizenry held in cages... ritual...', 12, 0, 100, 0, 0, 0, 22748, 0, 'Impaled Valgarde Scout'), +(24077, 1, 4, 'They left us here impaled as a warning to the others... Several still alive... prisoners of...', 12, 0, 100, 0, 0, 0, 22751, 0, 'Impaled Valgarde Scout'), +(24077, 1, 5, 'My family must know... I... for them... always for them...', 12, 0, 100, 0, 0, 0, 22750, 0, 'Impaled Valgarde Scout'); + +DELETE FROM `gameobject` WHERE `id`=186565; + +UPDATE `gameobject_template_locale` SET `castBarCaption`='Quitando' WHERE `entry`=186565 AND `locale` IN ('esES', 'esMX'); diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 21b0ee636f7593..ca47ac9fe1c0f5 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4843,6 +4843,13 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->MaxAffectedTargets = 1; }); + // Removing Dragonflayer Harpoon + ApplySpellFix({ 42968 }, [](SpellInfo* spellInfo) + { + spellInfo->MaxAffectedTargets = 1; + spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(7); + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i]; From da3109809463ff4223038d2fc9d48610d67c9238 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 25 Sep 2024 08:37:53 +0000 Subject: [PATCH 064/119] chore(DB): import pending files Referenced commit(s): 891bcd8e00946d9d071c4c82b1475c3f0fc33e0c --- .../rev_1727135984894325000.sql => db_world/2024_09_25_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727135984894325000.sql => db_world/2024_09_25_01.sql} (98%) diff --git a/data/sql/updates/pending_db_world/rev_1727135984894325000.sql b/data/sql/updates/db_world/2024_09_25_01.sql similarity index 98% rename from data/sql/updates/pending_db_world/rev_1727135984894325000.sql rename to data/sql/updates/db_world/2024_09_25_01.sql index 95a5e83d0ffce8..1127974816919c 100644 --- a/data/sql/updates/pending_db_world/rev_1727135984894325000.sql +++ b/data/sql/updates/db_world/2024_09_25_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_25_00 -> 2024_09_25_01 -- DELETE FROM `smart_scripts` WHERE `entryorguid`=24077 AND `source_type`=0; DELETE FROM `smart_scripts` WHERE `entryorguid`=2407700 AND `source_type`=9; From 6e4a9bbb145620938e7d39bafaad9e6f0b34c279 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Wed, 25 Sep 2024 16:53:39 +0200 Subject: [PATCH 065/119] fix(Core/Unit): fix Dual Wield for more creatures, CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK, creature disarm damage (#20015) * enable CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK * sql set CREATURE_FLAG_EXTRA_USE_OFFHAND * use new HasOffHandWeaponForAttack instead of haveOffhandWeapon no longer requires m_CanDualwield set to use Offhand attack requires non-disarmed weapon in Offhand OR creature_flag_extra enabled Co-authored-by: Ovah Co-authored-by: Warlockbugs * Make shapeshift forms which dont override attack speed use weapon damage Co-authored-by: killerwife * SetEquipmentSlots turning off damage update when using template default Co-authored-by: killerwife * Setup DualWield & Damage On Equipment Updates, implement Set and GetVirtualItem Co-authored-by: Yatzii <47720837+Yatzii93@users.noreply.github.com> * creature disarm damage set disarm to reduce minmax damage by 50% instead of setting to 0 Co-authored-by: Warlockbugs --------- Co-authored-by: Ovah Co-authored-by: Warlockbugs Co-authored-by: killerwife Co-authored-by: Yatzii <47720837+Yatzii93@users.noreply.github.com> --- .../rev_1726975868981293914.sql | 53 +++++++++++++++++++ src/server/game/AI/CoreAI/UnitAI.cpp | 4 +- .../game/AI/ScriptedAI/ScriptedCreature.cpp | 22 ++++++-- .../game/Entities/Creature/Creature.cpp | 12 +++++ src/server/game/Entities/Creature/Creature.h | 2 + .../game/Entities/Creature/CreatureData.h | 6 +-- .../Creature/enuminfo_CreatureData.cpp | 6 +-- src/server/game/Entities/Player/Player.h | 2 + .../game/Entities/Player/PlayerUpdates.cpp | 4 +- src/server/game/Entities/Unit/StatSystem.cpp | 13 ++--- src/server/game/Entities/Unit/Unit.cpp | 42 ++++++++++++--- src/server/game/Entities/Unit/Unit.h | 22 +++++++- src/server/game/Spells/Spell.cpp | 2 +- 13 files changed, 160 insertions(+), 30 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1726975868981293914.sql diff --git a/data/sql/updates/pending_db_world/rev_1726975868981293914.sql b/data/sql/updates/pending_db_world/rev_1726975868981293914.sql new file mode 100644 index 00000000000000..79fc33d2c483e7 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1726975868981293914.sql @@ -0,0 +1,53 @@ +-- +UPDATE `creature_template` SET `flags_extra` = `flags_extra` | 2048 WHERE `entry` IN ( +3672, -- Boahn +4403, -- Muckshell Pincer +4540, -- Scarlet Monk +7033, -- Firegut Ogre +8218, -- Witherheart the Stalker +10478, -- Splintered Skeleton +10488, -- Risen Construct +11022, -- Alexi Barov +12100, -- Lava Reaver +12262, -- Ziggurat Protector +12263, -- Slaughterhouse Protector +14688, -- Prince Sandoval +14882, -- Atal'ai Mistress +16299, -- Skeletal Shocktrooper +16422, -- Skeletal Soldier +16593, -- Shattered Hand Brawler +16808, -- Warchief Kargath Bladefist +16936, -- Dreghood Wanderer +18120, -- Ango'rosh Mauler +18211, -- Murkblood Brute +18541, -- Urdak +18860, -- Daughter of Destiny +19191, -- Arazzius the Cruel +20456, -- Ethereum Researcher +20582, -- Shattered Hand Brawler (1) +20597, -- Warchief Kargath Bladefist (1) +20683, -- Prophetess Cavrylin +20783, -- Porfus the Gem Gorger +20784, -- Armbreaker Huffaz +20785, -- Fel Tinkerer Zortan +20786, -- Gul'bor +20790, -- Malevus the Mad +20929, -- Wrath Lord +20984, -- Protectorate Defender +21639, -- Illidari Slayer +21717, -- Dragonmaw Wrangler +21805, -- Protectorate Avenger +21877, -- Karsius the Ancient Watcher +22004, -- Leoroxx +22076, -- Torloth the Magnificent +22082, -- Shadowmoon Slayer +22199, -- Slaag +22377, -- Akuno +22825, -- Matron Li-sahar +23008, -- Ethereum Jailor +23410, -- Spirit of Udalo +23411, -- Spirit of Olum +24882, -- Brutallus +37132, -- Ymirjar Battle-Maiden +38132 -- Ymirjar Battle-Maiden (1) +); diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp index 710f4a453a60f7..8c9b4b9bde65de 100644 --- a/src/server/game/AI/CoreAI/UnitAI.cpp +++ b/src/server/game/AI/CoreAI/UnitAI.cpp @@ -52,7 +52,7 @@ void UnitAI::DoMeleeAttackIfReady() if (me->isAttackReady()) { // xinef: prevent base and off attack in same time, delay attack at 0.2 sec - if (me->haveOffhandWeapon()) + if (me->HasOffhandWeaponForAttack()) if (me->getAttackTimer(OFF_ATTACK) < ATTACK_DISPLAY_DELAY) me->setAttackTimer(OFF_ATTACK, ATTACK_DISPLAY_DELAY); @@ -60,7 +60,7 @@ void UnitAI::DoMeleeAttackIfReady() me->resetAttackTimer(); } - if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK)) + if (me->HasOffhandWeaponForAttack() && me->isAttackReady(OFF_ATTACK)) { // xinef: delay main hand attack if both will hit at the same time (players code) if (me->getAttackTimer(BASE_ATTACK) < ATTACK_DISPLAY_DELAY) diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 81211529bdc213..fb7b01fecd054b 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -522,17 +522,33 @@ void ScriptedAI::SetEquipmentSlots(bool loadDefault, int32 mainHand /*= EQUIP_NO if (loadDefault) { me->LoadEquipment(me->GetOriginalEquipmentId(), true); + if (me->HasWeapon(OFF_ATTACK)) + me->SetCanDualWield(true); + else + me->SetCanDualWield(false); return; } if (mainHand >= 0) - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(mainHand)); + { + me->SetVirtualItem(0, uint32(mainHand)); + me->UpdateDamagePhysical(BASE_ATTACK); + } if (offHand >= 0) - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(offHand)); + { + me->SetVirtualItem(1, uint32(offHand)); + if (offHand >= 1) + me->SetCanDualWield(true); + else + me->SetCanDualWield(false); + } if (ranged >= 0) - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, uint32(ranged)); + { + me->SetVirtualItem(2, uint32(ranged)); + me->UpdateDamagePhysical(RANGED_ATTACK); + } } enum eNPCs diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 01fcd1f1182543..83373b6816b350 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -524,6 +524,8 @@ bool Creature::InitEntry(uint32 Entry, const CreatureData* data) SetFloatValue(UNIT_FIELD_HOVERHEIGHT, cinfo->HoverHeight); + SetCanDualWield(cinfo->flags_extra & CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK); + // checked at loading m_defaultMovementType = MovementGeneratorType(cinfo->MovementType); if (!m_wanderDistance && m_defaultMovementType == RANDOM_MOTION_TYPE) @@ -568,6 +570,8 @@ bool Creature::UpdateEntry(uint32 Entry, const CreatureData* data, bool changele ReplaceAllDynamicFlags(dynamicflags); + SetCanDualWield(cInfo->flags_extra & CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK); + SetAttackTime(BASE_ATTACK, cInfo->BaseAttackTime); SetAttackTime(OFF_ATTACK, cInfo->BaseAttackTime); SetAttackTime(RANGED_ATTACK, cInfo->RangeAttackTime); @@ -3172,6 +3176,14 @@ bool Creature::IsImmuneToKnockback() const return cinfo && (cinfo->flags_extra & CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK); } +bool Creature::HasWeapon(WeaponAttackType type) const +{ + const uint8 slot = uint8(type); + ItemEntry const* item = sItemStore.LookupEntry(GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + slot)); + + return ((item && item->ClassID == ITEM_CLASS_WEAPON) || (type == OFF_ATTACK && CanDualWield())); +} + /** * @brief Enable or disable the creature's walk mode by removing: MOVEMENTFLAG_WALKING. Infom also the client */ diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 1c1aa3321f454f..7a91b32437c3c4 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -190,6 +190,8 @@ class Creature : public Unit, public GridObject, public MovableMapObje void UpdateAttackPowerAndDamage(bool ranged = false) override; void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage, uint8 damageIndex) override; + bool HasWeapon(WeaponAttackType type) const override; + bool HasWeaponForAttack(WeaponAttackType type) const override { return (Unit::HasWeaponForAttack(type) && HasWeapon(type)); } void SetCanDualWield(bool value) override; [[nodiscard]] int8 GetOriginalEquipmentId() const { return m_originalEquipmentId; } uint8 GetCurrentEquipmentId() { return m_equipmentId; } diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h index b14cb85ea7dd81..60f4c6a7ff485e 100644 --- a/src/server/game/Entities/Creature/CreatureData.h +++ b/src/server/game/Entities/Creature/CreatureData.h @@ -54,7 +54,7 @@ enum CreatureFlagsExtra : uint32 CREATURE_FLAG_EXTRA_NO_TAUNT = 0x00000100, // creature is immune to taunt auras and 'attack me' effects CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE = 0x00000200, // creature won't update movement flags CREATURE_FLAG_EXTRA_GHOST_VISIBILITY = 0x00000400, // creature will only be visible to dead players - CREATURE_FLAG_EXTRA_UNUSED_12 = 0x00000800, /// @todo: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks) + CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK = 0x00000800, // creature will use offhand attacks CREATURE_FLAG_EXTRA_NO_SELL_VENDOR = 0x00001000, // players can't sell items to this vendor CREATURE_FLAG_EXTRA_IGNORE_COMBAT = 0x00002000, CREATURE_FLAG_EXTRA_WORLDEVENT = 0x00004000, // custom flag for world event creatures (left room for merging) @@ -77,9 +77,7 @@ enum CreatureFlagsExtra : uint32 CREATURE_FLAG_EXTRA_HARD_RESET = 0x80000000, // Masks - CREATURE_FLAG_EXTRA_UNUSED = (CREATURE_FLAG_EXTRA_UNUSED_12), // SKIP - - CREATURE_FLAG_EXTRA_DB_ALLOWED = (0xFFFFFFFF & ~(CREATURE_FLAG_EXTRA_UNUSED | CREATURE_FLAG_EXTRA_DUNGEON_BOSS)) // SKIP + CREATURE_FLAG_EXTRA_DB_ALLOWED = (0xFFFFFFFF & ~CREATURE_FLAG_EXTRA_DUNGEON_BOSS) // SKIP }; enum class CreatureGroundMovementType : uint8 diff --git a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp index b1af41ce3b0409..1fa83fe3fde2ea 100644 --- a/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp +++ b/src/server/game/Entities/Creature/enuminfo_CreatureData.cpp @@ -42,7 +42,7 @@ AC_API_EXPORT EnumText EnumUtils::ToString(CreatureFlagsExtr case CREATURE_FLAG_EXTRA_NO_TAUNT: return { "CREATURE_FLAG_EXTRA_NO_TAUNT", "CREATURE_FLAG_EXTRA_NO_TAUNT", "creature is immune to taunt auras and 'attack me' effects" }; case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return { "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE", "creature won't update movement flags" }; case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return { "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "CREATURE_FLAG_EXTRA_GHOST_VISIBILITY", "creature will only be visible to dead players" }; - case CREATURE_FLAG_EXTRA_UNUSED_12: return { "CREATURE_FLAG_EXTRA_UNUSED_12", "CREATURE_FLAG_EXTRA_UNUSED_12", "/ @todo: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)" }; + case CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK: return { "CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK", "/ @todo: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)" }; case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return { "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "CREATURE_FLAG_EXTRA_NO_SELL_VENDOR", "players can't sell items to this vendor" }; case CREATURE_FLAG_EXTRA_IGNORE_COMBAT: return { "CREATURE_FLAG_EXTRA_IGNORE_COMBAT", "CREATURE_FLAG_EXTRA_IGNORE_COMBAT", "" }; case CREATURE_FLAG_EXTRA_WORLDEVENT: return { "CREATURE_FLAG_EXTRA_WORLDEVENT", "CREATURE_FLAG_EXTRA_WORLDEVENT", "custom flag for world event creatures (left room for merging)" }; @@ -86,7 +86,7 @@ AC_API_EXPORT CreatureFlagsExtra EnumUtils::FromIndex(std::s case 8: return CREATURE_FLAG_EXTRA_NO_TAUNT; case 9: return CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE; case 10: return CREATURE_FLAG_EXTRA_GHOST_VISIBILITY; - case 11: return CREATURE_FLAG_EXTRA_UNUSED_12; + case 11: return CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK; case 12: return CREATURE_FLAG_EXTRA_NO_SELL_VENDOR; case 13: return CREATURE_FLAG_EXTRA_IGNORE_COMBAT; case 14: return CREATURE_FLAG_EXTRA_WORLDEVENT; @@ -127,7 +127,7 @@ AC_API_EXPORT std::size_t EnumUtils::ToIndex(CreatureFlagsEx case CREATURE_FLAG_EXTRA_NO_TAUNT: return 8; case CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE: return 9; case CREATURE_FLAG_EXTRA_GHOST_VISIBILITY: return 10; - case CREATURE_FLAG_EXTRA_UNUSED_12: return 11; + case CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK: return 11; case CREATURE_FLAG_EXTRA_NO_SELL_VENDOR: return 12; case CREATURE_FLAG_EXTRA_IGNORE_COMBAT: return 13; case CREATURE_FLAG_EXTRA_WORLDEVENT: return 14; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 0569360f52e823..b00468be5bd220 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1248,6 +1248,8 @@ class Player : public Unit, public GridObject return GetItemByPos(bag, slot); } [[nodiscard]] Item* GetWeaponForAttack(WeaponAttackType attackType, bool useable = false) const; + bool HasWeapon(WeaponAttackType type) const override { return GetWeaponForAttack(type, false); } + bool HasWeaponForAttack(WeaponAttackType type) const override { return (Unit::HasWeaponForAttack(type) && GetWeaponForAttack(type, true)); } [[nodiscard]] Item* GetShield(bool useable = false) const; static uint8 GetAttackBySlot(uint8 slot); // MAX_ATTACK if not weapon slot std::vector& GetItemUpdateQueue() { return m_itemUpdateQueue; } diff --git a/src/server/game/Entities/Player/PlayerUpdates.cpp b/src/server/game/Entities/Player/PlayerUpdates.cpp index 594100616deada..5dcf409faf3af3 100644 --- a/src/server/game/Entities/Player/PlayerUpdates.cpp +++ b/src/server/game/Entities/Player/PlayerUpdates.cpp @@ -195,7 +195,7 @@ void Player::Update(uint32 p_time) // prevent base and off attack in same time, delay attack at // 0.2 sec - if (haveOffhandWeapon()) + if (HasOffhandWeaponForAttack()) if (getAttackTimer(OFF_ATTACK) < ATTACK_DISPLAY_DELAY) setAttackTimer(OFF_ATTACK, ATTACK_DISPLAY_DELAY); @@ -205,7 +205,7 @@ void Player::Update(uint32 p_time) } } - if (haveOffhandWeapon() && isAttackReady(OFF_ATTACK)) + if (HasOffhandWeaponForAttack() && isAttackReady(OFF_ATTACK)) { if (!IsWithinMeleeRange(victim)) setAttackTimer(OFF_ATTACK, 100); diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index aee22dcd2361f9..0706808ae3b749 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -512,7 +512,7 @@ void Player::UpdateAttackPowerAndDamage(bool ranged) else { UpdateDamagePhysical(BASE_ATTACK); - if (CanDualWield() && haveOffhandWeapon()) //allow update offhand damage only if player knows DualWield Spec and has equipped offhand weapon + if (CanDualWield() && HasOffhandWeaponForAttack()) //allow update offhand damage only if player knows DualWield Spec and has equipped offhand weapon UpdateDamagePhysical(OFF_ATTACK); if (IsClass(CLASS_SHAMAN, CLASS_CONTEXT_STATS) || IsClass(CLASS_PALADIN, CLASS_CONTEXT_STATS)) // mental quickness UpdateSpellDamageAndHealingBonus(); @@ -567,7 +567,7 @@ void Player::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bo float weaponMinDamage = GetWeaponDamageRange(attType, MINDAMAGE); float weaponMaxDamage = GetWeaponDamageRange(attType, MAXDAMAGE); - if (IsInFeralForm()) // check if player is druid and in cat or bear forms + if (IsAttackSpeedOverridenShapeShift()) // forms with no override on attack speed use normal weapon damage { uint8 lvl = GetLevel(); if (lvl > 60) @@ -1118,7 +1118,7 @@ void Creature::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, break; } - if (attType == OFF_ATTACK && !haveOffhandWeapon()) + if (attType == OFF_ATTACK && !HasOffhandWeaponForAttack()) { minDamage = 0.0f; maxDamage = 0.0f; @@ -1128,10 +1128,11 @@ void Creature::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, float weaponMinDamage = GetWeaponDamageRange(attType, MINDAMAGE); float weaponMaxDamage = GetWeaponDamageRange(attType, MAXDAMAGE); - if (!CanUseAttackType(attType)) // disarm case + // Disarm for creatures + if (HasWeapon(attType) && !HasWeaponForAttack(attType)) { - weaponMinDamage = 0.0f; - weaponMaxDamage = 0.0f; + minDamage *= 0.5f; + maxDamage *= 0.5f; } float attackPower = GetTotalAttackPowerValue(attType); diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 19c2be2f9d2420..3aea9ddf4e8b79 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1856,7 +1856,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) float offtime = float(victim->getAttackTimer(OFF_ATTACK)); float basetime = float(victim->getAttackTimer(BASE_ATTACK)); // Reduce attack time - if (victim->haveOffhandWeapon() && offtime < basetime) + if (victim->HasOffhandWeaponForAttack() && offtime < basetime) { float percent20 = victim->GetAttackTime(OFF_ATTACK) * 0.20f; float percent60 = 3.0f * percent20; @@ -8430,7 +8430,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere if (dummySpell->SpellIconID == 2023) { // Must Dual Wield - if (!procSpell || !haveOffhandWeapon()) + if (!procSpell || !HasOffhandWeaponForAttack()) return false; // Chance as basepoints for dummy aura if (!roll_chance_i(triggerAmount)) @@ -10348,9 +10348,9 @@ bool Unit::Attack(Unit* victim, bool meleeAttack) SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); } - // delay offhand weapon attack to next attack time - if (haveOffhandWeapon() && isAttackReady(OFF_ATTACK)) - setAttackTimer(OFF_ATTACK, ATTACK_DISPLAY_DELAY); + // delay offhand weapon attack by 50% of the base attack time + if (HasOffhandWeaponForAttack() && isAttackReady(OFF_ATTACK)) + setAttackTimer(OFF_ATTACK, std::max(getAttackTimer(OFF_ATTACK), getAttackTimer(BASE_ATTACK) + int32(CalculatePct(GetFloatValue(UNIT_FIELD_BASEATTACKTIME), 50)))); if (meleeAttack) SendMeleeAttackStart(victim); @@ -13400,7 +13400,7 @@ float Unit::GetWeaponProcChance() const // (odd formula...) if (isAttackReady(BASE_ATTACK)) return (GetAttackTime(BASE_ATTACK) * 1.8f / 1000.0f); - else if (haveOffhandWeapon() && isAttackReady(OFF_ATTACK)) + else if (HasOffhandWeaponForAttack() && isAttackReady(OFF_ATTACK)) return (GetAttackTime(OFF_ATTACK) * 1.6f / 1000.0f); return 0; } @@ -15406,7 +15406,7 @@ float Unit::GetTotalAttackPowerValue(WeaponAttackType attType, Unit* victim) con float Unit::GetWeaponDamageRange(WeaponAttackType attType, WeaponDamageRange type, uint8 damageIndex /*= 0*/) const { - if (attType == OFF_ATTACK && !haveOffhandWeapon()) + if (attType == OFF_ATTACK && !HasOffhandWeaponForAttack()) return 0.0f; return m_weaponDamage[attType][type][damageIndex]; @@ -18953,7 +18953,7 @@ float Unit::MeleeSpellMissChance(Unit const* victim, WeaponAttackType attType, i float missChance = victim->GetUnitMissChance(attType); // Check if dual wielding, add additional miss penalty - when mainhand has on next swing spell, offhand doesnt suffer penalty - if (!spellId && (attType != RANGED_ATTACK) && haveOffhandWeapon() && (!m_currentSpells[CURRENT_MELEE_SPELL] || !m_currentSpells[CURRENT_MELEE_SPELL]->IsNextMeleeSwingSpell())) + if (!spellId && (attType != RANGED_ATTACK) && HasOffhandWeaponForAttack() && (!m_currentSpells[CURRENT_MELEE_SPELL] || !m_currentSpells[CURRENT_MELEE_SPELL]->IsNextMeleeSwingSpell())) { missChance += 19; } @@ -19467,6 +19467,16 @@ Unit* Unit::GetRedirectThreatTarget() const return _redirectThreatInfo.GetTargetGUID() ? ObjectAccessor::GetUnit(*this, _redirectThreatInfo.GetTargetGUID()) : nullptr; } +bool Unit::IsAttackSpeedOverridenShapeShift() const +{ + // Mirroring clientside gameplay logic + if (ShapeshiftForm form = GetShapeshiftForm()) + if (SpellShapeshiftFormEntry const* entry = sSpellShapeshiftFormStore.LookupEntry(form)) + return entry->attackSpeed > 0; + + return false; +} + void Unit::JumpTo(float speedXY, float speedZ, bool forward) { float angle = forward ? 0 : M_PI; @@ -21120,6 +21130,22 @@ void Unit::Whisper(std::string_view text, Language language, Player* target, boo target->SendDirectMessage(&data); } +uint32 Unit::GetVirtualItemId(uint32 slot) const +{ + if (slot >= MAX_EQUIPMENT_ITEMS) + return 0; + + return GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + slot); +} + +void Unit::SetVirtualItem(uint32 slot, uint32 itemId) +{ + if (slot >= MAX_EQUIPMENT_ITEMS) + return; + + SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + slot, itemId); +} + void Unit::Talk(uint32 textId, ChatMsg msgType, float textRange, WorldObject const* target) { if (!sObjectMgr->GetBroadcastText(textId)) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 74dae46679677a..611ab635ee4cbf 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1052,8 +1052,22 @@ class Unit : public WorldObject [[nodiscard]] float GetUnitMissChance(WeaponAttackType attType) const; float GetUnitCriticalChance(WeaponAttackType attackType, Unit const* victim) const; int32 GetMechanicResistChance(SpellInfo const* spell); + + virtual bool HasWeapon(WeaponAttackType type) const = 0; + inline bool HasMainhandWeapon() const { return HasWeapon(BASE_ATTACK); } + inline bool HasOffhandWeapon() const { return HasWeapon(OFF_ATTACK); } + inline bool HasRangedWeapon() const { return HasWeapon(RANGED_ATTACK); } + + inline bool hasMainhandWeaponForAttack() const { return HasWeaponForAttack(BASE_ATTACK); } + virtual bool HasWeaponForAttack(WeaponAttackType type) const { return CanUseAttackType(type); } + inline bool HasMainhandWeaponForAttack() const { return HasWeaponForAttack(BASE_ATTACK); } + inline bool HasOffhandWeaponForAttack() const { return HasWeaponForAttack(OFF_ATTACK); } + inline bool HasRangedWeaponForAttack() const { return HasWeaponForAttack(RANGED_ATTACK); } [[nodiscard]] bool CanUseAttackType(uint8 attacktype) const { + if (IsAttackSpeedOverridenShapeShift()) + return false; + switch (attacktype) { case BASE_ATTACK: @@ -1062,8 +1076,9 @@ class Unit : public WorldObject return !HasUnitFlag2(UNIT_FLAG2_DISARM_OFFHAND); case RANGED_ATTACK: return !HasUnitFlag2(UNIT_FLAG2_DISARM_RANGED); + default: + return true; } - return true; } [[nodiscard]] virtual uint32 GetShieldBlockValue() const = 0; @@ -1466,6 +1481,8 @@ class Unit : public WorldObject SetByteValue(UNIT_FIELD_BYTES_2, 3, form); } + bool IsAttackSpeedOverridenShapeShift() const; + [[nodiscard]] bool IsInFeralForm() const { ShapeshiftForm form = GetShapeshiftForm(); @@ -1760,6 +1777,9 @@ class Unit : public WorldObject [[nodiscard]] float GetCollisionWidth() const override; [[nodiscard]] float GetCollisionRadius() const override; + uint32 GetVirtualItemId(uint32 slot) const; + void SetVirtualItem(uint32 slot, uint32 itemId); + void ProcessPositionDataChanged(PositionFullTerrainStatus const& data) override; virtual void ProcessTerrainStatusUpdate(); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index bde6e7b35dd8b3..fd52274b9e7193 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4068,7 +4068,7 @@ void Spell::_cast(bool skipCheck) { m_caster->resetAttackTimer(BASE_ATTACK); - if (m_caster->haveOffhandWeapon()) + if (m_caster->HasOffhandWeaponForAttack()) { m_caster->resetAttackTimer(OFF_ATTACK); } From 8aa631074226180989279eb28396928d75b48ac8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 25 Sep 2024 14:54:35 +0000 Subject: [PATCH 066/119] chore(DB): import pending files Referenced commit(s): 6e4a9bbb145620938e7d39bafaad9e6f0b34c279 --- .../rev_1726975868981293914.sql => db_world/2024_09_25_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1726975868981293914.sql => db_world/2024_09_25_02.sql} (97%) diff --git a/data/sql/updates/pending_db_world/rev_1726975868981293914.sql b/data/sql/updates/db_world/2024_09_25_02.sql similarity index 97% rename from data/sql/updates/pending_db_world/rev_1726975868981293914.sql rename to data/sql/updates/db_world/2024_09_25_02.sql index 79fc33d2c483e7..4e7217227e7146 100644 --- a/data/sql/updates/pending_db_world/rev_1726975868981293914.sql +++ b/data/sql/updates/db_world/2024_09_25_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_25_01 -> 2024_09_25_02 -- UPDATE `creature_template` SET `flags_extra` = `flags_extra` | 2048 WHERE `entry` IN ( 3672, -- Boahn From 98ae32e1dad028bc47c27f947c8a9dbddc2cfd63 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 25 Sep 2024 12:00:57 -0300 Subject: [PATCH 067/119] fix(Scripts/Spells): Remove immunity application from Preparation buff (#20042) --- src/server/scripts/Spells/spell_generic.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index b7b9f9cebf6d63..2bc3c97c4fef74 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -375,16 +375,6 @@ class spell_gen_bg_preparation : public AuraScript { PrepareAuraScript(spell_gen_bg_preparation) - void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { - GetTarget()->ApplySpellImmune(GetId(), IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ALL, true); - } - - void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { - GetTarget()->ApplySpellImmune(GetId(), IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ALL, false); - } - void CalcPeriodic(AuraEffect const* /*effect*/, bool& isPeriodic, int32& amplitude) { isPeriodic = true; @@ -405,9 +395,6 @@ class spell_gen_bg_preparation : public AuraScript void Register() override { - OnEffectApply += AuraEffectApplyFn(spell_gen_bg_preparation::HandleEffectApply, EFFECT_0, SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT, AURA_EFFECT_HANDLE_REAL); - OnEffectRemove += AuraEffectRemoveFn(spell_gen_bg_preparation::HandleEffectRemove, EFFECT_0, SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT, AURA_EFFECT_HANDLE_REAL); - DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_gen_bg_preparation::CalcPeriodic, EFFECT_0, SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT); OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_bg_preparation::Update, EFFECT_0, SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT); } From 52b8fa1cc814040e122df4e47baaee9a1b174036 Mon Sep 17 00:00:00 2001 From: Mattia Date: Wed, 25 Sep 2024 20:02:45 +0200 Subject: [PATCH 068/119] fix(DB/Creature): SSC - Leotheras the blind - Adds are not chained (#20023) --- data/sql/updates/pending_db_world/2024_09_23_00.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 data/sql/updates/pending_db_world/2024_09_23_00.sql diff --git a/data/sql/updates/pending_db_world/2024_09_23_00.sql b/data/sql/updates/pending_db_world/2024_09_23_00.sql new file mode 100644 index 00000000000000..e5aaa384b5d4d8 --- /dev/null +++ b/data/sql/updates/pending_db_world/2024_09_23_00.sql @@ -0,0 +1,5 @@ +UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 21806; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 21806) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(21806, 0, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 39, 20, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greyheart Spellbinder - In Combat - Call For Help'); From c2be39898609201a936f99bbabd4a6a3e79f5cdf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 25 Sep 2024 18:03:41 +0000 Subject: [PATCH 069/119] chore(DB): import pending files Referenced commit(s): 52b8fa1cc814040e122df4e47baaee9a1b174036 --- .../2024_09_23_00.sql => db_world/2024_09_25_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/2024_09_23_00.sql => db_world/2024_09_25_03.sql} (94%) diff --git a/data/sql/updates/pending_db_world/2024_09_23_00.sql b/data/sql/updates/db_world/2024_09_25_03.sql similarity index 94% rename from data/sql/updates/pending_db_world/2024_09_23_00.sql rename to data/sql/updates/db_world/2024_09_25_03.sql index e5aaa384b5d4d8..d01e15f1570410 100644 --- a/data/sql/updates/pending_db_world/2024_09_23_00.sql +++ b/data/sql/updates/db_world/2024_09_25_03.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_25_02 -> 2024_09_25_03 UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 21806; DELETE FROM `smart_scripts` WHERE (`entryorguid` = 21806) AND (`source_type` = 0) AND (`id` IN (2)); From 8a0604479af820c5b0cfdb3fdb02985d240d79d3 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Thu, 26 Sep 2024 12:13:47 +0200 Subject: [PATCH 070/119] fix(Core/Unit): fix Dual Wield for more creatures... (#20047) * non-weapons should return true * remove shapeshift check --- src/server/game/Entities/Unit/Unit.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 611ab635ee4cbf..165e8917efcc8d 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1065,9 +1065,6 @@ class Unit : public WorldObject inline bool HasRangedWeaponForAttack() const { return HasWeaponForAttack(RANGED_ATTACK); } [[nodiscard]] bool CanUseAttackType(uint8 attacktype) const { - if (IsAttackSpeedOverridenShapeShift()) - return false; - switch (attacktype) { case BASE_ATTACK: From 35042734d6275cb7738d7621a08d282154dca74d Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:16:07 -0400 Subject: [PATCH 071/119] fix(DB/Creature): Add proper unit flags to Phantom Leotheras. (#20049) Init. --- data/sql/updates/pending_db_world/phantom-leotheras-flags.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/sql/updates/pending_db_world/phantom-leotheras-flags.sql diff --git a/data/sql/updates/pending_db_world/phantom-leotheras-flags.sql b/data/sql/updates/pending_db_world/phantom-leotheras-flags.sql new file mode 100644 index 00000000000000..dabf0b2a97382f --- /dev/null +++ b/data/sql/updates/pending_db_world/phantom-leotheras-flags.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `unit_flags` = `unit_flags`|33554432|32768|512|256 WHERE `entry` = 21812; From 510422a4f5ecca4afdcc41bedac2b5f4bae1706d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 26 Sep 2024 18:17:02 +0000 Subject: [PATCH 072/119] chore(DB): import pending files Referenced commit(s): 35042734d6275cb7738d7621a08d282154dca74d --- .../phantom-leotheras-flags.sql => db_world/2024_09_26_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/phantom-leotheras-flags.sql => db_world/2024_09_26_00.sql} (70%) diff --git a/data/sql/updates/pending_db_world/phantom-leotheras-flags.sql b/data/sql/updates/db_world/2024_09_26_00.sql similarity index 70% rename from data/sql/updates/pending_db_world/phantom-leotheras-flags.sql rename to data/sql/updates/db_world/2024_09_26_00.sql index dabf0b2a97382f..5c11011ea83788 100644 --- a/data/sql/updates/pending_db_world/phantom-leotheras-flags.sql +++ b/data/sql/updates/db_world/2024_09_26_00.sql @@ -1 +1,2 @@ +-- DB update 2024_09_25_03 -> 2024_09_26_00 UPDATE `creature_template` SET `unit_flags` = `unit_flags`|33554432|32768|512|256 WHERE `entry` = 21812; From 3dc47ee3a4614c4db887e89287d485962c222d4e Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Fri, 27 Sep 2024 08:07:01 -0300 Subject: [PATCH 073/119] chore(DB/CreatureText) Translate text in city guards (#20034) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Álvaro Martín --- .../pending_db_world/rev_1727182333854036800.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727182333854036800.sql diff --git a/data/sql/updates/pending_db_world/rev_1727182333854036800.sql b/data/sql/updates/pending_db_world/rev_1727182333854036800.sql new file mode 100644 index 00000000000000..c8e8227ce12dda --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727182333854036800.sql @@ -0,0 +1,14 @@ +-- +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=5316 WHERE `MenuID`=2849 AND `OptionID`=0; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=10359 WHERE `MenuID`=2849 AND `OptionID`=4; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=2870 WHERE `MenuID`=2849 AND `OptionID`=5; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=4895 WHERE `MenuID`=2849 AND `OptionID`=8; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=7253 WHERE `MenuID`=2849 AND `OptionID`=10; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=5518 WHERE `MenuID`=2849 AND `OptionID`=11; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=5316 WHERE `MenuID`=7633 AND `OptionID`=0; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=2870 WHERE `MenuID`=7633 AND `OptionID`=3; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=4895 WHERE `MenuID`=7633 AND `OptionID`=5; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=7253 WHERE `MenuID`=7633 AND `OptionID`=7; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=2870 WHERE `MenuID`=8185 AND `OptionID`=1; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=4895 WHERE `MenuID`=8357 AND `OptionID`=4; +UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=10359 WHERE `MenuID`=8357 AND `OptionID`=6; From d8221088f51bd2835252735c816f1ed849b6e83c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 27 Sep 2024 11:07:58 +0000 Subject: [PATCH 074/119] chore(DB): import pending files Referenced commit(s): 3dc47ee3a4614c4db887e89287d485962c222d4e --- .../rev_1727182333854036800.sql => db_world/2024_09_27_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727182333854036800.sql => db_world/2024_09_27_00.sql} (96%) diff --git a/data/sql/updates/pending_db_world/rev_1727182333854036800.sql b/data/sql/updates/db_world/2024_09_27_00.sql similarity index 96% rename from data/sql/updates/pending_db_world/rev_1727182333854036800.sql rename to data/sql/updates/db_world/2024_09_27_00.sql index c8e8227ce12dda..78638f15ab0df0 100644 --- a/data/sql/updates/pending_db_world/rev_1727182333854036800.sql +++ b/data/sql/updates/db_world/2024_09_27_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_26_00 -> 2024_09_27_00 -- UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=5316 WHERE `MenuID`=2849 AND `OptionID`=0; UPDATE `gossip_menu_option` SET `OptionBroadcastTextID`=10359 WHERE `MenuID`=2849 AND `OptionID`=4; From f6de601ddd5218290268268ee695c56d88847225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefano=20Borz=C3=AC?= Date: Fri, 27 Sep 2024 22:19:56 +0200 Subject: [PATCH 075/119] new BattlegroundDesertionTypes for hook OnBattlegroundDesertion (#20039) * new BattlegroundDesertionTypes for hook OnBattlegroundDesertion * chore: minor improvements --------- Co-authored-by: laasker <79991768+laasker@users.noreply.github.com> --- src/server/game/Battlegrounds/Battleground.h | 14 +++++++++----- .../game/Battlegrounds/BattlegroundQueue.cpp | 3 +++ src/server/game/Entities/Player/Player.cpp | 3 +++ src/server/game/Handlers/BattleGroundHandler.cpp | 3 +++ src/server/game/Server/WorldSession.cpp | 3 +++ 5 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h index 18922c029f0d08..5d7fc3c87ad239 100644 --- a/src/server/game/Battlegrounds/Battleground.h +++ b/src/server/game/Battlegrounds/Battleground.h @@ -47,11 +47,15 @@ struct GraveyardStruct; enum BattlegroundDesertionType : uint8 { - BG_DESERTION_TYPE_LEAVE_BG = 0, // player leaves the BG - BG_DESERTION_TYPE_OFFLINE = 1, // player is kicked from BG because offline - BG_DESERTION_TYPE_LEAVE_QUEUE = 2, // player is invited to join and refuses to do it - BG_DESERTION_TYPE_NO_ENTER_BUTTON = 3, // player is invited to join and do nothing (time expires) - BG_DESERTION_TYPE_INVITE_LOGOUT = 4, // player is invited to join and logs out + BG_DESERTION_TYPE_LEAVE_BG = 0, // player leaves the BG + BG_DESERTION_TYPE_OFFLINE = 1, // player is kicked from BG because offline + BG_DESERTION_TYPE_LEAVE_QUEUE = 2, // player is invited to join and refuses to do it + BG_DESERTION_TYPE_NO_ENTER_BUTTON = 3, // player is invited to join and do nothing (time expires) + BG_DESERTION_TYPE_INVITE_LOGOUT = 4, // player is invited to join and logs out + ARENA_DESERTION_TYPE_LEAVE_BG = 5, // player leaves the Arena + ARENA_DESERTION_TYPE_LEAVE_QUEUE = 6, // player is invited to join arena and refuses to do it + ARENA_DESERTION_TYPE_NO_ENTER_BUTTON = 7, // player is invited to join arena and do nothing (time expires) + ARENA_DESERTION_TYPE_INVITE_LOGOUT = 8, // player is invited to join arena and logs out }; enum BattlegroundMaps diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp index 395a62a16d2e94..44673533e3cf92 100644 --- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp +++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp @@ -1357,6 +1357,9 @@ bool BGQueueRemoveEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) sScriptMgr->OnBattlegroundDesertion(player, BG_DESERTION_TYPE_NO_ENTER_BUTTON); } + if (bg && bg->isArena() && (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) + sScriptMgr->OnBattlegroundDesertion(player, ARENA_DESERTION_TYPE_NO_ENTER_BUTTON); + LOG_DEBUG("bg.battleground", "Battleground: removing player {} from bg queue for instance {} because of not pressing enter battle in time.", player->GetGUID().ToString(), m_BgInstanceGUID); player->RemoveBattlegroundQueueId(m_BgQueueTypeId); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index acf934da08b09e..07e6043cd34632 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -11336,6 +11336,9 @@ void Player::LeaveBattleground(Battleground* bg) sScriptMgr->OnBattlegroundDesertion(this, BG_DESERTION_TYPE_LEAVE_BG); } + if (bg->isArena() && (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) + sScriptMgr->OnBattlegroundDesertion(this, ARENA_DESERTION_TYPE_LEAVE_BG); + bg->RemovePlayerAtLeave(this); // xinef: reset corpse reclaim time diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index c2a9bc4b95ed78..d1ec2d8d943f2a 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -580,6 +580,9 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket& recvData) sScriptMgr->OnBattlegroundDesertion(_player, BG_DESERTION_TYPE_LEAVE_QUEUE); } + + if (bg->isArena() && (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) + sScriptMgr->OnBattlegroundDesertion(_player, ARENA_DESERTION_TYPE_LEAVE_QUEUE); } } diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 957ae12817d60c..5e0c2667fb61a5 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -637,6 +637,9 @@ void WorldSession::LogoutPlayer(bool save) sScriptMgr->OnBattlegroundDesertion(_player, BG_DESERTION_TYPE_INVITE_LOGOUT); } + if (bgQueueTypeId >= BATTLEGROUND_QUEUE_2v2 && bgQueueTypeId < MAX_BATTLEGROUND_QUEUE_TYPES && _player->IsInvitedForBattlegroundQueueType(bgQueueTypeId)) + sScriptMgr->OnBattlegroundDesertion(_player, ARENA_DESERTION_TYPE_INVITE_LOGOUT); + _player->RemoveBattlegroundQueueId(bgQueueTypeId); sBattlegroundMgr->GetBattlegroundQueue(bgQueueTypeId).RemovePlayer(_player->GetGUID(), true); } From e9c969ce76d3509c46c7a9f6fb24086143605750 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 28 Sep 2024 10:23:19 +0200 Subject: [PATCH 076/119] (DB/Creatures): fixup Dual Wield for creatures, remove some CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (#20061) remove flags --- .../pending_db_world/rev_1727429234467651703.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727429234467651703.sql diff --git a/data/sql/updates/pending_db_world/rev_1727429234467651703.sql b/data/sql/updates/pending_db_world/rev_1727429234467651703.sql new file mode 100644 index 00000000000000..4635790b44bb2d --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727429234467651703.sql @@ -0,0 +1,10 @@ +-- +UPDATE `creature_template` SET `flags_extra` = `flags_extra` & ~2048 WHERE `entry` IN ( +3672, -- Boahn +20783, -- Porfus the Gem Gorger +21639, -- Illidari Slayer +21717, -- Dragonmaw Wrangler +12100, -- Lava Reaver +22076, -- Torloth the Magnificent +22004 -- Leoroxx +); From c2a0d8cb99d30770eeb122d9937960865931957c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 08:24:15 +0000 Subject: [PATCH 077/119] chore(DB): import pending files Referenced commit(s): e9c969ce76d3509c46c7a9f6fb24086143605750 --- .../rev_1727429234467651703.sql => db_world/2024_09_28_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727429234467651703.sql => db_world/2024_09_28_00.sql} (86%) diff --git a/data/sql/updates/pending_db_world/rev_1727429234467651703.sql b/data/sql/updates/db_world/2024_09_28_00.sql similarity index 86% rename from data/sql/updates/pending_db_world/rev_1727429234467651703.sql rename to data/sql/updates/db_world/2024_09_28_00.sql index 4635790b44bb2d..bf80fb7c7059e7 100644 --- a/data/sql/updates/pending_db_world/rev_1727429234467651703.sql +++ b/data/sql/updates/db_world/2024_09_28_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_09_27_00 -> 2024_09_28_00 -- UPDATE `creature_template` SET `flags_extra` = `flags_extra` & ~2048 WHERE `entry` IN ( 3672, -- Boahn From 8bf3595cef1463afc65be881a661bd814cba5bfd Mon Sep 17 00:00:00 2001 From: Grimdhex <176165533+Grimdhex@users.noreply.github.com> Date: Sat, 28 Sep 2024 10:27:32 +0200 Subject: [PATCH 078/119] fix(Script/BlackTemple): teleport position with fatal attraction (#19971) * fix(Script/BlackTemple): teleport position with fatal attraction * fix codestyle * try a new way by keeping a random teleport * remove the old fixed position * improve the dest selection * raycast around the new position for check a valid dest * fix codestyle * revert the old changes * refactor to remove the while loop * few refactor * Revert "few refactor" This reverts commit fb7613d5cc5a19df01bbcf41ef5c982119ee9685. * . * add a los check * new improvement with stairs cases & console errors * fix disableWarning option * Update boss_mother_shahraz.cpp * Update boss_mother_shahraz.cpp * Update boss_mother_shahraz.cpp * Update boss_mother_shahraz.cpp * Update boss_mother_shahraz.cpp --- src/server/game/Entities/Object/Object.cpp | 14 +++--- src/server/game/Entities/Object/Object.h | 6 +-- .../BlackTemple/boss_mother_shahraz.cpp | 50 ++++++++++++++++++- 3 files changed, 60 insertions(+), 10 deletions(-) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index ded540a57a9274..8dc14fde373e82 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2725,17 +2725,17 @@ bool WorldObject::GetClosePoint(float& x, float& y, float& z, float size, float return true; } -Position WorldObject::GetNearPosition(float dist, float angle) +Position WorldObject::GetNearPosition(float dist, float angle, bool disableWarning) { Position pos = GetPosition(); - MovePosition(pos, dist, angle); + MovePosition(pos, dist, angle, disableWarning); return pos; } -Position WorldObject::GetRandomNearPosition(float radius) +Position WorldObject::GetRandomNearPosition(float radius, bool disableWarning) { Position pos = GetPosition(); - MovePosition(pos, radius * (float) rand_norm(), (float) rand_norm() * static_cast(2 * M_PI)); + MovePosition(pos, radius * (float) rand_norm(), (float) rand_norm() * static_cast(2 * M_PI), disableWarning); return pos; } @@ -2773,7 +2773,7 @@ void WorldObject::GetChargeContactPoint(WorldObject const* obj, float& x, float& return (m_valuesCount > UNIT_FIELD_COMBATREACH) ? m_floatValues[UNIT_FIELD_COMBATREACH] : DEFAULT_WORLD_OBJECT_SIZE * GetObjectScale(); } -void WorldObject::MovePosition(Position& pos, float dist, float angle) +void WorldObject::MovePosition(Position& pos, float dist, float angle, bool disableWarning) { angle += GetOrientation(); float destx, desty, destz, ground, floor; @@ -2783,7 +2783,9 @@ void WorldObject::MovePosition(Position& pos, float dist, float angle) // Prevent invalid coordinates here, position is unchanged if (!Acore::IsValidMapCoord(destx, desty)) { - LOG_FATAL("entities.object", "WorldObject::MovePosition invalid coordinates X: {} and Y: {} were passed!", destx, desty); + if (!disableWarning) + LOG_FATAL("entities.object", "WorldObject::MovePosition invalid coordinates X: {} and Y: {} were passed!", destx, desty); + return; } diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index d9d168ed478ae1..e0792f840bd219 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -420,13 +420,13 @@ class WorldObject : public Object, public WorldLocation void GetNearPoint(WorldObject const* searcher, float& x, float& y, float& z, float searcher_size, float distance2d, float absAngle, float controlZ = 0, Position const* startPos = nullptr) const; void GetVoidClosePoint(float& x, float& y, float& z, float size, float distance2d = 0, float relAngle = 0, float controlZ = 0) const; bool GetClosePoint(float& x, float& y, float& z, float size, float distance2d = 0, float angle = 0, WorldObject const* forWho = nullptr, bool force = false) const; - void MovePosition(Position& pos, float dist, float angle); - Position GetNearPosition(float dist, float angle); + void MovePosition(Position& pos, float dist, float angle, bool disableWarning = false); + Position GetNearPosition(float dist, float angle, bool disableWarning = false); void MovePositionToFirstCollision(Position& pos, float dist, float angle); Position GetFirstCollisionPosition(float startX, float startY, float startZ, float destX, float destY); Position GetFirstCollisionPosition(float destX, float destY, float destZ); Position GetFirstCollisionPosition(float dist, float angle); - Position GetRandomNearPosition(float radius); + Position GetRandomNearPosition(float radius, bool disableWarning = false); void GetContactPoint(WorldObject const* obj, float& x, float& y, float& z, float distance2d = CONTACT_DISTANCE) const; void GetChargeContactPoint(WorldObject const* obj, float& x, float& y, float& z, float distance2d = CONTACT_DISTANCE) const; diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index 31bf701687f5c1..bbcc997684143c 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -196,6 +196,17 @@ class spell_mother_shahraz_saber_lash_aura : public AuraScript } }; +const Position validTeleportStairsPos[4] = +{ + {966.87f, 184.45f, 192.84f}, + {927.22f, 187.04f, 192.84f}, + {922.54f, 110.09f, 192.84f}, + {958.01f, 110.47f, 192.84f} +}; + +constexpr float minTeleportDist = 30.f; +constexpr float maxTeleportDist = 50.f; + class spell_mother_shahraz_fatal_attraction : public SpellScript { PrepareSpellScript(spell_mother_shahraz_fatal_attraction); @@ -212,7 +223,44 @@ class spell_mother_shahraz_fatal_attraction : public SpellScript void SetDest(SpellDestination& dest) { - dest.Relocate(GetCaster()->GetRandomNearPosition(50.0f)); + Position finalDest; + + // Check if the boss is near stairs to avoid players falling through the platform with random teleports. + if(GetCaster()->GetPositionY() < 194.f) + finalDest = validTeleportStairsPos[urand(0, 3)]; + else + { + finalDest = GetCaster()->GetNearPosition(frand(minTeleportDist, maxTeleportDist), static_cast(rand_norm()) * static_cast(2 * M_PI), true); + + // Maybe not necessary but just in case to avoid LOS issues with an object + if(!GetCaster()->IsWithinLOS(finalDest.GetPositionX(), finalDest.GetPositionY(), finalDest.GetPositionZ())) + finalDest = GetCaster()->GetNearPosition(frand(minTeleportDist, maxTeleportDist), static_cast(rand_norm()) * static_cast(2 * M_PI), true); + + /* @note: To avoid teleporting players near a walls, we will define a safe area. + * As the boss have an area boudary around y: 320.f. We will limit the safe area to this value, avoiding wird issues. + * x limit: 932.f/960.f | y limit: 224.f/320.f + */ + if (finalDest.m_positionX < 932.f) + finalDest.m_positionX = 932.f; + else if (finalDest.m_positionX > 960.f) + finalDest.m_positionX = 960.f; + + if (finalDest.m_positionY < 224.f) + finalDest.m_positionY = 224.f; + else if (finalDest.m_positionY > 320.f) + finalDest.m_positionY = 320.f; + + // After relocate a finalDest outside the safe area, we need to recheck the distance with the boss + if (GetCaster()->GetExactDist2d(finalDest) < minTeleportDist) + { + if (finalDest.m_positionX == 932.f || finalDest.m_positionX == 960.f) + finalDest.m_positionY = finalDest.m_positionY + (minTeleportDist - GetCaster()->GetExactDist2d(finalDest)); + else if (finalDest.m_positionY == 224.f || finalDest.m_positionY == 320.f) + finalDest.m_positionX = finalDest.m_positionX + (minTeleportDist - GetCaster()->GetExactDist2d(finalDest)); + } + } + + dest.Relocate(finalDest); } void HandleTeleportUnits(SpellEffIndex /*effIndex*/) From 81251aaf5eb021b3a1e71acebd291eefc969c99d Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sat, 28 Sep 2024 15:50:41 +0200 Subject: [PATCH 079/119] fix(DB/Creature): remove stun immunity from Coilfang Strider (#20071) remove stun mechanic immune --- data/sql/updates/pending_db_world/rev_1727516139226526128.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727516139226526128.sql diff --git a/data/sql/updates/pending_db_world/rev_1727516139226526128.sql b/data/sql/updates/pending_db_world/rev_1727516139226526128.sql new file mode 100644 index 00000000000000..a625db345d0f09 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727516139226526128.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` & ~2048 WHERE (`entry` = 22056); From b07670f130a0e27747f27fa54502825c04db8a3b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 13:51:37 +0000 Subject: [PATCH 080/119] chore(DB): import pending files Referenced commit(s): 81251aaf5eb021b3a1e71acebd291eefc969c99d --- .../rev_1727516139226526128.sql => db_world/2024_09_28_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727516139226526128.sql => db_world/2024_09_28_01.sql} (72%) diff --git a/data/sql/updates/pending_db_world/rev_1727516139226526128.sql b/data/sql/updates/db_world/2024_09_28_01.sql similarity index 72% rename from data/sql/updates/pending_db_world/rev_1727516139226526128.sql rename to data/sql/updates/db_world/2024_09_28_01.sql index a625db345d0f09..d83605ee17f8f0 100644 --- a/data/sql/updates/pending_db_world/rev_1727516139226526128.sql +++ b/data/sql/updates/db_world/2024_09_28_01.sql @@ -1,2 +1,3 @@ +-- DB update 2024_09_28_00 -> 2024_09_28_01 -- UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` & ~2048 WHERE (`entry` = 22056); From 23de73652439ce3d955c8f834c94532fbe8ece02 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Sat, 28 Sep 2024 10:48:58 -0400 Subject: [PATCH 081/119] fix(DB/Spells): Add extra craft chance for Super Healing Potion. (#20064) Init. --- data/sql/updates/pending_db_world/super-healing-extra.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 data/sql/updates/pending_db_world/super-healing-extra.sql diff --git a/data/sql/updates/pending_db_world/super-healing-extra.sql b/data/sql/updates/pending_db_world/super-healing-extra.sql new file mode 100644 index 00000000000000..d2a53bb8549c8a --- /dev/null +++ b/data/sql/updates/pending_db_world/super-healing-extra.sql @@ -0,0 +1,2 @@ +DELETE FROM `skill_extra_item_template` WHERE `spellId` = 28551; +INSERT INTO `skill_extra_item_template` (`spellId`, `requiredSpecialization`, `additionalCreateChance`, `additionalMaxNum`) VALUES (28551, 28675, 14, 4); From 7690c35208429fcca48ab1b7ed7e2b35d060b888 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Sep 2024 14:49:53 +0000 Subject: [PATCH 082/119] chore(DB): import pending files Referenced commit(s): 23de73652439ce3d955c8f834c94532fbe8ece02 --- .../super-healing-extra.sql => db_world/2024_09_28_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/super-healing-extra.sql => db_world/2024_09_28_02.sql} (83%) diff --git a/data/sql/updates/pending_db_world/super-healing-extra.sql b/data/sql/updates/db_world/2024_09_28_02.sql similarity index 83% rename from data/sql/updates/pending_db_world/super-healing-extra.sql rename to data/sql/updates/db_world/2024_09_28_02.sql index d2a53bb8549c8a..8f3db4adb68c1f 100644 --- a/data/sql/updates/pending_db_world/super-healing-extra.sql +++ b/data/sql/updates/db_world/2024_09_28_02.sql @@ -1,2 +1,3 @@ +-- DB update 2024_09_28_01 -> 2024_09_28_02 DELETE FROM `skill_extra_item_template` WHERE `spellId` = 28551; INSERT INTO `skill_extra_item_template` (`spellId`, `requiredSpecialization`, `additionalCreateChance`, `additionalMaxNum`) VALUES (28551, 28675, 14, 4); From 729cf72f0d0a86bf80d2f3da9255500e3be3dc67 Mon Sep 17 00:00:00 2001 From: Grimdhex <176165533+Grimdhex@users.noreply.github.com> Date: Sat, 28 Sep 2024 18:35:35 +0200 Subject: [PATCH 083/119] chore(Apps/Codestyle): add a new check for if statements (#20073) * chore(Apps/CodeStyle): add a new check for if statements * update * Update spell_priest.cpp * Update codestyle.py --- apps/codestyle/codestyle.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/codestyle/codestyle.py b/apps/codestyle/codestyle.py index bad3aee1f66df1..ea580f56b92545 100644 --- a/apps/codestyle/codestyle.py +++ b/apps/codestyle/codestyle.py @@ -31,7 +31,8 @@ def parsing_file(directory: str) -> None: multiple_blank_lines_check(file, file_path) trailing_whitespace_check(file, file_path) get_counter_check(file, file_path) - misc_codestyle_check(file, file_path) + if not file_name.endswith('.cmake') and file_name != 'CMakeLists.txt': + misc_codestyle_check(file, file_path) if file_name != 'Object.h': get_typeid_check(file, file_path) if file_name != 'Unit.h': @@ -223,6 +224,10 @@ def misc_codestyle_check(file: io, file_path: str) -> None: print( f"Please use the syntax 'Class/ObjectType const*' instead of 'const Class/ObjectType*': {file_path} at line {line_number}") check_failed = True + if [match for match in [' if(', ' if ( '] if match in line]: + print( + f"AC have as standard: if (XXXX). Please check spaces in your condition': {file_path} at line {line_number}") + check_failed = True # Handle the script error and update the result output if check_failed: error_handler = True From de93487ecdbe26fa8d6f56e21ce7c89cec3249db Mon Sep 17 00:00:00 2001 From: Mattia Date: Sat, 28 Sep 2024 21:21:29 +0200 Subject: [PATCH 084/119] fix(Core/Script) - Black Temple - Gurtogg Bloodboil - Bewildering Strike mechanics doesnt work as it should (#20074) * spell_gurtogg_bloodboil_bewildering_strike_aura class added * Create spell_gurtogg_bloodboil_bewildering_strike_aura * extension sql added * CanAIAttack condition added * Delete data/sql/updates/pending_db_world/spell_gurtogg_bloodboil_bewildering_strike_aura.sql --- src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp index af5189dad91f57..0b033334ce8d41 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp @@ -136,7 +136,7 @@ struct boss_gurtogg_bloodboil : public BossAI bool CanAIAttack(Unit const* who) const override { - return !who->IsImmunedToDamage(SPELL_SCHOOL_MASK_ALL); + return !who->IsImmunedToDamage(SPELL_SCHOOL_MASK_ALL) && !who->HasUnitState(UNIT_STATE_CONFUSED); } void KilledUnit(Unit* /*victim*/) override From 67f587d958fbd39bffecbabb1ba8322c2da4459e Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Sun, 29 Sep 2024 00:45:59 +0200 Subject: [PATCH 085/119] fix(CI/Codestyle): Fix codestyle CI error introduced with the new rule for ifs. (#20081) --- .../scripts/Outland/BlackTemple/boss_mother_shahraz.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp index bbcc997684143c..d0028399a565f9 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp @@ -226,14 +226,14 @@ class spell_mother_shahraz_fatal_attraction : public SpellScript Position finalDest; // Check if the boss is near stairs to avoid players falling through the platform with random teleports. - if(GetCaster()->GetPositionY() < 194.f) + if (GetCaster()->GetPositionY() < 194.f) finalDest = validTeleportStairsPos[urand(0, 3)]; else { finalDest = GetCaster()->GetNearPosition(frand(minTeleportDist, maxTeleportDist), static_cast(rand_norm()) * static_cast(2 * M_PI), true); // Maybe not necessary but just in case to avoid LOS issues with an object - if(!GetCaster()->IsWithinLOS(finalDest.GetPositionX(), finalDest.GetPositionY(), finalDest.GetPositionZ())) + if (!GetCaster()->IsWithinLOS(finalDest.GetPositionX(), finalDest.GetPositionY(), finalDest.GetPositionZ())) finalDest = GetCaster()->GetNearPosition(frand(minTeleportDist, maxTeleportDist), static_cast(rand_norm()) * static_cast(2 * M_PI), true); /* @note: To avoid teleporting players near a walls, we will define a safe area. From 2e0a57084cb208c7f441f828e8503d7982a8e561 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Sun, 29 Sep 2024 13:13:59 +0200 Subject: [PATCH 086/119] fix(Scripts/ICC): Fix Valkyr "teleportation" effect caused by movement desynchronization between server and client. (#20080) --- .../IcecrownCitadel/boss_the_lich_king.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 2b99e1127d51ab..7ff32d62167c06 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -2417,6 +2417,8 @@ class npc_valkyr_shadowguard : public CreatureScript ObjectGuid _grabbedPlayer; bool didbelow50pct; bool dropped; + bool grabbed; + float _lastSpeed; InstanceScript* _instance; bool IsHeroic() { return me->GetMap()->IsHeroic(); } @@ -2547,6 +2549,8 @@ class npc_valkyr_shadowguard : public CreatureScript if (me->HasUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED)) return; + HandleSpeedChangeIfNeeded(); + switch (_events.ExecuteEvent()) { case EVENT_GRAB_PLAYER: @@ -2557,6 +2561,8 @@ class npc_valkyr_shadowguard : public CreatureScript } break; case EVENT_MOVE_TO_DROP_POS: + grabbed = true; + _lastSpeed = me->GetSpeed(MOVE_WALK); me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD); me->SetCanFly(false); me->SetDisableGravity(false); @@ -2596,6 +2602,24 @@ class npc_valkyr_shadowguard : public CreatureScript break; } } + + // For some reason, when the Valkyr has a slowdown effect, the speed of PointMovementGenerator + // and the speed on the client side differ, which leads to a "teleportation" effect when a stun aura is applied. + // Restarting the motion master on speed change ensures the movement is synced between the server and client. + void HandleSpeedChangeIfNeeded() + { + if (!grabbed || dropped) + return; + + if (me->GetSpeed(MOVE_WALK) == _lastSpeed) + return; + + _lastSpeed = me->GetSpeed(MOVE_WALK); + me->GetMotionMaster()->Clear(); + me->StopMovingOnCurrentPos(); + + _events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0); + } }; CreatureAI* GetAI(Creature* creature) const override From b45166b2d06e20c205d115b94bfea17b3aa92116 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sun, 29 Sep 2024 13:18:36 +0200 Subject: [PATCH 087/119] fix(Core/Battlefield): shapeshift aura removal from players on leaving arena or battleground (#20069) no longer remove shapeshift auras from player on leave --- src/server/game/Battlegrounds/Battleground.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index b9858b3506106f..1e951e4b08455d 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -1006,6 +1006,10 @@ void Battleground::RemovePlayerAtLeave(Player* player) // BG subclass specific code RemovePlayer(player); + // should remove spirit of redemption + if (player->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION)) + player->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT); + // if the player was a match participant if (participant) { @@ -1049,9 +1053,6 @@ void Battleground::RemovePlayerAtLeave(Player* player) } } - // Remove shapeshift auras - player->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT); - player->SetBattlegroundId(0, BATTLEGROUND_TYPE_NONE, PLAYER_MAX_BATTLEGROUND_QUEUES, false, false, TEAM_NEUTRAL); // Xinef: remove all criterias on bg leave From a4721c28212bb2e73cdae0062e68cdae0340a86b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 13:19:40 +0200 Subject: [PATCH 088/119] refactor(src/server/game/Handlers): remove unused imports (#20087) --- src/server/game/Handlers/AddonHandler.h | 2 -- src/server/game/Handlers/AuctionHouseHandler.cpp | 1 - src/server/game/Handlers/BankHandler.cpp | 1 - src/server/game/Handlers/CharacterHandler.cpp | 1 - src/server/game/Handlers/CombatHandler.cpp | 1 - src/server/game/Handlers/DuelHandler.cpp | 1 - src/server/game/Handlers/GuildHandler.cpp | 3 --- src/server/game/Handlers/NPCHandler.cpp | 1 - src/server/game/Handlers/PetHandler.cpp | 1 - src/server/game/Handlers/SkillHandler.cpp | 1 - src/server/game/Handlers/SpellHandler.cpp | 1 - src/server/game/Handlers/TaxiHandler.cpp | 1 - 12 files changed, 15 deletions(-) diff --git a/src/server/game/Handlers/AddonHandler.h b/src/server/game/Handlers/AddonHandler.h index 0bec402bf80453..3382b3e031bb8a 100644 --- a/src/server/game/Handlers/AddonHandler.h +++ b/src/server/game/Handlers/AddonHandler.h @@ -18,8 +18,6 @@ #ifndef __ADDONHANDLER_H #define __ADDONHANDLER_H -#include "Common.h" -#include "Config.h" #include "WorldPacket.h" class AddonHandler diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index bf5fbc06951366..852022085fd9c6 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -25,7 +25,6 @@ #include "Opcodes.h" #include "Player.h" #include "ScriptMgr.h" -#include "UpdateMask.h" #include "World.h" #include "WorldPacket.h" #include "WorldSession.h" diff --git a/src/server/game/Handlers/BankHandler.cpp b/src/server/game/Handlers/BankHandler.cpp index d31ce3bb6f24ce..85e1bd8780f859 100644 --- a/src/server/game/Handlers/BankHandler.cpp +++ b/src/server/game/Handlers/BankHandler.cpp @@ -19,7 +19,6 @@ #include "DBCStores.h" #include "Item.h" #include "Log.h" -#include "Opcodes.h" #include "Player.h" #include "WorldPacket.h" #include "WorldSession.h" diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 77fe6a4c153c31..ba650b87103cac 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -53,7 +53,6 @@ #include "StringConvert.h" #include "Tokenize.h" #include "Transport.h" -#include "UpdateMask.h" #include "Util.h" #include "World.h" #include "WorldPacket.h" diff --git a/src/server/game/Handlers/CombatHandler.cpp b/src/server/game/Handlers/CombatHandler.cpp index 25399927d0b140..4ea3cb00e277f2 100644 --- a/src/server/game/Handlers/CombatHandler.cpp +++ b/src/server/game/Handlers/CombatHandler.cpp @@ -19,7 +19,6 @@ #include "CreatureAI.h" #include "Log.h" #include "ObjectAccessor.h" -#include "ObjectDefines.h" #include "Opcodes.h" #include "Player.h" #include "Vehicle.h" diff --git a/src/server/game/Handlers/DuelHandler.cpp b/src/server/game/Handlers/DuelHandler.cpp index 77f496111ca339..88a3d7949ba6d6 100644 --- a/src/server/game/Handlers/DuelHandler.cpp +++ b/src/server/game/Handlers/DuelHandler.cpp @@ -19,7 +19,6 @@ #include "Log.h" #include "Opcodes.h" #include "Player.h" -#include "UpdateData.h" #include "WorldPacket.h" #include "WorldSession.h" diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp index 64838014574764..eac43c69b55f41 100644 --- a/src/server/game/Handlers/GuildHandler.cpp +++ b/src/server/game/Handlers/GuildHandler.cpp @@ -20,10 +20,7 @@ #include "GuildPackets.h" #include "Log.h" #include "ObjectMgr.h" -#include "Opcodes.h" #include "SocialMgr.h" -#include "World.h" -#include "WorldPacket.h" #include "WorldSession.h" void WorldSession::HandleGuildQueryOpcode(WorldPackets::Guild::QueryGuildInfo& query) diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index 5f68af663b6d6f..7efb33e06252c0 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -29,7 +29,6 @@ #include "ScriptMgr.h" #include "SpellInfo.h" #include "SpellMgr.h" -#include "UpdateMask.h" #include "WorldPacket.h" #include "WorldSession.h" #include diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 328c5a3fb74623..31bbfd07ed1150 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -28,7 +28,6 @@ #include "Pet.h" #include "PetPackets.h" #include "Player.h" -#include "QueryHolder.h" #include "Spell.h" #include "SpellInfo.h" #include "SpellMgr.h" diff --git a/src/server/game/Handlers/SkillHandler.cpp b/src/server/game/Handlers/SkillHandler.cpp index 6f24298bb4aa12..5768900cc5abd1 100644 --- a/src/server/game/Handlers/SkillHandler.cpp +++ b/src/server/game/Handlers/SkillHandler.cpp @@ -17,7 +17,6 @@ #include "Log.h" #include "Opcodes.h" -#include "Pet.h" #include "Player.h" #include "SpellMgr.h" #include "WorldPacket.h" diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 079ebf7b5be3ae..bfeb29179ad70f 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -26,7 +26,6 @@ #include "SpellAuraEffects.h" #include "SpellAuras.h" #include "SpellMgr.h" -#include "TemporarySummon.h" #include "Totem.h" #include "TotemPackets.h" #include "Vehicle.h" diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp index 5296fc1a3d2b95..8a76a2bd631c81 100644 --- a/src/server/game/Handlers/TaxiHandler.cpp +++ b/src/server/game/Handlers/TaxiHandler.cpp @@ -20,7 +20,6 @@ #include "Opcodes.h" #include "Player.h" #include "ScriptMgr.h" -#include "UpdateMask.h" #include "WaypointMovementGenerator.h" #include "WorldPacket.h" #include "WorldSession.h" From 5a96ce283dcb4bc74a8f3bf8ca599c478e6ae5b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 13:20:21 +0200 Subject: [PATCH 089/119] refactor(Scripts): remove unused imports (#20086) --- src/server/scripts/Commands/cs_character.cpp | 1 - src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 1 - .../scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp | 1 + src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h | 1 - src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp | 1 - src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp | 1 - .../scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h | 1 - src/server/scripts/World/go_scripts.cpp | 1 - 8 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp index 8e5311a65cb074..6aa610ef560814 100644 --- a/src/server/scripts/Commands/cs_character.cpp +++ b/src/server/scripts/Commands/cs_character.cpp @@ -28,7 +28,6 @@ EndScriptData */ #include "CommandScript.h" #include "DBCStores.h" #include "DatabaseEnv.h" -#include "Log.h" #include "ObjectAccessor.h" #include "ObjectMgr.h" #include "Player.h" diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index bc0be89fe89eb6..5b8d272f632334 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -29,7 +29,6 @@ #include "SpellInfo.h" #include "SpellScript.h" #include "SpellScriptLoader.h" -#include "Vehicle.h" /*###### ## npc_eye_of_acherus diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index df7969c4c36c81..3a70c534ebecef 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -27,6 +27,7 @@ #include "PassiveAI.h" #include "ScriptedCreature.h" #include "ScriptedEscortAI.h" +#include "ScriptedGossip.h" #include "SmartAI.h" #include "SpellAuraEffects.h" #include "SpellScriptLoader.h" diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h index 5c94d48800dea9..99b873d1a0e24b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h @@ -26,7 +26,6 @@ #include "PassiveAI.h" #include "Player.h" #include "ScriptedCreature.h" -#include "ScriptedGossip.h" #include "SpellAuraEffects.h" #include "SpellScript.h" #include "SpellScriptLoader.h" diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp index a19b91a95c8eb1..cda5a3629c0ac1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp @@ -24,7 +24,6 @@ #include "SpellAuras.h" #include "SpellScript.h" #include "SpellScriptLoader.h" -#include "Vehicle.h" #include "ulduar.h" #define SPELL_FLAME_JETS_10 62680 diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 300acd1e2808bf..dd8e7ae957a046 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -21,7 +21,6 @@ #include "Player.h" #include "ScriptedCreature.h" #include "Transport.h" -#include "Vehicle.h" #include "WorldPacket.h" #include "ulduar.h" diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h index 23fc4accec60bf..5b0056ecbedc83 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h @@ -19,7 +19,6 @@ #define DEF_BLOOD_FURNACE_H #include "CreatureAIImpl.h" -#include "Player.h" #define DataHeader "BF" diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 92782ae39481bd..567850c004f41c 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -26,7 +26,6 @@ #include "ScriptedCreature.h" #include "ScriptedGossip.h" #include "Spell.h" -#include "WorldSession.h" // Ours /*###### From 34a3b4ee47e5f835422403e615e5d484ed3a5007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 14:07:45 +0200 Subject: [PATCH 090/119] feat(Core/BG): allow MinPlayersPerTeam override for low-levels (#20083) --- .../apps/worldserver/worldserver.conf.dist | 7 +++++++ .../game/Battlegrounds/Battleground.cpp | 2 ++ src/server/game/Battlegrounds/Battleground.h | 16 ++++++++++++++- .../game/Battlegrounds/BattlegroundQueue.cpp | 8 +++++--- .../game/Battlegrounds/BattlegroundUtils.cpp | 20 +++++++++++++++++++ .../game/Battlegrounds/BattlegroundUtils.h | 8 ++++++++ src/server/game/World/IWorld.h | 1 + src/server/game/World/World.cpp | 1 + 8 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 src/server/game/Battlegrounds/BattlegroundUtils.cpp create mode 100644 src/server/game/Battlegrounds/BattlegroundUtils.h diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 31d309381d603a..ca79c6b08b7569 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -3675,6 +3675,13 @@ Battleground.BerserkingBuffRespawn = 120 Battleground.SpeedBuffRespawn = 150 +# +# Battleground.Override.LowLevels.MinPlayers +# Description: Overrides the minimum number of required players per team for all levels < MaxPlayerLevel +# Default: 0 (Disabled) + +Battleground.Override.LowLevels.MinPlayers = 0 + # ################################################################################################### diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 1e951e4b08455d..792e5434242087 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -146,6 +146,7 @@ Battleground::Battleground() m_LastResurrectTime = 0; m_ArenaType = 0; m_IsArena = false; + m_IsTemplate = true; m_WinnerId = PVP_TEAM_NEUTRAL; m_StartTime = 0; m_ResetStatTimer = 0; @@ -1822,6 +1823,7 @@ GraveyardStruct const* Battleground::GetClosestGraveyard(Player* player) void Battleground::SetBracket(PvPDifficultyEntry const* bracketEntry) { + m_IsTemplate = false; m_BracketId = bracketEntry->GetBracketId(); SetLevelRange(bracketEntry->minLevel, bracketEntry->maxLevel); } diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h index 5d7fc3c87ad239..4ab13e9d86e347 100644 --- a/src/server/game/Battlegrounds/Battleground.h +++ b/src/server/game/Battlegrounds/Battleground.h @@ -23,6 +23,7 @@ #include "DBCEnums.h" #include "GameObject.h" #include "SharedDefines.h" +#include "World.h" class Creature; class GameObject; @@ -337,8 +338,20 @@ class Battleground [[nodiscard]] uint32 GetMinLevel() const { return m_LevelMin; } [[nodiscard]] uint32 GetMaxLevel() const { return m_LevelMax; } + [[nodiscard]] bool isTemplate() const { return m_IsTemplate; } + [[nodiscard]] bool isMaxLevel() const + { + // NOTE: this only works when the BG is not a template but the real BG + auto maxPlayerLevel = sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL); + return GetMinLevel() <= maxPlayerLevel && maxPlayerLevel <= GetMaxLevel(); + } + [[nodiscard]] uint32 GetMaxPlayersPerTeam() const { return m_MaxPlayersPerTeam; } - [[nodiscard]] uint32 GetMinPlayersPerTeam() const { return m_MinPlayersPerTeam; } + [[nodiscard]] uint32 GetMinPlayersPerTeam() const + { + auto lowLevelsOverride = sWorld->getIntConfig(CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS); + return (lowLevelsOverride && !isTemplate() && !isMaxLevel() && !isArena()) ? lowLevelsOverride : m_MinPlayersPerTeam; + } [[nodiscard]] int32 GetStartDelayTime() const { return m_StartDelayTime; } [[nodiscard]] uint8 GetArenaType() const { return m_ArenaType; } @@ -658,6 +671,7 @@ class Battleground bool _InBGFreeSlotQueue{ false }; // used to make sure that BG is only once inserted into the BattlegroundMgr.BGFreeSlotQueue[bgTypeId] deque bool m_SetDeleteThis; // used for safe deletion of the bg after end / all players leave bool m_IsArena; + bool m_IsTemplate; PvPTeamId m_WinnerId; int32 m_StartDelayTime; bool m_IsRated; // is this battle rated? diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp index 44673533e3cf92..9429afd9e79a9c 100644 --- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp +++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp @@ -31,6 +31,8 @@ #include "ScriptMgr.h" #include +#include "BattlegroundUtils.h" + /*********************************************************/ /*** BATTLEGROUND QUEUE SYSTEM ***/ /*********************************************************/ @@ -760,7 +762,7 @@ void BattlegroundQueue::BattlegroundQueueUpdate(uint32 diff, BattlegroundTypeId } // get min and max players per team - uint32 MinPlayersPerTeam = bg_template->GetMinPlayersPerTeam(); + uint32 MinPlayersPerTeam = GetMinPlayersPerTeam(bg_template, bracketEntry); uint32 MaxPlayersPerTeam = bg_template->GetMaxPlayersPerTeam(); if (bg_template->isArena()) @@ -996,7 +998,7 @@ void BattlegroundQueue::BattlegroundQueueAnnouncerUpdate(uint32 diff, Battlegrou _queueAnnouncementTimer[bracket_id] = -1; auto bgName = bg_template->GetName(); - uint32 MaxPlayers = bg_template->GetMinPlayersPerTeam() * 2; + uint32 MaxPlayers = GetMinPlayersPerTeam(bg_template, bracketEntry) * 2; uint32 q_min_level = std::min(bracketEntry->minLevel, (uint32) 80); uint32 q_max_level = std::min(bracketEntry->maxLevel, (uint32) 80); @@ -1047,7 +1049,7 @@ void BattlegroundQueue::SendMessageBGQueue(Player* leader, Battleground* bg, PvP BattlegroundBracketId bracketId = bracketEntry->GetBracketId(); auto bgName = bg->GetName(); - uint32 MinPlayers = bg->GetMinPlayersPerTeam(); + uint32 MinPlayers = GetMinPlayersPerTeam(bg, bracketEntry); uint32 MaxPlayers = MinPlayers * 2; uint32 q_min_level = std::min(bracketEntry->minLevel, (uint32)80); uint32 q_max_level = std::min(bracketEntry->maxLevel, (uint32)80); diff --git a/src/server/game/Battlegrounds/BattlegroundUtils.cpp b/src/server/game/Battlegrounds/BattlegroundUtils.cpp new file mode 100644 index 00000000000000..54703472bfe330 --- /dev/null +++ b/src/server/game/Battlegrounds/BattlegroundUtils.cpp @@ -0,0 +1,20 @@ +#include "BattlegroundUtils.h" +#include "World.h" + +uint32 GetMinPlayersPerTeam(Battleground* bg, PvPDifficultyEntry const* bracketEntry) +{ + // The problem addressed here is that methods such as bg->GetMinLevel() and bg->GetMaxLevel() have a different meaning + // according to whether the BG is a template (then it's the value from the `battleground_template` table) + // or if it's the real BG (then it's the specific bracket minimum level, e.g. "60" for "60-69"). + + if (!bg->isTemplate() || bg->isArena()) + { + return bg->GetMinPlayersPerTeam(); + } + + auto maxPlayerLevel = sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL); + auto isMaxLevel = bracketEntry->minLevel <= maxPlayerLevel && maxPlayerLevel <= bracketEntry->maxLevel; + auto lowLevelsOverride = sWorld->getIntConfig(CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS); + + return (lowLevelsOverride && !isMaxLevel) ? lowLevelsOverride : bg->GetMinPlayersPerTeam(); +} diff --git a/src/server/game/Battlegrounds/BattlegroundUtils.h b/src/server/game/Battlegrounds/BattlegroundUtils.h new file mode 100644 index 00000000000000..9d18cbb8256603 --- /dev/null +++ b/src/server/game/Battlegrounds/BattlegroundUtils.h @@ -0,0 +1,8 @@ +#ifndef BATTLEGROUNDUTILS_H +#define BATTLEGROUNDUTILS_H + +#include "Battleground.h" + +uint32 GetMinPlayersPerTeam(Battleground* bg, PvPDifficultyEntry const* bracketEntry); + +#endif // BATTLEGROUNDUTILS_H diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index 7b3551a3226508..af08900c358e16 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -309,6 +309,7 @@ enum WorldIntConfigs CONFIG_DEATH_SICKNESS_LEVEL, CONFIG_INSTANT_LOGOUT, CONFIG_DISABLE_BREATHING, + CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS, CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_SPAM_DELAY, CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_TIMER, CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER, diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 1500f3ec6bcc4e..0cd40959ee7a27 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1112,6 +1112,7 @@ void World::LoadConfigSettings(bool reload) _float_configs[CONFIG_LISTEN_RANGE_TEXTEMOTE] = sConfigMgr->GetOption("ListenRange.TextEmote", 25.0f); _float_configs[CONFIG_LISTEN_RANGE_YELL] = sConfigMgr->GetOption("ListenRange.Yell", 300.0f); + _int_configs[CONFIG_BATTLEGROUND_OVERRIDE_LOWLEVELS_MINPLAYERS] = sConfigMgr->GetOption("Battleground.Override.LowLevels.MinPlayers", 0); _bool_configs[CONFIG_BATTLEGROUND_DISABLE_QUEST_SHARE_IN_BG] = sConfigMgr->GetOption("Battleground.DisableQuestShareInBG", false); _bool_configs[CONFIG_BATTLEGROUND_DISABLE_READY_CHECK_IN_BG] = sConfigMgr->GetOption("Battleground.DisableReadyCheckInBG", false); _bool_configs[CONFIG_BATTLEGROUND_CAST_DESERTER] = sConfigMgr->GetOption("Battleground.CastDeserter", true); From 1ebb53a24859fff10b957987f0ea0358e6ffcd88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 18:10:50 +0200 Subject: [PATCH 091/119] refactor(src/server/apps|database|shared): remove unused imports (#19505) --- src/server/apps/authserver/Authentication/AuthCodes.h | 1 - src/server/apps/authserver/Main.cpp | 1 - src/server/apps/authserver/Server/AuthSession.cpp | 1 - src/server/apps/authserver/Server/AuthSession.h | 1 - src/server/apps/worldserver/ACSoap/ACSoap.h | 1 - src/server/apps/worldserver/RemoteAccess/RASession.h | 2 -- src/server/database/Database/AdhocStatement.cpp | 1 - src/server/database/Database/DatabaseEnv.h | 1 - src/server/database/Database/DatabaseEnvFwd.h | 1 - src/server/database/Database/Field.cpp | 1 - src/server/database/Database/Field.h | 1 - src/server/database/Database/MySQLConnection.cpp | 1 - src/server/database/Database/MySQLConnection.h | 1 - src/server/database/Database/PreparedStatement.cpp | 1 - src/server/database/Database/PreparedStatement.h | 1 - src/server/database/Database/QueryCallback.h | 1 - src/server/database/Database/Transaction.h | 1 - src/server/database/Updater/DBUpdater.cpp | 1 - src/server/database/Updater/UpdateFetcher.cpp | 2 ++ src/server/game/Scripting/ScriptDefines/PlayerScript.h | 1 + src/server/shared/DataStores/DBCDatabaseLoader.cpp | 1 + src/server/shared/DataStores/DBCDatabaseLoader.h | 1 - src/server/shared/DataStores/DBCStorageIterator.h | 1 - src/server/shared/DataStores/DBCStructure.h | 1 - src/server/shared/Realms/Realm.cpp | 1 - src/server/shared/Realms/RealmList.h | 1 - src/server/shared/Secrets/SecretMgr.cpp | 1 + src/server/shared/Secrets/SecretMgr.h | 1 - 28 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/server/apps/authserver/Authentication/AuthCodes.h b/src/server/apps/authserver/Authentication/AuthCodes.h index 35037e0a3bc379..8482b3acf9c574 100644 --- a/src/server/apps/authserver/Authentication/AuthCodes.h +++ b/src/server/apps/authserver/Authentication/AuthCodes.h @@ -19,7 +19,6 @@ #define _AUTHCODES_H #include "Define.h" -#include enum AuthResult { diff --git a/src/server/apps/authserver/Main.cpp b/src/server/apps/authserver/Main.cpp index 4c110db7aaaf49..dd07cf0ae989f1 100644 --- a/src/server/apps/authserver/Main.cpp +++ b/src/server/apps/authserver/Main.cpp @@ -30,7 +30,6 @@ #include "DatabaseEnv.h" #include "DatabaseLoader.h" #include "DeadlineTimer.h" -#include "GitRevision.h" #include "IPLocation.h" #include "IoContext.h" #include "Log.h" diff --git a/src/server/apps/authserver/Server/AuthSession.cpp b/src/server/apps/authserver/Server/AuthSession.cpp index bd9e0c61f1a7ba..f07735615120fc 100644 --- a/src/server/apps/authserver/Server/AuthSession.cpp +++ b/src/server/apps/authserver/Server/AuthSession.cpp @@ -23,7 +23,6 @@ #include "CryptoHash.h" #include "CryptoRandom.h" #include "DatabaseEnv.h" -#include "Errors.h" #include "IPLocation.h" #include "Log.h" #include "RealmList.h" diff --git a/src/server/apps/authserver/Server/AuthSession.h b/src/server/apps/authserver/Server/AuthSession.h index b85421327e374d..f6f7c9ddefa5b7 100644 --- a/src/server/apps/authserver/Server/AuthSession.h +++ b/src/server/apps/authserver/Server/AuthSession.h @@ -28,7 +28,6 @@ #include "SRP6.h" #include "Socket.h" #include -#include using boost::asio::ip::tcp; diff --git a/src/server/apps/worldserver/ACSoap/ACSoap.h b/src/server/apps/worldserver/ACSoap/ACSoap.h index fd62012b58db01..4463edf640bb78 100644 --- a/src/server/apps/worldserver/ACSoap/ACSoap.h +++ b/src/server/apps/worldserver/ACSoap/ACSoap.h @@ -20,7 +20,6 @@ #include "Define.h" #include -#include void process_message(struct soap* soap_message); void ACSoapThread(const std::string& host, uint16 port); diff --git a/src/server/apps/worldserver/RemoteAccess/RASession.h b/src/server/apps/worldserver/RemoteAccess/RASession.h index b2c8ab948fa659..2addfd26236305 100644 --- a/src/server/apps/worldserver/RemoteAccess/RASession.h +++ b/src/server/apps/worldserver/RemoteAccess/RASession.h @@ -18,11 +18,9 @@ #ifndef __RASESSION_H__ #define __RASESSION_H__ -#include "Common.h" #include #include #include -#include using boost::asio::ip::tcp; diff --git a/src/server/database/Database/AdhocStatement.cpp b/src/server/database/Database/AdhocStatement.cpp index cb39769cae85f6..1eafaa728e3155 100644 --- a/src/server/database/Database/AdhocStatement.cpp +++ b/src/server/database/Database/AdhocStatement.cpp @@ -16,7 +16,6 @@ */ #include "AdhocStatement.h" -#include "Errors.h" #include "MySQLConnection.h" #include "QueryResult.h" diff --git a/src/server/database/Database/DatabaseEnv.h b/src/server/database/Database/DatabaseEnv.h index eec79f00494ef6..7bf4a32077a412 100644 --- a/src/server/database/Database/DatabaseEnv.h +++ b/src/server/database/Database/DatabaseEnv.h @@ -25,7 +25,6 @@ #include "Implementation/LoginDatabase.h" #include "Implementation/WorldDatabase.h" -#include "Field.h" #include "PreparedStatement.h" #include "QueryCallback.h" #include "QueryResult.h" diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h index 34a590c4562e6a..eb3276d16418b0 100644 --- a/src/server/database/Database/DatabaseEnvFwd.h +++ b/src/server/database/Database/DatabaseEnvFwd.h @@ -19,7 +19,6 @@ #define DatabaseEnvFwd_h__ #include -#include struct QueryResultFieldMetadata; class Field; diff --git a/src/server/database/Database/Field.cpp b/src/server/database/Database/Field.cpp index ad552699d9097f..1120b754e5881a 100644 --- a/src/server/database/Database/Field.cpp +++ b/src/server/database/Database/Field.cpp @@ -20,7 +20,6 @@ #include "Log.h" #include "MySQLHacks.h" #include "StringConvert.h" -#include "Types.h" Field::Field() { diff --git a/src/server/database/Database/Field.h b/src/server/database/Database/Field.h index 6af5cb807c1a20..bfdd3cc1a1abfc 100644 --- a/src/server/database/Database/Field.h +++ b/src/server/database/Database/Field.h @@ -18,7 +18,6 @@ #ifndef _FIELD_H #define _FIELD_H -#include "DatabaseEnvFwd.h" #include "Define.h" #include "Duration.h" #include diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp index ebe2bb894adc7b..e889ea65ad44e0 100644 --- a/src/server/database/Database/MySQLConnection.cpp +++ b/src/server/database/Database/MySQLConnection.cpp @@ -20,7 +20,6 @@ #include "Log.h" #include "MySQLHacks.h" #include "MySQLPreparedStatement.h" -#include "MySQLWorkaround.h" #include "PreparedStatement.h" #include "QueryResult.h" #include "StringConvert.h" diff --git a/src/server/database/Database/MySQLConnection.h b/src/server/database/Database/MySQLConnection.h index 9241b7123f467a..4b87a0171202bb 100644 --- a/src/server/database/Database/MySQLConnection.h +++ b/src/server/database/Database/MySQLConnection.h @@ -21,7 +21,6 @@ #include "DatabaseEnvFwd.h" #include "Define.h" #include -#include #include #include #include diff --git a/src/server/database/Database/PreparedStatement.cpp b/src/server/database/Database/PreparedStatement.cpp index 4b8f870ea7d7e0..bc9056f36f96bc 100644 --- a/src/server/database/Database/PreparedStatement.cpp +++ b/src/server/database/Database/PreparedStatement.cpp @@ -19,7 +19,6 @@ #include "Errors.h" #include "Log.h" #include "MySQLConnection.h" -#include "MySQLPreparedStatement.h" #include "MySQLWorkaround.h" #include "QueryResult.h" diff --git a/src/server/database/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h index 766a8e8e261740..de04749fe03939 100644 --- a/src/server/database/Database/PreparedStatement.h +++ b/src/server/database/Database/PreparedStatement.h @@ -20,7 +20,6 @@ #include "Define.h" #include "Duration.h" -#include "Optional.h" #include "SQLOperation.h" #include #include diff --git a/src/server/database/Database/QueryCallback.h b/src/server/database/Database/QueryCallback.h index c1ee4ea98d5881..9710f35dad5b6c 100644 --- a/src/server/database/Database/QueryCallback.h +++ b/src/server/database/Database/QueryCallback.h @@ -24,7 +24,6 @@ #include #include #include -#include class AC_DATABASE_API QueryCallback { diff --git a/src/server/database/Database/Transaction.h b/src/server/database/Database/Transaction.h index 448925053f3e3d..973e657fbd1f90 100644 --- a/src/server/database/Database/Transaction.h +++ b/src/server/database/Database/Transaction.h @@ -24,7 +24,6 @@ #include "StringFormat.h" #include #include -#include #include /*! Transactions, high level class. */ diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index ee35fc5e6f40dd..2f91224cefe3f4 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -20,7 +20,6 @@ #include "Config.h" #include "DatabaseEnv.h" #include "DatabaseLoader.h" -#include "GitRevision.h" #include "Log.h" #include "StartProcess.h" #include "UpdateFetcher.h" diff --git a/src/server/database/Updater/UpdateFetcher.cpp b/src/server/database/Updater/UpdateFetcher.cpp index 720662ff6d6c85..79e288d1e25b8b 100644 --- a/src/server/database/Updater/UpdateFetcher.cpp +++ b/src/server/database/Updater/UpdateFetcher.cpp @@ -25,6 +25,8 @@ #include #include +#include "QueryResult.h" + using namespace std::filesystem; struct UpdateFetcher::DirectoryEntry diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.h b/src/server/game/Scripting/ScriptDefines/PlayerScript.h index 4b13b96e47ae77..21df41a2d053a2 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.h +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.h @@ -19,6 +19,7 @@ #define SCRIPT_OBJECT_PLAYER_SCRIPT_H_ #include "ScriptObject.h" +#include "SharedDefines.h" #include // TODO to remove diff --git a/src/server/shared/DataStores/DBCDatabaseLoader.cpp b/src/server/shared/DataStores/DBCDatabaseLoader.cpp index 1985b01bb5f566..4208b3c40bb694 100644 --- a/src/server/shared/DataStores/DBCDatabaseLoader.cpp +++ b/src/server/shared/DataStores/DBCDatabaseLoader.cpp @@ -18,6 +18,7 @@ #include "DBCDatabaseLoader.h" #include "DatabaseEnv.h" #include "Errors.h" +#include "QueryResult.h" #include "StringFormat.h" DBCDatabaseLoader::DBCDatabaseLoader(char const* tableName, char const* dbcFormatString, std::vector& stringPool) diff --git a/src/server/shared/DataStores/DBCDatabaseLoader.h b/src/server/shared/DataStores/DBCDatabaseLoader.h index 71e72b07f26b0f..4d7627ffb96133 100644 --- a/src/server/shared/DataStores/DBCDatabaseLoader.h +++ b/src/server/shared/DataStores/DBCDatabaseLoader.h @@ -19,7 +19,6 @@ #define DBCDatabaseLoader_h__ #include "DBCFileLoader.h" -#include #include struct DBCDatabaseLoader diff --git a/src/server/shared/DataStores/DBCStorageIterator.h b/src/server/shared/DataStores/DBCStorageIterator.h index a546cc8c8b8677..c1ea3a07133e5f 100644 --- a/src/server/shared/DataStores/DBCStorageIterator.h +++ b/src/server/shared/DataStores/DBCStorageIterator.h @@ -19,7 +19,6 @@ #define DBCStorageIterator_h__ #include "Define.h" -#include template class DBCStorageIterator diff --git a/src/server/shared/DataStores/DBCStructure.h b/src/server/shared/DataStores/DBCStructure.h index 6dfcadb48656ef..0271352767719e 100644 --- a/src/server/shared/DataStores/DBCStructure.h +++ b/src/server/shared/DataStores/DBCStructure.h @@ -20,7 +20,6 @@ #include "DBCEnums.h" #include "Define.h" -#include "SharedDefines.h" #include "Util.h" #include #include diff --git a/src/server/shared/Realms/Realm.cpp b/src/server/shared/Realms/Realm.cpp index f8163797728823..d5cb544f10571f 100644 --- a/src/server/shared/Realms/Realm.cpp +++ b/src/server/shared/Realms/Realm.cpp @@ -16,7 +16,6 @@ */ #include "Realm.h" -#include "IpAddress.h" #include "IpNetwork.h" #include diff --git a/src/server/shared/Realms/RealmList.h b/src/server/shared/Realms/RealmList.h index b82ed816b6abaf..f047af64c337e3 100644 --- a/src/server/shared/Realms/RealmList.h +++ b/src/server/shared/Realms/RealmList.h @@ -22,7 +22,6 @@ #include "Realm.h" #include #include -#include #include struct RealmBuildInfo diff --git a/src/server/shared/Secrets/SecretMgr.cpp b/src/server/shared/Secrets/SecretMgr.cpp index 5f4d345b5693c5..bb8602778ee556 100644 --- a/src/server/shared/Secrets/SecretMgr.cpp +++ b/src/server/shared/Secrets/SecretMgr.cpp @@ -23,6 +23,7 @@ #include "DatabaseEnv.h" #include "Errors.h" #include "Log.h" +#include "QueryResult.h" #include "SharedDefines.h" #define SECRET_FLAG_FOR(key, val, server) server ## _ ## key = (val ## ull << (16*SERVER_PROCESS_ ## server)) diff --git a/src/server/shared/Secrets/SecretMgr.h b/src/server/shared/Secrets/SecretMgr.h index 8e891aa027bb88..8c6ceb20dfa87d 100644 --- a/src/server/shared/Secrets/SecretMgr.h +++ b/src/server/shared/Secrets/SecretMgr.h @@ -19,7 +19,6 @@ #define __ACORE_SECRETMGR_H__ #include "BigNumber.h" -#include "Common.h" #include "Log.h" #include "Optional.h" #include From 6e2306f24affb4535db422c33f6598a2d2704cb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 18:14:12 +0200 Subject: [PATCH 092/119] refactor(src/server/game/Movement): remove unused imports (#20098) --- src/server/game/Movement/MovementGenerator.h | 2 -- .../Movement/MovementGenerators/ConfusedMovementGenerator.cpp | 2 -- .../Movement/MovementGenerators/EscortMovementGenerator.cpp | 2 -- .../Movement/MovementGenerators/FleeingMovementGenerator.cpp | 1 - .../game/Movement/MovementGenerators/PointMovementGenerator.cpp | 1 - 5 files changed, 8 deletions(-) diff --git a/src/server/game/Movement/MovementGenerator.h b/src/server/game/Movement/MovementGenerator.h index 2f317ec484e8ff..4ddd4a1d436fb2 100644 --- a/src/server/game/Movement/MovementGenerator.h +++ b/src/server/game/Movement/MovementGenerator.h @@ -18,11 +18,9 @@ #ifndef ACORE_MOVEMENTGENERATOR_H #define ACORE_MOVEMENTGENERATOR_H -#include "Common.h" #include "Define.h" #include "FactoryHolder.h" #include "MotionMaster.h" -#include "ObjectRegistry.h" class Unit; diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp index 2e36eb0d966a0d..c331bf19f32bf5 100644 --- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp @@ -18,10 +18,8 @@ #include "ConfusedMovementGenerator.h" #include "Creature.h" #include "MapMgr.h" -#include "MoveSpline.h" #include "MoveSplineInit.h" #include "Player.h" -#include "VMapFactory.h" #ifdef MAP_BASED_RAND_GEN #define rand_norm() unit.rand_norm() diff --git a/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp index a25881893655ea..14133dbe2664e6 100644 --- a/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/EscortMovementGenerator.cpp @@ -18,8 +18,6 @@ #include "EscortMovementGenerator.h" #include "Creature.h" #include "CreatureAI.h" -#include "Errors.h" -#include "MoveSpline.h" #include "MoveSplineInit.h" #include "Player.h" diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp index c9bcbfd9ba53cc..2547e4ddf318e0 100644 --- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp @@ -22,7 +22,6 @@ #include "MoveSplineInit.h" #include "ObjectAccessor.h" #include "Player.h" -#include "VMapFactory.h" #define MIN_QUIET_DISTANCE 28.0f #define MAX_QUIET_DISTANCE 43.0f diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp index e77fd91074b288..fdce9424807a8e 100644 --- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp @@ -18,7 +18,6 @@ #include "PointMovementGenerator.h" #include "Creature.h" #include "CreatureAI.h" -#include "Errors.h" #include "MoveSpline.h" #include "MoveSplineInit.h" #include "ObjectAccessor.h" From 1932fd0c8a4798849ec27c5fa9a07d0a389029c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 18:14:46 +0200 Subject: [PATCH 093/119] refactor(src/server/game/Battle*): remove unused imports (#20097) --- src/server/game/Battlefield/Battlefield.h | 2 -- src/server/game/Battlefield/Zones/BattlefieldWG.h | 1 - src/server/game/Battlegrounds/ArenaScore.h | 1 + src/server/game/Battlegrounds/ArenaTeam.h | 1 - src/server/game/Battlegrounds/BattlegroundMgr.h | 2 -- src/server/game/Battlegrounds/BattlegroundScore.h | 1 - src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp | 1 - src/server/game/Battlegrounds/Zones/BattlegroundEY.h | 1 - src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp | 2 -- 9 files changed, 1 insertion(+), 11 deletions(-) diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h index 12bae233882e12..e04b180ba3a6dc 100644 --- a/src/server/game/Battlefield/Battlefield.h +++ b/src/server/game/Battlefield/Battlefield.h @@ -22,8 +22,6 @@ #include "GameObject.h" #include "ObjectAccessor.h" #include "SharedDefines.h" -#include "Utilities/Util.h" -#include "WorldPacket.h" #include "ZoneScript.h" enum BattlefieldTypes diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 1c4cb586d2ce40..858288ad01b346 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -22,7 +22,6 @@ #include "Log.h" #include "ObjectAccessor.h" #include "World.h" -#include "WorldPacket.h" class Group; class BattlefieldWG; diff --git a/src/server/game/Battlegrounds/ArenaScore.h b/src/server/game/Battlegrounds/ArenaScore.h index 3363c60f6d0ce2..4535b6c14dfad3 100644 --- a/src/server/game/Battlegrounds/ArenaScore.h +++ b/src/server/game/Battlegrounds/ArenaScore.h @@ -19,6 +19,7 @@ #define _ARENA_SCORE_H #include "BattlegroundScore.h" +#include "SharedDefines.h" #include "StringFormat.h" struct AC_GAME_API ArenaScore : public BattlegroundScore diff --git a/src/server/game/Battlegrounds/ArenaTeam.h b/src/server/game/Battlegrounds/ArenaTeam.h index 2bac7b5716b190..3aa09b3e5cb7dd 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.h +++ b/src/server/game/Battlegrounds/ArenaTeam.h @@ -21,7 +21,6 @@ #include "Map.h" #include "QueryResult.h" #include -#include class WorldSession; class WorldPacket; diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.h b/src/server/game/Battlegrounds/BattlegroundMgr.h index 27a702a0626752..3b07a9fc7965f1 100644 --- a/src/server/game/Battlegrounds/BattlegroundMgr.h +++ b/src/server/game/Battlegrounds/BattlegroundMgr.h @@ -20,10 +20,8 @@ #include "Battleground.h" #include "BattlegroundQueue.h" -#include "Common.h" #include "CreatureAIImpl.h" #include "DBCEnums.h" -#include #include typedef std::map BattlegroundContainer; diff --git a/src/server/game/Battlegrounds/BattlegroundScore.h b/src/server/game/Battlegrounds/BattlegroundScore.h index 4ed344b7e780f3..33345bd8af02ce 100644 --- a/src/server/game/Battlegrounds/BattlegroundScore.h +++ b/src/server/game/Battlegrounds/BattlegroundScore.h @@ -20,7 +20,6 @@ #include "Errors.h" #include "ObjectGuid.h" -#include "SharedDefines.h" class WorldPacket; diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp index e8cccc8c955b0f..ae1a764af30288 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp @@ -21,7 +21,6 @@ #include "GameEventMgr.h" #include "GameGraveyard.h" #include "GameObject.h" -#include "Language.h" #include "ObjectMgr.h" #include "Player.h" #include "SpellAuras.h" diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h index d0662cc9c7fb36..936e9e9b5e75d5 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h +++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h @@ -21,7 +21,6 @@ #include "Battleground.h" #include "BattlegroundScore.h" #include "EventMap.h" -#include "Language.h" enum BG_EY_Events { diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp index e61f496d2917f5..4eccb3cf0d29e8 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundRV.cpp @@ -16,12 +16,10 @@ */ #include "BattlegroundRV.h" -#include "ArenaScore.h" #include "Battleground.h" #include "GameObject.h" #include "Log.h" #include "ObjectAccessor.h" -#include "Pet.h" #include "Player.h" #include "WorldPacket.h" From 784e80668d5b57640a4c7a4d6e2c7b898e4f804d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 29 Sep 2024 20:19:02 +0200 Subject: [PATCH 094/119] refactor(src/server/game/Entities): remove unused imports (#20096) --- src/server/game/Entities/DynamicObject/DynamicObject.cpp | 2 -- src/server/game/Entities/GameObject/GameObjectData.h | 1 - src/server/game/Entities/Player/PlayerStorage.cpp | 4 ---- src/server/game/Entities/Unit/Unit.cpp | 1 - 4 files changed, 8 deletions(-) diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp index 3a6882ddcfadb3..d7fbd24833538c 100644 --- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp +++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp @@ -21,8 +21,6 @@ #include "ScriptMgr.h" #include "SpellAuraEffects.h" #include "Transport.h" -#include "UpdateMask.h" -#include "World.h" DynamicObject::DynamicObject(bool isWorldObject) : WorldObject(isWorldObject), MovableMapObject(), _aura(nullptr), _removedAura(nullptr), _caster(nullptr), _duration(0), _isViewpoint(false), _updateViewerVisibilityTimer(0) diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 65566447b83972..70182a8872b13b 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -18,7 +18,6 @@ #ifndef GAMEOBJECTDATA_H #define GAMEOBJECTDATA_H -#include "Common.h" #include "SharedDefines.h" #include "WorldPacket.h" #include diff --git a/src/server/game/Entities/Player/PlayerStorage.cpp b/src/server/game/Entities/Player/PlayerStorage.cpp index fc41fafaa5ffa6..50be736f1170e1 100644 --- a/src/server/game/Entities/Player/PlayerStorage.cpp +++ b/src/server/game/Entities/Player/PlayerStorage.cpp @@ -26,12 +26,10 @@ #include "CharacterDatabaseCleaner.h" #include "Chat.h" #include "Common.h" -#include "ConditionMgr.h" #include "Config.h" #include "DatabaseEnv.h" #include "DisableMgr.h" #include "GameEventMgr.h" -#include "GameGraveyard.h" #include "GameObjectAI.h" #include "GameTime.h" #include "GridNotifiers.h" @@ -63,10 +61,8 @@ #include "StringConvert.h" #include "Tokenize.h" #include "Transport.h" -#include "UpdateData.h" #include "UpdateFieldFlags.h" #include "Util.h" -#include "Vehicle.h" #include "World.h" #include "WorldPacket.h" diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3aea9ddf4e8b79..9efce3820ab7cd 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -57,7 +57,6 @@ #include "SpellAuras.h" #include "SpellInfo.h" #include "SpellMgr.h" -#include "StringConvert.h" #include "TargetedMovementGenerator.h" #include "TemporarySummon.h" #include "Tokenize.h" From 804769400bcb4191d07fc21c2c2d27c37831ca24 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Mon, 30 Sep 2024 13:19:44 +0200 Subject: [PATCH 095/119] fix(Core/GuardAI): crash when killer is null (#20100) --- src/server/game/AI/CoreAI/GuardAI.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/AI/CoreAI/GuardAI.cpp b/src/server/game/AI/CoreAI/GuardAI.cpp index 86c6fc1f0bcb16..4ba087cf807805 100644 --- a/src/server/game/AI/CoreAI/GuardAI.cpp +++ b/src/server/game/AI/CoreAI/GuardAI.cpp @@ -60,6 +60,9 @@ void GuardAI::EnterEvadeMode(EvadeReason /*why*/) void GuardAI::JustDied(Unit* killer) { + if (!killer) + return; + if (Player* player = killer->GetCharmerOrOwnerPlayerOrPlayerItself()) me->SendZoneUnderAttackMessage(player); } From 7fd507e24b2efc1e2f63615b5cf40f7e74b0ddf4 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Tue, 1 Oct 2024 02:02:38 -0400 Subject: [PATCH 096/119] fix(DB/Creature): Adjust Flame of Azzinoth model data. (#20115) Init. --- data/sql/updates/pending_db_world/illidan-elemental-model.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/sql/updates/pending_db_world/illidan-elemental-model.sql diff --git a/data/sql/updates/pending_db_world/illidan-elemental-model.sql b/data/sql/updates/pending_db_world/illidan-elemental-model.sql new file mode 100644 index 00000000000000..4732e94f54600f --- /dev/null +++ b/data/sql/updates/pending_db_world/illidan-elemental-model.sql @@ -0,0 +1 @@ +UPDATE `creature_model_info` SET `BoundingRadius` = 4, `CombatReach` = 8 WHERE `DisplayID` = 20431; From d1095a9aea072758f3070711ee94087b7b76cdc2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Oct 2024 06:03:41 +0000 Subject: [PATCH 097/119] chore(DB): import pending files Referenced commit(s): 7fd507e24b2efc1e2f63615b5cf40f7e74b0ddf4 --- .../illidan-elemental-model.sql => db_world/2024_10_01_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/illidan-elemental-model.sql => db_world/2024_10_01_00.sql} (69%) diff --git a/data/sql/updates/pending_db_world/illidan-elemental-model.sql b/data/sql/updates/db_world/2024_10_01_00.sql similarity index 69% rename from data/sql/updates/pending_db_world/illidan-elemental-model.sql rename to data/sql/updates/db_world/2024_10_01_00.sql index 4732e94f54600f..a21d391bfaae45 100644 --- a/data/sql/updates/pending_db_world/illidan-elemental-model.sql +++ b/data/sql/updates/db_world/2024_10_01_00.sql @@ -1 +1,2 @@ +-- DB update 2024_09_28_02 -> 2024_10_01_00 UPDATE `creature_model_info` SET `BoundingRadius` = 4, `CombatReach` = 8 WHERE `DisplayID` = 20431; From d8c56392fb5938898673a7592cee2b99534ed8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:04:00 +0200 Subject: [PATCH 098/119] refactor(src/server/game/AI): remove unused imports (#20095) --- src/server/game/AI/CoreAI/GameObjectAI.h | 1 - src/server/game/AI/CoreAI/PassiveAI.cpp | 1 - src/server/game/AI/CoreAI/ReactorAI.cpp | 1 - src/server/game/AI/CoreAI/TotemAI.h | 1 - src/server/game/AI/CreatureAI.h | 1 - src/server/game/AI/CreatureAIImpl.h | 3 --- src/server/game/AI/GameObjectAIFactory.h | 1 - src/server/game/AI/SmartScripts/SmartAI.h | 1 - 8 files changed, 10 deletions(-) diff --git a/src/server/game/AI/CoreAI/GameObjectAI.h b/src/server/game/AI/CoreAI/GameObjectAI.h index 384fca1ec1e7db..b366d3c2bd0798 100644 --- a/src/server/game/AI/CoreAI/GameObjectAI.h +++ b/src/server/game/AI/CoreAI/GameObjectAI.h @@ -23,7 +23,6 @@ #include "GameObject.h" #include "Object.h" #include "QuestDef.h" -#include class Creature; class GameObject; diff --git a/src/server/game/AI/CoreAI/PassiveAI.cpp b/src/server/game/AI/CoreAI/PassiveAI.cpp index a34ce30d8179ab..0fbfaef9918ebb 100644 --- a/src/server/game/AI/CoreAI/PassiveAI.cpp +++ b/src/server/game/AI/CoreAI/PassiveAI.cpp @@ -17,7 +17,6 @@ #include "PassiveAI.h" #include "Creature.h" -#include "TemporarySummon.h" PassiveAI::PassiveAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); } PossessedAI::PossessedAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); } diff --git a/src/server/game/AI/CoreAI/ReactorAI.cpp b/src/server/game/AI/CoreAI/ReactorAI.cpp index e50356f340655f..9286c0ee35c082 100644 --- a/src/server/game/AI/CoreAI/ReactorAI.cpp +++ b/src/server/game/AI/CoreAI/ReactorAI.cpp @@ -17,7 +17,6 @@ #include "ReactorAI.h" #include "CreatureAIImpl.h" -#include "Errors.h" int32 ReactorAI::Permissible(Creature const* creature) { diff --git a/src/server/game/AI/CoreAI/TotemAI.h b/src/server/game/AI/CoreAI/TotemAI.h index 91de5e2ea2162a..355f7dfb5a44ce 100644 --- a/src/server/game/AI/CoreAI/TotemAI.h +++ b/src/server/game/AI/CoreAI/TotemAI.h @@ -19,7 +19,6 @@ #define ACORE_TOTEMAI_H #include "CreatureAI.h" -#include "Timer.h" class Creature; class Totem; diff --git a/src/server/game/AI/CreatureAI.h b/src/server/game/AI/CreatureAI.h index a354b603bd541b..5d969b86537d4d 100644 --- a/src/server/game/AI/CreatureAI.h +++ b/src/server/game/AI/CreatureAI.h @@ -19,7 +19,6 @@ #define ACORE_CREATUREAI_H #include "AreaBoundary.h" -#include "Common.h" #include "Creature.h" #include "EventMap.h" #include "TaskScheduler.h" diff --git a/src/server/game/AI/CreatureAIImpl.h b/src/server/game/AI/CreatureAIImpl.h index 4da88c623c8d18..7f63be9f8865a8 100644 --- a/src/server/game/AI/CreatureAIImpl.h +++ b/src/server/game/AI/CreatureAIImpl.h @@ -18,13 +18,10 @@ #ifndef CREATUREAIIMPL_H #define CREATUREAIIMPL_H -#include "Common.h" #include "CreatureAI.h" #include "Define.h" #include "SpellMgr.h" #include "TemporarySummon.h" -#include -#include template static inline First const& RAND(First const& first, Second const& second, Rest const& ... rest) diff --git a/src/server/game/AI/GameObjectAIFactory.h b/src/server/game/AI/GameObjectAIFactory.h index 3bc101b7c8c3a5..2de110f7b21fea 100644 --- a/src/server/game/AI/GameObjectAIFactory.h +++ b/src/server/game/AI/GameObjectAIFactory.h @@ -20,7 +20,6 @@ #include "FactoryHolder.h" #include "GameObjectAI.h" -#include "ObjectRegistry.h" typedef FactoryHolder GameObjectAICreator; diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 327f36c06178e2..19580b3d6d0cee 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -18,7 +18,6 @@ #ifndef ACORE_SMARTAI_H #define ACORE_SMARTAI_H -#include "Common.h" #include "Creature.h" #include "CreatureAI.h" #include "GameObjectAI.h" From 9b17898f7b78e8bb8e00c39b1df8a13abb2f67d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:04:26 +0200 Subject: [PATCH 099/119] refactor(src/server/game/Grids): remove unused imports (#20094) --- src/server/game/Grids/Cells/Cell.h | 1 - src/server/game/Grids/Cells/CellImpl.h | 1 - src/server/game/Grids/Notifiers/GridNotifiers.cpp | 1 - src/server/game/Grids/Notifiers/GridNotifiersImpl.h | 3 --- src/server/game/Grids/ObjectGridLoader.cpp | 1 - src/server/game/Grids/ObjectGridLoader.h | 2 -- 6 files changed, 9 deletions(-) diff --git a/src/server/game/Grids/Cells/Cell.h b/src/server/game/Grids/Cells/Cell.h index fe06dfe9d376b8..86ce107b17ba4c 100644 --- a/src/server/game/Grids/Cells/Cell.h +++ b/src/server/game/Grids/Cells/Cell.h @@ -19,7 +19,6 @@ #define ACORE_CELL_H #include "GridDefines.h" -#include "TypeContainer.h" #include "TypeContainerVisitor.h" class Map; diff --git a/src/server/game/Grids/Cells/CellImpl.h b/src/server/game/Grids/Cells/CellImpl.h index 97eaa4f3f76fd0..f8cf0ed08b56cf 100644 --- a/src/server/game/Grids/Cells/CellImpl.h +++ b/src/server/game/Grids/Cells/CellImpl.h @@ -21,7 +21,6 @@ #include "Cell.h" #include "Map.h" #include "Object.h" -#include inline Cell::Cell(CellCoord const& p) { diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp index bfbf028d7e0b6f..23b130b2ac7526 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp +++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp @@ -18,7 +18,6 @@ #include "GridNotifiers.h" #include "Map.h" #include "ObjectAccessor.h" -#include "SpellMgr.h" #include "Transport.h" #include "UpdateData.h" #include "WorldPacket.h" diff --git a/src/server/game/Grids/Notifiers/GridNotifiersImpl.h b/src/server/game/Grids/Notifiers/GridNotifiersImpl.h index bc5e8e2fa2c998..3be0d19d947927 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiersImpl.h +++ b/src/server/game/Grids/Notifiers/GridNotifiersImpl.h @@ -22,10 +22,7 @@ #include "CreatureAI.h" #include "GridNotifiers.h" #include "Object.h" -#include "Opcodes.h" #include "Player.h" -#include "SpellAuras.h" -#include "UpdateData.h" #include "WorldPacket.h" #include "WorldSession.h" diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index 2c92ef675d50a3..2b7d6f8ef54dcb 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -24,7 +24,6 @@ #include "GridNotifiers.h" #include "ObjectMgr.h" #include "Transport.h" -#include "Vehicle.h" // for loading world object at grid loading (Corpses) //TODO: to implement npc on transport, also need to load npcs at grid loading diff --git a/src/server/game/Grids/ObjectGridLoader.h b/src/server/game/Grids/ObjectGridLoader.h index 863e5f15f5f8a9..d6029ac7bfcb3f 100644 --- a/src/server/game/Grids/ObjectGridLoader.h +++ b/src/server/game/Grids/ObjectGridLoader.h @@ -21,8 +21,6 @@ #include "Cell.h" #include "Define.h" #include "GridDefines.h" -#include "GridLoader.h" -#include "TypeList.h" class ObjectWorldLoader; From 7d2aebb9d8f794ea4f1156946f2f5646649afa16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:04:51 +0200 Subject: [PATCH 100/119] refactor(src/server/game/Chat): remove unused imports (#20093) --- src/server/game/Chat/Chat.cpp | 3 --- src/server/game/Chat/Chat.h | 1 - src/server/game/Chat/ChatCommands/ChatCommand.h | 1 - src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp | 1 - src/server/game/Chat/ChatCommands/ChatCommandHelpers.h | 1 - src/server/game/Chat/ChatCommands/ChatCommandTags.h | 4 ---- src/server/game/Chat/Hyperlinks.h | 2 -- 7 files changed, 13 deletions(-) diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index 7ffce0fc25998f..b9e958677f65da 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -21,15 +21,12 @@ #include "Common.h" #include "GridNotifiersImpl.h" #include "Language.h" -#include "Log.h" #include "ObjectMgr.h" #include "Opcodes.h" #include "Player.h" #include "Realm.h" #include "ScriptMgr.h" -#include "SpellMgr.h" #include "Tokenize.h" -#include "UpdateMask.h" #include "World.h" #include "WorldPacket.h" #include "WorldSession.h" diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index 8a31c3c76e9e03..d843f35400d5be 100644 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -19,7 +19,6 @@ #define AZEROTHCORE_CHAT_H #include "ChatCommand.h" -#include "Errors.h" #include "Player.h" #include "SharedDefines.h" #include "WorldSession.h" diff --git a/src/server/game/Chat/ChatCommands/ChatCommand.h b/src/server/game/Chat/ChatCommands/ChatCommand.h index ce1ead8b5eefe6..2259553ea71c05 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommand.h +++ b/src/server/game/Chat/ChatCommands/ChatCommand.h @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include diff --git a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp index f8e0efe07e4e61..d39c99190bf5e4 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp +++ b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.cpp @@ -17,7 +17,6 @@ #include "ChatCommandHelpers.h" #include "Chat.h" -#include "ObjectMgr.h" void Acore::Impl::ChatCommands::SendErrorMessageToHandler(ChatHandler* handler, std::string_view str) { diff --git a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h index e7e803a5e07270..2ffe709004b189 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandHelpers.h @@ -24,7 +24,6 @@ #include #include #include -#include #include class ChatHandler; diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h index f5c25a639fd0fd..450be4cc24692f 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -25,14 +25,10 @@ #include "Util.h" #include #include -#include -#include #include #include #include #include -#include -#include #include class ChatHandler; diff --git a/src/server/game/Chat/Hyperlinks.h b/src/server/game/Chat/Hyperlinks.h index 245a70bb7e0606..d67342017ac20f 100644 --- a/src/server/game/Chat/Hyperlinks.h +++ b/src/server/game/Chat/Hyperlinks.h @@ -23,8 +23,6 @@ #include #include #include -#include -#include struct AchievementEntry; struct GlyphPropertiesEntry; From 484e19d21b7b2be5c326c7492dd7dee8156c76d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:05:15 +0200 Subject: [PATCH 101/119] refactor(src/server/game/Spells): remove unused imports (#20092) --- src/server/game/Spells/Spell.cpp | 2 -- src/server/game/Spells/SpellDefines.h | 1 - src/server/game/Spells/SpellEffects.cpp | 3 --- src/server/game/Spells/SpellMgr.cpp | 1 - 4 files changed, 7 deletions(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index fd52274b9e7193..261ba47cc95ad4 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -46,10 +46,8 @@ #include "SpellMgr.h" #include "SpellScript.h" #include "TemporarySummon.h" -#include "Totem.h" #include "Unit.h" #include "UpdateData.h" -#include "UpdateMask.h" #include "Util.h" #include "VMapFactory.h" #include "Vehicle.h" diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 08a76cba6ce8f5..4da855467fe1a4 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -19,7 +19,6 @@ #define SPELLDEFINES_H #include "Define.h" -#include "ObjectGuid.h" #include enum SpellInterruptFlags diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index fe5fef96dc6354..8b7699a783bff9 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -16,7 +16,6 @@ */ #include "Battleground.h" -#include "BattlegroundEY.h" #include "BattlegroundIC.h" #include "BattlegroundMgr.h" #include "BattlegroundSA.h" @@ -57,8 +56,6 @@ #include "Totem.h" #include "Transport.h" #include "Unit.h" -#include "UpdateData.h" -#include "UpdateMask.h" #include "Util.h" #include "Vehicle.h" #include "World.h" diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 11e7a8d80b93af..7548c552ff7779 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -30,7 +30,6 @@ #include "SharedDefines.h" #include "Spell.h" #include "SpellAuraDefines.h" -#include "SpellAuras.h" #include "SpellInfo.h" #include "World.h" From b0899664ef91a2a27b03af00ab2196532f7f405e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:05:36 +0200 Subject: [PATCH 102/119] refactor(src/server/game/World): remove unused imports (#20090) --- src/server/game/World/IWorld.h | 5 ----- src/server/game/World/World.cpp | 1 - src/server/game/World/World.h | 1 - 3 files changed, 7 deletions(-) diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index af08900c358e16..1263de1a5fa0f8 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -22,12 +22,7 @@ #include "Common.h" #include "Duration.h" #include "ObjectGuid.h" -#include "QueryResult.h" #include "SharedDefines.h" -#include -#include -#include -#include #include class WorldPacket; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 0cd40959ee7a27..dd71be5283bf08 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -85,7 +85,6 @@ #include "Util.h" #include "VMapFactory.h" #include "VMapMgr2.h" -#include "Vehicle.h" #include "Warden.h" #include "WardenCheckMgr.h" #include "WaypointMovementGenerator.h" diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index daaa53e15942f0..2eb435f5256a6c 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -31,7 +31,6 @@ #include #include #include -#include #include class Object; From ae30489b238a49ec1a31df55aa00eda7dab130e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Tue, 1 Oct 2024 08:06:06 +0200 Subject: [PATCH 103/119] refactor(src/server/game/Globals): remove unused imports (#20088) --- src/server/game/Globals/ObjectAccessor.cpp | 3 --- src/server/game/Globals/ObjectAccessor.h | 4 ---- src/server/game/Globals/ObjectMgr.h | 2 -- 3 files changed, 9 deletions(-) diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index 19d8b6818dcc97..f9a4cb01e3838f 100644 --- a/src/server/game/Globals/ObjectAccessor.cpp +++ b/src/server/game/Globals/ObjectAccessor.cpp @@ -21,16 +21,13 @@ #include "DynamicObject.h" #include "GameObject.h" #include "GridNotifiers.h" -#include "Log.h" #include "Map.h" #include "MapMgr.h" #include "ObjectDefines.h" #include "ObjectMgr.h" -#include "Opcodes.h" #include "Pet.h" #include "Player.h" #include "Transport.h" -#include "Vehicle.h" template void HashMapHolder::Insert(T* o) diff --git a/src/server/game/Globals/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h index 7c6c003f5d1a1c..2fbe70bf5b6b27 100644 --- a/src/server/game/Globals/ObjectAccessor.h +++ b/src/server/game/Globals/ObjectAccessor.h @@ -21,11 +21,7 @@ #include "Define.h" #include "GridDefines.h" #include "Object.h" -#include "UpdateData.h" -#include -#include #include -#include class Creature; class Corpse; diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index e09935f351178a..3c46a356416a2b 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -23,9 +23,7 @@ #include "Corpse.h" #include "Creature.h" #include "DatabaseEnv.h" -#include "DynamicObject.h" #include "GameObject.h" -#include "GossipDef.h" #include "ItemTemplate.h" #include "Log.h" #include "Mail.h" From bc866b182ad7cedca5114235de300d3623f5e73c Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Tue, 1 Oct 2024 11:08:40 +0200 Subject: [PATCH 104/119] fix(DB/Creature): Icecrown Orgrim's Hammer and The Skybreaker map icons (#20104) * fix Orgrim's Hammer and The Skybreaker marker npcs * change insert to update --- data/sql/updates/pending_db_world/rev_1727647338172762248.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727647338172762248.sql diff --git a/data/sql/updates/pending_db_world/rev_1727647338172762248.sql b/data/sql/updates/pending_db_world/rev_1727647338172762248.sql new file mode 100644 index 00000000000000..5b01f52e22a9ec --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727647338172762248.sql @@ -0,0 +1,3 @@ +-- +-- visibilityDistanceType to infinite for Orgrim's Hammer and The Skybreaker marker npcs +UPDATE `creature_addon` SET `visibilityDistanceType` = 5 WHERE `guid` IN (134846, 134847); From 003eda6db30d8c99652f9e2dd76eed40c5aa7e96 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Oct 2024 09:09:39 +0000 Subject: [PATCH 105/119] chore(DB): import pending files Referenced commit(s): bc866b182ad7cedca5114235de300d3623f5e73c --- .../rev_1727647338172762248.sql => db_world/2024_10_01_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727647338172762248.sql => db_world/2024_10_01_01.sql} (80%) diff --git a/data/sql/updates/pending_db_world/rev_1727647338172762248.sql b/data/sql/updates/db_world/2024_10_01_01.sql similarity index 80% rename from data/sql/updates/pending_db_world/rev_1727647338172762248.sql rename to data/sql/updates/db_world/2024_10_01_01.sql index 5b01f52e22a9ec..a18bb59eb5f303 100644 --- a/data/sql/updates/pending_db_world/rev_1727647338172762248.sql +++ b/data/sql/updates/db_world/2024_10_01_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_01_00 -> 2024_10_01_01 -- -- visibilityDistanceType to infinite for Orgrim's Hammer and The Skybreaker marker npcs UPDATE `creature_addon` SET `visibilityDistanceType` = 5 WHERE `guid` IN (134846, 134847); From ee870ff3b37bc092654ae19b37db732bd83ae068 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 1 Oct 2024 06:47:44 -0300 Subject: [PATCH 106/119] fix(Core/Spells): Restricted aura application prevention when immune to banish effects (e.g cyclone) (#20060) --- src/server/game/Spells/Spell.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 261ba47cc95ad4..e28ee5626e10dd 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3158,8 +3158,9 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA if (m_spellAura) { - // Prevent aura application if target is immuned - if (m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->IsImmunedToDamageOrSchool(m_spellAura->GetSpellInfo())) + // Prevent aura application if target is banished and immuned + if (m_targets.GetUnitTarget() && m_targets.GetUnitTarget()->IsImmunedToDamageOrSchool(m_spellAura->GetSpellInfo()) + && m_targets.GetUnitTarget()->HasUnitState(UNIT_STATE_ISOLATED)) { m_spellAura->Remove(); return SPELL_MISS_IMMUNE; From 3636d7f0e4ba949f2fe4bfe2080d8d3e12d1d3e3 Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Tue, 1 Oct 2024 19:05:11 +0200 Subject: [PATCH 107/119] fix(Scripts/TheBlackTemple): resetting behaviour in p1 for Shade of Akama (#20076) * init * Update boss_shade_of_akama.cpp * Update boss_shade_of_akama.cpp * Update boss_shade_of_akama.cpp * update factions bench with the faction sniffs Co-Authored-By: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> * set spawned creatures in combat again Co-Authored-By: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> * wip change faction to defender * Update boss_shade_of_akama.cpp * Update boss_shade_of_akama.cpp * set hostiles in combat * Akama shade reset test (#12) compilation of commits with fixes and debugging * Update boss_shade_of_akama.cpp * Update factions_shade.sql * Update factions_shade.sql * Update factions_shade.sql * Update factions_shade.sql * 5s instead of 5ms * change faction enum names * revert faction change on player death * unused import * Update boss_shade_of_akama.cpp * unsummon all non-defenders * clear summons on all players dead * blank space * make creatures not stop spawning on player wipe * oops --------- Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> --- .../pending_db_world/factions_shade.sql | 24 ++++ .../BlackTemple/boss_shade_of_akama.cpp | 103 ++++++++++-------- 2 files changed, 81 insertions(+), 46 deletions(-) create mode 100644 data/sql/updates/pending_db_world/factions_shade.sql diff --git a/data/sql/updates/pending_db_world/factions_shade.sql b/data/sql/updates/pending_db_world/factions_shade.sql new file mode 100644 index 00000000000000..01bea022a44bdc --- /dev/null +++ b/data/sql/updates/pending_db_world/factions_shade.sql @@ -0,0 +1,24 @@ + -- Rogue, elementalist, spiritbinder +UPDATE `creature_template` SET `faction` = 16, `VerifiedBuild` = 53788 WHERE `entry` IN (23318, 23523, 23524); + + -- Shade of Akama +UPDATE `creature_template` SET `faction` = 1692, `VerifiedBuild` = 53788 WHERE `entry` = 22841; + + -- Ashtongue Defender +UPDATE `creature_template` SET `faction` = 1847, `VerifiedBuild` = 53788 WHERE `entry` = 23216; + + -- Sorcerer, channeler +UPDATE `creature_template` SET `faction` = 1849, `VerifiedBuild` = 53788 WHERE `entry` IN (23215, 23421); + +-- SAI +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23318) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23318, 0, 2, 0, 7, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 4, 0, 0, 0, 0, 0, 9, 23210, 0, 100, 0, 0, 0, 0, 0, 'Ashtongue Rogue - On Evade - Do Action'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23523) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23523, 0, 2, 0, 7, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 4, 0, 0, 0, 0, 0, 9, 23210, 0, 100, 0, 0, 0, 0, 0, 'Ashtongue Elementalist - On Evade - Do Action'); + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23524) AND (`source_type` = 0) AND (`id` IN (2)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(23524, 0, 2, 0, 7, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 4, 0, 0, 0, 0, 0, 9, 23210, 0, 100, 0, 0, 0, 0, 0, 'Ashtongue Spiritbinder - On Evade - Do Action'); diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 69b8fad983d99c..1cc778b25a8afb 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -27,67 +27,67 @@ enum Says { - SAY_BROKEN_FREE_0 = 0, - SAY_BROKEN_FREE_1 = 1, - SAY_BROKEN_FREE_2 = 2, - SAY_LOW_HEALTH = 3, - SAY_DEATH = 4, - - SAY_BROKEN_S1 = 0, - SAY_BROKEN_S2 = 1 + SAY_BROKEN_FREE_0 = 0, + SAY_BROKEN_FREE_1 = 1, + SAY_BROKEN_FREE_2 = 2, + SAY_LOW_HEALTH = 3, + SAY_DEATH = 4, + + SAY_BROKEN_S1 = 0, + SAY_BROKEN_S2 = 1 }; enum Spells { // Akama - SPELL_STEALTH = 34189, - SPELL_DESTRUCTIVE_POISON = 40874, - SPELL_CHAIN_LIGHTNING = 39945, - SPELL_AKAMA_SOUL_CHANNEL = 40447, - SPELL_FIXATE = 40607, - SPELL_AKAMA_SOUL_RETRIEVE = 40902, // epilogue - SPELL_AKAMA_SOUL_EXPEL_CHANNEL = 40927, // epilogue + SPELL_STEALTH = 34189, + SPELL_DESTRUCTIVE_POISON = 40874, + SPELL_CHAIN_LIGHTNING = 39945, + SPELL_AKAMA_SOUL_CHANNEL = 40447, + SPELL_FIXATE = 40607, + SPELL_AKAMA_SOUL_RETRIEVE = 40902, // epilogue + SPELL_AKAMA_SOUL_EXPEL_CHANNEL = 40927, // epilogue // Shade & Channelers - SPELL_SHADE_SOUL_CHANNEL = 40401, - SPELL_THREAT = 41602, - SPELL_SHADE_OF_AKAMA_TRIGGER = 40955, + SPELL_SHADE_SOUL_CHANNEL = 40401, + SPELL_THREAT = 41602, + SPELL_SHADE_OF_AKAMA_TRIGGER = 40955, // Summons - SPELL_ASHTONGUE_WAVE_A = 42073, // unused - SPELL_ASHTONGUE_WAVE_B = 42035, - SPELL_SUMMON_ASHTONGUE_SORCERER = 40476, - SPELL_SUMMON_ASHTONGUE_DEFENDER = 40474 + SPELL_ASHTONGUE_WAVE_A = 42073, // unused + SPELL_ASHTONGUE_WAVE_B = 42035, + SPELL_SUMMON_ASHTONGUE_SORCERER = 40476, + SPELL_SUMMON_ASHTONGUE_DEFENDER = 40474 }; enum Creatures { - NPC_ASHTONGUE_SORCERER = 23215, - NPC_ASHTONGUE_DEFENDER = 23216, - NPC_ASHTONGUE_ELEMENTAL = 23523, - NPC_ASHTONGUE_ROGUE = 23318, - NPC_ASHTONGUE_SPIRITBIND = 23524, - NPC_ASHTONGUE_BROKEN = 23319 + NPC_ASHTONGUE_SORCERER = 23215, + NPC_ASHTONGUE_DEFENDER = 23216, + NPC_ASHTONGUE_ELEMENTAL = 23523, + NPC_ASHTONGUE_ROGUE = 23318, + NPC_ASHTONGUE_SPIRITBIND = 23524, + NPC_ASHTONGUE_BROKEN = 23319 }; enum Misc { - SUMMON_GROUP_BROKENS = 1, + SUMMON_GROUP_BROKENS = 1, - POINT_ENGAGE = 0, - POINT_OUTRO = 1, + POINT_ENGAGE = 0, + POINT_OUTRO = 1, - ACTION_GENERATOR_START = 1, - ACTION_GENERATOR_STOP = 2, - ACTION_GENERATOR_DESPAWN_ALL = 3, + ACTION_GENERATOR_START = 1, + ACTION_GENERATOR_STOP = 2, + ACTION_GENERATOR_DESPAWN_ALL = 3, + ACTION_GENERATOR_DESPAWN_NON_DEFENDERS = 4, - COUNTER_SPAWNS_MAX = 20, // Max number of spawns for each generator, number chosen at random + COUNTER_SPAWNS_MAX = 20, // Max number of spawns for each generator, number chosen at random - ACTION_AKAMA_START_OUTRO = 1, + ACTION_AKAMA_START_OUTRO = 1, - FACTION_DEFAULT = 1820, - FACTION_ENGAGE = 1868, - FACTION_DEFENDER = 1847 + FACTION_DEFAULT = 1820, + FACTION_MONSTER_SPAR = 1847 }; Position AkamaEngage = { 517.4877f, 400.79926f, 112.77704f }; @@ -222,6 +222,7 @@ struct npc_akama_shade : public ScriptedAI _sayLowHealth = false; _died = false; scheduler.CancelAll(); + _generators.clear(); } void MovementInform(uint32 type, uint32 point) override @@ -232,7 +233,7 @@ struct npc_akama_shade : public ScriptedAI { case POINT_ENGAGE: me->SetHomePosition(me->GetPosition()); - me->SetFaction(FACTION_ENGAGE); + me->SetFaction(FACTION_MONSTER_SPAR_BUDDY); DoCastSelf(SPELL_AKAMA_SOUL_CHANNEL, true); break; case POINT_OUTRO: @@ -279,6 +280,10 @@ struct npc_akama_shade : public ScriptedAI else if (damage >= me->GetHealth() && !_died) { _died = true; + me->GetCreatureListWithEntryInGrid(_generators, NPC_CREATURE_GENERATOR_AKAMA, 100.0f); + for (Creature* generator : _generators) + generator->AI()->DoAction(ACTION_GENERATOR_DESPAWN_ALL); + damage = me->GetHealth() - 1; Talk(SAY_DEATH); if (Creature* shade = instance->GetCreature(DATA_SHADE_OF_AKAMA)) @@ -342,6 +347,7 @@ struct npc_akama_shade : public ScriptedAI private: bool _sayLowHealth; bool _died; + std::list _generators; }; struct npc_creature_generator_akama : public ScriptedAI @@ -355,7 +361,6 @@ struct npc_creature_generator_akama : public ScriptedAI void Reset() override { - summons.DespawnAll(); scheduler.CancelAll(); } @@ -363,6 +368,7 @@ struct npc_creature_generator_akama : public ScriptedAI { spawnCounter++; ScriptedAI::JustSummoned(summon); + summons.Summon(summon); switch (summon->GetEntry()) { @@ -374,13 +380,10 @@ struct npc_creature_generator_akama : public ScriptedAI summon->GetMotionMaster()->MovePoint(POINT_ENGAGE, x, y, z); } break; - case NPC_ASHTONGUE_DEFENDER: - summon->SetFaction(FACTION_DEFENDER); - if (Creature* akama = instance->GetCreature(DATA_AKAMA_SHADE)) - summon->AI()->AttackStart(akama); - break; default: summon->SetInCombatWithZone(); + if (Creature* akama = instance->GetCreature(DATA_AKAMA_SHADE)) + summon->AI()->AttackStart(akama); break; } } @@ -434,6 +437,14 @@ struct npc_creature_generator_akama : public ScriptedAI summons.DespawnAll(); scheduler.CancelAll(); break; + case ACTION_GENERATOR_DESPAWN_NON_DEFENDERS: + summons.DoForAllSummons([&](WorldObject* summon) + { + if (Creature* c = summon->ToCreature()) + if (c->GetEntry() != NPC_ASHTONGUE_DEFENDER && c->GetEntry() != NPC_ASHTONGUE_SORCERER) + c->DespawnOrUnsummon(); + }); + break; } } From a774bbd425147d89525a167ecf0d6bfdf47776d7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Oct 2024 17:06:09 +0000 Subject: [PATCH 108/119] chore(DB): import pending files Referenced commit(s): 3636d7f0e4ba949f2fe4bfe2080d8d3e12d1d3e3 --- .../factions_shade.sql => db_world/2024_10_01_02.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/factions_shade.sql => db_world/2024_10_01_02.sql} (98%) diff --git a/data/sql/updates/pending_db_world/factions_shade.sql b/data/sql/updates/db_world/2024_10_01_02.sql similarity index 98% rename from data/sql/updates/pending_db_world/factions_shade.sql rename to data/sql/updates/db_world/2024_10_01_02.sql index 01bea022a44bdc..89210a93121f93 100644 --- a/data/sql/updates/pending_db_world/factions_shade.sql +++ b/data/sql/updates/db_world/2024_10_01_02.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_01_01 -> 2024_10_01_02 -- Rogue, elementalist, spiritbinder UPDATE `creature_template` SET `faction` = 16, `VerifiedBuild` = 53788 WHERE `entry` IN (23318, 23523, 23524); From 9a1f27121a7e044ab66b937af88ebe9b358a957a Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Tue, 1 Oct 2024 21:39:42 +0200 Subject: [PATCH 109/119] fix(Core/Unit): Flight Form riding crop, vehicle speed auras (#20079) * vehicle aura stacking Rename flight speed related auras Co-authored-by: Laise * rename to better match existing flight auras --- src/server/game/Entities/Unit/Unit.cpp | 15 +++++++++------ src/server/game/Spells/Auras/SpellAuraDefines.h | 8 ++++---- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 +++--- src/server/scripts/Spells/spell_druid.cpp | 2 +- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9efce3820ab7cd..08a11773f231c6 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -14261,14 +14261,14 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced) { if (IsCreature() && IsControlledByPlayer()) // not sure if good for pet { - main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED); - stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS); + main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED); + stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING); // for some spells this mod is applied on vehicle owner int32 owner_speed_mod = 0; if (Unit* owner = GetCharmer()) - owner_speed_mod = owner->GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED); + owner_speed_mod = owner->GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED); main_speed_mod = std::max(main_speed_mod, owner_speed_mod); } @@ -14276,11 +14276,14 @@ void Unit::UpdateSpeed(UnitMoveType mtype, bool forced) { main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED); stack_bonus = GetTotalAuraMultiplier(SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS); + non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING) / 100.0f; } else // Use not mount (shapeshift for example) auras (should stack) - main_speed_mod = GetTotalAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED) + GetTotalAuraModifier(SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED); - - non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK) / 100.0f; + { + main_speed_mod = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED); + stack_bonus = GetTotalAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS); + non_stack_bonus += GetMaxPositiveAuraModifier(SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING) / 100.0f; + } // Update speed for vehicle if available if (IsPlayer() && GetVehicle()) diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 9847e89ae5ad96..cebfaf9a9b304d 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -266,12 +266,12 @@ enum AuraType SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203, SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204, SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN = 205, - SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206, + SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 206, SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207, - SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 208, + SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS = 208, SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209, - SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS = 210, - SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK = 211, + SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING = 210, + SPELL_AURA_MOD_FLIGHT_SPEED_MOUNTED_NOT_STACKING = 211, SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212, SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT = 213, SPELL_AURA_214 = 214, diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index fcb9a7d3558482..b25ddd08baf759 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -267,11 +267,11 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS] = &AuraEffect::HandleNoImmediateEffect, //203 SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE implemented in Unit::CalculateMeleeDamage and Unit::CalculateSpellDamage &AuraEffect::HandleNoImmediateEffect, //204 SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE implemented in Unit::CalculateMeleeDamage and Unit::CalculateSpellDamage &AuraEffect::HandleNULL, //205 SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN - &AuraEffect::HandleAuraModIncreaseFlightSpeed, //206 SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED + &AuraEffect::HandleAuraModIncreaseFlightSpeed, //206 SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED &AuraEffect::HandleAuraModIncreaseFlightSpeed, //207 SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED - &AuraEffect::HandleAuraModIncreaseFlightSpeed, //208 SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED + &AuraEffect::HandleAuraModIncreaseFlightSpeed, //208 SPELL_AURA_MOD_FLIGHT_SPEED_ALWAYS &AuraEffect::HandleAuraModIncreaseFlightSpeed, //209 SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS - &AuraEffect::HandleAuraModIncreaseFlightSpeed, //210 SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS + &AuraEffect::HandleAuraModIncreaseFlightSpeed, //210 SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACKING &AuraEffect::HandleAuraModIncreaseFlightSpeed, //211 SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK &AuraEffect::HandleAuraModRangedAttackPowerOfStatPercent, //212 SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT &AuraEffect::HandleNoImmediateEffect, //213 SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT implemented in Player::RewardRage diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index 2057df0540bcfe..6b5ca263b22260 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -1017,7 +1017,7 @@ class spell_dru_swift_flight_passive : public AuraScript void Register() override { - DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_swift_flight_passive::CalculateAmount, EFFECT_1, SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED); + DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_swift_flight_passive::CalculateAmount, EFFECT_1, SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED); } }; From f48f63db42ea6ea6a01c9a05e125462952ac62d4 Mon Sep 17 00:00:00 2001 From: sudlud Date: Tue, 1 Oct 2024 22:21:08 +0200 Subject: [PATCH 110/119] fix(DB/Gameobject): add gameobjects to transports (#20117) * fix(DB/Gameobject): add gameobjects to transports * remove comment * assign chairs to correct transport --- .../rev_1727634134273698700.sql | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727634134273698700.sql diff --git a/data/sql/updates/pending_db_world/rev_1727634134273698700.sql b/data/sql/updates/pending_db_world/rev_1727634134273698700.sql new file mode 100644 index 00000000000000..264cbbebdc866c --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727634134273698700.sql @@ -0,0 +1,59 @@ +-- add gameobjects to transports + +DELETE FROM `gameobject` WHERE (`id` IN (164759, 164760, 164761, 164762, 164763, 164764, 164765, 164766, 164767, 186408, 186409, 186410, 186411, 186412, 186413, 186414, 186415, 186416, 186417, 193031, 193032, 193033, 193034, 193035, 193036, 193037, 191640)) +AND (`guid` BETWEEN 1288 AND 1332); +INSERT INTO `gameobject` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`, `ScriptName`, `VerifiedBuild`) VALUES +-- Wooden Chair +-- 588 Ship (The Bravery) - Auberdine, Darkshore and Stormwind Harbor (Boat, Alliance ("The Bravery")) +(1288, 164759, 588, 0, 0, 1, 1, 17.23059654235839843, -0.62951797246932983, 6.063879013061523437, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1289, 164760, 588, 0, 0, 1, 1, 18.34792137145996093, 0.407492995262145996, 6.063879013061523437, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1290, 164761, 588, 0, 0, 1, 1, 14.03516578674316406, -0.71994698047637939, 6.096680164337158203, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1291, 164762, 588, 0, 0, 1, 1, 12.84190177917480468, -1.87944495677947998, 6.096680164337158203, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 49345), +(1292, 164763, 588, 0, 0, 1, 1, 11.21061420440673828, 2.581463098526000976, 6.096820831298828125, 4.773476600646972656, 0, 0, -0.68518257141113281, 0.728371381759643554, 120, 255, 1, "", 48632), +(1293, 164764, 588, 0, 0, 1, 1, 11.28876590728759765, 1.464622020721435546, 6.096820831298828125, 1.553344011306762695, 0, 0, 0.700909614562988281, 0.71325010061264038, 120, 255, 1, "", 48632), +(1294, 164765, 588, 0, 0, 1, 1, 5.51160287857055664, 10.92694664001464843, 6.099214076995849609, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1295, 164766, 588, 0, 0, 1, 1, 4.39427804946899414, 9.889936447143554687, 6.099214076995849609, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1296, 164767, 588, 0, 0, 1, 1, 39.2127532958984375, -2.40047001838684082, 6.098138809204101562, 2.679079532623291015, 0, 0, 0.973379135131835937, 0.229200854897499084, 120, 255, 1, "", 48632), +-- 584 Ship (The Lady Mehley) - Menethil Harbor, Wetlands and Theramore Isle, Dustwallow Marsh (Boat, Alliance ("The Lady Mehley")) +(1297, 164759, 584, 0, 0, 1, 1, 17.23059654235839843, -0.62951797246932983, 6.063879013061523437, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1298, 164760, 584, 0, 0, 1, 1, 18.34792137145996093, 0.407492995262145996, 6.063879013061523437, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1299, 164761, 584, 0, 0, 1, 1, 14.03516578674316406, -0.71994698047637939, 6.096680164337158203, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1300, 164762, 584, 0, 0, 1, 1, 12.84190177917480468, -1.87944495677947998, 6.096680164337158203, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 49345), +(1301, 164763, 584, 0, 0, 1, 1, 11.21061420440673828, 2.581463098526000976, 6.096820831298828125, 4.773476600646972656, 0, 0, -0.68518257141113281, 0.728371381759643554, 120, 255, 1, "", 48632), +(1302, 164764, 584, 0, 0, 1, 1, 11.28876590728759765, 1.464622020721435546, 6.096820831298828125, 1.553344011306762695, 0, 0, 0.700909614562988281, 0.71325010061264038, 120, 255, 1, "", 48632), +(1303, 164765, 584, 0, 0, 1, 1, 5.51160287857055664, 10.92694664001464843, 6.099214076995849609, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1304, 164766, 584, 0, 0, 1, 1, 4.39427804946899414, 9.889936447143554687, 6.099214076995849609, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1305, 164767, 584, 0, 0, 1, 1, 39.2127532958984375, -2.40047001838684082, 6.098138809204101562, 2.679079532623291015, 0, 0, 0.973379135131835937, 0.229200854897499084, 120, 255, 1, "", 48632), +-- 593 Ship (The Maiden's Fancy) - Booty Bay, Stranglethorn Vale and Ratchet, The Barrens (Boat, Neutral ("The Maiden's Fancy")) +(1306, 164759, 593, 0, 0, 1, 1, 17.23059654235839843, -0.62951797246932983, 6.063879013061523437, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1307, 164760, 593, 0, 0, 1, 1, 18.34792137145996093, 0.407492995262145996, 6.063879013061523437, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1308, 164761, 593, 0, 0, 1, 1, 14.03516578674316406, -0.71994698047637939, 6.096680164337158203, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1309, 164762, 593, 0, 0, 1, 1, 12.84190177917480468, -1.87944495677947998, 6.096680164337158203, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 49345), +(1310, 164763, 593, 0, 0, 1, 1, 11.21061420440673828, 2.581463098526000976, 6.096820831298828125, 4.773476600646972656, 0, 0, -0.68518257141113281, 0.728371381759643554, 120, 255, 1, "", 48632), +(1311, 164764, 593, 0, 0, 1, 1, 11.28876590728759765, 1.464622020721435546, 6.096820831298828125, 1.553344011306762695, 0, 0, 0.700909614562988281, 0.71325010061264038, 120, 255, 1, "", 48632), +(1312, 164765, 593, 0, 0, 1, 1, 5.51160287857055664, 10.92694664001464843, 6.099214076995849609, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 48632), +(1313, 164766, 593, 0, 0, 1, 1, 4.39427804946899414, 9.889936447143554687, 6.099214076995849609, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 48632), +(1314, 164767, 593, 0, 0, 1, 1, 39.2127532958984375, -2.40047001838684082, 6.098138809204101562, 2.679079532623291015, 0, 0, 0.973379135131835937, 0.229200854897499084, 120, 255, 1, "", 48632), +-- Chair +-- 594 Sister Mercy - Garvan's Reef (Boat, Neutral ("Sister Mercy")) +(1315, 186408, 594, 0, 0, 1, 1, 17.0715179443359375, -0.77082198858261108, 8.6925811767578125, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 51739), +(1316, 186409, 594, 0, 0, 1, 1, 18.51146888732910156, 0.749058008193969726, 8.6925811767578125, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 51739), +(1317, 186410, 594, 0, 0, 1, 1, 14.273040771484375, -0.45916301012039184, 8.725382804870605468, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 51739), +(1318, 186411, 594, 0, 0, 1, 1, 12.84190177917480468, -2.01827406883239746, 8.725382804870605468, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 51739), +(1319, 186412, 594, 0, 0, 1, 1, 11.21061420440673828, 3.044408082962036132, 8.725523948669433593, 4.773476600646972656, 0, 0, -0.68518257141113281, 0.728371381759643554, 120, 255, 1, "", 51739), +(1320, 186413, 594, 0, 0, 1, 1, 11.28876686096191406, 0.989736020565032958, 8.725523948669433593, 1.553344011306762695, 0, 0, 0.700909614562988281, 0.71325010061264038, 120, 255, 1, "", 51739), +(1321, 186414, 594, 0, 0, 1, 1, 5.768925189971923828, 11.23967456817626953, 8.727916717529296875, 3.892086982727050781, 0, 0, -0.93041706085205078, 0.366502493619918823, 120, 255, 1, "", 51739), +(1322, 186415, 594, 0, 0, 1, 1, 4.191449165344238281, 9.616560935974121093, 8.727916717529296875, 0.671952366828918457, 0, 0, 0.329690933227539062, 0.944088935852050781, 120, 255, 1, "", 51739), +(1323, 186416, 594, 0, 0, 1, 1, 39.2127532958984375, -2.40047001838684082, 8.726841926574707031, 2.679079532623291015, 0, 0, 0.973379135131835937, 0.229200854897499084, 120, 255, 1, "", 45942), +(1324, 186417, 594, 0, 0, 1, 1, 35.6175537109375, -2.70943593978881835, 1.750810027122497558, 2.52683424949645996, 0, 0, 0.953129768371582031, 0.302561759948730468, 120, 255, 1, "", 51739), +-- 623 The Skybreaker - Icecrown (Gunship, Alliance ("The Skybreaker")) +(1325, 193031, 623, 0, 0, 1, 1, 45.25848388671875, 2.574336051940917968, 9.179107666015625, 1.48352813720703125, 0, 0, 0.675589561462402343, 0.737277925014495849, 120, 255, 1, "", 51739), +(1326, 193032, 623, 0, 0, 1, 1, 47.61293411254882812, 3.14569401741027832, 9.179107666015625, 2.268925428390502929, 0, 0, 0.906307220458984375, 0.422619491815567016, 120, 255, 1, "", 51739), +(1327, 193033, 623, 0, 0, 1, 1, 43.37488174438476562, 6.605104923248291015, 9.179107666015625, 5.759587764739990234, 0, 0, -0.25881862640380859, 0.965925931930541992, 120, 255, 1, "", 51739), +(1328, 193034, 623, 0, 0, 1, 1, 45.37456893920898437, 8.219777107238769531, 9.179107666015625, 4.886921405792236328, 0, 0, -0.64278793334960937, 0.766044199466705322, 120, 255, 1, "", 51739), +(1329, 193035, 623, 0, 0, 1, 1, 47.77638626098632812, 7.090052127838134765, 9.179107666015625, 3.926995515823364257, 0, 0, -0.92387866973876953, 0.38268551230430603, 120, 255, 1, "", 51739), +(1330, 193036, 623, 0, 0, 1, 1, 48.41291427612304687, 5.049696922302246093, 9.179545402526855468, 2.879789113998413085, 0, 0, 0.991444587707519531, 0.130528271198272705, 120, 255, 1, "", 51739), +(1331, 193037, 623, 0, 0, 1, 1, 43.42211532592773437, 4.230630874633789062, 9.179107666015625, 0.610865473747253417, 0, 0, 0.300705909729003906, 0.953716933727264404, 120, 255, 1, "", 51739), +-- Anvil +-- 622 Orgrim's Hammer - Icecrown (Gunship, Horde ("Orgrim's Hammer")) +(1332, 191640, 622, 0, 0, 1, 1, 42.08454513549804687, 14.60722732543945312, 10.65548419952392578, 4.244587898254394531, -0.00322771072387695, 0.005247116088867187, -0.85172462463378906, 0.523953437805175781, 120, 255, 1, "", 46368); From 529e9140323edeef916bd6a1b6c97e13aa38db08 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 1 Oct 2024 20:22:05 +0000 Subject: [PATCH 111/119] chore(DB): import pending files Referenced commit(s): f48f63db42ea6ea6a01c9a05e125462952ac62d4 --- .../rev_1727634134273698700.sql => db_world/2024_10_01_03.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727634134273698700.sql => db_world/2024_10_01_03.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1727634134273698700.sql b/data/sql/updates/db_world/2024_10_01_03.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1727634134273698700.sql rename to data/sql/updates/db_world/2024_10_01_03.sql index 264cbbebdc866c..5c67409f0de6b3 100644 --- a/data/sql/updates/pending_db_world/rev_1727634134273698700.sql +++ b/data/sql/updates/db_world/2024_10_01_03.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_01_02 -> 2024_10_01_03 -- add gameobjects to transports DELETE FROM `gameobject` WHERE (`id` IN (164759, 164760, 164761, 164762, 164763, 164764, 164765, 164766, 164767, 186408, 186409, 186410, 186411, 186412, 186413, 186414, 186415, 186416, 186417, 193031, 193032, 193033, 193034, 193035, 193036, 193037, 191640)) From 82797a450159ccb6cf766324c4531ac7dd4218ed Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Wed, 2 Oct 2024 21:54:58 +0200 Subject: [PATCH 112/119] fix(Scripts/TheBlackTemple): remove gossip option on Akama when Illidan is dead (#20118) --- src/server/scripts/Outland/BlackTemple/boss_illidan.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 0c131834c071be..ef488bd62046ed 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -734,7 +734,10 @@ struct npc_akama_illidan : public ScriptedAI scheduler.CancelAll(); me->m_Events.KillAllEvents(true); me->SetReactState(REACT_AGGRESSIVE); - me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); + if (instance->GetBossState(DATA_ILLIDAN_STORMRAGE) == DONE) + me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); + else + me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); me->setActive(false); summons.DespawnAll(); DoCastSelf(SPELL_REDUCED_THREAT, true); From fa0ed1b30c8b5834023b5c0b4106792e0f6205f8 Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Wed, 2 Oct 2024 16:56:57 -0300 Subject: [PATCH 113/119] fix(Creature/Model): Model probability change (#20062) * fix(Creature/Model) Model probability change * Fixes compilation and recommendations * Data extracted 51831 Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> --------- Co-authored-by: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> --- .../rev_1727463144776588300.sql | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1727463144776588300.sql diff --git a/data/sql/updates/pending_db_world/rev_1727463144776588300.sql b/data/sql/updates/pending_db_world/rev_1727463144776588300.sql new file mode 100644 index 00000000000000..f50cee46a94f63 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1727463144776588300.sql @@ -0,0 +1,175 @@ +-- +DELETE FROM `creature_template_model` WHERE `CreatureID` IN (21876, 22986, 23040, 23046, 23058, 23322, 23327, 23583, 23751, 23752, 23753, 23832, 23868, 23869, 23893, 24042, 24335, 24336, 24861, 24865, 24938, 25047, 25115, 25219, 25534, 26086, 26093, 26114, 26161, 26248, 26249, 26403, 26785, 26855, 26856, 26857, 27263, 27264, 27265, 27366, 27802, 28019, 28230, 28332, 28758, 29055, 29056, 29057, 29058, 29069, 29105, 29752, 30209, 30211, 30212, 31641, 32504, 33552, 33874, 34281, 34381, 34562, 36209, 36715, 37094, 37158, 37601, 37704, 37745, 37746, 37852, 38340, 38341, 38342, 38903, 38907, 39135, 39581, 39672, 40006, 40037, 40038, 40039, 40141, 40218, 40363); +INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES +(21876, 0, 20570, 1, 0, 51831), +(21876, 1, 16925, 1, 1, 51831), +(22986, 0, 20570, 1, 0, 51831), +(22986, 1, 17188, 1, 1, 51831), +(23040, 0, 20570, 1, 0, 51831), +(23040, 1, 11686, 1, 1, 51831), +(23046, 0, 20570, 1, 0, 51831), +(23046, 1, 19595, 1, 1, 51831), +(23058, 0, 20570, 1, 0, 51831), +(23058, 1, 19595, 1, 1, 51831), +(23322, 0, 20570, 1, 0, 51831), +(23322, 1, 11686, 1, 1, 51831), +(23327, 0, 20570, 1, 0, 51831), +(23327, 1, 11686, 1, 1, 51831), +(23583, 0, 20570, 1, 0, 51831), +(23583, 1, 17188, 1, 1, 51831), +(23751, 0, 20570, 1, 0, 51831), +(23751, 1, 17188, 1, 1, 51831), +(23752, 0, 20570, 1, 0, 51831), +(23752, 1, 17188, 1, 1, 51831), +(23753, 0, 20570, 1, 0, 51831), +(23753, 1, 17188, 1, 1, 51831), +(23832, 0, 20570, 1, 0, 51831), +(23832, 1, 21888, 1, 1, 51831), +(23868, 0, 20570, 1, 0, 51831), +(23868, 1, 17188, 1, 1, 51831), +(23869, 0, 20570, 1, 0, 51831), +(23869, 1, 17188, 1, 1, 51831), +(23893, 0, 20570, 1, 0, 51831), +(23893, 1, 21888, 1, 1, 51831), +(24042, 0, 20570, 1, 0, 51831), +(24042, 1, 11686, 1, 1, 51831), +(24335, 0, 20570, 1, 0, 51831), +(24335, 1, 17188, 1, 1, 51831), +(24336, 0, 20570, 1, 0, 51831), +(24336, 1, 17200, 1, 1, 51831), +(24861, 0, 20570, 1, 0, 51831), +(24861, 1, 17188, 1, 1, 51831), +(24865, 0, 20570, 1, 0, 51831), +(24865, 1, 11686, 1, 1, 51831), +(24938, 0, 20570, 1, 0, 51831), +(24938, 1, 11686, 1, 1, 51831), +(25047, 0, 20570, 1, 0, 51831), +(25047, 1, 11686, 1, 1, 51831), +(25115, 0, 20570, 1, 0, 51831), +(25115, 1, 11686, 1, 1, 51831), +(25219, 0, 20570, 1, 0, 51831), +(25219, 1, 11686, 1, 1, 51831), +(25534, 0, 20570, 1, 0, 51831), +(25534, 1, 24826, 1, 1, 51831), +(26086, 0, 20570, 1, 0, 51831), +(26086, 1, 23258, 1, 1, 51831), +(26093, 0, 20570, 1, 0, 51831), +(26093, 1, 11686, 1, 1, 51831), +(26114, 0, 20570, 1, 0, 51831), +(26114, 1, 17612, 1, 100, 51831), +(26161, 0, 20570, 1, 0, 51831), +(26161, 1, 17612, 1, 100, 51831), +(26248, 0, 20570, 1, 0, 51831), +(26248, 1, 17612, 1, 100, 51831), +(26249, 0, 20570, 1, 0, 51831), +(26249, 1, 17612, 1, 100, 51831), +(26403, 0, 20570, 1, 0, 51831), +(26403, 1, 11686, 1, 1, 51831), +(26785, 0, 20570, 1, 0, 51831), +(26785, 1, 16946, 1, 1, 51831), +(26855, 0, 20570, 1, 0, 51831), +(26855, 1, 11686, 1, 1, 51831), +(26856, 0, 20570, 1, 0, 51831), +(26856, 1, 11686, 1, 1, 51831), +(26857, 0, 20570, 1, 0, 51831), +(26857, 1, 11686, 1, 1, 51831), +(27263, 0, 20570, 1, 0, 51831), +(27263, 1, 15880, 1, 100, 51831), +(27264, 0, 20570, 1, 0, 51831), +(27264, 1, 15880, 1, 100, 51831), +(27265, 0, 20570, 1, 0, 51831), +(27265, 1, 15880, 1, 100, 51831), +(27366, 0, 20570, 1, 0, 51831), +(27366, 1, 17612, 1, 100, 51831), +(27802, 0, 20570, 1, 0, 51831), +(27802, 1, 17200, 1, 1, 51831), +(28019, 0, 20570, 1, 0, 51831), +(28019, 1, 17612, 1, 100, 51831), +(28230, 0, 20570, 1, 0, 51831), +(28230, 1, 15294, 1, 1, 51831), +(28332, 0, 20570, 1, 0, 51831), +(28332, 1, 11686, 1, 1, 51831), +(28758, 0, 20570, 1, 0, 51831), +(28758, 1, 17612, 1, 100, 51831), +(29055, 0, 20570, 1, 0, 51831), +(29055, 1, 17612, 1, 100, 51831), +(29056, 0, 20570, 1, 0, 51831), +(29056, 1, 17612, 1, 100, 51831), +(29057, 0, 20570, 1, 0, 51831), +(29057, 1, 17612, 1, 100, 51831), +(29058, 0, 20570, 1, 0, 51831), +(29058, 1, 17612, 1, 100, 51831), +(29069, 0, 20570, 1, 0, 51831), +(29069, 1, 17612, 1, 100, 51831), +(29105, 0, 20570, 1, 0, 51831), +(29105, 1, 11686, 1, 1, 51831), +(29752, 0, 20570, 1, 0, 51831), +(29752, 1, 11686, 1, 1, 51831), +(30209, 0, 20570, 1, 0, 51831), +(30209, 1, 11686, 1, 1, 51831), +(30211, 0, 20570, 1, 0, 51831), +(30211, 1, 11686, 1, 1, 51831), +(30212, 0, 20570, 1, 0, 51831), +(30212, 1, 11686, 1, 1, 51831), +(31641, 0, 20570, 1, 0, 51831), +(31641, 1, 21072, 1, 1, 51831), +(32504, 0, 20570, 1, 0, 51831), +(32504, 1, 11686, 1, 1, 51831), +(33552, 0, 20570, 1, 0, 51831), +(33552, 1, 23767, 1, 1, 51831), +(33874, 0, 20570, 1, 0, 51831), +(33874, 1, 11686, 1, 1, 51831), +(34281, 0, 20570, 1, 0, 51831), +(34281, 1, 11686, 1, 1, 51831), +(34381, 0, 20570, 1, 0, 51831), +(34381, 1, 11686, 1, 1, 51831), +(34562, 0, 20570, 1, 0, 51831), +(34562, 1, 11686, 1, 1, 51831), +(36209, 0, 20570, 1, 0, 51831), +(36209, 1, 11686, 1, 1, 51831), +(36715, 0, 20570, 1, 0, 51831), +(36715, 1, 17612, 1, 100, 51831), +(37094, 0, 20570, 1, 0, 51831), +(37094, 1, 30822, 1, 1, 51831), +(37158, 0, 20570, 1, 0, 51831), +(37158, 1, 30547, 1, 1, 51831), +(37601, 0, 20570, 1, 0, 51831), +(37601, 1, 17612, 1, 100, 51831), +(37704, 0, 20570, 1, 0, 51831), +(37704, 1, 17612, 1, 100, 51831), +(37745, 0, 20570, 1, 0, 51831), +(37745, 1, 30547, 1, 1, 51831), +(37746, 0, 20570, 1, 0, 51831), +(37746, 1, 17612, 1, 100, 51831), +(37852, 0, 20570, 1, 0, 51831), +(37852, 1, 17612, 1, 100, 51831), +(38340, 0, 20570, 1, 0, 51831), +(38340, 1, 17612, 1, 100, 51831), +(38341, 0, 20570, 1, 0, 51831), +(38341, 1, 17612, 1, 100, 51831), +(38342, 0, 20570, 1, 0, 51831), +(38342, 1, 17612, 1, 100, 51831), +(38903, 0, 20570, 1, 0, 51831), +(38903, 1, 11686, 1, 1, 51831), +(38907, 0, 20570, 1, 0, 51831), +(38907, 1, 11686, 1, 1, 51831), +(39135, 0, 20570, 1, 0, 51831), +(39135, 1, 17612, 1, 100, 51831), +(39581, 0, 20570, 1, 0, 51831), +(39581, 1, 27823, 1, 1, 51831), +(39672, 0, 20570, 1, 0, 51831), +(39672, 1, 27823, 1, 1, 51831), +(40006, 0, 31687, 1, 1, 51831), +(40006, 1, 20570, 1, 0, 51831), +(40037, 0, 23257, 1, 1, 51831), +(40037, 1, 20570, 1, 0, 51831), +(40038, 0, 21072, 1, 1, 51831), +(40038, 1, 20570, 1, 0, 51831), +(40039, 0, 11686, 1, 1, 51831), +(40039, 1, 20570, 1, 0, 51831), +(40141, 0, 31687, 1, 1, 51831), +(40141, 1, 20570, 1, 0, 51831), +(40218, 0, 20570, 1, 0, 51831), +(40218, 1, 19595, 1, 1, 51831), +(40363, 0, 20570, 1, 0, 51831), +(40363, 1, 22769, 1, 1, 51831); From a16ac71cbd10e1f98a184a5bba630c4978c79854 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 2 Oct 2024 19:57:53 +0000 Subject: [PATCH 114/119] chore(DB): import pending files Referenced commit(s): fa0ed1b30c8b5834023b5c0b4106792e0f6205f8 --- .../rev_1727463144776588300.sql => db_world/2024_10_02_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/rev_1727463144776588300.sql => db_world/2024_10_02_00.sql} (99%) diff --git a/data/sql/updates/pending_db_world/rev_1727463144776588300.sql b/data/sql/updates/db_world/2024_10_02_00.sql similarity index 99% rename from data/sql/updates/pending_db_world/rev_1727463144776588300.sql rename to data/sql/updates/db_world/2024_10_02_00.sql index f50cee46a94f63..e860907d5e5925 100644 --- a/data/sql/updates/pending_db_world/rev_1727463144776588300.sql +++ b/data/sql/updates/db_world/2024_10_02_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_01_03 -> 2024_10_02_00 -- DELETE FROM `creature_template_model` WHERE `CreatureID` IN (21876, 22986, 23040, 23046, 23058, 23322, 23327, 23583, 23751, 23752, 23753, 23832, 23868, 23869, 23893, 24042, 24335, 24336, 24861, 24865, 24938, 25047, 25115, 25219, 25534, 26086, 26093, 26114, 26161, 26248, 26249, 26403, 26785, 26855, 26856, 26857, 27263, 27264, 27265, 27366, 27802, 28019, 28230, 28332, 28758, 29055, 29056, 29057, 29058, 29069, 29105, 29752, 30209, 30211, 30212, 31641, 32504, 33552, 33874, 34281, 34381, 34562, 36209, 36715, 37094, 37158, 37601, 37704, 37745, 37746, 37852, 38340, 38341, 38342, 38903, 38907, 39135, 39581, 39672, 40006, 40037, 40038, 40039, 40141, 40218, 40363); INSERT INTO `creature_template_model` (`CreatureID`, `Idx`, `CreatureDisplayID`, `DisplayScale`, `Probability`, `VerifiedBuild`) VALUES From 7de5f727cc0c3469fa48a4633e9908f87c50c63c Mon Sep 17 00:00:00 2001 From: Dan <83884799+elthehablo@users.noreply.github.com> Date: Wed, 2 Oct 2024 22:37:16 +0200 Subject: [PATCH 115/119] fix(DB/WailingCaverns): make Boahn cast snake form (#20119) * Create boahn.sql * Update boahn.sql --- data/sql/updates/pending_db_world/boahn.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 data/sql/updates/pending_db_world/boahn.sql diff --git a/data/sql/updates/pending_db_world/boahn.sql b/data/sql/updates/pending_db_world/boahn.sql new file mode 100644 index 00000000000000..6142e98ecd65d9 --- /dev/null +++ b/data/sql/updates/pending_db_world/boahn.sql @@ -0,0 +1,4 @@ +-- +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 3672) AND (`source_type` = 0) AND (`id` IN (3)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(3672, 0, 3, 0, 2, 0, 100, 1, 0, 50, 0, 0, 0, 0, 11, 8041, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Boahn - Between 0-50% Health - Cast \'Snake Form\''); From c8b814d883e511e8f634a35316841461bcc657a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 2 Oct 2024 20:38:16 +0000 Subject: [PATCH 116/119] chore(DB): import pending files Referenced commit(s): 7de5f727cc0c3469fa48a4633e9908f87c50c63c --- .../{pending_db_world/boahn.sql => db_world/2024_10_02_01.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/boahn.sql => db_world/2024_10_02_01.sql} (94%) diff --git a/data/sql/updates/pending_db_world/boahn.sql b/data/sql/updates/db_world/2024_10_02_01.sql similarity index 94% rename from data/sql/updates/pending_db_world/boahn.sql rename to data/sql/updates/db_world/2024_10_02_01.sql index 6142e98ecd65d9..14818df3d6088f 100644 --- a/data/sql/updates/pending_db_world/boahn.sql +++ b/data/sql/updates/db_world/2024_10_02_01.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_02_00 -> 2024_10_02_01 -- DELETE FROM `smart_scripts` WHERE (`entryorguid` = 3672) AND (`source_type` = 0) AND (`id` IN (3)); INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES From de7b1eac45e2a9b707c9b9779891ddf7a338ed8a Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Wed, 2 Oct 2024 21:06:11 -0400 Subject: [PATCH 117/119] fix(DB/Creature): Adjust move type of various Black Temple creatures. (#20120) --- data/sql/updates/pending_db_world/bt-path-runners.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 data/sql/updates/pending_db_world/bt-path-runners.sql diff --git a/data/sql/updates/pending_db_world/bt-path-runners.sql b/data/sql/updates/pending_db_world/bt-path-runners.sql new file mode 100644 index 00000000000000..e1b769f89dc5c2 --- /dev/null +++ b/data/sql/updates/pending_db_world/bt-path-runners.sql @@ -0,0 +1,10 @@ +UPDATE `waypoint_data` SET `move_type` = 0 WHERE `id` IN ( +1480150, -- Aqueous Spawn +1480210, -- Aqueous Spawn +1480170, -- Aqueous Spawn +1480130, -- Aqueous Spawn +1480190, -- Aqueous Spawn +1483640, -- Bonechewer Behemoth +1483630, -- Bonechewer Behemoth +1483600 -- Bonechewer Behemoth +); From 67c746be7d166924011a98b5e74d666ba931b7e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 3 Oct 2024 01:07:08 +0000 Subject: [PATCH 118/119] chore(DB): import pending files Referenced commit(s): de7b1eac45e2a9b707c9b9779891ddf7a338ed8a --- .../bt-path-runners.sql => db_world/2024_10_03_00.sql} | 1 + 1 file changed, 1 insertion(+) rename data/sql/updates/{pending_db_world/bt-path-runners.sql => db_world/2024_10_03_00.sql} (86%) diff --git a/data/sql/updates/pending_db_world/bt-path-runners.sql b/data/sql/updates/db_world/2024_10_03_00.sql similarity index 86% rename from data/sql/updates/pending_db_world/bt-path-runners.sql rename to data/sql/updates/db_world/2024_10_03_00.sql index e1b769f89dc5c2..1c96f6146af12a 100644 --- a/data/sql/updates/pending_db_world/bt-path-runners.sql +++ b/data/sql/updates/db_world/2024_10_03_00.sql @@ -1,3 +1,4 @@ +-- DB update 2024_10_02_01 -> 2024_10_03_00 UPDATE `waypoint_data` SET `move_type` = 0 WHERE `id` IN ( 1480150, -- Aqueous Spawn 1480210, -- Aqueous Spawn From cc37941ef550e1465a112e1400325d5b1716fca1 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Thu, 3 Oct 2024 13:32:52 -0400 Subject: [PATCH 119/119] fix(Scripts/BlackTemple): Reset Illidan threat with phase four. (#20125) Init. --- src/server/scripts/Outland/BlackTemple/boss_illidan.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index ef488bd62046ed..067970420e188b 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -316,6 +316,7 @@ struct boss_illidan_stormrage : public BossAI DoStopAttack(); me->SetControlled(true, UNIT_STATE_ROOT); me->SetCombatMovement(false); + DoResetThreatList(); DoCastSelf(SPELL_DEMON_TRANSFORM_1, true); me->m_Events.AddEventAtOffset([&] {