aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/genrev/CMakeLists.txt2
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.cpp12
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.h12
-rw-r--r--src/server/game/AI/CoreAI/GameObjectAI.h2
-rw-r--r--src/server/game/AI/CoreAI/PassiveAI.cpp4
-rw-r--r--src/server/game/AI/CoreAI/PassiveAI.h6
-rw-r--r--src/server/game/AI/CoreAI/PetAI.cpp2
-rw-r--r--src/server/game/AI/CoreAI/PetAI.h2
-rw-r--r--src/server/game/AI/CoreAI/ReactorAI.cpp2
-rw-r--r--src/server/game/AI/CoreAI/ReactorAI.h2
-rw-r--r--src/server/game/AI/CoreAI/TotemAI.cpp2
-rw-r--r--src/server/game/AI/CoreAI/TotemAI.h2
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.cpp3
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.h6
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAI.cpp2
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAI.h2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp10
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h10
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.h2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h4
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp10
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.h4
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp54
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp3
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h12
-rw-r--r--src/server/game/Accounts/AccountMgr.cpp39
-rw-r--r--src/server/game/Accounts/AccountMgr.h6
-rw-r--r--src/server/game/Accounts/RBAC.cpp5
-rw-r--r--src/server/game/Accounts/RBAC.h59
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp47
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp87
-rw-r--r--src/server/game/Calendar/CalendarMgr.h16
-rw-r--r--src/server/game/Chat/Channels/Channel.cpp52
-rw-r--r--src/server/game/Chat/Chat.cpp5
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp1
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp1
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp14
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp39
-rw-r--r--src/server/game/Entities/Creature/Creature.h19
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.h16
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp4
-rw-r--r--src/server/game/Entities/Object/Object.cpp37
-rw-r--r--src/server/game/Entities/Object/Object.h1
-rw-r--r--src/server/game/Entities/Player/Player.cpp20
-rw-r--r--src/server/game/Entities/Player/Player.h6
-rw-r--r--src/server/game/Entities/Player/SocialMgr.cpp71
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp112
-rw-r--r--src/server/game/Entities/Unit/Unit.h3
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp586
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h59
-rw-r--r--src/server/game/Events/GameEventMgr.cpp34
-rw-r--r--src/server/game/Events/GameEventMgr.h4
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp170
-rw-r--r--src/server/game/Globals/ObjectMgr.h44
-rw-r--r--src/server/game/Groups/Group.cpp2
-rw-r--r--src/server/game/Guilds/Guild.cpp7
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp4
-rw-r--r--src/server/game/Handlers/CalendarHandler.cpp8
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp120
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp24
-rw-r--r--src/server/game/Handlers/MailHandler.cpp138
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp81
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp11
-rw-r--r--src/server/game/Loot/LootMgr.cpp30
-rw-r--r--src/server/game/Loot/LootMgr.h3
-rw-r--r--src/server/game/Maps/Map.cpp36
-rw-r--r--src/server/game/Maps/Map.h18
-rw-r--r--src/server/game/Maps/MapManager.cpp9
-rw-r--r--src/server/game/Miscellaneous/Language.h3
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h11
-rw-r--r--src/server/game/Movement/MotionMaster.cpp7
-rw-r--r--src/server/game/Movement/MotionMaster.h2
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp4
-rw-r--r--src/server/game/Movement/PathGenerator.h4
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInit.cpp2
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp4
-rw-r--r--src/server/game/Server/WorldSession.cpp40
-rw-r--r--src/server/game/Server/WorldSession.h10
-rw-r--r--src/server/game/Server/WorldSocket.cpp2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp5
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp162
-rw-r--r--src/server/game/Spells/Spell.cpp40
-rw-r--r--src/server/game/Spells/SpellEffects.cpp11
-rw-r--r--src/server/game/Spells/SpellInfo.cpp12
-rw-r--r--src/server/game/Spells/SpellInfo.h1
-rw-r--r--src/server/game/Spells/SpellMgr.cpp13
-rw-r--r--src/server/game/Weather/Weather.cpp3
-rw-r--r--src/server/game/Weather/Weather.h1
-rw-r--r--src/server/game/World/World.cpp51
-rw-r--r--src/server/game/World/World.h5
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp46
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp8
-rw-r--r--src/server/scripts/Commands/cs_mmaps.cpp2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp3
-rw-r--r--src/server/scripts/Commands/cs_rbac.cpp4
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp7
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp92
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/boss_kruul.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_duskwood.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp2
-rw-r--r--src/server/scripts/Events/childrens_week.cpp14
-rw-r--r--src/server/scripts/Examples/example_creature.cpp2
-rw-r--r--src/server/scripts/Examples/example_escort.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp22
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp4
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp6
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp14
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp8
-rw-r--r--src/server/scripts/Kalimdor/boss_azuregos.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_azshara.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp12
-rw-r--r--src/server/scripts/Kalimdor/zone_darkshore.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_desolace.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_moonglade.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_mulgore.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_orgrimmar.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp6
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_thousand_needles.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_thunder_bluff.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_ungoro_crater.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp6
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp8
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp22
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp6
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp30
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp8
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp6
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp34
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp14
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp10
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp10
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp8
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp6
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp8
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp14
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp10
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp6
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp11
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_eck.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp26
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp59
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp14
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp110
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp33
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp26
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp28
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h1
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp8
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp12
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp6
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp12
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp26
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp32
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp18
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp20
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp6
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp12
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp6
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp8
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp6
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp24
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp34
-rw-r--r--src/server/scripts/Northrend/zone_crystalsong_forest.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_dragonblight.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp14
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp6
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp8
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp124
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp2
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp18
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp6
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp4
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp6
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp10
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp4
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp16
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp12
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp8
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp10
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp16
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp2
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_gruul.cpp2
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp10
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp6
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp18
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp4
-rw-r--r--src/server/scripts/Outland/boss_doomlord_kazzak.cpp2
-rw-r--r--src/server/scripts/Outland/boss_doomwalker.cpp2
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp12
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp4
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp6
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp8
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp18
-rw-r--r--src/server/scripts/Outland/zone_shattrath_city.cpp6
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp6
-rw-r--r--src/server/scripts/Outland/zone_zangarmarsh.cpp2
-rw-r--r--src/server/scripts/Spells/spell_holiday.cpp2
-rw-r--r--src/server/scripts/Spells/spell_item.cpp61
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp64
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp16
-rw-r--r--src/server/scripts/World/guards.cpp6
-rw-r--r--src/server/scripts/World/mob_generic_creature.cpp4
-rw-r--r--src/server/scripts/World/npcs_special.cpp32
-rw-r--r--src/server/shared/Database/Implementation/WorldDatabase.cpp2
-rw-r--r--src/server/shared/Database/MySQLConnection.cpp5
-rw-r--r--src/server/shared/Logging/Log.cpp3
-rw-r--r--src/server/worldserver/RemoteAccess/RASocket.cpp17
-rw-r--r--src/server/worldserver/RemoteAccess/RASocket.h1
-rw-r--r--src/server/worldserver/TCSoap/TCSoap.cpp3
-rw-r--r--src/server/worldserver/TCSoap/TCSoap.h10
-rw-r--r--src/server/worldserver/worldserver.conf.dist10
-rw-r--r--src/tools/CMakeLists.txt4
538 files changed, 3163 insertions, 2316 deletions
diff --git a/src/genrev/CMakeLists.txt b/src/genrev/CMakeLists.txt
index c01c57b636f..b54534af827 100644
--- a/src/genrev/CMakeLists.txt
+++ b/src/genrev/CMakeLists.txt
@@ -10,6 +10,6 @@
# Need to pass old ${CMAKE_BINARY_DIR} as param because its different at build stage
add_custom_target(revision.h ALL
- COMMAND ${CMAKE_COMMAND} -DBUILDDIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/genrev.cmake
+ COMMAND ${CMAKE_COMMAND} -DNO_GIT=${WITHOUT_GIT} -DGIT_EXEC=${GIT_EXECUTABLE} -DBUILDDIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/genrev.cmake
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index 95a5a9a5116..7f0cec1a41d 100644
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -32,7 +32,7 @@ int AggressorAI::Permissible(const Creature* creature)
return PERMIT_BASE_NO;
}
-void AggressorAI::UpdateAI(const uint32 /*diff*/)
+void AggressorAI::UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -93,7 +93,7 @@ void CombatAI::EnterCombat(Unit* who)
}
}
-void CombatAI::UpdateAI(const uint32 diff)
+void CombatAI::UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -157,7 +157,7 @@ void CasterAI::EnterCombat(Unit* who)
}
}
-void CasterAI::UpdateAI(const uint32 diff)
+void CasterAI::UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -219,7 +219,7 @@ void ArcherAI::AttackStart(Unit* who)
me->GetMotionMaster()->MoveIdle();
}
-void ArcherAI::UpdateAI(const uint32 /*diff*/)
+void ArcherAI::UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -260,7 +260,7 @@ void TurretAI::AttackStart(Unit* who)
me->Attack(who, false);
}
-void TurretAI::UpdateAI(const uint32 /*diff*/)
+void TurretAI::UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -280,7 +280,7 @@ VehicleAI::VehicleAI(Creature* c) : CreatureAI(c), m_vehicle(c->GetVehicleKit())
}
//NOTE: VehicleAI::UpdateAI runs even while the vehicle is mounted
-void VehicleAI::UpdateAI(const uint32 diff)
+void VehicleAI::UpdateAI(uint32 diff)
{
CheckConditions(diff);
diff --git a/src/server/game/AI/CoreAI/CombatAI.h b/src/server/game/AI/CoreAI/CombatAI.h
index 8b10a8d6190..315ff861da9 100644
--- a/src/server/game/AI/CoreAI/CombatAI.h
+++ b/src/server/game/AI/CoreAI/CombatAI.h
@@ -30,7 +30,7 @@ class AggressorAI : public CreatureAI
public:
explicit AggressorAI(Creature* c) : CreatureAI(c) {}
- void UpdateAI(const uint32);
+ void UpdateAI(uint32);
static int Permissible(const Creature*);
};
@@ -45,7 +45,7 @@ class CombatAI : public CreatureAI
void Reset();
void EnterCombat(Unit* who);
void JustDied(Unit* killer);
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
void SpellInterrupted(uint32 spellId, uint32 unTimeMs);
static int Permissible(const Creature*);
protected:
@@ -59,7 +59,7 @@ class CasterAI : public CombatAI
explicit CasterAI(Creature* c) : CombatAI(c) { m_attackDist = MELEE_RANGE; }
void InitializeAI();
void AttackStart(Unit* victim) { AttackStartCaster(victim, m_attackDist); }
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
void EnterCombat(Unit* /*who*/);
private:
float m_attackDist;
@@ -70,7 +70,7 @@ struct ArcherAI : public CreatureAI
public:
explicit ArcherAI(Creature* c);
void AttackStart(Unit* who);
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
protected:
@@ -83,7 +83,7 @@ struct TurretAI : public CreatureAI
explicit TurretAI(Creature* c);
bool CanAIAttack(const Unit* who) const;
void AttackStart(Unit* who);
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
protected:
@@ -97,7 +97,7 @@ struct VehicleAI : public CreatureAI
public:
explicit VehicleAI(Creature* c);
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
void Reset();
void MoveInLineOfSight(Unit*) {}
diff --git a/src/server/game/AI/CoreAI/GameObjectAI.h b/src/server/game/AI/CoreAI/GameObjectAI.h
index feb3bbefcb8..32a6e9a670c 100644
--- a/src/server/game/AI/CoreAI/GameObjectAI.h
+++ b/src/server/game/AI/CoreAI/GameObjectAI.h
@@ -40,7 +40,7 @@ class GameObjectAI
virtual void Reset() { }
// Pass parameters between AI
- virtual void DoAction(const int32 /*param = 0 */) {}
+ virtual void DoAction(int32 /*param = 0 */) {}
virtual void SetGUID(uint64 /*guid*/, int32 /*id = 0 */) {}
virtual uint64 GetGUID(int32 /*id = 0 */) const { return 0; }
diff --git a/src/server/game/AI/CoreAI/PassiveAI.cpp b/src/server/game/AI/CoreAI/PassiveAI.cpp
index 2407b1f71e6..187a72bae92 100644
--- a/src/server/game/AI/CoreAI/PassiveAI.cpp
+++ b/src/server/game/AI/CoreAI/PassiveAI.cpp
@@ -24,7 +24,7 @@ PassiveAI::PassiveAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASS
PossessedAI::PossessedAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); }
NullCreatureAI::NullCreatureAI(Creature* c) : CreatureAI(c) { me->SetReactState(REACT_PASSIVE); }
-void PassiveAI::UpdateAI(const uint32)
+void PassiveAI::UpdateAI(uint32)
{
if (me->isInCombat() && me->getAttackers().empty())
EnterEvadeMode();
@@ -35,7 +35,7 @@ void PossessedAI::AttackStart(Unit* target)
me->Attack(target, true);
}
-void PossessedAI::UpdateAI(const uint32 /*diff*/)
+void PossessedAI::UpdateAI(uint32 /*diff*/)
{
if (me->getVictim())
{
diff --git a/src/server/game/AI/CoreAI/PassiveAI.h b/src/server/game/AI/CoreAI/PassiveAI.h
index cb513234be3..cb047ff364b 100644
--- a/src/server/game/AI/CoreAI/PassiveAI.h
+++ b/src/server/game/AI/CoreAI/PassiveAI.h
@@ -28,7 +28,7 @@ class PassiveAI : public CreatureAI
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
- void UpdateAI(const uint32);
+ void UpdateAI(uint32);
static int Permissible(const Creature*) { return PERMIT_BASE_IDLE; }
};
@@ -40,7 +40,7 @@ class PossessedAI : public CreatureAI
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit* target);
- void UpdateAI(const uint32);
+ void UpdateAI(uint32);
void EnterEvadeMode() {}
void JustDied(Unit*);
@@ -56,7 +56,7 @@ class NullCreatureAI : public CreatureAI
void MoveInLineOfSight(Unit*) {}
void AttackStart(Unit*) {}
- void UpdateAI(const uint32) {}
+ void UpdateAI(uint32) {}
void EnterEvadeMode() {}
void OnCharmed(bool /*apply*/) {}
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp
index 2792f68004f..dd32d2363d7 100644
--- a/src/server/game/AI/CoreAI/PetAI.cpp
+++ b/src/server/game/AI/CoreAI/PetAI.cpp
@@ -74,7 +74,7 @@ void PetAI::_stopAttack()
HandleReturnMovement();
}
-void PetAI::UpdateAI(const uint32 diff)
+void PetAI::UpdateAI(uint32 diff)
{
if (!me->isAlive() || !me->GetCharmInfo())
return;
diff --git a/src/server/game/AI/CoreAI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h
index 674c3dc1748..efb088160f3 100644
--- a/src/server/game/AI/CoreAI/PetAI.h
+++ b/src/server/game/AI/CoreAI/PetAI.h
@@ -31,7 +31,7 @@ class PetAI : public CreatureAI
explicit PetAI(Creature* c);
- void UpdateAI(const uint32);
+ void UpdateAI(uint32);
static int Permissible(const Creature*);
void KilledUnit(Unit* /*victim*/);
diff --git a/src/server/game/AI/CoreAI/ReactorAI.cpp b/src/server/game/AI/CoreAI/ReactorAI.cpp
index b9c235176bc..b99885088d4 100644
--- a/src/server/game/AI/CoreAI/ReactorAI.cpp
+++ b/src/server/game/AI/CoreAI/ReactorAI.cpp
@@ -31,7 +31,7 @@ int ReactorAI::Permissible(const Creature* creature)
return PERMIT_BASE_NO;
}
-void ReactorAI::UpdateAI(uint32 const /*diff*/)
+void ReactorAI::UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/game/AI/CoreAI/ReactorAI.h b/src/server/game/AI/CoreAI/ReactorAI.h
index f7de3b99565..449458f39be 100644
--- a/src/server/game/AI/CoreAI/ReactorAI.h
+++ b/src/server/game/AI/CoreAI/ReactorAI.h
@@ -30,7 +30,7 @@ class ReactorAI : public CreatureAI
explicit ReactorAI(Creature* c) : CreatureAI(c) {}
void MoveInLineOfSight(Unit*) {}
- void UpdateAI(uint32 const diff);
+ void UpdateAI(uint32 diff);
static int Permissible(const Creature*);
};
diff --git a/src/server/game/AI/CoreAI/TotemAI.cpp b/src/server/game/AI/CoreAI/TotemAI.cpp
index 8846066fee4..45865c5dbc2 100644
--- a/src/server/game/AI/CoreAI/TotemAI.cpp
+++ b/src/server/game/AI/CoreAI/TotemAI.cpp
@@ -49,7 +49,7 @@ void TotemAI::EnterEvadeMode()
me->CombatStop(true);
}
-void TotemAI::UpdateAI(uint32 const /*diff*/)
+void TotemAI::UpdateAI(uint32 /*diff*/)
{
if (me->ToTotem()->GetTotemType() != TOTEM_ACTIVE)
return;
diff --git a/src/server/game/AI/CoreAI/TotemAI.h b/src/server/game/AI/CoreAI/TotemAI.h
index f9a6acc7fce..897cfea1c44 100644
--- a/src/server/game/AI/CoreAI/TotemAI.h
+++ b/src/server/game/AI/CoreAI/TotemAI.h
@@ -35,7 +35,7 @@ class TotemAI : public CreatureAI
void AttackStart(Unit* victim);
void EnterEvadeMode();
- void UpdateAI(uint32 const diff);
+ void UpdateAI(uint32 diff);
static int Permissible(Creature const* creature);
private:
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 7f0d387c2f1..e0e9e68315d 100644
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -146,8 +146,7 @@ void UnitAI::DoCast(uint32 spellId)
float range = spellInfo->GetMaxRange(false);
DefaultTargetSelector targetSelector(me, range, playerOnly, -(int32)spellId);
- if (!(spellInfo->Attributes & SPELL_ATTR0_BREAKABLE_BY_DAMAGE)
- && !(spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_VICTIM)
+ if (!(spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_VICTIM)
&& targetSelector(me->getVictim()))
target = me->getVictim();
else
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index 3cb7c15dce4..5ab97ac5978 100644
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -125,7 +125,7 @@ class UnitAI
virtual bool CanAIAttack(Unit const* /*target*/) const { return true; }
virtual void AttackStart(Unit* /*target*/);
- virtual void UpdateAI(uint32 const diff) = 0;
+ virtual void UpdateAI(uint32 diff) = 0;
virtual void InitializeAI() { if (!me->isDead()) Reset(); }
@@ -135,7 +135,7 @@ class UnitAI
virtual void OnCharmed(bool apply) = 0;
// Pass parameters between AI
- virtual void DoAction(int32 const /*param*/) {}
+ virtual void DoAction(int32 /*param*/) {}
virtual uint32 GetData(uint32 /*id = 0*/) const { return 0; }
virtual void SetData(uint32 /*id*/, uint32 /*value*/) {}
virtual void SetGUID(uint64 /*guid*/, int32 /*id*/ = 0) {}
@@ -278,7 +278,7 @@ class PlayerAI : public UnitAI
class SimpleCharmedAI : public PlayerAI
{
public:
- void UpdateAI(uint32 const diff);
+ void UpdateAI(uint32 diff);
SimpleCharmedAI(Player* player): PlayerAI(player) {}
};
diff --git a/src/server/game/AI/EventAI/CreatureEventAI.cpp b/src/server/game/AI/EventAI/CreatureEventAI.cpp
index 7172a187504..1fa29bba10a 100644
--- a/src/server/game/AI/EventAI/CreatureEventAI.cpp
+++ b/src/server/game/AI/EventAI/CreatureEventAI.cpp
@@ -1012,7 +1012,7 @@ void CreatureEventAI::SpellHit(Unit* unit, const SpellInfo* spell)
ProcessEvent(*i, unit);
}
-void CreatureEventAI::UpdateAI(const uint32 diff)
+void CreatureEventAI::UpdateAI(uint32 diff)
{
//Check if we are in combat (also updates calls threat update code)
bool Combat = UpdateVictim();
diff --git a/src/server/game/AI/EventAI/CreatureEventAI.h b/src/server/game/AI/EventAI/CreatureEventAI.h
index fa4b2a709a6..23a2f79af67 100644
--- a/src/server/game/AI/EventAI/CreatureEventAI.h
+++ b/src/server/game/AI/EventAI/CreatureEventAI.h
@@ -608,7 +608,7 @@ class CreatureEventAI : public CreatureAI
void SpellHit(Unit* unit, const SpellInfo* spell);
void DamageTaken(Unit* done_by, uint32& damage);
void HealReceived(Unit* /*done_by*/, uint32& /*addhealth*/) {}
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
void ReceiveEmote(Player* player, uint32 textEmote);
static int Permissible(const Creature*);
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 6c947d11f07..5ef9ee09f1d 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -116,7 +116,7 @@ void ScriptedAI::AttackStart(Unit* who)
AttackStartNoMove(who);
}
-void ScriptedAI::UpdateAI(uint32 const /*diff*/)
+void ScriptedAI::UpdateAI(uint32 /*diff*/)
{
//Check if we have a current target
if (!UpdateVictim())
@@ -370,9 +370,7 @@ void ScriptedAI::SetEquipmentSlots(bool loadDefault, int32 mainHand /*= EQUIP_NO
{
if (loadDefault)
{
- if (CreatureTemplate const* creatureInfo = sObjectMgr->GetCreatureTemplate(me->GetEntry()))
- me->LoadEquipment(creatureInfo->equipmentId, true);
-
+ me->LoadEquipment(me->GetOriginalEquipmentId(), true);
return;
}
@@ -568,7 +566,7 @@ void BossAI::SummonedCreatureDespawn(Creature* summon)
summons.Despawn(summon);
}
-void BossAI::UpdateAI(uint32 const diff)
+void BossAI::UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -627,7 +625,7 @@ void WorldBossAI::SummonedCreatureDespawn(Creature* summon)
summons.Despawn(summon);
}
-void WorldBossAI::UpdateAI(uint32 const diff)
+void WorldBossAI::UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
index b8c2b3f8363..8d7a28d4e6f 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -90,7 +90,7 @@ struct ScriptedAI : public CreatureAI
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) {}
//Called at World update tick
- virtual void UpdateAI(uint32 const diff);
+ virtual void UpdateAI(uint32 diff);
//Called at creature death
void JustDied(Unit* /*killer*/) {}
@@ -288,13 +288,13 @@ class BossAI : public ScriptedAI
void JustSummoned(Creature* summon);
void SummonedCreatureDespawn(Creature* summon);
- virtual void UpdateAI(uint32 const diff);
+ virtual void UpdateAI(uint32 diff);
// Hook used to execute events scheduled into EventMap without the need
// to override UpdateAI
// note: You must re-schedule the event within this method if the event
// is supposed to run more than once
- virtual void ExecuteEvent(uint32 const /*eventId*/) { }
+ virtual void ExecuteEvent(uint32 /*eventId*/) { }
void Reset() { _Reset(); }
void EnterCombat(Unit* /*who*/) { _EnterCombat(); }
@@ -336,13 +336,13 @@ class WorldBossAI : public ScriptedAI
void JustSummoned(Creature* summon);
void SummonedCreatureDespawn(Creature* summon);
- virtual void UpdateAI(uint32 const diff);
+ virtual void UpdateAI(uint32 diff);
// Hook used to execute events scheduled into EventMap without the need
// to override UpdateAI
// note: You must re-schedule the event within this method if the event
// is supposed to run more than once
- virtual void ExecuteEvent(uint32 const /*eventId*/) { }
+ virtual void ExecuteEvent(uint32 /*eventId*/) { }
void Reset() { _Reset(); }
void EnterCombat(Unit* /*who*/) { _EnterCombat(); }
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index 3f5952a210d..b43cd1e7cd4 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -205,7 +205,7 @@ bool npc_escortAI::IsPlayerOrGroupInRange()
return false;
}
-void npc_escortAI::UpdateAI(uint32 const diff)
+void npc_escortAI::UpdateAI(uint32 diff)
{
//Waypoint Updating
if (HasEscortState(STATE_ESCORT_ESCORTING) && !me->getVictim() && m_uiWPWaitTimer && !HasEscortState(STATE_ESCORT_RETURNING))
@@ -293,7 +293,7 @@ void npc_escortAI::UpdateAI(uint32 const diff)
UpdateEscortAI(diff);
}
-void npc_escortAI::UpdateEscortAI(uint32 const /*diff*/)
+void npc_escortAI::UpdateEscortAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
index 4b4f3656a8d..4a350acab2c 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.h
@@ -54,7 +54,7 @@ struct npc_escortAI : public ScriptedAI
void EnterEvadeMode();
- void UpdateAI(uint32 const diff); //the "internal" update, calls UpdateEscortAI()
+ void UpdateAI(uint32 diff); //the "internal" update, calls UpdateEscortAI()
virtual void UpdateEscortAI(uint32 const diff); //used when it's needed to add code in update (abilities, scripted events, etc)
void MovementInform(uint32, uint32);
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index 96209084240..63d5ad1fd05 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -184,7 +184,7 @@ void FollowerAI::EnterEvadeMode()
Reset();
}
-void FollowerAI::UpdateAI(const uint32 uiDiff)
+void FollowerAI::UpdateAI(uint32 uiDiff)
{
if (HasFollowState(STATE_FOLLOW_INPROGRESS) && !me->getVictim())
{
@@ -246,7 +246,7 @@ void FollowerAI::UpdateAI(const uint32 uiDiff)
UpdateFollowerAI(uiDiff);
}
-void FollowerAI::UpdateFollowerAI(const uint32 /*uiDiff*/)
+void FollowerAI::UpdateFollowerAI(uint32 /*uiDiff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
index 1c81b5f73fc..ccc8af6197a 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.h
@@ -38,8 +38,8 @@ class FollowerAI : public ScriptedAI
void JustRespawned();
- void UpdateAI(const uint32); //the "internal" update, calls UpdateFollowerAI()
- virtual void UpdateFollowerAI(const uint32); //used when it's needed to add code in update (abilities, scripted events, etc)
+ void UpdateAI(uint32); //the "internal" update, calls UpdateFollowerAI()
+ virtual void UpdateFollowerAI(uint32); //used when it's needed to add code in update (abilities, scripted events, etc)
void StartFollow(Player* player, uint32 factionForFollower = 0, const Quest* quest = NULL);
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index 501bc35b77a..30cc3cf246b 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -330,7 +330,7 @@ void SmartAI::UpdatePath(const uint32 diff)
}
}
-void SmartAI::UpdateAI(const uint32 diff)
+void SmartAI::UpdateAI(uint32 diff)
{
GetScript()->OnUpdate(diff);
UpdatePath(diff);
@@ -422,6 +422,9 @@ void SmartAI::MovepointReached(uint32 id)
void SmartAI::MovementInform(uint32 MovementType, uint32 Data)
{
+ if ((MovementType == POINT_MOTION_TYPE && Data == SMART_ESCORT_LAST_OOC_POINT) || MovementType == FOLLOW_MOTION_TYPE)
+ me->ClearUnitState(UNIT_STATE_EVADE);
+
GetScript()->ProcessEventsFor(SMART_EVENT_MOVEMENTINFORM, NULL, MovementType, Data);
if (MovementType != POINT_MOTION_TYPE || !HasEscortState(SMART_ESCORT_ESCORTING))
return;
@@ -443,11 +446,12 @@ void SmartAI::RemoveAuras()
void SmartAI::EnterEvadeMode()
{
- if (!me->isAlive())
+ if (!me->isAlive() || me->IsInEvadeMode())
return;
RemoveAuras();
+ me->AddUnitState(UNIT_STATE_EVADE);
me->DeleteThreatList();
me->CombatStop(true);
me->LoadCreaturesAddon();
@@ -694,7 +698,7 @@ void SmartAI::OnCharmed(bool apply)
GetScript()->ProcessEventsFor(SMART_EVENT_CHARMED, NULL, 0, 0, apply);
}
-void SmartAI::DoAction(const int32 param)
+void SmartAI::DoAction(int32 param)
{
GetScript()->ProcessEventsFor(SMART_EVENT_ACTION_DONE, NULL, param);
}
diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h
index ab2ffb7229d..b5b92efdcd2 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.h
+++ b/src/server/game/AI/SmartScripts/SmartAI.h
@@ -111,7 +111,7 @@ class SmartAI : public CreatureAI
void HealReceived(Unit* doneBy, uint32& addhealth);
// Called at World update tick
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
// Called at text emote receive from player
void ReceiveEmote(Player* player, uint32 textEmote);
@@ -147,7 +147,7 @@ class SmartAI : public CreatureAI
bool CanAIAttack(const Unit* who) const;
// Used in scripts to share variables
- void DoAction(const int32 param = 0);
+ void DoAction(int32 param = 0);
// Used in scripts to share variables
uint32 GetData(uint32 id = 0) const;
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index e37b9e777d8..bc94169687c 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -1459,15 +1459,16 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
if (Creature* npc = (*itr)->ToCreature())
{
uint32 slot[3];
- if (e.action.equip.entry)
+ int8 equipId = (int8)e.action.equip.entry;
+ if (equipId)
{
- EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(e.action.equip.entry);
+ EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(npc->GetEntry(), equipId);
if (!einfo)
{
- sLog->outError(LOG_FILTER_SQL, "SmartScript: SMART_ACTION_EQUIP uses non-existent equipment info entry %u", e.action.equip.entry);
+ sLog->outError(LOG_FILTER_SQL, "SmartScript: SMART_ACTION_EQUIP uses non-existent equipment info id %u for creature %u", equipId, npc->GetEntry());
return;
}
- npc->SetCurrentEquipmentId(e.action.equip.entry);
+ npc->SetCurrentEquipmentId(equipId);
slot[0] = einfo->ItemEntry[0];
slot[1] = einfo->ItemEntry[1];
slot[2] = einfo->ItemEntry[2];
@@ -1478,11 +1479,11 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
slot[1] = e.action.equip.slot2;
slot[2] = e.action.equip.slot3;
}
- if (!e.action.equip.mask || e.action.equip.mask & 1)
+ if (!e.action.equip.mask || (e.action.equip.mask & 1))
npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, slot[0]);
- if (!e.action.equip.mask || e.action.equip.mask & 2)
+ if (!e.action.equip.mask || (e.action.equip.mask & 2))
npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, slot[1]);
- if (!e.action.equip.mask || e.action.equip.mask & 4)
+ if (!e.action.equip.mask || (e.action.equip.mask & 4))
npc->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, slot[2]);
}
}
@@ -2028,6 +2029,45 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
delete targets;
break;
}
+ case SMART_ACTION_SET_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetUInt32Value(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_ADD_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->SetFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+
+ delete targets;
+ break;
+ }
+ case SMART_ACTION_REMOVE_GO_FLAG:
+ {
+ ObjectList* targets = GetTargets(e, unit);
+ if (!targets)
+ break;
+
+ for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
+ if (IsGameObject(*itr))
+ (*itr)->ToGameObject()->RemoveFlag(GAMEOBJECT_FLAGS, e.action.goFlag.flag);
+
+ delete targets;
+ break;
+ }
default:
sLog->outError(LOG_FILTER_SQL, "SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Unhandled Action type %u", e.entryOrGuid, e.GetScriptType(), e.event_id, e.GetActionType());
break;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index 90534de327a..f140afe1295 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -907,6 +907,9 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_SET_HOME_POS:
case SMART_ACTION_SET_HEALTH_REGEN:
case SMART_ACTION_SET_ROOT:
+ case SMART_ACTION_SET_GO_FLAG:
+ case SMART_ACTION_ADD_GO_FLAG:
+ case SMART_ACTION_REMOVE_GO_FLAG:
break;
default:
sLog->outError(LOG_FILTER_SQL, "SmartAIMgr: Not handled action_type(%u), event_type(%u), Entry %d SourceType %u Event %u, skipped.", e.GetActionType(), e.GetEventType(), e.entryOrGuid, e.GetScriptType(), e.event_id);
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index 88f9ce4f6f4..133c227f825 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -426,7 +426,6 @@ enum SMART_ACTION
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL = 42, // MinHpValue(+pct, -flat)
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL = 43, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to dismount)
SMART_ACTION_SET_INGAME_PHASE_MASK = 44, // mask
-
SMART_ACTION_SET_DATA = 45, // Field, Data (only creature TODO)
SMART_ACTION_MOVE_FORWARD = 46, // distance
SMART_ACTION_SET_VISIBILITY = 47, // on/off
@@ -449,7 +448,6 @@ enum SMART_ACTION
SMART_ACTION_STORE_TARGET_LIST = 64, // varID,
SMART_ACTION_WP_RESUME = 65, // none
SMART_ACTION_SET_ORIENTATION = 66, //
-
SMART_ACTION_CREATE_TIMED_EVENT = 67, // id, InitialMin, InitialMax, RepeatMin(only if it repeats), RepeatMax(only if it repeats), chance
SMART_ACTION_PLAYMOVIE = 68, // entry
SMART_ACTION_MOVE_TO_POS = 69, // PointId, xyz
@@ -487,8 +485,11 @@ enum SMART_ACTION
SMART_ACTION_SET_HOME_POS = 101, // none
SMART_ACTION_SET_HEALTH_REGEN = 102, // 0/1
SMART_ACTION_SET_ROOT = 103, // off/on
+ SMART_ACTION_SET_GO_FLAG = 104, // Flags
+ SMART_ACTION_ADD_GO_FLAG = 105, // Flags
+ SMART_ACTION_REMOVE_GO_FLAG = 106, // Flags
- SMART_ACTION_END = 104
+ SMART_ACTION_END = 107
};
struct SmartAction
@@ -925,6 +926,11 @@ struct SmartAction
uint32 root;
} setRoot;
+ struct
+ {
+ uint32 flag;
+ } goFlag;
+
//! Note for any new future actions
//! All parameters must have type uint32
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp
index b1d0087c32c..7172efaac0e 100644
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -27,7 +27,18 @@
AccountMgr::AccountMgr()
{
+}
+
+AccountMgr::~AccountMgr()
+{
+ for (RBACPermissionsContainer::iterator itr = _permissions.begin(); itr != _permissions.end(); ++itr)
+ delete itr->second;
+ for (RBACRolesContainer::iterator itr = _roles.begin(); itr != _roles.end(); ++itr)
+ delete itr->second;
+
+ for (RBACGroupsContainer::iterator itr = _groups.begin(); itr != _groups.end(); ++itr)
+ delete itr->second;
}
AccountOpResult AccountMgr::CreateAccount(std::string username, std::string password)
@@ -56,7 +67,7 @@ AccountOpResult AccountMgr::CreateAccount(std::string username, std::string pass
RBACData* rbac = new RBACData(GetId(username), username, -1);
// No need to Load From DB, as it's new data
- RBACGroupContainer const& groupsToAdd = _defaultGroups[0]; // 0: Default sec level
+ RBACGroupContainer const& groupsToAdd = _defaultSecGroups[0]; // 0: Default sec level
for (RBACGroupContainer::const_iterator it = groupsToAdd.begin(); it != groupsToAdd.end(); ++it)
rbac->AddGroup(*it, -1);
@@ -426,13 +437,20 @@ void AccountMgr::LoadRBAC()
uint8 secId = field[0].GetUInt8();
if (lastSecId != secId)
- groups = &_defaultGroups[secId];
+ groups = &_defaultSecGroups[secId];
groups->insert(field[1].GetUInt32());
}
while (result->NextRow());
sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u permission definitions, %u role definitions and %u group definitions in %u ms", count1, count2, count3, GetMSTimeDiffToNow(oldMSTime));
+
+ // Load default groups to be added to any RBAC Object.
+ std::string defaultGroups = ConfigMgr::GetStringDefault("RBAC.DefaultGroups", "");
+ Tokenizer tokens(defaultGroups, ',');
+ for (Tokenizer::const_iterator itr = tokens.begin(); itr != tokens.end(); ++itr)
+ if (uint32 groupId = atoi(*itr))
+ _defaultGroups.insert(groupId);
}
void AccountMgr::UpdateAccountAccess(RBACData* rbac, uint32 accountId, uint8 securityLevel, int32 realmId)
@@ -459,7 +477,7 @@ void AccountMgr::UpdateAccountAccess(RBACData* rbac, uint32 accountId, uint8 sec
uint8 secLevel = field[0].GetUInt8();
int32 realmId = field[1].GetUInt32();
- RBACGroupContainer const& groupsToRemove = _defaultGroups[secLevel];
+ RBACGroupContainer const& groupsToRemove = _defaultSecGroups[secLevel];
for (RBACGroupContainer::const_iterator it = groupsToRemove.begin(); it != groupsToRemove.end(); ++it)
rbac->RemoveGroup(*it, realmId);
}
@@ -467,7 +485,7 @@ void AccountMgr::UpdateAccountAccess(RBACData* rbac, uint32 accountId, uint8 sec
}
// Add new groups depending on the new security Level
- RBACGroupContainer const& groupsToAdd = _defaultGroups[securityLevel];
+ RBACGroupContainer const& groupsToAdd = _defaultSecGroups[securityLevel];
for (RBACGroupContainer::const_iterator it = groupsToAdd.begin(); it != groupsToAdd.end(); ++it)
rbac->AddGroup(*it, realmId);
@@ -526,3 +544,16 @@ RBACPermission const* AccountMgr::GetRBACPermission(uint32 permission) const
return NULL;
}
+
+bool AccountMgr::HasPermission(uint32 accountId, uint32 permission, uint32 realmId)
+{
+ if (!accountId)
+ return false;
+
+ RBACData* rbac = new RBACData(accountId, "", realmId);
+ rbac->LoadFromDB();
+ bool hasPermission = rbac->HasPermission(permission);
+ delete rbac;
+
+ return hasPermission;
+}
diff --git a/src/server/game/Accounts/AccountMgr.h b/src/server/game/Accounts/AccountMgr.h
index 90c533ca5fa..28373456994 100644
--- a/src/server/game/Accounts/AccountMgr.h
+++ b/src/server/game/Accounts/AccountMgr.h
@@ -45,6 +45,7 @@ class AccountMgr
private:
AccountMgr();
+ ~AccountMgr();
public:
AccountOpResult CreateAccount(std::string username, std::string password);
@@ -66,6 +67,7 @@ class AccountMgr
static bool IsGMAccount(uint32 gmlevel);
static bool IsAdminAccount(uint32 gmlevel);
static bool IsConsoleAccount(uint32 gmlevel);
+ static bool HasPermission(uint32 accountId, uint32 permission, uint32 realmId);
void UpdateAccountAccess(RBACData* rbac, uint32 accountId, uint8 securityLevel, int32 realmId);
@@ -77,12 +79,14 @@ class AccountMgr
RBACGroupsContainer const& GetRBACGroupList() const { return _groups; }
RBACRolesContainer const& GetRBACRoleList() const { return _roles; }
RBACPermissionsContainer const& GetRBACPermissionList() const { return _permissions; }
+ RBACGroupContainer const& GetRBACDefaultGroups() const { return _defaultGroups; }
private:
RBACPermissionsContainer _permissions;
RBACRolesContainer _roles;
RBACGroupsContainer _groups;
- RBACDefaultSecurityGroupContainer _defaultGroups;
+ RBACDefaultSecurityGroupContainer _defaultSecGroups;
+ RBACGroupContainer _defaultGroups;
};
#define sAccountMgr ACE_Singleton<AccountMgr, ACE_Null_Mutex>::instance()
diff --git a/src/server/game/Accounts/RBAC.cpp b/src/server/game/Accounts/RBAC.cpp
index 4a069df05cd..121c9faae76 100644
--- a/src/server/game/Accounts/RBAC.cpp
+++ b/src/server/game/Accounts/RBAC.cpp
@@ -296,6 +296,11 @@ void RBACData::LoadFromDB()
while (result->NextRow());
}
+ // Add default groups
+ RBACGroupContainer const& groups = sAccountMgr->GetRBACDefaultGroups();
+ for (RBACGroupContainer::const_iterator itr = groups.begin(); itr != groups.end(); ++itr)
+ AddGroup(*itr);
+
// Force calculation of permissions, it wasn't performed at load time
// while adding groups, roles and permissions
CalculateNewPermissions();
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index d2c76b71801..0bd193d3841 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -48,16 +48,53 @@
enum RBACPermissions
{
- RBAC_PERM_INSTANT_LOGOUT = 1,
- RBAC_PERM_SKIP_QUEUE,
- RBAC_PERM_JOIN_NORMAL_BG,
- RBAC_PERM_JOIN_RANDOM_BG,
- RBAC_PERM_JOIN_ARENAS,
- RBAC_PERM_JOIN_DUNGEON_FINDER,
- RBAC_PERM_PLAYER_COMMANDS,
- RBAC_PERM_MODERATOR_COMMANDS,
- RBAC_PERM_GAMEMASTER_COMMANDS,
- RBAC_PERM_ADMINISTRATOR_COMMANDS,
+ RBAC_PERM_INSTANT_LOGOUT = 1,
+ RBAC_PERM_SKIP_QUEUE = 2,
+ RBAC_PERM_JOIN_NORMAL_BG = 3,
+ RBAC_PERM_JOIN_RANDOM_BG = 4,
+ RBAC_PERM_JOIN_ARENAS = 5,
+ RBAC_PERM_JOIN_DUNGEON_FINDER = 6,
+ RBAC_PERM_PLAYER_COMMANDS = 7,
+ RBAC_PERM_MODERATOR_COMMANDS = 8,
+ RBAC_PERM_GAMEMASTER_COMMANDS = 9,
+ RBAC_PERM_ADMINISTRATOR_COMMANDS = 10,
+ RBAC_PERM_LOG_GM_TRADE = 11,
+ // Free = 12
+ RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES = 13,
+ RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_TEAMMASK = 14,
+ RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_CLASSMASK = 15,
+ RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RACEMASK = 16,
+ RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME = 17,
+ RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_HEROIC_CHARACTER = 18,
+ RBAC_PERM_SKIP_CHECK_CHAT_CHANNEL_REQ = 19,
+ RBAC_PERM_SKIP_CHECK_DISABLE_MAP = 20,
+ RBAC_PERM_SKIP_CHECK_MORE_TALENTS_THAN_ALLOWED = 21,
+ RBAC_PERM_SKIP_CHECK_CHAT_SPAM = 22,
+ RBAC_PERM_SKIP_CHECK_OVERSPEED_PING = 23,
+ RBAC_PERM_TWO_SIDE_CHARACTER_CREATION = 24,
+ RBAC_PERM_TWO_SIDE_INTERACTION_CHAT = 25,
+ RBAC_PERM_TWO_SIDE_INTERACTION_CHANNEL = 26,
+ RBAC_PERM_TWO_SIDE_INTERACTION_MAIL = 27,
+ RBAC_PERM_TWO_SIDE_WHO_LIST = 28,
+ RBAC_PERM_TWO_SIDE_ADD_FRIEND = 29,
+ RBAC_PERM_COMMANDS_SAVE_WITHOUT_DELAY = 30,
+ RBAC_PERM_COMMANDS_USE_UNSTUCK_WITH_ARGS = 31,
+ RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET = 32,
+ RBAC_PERM_COMMANDS_NOTIFY_COMMAND_NOT_FOUND_ERROR = 33,
+ RBAC_PERM_COMMANDS_APPEAR_IN_GM_LIST = 34,
+ RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS = 35,
+ RBAC_PERM_CAN_FILTER_WHISPERS = 36,
+ RBAC_PERM_CHAT_USE_STAFF_BADGE = 37,
+ RBAC_PERM_RESURRECT_WITH_FULL_HPS = 38,
+ RBAC_PERM_RESTORE_SAVED_GM_STATE = 39,
+ RBAC_PERM_ALLOW_GM_FRIEND = 40,
+ RBAC_PERM_USE_START_GM_LEVEL = 41,
+ RBAC_PERM_OPCODE_WORLD_TELEPORT = 42,
+ RBAC_PERM_OPCODE_WHOIS = 43,
+ RBAC_PERM_RECEIVE_GLOBAL_GM_TEXTMESSAGE = 44,
+ RBAC_PERM_SILENTLY_JOIN_CHANNEL = 45,
+ RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR = 46,
+ RBAC_PERM_CHECK_FOR_LOWER_SECURITY = 47,
RBAC_PERM_MAX
};
@@ -135,7 +172,7 @@ class RBACGroup: public RBACObject
RBACRoleContainer _roles; ///> Set of Roles
};
-/*
+/**
* @name RBACData
* @brief Contains all needed information about the acccount
*
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index 71c44408f72..586a42c9f7e 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -93,46 +93,45 @@ void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction&
if (!pItem)
return;
- uint32 bidder_accId = 0;
- uint64 bidder_guid = MAKE_NEW_GUID(auction->bidder, 0, HIGHGUID_PLAYER);
- Player* bidder = ObjectAccessor::FindPlayer(bidder_guid);
+ uint32 bidderAccId = 0;
+ uint64 bidderGuid = MAKE_NEW_GUID(auction->bidder, 0, HIGHGUID_PLAYER);
+ Player* bidder = ObjectAccessor::FindPlayer(bidderGuid);
// data for gm.log
if (sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
- uint32 bidder_security = 0;
- std::string bidder_name;
+ std::string bidderName;
+ bool logGmTrade = false;
+
if (bidder)
{
- bidder_accId = bidder->GetSession()->GetAccountId();
- bidder_security = bidder->GetSession()->GetSecurity();
- bidder_name = bidder->GetName();
+ bidderAccId = bidder->GetSession()->GetAccountId();
+ bidderName = bidder->GetName();
+ logGmTrade = bidder->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE);
}
else
{
- bidder_accId = sObjectMgr->GetPlayerAccountIdByGUID(bidder_guid);
- bidder_security = AccountMgr::GetSecurity(bidder_accId, realmID);
+ bidderAccId = sObjectMgr->GetPlayerAccountIdByGUID(bidderGuid);
+ logGmTrade = AccountMgr::HasPermission(bidderAccId, RBAC_PERM_LOG_GM_TRADE, realmID);
- if (!AccountMgr::IsPlayerAccount(bidder_security)) // not do redundant DB requests
- {
- if (!sObjectMgr->GetPlayerNameByGUID(bidder_guid, bidder_name))
- bidder_name = sObjectMgr->GetTrinityStringForDBCLocale(LANG_UNKNOWN);
- }
+ if (logGmTrade && !sObjectMgr->GetPlayerNameByGUID(bidderGuid, bidderName))
+ bidderName = sObjectMgr->GetTrinityStringForDBCLocale(LANG_UNKNOWN);
}
- if (!AccountMgr::IsPlayerAccount(bidder_security))
+
+ if (logGmTrade)
{
- std::string owner_name;
- if (!sObjectMgr->GetPlayerNameByGUID(auction->owner, owner_name))
- owner_name = sObjectMgr->GetTrinityStringForDBCLocale(LANG_UNKNOWN);
+ std::string ownerName;
+ if (!sObjectMgr->GetPlayerNameByGUID(auction->owner, ownerName))
+ ownerName = sObjectMgr->GetTrinityStringForDBCLocale(LANG_UNKNOWN);
- uint32 owner_accid = sObjectMgr->GetPlayerAccountIdByGUID(auction->owner);
+ uint32 ownerAccId = sObjectMgr->GetPlayerAccountIdByGUID(auction->owner);
- sLog->outCommand(bidder_accId, "GM %s (Account: %u) won item in auction: %s (Entry: %u Count: %u) and pay money: %u. Original owner %s (Account: %u)",
- bidder_name.c_str(), bidder_accId, pItem->GetTemplate()->Name1.c_str(), pItem->GetEntry(), pItem->GetCount(), auction->bid, owner_name.c_str(), owner_accid);
+ sLog->outCommand(bidderAccId, "GM %s (Account: %u) won item in auction: %s (Entry: %u Count: %u) and pay money: %u. Original owner %s (Account: %u)",
+ bidderName.c_str(), bidderAccId, pItem->GetTemplate()->Name1.c_str(), pItem->GetEntry(), pItem->GetCount(), auction->bid, ownerName.c_str(), ownerAccId);
}
}
// receiver exist
- if (bidder || bidder_accId)
+ if (bidder || bidderAccId)
{
// set owner to bidder (to prevent delete item with sender char deleting)
// owner in `data` will set at mail receive and item extracting
@@ -143,7 +142,7 @@ void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction&
if (bidder)
{
- bidder->GetSession()->SendAuctionBidderNotification(auction->GetHouseId(), auction->Id, bidder_guid, 0, 0, auction->itemEntry);
+ bidder->GetSession()->SendAuctionBidderNotification(auction->GetHouseId(), auction->Id, bidderGuid, 0, 0, auction->itemEntry);
// FIXME: for offline player need also
bidder->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS, 1);
}
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index 763e0132c10..5f73ee48380 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -40,6 +40,12 @@ CalendarMgr::CalendarMgr()
CalendarMgr::~CalendarMgr()
{
+ for (CalendarEventStore::iterator itr = _events.begin(); itr != _events.end(); ++itr)
+ delete *itr;
+
+ for (CalendarEventInviteStore::iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
+ for (CalendarInviteStore::iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
+ delete *itr2;
}
void CalendarMgr::LoadFromDB()
@@ -153,7 +159,7 @@ void CalendarMgr::RemoveEvent(uint64 eventId, uint64 remover)
PreparedStatement* stmt;
MailDraft mail(calendarEvent->BuildCalendarMailSubject(remover), calendarEvent->BuildCalendarMailBody());
- std::vector<CalendarInvite*>::iterator itr = _invites[eventId].begin();
+ CalendarInviteStore::iterator itr = _invites[eventId].begin();
while (itr != _invites[eventId].end())
{
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CALENDAR_INVITE);
@@ -187,7 +193,7 @@ void CalendarMgr::RemoveInvite(uint64 inviteId, uint64 eventId, uint64 /*remover
if (!calendarEvent)
return;
- std::vector<CalendarInvite*>::iterator itr = _invites[eventId].begin();
+ CalendarInviteStore::iterator itr = _invites[eventId].begin();
for (; itr != _invites[eventId].end(); ++itr)
if ((*itr)->GetInviteId() == inviteId)
break;
@@ -254,8 +260,8 @@ void CalendarMgr::RemoveAllPlayerEventsAndInvites(uint64 guid)
if ((*itr)->GetCreatorGUID() == guid)
RemoveEvent((*itr)->GetEventId(), 0); // don't send mail if removing a character
- std::vector<CalendarInvite*> playerInvites = GetPlayerInvites(guid);
- for (std::vector<CalendarInvite*>::const_iterator itr = playerInvites.begin(); itr != playerInvites.end(); ++itr)
+ CalendarInviteStore playerInvites = GetPlayerInvites(guid);
+ for (CalendarInviteStore::const_iterator itr = playerInvites.begin(); itr != playerInvites.end(); ++itr)
RemoveInvite((*itr)->GetInviteId(), (*itr)->GetEventId(), guid);
}
@@ -265,14 +271,14 @@ void CalendarMgr::RemovePlayerGuildEventsAndSignups(uint64 guid, uint32 guildId)
if ((*itr)->GetCreatorGUID() == guid && ((*itr)->IsGuildEvent() || (*itr)->IsGuildAnnouncement()))
RemoveEvent((*itr)->GetEventId(), guid);
- std::vector<CalendarInvite*> playerInvites = GetPlayerInvites(guid);
- for (std::vector<CalendarInvite*>::const_iterator itr = playerInvites.begin(); itr != playerInvites.end(); ++itr)
+ CalendarInviteStore playerInvites = GetPlayerInvites(guid);
+ for (CalendarInviteStore::const_iterator itr = playerInvites.begin(); itr != playerInvites.end(); ++itr)
if (CalendarEvent* calendarEvent = GetEvent((*itr)->GetEventId()))
if (calendarEvent->IsGuildEvent() && calendarEvent->GetGuildId() == guildId)
RemoveInvite((*itr)->GetInviteId(), (*itr)->GetEventId(), guid);
}
-CalendarEvent* CalendarMgr::GetEvent(uint64 eventId)
+CalendarEvent* CalendarMgr::GetEvent(uint64 eventId) const
{
for (CalendarEventStore::const_iterator itr = _events.begin(); itr != _events.end(); ++itr)
if ((*itr)->GetEventId() == eventId)
@@ -282,10 +288,10 @@ CalendarEvent* CalendarMgr::GetEvent(uint64 eventId)
return NULL;
}
-CalendarInvite* CalendarMgr::GetInvite(uint64 inviteId)
+CalendarInvite* CalendarMgr::GetInvite(uint64 inviteId) const
{
- for (CalendarInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
- for (std::vector<CalendarInvite*>::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
+ for (CalendarEventInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
if ((*itr2)->GetInviteId() == inviteId)
return *itr2;
@@ -305,12 +311,10 @@ uint64 CalendarMgr::GetFreeEventId()
{
if (_freeEventIds.empty())
return ++_maxEventId;
- else
- {
- uint64 eventId = _freeEventIds.front();
- _freeEventIds.pop_front();
- return eventId;
- }
+
+ uint64 eventId = _freeEventIds.front();
+ _freeEventIds.pop_front();
+ return eventId;
}
void CalendarMgr::FreeInviteId(uint64 id)
@@ -325,20 +329,18 @@ uint64 CalendarMgr::GetFreeInviteId()
{
if (_freeInviteIds.empty())
return ++_maxInviteId;
- else
- {
- uint64 inviteId = _freeInviteIds.front();
- _freeInviteIds.pop_front();
- return inviteId;
- }
+
+ uint64 inviteId = _freeInviteIds.front();
+ _freeInviteIds.pop_front();
+ return inviteId;
}
CalendarEventStore CalendarMgr::GetPlayerEvents(uint64 guid)
{
CalendarEventStore events;
- for (CalendarInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
- for (std::vector<CalendarInvite*>::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
+ for (CalendarEventInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
if ((*itr2)->GetInviteeGUID() == guid)
events.insert(GetEvent(itr->first));
@@ -350,17 +352,17 @@ CalendarEventStore CalendarMgr::GetPlayerEvents(uint64 guid)
return events;
}
-std::vector<CalendarInvite*> CalendarMgr::GetEventInvites(uint64 eventId)
+CalendarInviteStore const& CalendarMgr::GetEventInvites(uint64 eventId)
{
return _invites[eventId];
}
-std::vector<CalendarInvite*> CalendarMgr::GetPlayerInvites(uint64 guid)
+CalendarInviteStore CalendarMgr::GetPlayerInvites(uint64 guid)
{
- std::vector<CalendarInvite*> invites;
+ CalendarInviteStore invites;
- for (CalendarInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
- for (std::vector<CalendarInvite*>::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
+ for (CalendarEventInviteStore::const_iterator itr = _invites.begin(); itr != _invites.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr2 = itr->second.begin(); itr2 != itr->second.end(); ++itr2)
if ((*itr2)->GetInviteeGUID() == guid)
invites.push_back(*itr2);
@@ -369,13 +371,22 @@ std::vector<CalendarInvite*> CalendarMgr::GetPlayerInvites(uint64 guid)
uint32 CalendarMgr::GetPlayerNumPending(uint64 guid)
{
- std::vector<CalendarInvite*> const& invites = GetPlayerInvites(guid);
+ CalendarInviteStore const& invites = GetPlayerInvites(guid);
uint32 pendingNum = 0;
- for (std::vector<CalendarInvite*>::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
- // correct?
- if ((*itr)->GetStatus() == CALENDAR_STATUS_INVITED || (*itr)->GetStatus() == CALENDAR_STATUS_TENTATIVE || (*itr)->GetStatus() == CALENDAR_STATUS_NOT_SIGNED_UP)
- ++pendingNum;
+ for (CalendarInviteStore::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
+ {
+ switch ((*itr)->GetStatus())
+ {
+ case CALENDAR_STATUS_INVITED:
+ case CALENDAR_STATUS_TENTATIVE:
+ case CALENDAR_STATUS_NOT_SIGNED_UP:
+ ++pendingNum;
+ break;
+ default:
+ break;
+ }
+ }
return pendingNum;
}
@@ -531,7 +542,7 @@ void CalendarMgr::SendCalendarEvent(uint64 guid, CalendarEvent const& calendarEv
if (!player)
return;
- std::vector<CalendarInvite*> const& eventInviteeList = _invites[calendarEvent.GetEventId()];
+ CalendarInviteStore const& eventInviteeList = _invites[calendarEvent.GetEventId()];
WorldPacket data(SMSG_CALENDAR_SEND_EVENT, 60 + eventInviteeList.size() * 32);
data << uint8(sendType);
@@ -549,7 +560,7 @@ void CalendarMgr::SendCalendarEvent(uint64 guid, CalendarEvent const& calendarEv
data << uint32(calendarEvent.GetGuildId());
data << uint32(eventInviteeList.size());
- for (std::vector<CalendarInvite*>::const_iterator itr = eventInviteeList.begin(); itr != eventInviteeList.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr = eventInviteeList.begin(); itr != eventInviteeList.end(); ++itr)
{
CalendarInvite const* calendarInvite = (*itr);
uint64 inviteeGuid = calendarInvite->GetInviteeGUID();
@@ -627,8 +638,8 @@ void CalendarMgr::SendPacketToAllEventRelatives(WorldPacket packet, CalendarEven
guild->BroadcastPacket(&packet);
// Send packet to all invitees if event is non-guild, in other case only to non-guild invitees (packet was broadcasted for them)
- std::vector<CalendarInvite*> invites = _invites[calendarEvent.GetEventId()];
- for (std::vector<CalendarInvite*>::iterator itr = invites.begin(); itr != invites.end(); ++itr)
+ CalendarInviteStore invites = _invites[calendarEvent.GetEventId()];
+ for (CalendarInviteStore::iterator itr = invites.begin(); itr != invites.end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer((*itr)->GetInviteeGUID()))
if (!calendarEvent.IsGuildEvent() || (calendarEvent.IsGuildEvent() && player->GetGuildId() != calendarEvent.GetGuildId()))
player->SendDirectMessage(&packet);
diff --git a/src/server/game/Calendar/CalendarMgr.h b/src/server/game/Calendar/CalendarMgr.h
index 3674e707399..d1b3d0a9dd6 100644
--- a/src/server/game/Calendar/CalendarMgr.h
+++ b/src/server/game/Calendar/CalendarMgr.h
@@ -261,9 +261,9 @@ struct CalendarEvent
std::string _title;
std::string _description;
};
-
+typedef std::vector<CalendarInvite*> CalendarInviteStore;
typedef std::set<CalendarEvent*> CalendarEventStore;
-typedef std::map<uint64 /* eventId */, std::vector<CalendarInvite*> > CalendarInviteStore;
+typedef std::map<uint64 /* eventId */, CalendarInviteStore > CalendarEventInviteStore;
class CalendarMgr
{
@@ -274,7 +274,7 @@ class CalendarMgr
~CalendarMgr();
CalendarEventStore _events;
- CalendarInviteStore _invites;
+ CalendarEventInviteStore _invites;
std::deque<uint64> _freeEventIds;
std::deque<uint64> _freeInviteIds;
@@ -284,14 +284,14 @@ class CalendarMgr
public:
void LoadFromDB();
- CalendarEvent* GetEvent(uint64 eventId);
+ CalendarEvent* GetEvent(uint64 eventId) const;
CalendarEventStore const& GetEvents() const { return _events; }
CalendarEventStore GetPlayerEvents(uint64 guid);
- CalendarInvite* GetInvite(uint64 inviteId);
- CalendarInviteStore const& GetInvites() const { return _invites; }
- std::vector<CalendarInvite*> GetEventInvites(uint64 eventId);
- std::vector<CalendarInvite*> GetPlayerInvites(uint64 guid);
+ CalendarInvite* GetInvite(uint64 inviteId) const;
+ CalendarEventInviteStore const& GetInvites() const { return _invites; }
+ CalendarInviteStore const& GetEventInvites(uint64 eventId);
+ CalendarInviteStore GetPlayerInvites(uint64 guid);
void FreeEventId(uint64 id);
uint64 GetFreeEventId();
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp
index 9e7a63c9093..5f6bc8b7865 100644
--- a/src/server/game/Chat/Channels/Channel.cpp
+++ b/src/server/game/Chat/Channels/Channel.cpp
@@ -180,7 +180,7 @@ void Channel::JoinChannel(Player* player, std::string const& pass)
if (HasFlag(CHANNEL_FLAG_LFG) &&
sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) &&
- AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) &&
+ AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && //FIXME: Move to RBAC
player->GetGroup())
{
WorldPacket data;
@@ -191,8 +191,8 @@ void Channel::JoinChannel(Player* player, std::string const& pass)
player->JoinedChannel(this);
- if (_announce && (!AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) ||
- !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))
+ if (_announce && (!sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL) ||
+ !player->GetSession()->HasPermission(RBAC_PERM_SILENTLY_JOIN_CHANNEL)))
{
WorldPacket data;
MakeJoined(&data, guid);
@@ -252,8 +252,9 @@ void Channel::LeaveChannel(Player* player, bool send)
bool changeowner = playersStore[guid].IsOwner();
playersStore.erase(guid);
- if (_announce && (!AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) ||
- !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))
+
+ if (_announce && (!sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL) ||
+ !player->GetSession()->HasPermission(RBAC_PERM_SILENTLY_JOIN_CHANNEL)))
{
WorldPacket data;
MakeLeft(&data, guid);
@@ -279,7 +280,6 @@ void Channel::LeaveChannel(Player* player, bool send)
void Channel::KickOrBan(Player const* player, std::string const& badname, bool ban)
{
- AccountTypes sec = player->GetSession()->GetSecurity();
uint64 good = player->GetGUID();
if (!IsOn(good))
@@ -290,7 +290,7 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b
return;
}
- if (!playersStore[good].IsModerator() && !AccountMgr::IsGMAccount(sec))
+ if (!playersStore[good].IsModerator() && !player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
@@ -310,7 +310,7 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b
bool changeowner = _ownerGUID == victim;
- if (!AccountMgr::IsGMAccount(sec) && changeowner && good != _ownerGUID)
+ if (!player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR) && changeowner && good != _ownerGUID)
{
WorldPacket data;
MakeNotOwner(&data);
@@ -318,7 +318,7 @@ void Channel::KickOrBan(Player const* player, std::string const& badname, bool b
return;
}
- bool notify = !(AccountMgr::IsGMAccount(sec) && sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL));
+ bool notify = !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL) || !player->GetSession()->HasPermission(RBAC_PERM_SILENTLY_JOIN_CHANNEL);
if (ban && !IsBanned(victim))
{
@@ -363,7 +363,7 @@ void Channel::UnBan(Player const* player, std::string const& badname)
return;
}
- if (!playersStore[good].IsModerator() && !AccountMgr::IsGMAccount(sec))
+ if (!playersStore[good].IsModerator() && !player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
@@ -404,7 +404,7 @@ void Channel::Password(Player const* player, std::string const& pass)
return;
}
- if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))
+ if (!playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
@@ -424,7 +424,6 @@ void Channel::Password(Player const* player, std::string const& pass)
void Channel::SetMode(Player const* player, std::string const& p2n, bool mod, bool set)
{
uint64 guid = player->GetGUID();
- uint32 sec = player->GetSession()->GetSecurity();
if (!IsOn(guid))
{
@@ -434,7 +433,7 @@ void Channel::SetMode(Player const* player, std::string const& p2n, bool mod, bo
return;
}
- if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(sec))
+ if (!playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
@@ -449,10 +448,11 @@ void Channel::SetMode(Player const* player, std::string const& p2n, bool mod, bo
uint64 victim = newp ? newp->GetGUID() : 0;
if (!victim || !IsOn(victim) ||
+ (player->GetTeam() != newp->GetTeam() && (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL) ||
+ !player->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHANNEL) ||
+ !newp->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHANNEL))))
// allow make moderator from another team only if both is GMs
// at this moment this only way to show channel post for GM from another team
- ((!AccountMgr::IsGMAccount(sec) || !AccountMgr::IsGMAccount(newp->GetSession()->GetSecurity())) &&
- player->GetTeam() != newp->GetTeam() && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)))
{
WorldPacket data;
MakePlayerNotFound(&data, p2n);
@@ -477,7 +477,6 @@ void Channel::SetMode(Player const* player, std::string const& p2n, bool mod, bo
void Channel::SetOwner(Player const* player, std::string const& newname)
{
uint64 guid = player->GetGUID();
- uint32 sec = player->GetSession()->GetSecurity();
if (!IsOn(guid))
{
@@ -487,7 +486,7 @@ void Channel::SetOwner(Player const* player, std::string const& newname)
return;
}
- if (!AccountMgr::IsGMAccount(sec) && guid != _ownerGUID)
+ if (!player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR) && guid != _ownerGUID)
{
WorldPacket data;
MakeNotOwner(&data);
@@ -553,7 +552,9 @@ void Channel::List(Player const* player)
// PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters
// MODERATOR, GAME MASTER, ADMINISTRATOR can see all
- if (member && (!AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) || member->GetSession()->GetSecurity() <= AccountTypes(gmLevelInWhoList)) &&
+ if (member &&
+ (player->GetSession()->HasPermission(RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS) ||
+ member->GetSession()->GetSecurity() <= AccountTypes(gmLevelInWhoList)) &&
member->IsVisibleGloballyFor(player))
{
data << uint64(i->first);
@@ -570,7 +571,6 @@ void Channel::List(Player const* player)
void Channel::Announce(Player const* player)
{
uint64 guid = player->GetGUID();
- uint32 sec = player->GetSession()->GetSecurity();
if (!IsOn(guid))
{
@@ -580,7 +580,7 @@ void Channel::Announce(Player const* player)
return;
}
- if (!playersStore[guid].IsModerator() && !AccountMgr::IsGMAccount(sec))
+ if (!playersStore[guid].IsModerator() && !player->GetSession()->HasPermission(RBAC_PERM_CHANGE_CHANNEL_NOT_MODERATOR))
{
WorldPacket data;
MakeNotModerator(&data);
@@ -605,6 +605,11 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang)
if (what.empty())
return;
+ uint8 chatTag = 0;
+ if (Player* player = ObjectAccessor::FindPlayer(guid))
+ chatTag = player->GetChatTag();
+
+ // TODO: Add proper RBAC check
if (sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL))
lang = LANG_UNIVERSAL;
@@ -633,8 +638,7 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang)
data << uint64(guid);
data << uint32(what.size() + 1);
data << what;
- Player* player = ObjectAccessor::FindPlayer(guid);
- data << uint8(player ? player->GetChatTag() : 0);
+ data << uint8(chatTag);
SendToAll(&data, !playersStore[guid].IsModerator() ? guid : false);
}
@@ -668,7 +672,9 @@ void Channel::Invite(Player const* player, std::string const& newname)
return;
}
- if (newp->GetTeam() != player->GetTeam() && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL))
+ if (newp->GetTeam() != player->GetTeam() && (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL) ||
+ !player->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHANNEL) ||
+ !newp->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHANNEL)))
{
WorldPacket data;
MakeInviteWrongFaction(&data);
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 3cae9d0f83a..7c92af2d67f 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -175,7 +175,7 @@ bool ChatHandler::HasLowerSecurityAccount(WorldSession* target, uint32 target_ac
return false;
// ignore only for non-players for non strong checks (when allow apply command at least to same sec level)
- if (!AccountMgr::IsPlayerAccount(m_session->GetSecurity()) && !strong && !sWorld->getBoolConfig(CONFIG_GM_LOWER_SECURITY))
+ if (m_session->HasPermission(RBAC_PERM_CHECK_FOR_LOWER_SECURITY) && !strong && !sWorld->getBoolConfig(CONFIG_GM_LOWER_SECURITY))
return false;
if (target)
@@ -361,6 +361,7 @@ bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, co
// table[i].Name == "" is special case: send original command to handler
if ((table[i].Handler)(this, table[i].Name[0] != '\0' ? text : oldtext))
{
+ // FIXME: When Command system is moved to RBAC this check must be changed
if (!AccountMgr::IsPlayerAccount(table[i].SecurityLevel))
{
// chat case
@@ -476,7 +477,7 @@ bool ChatHandler::ParseCommands(char const* text)
if (!ExecuteCommandInTable(getCommandTable(), text, fullcmd))
{
- if (m_session && AccountMgr::IsPlayerAccount(m_session->GetSecurity()))
+ if (m_session && !m_session->HasPermission(RBAC_PERM_COMMANDS_NOTIFY_COMMAND_NOT_FOUND_ERROR))
return false;
SendSysMessage(LANG_NO_CMD);
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index a5494f689fb..96cb8b7ee25 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -431,6 +431,7 @@ uint32 Condition::GetSearcherTypeMaskForCondition()
default:
break;
}
+ break;
case CONDITION_TYPE_MASK:
if (ConditionValue1 & TYPEMASK_UNIT)
mask |= GRID_MAP_TYPE_MASK_CREATURE | GRID_MAP_TYPE_MASK_PLAYER;
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 9bb65b63557..ce18c227656 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -29,6 +29,7 @@
#include "LFGQueue.h"
#include "Group.h"
#include "Player.h"
+#include "RBAC.h"
#include "GroupMgr.h"
#include "GameEventMgr.h"
#include "WorldSession.h"
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index a4716de9524..22b86a094dd 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -95,6 +95,20 @@ void LFGPlayerScript::OnMapChanged(Player* player)
if (sLFGMgr->inLfgDungeonMap(player->GetGUID(), map->GetId(), map->GetDifficulty()))
{
Group* group = player->GetGroup();
+ // This function is also called when players log in
+ // if for some reason the LFG system recognises the player as being in a LFG dungeon,
+ // but the player was loaded without a valid group, we'll teleport to homebind to prevent
+ // crashes or other undefined behaviour
+ if (!group)
+ {
+ sLFGMgr->LeaveLfg(player->GetGUID());
+ player->RemoveAurasDueToSpell(LFG_SPELL_LUCK_OF_THE_DRAW);
+ player->TeleportTo(player->m_homebindMapId, player->m_homebindX, player->m_homebindY, player->m_homebindZ, 0.0f);
+ sLog->outError(LOG_FILTER_LFG, "LFGPlayerScript::OnMapChanged, Player %s (%u) is in LFG dungeon map but does not have a valid group! "
+ "Teleporting to homebind.", player->GetName().c_str(), player->GetGUIDLow());
+ return;
+ }
+
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
if (Player* member = itr->getSource())
player->GetSession()->SendNameQueryOpcode(member->GetGUID());
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 93d4796f21a..39534c1c2bf 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -145,7 +145,7 @@ Creature::Creature(bool isWorldObject): Unit(isWorldObject), MapCreature(),
lootForPickPocketed(false), lootForBody(false), m_groupLootTimer(0), lootingGroupLowGUID(0),
m_PlayerDamageReq(0), m_lootRecipient(0), m_lootRecipientGroup(0), m_corpseRemoveTime(0), m_respawnTime(0),
m_respawnDelay(300), m_corpseDelay(60), m_respawnradius(0.0f), m_reactState(REACT_AGGRESSIVE),
-m_defaultMovementType(IDLE_MOTION_TYPE), m_DBTableGuid(0), m_equipmentId(0), m_AlreadyCallAssistance(false),
+m_defaultMovementType(IDLE_MOTION_TYPE), m_DBTableGuid(0), m_equipmentId(0), m_originalEquipmentId(0), m_AlreadyCallAssistance(false),
m_AlreadySearchedAssistance(false), m_regenHealth(true), m_AI_locked(false), m_meleeDamageSchoolMask(SPELL_SCHOOL_MASK_NORMAL),
m_creatureInfo(NULL), m_creatureData(NULL), m_path_id(0), m_formation(NULL)
{
@@ -289,6 +289,10 @@ bool Creature::InitEntry(uint32 Entry, uint32 /*team*/, const CreatureData* data
--diff;
}
+ // Initialize loot duplicate count depending on raid difficulty
+ if (GetMap()->Is25ManRaid())
+ loot.maxDuplicates = 3;
+
SetEntry(Entry); // normal entry always
m_creatureInfo = cinfo; // map mode related always
@@ -319,9 +323,12 @@ bool Creature::InitEntry(uint32 Entry, uint32 /*team*/, const CreatureData* data
// Load creature equipment
if (!data || data->equipmentId == 0) // use default from the template
- LoadEquipment(cinfo->equipmentId);
- else if (data && data->equipmentId != -1) // override, -1 means no equipment
+ LoadEquipment(GetOriginalEquipmentId());
+ else if (data && data->equipmentId != 0) // override, 0 means no equipment
+ {
+ m_originalEquipmentId = data->equipmentId;
LoadEquipment(data->equipmentId);
+ }
SetName(normalInfo->Name); // at normal entry always
@@ -1085,7 +1092,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
data.mapid = mapid;
data.phaseMask = phaseMask;
data.displayid = displayId;
- data.equipmentId = GetEquipmentId();
+ data.equipmentId = GetCurrentEquipmentId();
data.posX = GetPositionX();
data.posY = GetPositionY();
data.posZ = GetPositionZMinusOffset();
@@ -1120,7 +1127,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
stmt->setUInt8(index++, spawnMask);
stmt->setUInt16(index++, uint16(GetPhaseMask()));
stmt->setUInt32(index++, displayId);
- stmt->setInt32(index++, int32(GetEquipmentId()));
+ stmt->setInt32(index++, int32(GetCurrentEquipmentId()));
stmt->setFloat(index++, GetPositionX());
stmt->setFloat(index++, GetPositionY());
stmt->setFloat(index++, GetPositionZ());
@@ -1266,14 +1273,14 @@ bool Creature::CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint3
if (!vehId)
vehId = cinfo->VehicleId;
- if (vehId && !CreateVehicleKit(vehId, Entry))
- vehId = 0;
-
Object::_Create(guidlow, Entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
if (!UpdateEntry(Entry, team, data))
return false;
+ if (vehId && !CreateVehicleKit(vehId, Entry))
+ vehId = 0;
+
return true;
}
@@ -1351,24 +1358,24 @@ bool Creature::LoadCreatureFromDB(uint32 guid, Map* map, bool addToMap)
return true;
}
-void Creature::LoadEquipment(uint32 equip_entry, bool force)
+void Creature::LoadEquipment(int8 id, bool force /*= true*/)
{
- if (equip_entry == 0)
+ if (id == 0)
{
if (force)
{
- for (uint8 i = 0; i < 3; ++i)
+ for (uint8 i = 0; i < MAX_EQUIPMENT_ITEMS; ++i)
SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + i, 0);
m_equipmentId = 0;
}
return;
}
- EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(equip_entry);
+ EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(GetEntry(), id);
if (!einfo)
return;
- m_equipmentId = equip_entry;
+ m_equipmentId = id;
for (uint8 i = 0; i < 3; ++i)
SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + i, einfo->ItemEntry[i]);
}
@@ -2105,9 +2112,11 @@ bool Creature::LoadCreaturesAddon(bool reload)
SetByteValue(UNIT_FIELD_BYTES_1, 3, uint8((cainfo->bytes1 >> 24) & 0xFF));
//! Suspected correlation between UNIT_FIELD_BYTES_1, offset 3, value 0x2:
- //! If no inhabittype_fly (if no MovementFlag_DisableGravity flag found in sniffs)
+ //! If no inhabittype_fly (if no MovementFlag_DisableGravity or MovementFlag_CanFly flag found in sniffs)
+ //! Check using InhabitType as movement flags are assigned dynamically
+ //! basing on whether the creature is in air or not
//! Set MovementFlag_Hover. Otherwise do nothing.
- if (GetByteValue(UNIT_FIELD_BYTES_1, 3) & UNIT_BYTE1_FLAG_HOVER && !IsLevitating())
+ if (GetByteValue(UNIT_FIELD_BYTES_1, 3) & UNIT_BYTE1_FLAG_HOVER && !(GetCreatureTemplate()->InhabitType & INHABIT_AIR))
AddUnitMovementFlag(MOVEMENTFLAG_HOVER);
}
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index efc4e44798f..e8996db608f 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -136,7 +136,6 @@ struct CreatureTemplate
uint32 questItems[MAX_CREATURE_QUEST_ITEMS];
uint32 movementId;
bool RegenHealth;
- uint32 equipmentId;
uint32 MechanicImmuneMask;
uint32 flags_extra;
uint32 ScriptID;
@@ -236,7 +235,8 @@ struct EquipmentInfo
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint16, EquipmentInfo> EquipmentInfoContainer;
+typedef UNORDERED_MAP<uint8, EquipmentInfo> EquipmentInfoContainerInternal;
+typedef UNORDERED_MAP<uint32, EquipmentInfoContainerInternal> EquipmentInfoContainer;
// from `creature` table
struct CreatureData
@@ -246,7 +246,7 @@ struct CreatureData
uint16 mapid;
uint16 phaseMask;
uint32 displayid;
- int32 equipmentId;
+ int8 equipmentId;
float posX;
float posY;
float posZ;
@@ -454,13 +454,12 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
bool Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData* data = NULL);
bool LoadCreaturesAddon(bool reload = false);
void SelectLevel(const CreatureTemplate* cinfo);
- void LoadEquipment(uint32 equip_entry, bool force=false);
+ void LoadEquipment(int8 id = 1, bool force = false);
uint32 GetDBTableGUIDLow() const { return m_DBTableGuid; }
void Update(uint32 time); // overwrited Unit::Update
void GetRespawnPosition(float &x, float &y, float &z, float* ori = NULL, float* dist =NULL) const;
- uint32 GetEquipmentId() const { return GetCreatureTemplate()->equipmentId; }
void SetCorpseDelay(uint32 delay) { m_corpseDelay = delay; }
uint32 GetCorpseDelay() const { return m_corpseDelay; }
@@ -558,8 +557,11 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
void UpdateMaxPower(Powers power);
void UpdateAttackPowerAndDamage(bool ranged = false);
void UpdateDamagePhysical(WeaponAttackType attType);
- uint32 GetCurrentEquipmentId() { return m_equipmentId; }
- void SetCurrentEquipmentId(uint32 entry) { m_equipmentId = entry; }
+
+ int8 GetOriginalEquipmentId() const { return m_originalEquipmentId; }
+ uint8 GetCurrentEquipmentId() { return m_equipmentId; }
+ void SetCurrentEquipmentId(uint8 id) { m_equipmentId = id; }
+
float GetSpellDamageMod(int32 Rank);
VendorItemData const* GetVendorItems() const;
@@ -754,7 +756,8 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
void Regenerate(Powers power);
MovementGeneratorType m_defaultMovementType;
uint32 m_DBTableGuid; ///< For new or temporary creatures is 0 for saved it is lowguid
- uint32 m_equipmentId;
+ uint8 m_equipmentId;
+ int8 m_originalEquipmentId; // can be -1
bool m_AlreadyCallAssistance;
bool m_AlreadySearchedAssistance;
diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h
index 91da1fd86b9..a28874c51e7 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.h
+++ b/src/server/game/Entities/Creature/TemporarySummon.h
@@ -21,6 +21,22 @@
#include "Creature.h"
+enum SummonerType
+{
+ SUMMONER_TYPE_CREATURE = 0,
+ SUMMONER_TYPE_GAMEOBJECT = 1,
+ SUMMONER_TYPE_MAP = 2
+};
+
+/// Stores data for temp summons
+struct TempSummonData
+{
+ uint32 entry; ///< Entry of summoned creature
+ Position pos; ///< Position, where should be creature spawned
+ TempSummonType type; ///< Summon type, see TempSummonType for available types
+ uint32 time; ///< Despawn time, usable only with certain temp summon types
+};
+
class TempSummon : public Creature
{
public:
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index bf0fbb4199d..c41c8e71a44 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -258,6 +258,10 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map* map, uint32 phaseMa
LastUsedScriptID = GetGOInfo()->ScriptId;
AIM_Initialize();
+ // Initialize loot duplicate count depending on raid difficulty
+ if (map->Is25ManRaid())
+ loot.maxDuplicates = 3;
+
return true;
}
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 893d4c1ea69..79bf656c318 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2315,6 +2315,24 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
return summon;
}
+/**
+* Summons group of creatures.
+*
+* @param group Id of group to summon.
+* @param list List to store pointers to summoned creatures.
+*/
+
+void Map::SummonCreatureGroup(uint8 group, std::list<TempSummon*>& list)
+{
+ std::vector<TempSummonData> const* data = sObjectMgr->GetSummonGroup(GetId(), SUMMONER_TYPE_MAP, group);
+ if (!data)
+ return;
+
+ for (std::vector<TempSummonData>::const_iterator itr = data->begin(); itr != data->end(); ++itr)
+ if (TempSummon* summon = SummonCreature(itr->entry, itr->pos, NULL, itr->time))
+ list.push_back(summon);
+}
+
void WorldObject::SetZoneScript()
{
if (Map* map = FindMap())
@@ -2394,6 +2412,25 @@ Creature* WorldObject::SummonTrigger(float x, float y, float z, float ang, uint3
return summon;
}
+/**
+* Summons group of creatures. Should be called only by instances of Creature and GameObject classes.
+*
+* @param group Id of group to summon.
+* @param list List to store pointers to summoned creatures.
+*/
+void WorldObject::SummonCreatureGroup(uint8 group, std::list<TempSummon*>& list)
+{
+ ASSERT((GetTypeId() == TYPEID_GAMEOBJECT || GetTypeId() == TYPEID_UNIT) && "Only GOs and creatures can summon npc groups!");
+
+ std::vector<TempSummonData> const* data = sObjectMgr->GetSummonGroup(GetEntry(), GetTypeId() == TYPEID_GAMEOBJECT ? SUMMONER_TYPE_GAMEOBJECT : SUMMONER_TYPE_CREATURE, group);
+ if (!data)
+ return;
+
+ for (std::vector<TempSummonData>::const_iterator itr = data->begin(); itr != data->end(); ++itr)
+ if (TempSummon* summon = SummonCreature(itr->entry, itr->pos, itr->type, itr->time))
+ list.push_back(summon);
+}
+
Creature* WorldObject::FindNearestCreature(uint32 entry, float range, bool alive) const
{
Creature* creature = NULL;
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index ae3d545b7d7..ae788621368 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -793,6 +793,7 @@ class WorldObject : public Object, public WorldLocation
}
GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime);
Creature* SummonTrigger(float x, float y, float z, float ang, uint32 dur, CreatureAI* (*GetAI)(Creature*) = NULL);
+ void SummonCreatureGroup(uint8 group, std::list<TempSummon*>& list);
Creature* FindNearestCreature(uint32 entry, float range, bool alive = true) const;
GameObject* FindNearestGameObject(uint32 entry, float range) const;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 37502d69456..a8a500c093a 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -668,7 +668,7 @@ Player::Player(WorldSession* session): Unit(true)
//m_pad = 0;
// players always accept
- if (AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()))
+ if (!GetSession()->HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS))
SetAcceptWhispers(true);
m_curSelection = 0;
@@ -1018,7 +1018,7 @@ bool Player::Create(uint32 guidlow, CharacterCreateInfo* createInfo)
? sWorld->getIntConfig(CONFIG_START_PLAYER_LEVEL)
: sWorld->getIntConfig(CONFIG_START_HEROIC_PLAYER_LEVEL);
- if (!AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()))
+ if (m_session->HasPermission(RBAC_PERM_USE_START_GM_LEVEL))
{
uint32 gm_level = sWorld->getIntConfig(CONFIG_START_GM_LEVEL);
if (gm_level > start_level)
@@ -2069,7 +2069,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
return false;
}
- if (AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()) && DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, mapid, this))
+ if (!GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_DISABLE_MAP) && DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, mapid, this))
{
sLog->outError(LOG_FILTER_MAPS, "Player (GUID: %u, name: %s) tried to enter a forbidden map %u", GetGUIDLow(), GetName().c_str(), mapid);
SendTransferAborted(mapid, TRANSFER_ABORT_MAP_NOT_ALLOWED);
@@ -3120,7 +3120,7 @@ void Player::InitTalentForLevel()
// if used more that have then reset
if (m_usedTalentCount > talentPointsForLevel)
{
- if (!AccountMgr::IsAdminAccount(GetSession()->GetSecurity()))
+ if (!GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_MORE_TALENTS_THAN_ALLOWED))
resetTalents(true);
else
SetFreeTalentPoints(0);
@@ -7376,6 +7376,9 @@ uint32 Player::GetZoneIdFromDB(uint64 guid)
float posy = fields[2].GetFloat();
float posz = fields[3].GetFloat();
+ if (!sMapStore.LookupEntry(map))
+ return 0;
+
zone = sMapMgr->GetZoneId(map, posx, posy, posz);
if (zone > 0)
@@ -16771,7 +16774,8 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
// check name limitations
if (ObjectMgr::CheckPlayerName(m_name) != CHAR_NAME_SUCCESS ||
- (AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()) && sObjectMgr->IsReservedName(m_name)))
+ (!GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) &&
+ sObjectMgr->IsReservedName(m_name)))
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
stmt->setUInt16(0, uint16(AT_LOGIN_RENAME));
@@ -17306,7 +17310,7 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
outDebugValues();
// GM state
- if (!AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()))
+ if (GetSession()->HasPermission(RBAC_PERM_RESTORE_SAVED_GM_STATE))
{
switch (sWorld->getIntConfig(CONFIG_GM_LOGIN_STATE))
{
@@ -19625,7 +19629,7 @@ void Player::outDebugValues() const
void Player::UpdateSpeakTime()
{
// ignore chat spam protection for GMs in any mode
- if (!AccountMgr::IsPlayerAccount(GetSession()->GetSecurity()))
+ if (!GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_CHAT_SPAM))
return;
time_t current = time (NULL);
@@ -25481,7 +25485,7 @@ bool Player::AddItem(uint32 itemId, uint32 count)
ItemPosCountVec dest;
InventoryResult msg = CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, itemId, count, &noSpaceForCount);
if (msg != EQUIP_ERR_OK)
- count = noSpaceForCount;
+ count -= noSpaceForCount;
if (count == 0 || dest.empty())
{
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 64980b9551e..362b6aca631 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -28,6 +28,7 @@
#include "QuestDef.h"
#include "SpellMgr.h"
#include "Unit.h"
+#include "Opcodes.h"
#include <string>
#include <vector>
@@ -1628,6 +1629,11 @@ class Player : public Unit, public GridObject<Player>
return mMitems.erase(id) ? true : false;
}
+ void SendOnCancelExpectedVehicleRideAura()
+ {
+ WorldPacket data(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, 0);
+ GetSession()->SendPacket(&data);
+ }
void PetSpellInitialize();
void CharmSpellInitialize();
void PossessSpellInitialize();
diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp
index e5bbac59e00..7a2b36e23bf 100644
--- a/src/server/game/Entities/Player/SocialMgr.cpp
+++ b/src/server/game/Entities/Player/SocialMgr.cpp
@@ -216,34 +216,38 @@ void SocialMgr::GetFriendInfo(Player* player, uint32 friendGUID, FriendInfo &fri
friendInfo.Level = 0;
friendInfo.Class = 0;
- Player* pFriend = ObjectAccessor::FindPlayer(friendGUID);
- if (!pFriend)
+ Player* target = ObjectAccessor::FindPlayer(friendGUID);
+ if (!target)
return;
- uint32 team = player->GetTeam();
- AccountTypes security = player->GetSession()->GetSecurity();
- bool allowTwoSideWhoList = sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST);
- AccountTypes gmLevelInWhoList = AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST));
-
PlayerSocialMap::iterator itr = player->GetSocial()->m_playerSocialMap.find(friendGUID);
if (itr != player->GetSocial()->m_playerSocialMap.end())
friendInfo.Note = itr->second.Note;
// PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters
// MODERATOR, GAME MASTER, ADMINISTRATOR can see all
- if (pFriend &&
- (!AccountMgr::IsPlayerAccount(security) ||
- ((pFriend->GetTeam() == team || allowTwoSideWhoList) && (pFriend->GetSession()->GetSecurity() <= gmLevelInWhoList))) &&
- pFriend->IsVisibleGloballyFor(player))
+
+ if (!player->GetSession()->HasPermission(RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS) &&
+ target->GetSession()->GetSecurity() > AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST)))
+ return;
+
+ // player can see member of other team only if CONFIG_ALLOW_TWO_SIDE_WHO_LIST
+ if (target->GetTeam() != player->GetTeam() &&
+ !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST) && !player->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_WHO_LIST))
+ return;
+
+ if (target->IsVisibleGloballyFor(player))
{
- friendInfo.Status = FRIEND_STATUS_ONLINE;
- if (pFriend->isAFK())
- friendInfo.Status = FRIEND_STATUS_AFK;
- if (pFriend->isDND())
+ if (target->isDND())
friendInfo.Status = FRIEND_STATUS_DND;
- friendInfo.Area = pFriend->GetZoneId();
- friendInfo.Level = pFriend->getLevel();
- friendInfo.Class = pFriend->getClass();
+ else if (target->isAFK())
+ friendInfo.Status = FRIEND_STATUS_AFK;
+ else
+ friendInfo.Status = FRIEND_STATUS_ONLINE;
+
+ friendInfo.Area = target->GetZoneId();
+ friendInfo.Level = target->getLevel();
+ friendInfo.Class = target->getClass();
}
}
@@ -295,28 +299,29 @@ void SocialMgr::BroadcastToFriendListers(Player* player, WorldPacket* packet)
if (!player)
return;
- uint32 team = player->GetTeam();
- AccountTypes security = player->GetSession()->GetSecurity();
- uint32 guid = player->GetGUIDLow();
- AccountTypes gmLevelInWhoList = AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST));
- bool allowTwoSideWhoList = sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST);
-
for (SocialMap::const_iterator itr = m_socialMap.begin(); itr != m_socialMap.end(); ++itr)
{
- PlayerSocialMap::const_iterator itr2 = itr->second.m_playerSocialMap.find(guid);
+ PlayerSocialMap::const_iterator itr2 = itr->second.m_playerSocialMap.find(player->GetGUID());
if (itr2 != itr->second.m_playerSocialMap.end() && (itr2->second.Flags & SOCIAL_FLAG_FRIEND))
{
- Player* pFriend = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER));
+ Player* target = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER));
+ if (!target || !target->IsInWorld())
+ continue;
+
+ if (!target->GetSession()->HasPermission(RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS) &&
+ player->GetSession()->GetSecurity() > AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST)))
+ continue;
+
+ // player can see member of other team only if CONFIG_ALLOW_TWO_SIDE_WHO_LIST
+ if (target->GetTeam() != player->GetTeam() &&
+ !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST) &&
+ !target->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_WHO_LIST))
+ continue;
// PLAYER see his team only and PLAYER can't see MODERATOR, GAME MASTER, ADMINISTRATOR characters
// MODERATOR, GAME MASTER, ADMINISTRATOR can see all
- if (pFriend && pFriend->IsInWorld() &&
- (!AccountMgr::IsPlayerAccount(pFriend->GetSession()->GetSecurity()) ||
- ((pFriend->GetTeam() == team || allowTwoSideWhoList) && security <= gmLevelInWhoList)) &&
- player->IsVisibleGloballyFor(pFriend))
- {
- pFriend->GetSession()->SendPacket(packet);
- }
+ if (player->IsVisibleGloballyFor(target))
+ target->GetSession()->SendPacket(packet);
}
}
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index e3a2430f63a..00f771b1f54 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -515,7 +515,7 @@ bool Unit::HasBreakableByDamageAuraType(AuraType type, uint32 excludeAura) const
AuraEffectList const& auras = GetAuraEffectsByType(type);
for (AuraEffectList::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
if ((!excludeAura || excludeAura != (*itr)->GetSpellInfo()->Id) && //Avoid self interrupt of channeled Crowd Control spells like Seduction
- ((*itr)->GetSpellInfo()->Attributes & SPELL_ATTR0_BREAKABLE_BY_DAMAGE || (*itr)->GetSpellInfo()->AuraInterruptFlags & AURA_INTERRUPT_FLAG_TAKE_DAMAGE))
+ ((*itr)->GetSpellInfo()->AuraInterruptFlags & AURA_INTERRUPT_FLAG_TAKE_DAMAGE))
return true;
return false;
}
@@ -3147,7 +3147,9 @@ void Unit::DeMorph()
Aura* Unit::_TryStackingOrRefreshingExistingAura(SpellInfo const* newAura, uint8 effMask, Unit* caster, int32* baseAmount /*= NULL*/, Item* castItem /*= NULL*/, uint64 casterGUID /*= 0*/)
{
ASSERT(casterGUID || caster);
- if (!casterGUID)
+
+ // Check if these can stack anyway
+ if (!casterGUID && !newAura->IsStackableOnOneSlotWithDifferentCasters())
casterGUID = caster->GetGUID();
// passive and Incanter's Absorption and auras with different type can stack with themselves any number of times
@@ -8462,48 +8464,6 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
return false;
break;
}
- // Shadow's Fate (Shadowmourne questline)
- case 71169:
- {
- // Victim needs more checks so bugs, rats or summons can not be affected by the proc.
- if (GetTypeId() != TYPEID_PLAYER || !victim || victim->GetTypeId() != TYPEID_UNIT || victim->GetCreatureType() == CREATURE_TYPE_CRITTER)
- return false;
-
- Player* player = ToPlayer();
- if (player->GetQuestStatus(24547) == QUEST_STATUS_INCOMPLETE)
- {
- break;
- }
- else if (player->GetDifficulty(true) == RAID_DIFFICULTY_25MAN_NORMAL || player->GetDifficulty(true) == RAID_DIFFICULTY_25MAN_HEROIC)
- {
- uint32 spellId = 0;
- uint32 questId = 0;
- switch (victim->GetEntry())
- {
- case 36678: // NPC: Professor Putricide
- questId = 24749; // Quest: Unholy Infusion
- spellId = 71516; // Spell: Shadow Infusion
- break;
- case 37955: // NPC: Blood-Queen Lana'thel
- questId = 24756; // Quest: Blood Infusion
- spellId = 72154; // Spell: Thirst Quenched
- break;
- case 36853: // NPC: Sindragosa
- questId = 24757; // Quest: Frost Infusion
- spellId = 72290; // Spell: Frost-Imbued Blade
- break;
- default:
- return false;
- }
-
- if (player->GetQuestStatus(questId) != QUEST_STATUS_INCOMPLETE || !player->HasAura(spellId))
- return false;
-
- break;
- }
- else
- return false;
- }
}
if (cooldown && GetTypeId() == TYPEID_PLAYER && ToPlayer()->HasSpellCooldown(trigger_spell_id))
@@ -11233,7 +11193,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
// ..taken
AuraEffectList const& mDamageTaken = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_TAKEN);
for (AuraEffectList::const_iterator i = mDamageTaken.begin(); i != mDamageTaken.end(); ++i)
- if ((*i)->GetMiscValue() & GetMeleeDamageSchoolMask())
+ if ((*i)->GetMiscValue() & attacker->GetMeleeDamageSchoolMask())
TakenFlatBenefit += (*i)->GetAmount();
if (attType != RANGED_ATTACK)
@@ -11245,7 +11205,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
float TakenTotalMod = 1.0f;
// ..taken
- TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, GetMeleeDamageSchoolMask());
+ TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, attacker->GetMeleeDamageSchoolMask());
// .. taken pct (special attacks)
if (spellProto)
@@ -11428,8 +11388,6 @@ void Unit::Mount(uint32 mount, uint32 VehicleId, uint32 creatureEntry)
{
if (CreateVehicleKit(VehicleId, creatureEntry))
{
- GetVehicleKit()->Reset();
-
// Send others that we now have a vehicle
WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, GetPackGUID().size()+4);
data.appendPackGUID(GetGUID());
@@ -14276,7 +14234,7 @@ void Unit::StopMoving()
return;
Movement::MoveSplineInit init(this);
- init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset());
+ init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), false);
init.SetFacing(GetOrientation());
init.Launch();
}
@@ -15498,7 +15456,10 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
// dismount players when charmed
if (GetTypeId() == TYPEID_PLAYER)
- Dismount();
+ RemoveAurasByType(SPELL_AURA_MOUNTED);
+
+ if (charmer->GetTypeId() == TYPEID_PLAYER)
+ charmer->RemoveAurasByType(SPELL_AURA_MOUNTED);
ASSERT(type != CHARM_TYPE_POSSESS || charmer->GetTypeId() == TYPEID_PLAYER);
ASSERT((type == CHARM_TYPE_VEHICLE) == IsVehicle());
@@ -16621,31 +16582,10 @@ void Unit::_EnterVehicle(Vehicle* vehicle, int8 seatId, AuraApplication const* a
{
if (vehicle->GetBase()->GetTypeId() == TYPEID_PLAYER && player->isInCombat())
return;
-
- InterruptNonMeleeSpells(false);
- player->StopCastingCharm();
- player->StopCastingBindSight();
- Dismount();
- RemoveAurasByType(SPELL_AURA_MOUNTED);
-
- // drop flag at invisible in bg
- if (Battleground* bg = player->GetBattleground())
- bg->EventPlayerDroppedFlag(player);
-
- WorldPacket data(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, 0);
- player->GetSession()->SendPacket(&data);
-
- player->UnsummonPetTemporaryIfAny();
}
ASSERT(!m_vehicle);
- m_vehicle = vehicle;
-
- if (!m_vehicle->AddPassenger(this, seatId))
- {
- m_vehicle = NULL;
- return;
- }
+ (void)vehicle->AddPassenger(this, seatId);
}
void Unit::ChangeSeat(int8 seatId, bool next)
@@ -16653,17 +16593,24 @@ void Unit::ChangeSeat(int8 seatId, bool next)
if (!m_vehicle)
return;
- if (seatId < 0)
- {
- seatId = m_vehicle->GetNextEmptySeat(GetTransSeat(), next);
- if (seatId < 0)
- return;
- }
- else if (seatId == GetTransSeat() || !m_vehicle->HasEmptySeat(seatId))
+ // Don't change if current and new seat are identical
+ if (seatId == GetTransSeat())
+ return;
+
+ SeatMap::const_iterator seat = (seatId < 0 ? m_vehicle->GetNextEmptySeat(GetTransSeat(), next) : m_vehicle->Seats.find(seatId));
+ // The second part of the check will only return true if seatId >= 0. @Vehicle::GetNextEmptySeat makes sure of that.
+ if (seat == m_vehicle->Seats.end() || seat->second.Passenger)
return;
+ // Todo: the functions below could be consolidated and refactored to take
+ // SeatMap::const_iterator as parameter, to save redundant map lookups.
m_vehicle->RemovePassenger(this);
- if (!m_vehicle->AddPassenger(this, seatId))
+
+ // Set m_vehicle to NULL before adding passenger as adding new passengers is handled asynchronously
+ // and someone may call ExitVehicle again before passenger is added to new seat
+ Vehicle* veh = m_vehicle;
+ m_vehicle = NULL;
+ if (!veh->AddPassenger(this, seatId))
ASSERT(false);
}
@@ -16688,6 +16635,9 @@ void Unit::ExitVehicle(Position const* /*exitPosition*/)
void Unit::_ExitVehicle(Position const* exitPosition)
{
+ /// It's possible m_vehicle is NULL, when this function is called indirectly from @VehicleJoinEvent::Abort.
+ /// In that case it was not possible to add the passenger to the vehicle. The vehicle aura has already been removed
+ /// from the target in the aforementioned function and we don't need to do anything else at this point.
if (!m_vehicle)
return;
@@ -17162,7 +17112,7 @@ void Unit::SetInFront(Unit const* target)
void Unit::SetFacingTo(float ori)
{
Movement::MoveSplineInit init(this);
- init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset());
+ init.MoveTo(GetPositionX(), GetPositionY(), GetPositionZMinusOffset(), false);
init.SetFacing(ori);
init.Launch();
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 1a41c25d97c..b549802c91c 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -332,6 +332,7 @@ class UnitAI;
class Totem;
class Transport;
class Vehicle;
+class VehicleJoinEvent;
class TransportBase;
class SpellCastTargets;
@@ -397,6 +398,7 @@ enum TriggerCastFlags
TRIGGERED_IGNORE_CASTER_AURAS = 0x00010000, //! Will ignore caster aura restrictions or requirements
TRIGGERED_DISALLOW_PROC_EVENTS = 0x00020000, //! Disallows proc events from triggered spell (default)
TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, //! Will return SPELL_FAILED_DONT_REPORT in CheckCast functions
+ TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT = 0x00080000, //! Will ignore equipped item requirements
TRIGGERED_FULL_MASK = 0xFFFFFFFF
};
@@ -2183,6 +2185,7 @@ class Unit : public WorldObject
uint32 GetRedirectThreatPercent() { return _redirectThreadInfo.GetThreatPct(); }
Unit* GetRedirectThreatTarget() { return _redirectThreadInfo.GetTargetGUID() ? GetUnit(*this, _redirectThreadInfo.GetTargetGUID()) : NULL; }
+ friend class VehicleJoinEvent;
bool IsAIEnabled, NeedChangeAI;
bool CreateVehicleKit(uint32 id, uint32 creatureEntry);
void RemoveVehicleKit();
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 96f2b6d73dd..f3844d96069 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -30,9 +30,12 @@
#include "SpellInfo.h"
#include "MoveSplineInit.h"
#include "TemporarySummon.h"
+#include "EventProcessor.h"
+#include "Player.h"
+#include "Battleground.h"
Vehicle::Vehicle(Unit* unit, VehicleEntry const* vehInfo, uint32 creatureEntry) :
-_me(unit), _vehicleInfo(vehInfo), _usableSeatNum(0), _creatureEntry(creatureEntry), _status(STATUS_NONE)
+UsableSeatNum(0), _me(unit), _vehicleInfo(vehInfo), _creatureEntry(creatureEntry), _status(STATUS_NONE)
{
for (uint32 i = 0; i < MAX_VEHICLE_SEATS; ++i)
{
@@ -41,10 +44,16 @@ _me(unit), _vehicleInfo(vehInfo), _usableSeatNum(0), _creatureEntry(creatureEntr
{
Seats.insert(std::make_pair(i, VehicleSeat(veSeat)));
if (veSeat->CanEnterOrExit())
- ++_usableSeatNum;
+ ++UsableSeatNum;
}
}
+ // Set or remove correct flags based on available seats. Will overwrite db data (if wrong).
+ if (UsableSeatNum)
+ _me->SetFlag(UNIT_NPC_FLAGS, (_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
+ else
+ _me->RemoveFlag(UNIT_NPC_FLAGS, (_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
+
InitMovementInfoForBase();
}
@@ -56,6 +65,15 @@ Vehicle::~Vehicle()
ASSERT(!itr->second.Passenger);
}
+/**
+ * @fn void Vehicle::Install()
+ *
+ * @brief Initializes power type for vehicle. Nothing more.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::Install()
{
if (Creature* creature = _me->ToCreature())
@@ -114,15 +132,26 @@ void Vehicle::InstallAllAccessories(bool evading)
InstallAccessory(itr->AccessoryEntry, itr->SeatId, itr->IsMinion, itr->SummonedType, itr->SummonTime);
}
+/**
+ * @fn void Vehicle::Uninstall()
+ *
+ * @brief Removes all passengers and sets status to STATUS_UNINSTALLING.
+ * No new passengers can be added to the vehicle after this call.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::Uninstall()
{
/// @Prevent recursive uninstall call. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)
- if (_status == STATUS_UNINSTALLING)
+ if (_status == STATUS_UNINSTALLING && !GetBase()->HasUnitTypeMask(UNIT_MASK_MINION))
{
sLog->outError(LOG_FILTER_VEHICLES, "Vehicle GuidLow: %u, Entry: %u attempts to uninstall, but already has STATUS_UNINSTALLING! "
"Check Uninstall/PassengerBoarded script hooks for errors.", _me->GetGUIDLow(), _me->GetEntry());
return;
}
+
_status = STATUS_UNINSTALLING;
sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Uninstall Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
RemoveAllPassengers();
@@ -131,26 +160,39 @@ void Vehicle::Uninstall()
sScriptMgr->OnUninstall(this);
}
+/**
+ * @fn void Vehicle::Reset(bool evading )
+ *
+ * @brief Reapplies immunities and reinstalls accessories. Only has effect for creatures.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param evading true if called from CreatureAI::EnterEvadeMode
+ */
+
void Vehicle::Reset(bool evading /*= false*/)
{
- sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Reset Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
- if (_me->GetTypeId() == TYPEID_PLAYER)
- {
- if (_usableSeatNum)
- _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);
- }
- else
- {
- ApplyAllImmunities();
- InstallAllAccessories(evading);
- if (_usableSeatNum)
- _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
- }
+ if (GetBase()->GetTypeId() != TYPEID_UNIT)
+ return;
- if (GetBase()->GetTypeId() == TYPEID_UNIT)
- sScriptMgr->OnReset(this);
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Reset (Entry: %u, GuidLow: %u, DBGuid: %u)", GetCreatureEntry(), _me->GetGUIDLow(), _me->ToCreature()->GetDBTableGUIDLow());
+
+ ApplyAllImmunities();
+ InstallAllAccessories(evading);
+
+ sScriptMgr->OnReset(this);
}
+/**
+ * @fn void Vehicle::ApplyAllImmunities()
+ *
+ * @brief Applies specific immunities that cannot be set in DB.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::ApplyAllImmunities()
{
// This couldn't be done in DB, because some spells have MECHANIC_NONE
@@ -199,10 +241,28 @@ void Vehicle::ApplyAllImmunities()
}
}
+/**
+ * @fn void Vehicle::RemoveAllPassengers()
+ *
+ * @brief Removes all current and pending passengers from the vehicle.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::RemoveAllPassengers()
{
sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::RemoveAllPassengers. Entry: %u, GuidLow: %u", _creatureEntry, _me->GetGUIDLow());
+ /// Setting to_Abort to true will cause @VehicleJoinEvent::Abort to be executed on next @Unit::UpdateEvents call
+ /// This will properly "reset" the pending join process for the passenger.
+ while (!_pendingJoinEvents.empty())
+ {
+ VehicleJoinEvent* e = _pendingJoinEvents.front();
+ e->to_Abort = true;
+ _pendingJoinEvents.pop_front();
+ }
+
// Passengers always cast an aura with SPELL_AURA_CONTROL_VEHICLE on the vehicle
// We just remove the aura and the unapply handler will make the target leave the vehicle.
// We don't need to iterate over Seats
@@ -215,6 +275,19 @@ void Vehicle::RemoveAllPassengers()
// ASSERT(!itr->second.passenger);
}
+/**
+ * @fn bool Vehicle::HasEmptySeat(int8 seatId) const
+ *
+ * @brief Checks if vehicle's seat specified by 'seatId' is empty.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param seatId Identifier for the seat.
+ *
+ * @return true if empty seat, false if not.
+ */
+
bool Vehicle::HasEmptySeat(int8 seatId) const
{
SeatMap::const_iterator seat = Seats.find(seatId);
@@ -223,6 +296,19 @@ bool Vehicle::HasEmptySeat(int8 seatId) const
return !seat->second.Passenger;
}
+/**
+ * @fn Unit* Vehicle::GetPassenger(int8 seatId) const
+ *
+ * @brief Gets a passenger on specified seat.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param seatId Seat to look on.
+ *
+ * @return null if it not found, else pointer to passenger if in world
+ */
+
Unit* Vehicle::GetPassenger(int8 seatId) const
{
SeatMap::const_iterator seat = Seats.find(seatId);
@@ -232,92 +318,127 @@ Unit* Vehicle::GetPassenger(int8 seatId) const
return ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger);
}
-int8 Vehicle::GetNextEmptySeat(int8 seatId, bool next) const
+/**
+ * @fn SeatMap::const_iterator Vehicle::GetNextEmptySeat(int8 seatId, bool next) const
+ *
+ * @brief Gets the next empty seat based on current seat.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param seatId Identifier for the current seat.
+ * @param next true if iterating forward, false means iterating backwards.
+ *
+ * @return The next empty seat.
+ */
+
+SeatMap::const_iterator Vehicle::GetNextEmptySeat(int8 seatId, bool next) const
{
SeatMap::const_iterator seat = Seats.find(seatId);
if (seat == Seats.end())
- return -1;
+ return seat;
while (seat->second.Passenger || (!seat->second.SeatInfo->CanEnterOrExit() && !seat->second.SeatInfo->IsUsableByOverride()))
{
if (next)
{
- ++seat;
- if (seat == Seats.end())
+ if (++seat == Seats.end())
seat = Seats.begin();
}
else
{
- if (seat == Seats.begin())
+ if (seat-- == Seats.begin())
seat = Seats.end();
- --seat;
}
+ // Make sure we don't loop indefinetly
if (seat->first == seatId)
- return -1; // no available seat
+ return Seats.end();
}
- return seat->first;
+ return seat;
}
+/**
+ * @fn void Vehicle::InstallAccessory(uint32 entry, int8 seatId, bool minion, uint8 type,
+ * uint32 summonTime)
+ *
+ * @brief Installs an accessory.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param entry The NPC entry of accessory.
+ * @param seatId Identifier for the seat to add the accessory to.
+ * @param minion true if accessory considered a 'minion'. Implies that the accessory will despawn when the vehicle despawns.
+ * Essentially that it has no life without the vehicle. Their fates are bound.
+ * @param type See enum @SummonType.
+ * @param summonTime Time after which the minion is despawned in case of a timed despawn @type specified.
+ */
+
void Vehicle::InstallAccessory(uint32 entry, int8 seatId, bool minion, uint8 type, uint32 summonTime)
{
/// @Prevent adding accessories when vehicle is uninstalling. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)
if (_status == STATUS_UNINSTALLING)
{
- sLog->outError(LOG_FILTER_VEHICLES, "Vehicle GuidLow: %u, Entry: %u attempts to install accessory Entry: %u on seat %d with STATUS_UNINSTALLING! "
- "Check Uninstall/PassengerBoarded script hooks for errors.", _me->GetGUIDLow(), _me->GetEntry(), entry, (int32)seatId);
+ sLog->outError(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB GUID: %u, Entry: %u) attempts to install accessory (Entry: %u) on seat %i with STATUS_UNINSTALLING! "
+ "Check Uninstall/PassengerBoarded script hooks for errors.", _me->GetGUIDLow(),
+ (_me->GetTypeId() == TYPEID_UNIT ? _me->ToCreature()->GetDBTableGUIDLow() : _me->GetGUIDLow()), GetCreatureEntry(), entry, (int32)seatId);
return;
}
- sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle: Installing accessory entry %u on vehicle entry %u (seat:%i)", entry, GetCreatureEntry(), seatId);
- if (Unit* passenger = GetPassenger(seatId))
- {
- // already installed
- if (passenger->GetEntry() == entry)
- {
- ASSERT(passenger->GetTypeId() == TYPEID_UNIT);
- if (_me->GetTypeId() == TYPEID_UNIT)
- {
- if (_me->ToCreature()->IsInEvadeMode() && passenger->ToCreature()->IsAIEnabled)
- passenger->ToCreature()->AI()->EnterEvadeMode();
- return;
- }
- }
- else
- passenger->ExitVehicle(); // this should not happen
- }
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle (GuidLow: %u, DB Guid: %u, Entry %u): installing accessory (Entry: %u) on seat: %i",
+ _me->GetGUIDLow(), (_me->GetTypeId() == TYPEID_UNIT ? _me->ToCreature()->GetDBTableGUIDLow() : _me->GetGUIDLow()), GetCreatureEntry(),
+ entry, (int32)seatId);
- if (TempSummon* accessory = _me->SummonCreature(entry, *_me, TempSummonType(type), summonTime))
- {
- if (minion)
- accessory->AddUnitTypeMask(UNIT_MASK_ACCESSORY);
+ TempSummon* accessory = _me->SummonCreature(entry, *_me, TempSummonType(type), summonTime);
+ ASSERT(accessory);
- if (!_me->HandleSpellClick(accessory, seatId))
- {
- accessory->UnSummon();
- return;
- }
+ if (minion)
+ accessory->AddUnitTypeMask(UNIT_MASK_ACCESSORY);
- if (GetBase()->GetTypeId() == TYPEID_UNIT)
- sScriptMgr->OnInstallAccessory(this, accessory);
- }
+ (void)_me->HandleSpellClick(accessory, seatId);
+
+ /// If for some reason adding accessory to vehicle fails it will unsummon in
+ /// @VehicleJoinEvent::Abort
}
+/**
+ * @fn bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
+ *
+ * @brief Attempts to add a passenger to the vehicle on 'seatId'.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param [in,out] The prospective passenger.
+ * @param seatId Identifier for the seat. Value of -1 indicates the next available seat.
+ *
+ * @return true if it succeeds, false if it fails.
+ */
+
bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
{
/// @Prevent adding passengers when vehicle is uninstalling. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)
if (_status == STATUS_UNINSTALLING)
{
- sLog->outError(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, attempting to board vehicle GuidLow: %u, Entry: %u during uninstall! SeatId: %i",
+ sLog->outError(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, attempting to board vehicle GuidLow: %u, Entry: %u during uninstall! SeatId: %d",
unit->GetGUIDLow(), unit->GetEntry(), _me->GetGUIDLow(), _me->GetEntry(), (int32)seatId);
return false;
}
- if (unit->GetVehicle() != this)
- return false;
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s scheduling enter vehicle (entry: %u, vehicleId: %u, guid: %u (dbguid: %u) on seat %d",
+ unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(),
+ (_me->GetTypeId() == TYPEID_UNIT ? _me->ToCreature()->GetDBTableGUIDLow() : 0), (int32)seatId);
+ // The seat selection code may kick other passengers off the vehicle.
+ // While the validity of the following may be arguable, it is possible that when such a passenger
+ // exits the vehicle will dismiss. That's why the actual adding the passenger to the vehicle is scheduled
+ // asynchronously, so it can be cancelled easily in case the vehicle is uninstalled meanwhile.
SeatMap::iterator seat;
+ VehicleJoinEvent* e = new VehicleJoinEvent(this, unit);
+ unit->m_Events.AddEvent(e, unit->m_Events.CalculateTime(0));
+
if (seatId < 0) // no specific seat requirement
{
for (seat = Seats.begin(); seat != Seats.end(); ++seat)
@@ -325,87 +446,49 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
break;
if (seat == Seats.end()) // no available seat
+ {
+ e->to_Abort = true;
return false;
+ }
+
+ e->Seat = seat;
+ _pendingJoinEvents.push_back(e);
}
else
{
seat = Seats.find(seatId);
if (seat == Seats.end())
+ {
+ e->to_Abort = true;
return false;
+ }
+ e->Seat = seat;
+ _pendingJoinEvents.push_back(e);
if (seat->second.Passenger)
{
- if (Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger))
- passenger->ExitVehicle();
- else
- seat->second.Passenger = 0;
+ Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger);
+ ASSERT(passenger);
+ passenger->ExitVehicle();
}
ASSERT(!seat->second.Passenger);
}
- sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
-
- seat->second.Passenger = unit->GetGUID();
- if (seat->second.SeatInfo->CanEnterOrExit())
- {
- ASSERT(_usableSeatNum);
- --_usableSeatNum;
- if (!_usableSeatNum)
- {
- if (_me->GetTypeId() == TYPEID_PLAYER)
- _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);
- else
- _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
- }
- }
-
- if (seat->second.SeatInfo->m_flags && !(seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_ALLOW_TURNING))
- unit->AddUnitState(UNIT_STATE_ONVEHICLE);
-
- unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
- VehicleSeatEntry const* veSeat = seat->second.SeatInfo;
- unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;
- unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;
- unit->m_movementInfo.t_pos.m_positionZ = veSeat->m_attachmentOffsetZ;
- unit->m_movementInfo.t_pos.SetOrientation(0);
- unit->m_movementInfo.t_time = 0; // 1 for player
- unit->m_movementInfo.t_seat = seat->first;
- unit->m_movementInfo.t_guid = _me->GetGUID();
-
- if (_me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER &&
- seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)
- ASSERT(_me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))
-
- if (_me->IsInWorld())
- {
- unit->SendClearTarget(); // SMSG_BREAK_TARGET
- unit->SetControlled(true, UNIT_STATE_ROOT); // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)
- // also adds MOVEMENTFLAG_ROOT
- Movement::MoveSplineInit init(unit);
- init.DisableTransportPathTransformations();
- init.MoveTo(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ);
- init.SetFacing(0.0f);
- init.SetTransportEnter();
- init.Launch();
-
- if (_me->GetTypeId() == TYPEID_UNIT)
- {
- if (_me->ToCreature()->IsAIEnabled)
- _me->ToCreature()->AI()->PassengerBoarded(unit, seat->first, true);
-
- // update all passenger's positions
- //Passenger's spline OR vehicle movement will update positions
- //RelocatePassengers(_me->GetPositionX(), _me->GetPositionY(), _me->GetPositionZ(), _me->GetOrientation());
- }
- }
-
- if (GetBase()->GetTypeId() == TYPEID_UNIT)
- sScriptMgr->OnAddPassenger(this, unit, seatId);
-
return true;
}
+/**
+ * @fn void Vehicle::RemovePassenger(Unit* unit)
+ *
+ * @brief Removes the passenger from the vehicle.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param [in,out] unit The passenger to remove.
+ */
+
void Vehicle::RemovePassenger(Unit* unit)
{
if (unit->GetVehicle() != this)
@@ -414,20 +497,12 @@ void Vehicle::RemovePassenger(Unit* unit)
SeatMap::iterator seat = GetSeatIteratorForPassenger(unit);
ASSERT(seat != Seats.end());
- sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s exit vehicle entry %u id %u dbguid %u seat %d", unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s exit vehicle entry %u id %u dbguid %u seat %d",
+ unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);
seat->second.Passenger = 0;
- if (seat->second.SeatInfo->CanEnterOrExit())
- {
- if (!_usableSeatNum)
- {
- if (_me->GetTypeId() == TYPEID_PLAYER)
- _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);
- else
- _me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
- }
- ++_usableSeatNum;
- }
+ if (seat->second.SeatInfo->CanEnterOrExit() && ++UsableSeatNum)
+ _me->SetFlag(UNIT_NPC_FLAGS, (_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));
unit->ClearUnitState(UNIT_STATE_ONVEHICLE);
@@ -437,7 +512,7 @@ void Vehicle::RemovePassenger(Unit* unit)
if (_me->IsInWorld())
{
unit->RemoveUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
- unit->m_movementInfo.t_pos.Relocate(0, 0, 0, 0);
+ unit->m_movementInfo.t_pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);
unit->m_movementInfo.t_time = 0;
unit->m_movementInfo.t_seat = 0;
}
@@ -453,7 +528,15 @@ void Vehicle::RemovePassenger(Unit* unit)
sScriptMgr->OnRemovePassenger(this, unit);
}
-//! Must be called after m_base::Relocate
+/**
+ * @fn void Vehicle::RelocatePassengers()
+ *
+ * @brief Relocate passengers. Must be called after m_base::Relocate
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::RelocatePassengers()
{
ASSERT(_me->GetMap());
@@ -473,16 +556,34 @@ void Vehicle::RelocatePassengers()
}
}
+/**
+ * @fn void Vehicle::Dismiss()
+ *
+ * @brief Dismiss the vehicle. Removes passengers and despawns self. Only valid for creatures.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::Dismiss()
{
if (GetBase()->GetTypeId() != TYPEID_UNIT)
return;
- sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Dismiss Entry: %u, GuidLow %u", _creatureEntry, _me->GetGUIDLow());
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Vehicle::Dismiss Entry: %u, GuidLow %u, DBGuid: %u", GetCreatureEntry(), _me->GetGUIDLow(), _me->ToCreature()->GetDBTableGUIDLow());
Uninstall();
GetBase()->ToCreature()->DespawnOrUnsummon();
}
+/**
+ * @fn void Vehicle::InitMovementInfoForBase()
+ *
+ * @brief Sets correct MovementFlags2 based on VehicleFlags from DBC.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ */
+
void Vehicle::InitMovementInfoForBase()
{
uint32 vehicleFlags = GetVehicleInfo()->m_flags;
@@ -499,6 +600,19 @@ void Vehicle::InitMovementInfoForBase()
_me->AddExtraUnitMovementFlag(MOVEMENTFLAG2_FULL_SPEED_PITCHING);
}
+/**
+ * @fn VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit* passenger)
+ *
+ * @brief Returns information on the seat of specified passenger, represented by the format in VehicleSeat.dbc
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param [in,out] The passenger for which we check the seat info.
+ *
+ * @return null if passenger not found on vehicle, else the DBC record for the seat.
+ */
+
VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit* passenger)
{
SeatMap::iterator itr;
@@ -509,6 +623,19 @@ VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit* passenger)
return NULL;
}
+/**
+ * @fn SeatMap::iterator Vehicle::GetSeatIteratorForPassenger(Unit* passenger)
+ *
+ * @brief Gets seat iterator for specified passenger.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param [in,out] passenger Passenger to look up.
+ *
+ * @return The seat iterator for specified passenger if it's found on the vehicle. Otherwise Seats.end() (invalid iterator).
+ */
+
SeatMap::iterator Vehicle::GetSeatIteratorForPassenger(Unit* passenger)
{
SeatMap::iterator itr;
@@ -519,6 +646,17 @@ SeatMap::iterator Vehicle::GetSeatIteratorForPassenger(Unit* passenger)
return Seats.end();
}
+/**
+ * @fn uint8 Vehicle::GetAvailableSeatCount() const
+ *
+ * @brief Gets the available seat count.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @return The available seat count.
+ */
+
uint8 Vehicle::GetAvailableSeatCount() const
{
uint8 ret = 0;
@@ -549,3 +687,175 @@ void Vehicle::CalculatePassengerOffset(float& x, float& y, float& z, float& o)
y = (iny - inx * tan(GetBase()->GetOrientation())) / (cos(GetBase()->GetOrientation()) + std::sin(GetBase()->GetOrientation()) * tan(GetBase()->GetOrientation()));
x = (inx + iny * tan(GetBase()->GetOrientation())) / (cos(GetBase()->GetOrientation()) + std::sin(GetBase()->GetOrientation()) * tan(GetBase()->GetOrientation()));
}
+
+/**
+ * @fn void Vehicle::RemovePendingEvent(VehicleJoinEvent* e)
+ *
+ * @brief Removes @VehicleJoinEvent objects from pending join event store.
+ * This method only removes it after it's executed or aborted to prevent leaving
+ * pointers to deleted events.
+ *
+ * @author Shauren
+ * @date 22-2-2013
+ *
+ * @param [in] e The VehicleJoinEvent* to remove from pending event store.
+ */
+
+void Vehicle::RemovePendingEvent(VehicleJoinEvent* e)
+{
+ for (PendingJoinEventContainer::iterator itr = _pendingJoinEvents.begin(); itr != _pendingJoinEvents.end(); ++itr)
+ {
+ if (*itr == e)
+ {
+ _pendingJoinEvents.erase(itr);
+ break;
+ }
+ }
+}
+
+/**
+ * @fn void Vehicle::RemovePendingEventsForSeat(uint8 seatId)
+ *
+ * @brief Removes any pending events for given seatId. Executed when a @VehicleJoinEvent::Execute is called
+ *
+ * @author Machiavelli
+ * @date 23-2-2013
+ *
+ * @param seatId Identifier for the seat.
+ */
+
+void Vehicle::RemovePendingEventsForSeat(int8 seatId)
+{
+ for (PendingJoinEventContainer::iterator itr = _pendingJoinEvents.begin(); itr != _pendingJoinEvents.end();)
+ {
+ if ((*itr)->Seat->first == seatId)
+ {
+ (*itr)->to_Abort = true;
+ _pendingJoinEvents.erase(itr++);
+ }
+ else
+ ++itr;
+ }
+}
+
+/**
+ * @fn bool VehicleJoinEvent::Execute(uint64, uint32)
+ *
+ * @brief Actually adds the passenger @Passenger to vehicle @Target.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param parameter1 Unused
+ * @param parameter2 Unused.
+ *
+ * @return true, cannot fail.
+ *
+ */
+
+bool VehicleJoinEvent::Execute(uint64, uint32)
+{
+ ASSERT(Passenger->IsInWorld());
+ ASSERT(Target->GetBase()->IsInWorld());
+
+ Target->RemovePendingEventsForSeat(Seat->first);
+
+ Passenger->m_vehicle = Target;
+ Seat->second.Passenger = Passenger->GetGUID();
+ if (Seat->second.SeatInfo->CanEnterOrExit())
+ {
+ ASSERT(Target->UsableSeatNum);
+ --(Target->UsableSeatNum);
+ if (!Target->UsableSeatNum)
+ {
+ if (Target->GetBase()->GetTypeId() == TYPEID_PLAYER)
+ Target->GetBase()->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);
+ else
+ Target->GetBase()->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
+ }
+ }
+
+ Passenger->InterruptNonMeleeSpells(false);
+ Passenger->RemoveAurasByType(SPELL_AURA_MOUNTED);
+
+ Player* player = Passenger->ToPlayer();
+ if (player)
+ {
+ // drop flag
+ if (Battleground* bg = player->GetBattleground())
+ bg->EventPlayerDroppedFlag(player);
+
+ player->StopCastingCharm();
+ player->StopCastingBindSight();
+ player->SendOnCancelExpectedVehicleRideAura();
+ player->UnsummonPetTemporaryIfAny();
+ }
+
+ if (Seat->second.SeatInfo->m_flags && !(Seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_ALLOW_TURNING))
+ Passenger->AddUnitState(UNIT_STATE_ONVEHICLE);
+
+ Passenger->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
+ VehicleSeatEntry const* veSeat = Seat->second.SeatInfo;
+ Passenger->m_movementInfo.t_pos.Relocate(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ);
+ Passenger->m_movementInfo.t_time = 0; // 1 for player
+ Passenger->m_movementInfo.t_seat = Seat->first;
+ Passenger->m_movementInfo.t_guid = Target->GetBase()->GetGUID();
+
+ if (Target->GetBase()->GetTypeId() == TYPEID_UNIT && Passenger->GetTypeId() == TYPEID_PLAYER &&
+ Seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)
+ ASSERT(Target->GetBase()->SetCharmedBy(Passenger, CHARM_TYPE_VEHICLE)) // SMSG_CLIENT_CONTROL
+
+ Passenger->SendClearTarget(); // SMSG_BREAK_TARGET
+ Passenger->SetControlled(true, UNIT_STATE_ROOT); // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)
+ // also adds MOVEMENTFLAG_ROOT
+
+ Movement::MoveSplineInit init(Passenger);
+ init.DisableTransportPathTransformations();
+ init.MoveTo(veSeat->m_attachmentOffsetX, veSeat->m_attachmentOffsetY, veSeat->m_attachmentOffsetZ, false, true);
+ init.SetFacing(0.0f);
+ init.SetTransportEnter();
+ init.Launch();
+
+ if (Target->GetBase()->GetTypeId() == TYPEID_UNIT)
+ {
+ if (Target->GetBase()->ToCreature()->IsAIEnabled)
+ Target->GetBase()->ToCreature()->AI()->PassengerBoarded(Passenger, Seat->first, true);
+
+ sScriptMgr->OnAddPassenger(Target, Passenger, Seat->first);
+
+ // Actually quite a redundant hook. Could just use OnAddPassenger and check for unit typemask inside script.
+ if (Passenger->HasUnitTypeMask(UNIT_MASK_ACCESSORY))
+ sScriptMgr->OnInstallAccessory(Target, Passenger->ToCreature());
+
+ // update all passenger's positions
+ //Passenger's spline OR vehicle movement will update positions
+ //RelocatePassengers(_me->GetPositionX(), _me->GetPositionY(), _me->GetPositionZ(), _me->GetOrientation());
+ }
+
+ return true;
+}
+
+/**
+ * @fn void VehicleJoinEvent::Abort(uint64)
+ *
+ * @brief Aborts the event. Implies that unit @Passenger will not be boarding vehicle @Target after all.
+ *
+ * @author Machiavelli
+ * @date 17-2-2013
+ *
+ * @param parameter1 Unused
+ */
+
+void VehicleJoinEvent::Abort(uint64)
+{
+ sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, board on vehicle GuidLow: %u, Entry: %u SeatId: %i cancelled",
+ Passenger->GetGUIDLow(), Passenger->GetEntry(), Target->GetBase()->GetGUIDLow(), Target->GetBase()->GetEntry(), (int32)Seat->first);
+
+ /// @SPELL_AURA_CONTROL_VEHICLE auras can be applied even when the passenger is not (yet) on the vehicle.
+ /// When this code is triggered it means that something went wrong in @Vehicle::AddPassenger, and we should remove
+ /// the aura manually.
+ Target->GetBase()->RemoveAurasByType(SPELL_AURA_CONTROL_VEHICLE, Passenger->GetGUID());
+
+ if (Passenger->IsInWorld() && Passenger->HasUnitTypeMask(UNIT_MASK_ACCESSORY))
+ Passenger->ToCreature()->DespawnOrUnsummon();
+}
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index 823fb72b8a8..8b67b82cfa3 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -23,15 +23,23 @@
#include "Object.h"
#include "VehicleDefines.h"
#include "Unit.h"
+#include <list>
struct VehicleEntry;
-
class Unit;
+class VehicleJoinEvent;
typedef std::set<uint64> GuidSet;
class Vehicle : public TransportBase
{
+ protected:
+ friend bool Unit::CreateVehicleKit(uint32 id, uint32 creatureEntry);
+ Vehicle(Unit* unit, VehicleEntry const* vehInfo, uint32 creatureEntry);
+
+ friend void Unit::RemoveVehicleKit();
+ ~Vehicle();
+
public:
void Install();
void Uninstall();
@@ -46,7 +54,7 @@ class Vehicle : public TransportBase
bool HasEmptySeat(int8 seatId) const;
Unit* GetPassenger(int8 seatId) const;
- int8 GetNextEmptySeat(int8 seatId, bool next) const;
+ SeatMap::const_iterator GetNextEmptySeat(int8 seatId, bool next) const;
uint8 GetAvailableSeatCount() const;
bool AddPassenger(Unit* passenger, int8 seatId = -1);
@@ -55,21 +63,18 @@ class Vehicle : public TransportBase
void RelocatePassengers();
void RemoveAllPassengers();
void Dismiss();
- void TeleportVehicle(float x, float y, float z, float ang);
bool IsVehicleInUse() { return Seats.begin() != Seats.end(); }
- void SetLastShootPos(Position const& pos) { m_lastShootPos.Relocate(pos); }
- Position GetLastShootPos() { return m_lastShootPos; }
+ void SetLastShootPos(Position const& pos) { _lastShootPos.Relocate(pos); }
+ Position GetLastShootPos() { return _lastShootPos; }
- SeatMap Seats;
+ SeatMap Seats; ///< The collection of all seats on the vehicle. Including vacant ones.
VehicleSeatEntry const* GetSeatForPassenger(Unit* passenger);
protected:
- friend bool Unit::CreateVehicleKit(uint32 id, uint32 creatureEntry);
- Vehicle(Unit* unit, VehicleEntry const* vehInfo, uint32 creatureEntry);
- friend void Unit::RemoveVehicleKit();
- ~Vehicle();
+ friend class VehicleJoinEvent;
+ uint32 UsableSeatNum; ///< Number of seats that match VehicleSeatEntry::UsableByPlayer, used for proper display flags
private:
enum Status
@@ -88,12 +93,34 @@ class Vehicle : public TransportBase
/// This method transforms supplied global coordinates into local offsets
void CalculatePassengerOffset(float& x, float& y, float& z, float& o);
- Unit* _me;
- VehicleEntry const* _vehicleInfo;
+ void RemovePendingEvent(VehicleJoinEvent* e);
+ void RemovePendingEventsForSeat(int8 seatId);
+
+ private:
+ Unit* _me; ///< The underlying unit with the vehicle kit. Can be player or creature.
+ VehicleEntry const* _vehicleInfo; ///< DBC data for vehicle
GuidSet vehiclePlayers;
- uint32 _usableSeatNum; // Number of seats that match VehicleSeatEntry::UsableByPlayer, used for proper display flags
- uint32 _creatureEntry; // Can be different than me->GetBase()->GetEntry() in case of players
- Status _status;
- Position m_lastShootPos;
+
+ uint32 _creatureEntry; ///< Can be different than the entry of _me in case of players
+ Status _status; ///< Internal variable for sanity checks
+ Position _lastShootPos;
+
+ typedef std::list<VehicleJoinEvent*> PendingJoinEventContainer;
+ PendingJoinEventContainer _pendingJoinEvents; ///< Collection of delayed join events for prospective passengers
};
+
+class VehicleJoinEvent : public BasicEvent
+{
+ friend class Vehicle;
+ protected:
+ VehicleJoinEvent(Vehicle* v, Unit* u) : Target(v), Passenger(u), Seat(Target->Seats.end()) {}
+ ~VehicleJoinEvent() { Target->RemovePendingEvent(this); }
+ bool Execute(uint64, uint32);
+ void Abort(uint64);
+
+ Vehicle* Target;
+ Unit* Passenger;
+ SeatMap::iterator Seat;
+};
+
#endif
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index de3038cef1e..89ce8108b6e 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -450,8 +450,8 @@ void GameEventMgr::LoadFromDB()
{
uint32 oldMSTime = getMSTime();
- // 0 1 2 3
- QueryResult result = WorldDatabase.Query("SELECT creature.guid, game_event_model_equip.eventEntry, game_event_model_equip.modelid, game_event_model_equip.equipment_id "
+ // 0 1 2 3 4
+ QueryResult result = WorldDatabase.Query("SELECT creature.guid, creature.id, game_event_model_equip.eventEntry, game_event_model_equip.modelid, game_event_model_equip.equipment_id "
"FROM creature JOIN game_event_model_equip ON creature.guid=game_event_model_equip.guid");
if (!result)
@@ -466,7 +466,8 @@ void GameEventMgr::LoadFromDB()
Field* fields = result->Fetch();
uint32 guid = fields[0].GetUInt32();
- uint16 event_id = fields[1].GetUInt8();
+ uint32 entry = fields[1].GetUInt32();
+ uint16 event_id = fields[2].GetUInt8();
if (event_id >= mGameEventModelEquip.size())
{
@@ -476,17 +477,18 @@ void GameEventMgr::LoadFromDB()
ModelEquipList& equiplist = mGameEventModelEquip[event_id];
ModelEquip newModelEquipSet;
- newModelEquipSet.modelid = fields[2].GetUInt32();
- newModelEquipSet.equipment_id = fields[3].GetUInt32();
+ newModelEquipSet.modelid = fields[3].GetUInt32();
+ newModelEquipSet.equipment_id = fields[4].GetUInt8();
newModelEquipSet.equipement_id_prev = 0;
newModelEquipSet.modelid_prev = 0;
if (newModelEquipSet.equipment_id > 0)
{
- if (!sObjectMgr->GetEquipmentInfo(newModelEquipSet.equipment_id))
+ int8 equipId = static_cast<int8>(newModelEquipSet.equipment_id);
+ if (!sObjectMgr->GetEquipmentInfo(entry, equipId))
{
- sLog->outError(LOG_FILTER_SQL, "Table `game_event_model_equip` have creature (Guid: %u) with equipment_id %u not found in table `creature_equip_template`, set to no equipment.",
- guid, newModelEquipSet.equipment_id);
+ sLog->outError(LOG_FILTER_SQL, "Table `game_event_model_equip` have creature (Guid: %u, entry: %u) with equipment_id %u not found in table `creature_equip_template`, set to no equipment.",
+ guid, entry, newModelEquipSet.equipment_id);
continue;
}
}
@@ -1102,14 +1104,8 @@ void GameEventMgr::UnApplyEvent(uint16 event_id)
void GameEventMgr::ApplyNewEvent(uint16 event_id)
{
- switch (sWorld->getIntConfig(CONFIG_EVENT_ANNOUNCE))
- {
- case 0: // disable
- break;
- case 1: // announce events
- sWorld->SendWorldText(LANG_EVENTMESSAGE, mGameEvent[event_id].description.c_str());
- break;
- }
+ if (sWorld->getBoolConfig(CONFIG_EVENT_ANNOUNCE))
+ sWorld->SendWorldText(LANG_EVENTMESSAGE, mGameEvent[event_id].description.c_str());
sLog->outInfo(LOG_FILTER_GAMEEVENTS, "GameEvent %u \"%s\" started.", event_id, mGameEvent[event_id].description.c_str());
@@ -1331,7 +1327,7 @@ void GameEventMgr::ChangeEquipOrModel(int16 event_id, bool activate)
itr->second.equipement_id_prev = creature->GetCurrentEquipmentId();
itr->second.modelid_prev = creature->GetDisplayId();
creature->LoadEquipment(itr->second.equipment_id, true);
- if (itr->second.modelid >0 && itr->second.modelid_prev != itr->second.modelid)
+ if (itr->second.modelid > 0 && itr->second.modelid_prev != itr->second.modelid)
{
CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(itr->second.modelid);
if (minfo)
@@ -1346,7 +1342,7 @@ void GameEventMgr::ChangeEquipOrModel(int16 event_id, bool activate)
else
{
creature->LoadEquipment(itr->second.equipement_id_prev, true);
- if (itr->second.modelid_prev >0 && itr->second.modelid_prev != itr->second.modelid)
+ if (itr->second.modelid_prev > 0 && itr->second.modelid_prev != itr->second.modelid)
{
CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(itr->second.modelid_prev);
if (minfo)
@@ -1369,7 +1365,7 @@ void GameEventMgr::ChangeEquipOrModel(int16 event_id, bool activate)
sObjectMgr->GetCreatureModelRandomGender(&displayID);
if (data2->equipmentId == 0)
- itr->second.equipement_id_prev = cinfo->equipmentId;
+ itr->second.equipement_id_prev = 0; ///@todo: verify this line
else if (data2->equipmentId != -1)
itr->second.equipement_id_prev = data->equipmentId;
itr->second.modelid_prev = displayID;
diff --git a/src/server/game/Events/GameEventMgr.h b/src/server/game/Events/GameEventMgr.h
index d15b3e48dc9..4175e57f28a 100644
--- a/src/server/game/Events/GameEventMgr.h
+++ b/src/server/game/Events/GameEventMgr.h
@@ -73,9 +73,9 @@ struct GameEventData
struct ModelEquip
{
uint32 modelid;
- uint32 equipment_id;
uint32 modelid_prev;
- uint32 equipement_id_prev;
+ uint8 equipment_id;
+ uint8 equipement_id_prev;
};
struct NPCVendorEntry
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 1dd824759c9..222331c48f8 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -404,8 +404,8 @@ void ObjectMgr::LoadCreatureTemplates()
"spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, "
// 68 69 70 71 72 73 74 75 76 77 78
"InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, "
- // 79 80 81 82 83 84
- " questItem6, movementId, RegenHealth, equipment_id, mechanic_immune_mask, flags_extra, ScriptName "
+ // 79 80 81 82 83 84
+ " questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName "
"FROM creature_template;");
if (!result)
@@ -500,10 +500,9 @@ void ObjectMgr::LoadCreatureTemplates()
creatureTemplate.movementId = fields[80].GetUInt32();
creatureTemplate.RegenHealth = fields[81].GetBool();
- creatureTemplate.equipmentId = fields[82].GetUInt32();
- creatureTemplate.MechanicImmuneMask = fields[83].GetUInt32();
- creatureTemplate.flags_extra = fields[84].GetUInt32();
- creatureTemplate.ScriptID = GetScriptId(fields[85].GetCString());
+ creatureTemplate.MechanicImmuneMask = fields[82].GetUInt32();
+ creatureTemplate.flags_extra = fields[83].GetUInt32();
+ creatureTemplate.ScriptID = GetScriptId(fields[84].GetCString());
++count;
}
@@ -858,15 +857,6 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
const_cast<CreatureTemplate*>(cInfo)->MovementType = IDLE_MOTION_TYPE;
}
- if (cInfo->equipmentId > 0) // 0 no equipment
- {
- if (!GetEquipmentInfo(cInfo->equipmentId))
- {
- sLog->outError(LOG_FILTER_SQL, "Table `creature_template` lists creature (Entry: %u) with `equipment_id` %u not found in table `creature_equip_template`, set to no equipment.", cInfo->Entry, cInfo->equipmentId);
- const_cast<CreatureTemplate*>(cInfo)->equipmentId = 0;
- }
- }
-
/// if not set custom creature scale then load scale from CreatureDisplayInfo.dbc
if (cInfo->scale <= 0.0f)
{
@@ -986,11 +976,28 @@ CreatureAddon const* ObjectMgr::GetCreatureTemplateAddon(uint32 entry)
return NULL;
}
-EquipmentInfo const* ObjectMgr::GetEquipmentInfo(uint32 entry)
+EquipmentInfo const* ObjectMgr::GetEquipmentInfo(uint32 entry, int8& id)
{
EquipmentInfoContainer::const_iterator itr = _equipmentInfoStore.find(entry);
- if (itr != _equipmentInfoStore.end())
- return &(itr->second);
+ if (itr == _equipmentInfoStore.end())
+ return NULL;
+
+ if (itr->second.empty())
+ return NULL;
+
+ if (id == -1) // select a random element
+ {
+ EquipmentInfoContainerInternal::const_iterator ritr = itr->second.begin();
+ std::advance(ritr, urand(0u, itr->second.size() - 1));
+ id = std::distance(itr->second.begin(), ritr) + 1;
+ return &ritr->second;
+ }
+ else
+ {
+ EquipmentInfoContainerInternal::const_iterator itr2 = itr->second.find(id);
+ if (itr2 != itr->second.end())
+ return &itr2->second;
+ }
return NULL;
}
@@ -999,7 +1006,8 @@ void ObjectMgr::LoadEquipmentTemplates()
{
uint32 oldMSTime = getMSTime();
- QueryResult result = WorldDatabase.Query("SELECT entry, itemEntry1, itemEntry2, itemEntry3 FROM creature_equip_template");
+ // 0 1 2 3 4
+ QueryResult result = WorldDatabase.Query("SELECT entry, id, itemEntry1, itemEntry2, itemEntry3 FROM creature_equip_template");
if (!result)
{
@@ -1012,13 +1020,21 @@ void ObjectMgr::LoadEquipmentTemplates()
{
Field* fields = result->Fetch();
- uint16 entry = fields[0].GetUInt16();
+ uint32 entry = fields[0].GetUInt32();
- EquipmentInfo& equipmentInfo = _equipmentInfoStore[entry];
+ if (!sObjectMgr->GetCreatureTemplate(entry))
+ {
+ sLog->outError(LOG_FILTER_SQL, "Creature template (Entry: %u) does not exist but has a record in `creature_equip_template`", entry);
+ continue;
+ }
+
+ uint8 id = fields[1].GetUInt8();
+
+ EquipmentInfo& equipmentInfo = _equipmentInfoStore[entry][id];
- equipmentInfo.ItemEntry[0] = fields[1].GetUInt32();
- equipmentInfo.ItemEntry[1] = fields[2].GetUInt32();
- equipmentInfo.ItemEntry[2] = fields[3].GetUInt32();
+ equipmentInfo.ItemEntry[0] = fields[2].GetUInt32();
+ equipmentInfo.ItemEntry[1] = fields[3].GetUInt32();
+ equipmentInfo.ItemEntry[2] = fields[4].GetUInt32();
for (uint8 i = 0; i < MAX_EQUIPMENT_ITEMS; ++i)
{
@@ -1029,8 +1045,8 @@ void ObjectMgr::LoadEquipmentTemplates()
if (!dbcItem)
{
- sLog->outError(LOG_FILTER_SQL, "Unknown item (entry=%u) in creature_equip_template.itemEntry%u for entry = %u, forced to 0.",
- equipmentInfo.ItemEntry[i], i+1, entry);
+ sLog->outError(LOG_FILTER_SQL, "Unknown item (entry=%u) in creature_equip_template.itemEntry%u for entry = %u and id=%u, forced to 0.",
+ equipmentInfo.ItemEntry[i], i+1, entry, id);
equipmentInfo.ItemEntry[i] = 0;
continue;
}
@@ -1045,8 +1061,8 @@ void ObjectMgr::LoadEquipmentTemplates()
dbcItem->InventoryType != INVTYPE_THROWN &&
dbcItem->InventoryType != INVTYPE_RANGEDRIGHT)
{
- sLog->outError(LOG_FILTER_SQL, "Item (entry=%u) in creature_equip_template.itemEntry%u for entry = %u is not equipable in a hand, forced to 0.",
- equipmentInfo.ItemEntry[i], i+1, entry);
+ sLog->outError(LOG_FILTER_SQL, "Item (entry=%u) in creature_equip_template.itemEntry%u for entry = %u and id = %u is not equipable in a hand, forced to 0.",
+ equipmentInfo.ItemEntry[i], i+1, entry, id);
equipmentInfo.ItemEntry[i] = 0;
}
}
@@ -1405,6 +1421,92 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guidLow, uint32 linkedGuidLow)
return true;
}
+void ObjectMgr::LoadTempSummons()
+{
+ uint32 oldMSTime = getMSTime();
+
+ // 0 1 2 3 4 5 6 7 8 9
+ QueryResult result = WorldDatabase.Query("SELECT summonerId, summonerType, groupId, entry, position_x, position_y, position_z, orientation, summonType, summonTime FROM creature_summon_groups");
+
+ if (!result)
+ {
+ sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded 0 temp summons. DB table `creature_summon_groups` is empty.");
+ return;
+ }
+
+ uint32 count = 0;
+ do
+ {
+ Field* fields = result->Fetch();
+
+ uint32 summonerId = fields[0].GetUInt32();
+ SummonerType summonerType = SummonerType(fields[1].GetUInt8());
+ uint8 group = fields[2].GetUInt8();
+
+ switch (summonerType)
+ {
+ case SUMMONER_TYPE_CREATURE:
+ if (!GetCreatureTemplate(summonerId))
+ {
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has summoner with non existing entry %u for creature summoner type, skipped.", summonerId);
+ continue;
+ }
+ break;
+ case SUMMONER_TYPE_GAMEOBJECT:
+ if (!GetGameObjectTemplate(summonerId))
+ {
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has summoner with non existing entry %u for gameobject summoner type, skipped.", summonerId);
+ continue;
+ }
+ break;
+ case SUMMONER_TYPE_MAP:
+ if (!sMapStore.LookupEntry(summonerId))
+ {
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has summoner with non existing entry %u for map summoner type, skipped.", summonerId);
+ continue;
+ }
+ break;
+ default:
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has unhandled summoner type %u for summoner %u, skipped.", summonerType, summonerId);
+ continue;
+ }
+
+ TempSummonData data;
+ data.entry = fields[3].GetUInt32();
+
+ if (!GetCreatureTemplate(data.entry))
+ {
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has creature in group [Summoner ID: %u, Summoner Type: %u, Group ID: %u] with non existing creature entry %u, skipped.", summonerId, summonerType, group, data.entry);
+ continue;
+ }
+
+ float posX = fields[4].GetFloat();
+ float posY = fields[5].GetFloat();
+ float posZ = fields[6].GetFloat();
+ float orientation = fields[7].GetFloat();
+
+ data.pos.Relocate(posX, posY, posZ, orientation);
+
+ data.type = TempSummonType(fields[8].GetUInt8());
+
+ if (data.type > TEMPSUMMON_MANUAL_DESPAWN)
+ {
+ sLog->outError(LOG_FILTER_SQL, "Table `creature_summon_groups` has unhandled temp summon type %u in group [Summoner ID: %u, Summoner Type: %u, Group ID: %u] for creature entry %u, skipped.", data.type, summonerId, summonerType, group, data.entry);
+ continue;
+ }
+
+ data.time = fields[9].GetUInt32();
+
+ TempSummonGroupKey key(summonerId, summonerType, group);
+ _tempSummonDataStore[key].push_back(data);
+
+ ++count;
+
+ } while (result->NextRow());
+
+ sLog->outInfo(LOG_FILTER_SERVER_LOADING, ">> Loaded %u temp summons in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
void ObjectMgr::LoadCreatures()
{
uint32 oldMSTime = getMSTime();
@@ -1451,7 +1553,7 @@ void ObjectMgr::LoadCreatures()
data.id = entry;
data.mapid = fields[2].GetUInt16();
data.displayid = fields[3].GetUInt32();
- data.equipmentId = fields[4].GetInt32();
+ data.equipmentId = fields[4].GetInt8();
data.posX = fields[5].GetFloat();
data.posY = fields[6].GetFloat();
data.posZ = fields[7].GetFloat();
@@ -1493,13 +1595,13 @@ void ObjectMgr::LoadCreatures()
if (!ok)
continue;
- // -1 no equipment, 0 use default
- if (data.equipmentId > 0)
+ // -1 random, 0 no equipment,
+ if (data.equipmentId != 0)
{
- if (!GetEquipmentInfo(data.equipmentId))
+ if (!GetEquipmentInfo(data.id, data.equipmentId))
{
sLog->outError(LOG_FILTER_SQL, "Table `creature` have creature (Entry: %u) with equipment_id %u not found in table `creature_equip_template`, set to no equipment.", data.id, data.equipmentId);
- data.equipmentId = -1;
+ data.equipmentId = 0;
}
}
@@ -1673,7 +1775,7 @@ uint32 ObjectMgr::AddCreData(uint32 entry, uint32 /*team*/, uint32 mapId, float
data.id = entry;
data.mapid = mapId;
data.displayid = 0;
- data.equipmentId = cInfo->equipmentId;
+ data.equipmentId = 0;
data.posX = x;
data.posY = y;
data.posZ = z;
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 9339684964c..12df01fc350 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -25,6 +25,7 @@
#include "Creature.h"
#include "DynamicObject.h"
#include "GameObject.h"
+#include "TemporarySummon.h"
#include "Corpse.h"
#include "QuestDef.h"
#include "ItemPrototype.h"
@@ -416,9 +417,29 @@ struct TrinityStringLocale
StringVector Content;
};
+/// Key for storing temp summon data in TempSummonDataContainer
+struct TempSummonGroupKey
+{
+ TempSummonGroupKey(uint32 summonerEntry, SummonerType summonerType, uint8 group)
+ : _summonerEntry(summonerEntry), _summonerType(summonerType), _summonGroup(group)
+ {
+ }
+
+ bool operator<(TempSummonGroupKey const& rhs) const
+ {
+ return memcmp(this, &rhs, sizeof(TempSummonGroupKey)) < 0;
+ }
+
+private:
+ uint32 _summonerEntry; ///< Summoner's entry
+ SummonerType _summonerType; ///< Summoner's type, see SummonerType for available types
+ uint8 _summonGroup; ///< Summon's group id
+};
+
typedef std::map<uint64, uint64> LinkedRespawnContainer;
typedef UNORDERED_MAP<uint32, CreatureData> CreatureDataContainer;
typedef UNORDERED_MAP<uint32, GameObjectData> GameObjectDataContainer;
+typedef std::map<TempSummonGroupKey, std::vector<TempSummonData> > TempSummonDataContainer;
typedef UNORDERED_MAP<uint32, CreatureLocale> CreatureLocaleContainer;
typedef UNORDERED_MAP<uint32, GameObjectLocale> GameObjectLocaleContainer;
typedef UNORDERED_MAP<uint32, ItemLocale> ItemLocaleContainer;
@@ -663,7 +684,7 @@ class ObjectMgr
CreatureModelInfo const* GetCreatureModelRandomGender(uint32* displayID);
static uint32 ChooseDisplayId(uint32 team, const CreatureTemplate* cinfo, const CreatureData* data = NULL);
static void ChooseCreatureFlags(const CreatureTemplate* cinfo, uint32& npcflag, uint32& unit_flags, uint32& dynamicflags, const CreatureData* data = NULL);
- EquipmentInfo const* GetEquipmentInfo(uint32 entry);
+ EquipmentInfo const* GetEquipmentInfo(uint32 entry, int8& id);
CreatureAddon const* GetCreatureAddon(uint32 lowguid);
CreatureAddon const* GetCreatureTemplateAddon(uint32 entry);
ItemTemplate const* GetItemTemplate(uint32 entry);
@@ -876,6 +897,7 @@ class ObjectMgr
void LoadCreatureTemplates();
void LoadCreatureTemplateAddons();
void CheckCreatureTemplate(CreatureTemplate const* cInfo);
+ void LoadTempSummons();
void LoadCreatures();
void LoadLinkedRespawn();
bool SetCreatureLinkedRespawn(uint32 guid, uint32 linkedGuid);
@@ -981,6 +1003,24 @@ class ObjectMgr
return _mapObjectGuidsStore[MAKE_PAIR32(mapid, spawnMode)][cell_id];
}
+ /**
+ * Gets temp summon data for all creatures of specified group.
+ *
+ * @param summonerId Summoner's entry.
+ * @param summonerType Summoner's type, see SummonerType for available types.
+ * @param group Id of required group.
+ *
+ * @return null if group was not found, otherwise reference to the creature group data
+ */
+ std::vector<TempSummonData> const* GetSummonGroup(uint32 summonerId, SummonerType summonerType, uint8 group) const
+ {
+ TempSummonDataContainer::const_iterator itr = _tempSummonDataStore.find(TempSummonGroupKey(summonerId, summonerType, group));
+ if (itr != _tempSummonDataStore.end())
+ return &itr->second;
+
+ return NULL;
+ }
+
CreatureData const* GetCreatureData(uint32 guid) const
{
CreatureDataContainer::const_iterator itr = _creatureDataStore.find(guid);
@@ -1294,6 +1334,8 @@ class ObjectMgr
GameObjectDataContainer _gameObjectDataStore;
GameObjectLocaleContainer _gameObjectLocaleStore;
GameObjectTemplateContainer _gameObjectTemplateStore;
+ /// Stores temp summon data grouped by summoner's entry, summoner's type and group id
+ TempSummonDataContainer _tempSummonDataStore;
ItemTemplateContainer _itemTemplateStore;
ItemLocaleContainer _itemLocaleStore;
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index eb2d33c63a0..fe06c172e3f 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -634,7 +634,7 @@ void Group::ChangeLeader(uint64 guid)
if (!player)
return;
- sScriptMgr->OnGroupChangeLeader(this, m_leaderGuid, guid);
+ sScriptMgr->OnGroupChangeLeader(this, guid, m_leaderGuid);
if (!isBGGroup() && !isBFGroup())
{
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index c424e5d3ffe..a1ab1b22b08 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -983,12 +983,15 @@ void Guild::BankMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData*
void Guild::BankMoveItemData::LogAction(MoveItemData* pFrom) const
{
MoveItemData::LogAction(pFrom);
- if (!pFrom->IsBank() && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE) && !AccountMgr::IsPlayerAccount(m_pPlayer->GetSession()->GetSecurity())) // TODO: move to scripts
+ if (!pFrom->IsBank() && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE) &&
+ m_pPlayer->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE))
+ {
sLog->outCommand(m_pPlayer->GetSession()->GetAccountId(),
"GM %s (Account: %u) deposit item: %s (Entry: %d Count: %u) to guild bank (Guild ID: %u)",
m_pPlayer->GetName().c_str(), m_pPlayer->GetSession()->GetAccountId(),
pFrom->GetItem()->GetTemplate()->Name1.c_str(), pFrom->GetItem()->GetEntry(), pFrom->GetItem()->GetCount(),
m_pGuild->GetId());
+ }
}
Item* Guild::BankMoveItemData::_StoreItem(SQLTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const
@@ -1729,7 +1732,7 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount)
std::string aux = ByteArrayToHexStr(reinterpret_cast<uint8*>(&amount), 8, true);
_BroadcastEvent(GE_BANK_MONEY_CHANGED, 0, aux.c_str());
- if (!AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (player->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(player->GetSession()->GetAccountId(),
"GM %s (Account: %u) deposit money (Amount: %u) to guild bank (Guild ID %u)",
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index 6fc88f441bb..22070d4c2c2 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -245,7 +245,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
// Required stack size of auction matches to current item stack size, just move item to auctionhouse
if (itemsCount == 1 && item->GetCount() == count[i])
{
- if (GetSecurity() > SEC_PLAYER && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(GetAccountId(), "GM %s (Account: %u) create auction: %s (Entry: %u Count: %u)",
GetPlayerName().c_str(), GetAccountId(), item->GetTemplate()->Name1.c_str(), item->GetEntry(), item->GetCount());
@@ -291,7 +291,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
return;
}
- if (GetSecurity() > SEC_PLAYER && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(GetAccountId(), "GM %s (Account: %u) create auction: %s (Entry: %u Count: %u)",
GetPlayerName().c_str(), GetAccountId(), newItem->GetTemplate()->Name1.c_str(), newItem->GetEntry(), newItem->GetCount());
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp
index 9dbc4bec199..86f943cf1bf 100644
--- a/src/server/game/Handlers/CalendarHandler.cpp
+++ b/src/server/game/Handlers/CalendarHandler.cpp
@@ -57,9 +57,9 @@ void WorldSession::HandleCalendarGetCalendar(WorldPacket& /*recvData*/)
WorldPacket data(SMSG_CALENDAR_SEND_CALENDAR, 1000); // Average size if no instance
- std::vector<CalendarInvite*> invites = sCalendarMgr->GetPlayerInvites(guid);
+ CalendarInviteStore invites = sCalendarMgr->GetPlayerInvites(guid);
data << uint32(invites.size());
- for (std::vector<CalendarInvite*>::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
{
data << uint64((*itr)->GetEventId());
data << uint64((*itr)->GetInviteId());
@@ -347,9 +347,9 @@ void WorldSession::HandleCalendarCopyEvent(WorldPacket& recvData)
newEvent->SetEventTime(time_t(time));
sCalendarMgr->AddEvent(newEvent, CALENDAR_SENDTYPE_COPY);
- std::vector<CalendarInvite*> invites = sCalendarMgr->GetEventInvites(eventId);
+ CalendarInviteStore invites = sCalendarMgr->GetEventInvites(eventId);
- for (std::vector<CalendarInvite*>::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
+ for (CalendarInviteStore::const_iterator itr = invites.begin(); itr != invites.end(); ++itr)
sCalendarMgr->AddInvite(newEvent, new CalendarInvite(**itr, sCalendarMgr->GetFreeInviteId(), newEvent->GetEventId()));
// should we change owner when somebody makes a copy of event owned by another person?
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index d8e50be11f0..eb5326e8094 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -215,7 +215,7 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result)
data << num;
- _allowedCharsToLogin.clear();
+ _legitCharacters.clear();
if (result)
{
do
@@ -224,7 +224,9 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result)
sLog->outInfo(LOG_FILTER_NETWORKIO, "Loading char guid %u from account %u.", guidlow, GetAccountId());
if (Player::BuildEnumData(result, &data))
{
- _allowedCharsToLogin.insert(guidlow);
+ _legitCharacters.insert(guidlow);
+ if (!sWorld->HasCharacterNameData(guidlow)) // This can happen if characters are inserted into the database manually. Core hasn't loaded name data yet.
+ sWorld->AddCharacterNameData(guidlow, (*result)[1].GetString(), (*result)[4].GetUInt8(), (*result)[2].GetUInt8(), (*result)[3].GetUInt8(), (*result)[7].GetUInt8());
++num;
}
}
@@ -272,7 +274,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
WorldPacket data(SMSG_CHAR_CREATE, 1); // returned with diff.values in all cases
- if (AccountMgr::IsPlayerAccount(GetSecurity()))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_TEAMMASK))
{
if (uint32 mask = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_DISABLED))
{
@@ -281,13 +283,17 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
uint32 team = Player::TeamForRace(race_);
switch (team)
{
- case ALLIANCE: disabled = mask & (1 << 0); break;
- case HORDE: disabled = mask & (1 << 1); break;
+ case ALLIANCE:
+ disabled = mask & (1 << 0);
+ break;
+ case HORDE:
+ disabled = mask & (1 << 1);
+ break;
}
if (disabled)
{
- data << (uint8)CHAR_CREATE_DISABLED;
+ data << uint8(CHAR_CREATE_DISABLED);
SendPacket(&data);
return;
}
@@ -297,7 +303,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(class_);
if (!classEntry)
{
- data << (uint8)CHAR_CREATE_FAILED;
+ data << uint8(CHAR_CREATE_FAILED);
SendPacket(&data);
sLog->outError(LOG_FILTER_NETWORKIO, "Class (%u) not found in DBC while creating new char for account (ID: %u): wrong DBC files or cheater?", class_, GetAccountId());
return;
@@ -306,7 +312,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(race_);
if (!raceEntry)
{
- data << (uint8)CHAR_CREATE_FAILED;
+ data << uint8(CHAR_CREATE_FAILED);
SendPacket(&data);
sLog->outError(LOG_FILTER_NETWORKIO, "Race (%u) not found in DBC while creating new char for account (ID: %u): wrong DBC files or cheater?", race_, GetAccountId());
return;
@@ -315,7 +321,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
// prevent character creating Expansion race without Expansion account
if (raceEntry->expansion > Expansion())
{
- data << (uint8)CHAR_CREATE_EXPANSION;
+ data << uint8(CHAR_CREATE_EXPANSION);
sLog->outError(LOG_FILTER_NETWORKIO, "Expansion %u account:[%d] tried to Create character with expansion %u race (%u)", Expansion(), GetAccountId(), raceEntry->expansion, race_);
SendPacket(&data);
return;
@@ -324,13 +330,13 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
// prevent character creating Expansion class without Expansion account
if (classEntry->expansion > Expansion())
{
- data << (uint8)CHAR_CREATE_EXPANSION_CLASS;
+ data << uint8(CHAR_CREATE_EXPANSION_CLASS);
sLog->outError(LOG_FILTER_NETWORKIO, "Expansion %u account:[%d] tried to Create character with expansion %u class (%u)", Expansion(), GetAccountId(), classEntry->expansion, class_);
SendPacket(&data);
return;
}
- if (AccountMgr::IsPlayerAccount(GetSecurity()))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RACEMASK))
{
uint32 raceMaskDisabled = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK);
if ((1 << (race_ - 1)) & raceMaskDisabled)
@@ -339,7 +345,10 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
SendPacket(&data);
return;
}
+ }
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_CLASSMASK))
+ {
uint32 classMaskDisabled = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_DISABLED_CLASSMASK);
if ((1 << (class_ - 1)) & classMaskDisabled)
{
@@ -352,7 +361,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
// prevent character creating with invalid name
if (!normalizePlayerName(name))
{
- data << (uint8)CHAR_NAME_NO_NAME;
+ data << uint8(CHAR_NAME_NO_NAME);
SendPacket(&data);
sLog->outError(LOG_FILTER_NETWORKIO, "Account:[%d] but tried to Create character with empty [name] ", GetAccountId());
return;
@@ -367,29 +376,32 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData)
return;
}
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(name))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(name))
{
- data << (uint8)CHAR_NAME_RESERVED;
+ data << uint8(CHAR_NAME_RESERVED);
SendPacket(&data);
return;
}
- // speedup check for heroic class disabled case
- uint32 heroic_free_slots = sWorld->getIntConfig(CONFIG_HEROIC_CHARACTERS_PER_REALM);
- if (heroic_free_slots == 0 && AccountMgr::IsPlayerAccount(GetSecurity()) && class_ == CLASS_DEATH_KNIGHT)
+ if (class_ == CLASS_DEATH_KNIGHT && !HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_HEROIC_CHARACTER))
{
- data << (uint8)CHAR_CREATE_UNIQUE_CLASS_LIMIT;
- SendPacket(&data);
- return;
- }
+ // speedup check for heroic class disabled case
+ uint32 heroic_free_slots = sWorld->getIntConfig(CONFIG_HEROIC_CHARACTERS_PER_REALM);
+ if (heroic_free_slots == 0)
+ {
+ data << uint8(CHAR_CREATE_UNIQUE_CLASS_LIMIT);
+ SendPacket(&data);
+ return;
+ }
- // speedup check for heroic class disabled case
- uint32 req_level_for_heroic = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_HEROIC_CHARACTER);
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && class_ == CLASS_DEATH_KNIGHT && req_level_for_heroic > sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
- {
- data << (uint8)CHAR_CREATE_LEVEL_REQUIREMENT;
- SendPacket(&data);
- return;
+ // speedup check for heroic class disabled case
+ uint32 req_level_for_heroic = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_HEROIC_CHARACTER);
+ if (req_level_for_heroic > sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
+ {
+ data << uint8(CHAR_CREATE_LEVEL_REQUIREMENT);
+ SendPacket(&data);
+ return;
+ }
}
delete _charCreateCallback.GetParam(); // Delete existing if any, to make the callback chain reset to stage 0
@@ -480,7 +492,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
}
}
- bool allowTwoSideAccounts = !sWorld->IsPvPRealm() || sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ACCOUNTS) || !AccountMgr::IsPlayerAccount(GetSecurity());
+ bool allowTwoSideAccounts = !sWorld->IsPvPRealm() || sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ACCOUNTS) || HasPermission(RBAC_PERM_TWO_SIDE_CHARACTER_CREATION);
uint32 skipCinematics = sWorld->getIntConfig(CONFIG_SKIP_CINEMATICS);
_charCreateCallback.FreeResult();
@@ -504,8 +516,9 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
bool haveSameRace = false;
uint32 heroicReqLevel = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_HEROIC_CHARACTER);
bool hasHeroicReqLevel = (heroicReqLevel == 0);
- bool allowTwoSideAccounts = !sWorld->IsPvPRealm() || sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ACCOUNTS) || !AccountMgr::IsPlayerAccount(GetSecurity());
+ bool allowTwoSideAccounts = !sWorld->IsPvPRealm() || sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ACCOUNTS) || HasPermission(RBAC_PERM_TWO_SIDE_CHARACTER_CREATION);
uint32 skipCinematics = sWorld->getIntConfig(CONFIG_SKIP_CINEMATICS);
+ bool checkHeroicReqs = createInfo->Class == CLASS_DEATH_KNIGHT && !HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_HEROIC_CHARACTER);
if (result)
{
@@ -515,7 +528,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
Field* field = result->Fetch();
uint8 accRace = field[1].GetUInt8();
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && createInfo->Class == CLASS_DEATH_KNIGHT)
+ if (checkHeroicReqs)
{
uint8 accClass = field[2].GetUInt8();
if (accClass == CLASS_DEATH_KNIGHT)
@@ -574,7 +587,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
if (!haveSameRace)
haveSameRace = createInfo->Race == accRace;
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && createInfo->Class == CLASS_DEATH_KNIGHT)
+ if (checkHeroicReqs)
{
uint8 acc_class = field[2].GetUInt8();
if (acc_class == CLASS_DEATH_KNIGHT)
@@ -603,7 +616,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, Characte
}
}
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && createInfo->Class == CLASS_DEATH_KNIGHT && !hasHeroicReqLevel)
+ if (checkHeroicReqs && !hasHeroicReqLevel)
{
WorldPacket data(SMSG_CHAR_CREATE, 1);
data << uint8(CHAR_CREATE_LEVEL_REQUIREMENT);
@@ -725,7 +738,7 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData)
std::string IP_str = GetRemoteAddress();
sLog->outInfo(LOG_FILTER_CHARACTER, "Account: %d, IP: %s deleted character: %s, GUID: %u, Level: %u", accountId, IP_str.c_str(), name.c_str(), GUID_LOPART(guid), level);
sScriptMgr->OnPlayerDelete(guid);
- sWorld->DeleteCharaceterNameData(GUID_LOPART(guid));
+ sWorld->DeleteCharacterNameData(GUID_LOPART(guid));
if (sLog->ShouldLog(LOG_FILTER_PLAYER_DUMP, LOG_LEVEL_INFO)) // optimize GetPlayerDump call
{
@@ -757,7 +770,7 @@ void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recvData)
recvData >> playerGuid;
- if (!CharCanLogin(GUID_LOPART(playerGuid)))
+ if (!IsLegitCharacterForAccount(GUID_LOPART(playerGuid)))
{
sLog->outError(LOG_FILTER_NETWORKIO, "Account (%u) can't login with that character (%u).", GetAccountId(), GUID_LOPART(playerGuid));
KickPlayer();
@@ -1120,7 +1133,7 @@ void WorldSession::HandleCharRenameOpcode(WorldPacket& recvData)
}
// check name limitations
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(newName))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(newName))
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
data << uint8(CHAR_NAME_RESERVED);
@@ -1384,6 +1397,15 @@ void WorldSession::HandleCharCustomize(WorldPacket& recvData)
std::string newName;
recvData >> guid;
+ if (!IsLegitCharacterForAccount(GUID_LOPART(guid)))
+ {
+ sLog->outError(LOG_FILTER_NETWORKIO, "Account %u, IP: %s tried to customise character %u, but it does not belong to their account!",
+ GetAccountId(), GetRemoteAddress().c_str(), GUID_LOPART(guid));
+ recvData.rfinish();
+ KickPlayer();
+ return;
+ }
+
recvData >> newName;
uint8 gender, skin, face, hairStyle, hairColor, facialHair;
@@ -1392,7 +1414,7 @@ void WorldSession::HandleCharCustomize(WorldPacket& recvData)
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_AT_LOGIN);
stmt->setUInt32(0, GUID_LOPART(guid));
-
+ // TODO: Make async with callback
PreparedQueryResult result = CharacterDatabase.Query(stmt);
if (!result)
@@ -1433,7 +1455,7 @@ void WorldSession::HandleCharCustomize(WorldPacket& recvData)
}
// check name limitations
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(newName))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(newName))
{
WorldPacket data(SMSG_CHAR_CUSTOMIZE, 1);
data << uint8(CHAR_NAME_RESERVED);
@@ -1617,6 +1639,16 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
std::string newname;
uint8 gender, skin, face, hairStyle, hairColor, facialHair, race;
recvData >> guid;
+
+ if (!IsLegitCharacterForAccount(GUID_LOPART(guid)))
+ {
+ sLog->outError(LOG_FILTER_NETWORKIO, "Account %u, IP: %s tried to factionchange character %u, but it does not belong to their account!",
+ GetAccountId(), GetRemoteAddress().c_str(), GUID_LOPART(guid));
+ recvData.rfinish();
+ KickPlayer();
+ return;
+ }
+
recvData >> newname;
recvData >> gender >> skin >> hairColor >> hairStyle >> facialHair >> face >> race;
@@ -1624,6 +1656,14 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
// get the players old (at this moment current) race
CharacterNameData const* nameData = sWorld->GetCharacterNameData(lowGuid);
+ if (!nameData)
+ {
+ WorldPacket data(SMSG_CHAR_FACTION_CHANGE, 1);
+ data << uint8(CHAR_CREATE_ERROR);
+ SendPacket(&data);
+ return;
+ }
+
uint8 oldRace = nameData->m_race;
uint8 playerClass = nameData->m_class;
uint8 level = nameData->m_level;
@@ -1661,7 +1701,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
return;
}
- if (AccountMgr::IsPlayerAccount(GetSecurity()))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RACEMASK))
{
uint32 raceMaskDisabled = sWorld->getIntConfig(CONFIG_CHARACTER_CREATING_DISABLED_RACEMASK);
if ((1 << (race - 1)) & raceMaskDisabled)
@@ -1692,7 +1732,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
}
// check name limitations
- if (AccountMgr::IsPlayerAccount(GetSecurity()) && sObjectMgr->IsReservedName(newname))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(newname))
{
WorldPacket data(SMSG_CHAR_FACTION_CHANGE, 1);
data << uint8(CHAR_NAME_RESERVED);
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index d04d365504d..efb3a3b6d7c 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -273,20 +273,22 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
}
Player* receiver = sObjectAccessor->FindPlayerByName(to);
- bool senderIsPlayer = AccountMgr::IsPlayerAccount(GetSecurity());
- bool receiverIsPlayer = AccountMgr::IsPlayerAccount(receiver ? receiver->GetSession()->GetSecurity() : SEC_PLAYER);
- if (!receiver || (senderIsPlayer && !receiverIsPlayer && !receiver->isAcceptWhispers() && !receiver->IsInWhisperWhiteList(sender->GetGUID())))
+ if (!receiver || (!HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) &&
+ receiver->GetSession()->HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) &&
+ !receiver->isAcceptWhispers() && !receiver->IsInWhisperWhiteList(sender->GetGUID())))
{
SendPlayerNotFoundNotice(to);
return;
}
- if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT) && senderIsPlayer && receiverIsPlayer)
- if (GetPlayer()->GetTeam() != receiver->GetTeam())
- {
- SendWrongFactionNotice();
- return;
- }
+ if (GetPlayer()->GetTeam() != receiver->GetTeam() &&
+ (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT) ||
+ !HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHAT) ||
+ !receiver->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHAT)))
+ {
+ SendWrongFactionNotice();
+ return;
+ }
if (GetPlayer()->HasAura(1852) && !receiver->isGameMaster())
{
@@ -295,7 +297,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
}
// If player is a Gamemaster and doesn't accept whisper, we auto-whitelist every player that the Gamemaster is talking to
- if (!senderIsPlayer && !sender->isAcceptWhispers() && !sender->IsInWhisperWhiteList(receiver->GetGUID()))
+ if (HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) && !sender->isAcceptWhispers() && !sender->IsInWhisperWhiteList(receiver->GetGUID()))
sender->AddWhisperWhiteList(receiver->GetGUID());
GetPlayer()->Whisper(msg, lang, receiver->GetGUID());
@@ -420,7 +422,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
} break;
case CHAT_MSG_CHANNEL:
{
- if (AccountMgr::IsPlayerAccount(GetSecurity()))
+ if (!HasPermission(RBAC_PERM_SKIP_CHECK_CHAT_CHANNEL_REQ))
{
if (_player->getLevel() < sWorld->getIntConfig(CONFIG_CHAT_CHANNEL_LEVEL_REQ))
{
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp
index 14b6df23061..3cdd3d854a1 100644
--- a/src/server/game/Handlers/MailHandler.cpp
+++ b/src/server/game/Handlers/MailHandler.cpp
@@ -32,23 +32,16 @@
void WorldSession::HandleSendMail(WorldPacket& recvData)
{
uint64 mailbox, unk3;
- std::string receiver, subject, body;
+ std::string receiverName, subject, body;
uint32 unk1, unk2, money, COD;
uint8 unk4;
- recvData >> mailbox;
- recvData >> receiver;
-
- recvData >> subject;
-
- recvData >> body;
-
- recvData >> unk1; // stationery?
- recvData >> unk2; // 0x00000000
-
uint8 items_count;
- recvData >> items_count; // attached items count
+ recvData >> mailbox >> receiverName >> subject >> body
+ >> unk1 // stationery?
+ >> unk2 // 0x00000000
+ >> items_count; // attached items count
- if (items_count > MAX_MAIL_ITEMS) // client limit
+ if (items_count > MAX_MAIL_ITEMS) // client limit
{
GetPlayer()->SendMailResult(0, MAIL_SEND, MAIL_ERR_TOO_MANY_ATTACHMENTS);
recvData.rfinish(); // set to end to avoid warnings spam
@@ -72,7 +65,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
if (!GetPlayer()->GetGameObjectIfCanInteractWith(mailbox, GAMEOBJECT_TYPE_MAILBOX))
return;
- if (receiver.empty())
+ if (receiverName.empty())
return;
Player* player = _player;
@@ -83,21 +76,26 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
return;
}
- uint64 rc = 0;
- if (normalizePlayerName(receiver))
- rc = sObjectMgr->GetPlayerGUIDByName(receiver);
+ uint64 receiverGuid = 0;
+ if (normalizePlayerName(receiverName))
+ receiverGuid = sObjectMgr->GetPlayerGUIDByName(receiverName);
- if (!rc)
+ if (!receiverGuid)
{
- sLog->outInfo(LOG_FILTER_NETWORKIO, "Player %u is sending mail to %s (GUID: not existed!) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u",
- player->GetGUIDLow(), receiver.c_str(), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+ sLog->outInfo(LOG_FILTER_NETWORKIO, "Player %u is sending mail to %s (GUID: not existed!) with subject %s "
+ "and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u",
+ player->GetGUIDLow(), receiverName.c_str(), subject.c_str(), body.c_str(),
+ items_count, money, COD, unk1, unk2);
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_RECIPIENT_NOT_FOUND);
return;
}
- sLog->outInfo(LOG_FILTER_NETWORKIO, "Player %u is sending mail to %s (GUID: %u) with subject %s and body %s includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u", player->GetGUIDLow(), receiver.c_str(), GUID_LOPART(rc), subject.c_str(), body.c_str(), items_count, money, COD, unk1, unk2);
+ sLog->outInfo(LOG_FILTER_NETWORKIO, "Player %u is sending mail to %s (GUID: %u) with subject %s and body %s "
+ "includes %u items, %u copper and %u COD copper with unk1 = %u, unk2 = %u",
+ player->GetGUIDLow(), receiverName.c_str(), GUID_LOPART(receiverGuid), subject.c_str(),
+ body.c_str(), items_count, money, COD, unk1, unk2);
- if (player->GetGUID() == rc)
+ if (player->GetGUID() == receiverGuid)
{
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_CANNOT_SEND_TO_SELF);
return;
@@ -113,58 +111,62 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
return;
}
- Player* receive = ObjectAccessor::FindPlayer(rc);
+ Player* receiver = ObjectAccessor::FindPlayer(receiverGuid);
- uint32 rc_team = 0;
- uint8 mails_count = 0; //do not allow to send to one player more than 100 mails
- uint8 receiveLevel = 0;
+ uint32 receiverTeam = 0;
+ uint8 mailsCount = 0; //do not allow to send to one player more than 100 mails
+ uint8 receiverLevel = 0;
+ uint32 receiverAccountId = 0;
+ bool canReceiveMailFromOtherFaction = false;
- if (receive)
+ if (receiver)
{
- rc_team = receive->GetTeam();
- mails_count = receive->GetMailSize();
- receiveLevel = receive->getLevel();
+ receiverTeam = receiver->GetTeam();
+ mailsCount = receiver->GetMailSize();
+ receiverLevel = receiver->getLevel();
+ receiverAccountId = receiver->GetSession()->GetAccountId();
+ canReceiveMailFromOtherFaction = receiver->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_MAIL);
}
else
{
- rc_team = sObjectMgr->GetPlayerTeamByGUID(rc);
+ receiverTeam = sObjectMgr->GetPlayerTeamByGUID(receiverGuid);
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_MAIL_COUNT);
-
- stmt->setUInt32(0, GUID_LOPART(rc));
+ stmt->setUInt32(0, GUID_LOPART(receiverGuid));
PreparedQueryResult result = CharacterDatabase.Query(stmt);
-
if (result)
{
Field* fields = result->Fetch();
- mails_count = fields[0].GetUInt64();
+ mailsCount = fields[0].GetUInt64();
}
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_LEVEL);
-
- stmt->setUInt32(0, GUID_LOPART(rc));
+ stmt->setUInt32(0, GUID_LOPART(receiverGuid));
result = CharacterDatabase.Query(stmt);
-
if (result)
{
Field* fields = result->Fetch();
- receiveLevel = fields[0].GetUInt8();
+ receiverLevel = fields[0].GetUInt8();
}
+
+ receiverAccountId = sObjectMgr->GetPlayerAccountIdByGUID(receiverGuid);
+ canReceiveMailFromOtherFaction = AccountMgr::HasPermission(receiverAccountId, RBAC_PERM_TWO_SIDE_INTERACTION_MAIL, realmID);
}
- //do not allow to have more than 100 mails in mailbox.. mails count is in opcode uint8!!! - so max can be 255..
- if (mails_count > 100)
+
+ // do not allow to have more than 100 mails in mailbox.. mails count is in opcode uint8!!! - so max can be 255..
+ if (mailsCount > 100)
{
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_RECIPIENT_CAP_REACHED);
return;
}
+
// test the receiver's Faction... or all items are account bound
bool accountBound = items_count ? true : false;
for (uint8 i = 0; i < items_count; ++i)
{
- Item* item = player->GetItemByGuid(itemGUIDs[i]);
- if (item)
+ if (Item* item = player->GetItemByGuid(itemGUIDs[i]))
{
ItemTemplate const* itemProto = item->GetTemplate();
if (!itemProto || !(itemProto->Flags & ITEM_PROTO_FLAG_BIND_TO_ACCOUNT))
@@ -175,22 +177,21 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
}
}
- if (!accountBound && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_MAIL) && player->GetTeam() != rc_team && AccountMgr::IsPlayerAccount(GetSecurity()))
+ if (!accountBound && player->GetTeam() != receiverTeam && // Sender and reciver are from different faction
+ (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_MAIL) || // Config not enabled
+ !HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_MAIL) || // Sender cant mail interact with the other faction
+ !canReceiveMailFromOtherFaction)) // Receiver cant mail interact with the other faction
{
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_NOT_YOUR_TEAM);
return;
}
- if (receiveLevel < sWorld->getIntConfig(CONFIG_MAIL_LEVEL_REQ))
+ if (receiverLevel < sWorld->getIntConfig(CONFIG_MAIL_LEVEL_REQ))
{
SendNotification(GetTrinityString(LANG_MAIL_RECEIVER_REQ), sWorld->getIntConfig(CONFIG_MAIL_LEVEL_REQ));
return;
}
- uint32 rc_account = receive
- ? receive->GetSession()->GetAccountId()
- : sObjectMgr->GetPlayerAccountIdByGUID(rc);
-
Item* items[MAX_MAIL_ITEMS];
for (uint8 i = 0; i < items_count; ++i)
@@ -216,7 +217,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
return;
}
- if (item->IsBoundAccountWide() && item->IsSoulBound() && player->GetSession()->GetAccountId() != rc_account)
+ if (item->IsBoundAccountWide() && item->IsSoulBound() && player->GetSession()->GetAccountId() != receiverAccountId)
{
player->SendMailResult(0, MAIL_SEND, MAIL_ERR_EQUIP_ERROR, EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS);
return;
@@ -256,35 +257,38 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
if (items_count > 0 || money > 0)
{
+ bool log = sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE) && HasPermission(RBAC_PERM_LOG_GM_TRADE);
if (items_count > 0)
{
for (uint8 i = 0; i < items_count; ++i)
{
Item* item = items[i];
- if (!AccountMgr::IsPlayerAccount(GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (log)
{
- sLog->outCommand(GetAccountId(), "GM %s (Account: %u) mail item: %s (Entry: %u Count: %u) to player: %s (Account: %u)",
- GetPlayerName().c_str(), GetAccountId(), item->GetTemplate()->Name1.c_str(), item->GetEntry(), item->GetCount(), receiver.c_str(), rc_account);
+ sLog->outCommand(GetAccountId(), "GM %s (Account: %u) mail item: %s (Entry: %u Count: %u) "
+ "to player: %s (Account: %u)", GetPlayerName().c_str(), GetAccountId(),
+ item->GetTemplate()->Name1.c_str(), item->GetEntry(), item->GetCount(),
+ receiverName.c_str(), receiverAccountId);
}
item->SetNotRefundable(GetPlayer()); // makes the item no longer refundable
player->MoveItemFromInventory(items[i]->GetBagSlot(), item->GetSlot(), true);
item->DeleteFromInventoryDB(trans); // deletes item from character's inventory
- item->SetOwnerGUID(rc);
+ item->SetOwnerGUID(receiverGuid);
item->SaveToDB(trans); // recursive and not have transaction guard into self, item not in inventory and can be save standalone
draft.AddItem(item);
}
// if item send to character at another account, then apply item delivery delay
- needItemDelay = player->GetSession()->GetAccountId() != rc_account;
+ needItemDelay = player->GetSession()->GetAccountId() != receiverAccountId;
}
- if (money > 0 && !AccountMgr::IsPlayerAccount(GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (log && money > 0)
{
sLog->outCommand(GetAccountId(), "GM %s (Account: %u) mail money: %u to player: %s (Account: %u)",
- GetPlayerName().c_str(), GetAccountId(), money, receiver.c_str(), rc_account);
+ GetPlayerName().c_str(), GetAccountId(), money, receiverName.c_str(), receiverAccountId);
}
}
@@ -295,7 +299,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData)
draft
.AddMoney(money)
.AddCOD(COD)
- .SendMailTo(trans, MailReceiver(receive, GUID_LOPART(rc)), MailSender(player), body.empty() ? MAIL_CHECK_MASK_COPIED : MAIL_CHECK_MASK_HAS_BODY, deliver_delay);
+ .SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), MailSender(player), body.empty() ? MAIL_CHECK_MASK_COPIED : MAIL_CHECK_MASK_HAS_BODY, deliver_delay);
player->SaveInventoryAndGoldToDB(trans);
CharacterDatabase.CommitTransaction(trans);
@@ -458,17 +462,17 @@ void WorldSession::HandleMailTakeItem(WorldPacket& recvData)
if (m->COD > 0) //if there is COD, take COD money from player and send them to sender by mail
{
uint64 sender_guid = MAKE_NEW_GUID(m->sender, 0, HIGHGUID_PLAYER);
- Player* receive = ObjectAccessor::FindPlayer(sender_guid);
+ Player* receiver = ObjectAccessor::FindPlayer(sender_guid);
uint32 sender_accId = 0;
- if (!AccountMgr::IsPlayerAccount(GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
std::string sender_name;
- if (receive)
+ if (receiver)
{
- sender_accId = receive->GetSession()->GetAccountId();
- sender_name = receive->GetName();
+ sender_accId = receiver->GetSession()->GetAccountId();
+ sender_name = receiver->GetName();
}
else
{
@@ -478,18 +482,18 @@ void WorldSession::HandleMailTakeItem(WorldPacket& recvData)
if (!sObjectMgr->GetPlayerNameByGUID(sender_guid, sender_name))
sender_name = sObjectMgr->GetTrinityStringForDBCLocale(LANG_UNKNOWN);
}
- sLog->outCommand(GetAccountId(), "GM %s (Account: %u) receive mail item: %s (Entry: %u Count: %u) and send COD money: %u to player: %s (Account: %u)",
+ sLog->outCommand(GetAccountId(), "GM %s (Account: %u) receiver mail item: %s (Entry: %u Count: %u) and send COD money: %u to player: %s (Account: %u)",
GetPlayerName().c_str(), GetAccountId(), it->GetTemplate()->Name1.c_str(), it->GetEntry(), it->GetCount(), m->COD, sender_name.c_str(), sender_accId);
}
- else if (!receive)
+ else if (!receiver)
sender_accId = sObjectMgr->GetPlayerAccountIdByGUID(sender_guid);
// check player existence
- if (receive || sender_accId)
+ if (receiver || sender_accId)
{
MailDraft(m->subject, "")
.AddMoney(m->COD)
- .SendMailTo(trans, MailReceiver(receive, m->sender), MailSender(MAIL_NORMAL, m->receiver), MAIL_CHECK_MASK_COD_PAYMENT);
+ .SendMailTo(trans, MailReceiver(receiver, m->sender), MailSender(MAIL_NORMAL, m->receiver), MAIL_CHECK_MASK_COD_PAYMENT);
}
player->ModifyMoney(-int32(m->COD));
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 6272f42ec8c..3864acb8f88 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -241,7 +241,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
level_max = STRONG_MAX_LEVEL;
uint32 team = _player->GetTeam();
- uint32 security = GetSecurity();
+
bool allowTwoSideWhoList = sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_WHO_LIST);
uint32 gmLevelInWhoList = sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_WHO_LIST);
uint32 displaycount = 0;
@@ -254,42 +254,40 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
HashMapHolder<Player>::MapType const& m = sObjectAccessor->GetPlayers();
for (HashMapHolder<Player>::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr)
{
- if (AccountMgr::IsPlayerAccount(security))
- {
- // player can see member of other team only if CONFIG_ALLOW_TWO_SIDE_WHO_LIST
- if (itr->second->GetTeam() != team && !allowTwoSideWhoList)
- continue;
+ Player* target = itr->second;
+ // player can see member of other team only if CONFIG_ALLOW_TWO_SIDE_WHO_LIST
+ if (target->GetTeam() != team && !allowTwoSideWhoList && !HasPermission(RBAC_PERM_TWO_SIDE_WHO_LIST))
+ continue;
- // player can see MODERATOR, GAME MASTER, ADMINISTRATOR only if CONFIG_GM_IN_WHO_LIST
- if ((itr->second->GetSession()->GetSecurity() > AccountTypes(gmLevelInWhoList)))
- continue;
- }
+ // player can see MODERATOR, GAME MASTER, ADMINISTRATOR only if CONFIG_GM_IN_WHO_LIST
+ if (!HasPermission(RBAC_PERM_WHO_SEE_ALL_SEC_LEVELS) && target->GetSession()->GetSecurity() > AccountTypes(gmLevelInWhoList))
+ continue;
- //do not process players which are not in world
- if (!(itr->second->IsInWorld()))
+ // do not process players which are not in world
+ if (!target->IsInWorld())
continue;
// check if target is globally visible for player
- if (!(itr->second->IsVisibleGloballyFor(_player)))
+ if (!target->IsVisibleGloballyFor(_player))
continue;
// check if target's level is in level range
- uint8 lvl = itr->second->getLevel();
+ uint8 lvl = target->getLevel();
if (lvl < level_min || lvl > level_max)
continue;
// check if class matches classmask
- uint32 class_ = itr->second->getClass();
+ uint8 class_ = target->getClass();
if (!(classmask & (1 << class_)))
continue;
// check if race matches racemask
- uint32 race = itr->second->getRace();
+ uint32 race = target->getRace();
if (!(racemask & (1 << race)))
continue;
- uint32 pzoneid = itr->second->GetZoneId();
- uint8 gender = itr->second->getGender();
+ uint32 pzoneid = target->GetZoneId();
+ uint8 gender = target->getGender();
bool z_show = true;
for (uint32 i = 0; i < zones_count; ++i)
@@ -305,7 +303,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
if (!z_show)
continue;
- std::string pname = itr->second->GetName();
+ std::string pname = target->GetName();
std::wstring wpname;
if (!Utf8toWStr(pname, wpname))
continue;
@@ -314,7 +312,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
if (!(wplayer_name.empty() || wpname.find(wplayer_name) != std::wstring::npos))
continue;
- std::string gname = sGuildMgr->GetGuildNameById(itr->second->GetGuildId());
+ std::string gname = sGuildMgr->GetGuildNameById(target->GetGuildId());
std::wstring wgname;
if (!Utf8toWStr(gname, wgname))
continue;
@@ -324,7 +322,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData)
continue;
std::string aname;
- if (AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(itr->second->GetZoneId()))
+ if (AreaTableEntry const* areaEntry = GetAreaEntryByAreaID(pzoneid))
aname = areaEntry->area_name[GetSessionDbcLocale()];
bool s_show = true;
@@ -375,33 +373,34 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recvData*/)
if (uint64 lguid = GetPlayer()->GetLootGUID())
DoLootRelease(lguid);
- uint8 reason = 0;
+ bool instantLogout = (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) && !GetPlayer()->isInCombat()) ||
+ GetPlayer()->isInFlight() || HasPermission(RBAC_PERM_INSTANT_LOGOUT);
+
+ /// TODO: Possibly add RBAC permission to log out in combat
+ bool canLogoutInCombat = GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING);
- if (GetPlayer()->isInCombat())
+ uint32 reason = 0;
+ if (GetPlayer()->isInCombat() && !canLogoutInCombat)
reason = 1;
else if (GetPlayer()->m_movementInfo.HasMovementFlag(MOVEMENTFLAG_FALLING | MOVEMENTFLAG_FALLING_FAR))
reason = 3; // is jumping or falling
else if (GetPlayer()->duel || GetPlayer()->HasAura(9454)) // is dueling or frozen by GM via freeze command
reason = 2; // FIXME - Need the correct value
+ WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4);
+ data << uint32(reason);
+ data << uint8(instantLogout);
+ SendPacket(&data);
+
if (reason)
{
- WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4);
- data << uint8(reason);
- data << uint32(0);
- SendPacket(&data);
LogoutRequest(0);
return;
}
//instant logout in taverns/cities or on taxi or for admins, gm's, mod's if its enabled in worldserver.conf
- if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) || GetPlayer()->isInFlight() ||
- HasPermission(RBAC_PERM_INSTANT_LOGOUT))
+ if (instantLogout)
{
- WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4);
- data << uint8(0);
- data << uint32(16777216);
- SendPacket(&data);
LogoutPlayer(true);
return;
}
@@ -418,10 +417,6 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recvData*/)
GetPlayer()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
}
- WorldPacket data(SMSG_LOGOUT_RESPONSE, 1+4);
- data << uint8(0);
- data << uint32(0);
- SendPacket(&data);
LogoutRequest(time(NULL));
}
@@ -578,13 +573,14 @@ void WorldSession::HandleAddFriendOpcodeCallBack(PreparedQueryResult result, std
team = Player::TeamForRace(fields[1].GetUInt8());
friendAccountId = fields[2].GetUInt32();
- if (!AccountMgr::IsPlayerAccount(GetSecurity()) || sWorld->getBoolConfig(CONFIG_ALLOW_GM_FRIEND) || AccountMgr::IsPlayerAccount(AccountMgr::GetSecurity(friendAccountId, realmID)))
+ if (HasPermission(RBAC_PERM_ALLOW_GM_FRIEND) || sWorld->getBoolConfig(CONFIG_ALLOW_GM_FRIEND) ||
+ AccountMgr::IsPlayerAccount(AccountMgr::GetSecurity(friendAccountId, realmID)))
{
if (friendGuid)
{
if (friendGuid == GetPlayer()->GetGUID())
friendResult = FRIEND_SELF;
- else if (GetPlayer()->GetTeam() != team && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ADD_FRIEND) && AccountMgr::IsPlayerAccount(GetSecurity()))
+ else if (GetPlayer()->GetTeam() != team && !sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_ADD_FRIEND) && !HasPermission(RBAC_PERM_TWO_SIDE_ADD_FRIEND))
friendResult = FRIEND_ENEMY;
else if (GetPlayer()->GetSocial()->HasFriend(GUID_LOPART(friendGuid)))
friendResult = FRIEND_ALREADY;
@@ -1251,7 +1247,7 @@ void WorldSession::HandleWorldTeleportOpcode(WorldPacket& recvData)
sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_WORLD_TELEPORT: Player = %s, Time = %u, map = %u, x = %f, y = %f, z = %f, o = %f",
GetPlayer()->GetName().c_str(), time, mapid, PositionX, PositionY, PositionZ, Orientation);
- if (AccountMgr::IsAdminAccount(GetSecurity()))
+ if (HasPermission(RBAC_PERM_OPCODE_WORLD_TELEPORT))
GetPlayer()->TeleportTo(mapid, PositionX, PositionY, PositionZ, Orientation);
else
SendNotification(LANG_YOU_NOT_HAVE_PERMISSION);
@@ -1263,7 +1259,7 @@ void WorldSession::HandleWhoisOpcode(WorldPacket& recvData)
std::string charname;
recvData >> charname;
- if (!AccountMgr::IsAdminAccount(GetSecurity()))
+ if (HasPermission(RBAC_PERM_OPCODE_WHOIS))
{
SendNotification(LANG_YOU_NOT_HAVE_PERMISSION);
return;
@@ -1587,8 +1583,7 @@ void WorldSession::HandleCancelMountAuraOpcode(WorldPacket& /*recvData*/)
return;
}
- _player->Dismount();
- _player->RemoveAurasByType(SPELL_AURA_MOUNTED);
+ _player->RemoveAurasByType(SPELL_AURA_MOUNTED); // Calls Dismount()
}
void WorldSession::HandleMoveSetCanFlyAckOpcode(WorldPacket& recvData)
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index bb31b5c1dc8..7fbb68b70f8 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -152,7 +152,7 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
{
// logging
sLog->outDebug(LOG_FILTER_NETWORKIO, "partner storing: %u", myItems[i]->GetGUIDLow());
- if (!AccountMgr::IsPlayerAccount(_player->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(_player->GetSession()->GetAccountId(), "GM %s (Account: %u) trade: %s (Entry: %d Count: %u) to player: %s (Account: %u)",
_player->GetName().c_str(), _player->GetSession()->GetAccountId(),
@@ -170,7 +170,7 @@ void WorldSession::moveItems(Item* myItems[], Item* hisItems[])
{
// logging
sLog->outDebug(LOG_FILTER_NETWORKIO, "player storing: %u", hisItems[i]->GetGUIDLow());
- if (!AccountMgr::IsPlayerAccount(trader->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(trader->GetSession()->GetAccountId(), "GM %s (Account: %u) trade: %s (Entry: %d Count: %u) to player: %s (Account: %u)",
trader->GetName().c_str(), trader->GetSession()->GetAccountId(),
@@ -473,16 +473,17 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
moveItems(myItems, hisItems);
// logging money
- if (sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
- if (!AccountMgr::IsPlayerAccount(_player->GetSession()->GetSecurity()) && my_trade->GetMoney() > 0)
+ if (my_trade->GetMoney() > 0)
{
sLog->outCommand(_player->GetSession()->GetAccountId(), "GM %s (Account: %u) give money (Amount: %u) to player: %s (Account: %u)",
_player->GetName().c_str(), _player->GetSession()->GetAccountId(),
my_trade->GetMoney(),
trader->GetName().c_str(), trader->GetSession()->GetAccountId());
}
- if (!AccountMgr::IsPlayerAccount(trader->GetSession()->GetSecurity()) && his_trade->GetMoney() > 0)
+
+ if (his_trade->GetMoney() > 0)
{
sLog->outCommand(trader->GetSession()->GetAccountId(), "GM %s (Account: %u) give money (Amount: %u) to player: %s (Account: %u)",
trader->GetName().c_str(), trader->GetSession()->GetAccountId(),
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp
index 128cf358557..56e72a10930 100644
--- a/src/server/game/Loot/LootMgr.cpp
+++ b/src/server/game/Loot/LootMgr.cpp
@@ -52,16 +52,27 @@ LootStore LootTemplates_Reference("reference_loot_template", "reference
LootStore LootTemplates_Skinning("skinning_loot_template", "creature skinning id", true);
LootStore LootTemplates_Spell("spell_loot_template", "spell id (random item creating)", false);
-struct NotMatchingLootMode : public std::unary_function<LootStoreItem*, bool>
+// Selects invalid loot items to be removed from group possible entries (before rolling)
+struct LootGroupInvalidSelector : public std::unary_function<LootStoreItem*, bool>
{
- explicit NotMatchingLootMode(uint16 lootMode) : _lootMode(lootMode) { }
+ explicit LootGroupInvalidSelector(Loot const& loot, uint16 lootMode) : _loot(loot), _lootMode(lootMode) { }
bool operator()(LootStoreItem* item) const
{
- return !(item->lootmode & _lootMode);
+ if (!(item->lootmode & _lootMode))
+ return true;
+
+ uint8 foundDuplicates = 0;
+ for (std::vector<LootItem>::const_iterator itr = _loot.items.begin(); itr != _loot.items.end(); ++itr)
+ if (itr->itemid == item->itemid)
+ if (++foundDuplicates == _loot.maxDuplicates)
+ return true;
+
+ return false;
}
private:
+ Loot const& _loot;
uint16 _lootMode;
};
@@ -89,7 +100,7 @@ class LootTemplate::LootGroup // A set of loot def
LootStoreItemList ExplicitlyChanced; // Entries with chances defined in DB
LootStoreItemList EqualChanced; // Zero chances - every entry takes the same chance
- LootStoreItem const* Roll(uint16 lootMode) const; // Rolls an item from the group, returns NULL if all miss their chances
+ LootStoreItem const* Roll(Loot& loot, uint16 lootMode) const; // Rolls an item from the group, returns NULL if all miss their chances
// This class must never be copied - storing pointers
LootGroup(LootGroup const&);
@@ -1076,10 +1087,10 @@ void LootTemplate::LootGroup::AddEntry(LootStoreItem* item)
}
// Rolls an item from the group, returns NULL if all miss their chances
-LootStoreItem const* LootTemplate::LootGroup::Roll(uint16 lootMode) const
+LootStoreItem const* LootTemplate::LootGroup::Roll(Loot& loot, uint16 lootMode) const
{
LootStoreItemList possibleLoot = ExplicitlyChanced;
- possibleLoot.remove_if(NotMatchingLootMode(lootMode));
+ possibleLoot.remove_if(LootGroupInvalidSelector(loot, lootMode));
if (!possibleLoot.empty()) // First explicitly chanced entries are checked
{
@@ -1098,7 +1109,7 @@ LootStoreItem const* LootTemplate::LootGroup::Roll(uint16 lootMode) const
}
possibleLoot = EqualChanced;
- possibleLoot.remove_if(NotMatchingLootMode(lootMode));
+ possibleLoot.remove_if(LootGroupInvalidSelector(loot, lootMode));
if (!possibleLoot.empty()) // If nothing selected yet - an item is taken from equal-chanced part
return Trinity::Containers::SelectRandomContainerElement(possibleLoot);
@@ -1145,7 +1156,7 @@ void LootTemplate::LootGroup::CopyConditions(ConditionList /*conditions*/)
// Rolls an item from the group (if any takes its chance) and adds the item to the loot
void LootTemplate::LootGroup::Process(Loot& loot, uint16 lootMode) const
{
- if (LootStoreItem const* item = Roll(lootMode))
+ if (LootStoreItem const* item = Roll(loot, lootMode))
loot.AddItem(*item);
}
@@ -1285,7 +1296,7 @@ void LootTemplate::Process(Loot& loot, bool rate, uint16 lootMode, uint8 groupId
for (LootStoreItemList::const_iterator i = Entries.begin(); i != Entries.end(); ++i)
{
LootStoreItem* item = *i;
- if (item->lootmode &~ lootMode) // Do not add if mode mismatch
+ if (!(item->lootmode & lootMode)) // Do not add if mode mismatch
continue;
if (!item->Roll(rate))
@@ -1294,7 +1305,6 @@ void LootTemplate::Process(Loot& loot, bool rate, uint16 lootMode, uint8 groupId
if (item->mincountOrRef < 0) // References processing
{
LootTemplate const* Referenced = LootTemplates_Reference.GetLootFor(-item->mincountOrRef);
-
if (!Referenced)
continue; // Error message already printed at loading stage
diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h
index df2717ee36e..5c858a35242 100644
--- a/src/server/game/Loot/LootMgr.h
+++ b/src/server/game/Loot/LootMgr.h
@@ -298,12 +298,13 @@ struct Loot
uint8 unlootedCount;
uint64 roundRobinPlayer; // GUID of the player having the Round-Robin ownership for the loot. If 0, round robin owner has released.
LootType loot_type; // required for achievement system
+ uint8 maxDuplicates; // Max amount of items with the same entry that can drop (default is 1; on 25 man raid mode 3)
// GUIDLow of container that holds this loot (item_instance.entry)
// Only set for inventory items that can be right-click looted
uint32 containerID;
- Loot(uint32 _gold = 0) : gold(_gold), unlootedCount(0), loot_type(LOOT_CORPSE), containerID(0) {}
+ Loot(uint32 _gold = 0) : gold(_gold), unlootedCount(0), loot_type(LOOT_CORPSE), maxDuplicates(1), containerID(0) {}
~Loot() { clear(); }
// For deleting items at loot removal since there is no backward interface to the Item()
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 7fe516a1eb4..3d6285a806c 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -36,12 +36,6 @@
#include "Vehicle.h"
#include "VMapFactory.h"
-union u_map_magic
-{
- char asChar[4];
- uint32 asUInt;
-};
-
u_map_magic MapMagic = { {'M','A','P','S'} };
u_map_magic MapVersionMagic = { {'v','1','.','3'} };
u_map_magic MapAreaMagic = { {'A','R','E','A'} };
@@ -77,28 +71,30 @@ Map::~Map()
bool Map::ExistMap(uint32 mapid, int gx, int gy)
{
- int len = sWorld->GetDataPath().length()+strlen("maps/%03u%02u%02u.map")+1;
- char* tmp = new char[len];
- snprintf(tmp, len, (char *)(sWorld->GetDataPath()+"maps/%03u%02u%02u.map").c_str(), mapid, gx, gy);
+ int len = sWorld->GetDataPath().length() + strlen("maps/%03u%02u%02u.map") + 1;
+ char* fileName = new char[len];
+ snprintf(fileName, len, (char *)(sWorld->GetDataPath() + "maps/%03u%02u%02u.map").c_str(), mapid, gx, gy);
bool ret = false;
- FILE* pf=fopen(tmp, "rb");
+ FILE* pf = fopen(fileName, "rb");
if (!pf)
- sLog->outError(LOG_FILTER_MAPS, "Map file '%s': does not exist!", tmp);
+ sLog->outError(LOG_FILTER_MAPS, "Map file '%s': does not exist!", fileName);
else
{
map_fileheader header;
if (fread(&header, sizeof(header), 1, pf) == 1)
{
- if (header.mapMagic != MapMagic.asUInt || header.versionMagic != MapVersionMagic.asUInt)
- sLog->outError(LOG_FILTER_MAPS, "Map file '%s' is from an incompatible clientversion. Please recreate using the mapextractor.", tmp);
+ if (header.mapMagic.asUInt != MapMagic.asUInt || header.versionMagic.asUInt != MapVersionMagic.asUInt)
+ sLog->outError(LOG_FILTER_MAPS, "Map file '%s' is from an incompatible map version (%.*s %.*s), %.*s %.*s is expected. Please recreate using the mapextractor.",
+ fileName, 4, header.mapMagic.asChar, 4, header.versionMagic.asChar, 4, MapMagic.asChar, 4, MapVersionMagic.asChar);
else
ret = true;
}
fclose(pf);
}
- delete [] tmp;
+
+ delete[] fileName;
return ret;
}
@@ -1102,23 +1098,23 @@ bool GridMap::loadData(char* filename)
return false;
}
- if (header.mapMagic == MapMagic.asUInt && header.versionMagic == MapVersionMagic.asUInt)
+ if (header.mapMagic.asUInt == MapMagic.asUInt && header.versionMagic.asUInt == MapVersionMagic.asUInt)
{
- // loadup area data
+ // load up area data
if (header.areaMapOffset && !loadAreaData(in, header.areaMapOffset, header.areaMapSize))
{
sLog->outError(LOG_FILTER_MAPS, "Error loading map area data\n");
fclose(in);
return false;
}
- // loadup height data
+ // load up height data
if (header.heightMapOffset && !loadHeightData(in, header.heightMapOffset, header.heightMapSize))
{
sLog->outError(LOG_FILTER_MAPS, "Error loading map height data\n");
fclose(in);
return false;
}
- // loadup liquid data
+ // load up liquid data
if (header.liquidMapOffset && !loadLiquidData(in, header.liquidMapOffset, header.liquidMapSize))
{
sLog->outError(LOG_FILTER_MAPS, "Error loading map liquids data\n");
@@ -1128,7 +1124,9 @@ bool GridMap::loadData(char* filename)
fclose(in);
return true;
}
- sLog->outError(LOG_FILTER_MAPS, "Map file '%s' is from an incompatible clientversion. Please recreate using the mapextractor.", filename);
+
+ sLog->outError(LOG_FILTER_MAPS, "Map file '%s' is from an incompatible map version (%.*s %.*s), %.*s %.*s is expected. Please recreate using the mapextractor.",
+ filename, 4, header.mapMagic.asChar, 4, header.versionMagic.asChar, 4, MapMagic.asChar, 4, MapVersionMagic.asChar);
fclose(in);
return false;
}
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index c9686d36a42..cc47f053827 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -58,8 +58,15 @@ struct ScriptAction
{
uint64 sourceGUID;
uint64 targetGUID;
- uint64 ownerGUID; // owner of source if source is item
- ScriptInfo const* script; // pointer to static script data
+ uint64 ownerGUID; ///> owner of source if source is item
+ ScriptInfo const* script; ///> pointer to static script data
+};
+
+/// Represents a map magic value of 4 bytes (used in versions)
+union u_map_magic
+{
+ char asChar[4]; ///> Non-null terminated string
+ uint32 asUInt; ///> uint32 representation
};
// ******************************************
@@ -67,9 +74,9 @@ struct ScriptAction
// ******************************************
struct map_fileheader
{
- uint32 mapMagic;
- uint32 versionMagic;
- uint32 buildMagic;
+ u_map_magic mapMagic;
+ u_map_magic versionMagic;
+ u_map_magic buildMagic;
uint32 areaMapOffset;
uint32 areaMapSize;
uint32 heightMapOffset;
@@ -428,6 +435,7 @@ class Map : public GridRefManager<NGridType>
void UpdateIteratorBack(Player* player);
TempSummon* SummonCreature(uint32 entry, Position const& pos, SummonPropertiesEntry const* properties = NULL, uint32 duration = 0, Unit* summoner = NULL, uint32 spellId = 0, uint32 vehId = 0);
+ void SummonCreatureGroup(uint8 group, std::list<TempSummon*>& list);
Creature* GetCreature(uint64 guid);
GameObject* GetGameObject(uint64 guid);
DynamicObject* GetDynamicObject(uint64 guid);
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index 755d443091a..f44a9dd865f 100644
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -105,16 +105,17 @@ Map* MapManager::CreateBaseMap(uint32 id)
{
TRINITY_GUARD(ACE_Thread_Mutex, Lock);
- const MapEntry* entry = sMapStore.LookupEntry(id);
- if (entry && entry->Instanceable())
- {
+ MapEntry const* entry = sMapStore.LookupEntry(id);
+ ASSERT(entry);
+
+ if (entry->Instanceable())
map = new MapInstanced(id, i_gridCleanUpDelay);
- }
else
{
map = new Map(id, i_gridCleanUpDelay, 0, REGULAR_DIFFICULTY);
map->LoadRespawnTimes();
}
+
i_maps[id] = map;
}
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 5868b60b722..28f7a2cb8a0 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -1033,7 +1033,8 @@ enum TrinityStrings
LANG_COMMAND_NO_ACHIEVEMENT_CRITERIA_FOUND = 5033,
LANG_COMMAND_NO_OUTDOOR_PVP_FORUND = 5034,
LANG_CALL_FOR_HELP = 5035,
- // Room for more Trinity strings 5036-9999
+ LANG_NPCINFO_EQUIPMENT = 5036,
+ // Room for more Trinity strings 5037-9999
// Level requirement notifications
LANG_SAY_REQ = 6604,
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 9ad1c104e1c..6f60aec4beb 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -297,7 +297,7 @@ enum SpellAttr0
SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting
SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat
SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...)
- SPELL_ATTR0_BREAKABLE_BY_DAMAGE = 0x40000000, // 30
+ SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support
SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled
};
@@ -489,7 +489,7 @@ enum SpellAttr6
SPELL_ATTR6_UNK3 = 0x00000008, // 3
SPELL_ATTR6_UNK4 = 0x00000010, // 4
SPELL_ATTR6_UNK5 = 0x00000020, // 5
- SPELL_ATTR6_UNK6 = 0x00000040, // 6
+ SPELL_ATTR6_PRINT_SPELLNAME = 0x00000040, // 6 when activated, spell name is shown at the center of the screen: <Spell name> (client-side attribute)
SPELL_ATTR6_UNK7 = 0x00000080, // 7
SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED = 0x00000100, // 8
SPELL_ATTR6_UNK9 = 0x00000200, // 9
@@ -3157,7 +3157,12 @@ enum SummonType
enum EventId
{
EVENT_CHARGE = 1003,
- EVENT_JUMP = 1004
+ EVENT_JUMP = 1004,
+
+ /// Special charge event which is used for charge spells that have explicit targets
+ /// and had a path already generated - using it in PointMovementGenerator will not
+ /// create a new spline and launch it
+ EVENT_CHARGE_PREPATH = 1005
};
enum ResponseCodes
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index c9ca7772186..8e045b98dbb 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -424,15 +424,16 @@ void MotionMaster::MoveCharge(float x, float y, float z, float speed, uint32 id,
}
}
-void MotionMaster::MoveCharge(PathGenerator path, float speed, uint32 id)
+void MotionMaster::MoveCharge(PathGenerator const& path)
{
Vector3 dest = path.GetActualEndPosition();
- MoveCharge(dest.x, dest.y, dest.z, speed, id);
+ MoveCharge(dest.x, dest.y, dest.z, SPEED_CHARGE, EVENT_CHARGE_PREPATH);
+ // Charge movement is not started when using EVENT_CHARGE_PREPATH
Movement::MoveSplineInit init(_owner);
init.MovebyPath(path.GetPath());
- init.SetVelocity(speed);
+ init.SetVelocity(SPEED_CHARGE);
init.Launch();
}
diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h
index 4b6075aac10..f2f3959dba5 100644
--- a/src/server/game/Movement/MotionMaster.h
+++ b/src/server/game/Movement/MotionMaster.h
@@ -162,7 +162,7 @@ class MotionMaster //: private std::stack<MovementGenerator *>
void MoveTakeoff(uint32 id, Position const& pos);
void MoveCharge(float x, float y, float z, float speed = SPEED_CHARGE, uint32 id = EVENT_CHARGE, bool generatePath = false);
- void MoveCharge(PathGenerator path, float speed = SPEED_CHARGE, uint32 id = EVENT_CHARGE);
+ void MoveCharge(PathGenerator const& path);
void MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ);
void MoveJumpTo(float angle, float speedXY, float speedZ);
void MoveJump(Position const& pos, float speedXY, float speedZ, uint32 id = EVENT_JUMP)
diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
index 1f5503948c8..ea7a8c4c710 100755
--- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
@@ -34,7 +34,7 @@ void PointMovementGenerator<T>::DoInitialize(T* unit)
unit->AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
- if (id == EVENT_CHARGE)
+ if (id == EVENT_CHARGE_PREPATH)
return;
Movement::MoveSplineInit init(unit);
@@ -58,7 +58,7 @@ bool PointMovementGenerator<T>::DoUpdate(T* unit, uint32 /*diff*/)
unit->AddUnitState(UNIT_STATE_ROAMING_MOVE);
- if (id != EVENT_CHARGE && i_recalculateSpeed && !unit->movespline->Finalized())
+ if (id != EVENT_CHARGE_PREPATH && i_recalculateSpeed && !unit->movespline->Finalized())
{
i_recalculateSpeed = false;
Movement::MoveSplineInit init(unit);
diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h
index a20f900b584..d41d3160db5 100644
--- a/src/server/game/Movement/PathGenerator.h
+++ b/src/server/game/Movement/PathGenerator.h
@@ -55,7 +55,7 @@ enum PathType
class PathGenerator
{
public:
- PathGenerator(Unit const* owner);
+ explicit PathGenerator(Unit const* owner);
~PathGenerator();
// Calculate the path from owner to given destination
@@ -71,7 +71,7 @@ class PathGenerator
Vector3 const& GetEndPosition() const { return _endPosition; }
Vector3 const& GetActualEndPosition() const { return _actualEndPosition; }
- PointsArray& GetPath() { return _pathPoints; }
+ PointsArray const& GetPath() const { return _pathPoints; }
PathType GetPathType() const { return _type; }
private:
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp
index 1e4d4950ea0..e661cf877e3 100644
--- a/src/server/game/Movement/Spline/MoveSplineInit.cpp
+++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp
@@ -158,7 +158,7 @@ namespace Movement
{
PathGenerator path(unit);
bool result = path.CalculatePath(dest.x, dest.y, dest.z, forceDestination);
- if (result && path.GetPathType() & ~PATHFIND_NOPATH)
+ if (result && !(path.GetPathType() & PATHFIND_NOPATH))
{
MovebyPath(path.GetPath());
return;
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 8321b88962f..32fe5d2ef33 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -489,14 +489,14 @@ void ScriptMgr::OnGroupRateCalculation(float& rate, uint32 count, bool isRaid)
}
#define SCR_MAP_BGN(M, V, I, E, C, T) \
- if (V->GetEntry()->T()) \
+ if (V->GetEntry() && V->GetEntry()->T()) \
{ \
FOR_SCRIPTS(M, I, E) \
{ \
MapEntry const* C = I->second->GetEntry(); \
if (!C) \
continue; \
- if (entry->MapID == V->GetId()) \
+ if (C->MapID == V->GetId()) \
{
#define SCR_MAP_END \
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 522dc95105d..1e36f342712 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -24,6 +24,7 @@
#include "Config.h"
#include "Common.h"
#include "DatabaseEnv.h"
+#include "AccountMgr.h"
#include "Log.h"
#include "Opcodes.h"
#include "WorldPacket.h"
@@ -408,14 +409,14 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
}
/// %Log the player out
-void WorldSession::LogoutPlayer(bool Save)
+void WorldSession::LogoutPlayer(bool save)
{
// finish pending transfers before starting the logout
while (_player && _player->IsBeingTeleportedFar())
HandleMoveWorldportAckOpcode();
m_playerLogout = true;
- m_playerSave = Save;
+ m_playerSave = save;
if (_player)
{
@@ -430,39 +431,6 @@ void WorldSession::LogoutPlayer(bool Save)
_player->BuildPlayerRepop();
_player->RepopAtGraveyard();
}
- else if (!_player->getAttackers().empty())
- {
- // build set of player who attack _player or who have pet attacking of _player
- std::set<Player*> aset;
- for (Unit::AttackerSet::const_iterator itr = _player->getAttackers().begin(); itr != _player->getAttackers().end(); ++itr)
- {
- Unit* owner = (*itr)->GetOwner(); // including player controlled case
- if (owner && owner->GetTypeId() == TYPEID_PLAYER)
- aset.insert(owner->ToPlayer());
- else if ((*itr)->GetTypeId() == TYPEID_PLAYER)
- aset.insert((Player*)(*itr));
- }
-
- // CombatStop() method is removing all attackers from the AttackerSet
- // That is why it must be AFTER building current set of attackers
- _player->CombatStop();
- _player->getHostileRefManager().setOnlineOfflineState(false);
- _player->RemoveAllAurasOnDeath();
- _player->SetPvPDeath(!aset.empty());
- _player->KillPlayer();
- _player->BuildPlayerRepop();
- _player->RepopAtGraveyard();
-
- // give honor to all attackers from set like group case
- for (std::set<Player*>::const_iterator itr = aset.begin(); itr != aset.end(); ++itr)
- (*itr)->RewardHonor(_player, aset.size());
-
- // give bg rewards and update counters like kill by first from attackers
- // this can't be called for all attackers.
- if (!aset.empty())
- if (Battleground* bg = _player->GetBattleground())
- bg->HandleKillPlayer(_player, *aset.begin());
- }
else if (_player->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION))
{
// this will kill character by SPELL_AURA_SPIRIT_OF_REDEMPTION
@@ -511,7 +479,7 @@ void WorldSession::LogoutPlayer(bool Save)
///- empty buyback items and save the player in the database
// some save parts only correctly work in case player present in map/player_lists (pets, etc)
- if (Save)
+ if (save)
{
uint32 eslot;
for (int j = BUYBACK_SLOT_START; j < BUYBACK_SLOT_END; ++j)
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index d6877b8a18a..20fa7d9335d 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -24,7 +24,6 @@
#define __WORLDSESSION_H
#include "Common.h"
-#include "AccountMgr.h"
#include "SharedDefines.h"
#include "AddonMgr.h"
#include "DatabaseEnv.h"
@@ -40,6 +39,7 @@ class LoginQueryHolder;
class Object;
class Player;
class Quest;
+class RBACData;
class SpellCastTargets;
class Unit;
class Warden;
@@ -253,7 +253,7 @@ class WorldSession
return (_logoutTime > 0 && currTime >= _logoutTime + 20);
}
- void LogoutPlayer(bool Save);
+ void LogoutPlayer(bool save);
void KickPlayer();
void QueuePacket(WorldPacket* new_packet);
@@ -919,14 +919,14 @@ class WorldSession
void LogUnprocessedTail(WorldPacket* packet);
// EnumData helpers
- bool CharCanLogin(uint32 lowGUID)
+ bool IsLegitCharacterForAccount(uint32 lowGUID)
{
- return _allowedCharsToLogin.find(lowGUID) != _allowedCharsToLogin.end();
+ return _legitCharacters.find(lowGUID) != _legitCharacters.end();
}
// this stores the GUIDs of the characters who can login
// characters who failed on Player::BuildEnumData shouldn't login
- std::set<uint32> _allowedCharsToLogin;
+ std::set<uint32> _legitCharacters;
uint32 m_GUIDLow; // set loggined or recently logout player (while m_playerRecentlyLogout set)
Player* _player;
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index de5dd1dd98b..128175d785b 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -980,7 +980,7 @@ int WorldSocket::HandlePing (WorldPacket& recvPacket)
{
ACE_GUARD_RETURN (LockType, Guard, m_SessionLock, -1);
- if (m_Session && AccountMgr::IsPlayerAccount(m_Session->GetSecurity()))
+ if (m_Session && !m_Session->HasPermission(RBAC_PERM_SKIP_CHECK_OVERSPEED_PING))
{
sLog->outError(LOG_FILTER_NETWORKIO, "WorldSocket::HandlePing: %s kicked for over-speed pings (address: %s)",
m_Session->GetPlayerInfo().c_str(), GetRemoteAddress().c_str());
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index d6b19e6010a..a51d591f54c 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5296,10 +5296,7 @@ void AuraEffect::HandleAuraSetVehicle(AuraApplication const* aurApp, uint8 mode,
target->SendMessageToSet(&data, true);
if (apply)
- {
- data.Initialize(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, 0);
- target->ToPlayer()->GetSession()->SendPacket(&data);
- }
+ target->ToPlayer()->SendOnCancelExpectedVehicleRideAura();
}
void AuraEffect::HandlePreventResurrection(AuraApplication const* aurApp, uint8 mode, bool apply) const
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 4500152133e..375f9ef067c 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -908,6 +908,10 @@ bool Aura::CanBeSaved() const
if (HasEffectType(SPELL_AURA_OPEN_STABLE))
return false;
+ // Can't save vehicle auras, it requires both caster & target to be in world
+ if (HasEffectType(SPELL_AURA_CONTROL_VEHICLE))
+ return false;
+
// Incanter's Absorbtion - considering the minimal duration and problems with aura stacking
// we skip saving this aura
// Also for some reason other auras put as MultiSlot crash core on keeping them after restart,
@@ -2092,16 +2096,17 @@ void Aura::LoadScripts()
bool Aura::CallScriptCheckAreaTargetHandlers(Unit* target)
{
+ bool result = true;
for (std::list<AuraScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end(); ++scritr)
{
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_CHECK_AREA_TARGET);
std::list<AuraScript::CheckAreaTargetHandler>::iterator hookItrEnd = (*scritr)->DoCheckAreaTarget.end(), hookItr = (*scritr)->DoCheckAreaTarget.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- if (!(*hookItr).Call(*scritr, target))
- return false;
+ result &= hookItr->Call(*scritr, target);
+
(*scritr)->_FinishScriptCall();
}
- return true;
+ return result;
}
void Aura::CallScriptDispel(DispelInfo* dispelInfo)
@@ -2111,7 +2116,8 @@ void Aura::CallScriptDispel(DispelInfo* dispelInfo)
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_DISPEL);
std::list<AuraScript::AuraDispelHandler>::iterator hookItrEnd = (*scritr)->OnDispel.end(), hookItr = (*scritr)->OnDispel.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- (*hookItr).Call(*scritr, dispelInfo);
+ hookItr->Call(*scritr, dispelInfo);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2123,7 +2129,8 @@ void Aura::CallScriptAfterDispel(DispelInfo* dispelInfo)
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_AFTER_DISPEL);
std::list<AuraScript::AuraDispelHandler>::iterator hookItrEnd = (*scritr)->AfterDispel.end(), hookItr = (*scritr)->AfterDispel.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- (*hookItr).Call(*scritr, dispelInfo);
+ hookItr->Call(*scritr, dispelInfo);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2136,14 +2143,15 @@ bool Aura::CallScriptEffectApplyHandlers(AuraEffect const* aurEff, AuraApplicati
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_APPLY, aurApp);
std::list<AuraScript::EffectApplyHandler>::iterator effEndItr = (*scritr)->OnEffectApply.end(), effItr = (*scritr)->OnEffectApply.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, mode);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, mode);
+
if (!preventDefault)
preventDefault = (*scritr)->_IsDefaultActionPrevented();
+
(*scritr)->_FinishScriptCall();
}
+
return preventDefault;
}
@@ -2155,12 +2163,12 @@ bool Aura::CallScriptEffectRemoveHandlers(AuraEffect const* aurEff, AuraApplicat
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_REMOVE, aurApp);
std::list<AuraScript::EffectApplyHandler>::iterator effEndItr = (*scritr)->OnEffectRemove.end(), effItr = (*scritr)->OnEffectRemove.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, mode);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, mode);
+
if (!preventDefault)
preventDefault = (*scritr)->_IsDefaultActionPrevented();
+
(*scritr)->_FinishScriptCall();
}
return preventDefault;
@@ -2173,10 +2181,9 @@ void Aura::CallScriptAfterEffectApplyHandlers(AuraEffect const* aurEff, AuraAppl
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_AFTER_APPLY, aurApp);
std::list<AuraScript::EffectApplyHandler>::iterator effEndItr = (*scritr)->AfterEffectApply.end(), effItr = (*scritr)->AfterEffectApply.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, mode);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, mode);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2188,10 +2195,9 @@ void Aura::CallScriptAfterEffectRemoveHandlers(AuraEffect const* aurEff, AuraApp
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_AFTER_REMOVE, aurApp);
std::list<AuraScript::EffectApplyHandler>::iterator effEndItr = (*scritr)->AfterEffectRemove.end(), effItr = (*scritr)->AfterEffectRemove.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, mode);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, mode);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2204,14 +2210,15 @@ bool Aura::CallScriptEffectPeriodicHandlers(AuraEffect const* aurEff, AuraApplic
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_PERIODIC, aurApp);
std::list<AuraScript::EffectPeriodicHandler>::iterator effEndItr = (*scritr)->OnEffectPeriodic.end(), effItr = (*scritr)->OnEffectPeriodic.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff);
+
if (!preventDefault)
preventDefault = (*scritr)->_IsDefaultActionPrevented();
+
(*scritr)->_FinishScriptCall();
}
+
return preventDefault;
}
@@ -2222,10 +2229,9 @@ void Aura::CallScriptEffectUpdatePeriodicHandlers(AuraEffect* aurEff)
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_UPDATE_PERIODIC);
std::list<AuraScript::EffectUpdatePeriodicHandler>::iterator effEndItr = (*scritr)->OnEffectUpdatePeriodic.end(), effItr = (*scritr)->OnEffectUpdatePeriodic.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2237,10 +2243,9 @@ void Aura::CallScriptEffectCalcAmountHandlers(AuraEffect const* aurEff, int32 &
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_CALC_AMOUNT);
std::list<AuraScript::EffectCalcAmountHandler>::iterator effEndItr = (*scritr)->DoEffectCalcAmount.end(), effItr = (*scritr)->DoEffectCalcAmount.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, amount, canBeRecalculated);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, amount, canBeRecalculated);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2252,10 +2257,9 @@ void Aura::CallScriptEffectCalcPeriodicHandlers(AuraEffect const* aurEff, bool &
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_CALC_PERIODIC);
std::list<AuraScript::EffectCalcPeriodicHandler>::iterator effEndItr = (*scritr)->DoEffectCalcPeriodic.end(), effItr = (*scritr)->DoEffectCalcPeriodic.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, isPeriodic, amplitude);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, isPeriodic, amplitude);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2267,10 +2271,9 @@ void Aura::CallScriptEffectCalcSpellModHandlers(AuraEffect const* aurEff, SpellM
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_CALC_SPELLMOD);
std::list<AuraScript::EffectCalcSpellModHandler>::iterator effEndItr = (*scritr)->DoEffectCalcSpellMod.end(), effItr = (*scritr)->DoEffectCalcSpellMod.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, spellMod);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, spellMod);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2282,11 +2285,13 @@ void Aura::CallScriptEffectAbsorbHandlers(AuraEffect* aurEff, AuraApplication co
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_ABSORB, aurApp);
std::list<AuraScript::EffectAbsorbHandler>::iterator effEndItr = (*scritr)->OnEffectAbsorb.end(), effItr = (*scritr)->OnEffectAbsorb.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, dmgInfo, absorbAmount);
- }
- defaultPrevented = (*scritr)->_IsDefaultActionPrevented();
+
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, dmgInfo, absorbAmount);
+
+ if (!defaultPrevented)
+ defaultPrevented = (*scritr)->_IsDefaultActionPrevented();
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2298,10 +2303,9 @@ void Aura::CallScriptEffectAfterAbsorbHandlers(AuraEffect* aurEff, AuraApplicati
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB, aurApp);
std::list<AuraScript::EffectAbsorbHandler>::iterator effEndItr = (*scritr)->AfterEffectAbsorb.end(), effItr = (*scritr)->AfterEffectAbsorb.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, dmgInfo, absorbAmount);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, dmgInfo, absorbAmount);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2313,10 +2317,9 @@ void Aura::CallScriptEffectManaShieldHandlers(AuraEffect* aurEff, AuraApplicatio
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_MANASHIELD, aurApp);
std::list<AuraScript::EffectManaShieldHandler>::iterator effEndItr = (*scritr)->OnEffectManaShield.end(), effItr = (*scritr)->OnEffectManaShield.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, dmgInfo, absorbAmount);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, dmgInfo, absorbAmount);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2328,10 +2331,9 @@ void Aura::CallScriptEffectAfterManaShieldHandlers(AuraEffect* aurEff, AuraAppli
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD, aurApp);
std::list<AuraScript::EffectManaShieldHandler>::iterator effEndItr = (*scritr)->AfterEffectManaShield.end(), effItr = (*scritr)->AfterEffectManaShield.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, dmgInfo, absorbAmount);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, dmgInfo, absorbAmount);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2343,26 +2345,27 @@ void Aura::CallScriptEffectSplitHandlers(AuraEffect* aurEff, AuraApplication con
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_SPLIT, aurApp);
std::list<AuraScript::EffectSplitHandler>::iterator effEndItr = (*scritr)->OnEffectSplit.end(), effItr = (*scritr)->OnEffectSplit.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, dmgInfo, splitAmount);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, dmgInfo, splitAmount);
+
(*scritr)->_FinishScriptCall();
}
}
bool Aura::CallScriptCheckProcHandlers(AuraApplication const* aurApp, ProcEventInfo& eventInfo)
{
+ bool result = true;
for (std::list<AuraScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end(); ++scritr)
{
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_CHECK_PROC, aurApp);
std::list<AuraScript::CheckProcHandler>::iterator hookItrEnd = (*scritr)->DoCheckProc.end(), hookItr = (*scritr)->DoCheckProc.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- if (!(*hookItr).Call(*scritr, eventInfo))
- return false;
+ result &= hookItr->Call(*scritr, eventInfo);
+
(*scritr)->_FinishScriptCall();
}
- return true;
+
+ return result;
}
bool Aura::CallScriptPrepareProcHandlers(AuraApplication const* aurApp, ProcEventInfo& eventInfo)
@@ -2373,12 +2376,14 @@ bool Aura::CallScriptPrepareProcHandlers(AuraApplication const* aurApp, ProcEven
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_PREPARE_PROC, aurApp);
std::list<AuraScript::AuraProcHandler>::iterator effEndItr = (*scritr)->DoPrepareProc.end(), effItr = (*scritr)->DoPrepareProc.begin();
for (; effItr != effEndItr; ++effItr)
- (*effItr).Call(*scritr, eventInfo);
+ effItr->Call(*scritr, eventInfo);
+
+ if (prepare)
+ prepare = !(*scritr)->_IsDefaultActionPrevented();
- if (prepare && (*scritr)->_IsDefaultActionPrevented())
- prepare = false;
(*scritr)->_FinishScriptCall();
}
+
return prepare;
}
@@ -2389,7 +2394,8 @@ void Aura::CallScriptProcHandlers(AuraApplication const* aurApp, ProcEventInfo&
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_PROC, aurApp);
std::list<AuraScript::AuraProcHandler>::iterator hookItrEnd = (*scritr)->OnProc.end(), hookItr = (*scritr)->OnProc.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- (*hookItr).Call(*scritr, eventInfo);
+ hookItr->Call(*scritr, eventInfo);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2401,7 +2407,8 @@ void Aura::CallScriptAfterProcHandlers(AuraApplication const* aurApp, ProcEventI
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_AFTER_PROC, aurApp);
std::list<AuraScript::AuraProcHandler>::iterator hookItrEnd = (*scritr)->AfterProc.end(), hookItr = (*scritr)->AfterProc.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- (*hookItr).Call(*scritr, eventInfo);
+ hookItr->Call(*scritr, eventInfo);
+
(*scritr)->_FinishScriptCall();
}
}
@@ -2414,12 +2421,12 @@ bool Aura::CallScriptEffectProcHandlers(AuraEffect const* aurEff, AuraApplicatio
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_PROC, aurApp);
std::list<AuraScript::EffectProcHandler>::iterator effEndItr = (*scritr)->OnEffectProc.end(), effItr = (*scritr)->OnEffectProc.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, eventInfo);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, eventInfo);
+
if (!preventDefault)
preventDefault = (*scritr)->_IsDefaultActionPrevented();
+
(*scritr)->_FinishScriptCall();
}
return preventDefault;
@@ -2432,10 +2439,9 @@ void Aura::CallScriptAfterEffectProcHandlers(AuraEffect const* aurEff, AuraAppli
(*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_EFFECT_AFTER_PROC, aurApp);
std::list<AuraScript::EffectProcHandler>::iterator effEndItr = (*scritr)->AfterEffectProc.end(), effItr = (*scritr)->AfterEffectProc.begin();
for (; effItr != effEndItr; ++effItr)
- {
- if ((*effItr).IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
- (*effItr).Call(*scritr, aurEff, eventInfo);
- }
+ if (effItr->IsEffectAffected(m_spellInfo, aurEff->GetEffIndex()))
+ effItr->Call(*scritr, aurEff, eventInfo);
+
(*scritr)->_FinishScriptCall();
}
}
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 18dc6f104a4..ae1389c5f11 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5148,26 +5148,23 @@ SpellCastResult Spell::CheckCast(bool strict)
if (m_caster->HasUnitState(UNIT_STATE_ROOT))
return SPELL_FAILED_ROOTED;
- Unit* target = m_targets.GetUnitTarget();
-
- if (!target)
- return SPELL_FAILED_DONT_REPORT;
-
- if (m_caster->GetTypeId() == TYPEID_PLAYER)
- if (!target->isAlive())
- return SPELL_FAILED_BAD_TARGETS;
-
- Position pos;
- target->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
- target->GetFirstCollisionPosition(pos, CONTACT_DISTANCE, target->GetRelativeAngle(m_caster));
+ if (GetSpellInfo()->NeedsExplicitUnitTarget())
+ {
+ Unit* target = m_targets.GetUnitTarget();
+ if (!target)
+ return SPELL_FAILED_DONT_REPORT;
- m_preGeneratedPath.SetPathLengthLimit(m_spellInfo->GetMaxRange(true) * 1.5f);
- bool result = m_preGeneratedPath.CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ + target->GetObjectSize());
- if (m_preGeneratedPath.GetPathType() & PATHFIND_SHORT)
- return SPELL_FAILED_OUT_OF_RANGE;
- else if (!result)
- return SPELL_FAILED_NOPATH;
+ Position pos;
+ target->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
+ target->GetFirstCollisionPosition(pos, CONTACT_DISTANCE, target->GetRelativeAngle(m_caster));
+ m_preGeneratedPath.SetPathLengthLimit(m_spellInfo->GetMaxRange(true) * 1.5f);
+ bool result = m_preGeneratedPath.CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ + target->GetObjectSize());
+ if (m_preGeneratedPath.GetPathType() & PATHFIND_SHORT)
+ return SPELL_FAILED_OUT_OF_RANGE;
+ else if (!result || m_preGeneratedPath.GetPathType() & PATHFIND_NOPATH)
+ return SPELL_FAILED_NOPATH;
+ }
break;
}
case SPELL_EFFECT_SKINNING:
@@ -5945,8 +5942,9 @@ SpellCastResult Spell::CheckItems()
// if not item target then required item must be equipped
else
{
- if (m_caster->GetTypeId() == TYPEID_PLAYER && !m_caster->ToPlayer()->HasItemFitToSpellRequirements(m_spellInfo))
- return SPELL_FAILED_EQUIPPED_ITEM_CLASS;
+ if (!(_triggeredCastFlags & TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT))
+ if (m_caster->GetTypeId() == TYPEID_PLAYER && !m_caster->ToPlayer()->HasItemFitToSpellRequirements(m_spellInfo))
+ return SPELL_FAILED_EQUIPPED_ITEM_CLASS;
}
// check spell focus object
@@ -6328,7 +6326,7 @@ SpellCastResult Spell::CheckItems()
}
// check weapon presence in slots for main/offhand weapons
- if (m_spellInfo->EquippedItemClass >=0)
+ if (!(_triggeredCastFlags & TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT) && m_spellInfo->EquippedItemClass >=0)
{
// main hand weapon required
if (m_spellInfo->AttributesEx3 & SPELL_ATTR3_MAIN_HAND)
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 8b440b665ad..9d3ec6630e5 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2763,7 +2763,7 @@ void Spell::EffectEnchantItemPerm(SpellEffIndex effIndex)
if (!item_owner)
return;
- if (item_owner != p_caster && !AccountMgr::IsPlayerAccount(p_caster->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (item_owner != p_caster && p_caster->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(p_caster->GetSession()->GetAccountId(), "GM %s (Account: %u) enchanting(perm): %s (Entry: %d) for player: %s (Account: %u)",
p_caster->GetName().c_str(), p_caster->GetSession()->GetAccountId(),
@@ -2828,7 +2828,7 @@ void Spell::EffectEnchantItemPrismatic(SpellEffIndex effIndex)
if (!item_owner)
return;
- if (item_owner != p_caster && !AccountMgr::IsPlayerAccount(p_caster->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (item_owner != p_caster && p_caster->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(p_caster->GetSession()->GetAccountId(), "GM %s (Account: %u) enchanting(perm): %s (Entry: %d) for player: %s (Account: %u)",
p_caster->GetName().c_str(), p_caster->GetSession()->GetAccountId(),
@@ -2962,7 +2962,7 @@ void Spell::EffectEnchantItemTmp(SpellEffIndex effIndex)
if (!item_owner)
return;
- if (item_owner != p_caster && !AccountMgr::IsPlayerAccount(p_caster->GetSession()->GetSecurity()) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
+ if (item_owner != p_caster && p_caster->GetSession()->HasPermission(RBAC_PERM_LOG_GM_TRADE) && sWorld->getBoolConfig(CONFIG_GM_LOG_TRADE))
{
sLog->outCommand(p_caster->GetSession()->GetAccountId(), "GM %s (Account: %u) enchanting(temp): %s (Entry: %d) for player: %s (Account: %u)",
p_caster->GetName().c_str(), p_caster->GetSession()->GetAccountId(),
@@ -3902,7 +3902,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
unitTarget->CastSpell(unitTarget, iTmpSpellId, true);
Creature* npc = unitTarget->ToCreature();
- npc->LoadEquipment(npc->GetEquipmentId());
+ npc->LoadEquipment();
return;
}
// Emblazon Runeblade
@@ -4918,7 +4918,8 @@ void Spell::EffectCharge(SpellEffIndex /*effIndex*/)
if (effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
{
- if (m_preGeneratedPath.GetPathType() & PATHFIND_NOPATH)
+ // Spell is not using explicit target - no generated path
+ if (m_preGeneratedPath.GetPathType() == PATHFIND_BLANK)
{
Position pos;
unitTarget->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 91bff331160..d2ab1a315e8 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1030,6 +1030,12 @@ bool SpellInfo::IsMultiSlotAura() const
return IsPassive() || Id == 55849 || Id == 40075 || Id == 44413; // Power Spark, Fel Flak Fire, Incanter's Absorption
}
+bool SpellInfo::IsStackableOnOneSlotWithDifferentCasters() const
+{
+ /// TODO: Re-verify meaning of SPELL_ATTR3_STACK_FOR_DIFF_CASTERS and update conditions here
+ return StackAmount > 1 && !IsChanneled() && !(AttributesEx3 & SPELL_ATTR3_STACK_FOR_DIFF_CASTERS);
+}
+
bool SpellInfo::IsDeathPersistent() const
{
return AttributesEx3 & SPELL_ATTR3_DEATH_PERSISTENT;
@@ -1168,10 +1174,8 @@ bool SpellInfo::IsSingleTarget() const
bool SpellInfo::IsSingleTargetWith(SpellInfo const* spellInfo) const
{
- // TODO - need better check
- // Equal icon and spellfamily
- if (SpellFamilyName == spellInfo->SpellFamilyName &&
- SpellIconID == spellInfo->SpellIconID)
+ // Same spell?
+ if (IsRankOf(spellInfo))
return true;
SpellSpecificType spec = GetSpellSpecific();
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index 23682c3d48f..bbc5b61e282 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -392,6 +392,7 @@ public:
bool IsStackableWithRanks() const;
bool IsPassiveStackableWithRanks() const;
bool IsMultiSlotAura() const;
+ bool IsStackableOnOneSlotWithDifferentCasters() const;
bool IsDeathPersistent() const;
bool IsRequiringDeadTarget() const;
bool IsAllowingDeadTarget() const;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index dbd4e3904ea..312189ffad8 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -3371,6 +3371,17 @@ void SpellMgr::LoadDbcDataCorrections()
case 64596: // Cosmic Smash (Algalon the Observer)
spellInfo->rangeIndex = 6; // 100yd
break;
+ case 64014: // Expedition Base Camp Teleport
+ case 64024: // Conservatory Teleport
+ case 64025: // Halls of Invention Teleport
+ case 64028: // Colossal Forge Teleport
+ case 64029: // Shattered Walkway Teleport
+ case 64030: // Antechamber Teleport
+ case 64031: // Scrapyard Teleport
+ case 64032: // Formation Grounds Teleport
+ case 65042: // Prison of Yogg-Saron Teleport
+ spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DB;
+ break;
// ENDOF ULDUAR SPELLS
//
// TRIAL OF THE CRUSADER SPELLS
@@ -3464,7 +3475,7 @@ void SpellMgr::LoadDbcDataCorrections()
case 71518: // Unholy Infusion Quest Credit (Professor Putricide)
case 72934: // Blood Infusion Quest Credit (Blood-Queen Lana'thel)
case 72289: // Frost Infusion Quest Credit (Sindragosa)
- spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_50000_YARDS; // another missing radius
+ spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_200_YARDS; // another missing radius
break;
case 71708: // Empowered Flare (Blood Prince Council)
case 72785: // Empowered Flare (Blood Prince Council)
diff --git a/src/server/game/Weather/Weather.cpp b/src/server/game/Weather/Weather.cpp
index cd148712b55..64ee188a0d2 100644
--- a/src/server/game/Weather/Weather.cpp
+++ b/src/server/game/Weather/Weather.cpp
@@ -221,6 +221,9 @@ bool Weather::UpdateWeather()
char const* wthstr;
switch (state)
{
+ case WEATHER_STATE_FOG:
+ wthstr = "fog";
+ break;
case WEATHER_STATE_LIGHT_RAIN:
wthstr = "light rain";
break;
diff --git a/src/server/game/Weather/Weather.h b/src/server/game/Weather/Weather.h
index 1fcd822d580..2645d3f2067 100644
--- a/src/server/game/Weather/Weather.h
+++ b/src/server/game/Weather/Weather.h
@@ -46,6 +46,7 @@ struct WeatherData
enum WeatherState
{
WEATHER_STATE_FINE = 0,
+ WEATHER_STATE_FOG = 1,
WEATHER_STATE_LIGHT_RAIN = 3,
WEATHER_STATE_MEDIUM_RAIN = 4,
WEATHER_STATE_HEAVY_RAIN = 5,
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index d02ba402c53..955f3b7b99f 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -955,7 +955,7 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_CHATFLOOD_MESSAGE_DELAY] = ConfigMgr::GetIntDefault("ChatFlood.MessageDelay", 1);
m_int_configs[CONFIG_CHATFLOOD_MUTE_TIME] = ConfigMgr::GetIntDefault("ChatFlood.MuteTime", 10);
- m_int_configs[CONFIG_EVENT_ANNOUNCE] = ConfigMgr::GetIntDefault("Event.Announce", 0);
+ m_bool_configs[CONFIG_EVENT_ANNOUNCE] = ConfigMgr::GetIntDefault("Event.Announce", false);
m_float_configs[CONFIG_CREATURE_FAMILY_FLEE_ASSISTANCE_RADIUS] = ConfigMgr::GetFloatDefault("CreatureFamilyFleeAssistanceRadius", 30.0f);
m_float_configs[CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS] = ConfigMgr::GetFloatDefault("CreatureFamilyAssistanceRadius", 10.0f);
@@ -1223,7 +1223,7 @@ void World::LoadConfigSettings(bool reload)
m_bool_configs[CONFIG_PDUMP_NO_OVERWRITE] = ConfigMgr::GetBoolDefault("PlayerDump.DisallowOverwrite", true);
m_bool_configs[CONFIG_UI_QUESTLEVELS_IN_DIALOGS] = ConfigMgr::GetBoolDefault("UI.ShowQuestLevelsInDialogs", false);
- // call ScriptMgr if we're reloading the configuration
+ // Wintergrasp battlefield
m_bool_configs[CONFIG_WINTERGRASP_ENABLE] = ConfigMgr::GetBoolDefault("Wintergrasp.Enable", false);
m_int_configs[CONFIG_WINTERGRASP_PLR_MAX] = ConfigMgr::GetIntDefault("Wintergrasp.PlayerMax", 100);
m_int_configs[CONFIG_WINTERGRASP_PLR_MIN] = ConfigMgr::GetIntDefault("Wintergrasp.PlayerMin", 0);
@@ -1232,6 +1232,7 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_WINTERGRASP_NOBATTLETIME] = ConfigMgr::GetIntDefault("Wintergrasp.NoBattleTimer", 150);
m_int_configs[CONFIG_WINTERGRASP_RESTART_AFTER_CRASH] = ConfigMgr::GetIntDefault("Wintergrasp.CrashRestartTimer", 10);
+ // call ScriptMgr if we're reloading the configuration
if (reload)
sScriptMgr->OnConfigLoad(reload);
}
@@ -1405,12 +1406,12 @@ void World::SetInitialWorldSettings()
sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Creature Model Based Info Data...");
sObjectMgr->LoadCreatureModelInfo();
- sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Equipment templates...");
- sObjectMgr->LoadEquipmentTemplates();
-
sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Creature templates...");
sObjectMgr->LoadCreatureTemplates();
+ sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Equipment templates..."); // must be after LoadCreatureTemplates
+ sObjectMgr->LoadEquipmentTemplates();
+
sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Creature template addons...");
sObjectMgr->LoadCreatureTemplateAddons();
@@ -1432,6 +1433,9 @@ void World::SetInitialWorldSettings()
sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Creature Data...");
sObjectMgr->LoadCreatures();
+ sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading Temporary Summon Data...");
+ sObjectMgr->LoadTempSummons(); // must be after LoadCreatureTemplates() and LoadGameObjectTemplates()
+
sLog->outInfo(LOG_FILTER_SERVER_LOADING, "Loading pet levelup spells...");
sSpellMgr->LoadPetLevelupSpellMap();
@@ -2114,18 +2118,21 @@ void World::SendGlobalMessage(WorldPacket* packet, WorldSession* self, uint32 te
/// Send a packet to all GMs (except self if mentioned)
void World::SendGlobalGMMessage(WorldPacket* packet, WorldSession* self, uint32 team)
{
- SessionMap::iterator itr;
- for (itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
+ for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
{
- if (itr->second &&
- itr->second->GetPlayer() &&
- itr->second->GetPlayer()->IsInWorld() &&
- itr->second != self &&
- !AccountMgr::IsPlayerAccount(itr->second->GetSecurity()) &&
- (team == 0 || itr->second->GetPlayer()->GetTeam() == team))
- {
- itr->second->SendPacket(packet);
- }
+ // check if session and can receive global GM Messages and its not self
+ WorldSession* session = itr->second;
+ if (!session || session == self || !session->HasPermission(RBAC_PERM_RECEIVE_GLOBAL_GM_TEXTMESSAGE))
+ continue;
+
+ // Player should be in world
+ Player* player = session->GetPlayer();
+ if (!player || !player->IsInWorld())
+ continue;
+
+ // Send only to same team, if team is given
+ if (!team || player->GetTeam() == team)
+ session->SendPacket(packet);
}
}
@@ -2213,15 +2220,19 @@ void World::SendGMText(int32 string_id, ...)
Trinity::WorldWorldTextBuilder wt_builder(string_id, &ap);
Trinity::LocalizedPacketListDo<Trinity::WorldWorldTextBuilder> wt_do(wt_builder);
- for (SessionMap::iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
+ for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
{
- if (!itr->second || !itr->second->GetPlayer() || !itr->second->GetPlayer()->IsInWorld())
+ // Session should have permissions to receive global gm messages
+ WorldSession* session = itr->second;
+ if (!session || !session->HasPermission(RBAC_PERM_RECEIVE_GLOBAL_GM_TEXTMESSAGE))
continue;
- if (AccountMgr::IsPlayerAccount(itr->second->GetSecurity()))
+ // Player should be in world
+ Player* player = session->GetPlayer();
+ if (!player || !player->IsInWorld())
continue;
- wt_do(itr->second->GetPlayer());
+ wt_do(player);
}
va_end(ap);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 95c10329690..612078f17bf 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -166,6 +166,7 @@ enum WorldBoolConfigs
CONFIG_ENABLE_MMAPS,
CONFIG_WINTERGRASP_ENABLE,
CONFIG_UI_QUESTLEVELS_IN_DIALOGS, // Should we add quest levels to the title in the NPC dialogs?
+ CONFIG_EVENT_ANNOUNCE,
BOOL_CONFIG_VALUE_COUNT
};
@@ -253,7 +254,6 @@ enum WorldIntConfigs
CONFIG_CHATFLOOD_MESSAGE_COUNT,
CONFIG_CHATFLOOD_MESSAGE_DELAY,
CONFIG_CHATFLOOD_MUTE_TIME,
- CONFIG_EVENT_ANNOUNCE,
CONFIG_CREATURE_FAMILY_ASSISTANCE_DELAY,
CONFIG_CREATURE_FAMILY_FLEE_DELAY,
CONFIG_WORLD_BOSS_LEVEL_DIFF,
@@ -733,7 +733,8 @@ class World
void AddCharacterNameData(uint32 guid, std::string const& name, uint8 gender, uint8 race, uint8 playerClass, uint8 level);
void UpdateCharacterNameData(uint32 guid, std::string const& name, uint8 gender = GENDER_NONE, uint8 race = RACE_NONE);
void UpdateCharacterNameDataLevel(uint32 guid, uint8 level);
- void DeleteCharaceterNameData(uint32 guid) { _characterNameDataMap.erase(guid); }
+ void DeleteCharacterNameData(uint32 guid) { _characterNameDataMap.erase(guid); }
+ bool HasCharacterNameData(uint32 guid) { return _characterNameDataMap.find(guid) != _characterNameDataMap.end(); }
uint32 GetCleaningFlags() const { return m_CleaningFlags; }
void SetCleaningFlags(uint32 flags) { m_CleaningFlags = flags; }
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index 932bb562f11..168a5ec60b8 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -59,30 +59,32 @@ public:
// Enables or disables hiding of the staff badge
static bool HandleGMChatCommand(ChatHandler* handler, char const* args)
{
- if (!*args)
+ if (WorldSession* session = handler->GetSession())
{
- WorldSession* session = handler->GetSession();
- if (!AccountMgr::IsPlayerAccount(session->GetSecurity()) && session->GetPlayer()->isGMChat())
- session->SendNotification(LANG_GM_CHAT_ON);
- else
- session->SendNotification(LANG_GM_CHAT_OFF);
- return true;
- }
+ if (!*args)
+ {
+ if (session->HasPermission(RBAC_PERM_CHAT_USE_STAFF_BADGE) && session->GetPlayer()->isGMChat())
+ session->SendNotification(LANG_GM_CHAT_ON);
+ else
+ session->SendNotification(LANG_GM_CHAT_OFF);
+ return true;
+ }
- std::string param = (char*)args;
+ std::string param = (char*)args;
- if (param == "on")
- {
- handler->GetSession()->GetPlayer()->SetGMChat(true);
- handler->GetSession()->SendNotification(LANG_GM_CHAT_ON);
- return true;
- }
+ if (param == "on")
+ {
+ session->GetPlayer()->SetGMChat(true);
+ session->SendNotification(LANG_GM_CHAT_ON);
+ return true;
+ }
- if (param == "off")
- {
- handler->GetSession()->GetPlayer()->SetGMChat(false);
- handler->GetSession()->SendNotification(LANG_GM_CHAT_OFF);
- return true;
+ if (param == "off")
+ {
+ session->GetPlayer()->SetGMChat(false);
+ session->SendNotification(LANG_GM_CHAT_OFF);
+ return true;
+ }
}
handler->SendSysMessage(LANG_USE_BOL);
@@ -126,7 +128,9 @@ public:
for (HashMapHolder<Player>::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr)
{
AccountTypes itrSec = itr->second->GetSession()->GetSecurity();
- if ((itr->second->isGameMaster() || (!AccountMgr::IsPlayerAccount(itrSec) && itrSec <= AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_GM_LIST)))) &&
+ if ((itr->second->isGameMaster() ||
+ (itr->second->GetSession()->HasPermission(RBAC_PERM_COMMANDS_APPEAR_IN_GM_LIST) &&
+ itrSec <= AccountTypes(sWorld->getIntConfig(CONFIG_GM_LEVEL_IN_GM_LIST)))) &&
(!handler->GetSession() || itr->second->IsVisibleGloballyFor(handler->GetSession()->GetPlayer())))
{
if (first)
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index cacefea7b85..4cdc1e0d9ce 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -678,7 +678,7 @@ public:
if (target)
{
- target->ResurrectPlayer(!AccountMgr::IsPlayerAccount(target->GetSession()->GetSecurity()) ? 1.0f : 0.5f);
+ target->ResurrectPlayer(target->GetSession()->HasPermission(RBAC_PERM_RESURRECT_WITH_FULL_HPS) ? 1.0f : 0.5f);
target->SpawnCorpseBones();
target->SaveToDB();
}
@@ -881,7 +881,7 @@ public:
Player* player = handler->GetSession()->GetPlayer();
// save GM account without delay and output message
- if (!AccountMgr::IsPlayerAccount(handler->GetSession()->GetSecurity()))
+ if (handler->GetSession()->HasPermission(RBAC_PERM_COMMANDS_SAVE_WITHOUT_DELAY))
{
if (Player* target = handler->getSelectedPlayer())
target->SaveToDB();
@@ -938,8 +938,8 @@ public:
static bool HandleUnstuckCommand(ChatHandler* handler, char const* args)
{
- //No args required for players
- if (handler->GetSession() && AccountMgr::IsPlayerAccount(handler->GetSession()->GetSecurity()))
+ // No args required for players
+ if (handler->GetSession() && !handler->GetSession()->HasPermission(RBAC_PERM_COMMANDS_USE_UNSTUCK_WITH_ARGS))
{
// 7355: "Stuck"
if (Player* player = handler->GetSession()->GetPlayer())
diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp
index 97861133983..79cd0deb75e 100644
--- a/src/server/scripts/Commands/cs_mmaps.cpp
+++ b/src/server/scripts/Commands/cs_mmaps.cpp
@@ -95,7 +95,7 @@ public:
path.SetUseStraightPath(useStraightPath);
bool result = path.CalculatePath(x, y, z);
- PointsArray pointPath = path.GetPath();
+ PointsArray const& pointPath = path.GetPath();
handler->PSendSysMessage("%s's path to %s:", target->GetName().c_str(), player->GetName().c_str());
handler->PSendSysMessage("Building: %s", useStraightPath ? "StraightPath" : "SmoothPath");
handler->PSendSysMessage("Result: %s - Length: "SIZEFMTD" - Type: %u", (result ? "true" : "false"), pointPath.size(), path.GetPathType());
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 7ccd5ed1177..8dc466296fd 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -645,6 +645,7 @@ public:
handler->PSendSysMessage(LANG_NPCINFO_CHAR, target->GetDBTableGUIDLow(), target->GetGUIDLow(), faction, npcflags, Entry, displayid, nativeid);
handler->PSendSysMessage(LANG_NPCINFO_LEVEL, target->getLevel());
+ handler->PSendSysMessage(LANG_NPCINFO_EQUIPMENT, target->GetCurrentEquipmentId(), target->GetOriginalEquipmentId());
handler->PSendSysMessage(LANG_NPCINFO_HEALTH, target->GetCreateHealth(), target->GetMaxHealth(), target->GetHealth());
handler->PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS), target->GetUInt32Value(UNIT_DYNAMIC_FLAGS), target->getFaction());
handler->PSendSysMessage(LANG_COMMAND_RAWPAWNTIMES, defRespawnDelayStr.c_str(), curRespawnDelayStr.c_str());
@@ -652,7 +653,7 @@ public:
handler->PSendSysMessage(LANG_NPCINFO_DUNGEON_ID, target->GetInstanceId());
handler->PSendSysMessage(LANG_NPCINFO_PHASEMASK, target->GetPhaseMask());
handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor());
- handler->PSendSysMessage(LANG_NPCINFO_POSITION, float(target->GetPositionX()), float(target->GetPositionY()), float(target->GetPositionZ()));
+ handler->PSendSysMessage(LANG_NPCINFO_POSITION, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
handler->PSendSysMessage(LANG_NPCINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str());
for (uint8 i = 0; i < NPCFLAG_COUNT; i++)
diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp
index 092aabb0045..604218c2e68 100644
--- a/src/server/scripts/Commands/cs_rbac.cpp
+++ b/src/server/scripts/Commands/cs_rbac.cpp
@@ -22,7 +22,7 @@ Comment: All role based access control related commands (including account relat
Category: commandscripts
EndScriptData */
-#include "RBAC.h"
+#include "AccountMgr.h"
#include "Config.h"
#include "Chat.h"
#include "Language.h"
@@ -188,7 +188,7 @@ public:
if (!rdata)
{
- data->rbac = new RBACData(accountId, accountName, ConfigMgr::GetIntDefault("RealmID", 0));
+ data->rbac = new RBACData(accountId, accountName, realmID);
data->rbac->LoadFromDB();
data->needDelete = true;
}
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index 43c2001fbf7..b2542d6a668 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -508,10 +508,9 @@ public:
cInfo->questItems[5] = fields[78].GetUInt32();
cInfo->movementId = fields[79].GetUInt32();
cInfo->RegenHealth = fields[80].GetBool();
- cInfo->equipmentId = fields[81].GetUInt32();
- cInfo->MechanicImmuneMask = fields[82].GetUInt32();
- cInfo->flags_extra = fields[83].GetUInt32();
- cInfo->ScriptID = sObjectMgr->GetScriptId(fields[84].GetCString());
+ cInfo->MechanicImmuneMask = fields[81].GetUInt32();
+ cInfo->flags_extra = fields[82].GetUInt32();
+ cInfo->ScriptID = sObjectMgr->GetScriptId(fields[83].GetCString());
sObjectMgr->CheckCreatureTemplate(cInfo);
}
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index aee01f47581..958eb1709d5 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -95,18 +95,16 @@ public:
return true;
}
- // Get target information
- uint64 targetGuid = sObjectMgr->GetPlayerGUIDByName(target.c_str());
- uint64 targetAccountId = sObjectMgr->GetPlayerAccountIdByGUID(targetGuid);
- uint32 targetGmLevel = AccountMgr::GetSecurity(targetAccountId, realmID);
-
+ uint32 accountId = AccountMgr::GetId(target);
// Target must exist and have administrative rights
- if (!targetGuid || AccountMgr::IsPlayerAccount(targetGmLevel))
+ if (!AccountMgr::HasPermission(accountId, RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, realmID))
{
handler->SendSysMessage(LANG_COMMAND_TICKETASSIGNERROR_A);
return true;
}
+ uint64 targetGuid = sObjectMgr->GetPlayerGUIDByName(target);
+
// If already assigned, leave
if (ticket->IsAssignedTo(targetGuid))
{
@@ -125,7 +123,7 @@ public:
// Assign ticket
SQLTransaction trans = SQLTransaction(NULL);
- ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(targetGmLevel));
+ ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(AccountMgr::GetSecurity(accountId, realmID)));
ticket->SaveToDB(trans);
sTicketMgr->UpdateLastChange();
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
index 809bd2440d7..d301e702174 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
@@ -104,7 +104,7 @@ class mob_av_marshal_or_warmaster : public CreatureScript
Reset();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// I have a feeling this isn't blizzlike, but owell, I'm only passing by and cleaning up.
if (!_hasAura)
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 5622e91cd73..6dec1796500 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -62,7 +62,7 @@ public:
resetTimer = 5 * IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -145,7 +145,7 @@ public:
summons.DespawnAll();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
index 6e2738d79ca..745c310d35c 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
@@ -75,7 +75,7 @@ public:
Talk(YELL_RESPAWN);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
index fea8573d6f8..2cf7d7cafef 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
@@ -69,7 +69,7 @@ public:
Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
index 732bbc6f1ba..6939890a702 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
@@ -64,7 +64,7 @@ public:
Talk(YELL_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index 071e0c4dd19..0c8092013aa 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -222,7 +222,7 @@ public:
instance->HandleGameObject(instance->GetData64(id), open);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
@@ -372,7 +372,7 @@ public:
MightyBlow_Timer = 15000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -648,7 +648,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED) return;
if ((instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS || instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_FAILED || instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_ENDED)&& instance->GetData(DATA_DUGHAL) == ENCOUNTER_STATE_ENDED)
@@ -807,7 +807,7 @@ public:
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1017,7 +1017,7 @@ public:
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1151,7 +1151,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1284,7 +1284,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp
index 99619a89bf3..c5d93ad0c85 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_ambassador_flamelash.cpp
@@ -55,7 +55,7 @@ public:
Spirit->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp
index 424489fc703..bb4de5b347a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_anubshiah.cpp
@@ -59,7 +59,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
index 3a7baff0196..aaf0adc57c4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
@@ -81,7 +81,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp
index 8c2c590e3e5..bd5a06bf46c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_general_angerforge.cpp
@@ -69,7 +69,7 @@ public:
SummonedMedic->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp
index 4f876f41907..02c00b4958c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_gorosh_the_dervish.cpp
@@ -52,7 +52,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
index 51fddc0f71f..a0ab6f9939c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_grizzle.cpp
@@ -51,7 +51,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
index 0631a4308df..a901bc3d5e3 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
@@ -56,7 +56,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp
index fa8a13f1bfd..5c496ed597b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_magmus.cpp
@@ -55,7 +55,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp
index 3142610b346..bb528de9dca 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_moira_bronzebeard.cpp
@@ -58,7 +58,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
index f4e9d561b5e..2767c76a69e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
@@ -202,7 +202,7 @@ public:
instance->SetData(DATA_GHOSTKILL, 1);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
index fa1f79d82e7..7081974195f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
@@ -69,7 +69,7 @@ public:
_JustDied();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
index cef633ac2d8..7a4f1aac17d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
@@ -92,7 +92,7 @@ public:
Summoned->AddThreat(target, 250.0f);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
index 2f9d39152e3..af0e5110523 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
@@ -68,7 +68,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
index afb6ab75649..082e1f8e79b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
@@ -78,7 +78,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
index d67fa7c5caa..fc6d3f7d4db 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -70,7 +70,7 @@ public:
DoCast(me, SPELL_SUMMON_SPIRE_SPIDERLING, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index ff68462ffb5..09d85a680b8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
@@ -81,7 +81,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
index da38fe9f54b..44a27e6938f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -97,7 +97,7 @@ public:
door3->SetGoState(GO_STATE_ACTIVE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
index 2f86c009d56..8828fcfe753 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
@@ -65,7 +65,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
index b881f94dda9..b8d9377d7c4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
@@ -66,7 +66,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index 69ebf33248f..c429931d42b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
@@ -67,7 +67,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
index f8f4f64b618..a32fefeca40 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
@@ -66,7 +66,7 @@ public:
_JustDied();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
index 7d4c7a40d61..056448854dc 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
@@ -75,7 +75,7 @@ public:
_JustDied();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
index fa1ab5528ca..73afebfa9f3 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -32,12 +32,20 @@ enum Say
SAY_LEASH = 1,
};
+enum Events
+{
+ EVENT_CLEAVE = 1,
+ EVENT_MORTAL_STRIKE = 2,
+ EVENT_BLAST_WAVE = 3,
+ EVENT_KNOCK_BACK = 4,
+};
+
enum Spells
{
SPELL_CLEAVE = 26350,
- SPELL_BLASTWAVE = 23331,
- SPELL_MORTALSTRIKE = 24573,
- SPELL_KNOCKBACK = 25778
+ SPELL_BLAST_WAVE = 23331,
+ SPELL_MORTAL_STRIKE = 24573,
+ SPELL_KNOCK_BACK = 25778
};
class boss_broodlord : public CreatureScript
@@ -54,17 +62,13 @@ public:
{
boss_broodlordAI(Creature* creature) : ScriptedAI(creature) {}
- uint32 Cleave_Timer;
- uint32 BlastWave_Timer;
- uint32 MortalStrike_Timer;
- uint32 KnockBack_Timer;
-
void Reset()
{
- Cleave_Timer = 8000; // These times are probably wrong
- BlastWave_Timer = 12000;
- MortalStrike_Timer = 20000;
- KnockBack_Timer = 30000;
+ // These timers are probably wrong
+ events.ScheduleEvent(EVENT_CLEAVE, 8000);
+ events.ScheduleEvent(EVENT_BLAST_WAVE, 12000);
+ events.ScheduleEvent(EVENT_MORTAL_STRIKE, 20000);
+ events.ScheduleEvent(EVENT_KNOCK_BACK, 30000);
}
void EnterCombat(Unit* /*who*/)
@@ -73,50 +77,56 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
- //Cleave_Timer
- if (Cleave_Timer <= diff)
- {
- DoCast(me->getVictim(), SPELL_CLEAVE);
- Cleave_Timer = 7000;
- } else Cleave_Timer -= diff;
-
- // BlastWave
- if (BlastWave_Timer <= diff)
- {
- DoCast(me->getVictim(), SPELL_BLASTWAVE);
- BlastWave_Timer = urand(8000, 16000);
- } else BlastWave_Timer -= diff;
+ if (EnterEvadeIfOutOfCombatArea(diff))
+ Talk(SAY_LEASH);
- //MortalStrike_Timer
- if (MortalStrike_Timer <= diff)
- {
- DoCast(me->getVictim(), SPELL_MORTALSTRIKE);
- MortalStrike_Timer = urand(25000, 35000);
- } else MortalStrike_Timer -= diff;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- if (KnockBack_Timer <= diff)
+ while (uint32 eventId = events.ExecuteEvent())
{
- if (Unit* target = me->getVictim())
+ switch (eventId)
{
- DoCast(target, SPELL_KNOCKBACK);
- // Drop 50% aggro
- if (DoGetThreat(target))
- DoModifyThreatPercent(target, -50);
+ case EVENT_CLEAVE:
+ DoCastVictim(SPELL_CLEAVE);
+ events.ScheduleEvent(EVENT_CLEAVE, 8000);
+ break;
+ case EVENT_MORTAL_STRIKE:
+ DoCastVictim(SPELL_MORTAL_STRIKE);
+ events.ScheduleEvent(EVENT_MORTAL_STRIKE, 20000);
+ break;
+ case EVENT_BLAST_WAVE:
+ DoCastVictim(SPELL_BLAST_WAVE);
+ events.ScheduleEvent(EVENT_BLAST_WAVE, 12000);
+ break;
+ case EVENT_KNOCK_BACK:
+ if (Unit* target = me->getVictim())
+ {
+ DoCast(target, SPELL_BLAST_WAVE);
+ // Drop 50% of threat
+ if (DoGetThreat(target))
+ DoModifyThreatPercent(target, -50);
+ }
+ events.ScheduleEvent(EVENT_KNOCK_BACK, 30000);
+ break;
+ default:
+ break;
}
-
- KnockBack_Timer = urand(15000, 30000);
- } else KnockBack_Timer -= diff;
+ }
if (EnterEvadeIfOutOfCombatArea(diff))
Talk(SAY_LEASH);
DoMeleeAttackIfReady();
}
+
+ private:
+ EventMap events; /// @todo: change BWL to instance script and bosses to BossAI
};
};
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
index 14e4e90337c..c7459ed2f7d 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_chromaggus.cpp
@@ -200,7 +200,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp
index 54c1ba99e8d..a9b41b719f7 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp
@@ -27,9 +27,10 @@ EndScriptData */
#include "ScriptedCreature.h"
#define SPELL_SHADOWFLAME 22539
-#define SPELL_WINGBUFFET 18500
+#define SPELL_WINGBUFFET 23339
#define SPELL_SHADOWOFEBONROC 23340
-#define SPELL_HEAL 41386 //Thea Heal spell of his Shadow
+#define SPELL_HEAL 41386 //The Heal spell of his Shadow
+#define SPELL_THRASH 3391
class boss_ebonroc : public CreatureScript
{
@@ -49,6 +50,7 @@ public:
uint32 WingBuffet_Timer;
uint32 ShadowOfEbonroc_Timer;
uint32 Heal_Timer;
+ uint32 Thrash_Timer;
void Reset()
{
@@ -56,6 +58,7 @@ public:
WingBuffet_Timer = 30000;
ShadowOfEbonroc_Timer = 45000;
Heal_Timer = 1000;
+ Thrash_Timer = 10000;
}
void EnterCombat(Unit* /*who*/)
@@ -63,7 +66,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -75,6 +78,13 @@ public:
ShadowFlame_Timer = urand(12000, 15000);
} else ShadowFlame_Timer -= diff;
+ //Thrash Timer
+ if (Thrash_Timer <= diff)
+ {
+ DoCast(me->getVictim(), SPELL_THRASH);
+ Thrash_Timer = urand(10000, 15000);
+ } else Thrash_Timer -= diff;
+
//Wing Buffet Timer
if (WingBuffet_Timer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp
index 4c36d78667b..3b63d67814e 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_firemaw.cpp
@@ -60,7 +60,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
index 57215e3f43d..f90389bc4eb 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_flamegor.cpp
@@ -68,7 +68,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
index 5594d826fdf..f96d6c4a562 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_nefarian.cpp
@@ -123,7 +123,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (DespawnTimer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
index b8361da5eb8..ebf6298b79d 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_razorgore.cpp
@@ -81,7 +81,7 @@ public:
Talk(SAY_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
index 45a9eb397eb..e07da353e90 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_vaelastrasz.cpp
@@ -156,7 +156,7 @@ public:
me->ResetPlayerDamageReq();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Speech
if (DoingSpeech)
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
index 86709e5e6b5..8a781b48e90 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
@@ -270,7 +270,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
index eb8fc77717c..060c2e0506f 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
@@ -94,7 +94,7 @@ public:
return true;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index 6b0d39d7223..558ffaf7135 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -572,7 +572,7 @@ public:
CAST_CRE(summon)->AI()->SetData(2, 1);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index bcdd1a9671a..9dab7439136 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -95,7 +95,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
index a431a3e10e7..52d9c697452 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
@@ -89,7 +89,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 8347e1c114d..1bbc1bc98fa 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -104,7 +104,7 @@ public:
midnight->Kill(midnight);
}
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
void SpellHit(Unit* /*source*/, const SpellInfo* spell)
{
@@ -153,7 +153,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -234,7 +234,7 @@ public:
};
};
-void boss_attumen::boss_attumenAI::UpdateAI(const uint32 diff)
+void boss_attumen::boss_attumenAI::UpdateAI(uint32 diff)
{
if (ResetTimer)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 5c7c39e3725..f3bc733e722 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -228,7 +228,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -354,7 +354,7 @@ struct boss_moroes_guestAI : public ScriptedAI
return me;
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (instance && !instance->GetData(TYPE_MOROES))
EnterEvadeMode();
@@ -421,7 +421,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -482,7 +482,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -543,7 +543,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -613,7 +613,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -683,7 +683,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -741,7 +741,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
index dd9b97386b4..305e37a72d3 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
@@ -269,7 +269,7 @@ public:
DestroyPortals();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 6d9a1f98e93..8165ba5c53b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -260,7 +260,7 @@ public:
Skeletons = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
/* The timer for this was never setup apparently, not sure if the code works properly:
if (WaitTimer <= diff)
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index ae4b6197f4c..4ef91b93b43 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -121,7 +121,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (HellfireTimer)
{
@@ -386,7 +386,7 @@ public:
Talk(SAY_SUMMON);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
index 5bd9e8a0bae..2a349297860 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -217,7 +217,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -531,7 +531,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
index 75a8c8cf662..fe773a1e3a2 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -111,7 +111,7 @@ public:
} else ERROR_INST_DATA(me);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -228,7 +228,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -362,7 +362,7 @@ public:
instance->SetData(TYPE_TERESTIAN, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 6cb4e70ee7a..06389fbbf25 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -187,7 +187,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AggroTimer)
{
@@ -263,7 +263,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -373,7 +373,7 @@ public:
Talk(SAY_STRAWMAN_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AggroTimer)
{
@@ -478,7 +478,7 @@ public:
Talk(SAY_TINHEAD_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AggroTimer)
{
@@ -585,7 +585,7 @@ public:
Talk(SAY_ROAR_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AggroTimer)
{
@@ -682,7 +682,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -735,7 +735,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->HasAura(SPELL_KNOCKBACK))
DoCast(me, SPELL_KNOCKBACK, true);
@@ -871,7 +871,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1121,7 +1121,7 @@ public:
Talk(SAY_JULIANNE_SLAY);
}
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
};
};
@@ -1276,7 +1276,7 @@ public:
Talk(SAY_ROMULO_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || IsFakingDeath)
return;
@@ -1331,7 +1331,7 @@ public:
};
};
-void boss_julianne::boss_julianneAI::UpdateAI(const uint32 diff)
+void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff)
{
if (EntryYellTimer)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 7d3b63acb6a..b8525dd0181 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -266,7 +266,7 @@ public:
RaidWiped = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -613,7 +613,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (YellTimer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 5d132cbd34e..699793402f0 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -280,7 +280,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -462,7 +462,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (FlameStrikeTimer <= diff)
{
@@ -548,7 +548,7 @@ public:
me->SummonCreature(CREATURE_PHOENIX_EGG, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//If we are fake death, we cast revbirth and after that we kill the phoenix to spawn the egg.
if (FakeDeath)
@@ -610,7 +610,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (HatchTimer <= diff)
{
@@ -651,7 +651,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (DespawnTimer <= diff)
me->Kill(me);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
index 3ed4c50fab4..36324e6b042 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -238,7 +238,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -456,7 +456,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UsedPotion && HealthBelowPct(25))
{
@@ -517,7 +517,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -623,7 +623,7 @@ public:
DoCast(me, SPELL_SUMMON_IMP);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -703,7 +703,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -780,7 +780,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -907,7 +907,7 @@ public:
DoCast(me, SPELL_BATTLE_SHOUT);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1036,7 +1036,7 @@ public:
m_uiPetGUID = summoned->GetGUID();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1144,7 +1144,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1240,7 +1240,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index a18dbe79d40..bd5f57f8af0 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -242,7 +242,7 @@ public:
ShatterRemainingCrystals();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -338,7 +338,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
void JustDied(Unit* /*killer*/)
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 85a113ec495..8958246f1cf 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -127,7 +127,7 @@ public:
summoned->CastSpell(summoned, SPELL_ENERGY_BOLT, false, 0, 0, me->GetGUID());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index da1423ed0e9..daaa7d94d18 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -154,7 +154,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (m_uiTransformTimer)
{
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
index cc8f2b41fbb..645322768e3 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
@@ -67,7 +67,7 @@ class boss_baron_geddon : public CreatureScript
events.ScheduleEvent(EVENT_LIVING_BOMB, 35000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
index 824fcca4714..aa563bf3180 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
@@ -64,7 +64,7 @@ class boss_garr : public CreatureScript
events.ScheduleEvent(EVENT_MAGMA_SHACKLES, 15000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -129,7 +129,7 @@ class mob_firesworn : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
index 6e9d9b00523..9007d16d2f9 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
@@ -61,7 +61,7 @@ class boss_gehennas : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_BOLT, 6000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
index 65c82610cc2..a21ca66543e 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
@@ -84,7 +84,7 @@ class boss_golemagg : public CreatureScript
events.ScheduleEvent(EVENT_EARTHQUAKE, 3000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -155,7 +155,7 @@ class mob_core_rager : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
index 1bb93b2e038..cb91cfc3cae 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
@@ -61,7 +61,7 @@ class boss_lucifron : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_SHOCK, 6000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
index c18e9db1ab7..c4b338d635d 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
@@ -73,7 +73,7 @@ class boss_magmadar : public CreatureScript
events.ScheduleEvent(EVENT_LAVA_BOMB, 12000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
index 26788e10302..a221e2829dd 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
@@ -94,7 +94,7 @@ class boss_majordomo : public CreatureScript
events.ScheduleEvent(EVENT_TELEPORT, 20000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance && instance->GetBossState(BOSS_MAJORDOMO_EXECUTUS) != DONE)
{
@@ -174,7 +174,7 @@ class boss_majordomo : public CreatureScript
}
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_RAGNAROS)
{
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
index eecd9ae65f4..63764b5de01 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_ragnaros.cpp
@@ -115,7 +115,7 @@ class boss_ragnaros : public CreatureScript
Talk(SAY_KILL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_introState != 2)
{
@@ -328,7 +328,7 @@ class mob_son_of_flame : public CreatureScript
instance->SetData(DATA_RAGNAROS_ADDS, 1);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
index 778a8012269..435082b5a98 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
@@ -66,7 +66,7 @@ class boss_shazzrah : public CreatureScript
events.ScheduleEvent(EVENT_BLINK, 30000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
index 1ad0c5dfa2d..b4c2372a015 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
@@ -77,7 +77,7 @@ class boss_sulfuron : public CreatureScript
events.ScheduleEvent(EVENT_FLAMESPEAR, 2000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -162,7 +162,7 @@ class mob_flamewaker_priest : public CreatureScript
events.ScheduleEvent(EVENT_IMMOLATE, 8000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 96293c635d6..c9d3201d02c 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -102,10 +102,8 @@ public:
npc_unworthy_initiateAI(Creature* creature) : ScriptedAI(creature)
{
me->SetReactState(REACT_PASSIVE);
- if (!me->GetEquipmentId())
- if (const CreatureTemplate* info = sObjectMgr->GetCreatureTemplate(28406))
- if (info->equipmentId)
- const_cast<CreatureTemplate*>(me->GetCreatureTemplate())->equipmentId = info->equipmentId;
+ if (!me->GetCurrentEquipmentId())
+ me->SetCurrentEquipmentId(me->GetOriginalEquipmentId());
}
uint64 playerGUID;
@@ -168,7 +166,7 @@ public:
Talk(SAY_EVENT_START);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
switch (phase)
{
@@ -459,7 +457,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
{
@@ -544,7 +542,7 @@ public:
TargetGUID = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Intro || !TargetGUID)
return;
@@ -816,7 +814,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->isInCombat())
{
@@ -890,7 +888,7 @@ public:
minerGUID = guid;
}
- void DoAction(const int32 /*param*/)
+ void DoAction(int32 /*param*/)
{
if (Creature* miner = Unit::GetCreature(*me, minerGUID))
{
@@ -1024,7 +1022,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IntroPhase)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index f508266434b..cb067fccf0d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -90,7 +90,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (speechCounter)
{
@@ -237,7 +237,7 @@ public:
case 2:
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_KOLTIRA_TRANSFORM);
- me->LoadEquipment(me->GetEquipmentId());
+ me->LoadEquipment();
break;
case 3:
SetEscortPaused(true);
@@ -275,7 +275,7 @@ public:
me->SummonCreature(NPC_CRIMSON_ACOLYTE, 1642.329f, -6045.818f, 127.583f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -403,7 +403,7 @@ public:
uiStage = 2;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiStage && !me->isInCombat())
{
@@ -486,7 +486,7 @@ public:
DoCast(who, SPELL_VALROTH_SMITE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiRenew_timer <= diff)
{
@@ -676,7 +676,7 @@ public:
PlayerGUID = who->GetGUID();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (PlayerGUID && !me->getVictim() && me->isAlive())
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index ff92710d5b2..3d91e81644e 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -606,7 +606,7 @@ public:
npc_escortAI::EnterEvadeMode();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -1662,7 +1662,7 @@ public:
npc_the_lich_king_tirion_dawnAI(Creature* creature) : ScriptedAI(creature) { Reset(); }
void Reset() {}
void AttackStart(Unit* /*who*/) {} // very sample, just don't make them aggreesive
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
void JustDied(Unit* /*killer*/) {}
};
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
index 27e057ce6aa..16e6554d1f4 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
@@ -69,7 +69,7 @@ public:
me->SetPosition(x, y, z, 0.0f);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (FlyBackTimer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
index 1ede8a871d9..db08df50148 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
@@ -72,7 +72,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
index 23480154c22..384ffeb6bf3 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
@@ -60,7 +60,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
index 7540a1eefb3..cae033f2a30 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
@@ -77,7 +77,7 @@ public:
Talk(SAY_KILL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 4927666073b..32e8af3821b 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -204,7 +204,7 @@ public:
DoCast(who, SPELL_SQUASH_SOUL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (delay)
{
@@ -325,7 +325,7 @@ public:
}
void Disappear();
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!withbody)
{
@@ -639,7 +639,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (withhead)
{
@@ -858,7 +858,7 @@ public:
DoStartMovement(who);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (sprouted && UpdateVictim())
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index 6e24dd81bbe..4929e0fbb3d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -93,7 +93,7 @@ public:
me->SummonCreature(ENTRY_SCARLET_TRAINEE, 1939.18f, -431.58f, 17.09f, 6.22f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -152,7 +152,7 @@ public:
void WaypointReached(uint32 /*waypointId*/) {}
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Start_Timer)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
index 2c64ba693d0..12148157062 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -77,7 +77,7 @@ public:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
index 1b2679538b0..6bdf1a16b03 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
@@ -59,7 +59,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index 76673b7a632..4206e958f3c 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -89,7 +89,7 @@ public:
vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index 70af355a4c7..c6fdc6e651b 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -175,7 +175,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -290,7 +290,7 @@ public:
damage = me->GetHealth() - 1;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
index f6b6118f701..639db4571cb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
@@ -63,7 +63,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
index 5d164fbfafa..dccb7ccbaa0 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
@@ -88,7 +88,7 @@ class boss_darkmaster_gandling : public CreatureScript
me->GetMotionMaster()->MoveRandom(5);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
index b2a91f4efe4..0f1999b112f 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
@@ -61,7 +61,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
events.ScheduleEvent(EVENT_FRENZY, 1000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
index 617dff17220..5ea6c86d23e 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
@@ -59,7 +59,7 @@ class boss_illucia_barov : public CreatureScript
events.ScheduleEvent(EVENT_FEAR, 30000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
index e2c7287f178..1d311a7bd2c 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
@@ -72,7 +72,7 @@ class boss_instructor_malicia : public CreatureScript
events.ScheduleEvent(EVENT_HEALINGTOUCH, 45000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
index c9cf4aa9020..3f083a30987 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
@@ -70,7 +70,7 @@ public:
Illusion->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Invisible && Invisible_Timer <= diff)
{
@@ -180,7 +180,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
index 19660cec4af..97b8e0334ee 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
@@ -142,7 +142,7 @@ class boss_kirtonos_the_herald : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index a0dc31c4dff..1167a945992 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
@@ -74,7 +74,7 @@ public:
SummonedMage->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
index 3a7aee0d6c6..d0028894067 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
@@ -59,7 +59,7 @@ class boss_lord_alexei_barov : public CreatureScript
events.ScheduleEvent(EVENT_VEILOFSHADOW, 15000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
index d06189d5054..f7170a0618f 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
@@ -59,7 +59,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
events.ScheduleEvent(EVENT_NOXIOUSCATALYST, 35000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
index 99f01ee96c3..4483d5332d7 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
@@ -71,7 +71,7 @@ public:
void EnterCombat(Unit* /*who*/){}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
index 99b9fba958c..14caccb8b00 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
@@ -59,7 +59,7 @@ class boss_the_ravenian : public CreatureScript
events.ScheduleEvent(EVENT_KNOCKAWAY, 32000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index 054760981d2..85ae16499cf 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -60,7 +60,7 @@ public:
m_uiFrenzy_Timer = 0;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index f9bd7d89216..7af7e1e78bc 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -172,7 +172,7 @@ public:
uiDarkOffering = urand(200, 1000);
}
- void UpdateAI(uint32 const uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
index 2357f59b65d..8b49df5ca84 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
@@ -116,7 +116,7 @@ public:
instance->SetData(TYPE_BARON, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
index d72e226d2e2..b2adbecbe63 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
@@ -74,7 +74,7 @@ public:
instance->SetData(TYPE_BARONESS, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
index 909609baecc..74819269415 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
@@ -119,7 +119,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
index 2cb00df38db..f75a0c4a3dc 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
@@ -120,7 +120,7 @@ public:
{
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
index 5d75ce4fa16..5f4d1cbc0b9 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
@@ -85,7 +85,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
index 0a7bdfad583..2812c1dd39b 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
@@ -72,7 +72,7 @@ public:
instance->SetData(TYPE_PALLID, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
index 75bdd2b06de..2cc16bc2972 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
@@ -84,7 +84,7 @@ public:
pUndeadScarab->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
index e52fd3402e7..7c6ea86dfa5 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
@@ -136,7 +136,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
index 5b0b39c1de2..3d0eaba9022 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
@@ -77,7 +77,7 @@ class boss_postmaster_malown : public CreatureScript
Talk(SAY_KILL);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
index 6d83093d13c..5cd69f561d6 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
@@ -82,7 +82,7 @@ public:
instance->SetData(TYPE_RAMSTEIN, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
index bd7c3519926..27249e84892 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
@@ -68,7 +68,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 0798fe2e3b0..7208bbbee03 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -172,7 +172,7 @@ public:
me->SummonCreature(ENTRY_FREED, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 300000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Tagged)
{
@@ -244,7 +244,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Tagged)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index dab612828f8..d81c001889a 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -277,7 +277,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsIntro)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index 73b52c4185f..eb2e4f1ae8b 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -217,7 +217,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!SisterDeath)
{
@@ -542,7 +542,7 @@ public:
return 10000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IntroStepCounter < 9)
{
@@ -707,7 +707,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->HasAura(SPELL_IMAGE_VISUAL))
DoCast(me, SPELL_IMAGE_VISUAL);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index 7f72da805ce..6ac6b9a4812 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -404,7 +404,7 @@ public:
++uiFlightCount;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
@@ -536,7 +536,7 @@ public:
DoZoneInCombat();
//DoCast(me, SPELL_VAPOR_FORCE, true); core bug
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->getVictim())
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
@@ -568,7 +568,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
};
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 742c80bea39..f6c9b79bbc1 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -182,7 +182,7 @@ public:
ScriptedAI::EnterEvadeMode();
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
switch (param)
{
@@ -197,7 +197,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (TalkTimer)
{
@@ -485,7 +485,7 @@ public:
damage *= 3;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->HasAura(AURA_SPECTRAL_INVISIBILITY))
me->CastSpell(me, AURA_SPECTRAL_INVISIBILITY, true);
@@ -691,7 +691,7 @@ public:
}
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
switch (param)
{
@@ -706,7 +706,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->HasAura(AURA_SPECTRAL_INVISIBILITY))
me->CastSpell(me, AURA_SPECTRAL_INVISIBILITY, true);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index c6cda9997b0..39adb8faeff 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -335,7 +335,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
}
@@ -454,7 +454,7 @@ public:
summons.Summon(summoned);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiRandomSayTimer < diff)
{
@@ -666,7 +666,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || Phase < PHASE_NORMAL)
return;
@@ -951,7 +951,7 @@ public:
++(CAST_AI(mob_kiljaeden_controller::mob_kiljaeden_controllerAI, pControl->AI())->deceiverDeathCount);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
DoCast(me, SPELL_SHADOW_CHANNELING);
@@ -1025,7 +1025,7 @@ public:
summoned->SetLevel(me->getLevel());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1071,7 +1071,7 @@ public:
DoCast(me, SPELL_FELFIRE_FISSION, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1124,7 +1124,7 @@ public:
uiTimer = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiTimer <= diff)
{
@@ -1193,7 +1193,7 @@ public:
bClockwise = urand(0, 1);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (bPointReached)
{
@@ -1267,7 +1267,7 @@ public:
victimClass = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index b45e55e0605..aa4acc24bfd 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -172,7 +172,7 @@ public:
instance->SetData(DATA_MURU_EVENT, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -286,7 +286,7 @@ public:
Summons.Summon(summoned);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -434,7 +434,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!SummonSentinel)
{
@@ -484,7 +484,7 @@ public:
me->DisappearAndDie();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -546,7 +546,7 @@ public:
me->SummonCreature(CREATURE_VOID_SPAWN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand()%6), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -602,7 +602,7 @@ public:
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (SpellTimer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index 81f64ce6de0..ec9409af69f 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -130,7 +130,7 @@ class boss_archaedas : public CreatureScript
Talk(SAY_KILL);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!instance)
return;
@@ -278,7 +278,7 @@ class mob_archaedas_minions : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
// we're still in the awaken animation
if (bWakingUp && iAwakenTimer >= 0)
@@ -347,7 +347,7 @@ class mob_stonekeepers : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index 6f521060541..f40570d4130 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -63,7 +63,7 @@ class boss_ironaya : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
index 0cd59951590..9fdc2f26d9f 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
@@ -68,7 +68,7 @@ class mob_jadespine_basilisk : public CreatureScript
{
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index f1cb7b4116a..ce526fb0ddc 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -240,7 +240,7 @@ class boss_akilzon : public CreatureScript
StormSequenceTimer = 1000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -421,7 +421,7 @@ class mob_akilzon_eagle : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (EagleSwoop_Timer <= diff)
EagleSwoop_Timer = 0;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index 577423adb39..21392fda660 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -213,7 +213,7 @@ class boss_halazzi : public CreatureScript
Phase = NextPhase;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -384,7 +384,7 @@ class mob_halazzi_lynx : public CreatureScript
void EnterCombat(Unit* /*who*/) {/*DoZoneInCombat();*/}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
index d3d7bd390ca..332baa29b51 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
@@ -198,7 +198,7 @@ struct boss_hexlord_addAI : public ScriptedAI
DoZoneInCombat();
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (instance && instance->GetData(DATA_HEXLORDEVENT) != IN_PROGRESS)
{
@@ -351,7 +351,7 @@ class boss_hexlord_malacrass : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -511,7 +511,7 @@ class boss_thurg : public CreatureScript
boss_hexlord_addAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -588,7 +588,7 @@ class boss_alyson_antille : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -672,7 +672,7 @@ struct boss_gazakrothAI : public boss_hexlord_addAI
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -714,7 +714,7 @@ class boss_lord_raadan : public CreatureScript
boss_hexlord_addAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -763,7 +763,7 @@ class boss_darkheart : public CreatureScript
psychicwail_timer = 8000;
boss_hexlord_addAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -822,7 +822,7 @@ class boss_slither : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -867,7 +867,7 @@ class boss_fenstalker : public CreatureScript
boss_hexlord_addAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -916,7 +916,7 @@ class boss_koragg : public CreatureScript
boss_hexlord_addAI::Reset();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index eced8dd6830..75e044a3c5e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -315,7 +315,7 @@ class boss_janalai : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (isFlameBreathing)
{
@@ -468,7 +468,7 @@ class mob_janalai_firebomb : public CreatureScript
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
@@ -560,7 +560,7 @@ class mob_janalai_hatcher : public CreatureScript
WaitTimer = 1;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance || !(instance->GetData(DATA_JANALAIEVENT) == IN_PROGRESS))
{
@@ -641,7 +641,7 @@ class mob_janalai_hatchling : public CreatureScript
void EnterCombat(Unit* /*who*/) {/*DoZoneInCombat();*/}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance || !(instance->GetData(DATA_JANALAIEVENT) == IN_PROGRESS))
{
@@ -684,7 +684,7 @@ public:
void Reset() {}
- void UpdateAI(uint32 const /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index 8fd9da930ae..e1cbb52e8d9 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -343,7 +343,7 @@ class boss_nalorakk : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (waitTimer && inMove)
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
index 2305c360fd2..be88e67386b 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
@@ -363,7 +363,7 @@ class boss_zuljin : public CreatureScript
Phase = NextPhase;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!TankGUID)
{
@@ -582,7 +582,7 @@ class mob_zuljin_vortex : public CreatureScript
DoCast(caster, SPELL_ZAP_DAMAGE, true);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//if the vortex reach the target, it change his target to another player
if (me->IsWithinMeleeRange(me->getVictim()))
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index d0eefd67392..ff6d434fa40 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -148,7 +148,7 @@ class npc_zulaman_hostage : public CreatureScript
player->SendLoot(me->GetGUID(), LOOT_CORPSE);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (IsLoot)
DoCast(me, 7, false);
@@ -321,7 +321,7 @@ class npc_harrison_jones : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_gongEvent)
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
index c2806c395f4..97eeb385e15 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
@@ -180,7 +180,7 @@ class boss_arlokk : public CreatureScript
--_summonCountB;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -386,7 +386,7 @@ class npc_zulian_prowler : public CreatureScript
me->DespawnOrUnsummon(4000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (UpdateVictim())
{
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
index f3f12bc35c5..e930d864940 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
@@ -67,7 +67,7 @@ class boss_gahzranka : public CreatureScript // gahzranka
events.ScheduleEvent(EVENT_SLAM, 17000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
index 77f6127c76c..af8303e63e4 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
@@ -64,7 +64,7 @@ class boss_grilek : public CreatureScript // grilek
events.ScheduleEvent(EVENT_GROUND_TREMOR, urand(15000, 25000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
index 68aac7547df..f9fe338d918 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
@@ -103,7 +103,7 @@ class boss_hakkar : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
index 809403bb325..b2282ba85da 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
@@ -66,7 +66,7 @@ class boss_hazzarah : public CreatureScript
events.ScheduleEvent(EVENT_ILLUSIONS, urand(10000, 18000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
index e686881a672..73d2982aee6 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
@@ -97,7 +97,7 @@ class boss_jeklik : public CreatureScript //jeklik
DoCast(me, SPELL_BAT_FORM);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -249,7 +249,7 @@ class mob_batrider : public CreatureScript
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
index 3c2b0f54225..166acc13f58 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
@@ -86,7 +86,7 @@ class boss_jindo : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -212,7 +212,7 @@ class mob_healing_ward : public CreatureScript
{
}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Heal_Timer
if (Heal_Timer <= diff)
@@ -260,7 +260,7 @@ class mob_shade_of_jindo : public CreatureScript
void EnterCombat(Unit* /*who*/){}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//ShadowShock_Timer
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index e402480609b..bd7b7a8798c 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -191,7 +191,7 @@ class boss_mandokir : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
@@ -311,7 +311,7 @@ class mob_ohgan : public CreatureScript
instance->SetBossState(DATA_OHGAN, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
@@ -364,7 +364,7 @@ class mob_vilebranch_speaker : public CreatureScript
instance->SetBossState(DATA_MANDOKIR, SPECIAL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
index 40850a988e4..b1200c2899e 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
@@ -95,7 +95,7 @@ class boss_marli : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -239,7 +239,7 @@ class mob_spawn_of_marli : public CreatureScript
{
}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
index 6bf87decf7e..7e8c7dca7b4 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
@@ -78,7 +78,7 @@ class boss_renataki : public CreatureScript
_EnterCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
index 26322be76ca..f115daf0fb0 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
@@ -116,7 +116,7 @@ class boss_thekal : public CreatureScript
instance->SetBossState(DATA_THEKAL, NOT_STARTED);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -298,7 +298,7 @@ class mob_zealot_lorkhan : public CreatureScript
{
}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -460,7 +460,7 @@ class mob_zealot_zath : public CreatureScript
{
}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
index 11a6e710c3c..3d53d71394b 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
@@ -147,7 +147,7 @@ class boss_venoxis : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
index d1e7edf0218..945303f3d10 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
@@ -64,7 +64,7 @@ class boss_wushoolay : public CreatureScript
events.ScheduleEvent(EVENT_LIGHTNINGWAVE, urand(8000, 16000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/boss_kruul.cpp b/src/server/scripts/EasternKingdoms/boss_kruul.cpp
index 158861e90c7..997417714e8 100644
--- a/src/server/scripts/EasternKingdoms/boss_kruul.cpp
+++ b/src/server/scripts/EasternKingdoms/boss_kruul.cpp
@@ -86,7 +86,7 @@ public:
Hound->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
index d638a435936..74344f28a9b 100644
--- a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
@@ -115,7 +115,7 @@ class npc_professor_phizzlethorpe : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
index 1ce83d31a63..5bfb5edadc1 100644
--- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
@@ -116,7 +116,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
index 33cb5f649d7..ce62de8b368 100644
--- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
@@ -166,7 +166,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (questPhase == 1)
{
@@ -315,7 +315,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Quest accepted but object not activated, object despawned (if in sync 1 minute!)
if (questPhase == 1)
@@ -496,7 +496,7 @@ public:
player->FailQuest(QUEST_UNEXPECTED_RESULT);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (KillCount >= 3 && PlayerGUID)
if (Player* player = Unit::GetPlayer(*me, PlayerGUID))
@@ -599,7 +599,7 @@ public:
CAST_PLR(player)->FailQuest(QUEST_POWERING_OUR_DEFENSES);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (EndTimer < diff && Progress)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
index bfd4d24cec6..45f5e17095f 100644
--- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
@@ -71,7 +71,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Credit)
{
@@ -145,7 +145,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
DoMeleeAttackIfReady();
}
diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
index 5ff95f83f25..fc5ee94a55f 100644
--- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
@@ -105,7 +105,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (HasEscortState(STATE_ESCORT_NONE))
return;
diff --git a/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp b/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
index e750faefbf5..fd36a02b8a5 100644
--- a/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silvermoon_city.cpp
@@ -77,7 +77,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (me->IsStandState())
{
diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
index 290f7fa6882..80e47dbbf08 100644
--- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
@@ -253,7 +253,7 @@ public:
player->FailQuest(QUEST_PYREWOOD_AMBUSH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//sLog->outInfo(LOG_FILTER_TSCR, "DEBUG: p(%i) k(%i) d(%u) W(%i)", Phase, KillCount, diff, WaitTimer);
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index e81567a1a7a..b9c9c8ff15b 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -308,7 +308,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiPhase)
{
@@ -448,7 +448,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -524,7 +524,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiPhase)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
index 6e14ef840a3..c11e850cbc8 100644
--- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
@@ -83,7 +83,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (bReset)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
index f686de5d88f..c7780bb0065 100644
--- a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
@@ -128,7 +128,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
index f36220dec0f..9a496fadb1e 100644
--- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
@@ -113,7 +113,7 @@ public:
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (m_uiPhase)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index 2c3017a2f1a..43ee012ef40 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -142,7 +142,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (LamentEvent)
{
@@ -248,7 +248,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (EventMove)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index c8bc82be245..1831d9f7ff1 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -398,7 +398,7 @@ public:
player->FailQuest(QUEST_TOMB_LIGHTBRINGER);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index 9d35b510f6e..4541e160e63 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -173,7 +173,7 @@ class npc_winterfin_playmate : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -271,7 +271,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -371,7 +371,7 @@ class npc_the_biggest_tree : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -457,7 +457,7 @@ class npc_high_oracle_soo_roo : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -545,7 +545,7 @@ class npc_elder_kekek : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -633,7 +633,7 @@ class npc_the_etymidian : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -755,7 +755,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
diff --git a/src/server/scripts/Examples/example_creature.cpp b/src/server/scripts/Examples/example_creature.cpp
index f82782448ea..d4e1b8d8ce2 100644
--- a/src/server/scripts/Examples/example_creature.cpp
+++ b/src/server/scripts/Examples/example_creature.cpp
@@ -165,7 +165,7 @@ class example_creature : public CreatureScript
// *** HANDLED FUNCTION ***
//Update AI is called Every single map update (roughly once every 50ms if a player is within the grid)
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Out of combat timers
if (!me->getVictim())
diff --git a/src/server/scripts/Examples/example_escort.cpp b/src/server/scripts/Examples/example_escort.cpp
index a7906c4359a..e911736036c 100644
--- a/src/server/scripts/Examples/example_escort.cpp
+++ b/src/server/scripts/Examples/example_escort.cpp
@@ -136,7 +136,7 @@ class example_escort : public CreatureScript
Talk(SAY_DEATH_3);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Must update npc_escortAI
npc_escortAI::UpdateAI(uiDiff);
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index 27a442f302e..0f52daba991 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -132,7 +132,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
index e3fdc633382..535d9a4425b 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
@@ -67,7 +67,7 @@ public:
instance->SetData(TYPE_AKU_MAI, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
index ee87dfa3cf8..4fa9edd40c6 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
@@ -64,7 +64,7 @@ public:
instance->SetData(TYPE_GELIHAST, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
index 61f933d0893..72992c477a8 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
@@ -73,7 +73,7 @@ public:
instance->SetData(TYPE_KELRIS, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index 075d54937c7..6a697c3cc9c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -106,7 +106,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsEvent)
{
@@ -221,7 +221,7 @@ public:
AttackStart(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CheckTimer <= diff)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index e278b3009a0..dcf9605f101 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -115,7 +115,7 @@ public:
damage = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CheckTimer <= diff)
{
@@ -200,7 +200,7 @@ public:
damage = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (ChangeTargetTimer <= diff)
{
@@ -465,7 +465,7 @@ public:
SoulChargeTimer = urand(2000, 30000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index 180aeb0962d..15470716ea7 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -112,7 +112,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsEvent)
{
@@ -234,7 +234,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CheckTimer <= diff)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
index 2432be2c31a..0780b3dcf0d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -108,7 +108,7 @@ public:
DoPlaySoundToSet(me, SOUND_ONDEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsEvent)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
index 84ef05779ee..b35826c9d87 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
@@ -103,7 +103,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsEvent)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index aa17fcf6af4..3f186c96d40 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -708,7 +708,7 @@ void hyjalAI::DeSpawnVeins()
}
}
-void hyjalAI::UpdateAI(const uint32 diff)
+void hyjalAI::UpdateAI(uint32 diff)
{
if (IsDummy)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
index 0833dc2bf07..f40c868a96b 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
@@ -153,7 +153,7 @@ struct hyjalAI : public npc_escortAI
void EnterCombat(Unit* /*who*/); // Used to reset cooldowns for our spells and to inform the raid that we're under attack
- void UpdateAI(const uint32 diff); // Called to summon waves, check for boss deaths and to cast our spells.
+ void UpdateAI(uint32 diff); // Called to summon waves, check for boss deaths and to cast our spells.
void JustDied(Unit* /*killer*/); // Called on death, informs the raid that they have failed.
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index c28d70e2634..adb89ba5a69 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -199,7 +199,7 @@ void hyjal_trashAI::DamageTaken(Unit* done_by, uint32 &damage)
}
}
-void hyjal_trashAI::UpdateAI(const uint32 /*diff*/)
+void hyjal_trashAI::UpdateAI(uint32 /*diff*/)
{
if (IsOverrun && !SetupOverrun)
{
@@ -458,7 +458,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Delay <= diff)
{
@@ -596,7 +596,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -699,7 +699,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -822,7 +822,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
@@ -920,7 +920,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1019,7 +1019,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1109,7 +1109,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1208,7 +1208,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1321,7 +1321,7 @@ public:
hyjal_trashAI::JustDied(killer);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1443,7 +1443,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
index 1a9a4394a3d..01ae6244b4a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
@@ -27,7 +27,7 @@ struct hyjal_trashAI : public npc_escortAI
{
hyjal_trashAI(Creature* creature);
- void UpdateAI(const uint32 diff);
+ void UpdateAI(uint32 diff);
void JustDied(Unit* /*killer*/);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
index fad5736e18f..db568ddc81c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
@@ -93,7 +93,7 @@ public:
instance->SetData(DATA_EPOCH_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
index 8c2861db299..262f8a76509 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
@@ -64,7 +64,7 @@ public:
instance->SetData(DATA_INFINITE_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
index 5aacaf736e0..09335ffb865 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -119,7 +119,7 @@ public:
damage = me->GetHealth()-1;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
switch (Phase)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index c7b819dd243..7cf095d176c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -87,7 +87,7 @@ public:
instance->SetData(DATA_MEATHOOK_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
index d7d9beaedd4..828ffd90113 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
@@ -96,7 +96,7 @@ public:
instance->SetData(DATA_SALRAMM_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
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 d5d5416f093..d8df5d56888 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -589,7 +589,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
index 7643131edf7..7a18210791c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
@@ -109,7 +109,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
index 7ac8d4e783b..ef0d7b1f418 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
@@ -108,7 +108,7 @@ public:
instance->SetData(TYPE_RIFT, SPECIAL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
index 6e78e4dae7b..e224094b1f9 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
@@ -108,7 +108,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
index 4c80bc017b7..c7c88e380cb 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
@@ -168,7 +168,7 @@ public:
Talk(SAY_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
@@ -342,7 +342,7 @@ public:
} else DoSummonAtRift(entry);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
index 5e7fc6e66e8..adbc7a14745 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
@@ -103,7 +103,7 @@ public:
instance->SetData(TYPE_THRALL_PART1, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
index ad3e6979dfb..b48e0b376ea 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
@@ -95,7 +95,7 @@ public:
instance->SetData(TYPE_THRALL_PART4, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
index 65f496a579f..241bdc18be6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -150,7 +150,7 @@ public:
Talk(SAY_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//TODO: make this work
if (CanPatrol && wpId == 0)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 4a4ba4f3ce2..0fce48939af 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -536,7 +536,7 @@ public:
Talk(SAY_TH_RANDOM_DIE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -642,7 +642,7 @@ public:
void Reset() {}
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
index 222937621a8..695f9d2973e 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
@@ -65,7 +65,7 @@ public:
me->SummonCreature(13716, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
index c6c0387026c..eea34e1949f 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
@@ -62,7 +62,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
index 3fcd840077f..96c3c4a6c45 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
@@ -69,7 +69,7 @@ public:
Add->AI()->AttackStart(victim);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Invisible && InvisibleTimer <= diff)
{
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
index eda5f125b00..ddce2f658e7 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
@@ -69,7 +69,7 @@ public:
me->SummonCreature(12238, 28.067f, 61.875f, -123.405f, 4.67f, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index 4724794d03b..e01f2b097b0 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -341,7 +341,7 @@ public:
MovePoint = iTemp;
}
- void UpdateAI(const uint32 Diff)
+ void UpdateAI(uint32 Diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index d272b3cc84c..374652ee91d 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -81,7 +81,7 @@ public:
Talk(SAY_KILL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
index b90d5a760d3..78535b7c3b0 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
@@ -142,7 +142,7 @@ public:
uiWebTimer = urand(5000, 8000);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index cfc35b676ea..20872903c7b 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -144,7 +144,7 @@ class boss_ayamiss : public CreatureScript
me->GetMotionMaster()->MovePoint(POINT_AIR, AyamissAirPos);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -272,7 +272,7 @@ class npc_hive_zara_larva : public CreatureScript
ScriptedAI::AttackStart(victim);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_instance->GetBossState(DATA_AYAMISS) == IN_PROGRESS)
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
index c69a696827e..0ad077aaa4e 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
@@ -95,7 +95,7 @@ class boss_buru : public CreatureScript
_phase = PHASE_EGG;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_EXPLODE)
if (_phase == PHASE_EGG)
@@ -133,7 +133,7 @@ class boss_buru : public CreatureScript
events.ScheduleEvent(EVENT_RESPAWN_EGG, 100000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index ddb9017f3dd..033980d746b 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -81,7 +81,7 @@ class boss_kurinnaxx : public CreatureScript
sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
index 70db1213394..dd52872e1da 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
@@ -80,7 +80,7 @@ class boss_moam : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -105,7 +105,7 @@ class boss_moam : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index 20c0dd035a4..f29f4999d2d 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -117,7 +117,7 @@ class boss_ossirian : public CreatureScript
}
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
if (action == ACTION_TRIGGER_WEAKNESS)
if (Creature* Trigger = me->GetMap()->GetCreature(TriggerGUID))
@@ -212,7 +212,7 @@ class boss_ossirian : public CreatureScript
BossAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
index dae447e43d2..a7151ec7c05 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
@@ -86,7 +86,7 @@ class boss_rajaxx : public CreatureScript
_EnterCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index a16e9cfa89d..becbd126d9b 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -89,7 +89,7 @@ public:
instance->SetData(DATA_BUG_TRIO_DEATH, 1);
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -185,7 +185,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -286,7 +286,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index b5fbd644592..e6460c00ab6 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -230,7 +230,7 @@ public:
Spawned->AI()->AttackStart(target);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
@@ -581,7 +581,7 @@ public:
return (*j);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
@@ -895,7 +895,7 @@ public:
}
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
switch (param)
{
@@ -955,7 +955,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
@@ -1030,7 +1030,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
@@ -1142,7 +1142,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
@@ -1255,7 +1255,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check if we have a target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
index 52d59efd0df..de941ec266f 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
@@ -97,7 +97,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
index 5493e9d76b0..f8cf0917c37 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
@@ -80,7 +80,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
index 53242d4cdc6..9b095b0100a 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
@@ -78,7 +78,7 @@ public:
DoCast(me->getVictim(), SPELL_BIRTH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
index 3915a7655c5..d4bb5416a4e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -98,7 +98,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -225,7 +225,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index 8030358a068..034b27f081e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -134,7 +134,7 @@ class boss_skeram : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index d623963e929..86ab6371789 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -429,7 +429,7 @@ public:
target->SetFullHealth();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -518,7 +518,7 @@ public:
target->SetFullHealth();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index fcbe3a84d62..413149e0d5e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -194,7 +194,7 @@ class boss_viscidus : public CreatureScript
summons.DespawnAll();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
index 7189abcc4fa..a4a5e0d94be 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
@@ -208,7 +208,7 @@ public:
summoned->AI()->AttackStart(me);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (currentEvent != TYPE_NARALEX_PART3)
npc_escortAI::UpdateAI(diff);
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index ee89c9b6cad..59c91dbd549 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -124,7 +124,7 @@ public:
me->setFaction(FACTION_FRIENDLY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (postGossipStep>0 && postGossipStep<4)
{
@@ -182,7 +182,7 @@ public:
DoMeleeAttackIfReady();
}
- void DoAction(const int32 /*param*/)
+ void DoAction(int32 /*param*/)
{
postGossipStep=1;
Text_Timer = 0;
@@ -331,7 +331,7 @@ public:
instance->SetData(0, DONE);*/
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -376,7 +376,7 @@ public:
}
}
- void DoAction(const int32 /*param*/)
+ void DoAction(int32 /*param*/)
{
DestroyDoor();
}
diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp
index 4f37cacac02..dd202247aaa 100644
--- a/src/server/scripts/Kalimdor/boss_azuregos.cpp
+++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp
@@ -81,7 +81,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index 94c68a1d3ec..ec24e870ae9 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -124,7 +124,7 @@ class npc_torek : public CreatureScript
summoned->AI()->AttackStart(me);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -242,7 +242,7 @@ class npc_ruul_snowhoof : public CreatureScript
summoned->AI()->AttackStart(me);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
@@ -411,7 +411,7 @@ class npc_muglash : public CreatureScript
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp
index 44f7e1e8172..bb27e172e5e 100644
--- a/src/server/scripts/Kalimdor/zone_azshara.cpp
+++ b/src/server/scripts/Kalimdor/zone_azshara.cpp
@@ -78,7 +78,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// we mustn't remove the Creature in the same round in which we cast the summon spell, otherwise there will be no summons
if (spellhit && morphtimer >= 5000)
@@ -332,7 +332,7 @@ public:
Reached = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (MustDie)
{
@@ -485,7 +485,7 @@ public:
WeMustDieTimer = 1000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (WeMustDie)
{
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index 4b03cd65cad..3f4b1d82b8d 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -124,7 +124,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (SayThanksTimer)
{
@@ -254,7 +254,7 @@ public:
Talk(ATTACK_YELL, who->GetGUID());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat() && !IsTreeEvent)
{
@@ -321,7 +321,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
};
@@ -555,7 +555,7 @@ public:
sLog->outError(LOG_FILTER_TSCR, "SD2 ERROR: FlagList is empty!");
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (SayTimer <= diff)
{
@@ -626,7 +626,7 @@ public:
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -712,7 +712,7 @@ class npc_stillpine_capitive : public CreatureScript
_events.ScheduleEvent(EVENT_DESPAWN, 3500);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_movementComplete)
return;
diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp
index 09f061148d3..30f5283f716 100644
--- a/src/server/scripts/Kalimdor/zone_darkshore.cpp
+++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp
@@ -143,7 +143,7 @@ public:
SetFollowPaused(false);
}
- void UpdateFollowerAI(const uint32 Diff)
+ void UpdateFollowerAI(uint32 Diff)
{
if (!UpdateVictim())
{
diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp
index 8dbeb989140..b21cb28e0d5 100644
--- a/src/server/scripts/Kalimdor/zone_desolace.cpp
+++ b/src/server/scripts/Kalimdor/zone_desolace.cpp
@@ -109,7 +109,7 @@ public:
}
}
};
-
+
CreatureAI* GetAI(Creature* creature) const
{
return new npc_aged_dying_ancient_kodoAI(creature);
@@ -205,7 +205,7 @@ public:
return;
}
- void UpdateAI(const uint32 Diff)
+ void UpdateAI(uint32 Diff)
{
npc_escortAI::UpdateAI(Diff);
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index 9bd96957a52..6e474655db3 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -84,7 +84,7 @@ public:
}
}
- void UpdateAI(const uint32 Diff)
+ void UpdateAI(uint32 Diff)
{
if (work == true)
me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_CHOPWOOD);
@@ -183,7 +183,7 @@ class npc_tiger_matriarch_credit : public CreatureScript
events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 2000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
@@ -295,7 +295,7 @@ class npc_tiger_matriarch : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 37941227c78..f1789ff5139 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -95,7 +95,7 @@ class mobs_risen_husk_spirit : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -204,7 +204,7 @@ public:
Step = 0;
}
- void UpdateAI(const uint32 Diff)
+ void UpdateAI(uint32 Diff)
{
if (!me->HasAura(SPELL_PROPAGANDIZED))
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -458,7 +458,7 @@ public:
Talk(SAY_ZELFRAX2);
}
- void UpdateAI(uint32 const /*Diff*/)
+ void UpdateAI(uint32 /*Diff*/)
{
if (!UpdateVictim())
return;
@@ -583,7 +583,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index e41ffae03e6..b5be4ac1a6d 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -383,7 +383,7 @@ public:
return;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -630,7 +630,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -677,7 +677,7 @@ public:
events.ScheduleEvent(EVENT_DESPAWN, 5*MINUTE*IN_MILLISECONDS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp
index aca55284b67..b81b8eb9eb7 100644
--- a/src/server/scripts/Kalimdor/zone_mulgore.cpp
+++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp
@@ -147,7 +147,7 @@ public:
IsMovingToLunch = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (EventActive)
{
@@ -303,7 +303,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (newWaypoint)
{
diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
index 42ef9843a4e..1d4806e7f97 100644
--- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
+++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
@@ -83,7 +83,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CanEmote)
{
@@ -224,7 +224,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index a612269eff7..70e7f731fc4 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -791,7 +791,7 @@ public:
}
++AnimationCount;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AnimationTimer)
{
@@ -843,7 +843,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void JustDied(Unit* /*slayer*/);
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Timers)
{
@@ -1045,7 +1045,7 @@ public:
Announced = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!PlayerGUID || !EventStarted)
return;
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index 0648e40416d..9d257790ab8 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -104,7 +104,7 @@ public:
Talk(AGGRO_YELL_AQUE, who->GetGUID());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (isFriendly)
{
@@ -270,7 +270,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void Reset() {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
@@ -603,7 +603,7 @@ public:
SetFollowComplete();
}
- void UpdateFollowerAI(const uint32 Diff)
+ void UpdateFollowerAI(uint32 Diff)
{
if (!UpdateVictim())
{
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index b349de8f083..ff52af97c11 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -278,7 +278,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsFriend)
{
@@ -397,7 +397,7 @@ public:
void KilledUnit(Unit* /*victim*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (EventInProgress) {
Player* pWarrior = NULL;
diff --git a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
index 9c47991a5d5..02e64421ecb 100644
--- a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
+++ b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp
@@ -368,7 +368,7 @@ public:
}
}
- void UpdateAI(const uint32 Diff)
+ void UpdateAI(uint32 Diff)
{
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
{
@@ -441,7 +441,7 @@ public:
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
index 2787d72ddde..cd2e8308e6a 100644
--- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
+++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
@@ -98,7 +98,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
index e72c82bee97..9c89ad6d53a 100644
--- a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
+++ b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
@@ -126,7 +126,7 @@ public:
player->FailQuest(QUEST_CHASING_AME);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
if (!UpdateVictim())
@@ -261,7 +261,7 @@ public:
SetFollowPaused(false);
}
- void UpdateFollowerAI(const uint32 Diff)
+ void UpdateFollowerAI(uint32 Diff)
{
if (!UpdateVictim())
{
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
index bb08b48ab4a..24335c0e469 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
@@ -129,7 +129,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -211,7 +211,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*victim*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
index e9341e4956d..a9fad9c5451 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -139,7 +139,7 @@ class boss_elder_nadox : public CreatureScript
instance->SetData(DATA_ELDER_NADOX_EVENT, DONE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -218,7 +218,7 @@ class mob_ahnkahar_nerubian : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_GUARDIAN_AURA);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -266,7 +266,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*victim*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index 38c409ee706..82ac2e8387c 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -258,7 +258,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
index 732216420f9..e8b17224179 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -150,7 +150,7 @@ public:
instance->SetData(DATA_JEDOGA_SHADOWSEEKER_EVENT, DONE);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_INITIAND_KILLED)
volunteerWork = false;
@@ -280,7 +280,7 @@ public:
bCanDown = true;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
@@ -451,7 +451,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance && bCheckTimer <= diff)
{
@@ -548,7 +548,7 @@ public:
void AttackStart(Unit* /*victim*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!instance)
return;
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
index 53d0ddd6c19..a68cbcb7ee6 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -121,7 +121,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -370,7 +370,7 @@ public:
DoCast(me, SPELL_FLAME_SPHERE_DEATH_EFFECT);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiDespawnTimer <= diff)
me->DisappearAndDie();
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index 06a640be6e4..1ec61488c1b 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -168,7 +168,7 @@ public:
instance->SetData(DATA_ANUBARAK_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index e7decdc10fd..eec7959f56f 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -134,7 +134,7 @@ public:
EnterEvadeMode();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
index aa329f12f6a..295f38658e2 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
@@ -138,7 +138,7 @@ public:
me->SummonCreature(MOB_SKITTERING_SWARMER, SpawnPoint[7], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -239,7 +239,7 @@ public:
uiBackstabTimer = 7*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -290,7 +290,7 @@ public:
uiShadowNovaTimer = 15*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -336,7 +336,7 @@ public:
uiStrikeTimer = 6*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -386,7 +386,7 @@ public:
DoCast(me, SPELL_ENRAGE, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -434,7 +434,7 @@ public:
uiBindingWebsTimer = 17*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -488,7 +488,7 @@ public:
uiPoisonSprayTimer = 15*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 3021e628063..bbec79ea43d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -547,7 +547,7 @@ public:
(*itr)->CastSpell(target, SPELL_LAVA_STRIKE, true);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -954,7 +954,7 @@ struct dummy_dragonAI : public ScriptedAI
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (m_bCanMoveFree && m_uiMoveNextTimer)
{
@@ -1017,7 +1017,7 @@ public:
Talk(SAY_TENEBRON_SLAY);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//if no target, update dummy and return
if (!UpdateVictim())
@@ -1112,7 +1112,7 @@ public:
Talk(SAY_SHADRON_SLAY);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//if no target, update dummy and return
if (!UpdateVictim())
@@ -1210,7 +1210,7 @@ public:
Talk(SAY_VESPERON_SLAY);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//if no target, update dummy and return
if (!UpdateVictim())
@@ -1352,7 +1352,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiDespawnTimer < uiDiff)
{
@@ -1447,7 +1447,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiDespawnTimer < uiDiff)
{
@@ -1519,7 +1519,7 @@ public:
who->SetInCombatWithZone();
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (m_uiHatchEggTimer <= uiDiff)
{
@@ -1573,7 +1573,7 @@ public:
entry = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Tsunami_Timer <= diff)
{
@@ -1621,7 +1621,7 @@ public:
VoidBlast_Timer = 5000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (VoidBlast_Timer <= diff)
{
@@ -1668,7 +1668,7 @@ public:
m_uiFadeArmorTimer = 1000;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
index 70c1141b6e6..d3a685bc6ba 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
@@ -85,7 +85,7 @@ class boss_baltharus_the_warborn : public CreatureScript
instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetMaxHealth());
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -162,7 +162,7 @@ class boss_baltharus_the_warborn : public CreatureScript
instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetHealth() - damage);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
bool introPhase = events.IsInPhase(PHASE_INTRO);
if (!UpdateVictim() && !introPhase)
@@ -257,7 +257,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
killer->Kill(baltharus);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
index 94325ca015b..c616d44816c 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -140,7 +140,7 @@ class boss_general_zarithrian : public CreatureScript
return (instance->GetBossState(DATA_SAVIANA_RAGEFIRE) == DONE && instance->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 5b23aa6ffdd..fd70a073a39 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -243,7 +243,7 @@ struct generic_halionAI : public BossAI
_JustReachedHome();
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -262,7 +262,7 @@ struct generic_halionAI : public BossAI
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -389,7 +389,7 @@ class boss_halion : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (events.IsInPhase(PHASE_TWO))
return;
@@ -397,7 +397,7 @@ class boss_halion : public CreatureScript
generic_halionAI::UpdateAI(diff);
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -557,7 +557,7 @@ class boss_twilight_halion : public CreatureScript
}
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -641,7 +641,7 @@ class npc_halion_controller : public CreatureScript
_instance->SetBossState(DATA_HALION, FAIL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -683,7 +683,7 @@ class npc_halion_controller : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// The isInCombat() check is needed because that check should be false when Halion is
// not engaged, while it would return true without as UpdateVictim() checks for
@@ -912,7 +912,7 @@ class npc_orb_carrier : public CreatureScript
ASSERT(creature->GetVehicleKit());
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
/// According to sniffs this spell is cast every 1 or 2 seconds.
/// However, refreshing it looks bad, so just cast the spell if
@@ -928,7 +928,7 @@ class npc_orb_carrier : public CreatureScript
me->SetFacingToObject(rotationFocus); // setInFront
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_SHOOT)
{
@@ -981,7 +981,7 @@ class npc_meteor_strike_initial : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -1029,7 +1029,7 @@ class npc_meteor_strike_initial : public CreatureScript
}
}
- void UpdateAI(uint32 const /*diff*/) { }
+ void UpdateAI(uint32 /*diff*/) { }
void EnterEvadeMode() { }
private:
InstanceScript* _instance;
@@ -1058,7 +1058,7 @@ class npc_meteor_strike : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_METEOR_STRIKE_BURN)
{
@@ -1075,7 +1075,7 @@ class npc_meteor_strike : public CreatureScript
controller->AI()->JustSummoned(me);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_spawnCount > 5)
return;
@@ -1170,7 +1170,7 @@ class npc_combustion_consumption : public CreatureScript
summoner->CastCustomSpell(_explosionSpell, SPELLVALUE_BASE_POINT0, damage, summoner);
}
- void UpdateAI(uint32 const /*diff*/) { }
+ void UpdateAI(uint32 /*diff*/) { }
private:
InstanceScript* _instance;
@@ -1249,7 +1249,7 @@ class npc_living_ember : public CreatureScript
me->DespawnOrUnsummon(1);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_CASTING))
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
index 06743858ec0..d391abb0d4d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -141,7 +141,7 @@ class boss_saviana_ragefire : public CreatureScript
Talk(SAY_KILL);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
index 5baae66e65b..2623b2c542a 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
@@ -66,7 +66,7 @@ class npc_xerestrasza : public CreatureScript
me->RemoveFlag(UNIT_NPC_FLAGS, GOSSIP_OPTION_QUESTGIVER);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_BALTHARUS_DEATH)
{
@@ -92,7 +92,7 @@ class npc_xerestrasza : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_isIntro)
return;
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 fb0f0fbaee1..553b836da8f 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -175,7 +175,7 @@ public:
me->DisappearAndDie();
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (bDone && uiResetTimer <= uiDiff)
{
@@ -299,7 +299,7 @@ public:
me->DisappearAndDie();
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (bDone && uiResetTimer <= uiDiff)
{
@@ -403,7 +403,7 @@ public:
uiWakingNightmare = 7000;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -545,7 +545,7 @@ public:
uiWaypoint = uiType;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
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 ceb9724a078..b253d15773d 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -153,7 +153,7 @@ public:
summon->AI()->AttackStart(me->getVictim());
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -320,7 +320,7 @@ public:
uiAttackTimer = 3500;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -362,7 +362,7 @@ public:
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
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 9299630b3d2..e637de75b4d 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -233,7 +233,7 @@ public:
DoCast(me, SPELL_SHIELD, true);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -360,7 +360,7 @@ public:
bHome = false;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -494,7 +494,7 @@ public:
bHome = false;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -639,7 +639,7 @@ public:
bHome = false;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -785,7 +785,7 @@ public:
bHome = false;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -933,7 +933,7 @@ public:
bHome = false;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!bDone && GrandChampionsOutVehicle(me))
{
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 7e4a740cb13..472048501a5 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
@@ -412,7 +412,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
ScriptedAI::UpdateAI(uiDiff);
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 17b804ca31e..9c6d481c207 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -284,7 +284,7 @@ class boss_anubarak_trial : public CreatureScript
_sphereGUID[i] = summoned->GetGUID();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -451,7 +451,7 @@ class mob_swarm_scarab : public CreatureScript
Anubarak->AI()->JustSummoned(me);
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
switch (actionId)
{
@@ -469,7 +469,7 @@ class mob_swarm_scarab : public CreatureScript
DoCast(killer, RAID_MODE(SPELL_TRAITOR_KING_10, SPELL_TRAITOR_KING_25));
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_instance && _instance->GetBossState(BOSS_ANUBARAK) != IN_PROGRESS)
me->DisappearAndDie();
@@ -525,7 +525,7 @@ class mob_nerubian_burrower : public CreatureScript
Anubarak->AI()->JustSummoned(me);
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
switch (actionId)
{
@@ -539,7 +539,7 @@ class mob_nerubian_burrower : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_instance && _instance->GetBossState(BOSS_ANUBARAK) != IN_PROGRESS)
me->DisappearAndDie();
@@ -700,7 +700,7 @@ class mob_anubarak_spike : public CreatureScript
uiDamage = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
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 ba554c3703d..f1bf0579187 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -710,7 +710,7 @@ struct boss_faction_championsAI : public BossAI
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
@@ -773,7 +773,7 @@ class mob_toc_druid : public CreatureScript
SetEquipmentSlots(false, 51799, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -865,7 +865,7 @@ class mob_toc_shaman : public CreatureScript
SetEquipmentSlots(false, 49992, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -959,7 +959,7 @@ class mob_toc_paladin : public CreatureScript
SetEquipmentSlots(false, 50771, 47079, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1062,7 +1062,7 @@ class mob_toc_priest : public CreatureScript
SetEquipmentSlots(false, 49992, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1152,7 +1152,7 @@ class mob_toc_shadow_priest : public CreatureScript
DoCast(me, SPELL_SHADOWFORM);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1251,7 +1251,7 @@ class mob_toc_warlock : public CreatureScript
DoCast(SPELL_SUMMON_FELHUNTER);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1337,7 +1337,7 @@ class mob_toc_mage : public CreatureScript
SetEquipmentSlots(false, 47524, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1437,7 +1437,7 @@ class mob_toc_hunter : public CreatureScript
DoCast(SPELL_CALL_PET);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1534,7 +1534,7 @@ class mob_toc_boomkin : public CreatureScript
SetEquipmentSlots(false, 50966, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1629,7 +1629,7 @@ class mob_toc_warrior : public CreatureScript
SetEquipmentSlots(false, 47427, 46964, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1728,7 +1728,7 @@ class mob_toc_dk : public CreatureScript
SetEquipmentSlots(false, 47518, 51021, EQUIP_NO_CHANGE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1827,7 +1827,7 @@ class mob_toc_rogue : public CreatureScript
me->SetMaxPower(POWER_ENERGY, 100);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1967,7 +1967,7 @@ class mob_toc_enh_shaman : public CreatureScript
summons.DespawnAll();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2062,7 +2062,7 @@ class mob_toc_retro_paladin : public CreatureScript
DoCast(SPELL_SEAL_OF_COMMAND);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2155,7 +2155,7 @@ class mob_toc_pet_warlock : public CreatureScript
events.ScheduleEvent(EVENT_SPELL_LOCK, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2206,7 +2206,7 @@ class mob_toc_pet_hunter : public CreatureScript
_clawTimer = urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 a44938e0f82..74324d6c515 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -149,7 +149,7 @@ class boss_jaraxxus : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -238,7 +238,7 @@ class mob_legion_flame : public CreatureScript
DoCast(SPELL_LEGION_FLAME_EFFECT);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
UpdateVictim();
if (_instance && _instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
@@ -296,7 +296,7 @@ class mob_infernal_volcano : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 const /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
private:
SummonList _summons;
@@ -326,7 +326,7 @@ class mob_fel_infernal : public CreatureScript
me->SetInCombatWithZone();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_instance && _instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
{
@@ -400,7 +400,7 @@ class mob_nether_portal : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 const /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
private:
SummonList _summons;
@@ -441,7 +441,7 @@ class mob_mistress_of_pain : public CreatureScript
_instance->SetData(DATA_MISTRESS_OF_PAIN_COUNT, DECREASE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_instance && _instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
{
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 95f59903141..c39b8403474 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -235,7 +235,7 @@ class boss_gormok : public CreatureScript
pSnobold->ToCreature()->DespawnOrUnsummon();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -359,7 +359,7 @@ class mob_snobold_vassal : public CreatureScript
_instance->SetData(DATA_SNOBOLD_COUNT, DECREASE);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -374,7 +374,7 @@ class mob_snobold_vassal : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || _targetDied)
return;
@@ -481,7 +481,7 @@ class npc_firebomb : public CreatureScript
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (_instance->GetData(TYPE_NORTHREND_BEASTS) != GORMOK_IN_PROGRESS)
me->DespawnOrUnsummon();
@@ -558,7 +558,7 @@ struct boss_jormungarAI : public BossAI
instance->SetData(TYPE_NORTHREND_BEASTS, SNAKES_IN_PROGRESS);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -804,7 +804,7 @@ class mob_slime_pool : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!_cast)
{
@@ -972,7 +972,7 @@ class boss_icehowl : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 2509c3d0d59..b41e986741b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -270,7 +270,7 @@ struct boss_twin_baseAI : public BossAI
DoCast(me, SurgeSpellId);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -292,7 +292,7 @@ struct boss_twin_baseAI : public BossAI
me->UpdateDamagePhysical(mode ? OFF_ATTACK : BASE_ATTACK);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance || !UpdateVictim())
return;
@@ -594,7 +594,7 @@ class mob_unleashed_dark : public CreatureScript
{
mob_unleashed_darkAI(Creature* creature) : mob_unleashed_ballAI(creature) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (RangeCheckTimer < diff)
{
@@ -626,7 +626,7 @@ class mob_unleashed_light : public CreatureScript
{
mob_unleashed_lightAI(Creature* creature) : mob_unleashed_ballAI(creature) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (RangeCheckTimer < diff)
{
@@ -666,7 +666,7 @@ class mob_bullet_controller : public CreatureScript
DoCastAOE(SPELL_CONTROLLER_PERIODIC);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
UpdateVictim();
}
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 3e3fbf51cd0..a68ea1025d5 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
@@ -267,7 +267,7 @@ class boss_lich_king_toc : public CreatureScript
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!_instance)
return;
@@ -415,7 +415,7 @@ class npc_fizzlebang_toc : public CreatureScript
_summons.Summon(summoned);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!_instance)
return;
@@ -548,7 +548,7 @@ class npc_tirion_toc : public CreatureScript
void AttackStart(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!_instance)
return;
@@ -836,7 +836,7 @@ class npc_garrosh_toc : public CreatureScript
void AttackStart(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!_instance)
return;
@@ -920,7 +920,7 @@ class npc_varian_toc : public CreatureScript
void AttackStart(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!_instance)
return;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp
index 6cb970f6ab7..923f8a23d6f 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_dred.cpp
@@ -86,7 +86,7 @@ class boss_dred : public CreatureScript
instance->SetData(DATA_DRED_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -148,7 +148,7 @@ class boss_dred : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_RAPTOR_KILLED)
++raptorsKilled;
@@ -196,7 +196,7 @@ class npc_drakkari_gutripper : public CreatureScript
GutRipTimer = urand(10000, 15000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -246,7 +246,7 @@ class npc_drakkari_scytheclaw : public CreatureScript
uiRendTimer = urand(10000, 15000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index e99128fbbf9..6eedfb357db 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -112,7 +112,7 @@ public:
DoStartNoMovement(target);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || _bubbled)
return;
@@ -141,7 +141,7 @@ public:
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_CRYSTAL_HANDLER_DIED)
CrystalHandlerDied();
@@ -279,7 +279,7 @@ public:
_temp = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_spell)
{
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
index 1f30b805f8a..0ca7ccd196a 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
@@ -107,7 +107,7 @@ public:
instance->SetData(DATA_THARON_JA_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index bcec5fc1547..9e9ecc561d5 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -108,7 +108,7 @@ public:
instance->SetData(DATA_TROLLGORE_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index 5d261fd3804..516a3e0f7c9 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -136,7 +136,7 @@ class boss_bronjahm : public CreatureScript
summon->CastSpell(summon, SPELL_PURPLE_BANISH_VISUAL, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 b3781f89e06..623124f441f 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
@@ -247,7 +247,7 @@ class boss_devourer_of_souls : public CreatureScript
return 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
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 b5d95dfb0f6..efc687eb409 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
@@ -95,7 +95,7 @@ public:
phase = PHASE_NORMAL;
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
switch (actionId)
{
@@ -109,7 +109,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (phase == PHASE_INTRO)
{
@@ -221,7 +221,7 @@ public:
phase = PHASE_NORMAL;
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
switch (actionId)
{
@@ -235,7 +235,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (phase == PHASE_INTRO)
{
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 2278bfe409a..5e13fd22c47 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -95,7 +95,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index 1d7e405585f..191465a52f3 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -91,7 +91,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
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 e0a2f90b082..c6093d6bc0f 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -233,7 +233,7 @@ public:
me->SetVisible(true);
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
switch (actionId)
{
@@ -246,7 +246,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
switch (events.ExecuteEvent())
@@ -657,7 +657,7 @@ public:
events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -740,7 +740,7 @@ public:
events.ScheduleEvent(EVENT_HALLUCINATION, 40000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -840,7 +840,7 @@ public:
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -910,7 +910,7 @@ public:
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -976,7 +976,7 @@ public:
events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
index a8bd92cc070..2cab1cca214 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -102,7 +102,7 @@ struct boss_horAI : ScriptedAI
uiDamage = 0;
}
- void DoAction(const int32 actionID)
+ void DoAction(int32 actionID)
{
switch (actionID)
{
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 cc25e450340..822adbb9201 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -186,7 +186,7 @@ enum Events
return _permafrostStack;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index f657c8e19b5..182f79b6ea0 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -203,7 +203,7 @@ class boss_ick : public CreatureScript
me->AddThreat(target, _tempThreat);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
return;
@@ -338,7 +338,7 @@ class boss_krick : public CreatureScript
}
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
if (actionId == ACTION_OUTRO)
{
@@ -365,7 +365,7 @@ class boss_krick : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_1, 1000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_phase != PHASE_OUTRO)
return;
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 165cd8d647a..8b771f507c2 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -201,7 +201,7 @@ class boss_tyrannus : public CreatureScript
rimefang->AI()->DoAction(ACTION_END_COMBAT);
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
if (actionId == ACTION_START_INTRO)
{
@@ -215,7 +215,7 @@ class boss_tyrannus : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !events.IsInPhase(PHASE_INTRO))
return;
@@ -313,7 +313,7 @@ class boss_rimefang : public CreatureScript
_vehicle->InstallAllAccessories(false);
}
- void DoAction(const int32 actionId)
+ void DoAction(int32 actionId)
{
if (actionId == ACTION_START_RIMEFANG)
{
@@ -335,7 +335,7 @@ class boss_rimefang : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !_events.IsInPhase(PHASE_COMBAT))
return;
@@ -409,7 +409,7 @@ class player_overlord_brandAI : public PlayerAI
me->CastCustomSpell(SPELL_OVERLORD_BRAND_HEAL, SPELLVALUE_BASE_POINT0, int32(addHealth*5.5f), tyrannus, true, NULL, NULL, tyrannus->GetGUID());
}
- void UpdateAI(const uint32 /*diff*/) { }
+ void UpdateAI(uint32 /*diff*/) { }
private:
Creature* tyrannus;
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 246d389e0e7..42d912e2bd2 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -60,7 +60,7 @@ class mob_ymirjar_flamebearer : public CreatureScript
_events.ScheduleEvent(EVENT_TACTICAL_BLINK, 15000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -125,7 +125,7 @@ class mob_iceborn_protodrake : public CreatureScript
_vehicle->RemoveAllPassengers();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -178,7 +178,7 @@ class mob_geist_ambusher : public CreatureScript
DoCast(who, SPELL_LEAPING_FACE_MAUL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 58301df4ca2..1ec29224763 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -140,7 +140,7 @@ class boss_drakkari_colossus : public CreatureScript
instance->SetData(DATA_DRAKKARI_COLOSSUS_EVENT, FAIL);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -148,6 +148,7 @@ class boss_drakkari_colossus : public CreatureScript
DoCast(SPELL_EMERGE);
break;
case ACTION_FREEZE_COLOSSUS:
+ me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->SetReactState(REACT_PASSIVE);
@@ -207,7 +208,7 @@ class boss_drakkari_colossus : public CreatureScript
introDone = data;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -284,7 +285,7 @@ class boss_drakkari_elemental : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -310,7 +311,7 @@ class boss_drakkari_elemental : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -465,7 +466,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
index d169fb163b2..df949c7a962 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
@@ -75,7 +75,7 @@ public:
instance->SetData(DATA_ECK_THE_FEROCIOUS_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
index baba9d5396b..e4cdf89c165 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
@@ -127,7 +127,7 @@ public:
instance->SetData(DATA_GAL_DARAH_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
index 8f325dafc82..97c75b5f391 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
@@ -91,7 +91,7 @@ public:
instance->SetData(DATA_MOORABI_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index 1b5f6e5d426..6deb0c20676 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -122,7 +122,7 @@ public:
instance->SetData(DATA_SLAD_RAN_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -231,7 +231,7 @@ public:
uiGripOfSladRanTimer = 1*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -286,7 +286,7 @@ public:
uiVenomousBiteTimer = 2*IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index cb073b1c569..833649b576d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -282,7 +282,7 @@ class boss_blood_council_controller : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -477,7 +477,7 @@ class boss_prince_keleseth_icc : public CreatureScript
Talk(SAY_KELESETH_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -522,7 +522,7 @@ class boss_prince_keleseth_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -695,7 +695,7 @@ class boss_prince_taldaram_icc : public CreatureScript
Talk(SAY_TALDARAM_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -740,7 +740,7 @@ class boss_prince_taldaram_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -933,7 +933,7 @@ class boss_prince_valanar_icc : public CreatureScript
Talk(SAY_VALANAR_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -978,7 +978,7 @@ class boss_prince_valanar_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -1090,7 +1090,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
me->SetVisible(false);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_events.GetPhaseMask())
return;
@@ -1168,7 +1168,7 @@ class npc_ball_of_flame : public CreatureScript
_chaseGUID = guid;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_FLAME_BALL_CHASE)
if (Player* target = ObjectAccessor::GetPlayer(*me, _chaseGUID))
@@ -1189,7 +1189,7 @@ class npc_ball_of_flame : public CreatureScript
_instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(false));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_despawnTimer)
return;
@@ -1236,7 +1236,7 @@ class npc_kinetic_bomb : public CreatureScript
_groundZ = me->GetMap()->GetHeight(me->GetPhaseMask(), _x, _y, _groundZ, true, 500.0f);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == SPELL_KINETIC_BOMB_EXPLOSION)
_events.ScheduleEvent(EVENT_BOMB_DESPAWN, 1000);
@@ -1248,7 +1248,7 @@ class npc_kinetic_bomb : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
@@ -1328,7 +1328,7 @@ class npc_dark_nucleus : public CreatureScript
me->AddThreat(attacker, 500000000.0f);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index ab0c44aa6d0..f4df90c49e8 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -45,11 +45,13 @@ enum Spells
SPELL_SHROUD_OF_SORROW = 70986,
SPELL_FRENZIED_BLOODTHIRST_VISUAL = 71949,
SPELL_VAMPIRIC_BITE = 71726,
+ SPELL_VAMPIRIC_BITE_DUMMY = 71837,
SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR = 70879,
SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL = 70872,
SPELL_FRENZIED_BLOODTHIRST = 70877,
SPELL_UNCONTROLLABLE_FRENZY = 70923,
- SPELL_PRESENCE_OF_THE_DARKFALLEN = 71952,
+ SPELL_PRESENCE_OF_THE_DARKFALLEN = 70994,
+ SPELL_PRESENCE_OF_THE_DARKFALLEN_2 = 71952,
SPELL_BLOOD_MIRROR_DAMAGE = 70821,
SPELL_BLOOD_MIRROR_VISUAL = 71510,
SPELL_BLOOD_MIRROR_DUMMY = 70838,
@@ -88,6 +90,7 @@ uint32 const vampireAuras[3][MAX_DIFFICULTY] =
#define ESSENCE_OF_BLOOD_QUEEN_PLR RAID_MODE<uint32>(70879, 71525, 71530, 71531)
#define FRENZIED_BLOODTHIRST RAID_MODE<uint32>(70877, 71474, 70877, 71474)
#define DELIRIOUS_SLASH RAID_MODE<uint32>(71623, 71624, 71625, 71626)
+#define PRESENCE_OF_THE_DARKFALLEN RAID_MODE<uint32>(70994, 71962, 71963, 71964)
enum Events
{
@@ -220,9 +223,10 @@ class boss_blood_queen_lana_thel : public CreatureScript
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_BLOOD_MIRROR_DUMMY);
instance->DoRemoveAurasDueToSpellOnPlayers(DELIRIOUS_SLASH);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PACT_OF_THE_DARKFALLEN);
+ instance->DoRemoveAurasDueToSpellOnPlayers(PRESENCE_OF_THE_DARKFALLEN);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action != ACTION_KILL_MINCHAR)
return;
@@ -330,7 +334,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -357,8 +361,11 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
Unit* target = targets.front();
DoCast(target, SPELL_VAMPIRIC_BITE);
+ DoCastAOE(SPELL_VAMPIRIC_BITE_DUMMY, true);
Talk(SAY_VAMPIRIC_BITE);
_vampires.insert(target->GetGUID());
+ target->CastSpell(target, SPELL_PRESENCE_OF_THE_DARKFALLEN, TRIGGERED_FULL_MASK);
+ target->CastSpell(target, SPELL_PRESENCE_OF_THE_DARKFALLEN_2, TRIGGERED_FULL_MASK);
}
break;
}
@@ -377,9 +384,10 @@ class boss_blood_queen_lana_thel : public CreatureScript
_offtank->CastSpell(me->getVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
me->getVictim()->CastSpell(_offtank, SPELL_BLOOD_MIRROR_DUMMY, true);
DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL);
- if (Item* shadowsEdge = _offtank->GetWeaponForAttack(BASE_ATTACK, true))
- if (!_offtank->HasAura(SPELL_THIRST_QUENCHED) && shadowsEdge->GetEntry() == ITEM_SHADOW_S_EDGE && !_offtank->HasAura(SPELL_GUSHING_WOUND))
- _offtank->CastSpell(_offtank, SPELL_GUSHING_WOUND, true);
+ if (Is25ManRaid() && _offtank->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE &&
+ _offtank->HasAura(SPELL_UNSATED_CRAVING) && !_offtank->HasAura(SPELL_THIRST_QUENCHED) &&
+ !_offtank->HasAura(SPELL_GUSHING_WOUND))
+ _offtank->CastSpell(_offtank, SPELL_GUSHING_WOUND, TRIGGERED_FULL_MASK);
}
}
@@ -396,13 +404,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
std::list<Player*> targets;
SelectRandomTarget(false, &targets);
- uint32 targetCount = 2;
- // do not combine these checks! we want it incremented TWICE when both conditions are met
- if (IsHeroic())
- ++targetCount;
- if (Is25ManRaid())
- ++targetCount;
- Trinity::Containers::RandomResizeList<Player*>(targets, targetCount);
+ Trinity::Containers::RandomResizeList(targets, Is25ManRaid() ? 3 : 2);
if (targets.size() > 1)
{
Talk(SAY_PACT_OF_THE_DARKFALLEN);
@@ -479,7 +481,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
for (std::list<HostileReference*>::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
if (Unit* refTarget = (*itr)->getTarget())
- if (refTarget != me->getVictim() && refTarget->GetTypeId() == TYPEID_PLAYER && (includeOfftank ? true : (refTarget != _offtank)))
+ if (refTarget != me->getVictim() && refTarget->GetTypeId() == TYPEID_PLAYER && (includeOfftank || (refTarget != _offtank)))
tempTargets.push_back(refTarget->ToPlayer());
if (tempTargets.empty())
@@ -554,33 +556,36 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(SPELL_FRENZIED_BLOODTHIRST, GetCaster());
GetCaster()->RemoveAura(spellId, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
- GetCaster()->CastSpell(GetCaster(), SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR, true);
- // Presence of the Darkfallen buff on Blood-Queen
- if (GetCaster()->GetMap()->IsHeroic())
- GetCaster()->CastSpell(GetCaster(), SPELL_PRESENCE_OF_THE_DARKFALLEN, true);
+ GetCaster()->CastSpell(GetCaster(), SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR, TRIGGERED_FULL_MASK);
+
// Shadowmourne questline
- if (GetCaster()->ToPlayer()->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE)
+ if (Aura* aura = GetCaster()->GetAura(SPELL_GUSHING_WOUND))
{
- if (Aura* aura = GetCaster()->GetAura(SPELL_GUSHING_WOUND))
+ if (aura->GetStackAmount() == 3)
{
- if (aura->GetStackAmount() == 3)
- {
- GetCaster()->CastSpell(GetCaster(), SPELL_THIRST_QUENCHED, true);
- GetCaster()->RemoveAura(aura);
- }
- else
- GetCaster()->CastSpell(GetCaster(), SPELL_GUSHING_WOUND, true);
+ GetCaster()->CastSpell(GetCaster(), SPELL_THIRST_QUENCHED, TRIGGERED_FULL_MASK);
+ GetCaster()->RemoveAura(aura);
}
+ else
+ GetCaster()->CastSpell(GetCaster(), SPELL_GUSHING_WOUND, TRIGGERED_FULL_MASK);
}
+
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL)))
bloodQueen->AI()->SetGUID(GetHitUnit()->GetGUID(), GUID_VAMPIRE);
}
+ void HandlePresence(SpellEffIndex /*effIndex*/)
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PRESENCE_OF_THE_DARKFALLEN, TRIGGERED_FULL_MASK);
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PRESENCE_OF_THE_DARKFALLEN_2, TRIGGERED_FULL_MASK);
+ }
+
void Register()
{
OnCheckCast += SpellCheckCastFn(spell_blood_queen_vampiric_bite_SpellScript::CheckTarget);
BeforeHit += SpellHitFn(spell_blood_queen_vampiric_bite_SpellScript::OnCast);
+ OnEffectHitTarget += SpellEffectFn(spell_blood_queen_vampiric_bite_SpellScript::HandlePresence, EFFECT_1, SPELL_EFFECT_TRIGGER_SPELL);
}
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index c92f10e8b95..fe135ea70a4 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -420,7 +420,7 @@ class boss_deathbringer_saurfang : public CreatureScript
bloodPower->RecalculateAmountOfEffects();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !(events.IsInPhase(PHASE_INTRO_A) || events.IsInPhase(PHASE_INTRO_H)))
return;
@@ -512,7 +512,7 @@ class boss_deathbringer_saurfang : public CreatureScript
}
// intro setup
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -603,7 +603,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
_events.Reset();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -708,7 +708,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
@@ -812,7 +812,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
_events.Reset();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -888,7 +888,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
@@ -970,7 +970,7 @@ class npc_saurfang_event : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_CHARGE && _index)
me->GetMotionMaster()->MoveCharge(chargePos[_index].GetPositionX(), chargePos[_index].GetPositionY(), chargePos[_index].GetPositionZ(), 13.0f, POINT_CHARGE);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index 70cb585422d..4ec945fcb77 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -162,7 +162,7 @@ class boss_festergut : public CreatureScript
target->RemoveAurasDueToSpell(INOCULATED_HELPER);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -298,7 +298,7 @@ class npc_stinky_icc : public CreatureScript
DoCast(me, SPELL_PLAGUE_STENCH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index f8d00f01713..59c9393c934 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -401,7 +401,7 @@ class boss_lady_deathwhisper : public CreatureScript
summon->CastSpell(summon, SPELL_ADHERENT_S_DETERMINATION, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if ((!UpdateVictim() && !events.IsInPhase(PHASE_INTRO)) || !CheckInRoom())
return;
@@ -656,7 +656,7 @@ class npc_cult_fanatic : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -734,7 +734,7 @@ class npc_cult_adherent : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -879,7 +879,7 @@ class npc_darnavan : public CreatureScript
Talk(SAY_DARNAVAN_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 16f0e4a7cde..7e72ad00a3c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -189,7 +189,7 @@ class boss_lord_marrowgar : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -322,7 +322,7 @@ class boss_lord_marrowgar : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action != ACTION_CLEAR_SPIKE_IMMUNITIES)
return;
@@ -395,7 +395,7 @@ class npc_coldflame : public CreatureScript
_events.ScheduleEvent(EVENT_COLDFLAME_TRIGGER, 500);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
@@ -474,7 +474,7 @@ class npc_bone_spike : public CreatureScript
passenger->ClearUnitState(UNIT_STATE_ONVEHICLE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_hasTrappedUnit)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 103c72e947d..e377f5f8d07 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -413,7 +413,7 @@ class boss_professor_putricide : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -563,7 +563,7 @@ class boss_professor_putricide : public CreatureScript
_experimentState = bool(data);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if ((!(events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)) && !UpdateVictim()) || !CheckInRoom())
return;
@@ -742,7 +742,7 @@ class npc_putricide_oozeAI : public ScriptedAI
_newTargetSelectTimer = 1000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !_newTargetSelectTimer)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index db5f373a753..f398ad55603 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -162,7 +162,7 @@ class boss_rotface : public CreatureScript
// don't enter combat
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -239,7 +239,7 @@ class npc_little_ooze : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -296,13 +296,13 @@ class npc_big_ooze : public CreatureScript
me->DespawnOrUnsummon();
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
if (action == EVENT_STICKY_OOZE)
events.CancelEvent(EVENT_STICKY_OOZE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -377,7 +377,7 @@ class npc_precious_icc : public CreatureScript
rotface->AI()->Talk(SAY_PRECIOUS_DIES);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 1c6ed848158..ea74d8ec61c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -84,7 +84,9 @@ enum Spells
SPELL_CONCUSSIVE_SHOCK = 71337,
// Frost Infusion
- SPELL_FROST_INFUSION_CREDIT = 72289
+ SPELL_FROST_INFUSION_CREDIT = 72289,
+ SPELL_FROST_IMBUED_BLADE = 72290,
+ SPELL_FROST_INFUSION = 72292,
};
enum Events
@@ -147,11 +149,7 @@ enum MovementPoints
enum Shadowmourne
{
- QUEST_FROST_INFUSION = 24757,
- ITEM_SHADOW_S_EDGE = 49888,
-
- SPELL_FROST_INFUSION = 72292,
- SPELL_FROST_IMBUED_BLADE = 72290,
+ QUEST_FROST_INFUSION = 24757
};
Position const RimefangFlyPos = {4413.309f, 2456.421f, 233.3795f, 2.890186f};
@@ -271,7 +269,7 @@ class boss_sindragosa : public CreatureScript
Talk(SAY_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -390,50 +388,13 @@ class boss_sindragosa : public CreatureScript
void SpellHitTarget(Unit* target, SpellInfo const* spell)
{
if (uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(70127, me))
- {
if (spellId == spell->Id)
- {
if (Aura const* mysticBuffet = target->GetAura(spell->Id))
_mysticBuffetStack = std::max<uint8>(_mysticBuffetStack, mysticBuffet->GetStackAmount());
- return;
- }
- }
-
- // Frost Infusion
- if (Player* player = target->ToPlayer())
- {
- if (uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(_isThirdPhase ? SPELL_FROST_BREATH_P2 : SPELL_FROST_BREATH_P1, me))
- {
- if (spellId == spell->Id)
- {
- Item* shadowsEdge = player->GetWeaponForAttack(BASE_ATTACK, true);
- if (player->GetQuestStatus(QUEST_FROST_INFUSION) == QUEST_STATUS_INCOMPLETE && shadowsEdge)
- {
- if (!player->HasAura(SPELL_FROST_IMBUED_BLADE) && shadowsEdge->GetEntry() == ITEM_SHADOW_S_EDGE)
- {
- if (Aura* infusion = player->GetAura(SPELL_FROST_INFUSION))
- {
- if (infusion->GetStackAmount() == 3)
- {
- player->CastSpell(player, SPELL_FROST_IMBUED_BLADE, true);
- player->RemoveAura(infusion);
- }
- else
- player->CastSpell(player, SPELL_FROST_INFUSION, true);
- }
- else
- player->CastSpell(player, SPELL_FROST_INFUSION, true);
- }
- }
-
- return;
- }
- }
- }
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -598,7 +559,7 @@ class npc_ice_tomb : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_TRIGGER_ASPHYXIATION)
if (Player* player = ObjectAccessor::GetPlayer(*me, _trappedPlayerGUID))
@@ -617,7 +578,7 @@ class npc_ice_tomb : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_trappedPlayerGUID)
return;
@@ -696,7 +657,7 @@ class npc_spinestalker : public CreatureScript
_events.Reset();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -733,7 +694,7 @@ class npc_spinestalker : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -826,7 +787,7 @@ class npc_rimefang : public CreatureScript
_events.Reset();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -868,7 +829,7 @@ class npc_rimefang : public CreatureScript
DoCast(me, SPELL_FROST_AURA_RIMEFANG, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -996,7 +957,7 @@ class npc_sindragosa_trash : public CreatureScript
return 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1155,6 +1116,50 @@ class spell_sindragosa_unchained_magic : public SpellScriptLoader
}
};
+class spell_sindragosa_frost_breath : public SpellScriptLoader
+{
+ public:
+ spell_sindragosa_frost_breath() : SpellScriptLoader("spell_sindragosa_frost_breath") { }
+
+ class spell_sindragosa_frost_breath_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_sindragosa_frost_breath_SpellScript);
+
+ void HandleInfusion()
+ {
+ Player* target = GetHitPlayer();
+ if (!target)
+ return;
+
+ if (target->GetQuestStatus(QUEST_FROST_INFUSION) != QUEST_STATUS_INCOMPLETE)
+ return;
+
+ // Check if player has Shadow's Edge equipped and not ready for infusion
+ if (!target->HasAura(SPELL_UNSATED_CRAVING) || target->HasAura(SPELL_FROST_IMBUED_BLADE))
+ return;
+
+ Aura* infusion = target->GetAura(SPELL_FROST_INFUSION, target->GetGUID());
+ if (infusion && infusion->GetStackAmount() >= 3)
+ {
+ target->RemoveAura(infusion);
+ target->CastSpell(target, SPELL_FROST_IMBUED_BLADE, TRIGGERED_FULL_MASK);
+ }
+ else
+ target->CastSpell(target, SPELL_FROST_INFUSION, TRIGGERED_FULL_MASK);
+ }
+
+ void Register()
+ {
+ AfterHit += SpellHitFn(spell_sindragosa_frost_breath_SpellScript::HandleInfusion);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_sindragosa_frost_breath_SpellScript();
+ }
+};
+
class spell_sindragosa_instability : public SpellScriptLoader
{
public:
@@ -1577,6 +1582,7 @@ void AddSC_boss_sindragosa()
new npc_sindragosa_trash();
new spell_sindragosa_s_fury();
new spell_sindragosa_unchained_magic();
+ new spell_sindragosa_frost_breath();
new spell_sindragosa_instability();
new spell_sindragosa_frost_beacon();
new spell_sindragosa_ice_tomb();
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 fb1415aa60b..e314667d48a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -583,7 +583,7 @@ class boss_the_lich_king : public CreatureScript
Talk(SAY_LK_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -860,7 +860,7 @@ class boss_the_lich_king : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// check phase first to prevent updating victim and entering evade mode when not wanted
if (!(events.IsInPhase(PHASE_OUTRO) || events.IsInPhase(PHASE_INTRO) || events.IsInPhase(PHASE_FROSTMOURNE)))
@@ -1194,7 +1194,7 @@ class npc_tirion_fordring_tft : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -1241,7 +1241,7 @@ class npc_tirion_fordring_tft : public CreatureScript
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !(_events.IsInPhase(PHASE_OUTRO) || _events.IsInPhase(PHASE_INTRO)))
return;
@@ -1335,7 +1335,7 @@ class npc_shambling_horror_icc : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1415,7 +1415,7 @@ class npc_raging_spirit : public CreatureScript
summon->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1550,7 +1550,7 @@ class npc_valkyr_shadowguard : public CreatureScript
_grabbedPlayer = guid;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1625,7 +1625,7 @@ class npc_strangulate_vehicle : public CreatureScript
lichKing->AI()->JustSummoned(me);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action != ACTION_TELEPORT_BACK)
return;
@@ -1643,7 +1643,7 @@ class npc_strangulate_vehicle : public CreatureScript
lichKing->AI()->SummonedCreatureDespawn(me);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
UpdateVictim();
@@ -1724,7 +1724,7 @@ class npc_terenas_menethil : public CreatureScript
return target->GetEntry() != NPC_THE_LICH_KING;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -1793,7 +1793,7 @@ class npc_terenas_menethil : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_2, 14000, 0, PHASE_OUTRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
UpdateVictim();
@@ -1885,7 +1885,7 @@ class npc_spirit_warden : public CreatureScript
terenas->AI()->DoAction(ACTION_TELEPORT_BACK);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1953,7 +1953,7 @@ class npc_spirit_bomb : public CreatureScript
{
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
UpdateVictim();
// no melee attacks
@@ -1988,7 +1988,7 @@ class npc_broken_frostmourne : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_KNOCK_BACK, 3000, 0, PHASE_OUTRO);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_SUMMON_TERENAS)
_events.ScheduleEvent(EVENT_OUTRO_SUMMON_TERENAS, 6000, 0, PHASE_OUTRO);
@@ -1998,7 +1998,7 @@ class npc_broken_frostmourne : public CreatureScript
{
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
UpdateVictim();
@@ -2178,7 +2178,8 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
if (Unit* caster = GetCaster())
- caster->GetAI()->SetData(DATA_PLAGUE_STACK, GetStackAmount());
+ if (caster->GetAI())
+ caster->GetAI()->SetData(DATA_PLAGUE_STACK, GetStackAmount());
}
void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index df23abd8312..97a70f43c27 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -316,7 +316,7 @@ class boss_valithria_dreamwalker : public CreatureScript
{
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action != ACTION_ENTER_COMBAT)
return;
@@ -423,7 +423,7 @@ class boss_valithria_dreamwalker : public CreatureScript
++_missedPortals;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// does not enter combat
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
@@ -536,7 +536,7 @@ class npc_green_dragon_combat_trigger : public CreatureScript
DoAction(ACTION_DEATH);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_DEATH)
{
@@ -545,7 +545,7 @@ class npc_green_dragon_combat_trigger : public CreatureScript
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->isInCombat())
return;
@@ -624,7 +624,7 @@ class npc_the_lich_king_controller : public CreatureScript
summon->AI()->AttackStart(target);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -716,7 +716,7 @@ class npc_risen_archmage : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action != ACTION_ENTER_COMBAT)
return;
@@ -734,7 +734,7 @@ class npc_risen_archmage : public CreatureScript
summon->DespawnOrUnsummon(36000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
if (me->GetDBTableGUIDLow())
@@ -805,7 +805,7 @@ class npc_blazing_skeleton : public CreatureScript
_events.ScheduleEvent(EVENT_LEY_WASTE, urand(15000, 20000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -871,7 +871,7 @@ class npc_suppresser : public CreatureScript
AttackStart(valithria);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -928,7 +928,7 @@ class npc_blistering_zombie : public CreatureScript
DoCast(me, SPELL_ACID_BURST, true);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -965,7 +965,7 @@ class npc_gluttonous_abomination : public CreatureScript
DoCast(me, SPELL_ROT_WORM_SPAWNER, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1024,7 +1024,7 @@ class npc_dream_portal : public CreatureScript
return (type == MISSED_PORTALS && _used) ? 0 : 1;
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
UpdateVictim();
}
@@ -1059,7 +1059,7 @@ class npc_dream_cloud : public CreatureScript
me->LoadCreaturesAddon(true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// trigger
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 5621f9b7a50..3ffa6a0c4be 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -460,7 +460,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_damnedKills != 2)
return;
@@ -611,7 +611,7 @@ class npc_rotting_frost_giant : public CreatureScript
_events.Reset();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -671,7 +671,7 @@ class npc_frost_freeze_trap : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -684,7 +684,7 @@ class npc_frost_freeze_trap : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
@@ -808,7 +808,7 @@ class boss_sister_svalna : public CreatureScript
me->SetHover(false);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -877,7 +877,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !_isEventInProgress)
return;
@@ -956,7 +956,7 @@ class npc_crok_scourgebane : public CreatureScript
_wipeCheckTimer = 1000;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_GAUNTLET)
{
@@ -1238,7 +1238,7 @@ struct npc_argent_captainAI : public ScriptedAI
Talk(SAY_CAPTAIN_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_START_GAUNTLET)
{
@@ -1356,7 +1356,7 @@ class npc_captain_arnath : public CreatureScript
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, urand(22000, 27000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1437,7 +1437,7 @@ class npc_captain_brandon : public CreatureScript
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, urand(25000, 30000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1505,7 +1505,7 @@ class npc_captain_grondel : public CreatureScript
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, urand(12000, 17000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1570,7 +1570,7 @@ class npc_captain_rupert : public CreatureScript
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, urand(10000, 15000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1655,7 +1655,7 @@ class npc_impaling_spear : public CreatureScript
_vehicleCheckTimer = 500;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_vehicleCheckTimer <= diff)
{
@@ -1696,7 +1696,7 @@ class npc_arthas_teleport_visual : public CreatureScript
_events.ScheduleEvent(EVENT_SOUL_MISSILE, urand(1000, 6000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (_events.Empty())
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
index 1407568686f..887a31baf9a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
@@ -56,6 +56,7 @@ enum SharedSpells
SPELL_FROSTMOURNE_TELEPORT_VISUAL = 73078,
// Shadowmourne questline
+ SPELL_UNSATED_CRAVING = 71168,
SPELL_SHADOWS_FATE = 71169
};
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 462708360e3..db4ab2f32d2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -435,7 +435,7 @@ class instance_icecrown_citadel : public InstanceMapScript
// these 2 gates are functional only on 25man modes
case GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_01:
case GO_DOODAD_ICECROWN_ROOSTPORTCULLIS_04:
- if (instance->GetSpawnMode() & 1)
+ if (instance->Is25ManRaid())
AddDoor(go, true);
break;
case GO_LADY_DEATHWHISPER_ELEVATOR:
@@ -954,7 +954,7 @@ class instance_icecrown_citadel : public InstanceMapScript
bool CheckRequiredBosses(uint32 bossId, Player const* player = NULL) const
{
- if (player && AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))
+ if (player && player->GetSession()->HasPermission(RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
return true;
switch (bossId)
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index 14e2d05a7c1..d4b16594bc8 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -144,7 +144,7 @@ public:
summon->CastSpell(summon, SPELL_SUMMON_CORPSE_SCARABS_MOB, true, NULL, NULL, me->GetGUID());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index 4d5efe4e89c..35f23db24f7 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -122,7 +122,7 @@ class boss_faerlina : public CreatureScript
return 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index e037f627bee..9013b051b9a 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -326,7 +326,7 @@ public:
events.ScheduleEvent(EVENT_BERSERK, 15*100*1000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (nextWP && movementStarted && !movementCompleted && !nextMovementStarted)
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
index c735107968a..723b2538fc8 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
@@ -93,7 +93,7 @@ public:
summons.Summon(summon);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictimWithGaze() || !CheckInRoom())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 21f3141393a..451992b1d91 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -393,7 +393,7 @@ class boss_gothik : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -524,7 +524,7 @@ class mob_gothik_minion : public CreatureScript
return (liveSide == IN_LIVE_SIDE(who));
}
- void DoAction(int32 const param)
+ void DoAction(int32 param)
{
gateClose = param;
}
@@ -574,7 +574,7 @@ class mob_gothik_minion : public CreatureScript
Reset();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (gateClose && (!isOnSameSide(me) || (me->getVictim() && !isOnSameSide(me->getVictim()))))
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
index 99d3bfe59b0..3e44fe9eba4 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -78,7 +78,7 @@ public: boss_grobbulus() : CreatureScript("boss_grobbulus") { }
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -140,7 +140,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Cloud_Timer <= diff)
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index c88ac807421..ec2335df8e1 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -133,7 +133,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 1b34e2a93a7..1ee32c8a36e 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -382,7 +382,7 @@ public:
KTTriggerGUID = instance ? instance->GetData64(DATA_KELTHUZAD_TRIGGER) : 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -735,7 +735,7 @@ class npc_kelthuzad_abomination : public CreatureScript
DoCast(me, SPELL_FRENZY, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index 75fe66b9faf..3664a166a9f 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -93,7 +93,7 @@ class boss_loatheb : public CreatureScript
return uint32(_sporeLoserData);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index 28def13a0d2..dfac6049875 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -85,7 +85,7 @@ public:
events.ScheduleEvent(EVENT_SUMMON, 30000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 89b65615a2e..d0034628424 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -145,7 +145,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
index e77a9708ba5..13a5340fa8e 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
@@ -98,7 +98,7 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
index 52dfd60f5f8..0829ecb094d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
@@ -99,7 +99,7 @@ public:
events.ScheduleEvent(EVENT_KNIFE, 10000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index cd68d7ecac3..878107ab35d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -159,7 +159,7 @@ class boss_sapphiron : public CreatureScript
events.ScheduleEvent(EVENT_LIFTOFF, 0);
}
- void DoAction(int32 const param)
+ void DoAction(int32 param)
{
if (param == DATA_SAPPHIRON_BIRTH)
{
@@ -217,7 +217,7 @@ class boss_sapphiron : public CreatureScript
return 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!_phase)
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index 6c09e7156fe..ea50c67ad1c 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -159,7 +159,7 @@ public:
Talk(SAY_DEATH);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -218,7 +218,7 @@ public:
return uint32(polaritySwitch);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (checkFeugenAlive && checkStalaggAlive)
uiAddsTimer = 0;
@@ -331,7 +331,7 @@ public:
pThaddius->AI()->DoAction(ACTION_STALAGG_DIED);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -423,7 +423,7 @@ public:
pThaddius->AI()->DoAction(ACTION_FEUGEN_DIED);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 1be93dcbaa5..b0a34047c0e 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -501,7 +501,7 @@ public:
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -771,7 +771,7 @@ public:
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
// When duration of oppened riff visual ends,
// closed one should be cast
@@ -841,7 +841,7 @@ public:
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!_instance)
return;
@@ -941,7 +941,7 @@ public:
// we dont evade
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (me->GetEntry() != NPC_HOVER_DISK_CASTER)
return;
@@ -1010,7 +1010,7 @@ public:
DoCast(me, SPELL_ARCANE_OVERLOAD, false);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
// we dont do melee damage!
}
@@ -1066,7 +1066,7 @@ public:
_events.ScheduleEvent(EVENT_YELL_1, 0);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
while (uint32 eventId = _events.ExecuteEvent())
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
index fd5841a7727..8d1420ce12e 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
@@ -124,7 +124,7 @@ class boss_anomalus : public CreatureScript
chaosTheory = false;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -212,7 +212,7 @@ class mob_chaotic_rift : public CreatureScript
DoCast(me, SPELL_ARCANEFORM, false);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
index fedb1f5cebc..7f32b2bc4a5 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
@@ -56,7 +56,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
index 39c93f15d6f..e257b898426 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
@@ -53,7 +53,7 @@ public:
void Reset() {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index d1a9227c6fb..8c06895f08f 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -167,7 +167,7 @@ public:
intenseColdList.push_back(guid);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
index 7679ae53c80..26bf80cb32e 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
@@ -140,7 +140,7 @@ public:
Talk(SAY_KILL);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_MAGUS_DEAD)
{
@@ -213,7 +213,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
index c9cfe70b8de..0f480b1d101 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
@@ -109,7 +109,7 @@ public:
Talk(SAY_KILL);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -219,7 +219,7 @@ public:
return type == DATA_COUNT ? _count : 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_despawntimer <= diff)
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
index feb801450b1..1a820cd3727 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
@@ -81,7 +81,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -170,7 +170,7 @@ public:
deathTimer = 19000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (pulseTimer <= diff)
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index 0af498f24c6..d27909328a5 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -141,7 +141,7 @@ public:
return 0;
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
if (action != ACTION_SET_NORMAL_EVENTS)
return;
@@ -194,7 +194,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 07f19ce9760..57a9c9958df 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -240,7 +240,7 @@ public:
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index ec240db0b69..a2b5d340410 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -96,7 +96,7 @@ public:
return coreEnergizeOrientation;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -187,7 +187,7 @@ class npc_azure_ring_captain : public CreatureScript
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -207,7 +207,7 @@ class npc_azure_ring_captain : public CreatureScript
DoCast(target, SPELL_ICE_BEAM);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
index f152d0011aa..1f8ba3edade 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
@@ -355,7 +355,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!(instance->GetBossState(DATA_VAROS_EVENT) == DONE))
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
index 16e705e45ab..6a16a644b5c 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
@@ -223,7 +223,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -412,7 +412,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
index dc0ffcd2c63..9ce8ea3c52c 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -213,7 +213,7 @@ public:
lSparkList.Despawn(summoned);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -335,7 +335,7 @@ public:
uiDamage = 0;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
// Despawn if the encounter is not running
if (instance && instance->GetData(TYPE_IONAR) != IN_PROGRESS)
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
index df99ab33467..fe6c1c27155 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
@@ -123,7 +123,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index 9b22003bb1c..1e41f346942 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -226,7 +226,7 @@ public:
return 0;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -427,7 +427,7 @@ public:
me->DespawnOrUnsummon();
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
// Return since we have no target or if we are frozen
if (!UpdateVictim() || m_bIsFrozen)
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
index c9a4d2ba5bd..e24ce570c5a 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
@@ -99,7 +99,7 @@ public:
instance->SetData(DATA_KRYSTALLUS_EVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
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 8accb3182ce..71222aba88b 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
@@ -107,7 +107,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
index 9e4c97ea0fc..3b0faa08574 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
@@ -147,7 +147,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -228,7 +228,7 @@ public:
Talk(SAY_SLAY);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action == ACTION_OOZE_DEAD)
++abuseTheOoze;
@@ -266,7 +266,7 @@ public:
uiMergeTimer = 10000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiMergeTimer <= diff)
{
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
index f1d690f32e0..0a9ae889588 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -204,7 +204,7 @@ public:
}*/
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (bKaddrakActivated)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index e5ab119e3dc..5a5efc36b3c 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -328,7 +328,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -341,7 +341,7 @@ class boss_algalon_the_observer : public CreatureScript
me->GetMotionMaster()->MovePoint(POINT_ALGALON_LAND, AlgalonLandPos);
me->SetHomePosition(AlgalonLandPos);
Movement::MoveSplineInit init(me);
- init.MoveTo(AlgalonLandPos.GetPositionX(), AlgalonLandPos.GetPositionY(), AlgalonLandPos.GetPositionZ());
+ init.MoveTo(AlgalonLandPos.GetPositionX(), AlgalonLandPos.GetPositionY(), AlgalonLandPos.GetPositionZ(), false);
init.SetOrientationFixed(true);
init.Launch();
events.Reset();
@@ -537,7 +537,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if ((!(events.IsInPhase(PHASE_ROLE_PLAY) || events.IsInPhase(PHASE_BIG_BANG)) && !UpdateVictim()) || !CheckInRoom())
return;
@@ -730,7 +730,7 @@ class npc_living_constellation : public CreatureScript
return _isActive ? 1 : 0;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -767,7 +767,7 @@ class npc_living_constellation : public CreatureScript
caster->ToCreature()->DespawnOrUnsummon(1);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!(_events.IsInPhase(PHASE_ROLE_PLAY) || _events.IsInPhase(PHASE_BIG_BANG)) && !UpdateVictim())
return;
@@ -861,7 +861,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
{
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -912,7 +912,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
_events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, delay);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
UpdateVictim();
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 451ad6ed915..6ad70d38635 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
@@ -158,7 +158,7 @@ class boss_steelbreaker : public CreatureScript
events.ScheduleEvent(EVENT_FUSION_PUNCH, 15000);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -212,7 +212,7 @@ class boss_steelbreaker : public CreatureScript
DoCast(me, SPELL_ELECTRICAL_CHARGE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -287,7 +287,7 @@ class boss_runemaster_molgeim : public CreatureScript
events.ScheduleEvent(EVENT_RUNE_OF_POWER, 20000);
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -338,7 +338,7 @@ class boss_runemaster_molgeim : public CreatureScript
Talk(SAY_MOLGEIM_SLAY);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -440,7 +440,7 @@ class boss_stormcaller_brundir : public CreatureScript
events.ScheduleEvent(EVENT_OVERLOAD, urand(60000, 120000));
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -499,7 +499,7 @@ class boss_stormcaller_brundir : public CreatureScript
Talk(SAY_BRUNDIR_SLAY);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index aa8c7a96898..5faa2cc4628 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -154,7 +154,7 @@ class boss_auriaya : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -207,7 +207,7 @@ class boss_auriaya : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -299,7 +299,7 @@ class npc_auriaya_seeping_trigger : public CreatureScript
DoCast(me, SPELL_SEEPING_ESSENCE);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS)
me->DespawnOrUnsummon();
@@ -338,7 +338,7 @@ class npc_sanctum_sentry : public CreatureScript
DoCast(me, SPELL_STRENGHT_PACK, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -408,7 +408,7 @@ class npc_feral_defender : public CreatureScript
events.ScheduleEvent(EVENT_RUSH, 10000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 89ddbb7ac38..236791a4f6f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -362,7 +362,7 @@ class boss_flame_leviathan : public CreatureScript
Unbroken = data ? true : false;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -467,7 +467,7 @@ class boss_flame_leviathan : public CreatureScript
_pursueTarget = target->GetGUID();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (action && action <= 4) // Tower destruction, debuff leviathan loot and reduce active tower count
{
@@ -638,7 +638,7 @@ class boss_flame_leviathan_defense_cannon : public CreatureScript
DoCast(me, AURA_STEALTH_DETECTION);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -752,7 +752,7 @@ class boss_flame_leviathan_safety_container : public CreatureScript
me->SetPosition(x, y, z, 0);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
}
};
@@ -802,7 +802,7 @@ class npc_mechanolift : public CreatureScript
container->EnterVehicle(me);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (MoveTimer <= diff)
{
@@ -851,7 +851,7 @@ class npc_pool_of_tar : public CreatureScript
me->CastSpell(me, SPELL_BLAZE, true);
}
- void UpdateAI(uint32 const /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
@@ -880,7 +880,7 @@ class npc_colossus : public CreatureScript
instance->SetData(DATA_COLOSSUS, instance->GetData(DATA_COLOSSUS)+1);
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -917,7 +917,7 @@ class npc_thorims_hammer : public CreatureScript
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->HasAura(AURA_DUMMY_BLUE))
me->CastSpell(me, AURA_DUMMY_BLUE, true);
@@ -963,7 +963,7 @@ public:
uint32 infernoTimer;
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -1012,7 +1012,7 @@ class npc_hodirs_fury : public CreatureScript
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->HasAura(AURA_DUMMY_GREEN))
me->CastSpell(me, AURA_DUMMY_GREEN, true);
@@ -1046,7 +1046,7 @@ class npc_freyas_ward : public CreatureScript
summonTimer = 5000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (summonTimer <= diff)
{
@@ -1089,7 +1089,7 @@ class npc_freya_ward_summon : public CreatureScript
lashTimer = 5000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1127,7 +1127,7 @@ class npc_lorekeeper : public CreatureScript
{
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
// Start encounter
if (action == ACTION_SPAWN_VEHICLES)
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index 0a873bc5792..33a14aaa3df 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -387,7 +387,7 @@ class boss_freya : public CreatureScript
return 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -722,7 +722,7 @@ class boss_elder_brightleaf : public CreatureScript
Talk(SAY_ELDER_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -765,7 +765,7 @@ class boss_elder_brightleaf : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -856,7 +856,7 @@ class boss_elder_stonebark : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -892,7 +892,7 @@ class boss_elder_stonebark : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -970,7 +970,7 @@ class boss_elder_ironbranch : public CreatureScript
Talk(SAY_ELDER_AGGRO);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -1006,7 +1006,7 @@ class boss_elder_ironbranch : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -1051,7 +1051,7 @@ class npc_detonating_lasher : public CreatureScript
changeTargetTimer = 7500;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1110,7 +1110,7 @@ class npc_ancient_water_spirit : public CreatureScript
tidalWaveTimer = 10000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1171,7 +1171,7 @@ class npc_storm_lasher : public CreatureScript
stormboltTimer = 5000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1232,7 +1232,7 @@ class npc_snaplasher : public CreatureScript
waveCount = CAST_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -1297,7 +1297,7 @@ class npc_ancient_conservator : public CreatureScript
DoCast(who, SPELL_CONSERVATOR_GRIP, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1374,7 +1374,7 @@ class npc_healthy_spore : public CreatureScript
lifeTimer = urand(22000, 30000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (lifeTimer <= diff)
{
@@ -1413,7 +1413,7 @@ class npc_eonars_gift : public CreatureScript
DoCast(me, SPELL_EONAR_VISUAL, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (lifeBindersGiftTimer <= diff)
{
@@ -1451,7 +1451,7 @@ class npc_nature_bomb : public CreatureScript
DoCast(SPELL_OBJECT_BOMB);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (bombTimer <= diff)
{
@@ -1496,7 +1496,7 @@ class npc_unstable_sun_beam : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (despawnTimer <= diff)
{
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 6fa2c7127e6..1642cc0483f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -135,7 +135,7 @@ class boss_general_vezax : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 600000);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -250,7 +250,7 @@ class boss_general_vezax : public CreatureScript
return 0;
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -333,7 +333,7 @@ class boss_saronite_animus : public CreatureScript
Vezax->AI()->DoAction(ACTION_ANIMUS_DIE);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -392,7 +392,7 @@ class npc_saronite_vapors : public CreatureScript
events.ScheduleEvent(EVENT_RANDOM_MOVE, urand(5000, 7500));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 26d15d78e59..95ac326aa84 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -193,7 +193,7 @@ class npc_flash_freeze : public CreatureScript
checkDespawnTimer = 1000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->getVictim()->HasAura(SPELL_BLOCK_OF_ICE) || me->getVictim()->HasAura(SPELL_FLASH_FREEZE_HELPER))
return;
@@ -381,7 +381,7 @@ class boss_hodir : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -460,7 +460,7 @@ class boss_hodir : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -525,7 +525,7 @@ class npc_icicle : public CreatureScript
icicleTimer = 2500;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (icicleTimer <= diff)
{
@@ -573,7 +573,7 @@ class npc_snowpacked_icicle : public CreatureScript
despawnTimer = 12000;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (despawnTimer <= diff)
{
@@ -611,7 +611,7 @@ class npc_hodir_priest : public CreatureScript
events.ScheduleEvent(EVENT_DISPEL_MAGIC, urand(15000, 20000));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -687,7 +687,7 @@ class npc_hodir_shaman : public CreatureScript
events.ScheduleEvent(EVENT_STORM_CLOUD, urand(10000, 12500));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -749,7 +749,7 @@ class npc_hodir_druid : public CreatureScript
events.ScheduleEvent(EVENT_STARLIGHT, urand(15000, 17500));
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -824,7 +824,7 @@ class npc_hodir_mage : public CreatureScript
summons.remove(summoned->GetGUID());
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index f525bc874f7..b040a64c75a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -180,7 +180,7 @@ class boss_ignis : public CreatureScript
summons.Summon(summon);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
if (action != ACTION_REMOVE_BUFF)
return;
@@ -193,7 +193,7 @@ class boss_ignis : public CreatureScript
_firstConstructKill = secondKill;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -319,7 +319,7 @@ class npc_iron_construct : public CreatureScript
}
}
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (!UpdateVictim())
return;
@@ -392,7 +392,7 @@ class npc_scorch_ground : public CreatureScript
_heatTimer = 0;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (_heat)
{
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 24282340278..94df327d3da 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -242,7 +242,7 @@ class boss_kologarn : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index b51c6994dd5..b74c4109fd7 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -224,7 +224,7 @@ class boss_razorscale_controller : public CreatureScript
_JustDied();
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
if (instance->GetBossState(BOSS_RAZORSCALE) != IN_PROGRESS)
return;
@@ -243,7 +243,7 @@ class boss_razorscale_controller : public CreatureScript
}
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
events.Update(Diff);
@@ -394,7 +394,7 @@ class boss_razorscale : public CreatureScript
return 0;
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (!UpdateVictim())
return;
@@ -562,7 +562,7 @@ class boss_razorscale : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -625,7 +625,7 @@ class npc_expedition_commander : public CreatureScript
summons.push_back(summoned->GetGUID());
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -639,7 +639,7 @@ class npc_expedition_commander : public CreatureScript
}
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (AttackStartTimer <= Diff)
{
@@ -762,7 +762,7 @@ class npc_mole_machine_trigger : public CreatureScript
NpcSummoned = false;
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (!GobSummoned && SummonGobTimer <= Diff)
{
@@ -857,7 +857,7 @@ class npc_darkrune_watcher : public CreatureScript
LightTimer = urand(1000, 3000);
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (!UpdateVictim())
return;
@@ -917,7 +917,7 @@ class npc_darkrune_guardian : public CreatureScript
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (!UpdateVictim())
return;
@@ -963,7 +963,7 @@ class npc_darkrune_sentinel : public CreatureScript
ShoutTimer = urand(15000, 30000);
}
- void UpdateAI(uint32 const Diff)
+ void UpdateAI(uint32 Diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 564087088d3..b75a6a67a30 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -78,7 +78,7 @@ class boss_thorim : public CreatureScript
_EnterCombat();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 1ae6a35403b..a358fc41db0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -241,7 +241,7 @@ class boss_xt002 : public CreatureScript
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER);
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
@@ -269,7 +269,7 @@ class boss_xt002 : public CreatureScript
ExposeHeart();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -459,7 +459,7 @@ class mob_xt002_heart : public CreatureScript
SetCombatMovement(false);
}
- void UpdateAI(uint32 const /*diff*/) { }
+ void UpdateAI(uint32 /*diff*/) { }
void JustDied(Unit* /*killer*/)
{
@@ -513,7 +513,7 @@ class mob_scrapbot : public CreatureScript
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (_rangeCheckTimer <= diff)
{
@@ -574,7 +574,7 @@ class mob_pummeller : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -704,7 +704,7 @@ class mob_boombot : public CreatureScript
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -746,7 +746,7 @@ class mob_life_spark : public CreatureScript
_shockTimer = 0; // first one is immediate.
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index d3c174841ee..125f66497bf 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -565,10 +565,6 @@ class instance_ulduar : public InstanceMapScript
}
HandleGameObject(KologarnBridgeGUID, false);
}
- if (state == IN_PROGRESS)
- HandleGameObject(KologarnDoorGUID, false);
- else
- HandleGameObject(KologarnDoorGUID, true);
break;
case BOSS_HODIR:
if (state == DONE)
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 dbf2058546f..215630ac5fa 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
@@ -204,7 +204,7 @@ public:
Talk(bIsUndead ? YELL_KILL_1 : YELL_KILL_2);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim() && !events.IsInPhase(PHASE_EVENT))
return;
@@ -358,7 +358,7 @@ public:
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiResurectTimer)
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index 6e532a88396..896421909ad 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -94,7 +94,7 @@ public:
instance = creature->GetInstanceScript();
}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
void JustDied(Unit* /*killer*/)
{
@@ -193,7 +193,7 @@ public:
return 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -288,7 +288,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
index 05822aa2595..ef7ad659a24 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -180,7 +180,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (ghost)
{
@@ -340,7 +340,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (ghost)
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index 7103095b252..4f7f0e844bb 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -146,7 +146,7 @@ public:
return near_f > 0 && near_f < 4 ? near_f : 0;
}
- void UpdateAI(uint32 const /* diff */)
+ void UpdateAI(uint32 /* diff */)
{
if (fm_Type == 0)
fm_Type = GetForgeMasterType();
@@ -291,7 +291,7 @@ public:
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index 36506227287..2b1d850ab25 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -174,7 +174,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (currentPhase != PHASE_GORTOK_PALEHOOF)
return;
@@ -325,7 +325,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -438,7 +438,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -554,7 +554,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -674,7 +674,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -771,7 +771,7 @@ public:
me->SetSpeed(MOVE_FLIGHT, 0.5f);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (currentPhase == PHASE_NONE)
return;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index 2514cb3de78..3a74eebd947 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -303,7 +303,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
switch (Phase)
{
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 1442dddb120..f2090f6a2e6 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -250,7 +250,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Phase == IDLE)
return;
@@ -479,7 +479,7 @@ public:
DoCast(me, SPELL_SHADOWS_IN_THE_DARK);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -601,7 +601,7 @@ class npc_scourge_hulk : public CreatureScript
killedByRitualStrike = true;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 99d987e63a4..f4c65216f4a 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -207,7 +207,7 @@ public:
return 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (m_bIsWalking)
{
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
index 33e0619c7e5..a4ea8649ff9 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
@@ -76,7 +76,7 @@ class boss_archavon : public CreatureScript
}
// Below UpdateAI may need review/debug.
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -156,7 +156,7 @@ class mob_archavon_warder : public CreatureScript
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index b8b6acce54d..baed96453dc 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -115,7 +115,7 @@ class boss_emalon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -215,7 +215,7 @@ class mob_tempest_minion : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index fafeba6a570..50cb8f017b3 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -73,7 +73,7 @@ class boss_koralon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -149,7 +149,7 @@ class mob_flame_warder : public CreatureScript
events.ScheduleEvent(EVENT_FW_METEOR_FISTS_A, 10000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index 688e7d818df..3068049e322 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -74,7 +74,7 @@ class boss_toravon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -142,7 +142,7 @@ class mob_frost_warder : public CreatureScript
events.ScheduleEvent(EVENT_FROST_BLAST, 5000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -196,7 +196,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!done)
{
@@ -248,7 +248,7 @@ class mob_frozen_orb_stalker : public CreatureScript
SetCombatMovement(false);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (spawned)
return;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index 1f12685a4b0..d524e3fb708 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -89,7 +89,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance && instance->GetData(DATA_REMOVE_NPC) == 1)
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 6c16bb98ff1..9dbb10be601 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -144,7 +144,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -303,7 +303,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index fb4297f595f..364602f8fa1 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -151,7 +151,7 @@ public:
}
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
if (!me->isAlive())
return;
@@ -205,7 +205,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -362,7 +362,7 @@ public:
return;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiRangeCheck_Timer < uiDiff)
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index dc0b320b307..187cf5d6b30 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -102,7 +102,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index d40f3b14f87..d308c6c696b 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -95,7 +95,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 891b91c6dfb..b14a9e0dec5 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -154,7 +154,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -251,7 +251,7 @@ public:
uiRangeCheck_Timer = 1000;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index cf0ee82c01c..0f150fe88b8 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -122,7 +122,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 5ebc2eaf973..fbbf3fa3df5 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -342,7 +342,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
ScriptedAI::UpdateAI(uiDiff);
@@ -481,7 +481,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance && instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
me->CastStop();
@@ -578,7 +578,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance) //Massive usage of instance, global check
return;
@@ -724,7 +724,7 @@ struct violet_hold_trashAI : public npc_escortAI
}
}
- void UpdateAI(const uint32)
+ void UpdateAI(uint32)
{
if (instance && instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
me->CastStop();
@@ -832,7 +832,7 @@ public:
uiSunderArmorTimer = 4000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -910,7 +910,7 @@ public:
uiFrostboltTimer = 4000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -984,7 +984,7 @@ public:
uiSpellLockTimer = 5000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1044,7 +1044,7 @@ public:
uiMagicReflectionTimer = 8000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1097,7 +1097,7 @@ public:
TacticalBlinkCasted =false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1159,7 +1159,7 @@ public:
uiConeOfColdTimer = 4000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1239,7 +1239,7 @@ public:
uiWhirlwindTimer = 8000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1293,7 +1293,7 @@ public:
uiManaDetonationTimer = 5000;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index 760156dc1c3..fef900e1dfd 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -92,7 +92,7 @@ public:
void EnterCombat(Unit* /*who*/){}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!phase)
return;
@@ -436,7 +436,7 @@ public:
DoCast(me, SPELL_DROP_CRATE, true);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (setCrateNumber)
{
@@ -576,7 +576,7 @@ public:
go_caribou->SetGoState(GO_STATE_READY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (phaseTimer <= diff)
{
@@ -701,7 +701,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IntroPhase)
{
@@ -867,7 +867,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (WithRedDragonBlood && HarpoonerGUID && !me->HasAura(SPELL_RED_DRAGONBLOOD))
{
@@ -1017,7 +1017,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -1360,7 +1360,7 @@ public:
CAST_AI(npc_thassarian::npc_thassarianAI, CAST_CRE(summoner)->AI())->talbotInPosition = true;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (bCheck)
{
@@ -1482,7 +1482,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
ScriptedAI::UpdateAI(uiDiff);
@@ -1622,7 +1622,7 @@ public:
}
}
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (!UpdateVictim())
return;
@@ -1674,7 +1674,7 @@ public:
rebuff = 0;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
UpdateVictim();
@@ -1990,7 +1990,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (bStarted)
{
@@ -2005,7 +2005,7 @@ public:
}
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
if (param == 1)
bStarted = true;
@@ -2105,7 +2105,7 @@ public:
uiExplosionTimer = urand(5000, 10000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiExplosionTimer < diff)
{
@@ -2160,7 +2160,7 @@ public:
uiTimer = urand(13000, 18000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (uiTimer <= diff)
{
@@ -2222,7 +2222,7 @@ public:
void AttackStart(Unit* /*who*/) {}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (m_uiTimer <= uiDiff)
{
@@ -2358,7 +2358,7 @@ public:
me->RestoreFaction();
}
- void DoAction(const int32 /*iParam*/)
+ void DoAction(int32 /*iParam*/)
{
me->StopMoving();
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
@@ -2383,7 +2383,7 @@ public:
me->AI()->AttackStart(player);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiEventTimer && uiEventTimer <= uiDiff)
{
diff --git a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
index 963778dd802..d05e442b0f4 100644
--- a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
+++ b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
@@ -63,7 +63,7 @@ public:
uiTargetGUID = 0;
}
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (me->IsNonMeleeSpellCasted(false))
return;
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index e988472fe5f..33440cad48b 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -117,7 +117,7 @@ public:
return;
}
- void UpdateAI(const uint32 /*diff*/){}
+ void UpdateAI(uint32 /*diff*/){}
};
CreatureAI* GetAI(Creature* creature) const
diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp
index a8fb0215902..ed7354acb50 100644
--- a/src/server/scripts/Northrend/zone_dragonblight.cpp
+++ b/src/server/scripts/Northrend/zone_dragonblight.cpp
@@ -248,7 +248,7 @@ class npc_wyrmrest_defender : public CreatureScript
RenewRecoveryChecker = 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// Check system for Health Warning should happen first time whenever get under 30%,
// after it should be able to happen only after recovery of last renew is fully done (20 sec),
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index fe1f561071c..e8eddea6ef7 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -192,7 +192,7 @@ public:
RWORGGUID = 0;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -264,7 +264,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -369,7 +369,7 @@ public:
m_uiPhase = 1;
}
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (m_uiPhase == 1)
{
@@ -416,7 +416,7 @@ public:
m_uiPhase = 1;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
// call this each update tick?
if (me->FindNearestCreature(TALLHORN_STAG, 0.2f))
@@ -510,7 +510,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -558,7 +558,7 @@ public:
uiChargedSentryTotem = urand(10000, 12000);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -624,7 +624,7 @@ class npc_venture_co_straggler : public CreatureScript
me->SetReactState(REACT_AGGRESSIVE);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiPlayerGUID && uiRunAwayTimer <= uiDiff)
{
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index 70210844394..d5641b0fcc7 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -219,7 +219,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -448,7 +448,7 @@ class npc_tournament_training_dummy : public CreatureScript
isVulnerable = true;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
@@ -637,7 +637,7 @@ public:
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
events.Update(diff);
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 7db2ae4707b..63143673185 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -321,7 +321,7 @@ public:
Reset();
}
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (!UpdateVictim())
return;
@@ -420,7 +420,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -582,7 +582,7 @@ public:
timer -= diff;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (phase)
proceedCwEvent(uiDiff);
@@ -1120,7 +1120,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index dae2ffd36f6..ba725d2dda4 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -186,7 +186,7 @@ public:
player->FailQuest(QUEST_BITTER_DEPARTURE);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
if (!UpdateVictim())
@@ -318,7 +318,7 @@ public:
Reset();
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!freed)
return;
@@ -356,34 +356,20 @@ public:
enum FreedProtoDrake
{
+ NPC_DRAKE = 29709,
+
AREA_VALLEY_OF_ANCIENT_WINTERS = 4437,
+
TEXT_EMOTE = 0,
+
SPELL_KILL_CREDIT_PRISONER = 55144,
SPELL_SUMMON_LIBERATED = 55073,
- SPELL_KILL_CREDIT_DRAKE = 55143
-};
+ SPELL_KILL_CREDIT_DRAKE = 55143,
-const Position FreedDrakeWaypoints[16] =
-{
- {7294.96f, -2418.733f, 823.869f, 0.0f},
- {7315.984f, -2331.46f, 826.3972f, 0.0f},
- {7271.826f, -2271.479f, 833.5917f, 0.0f},
- {7186.253f, -2218.475f, 847.5632f, 0.0f},
- {7113.195f, -2164.288f, 850.2301f, 0.0f},
- {7078.018f, -2063.106f, 854.7581f, 0.0f},
- {7073.221f, -1983.382f, 861.9246f, 0.0f},
- {7061.455f, -1885.899f, 865.119f, 0.0f},
- {7033.32f, -1826.775f, 876.2578f, 0.0f},
- {6999.902f, -1784.012f, 897.4521f, 0.0f},
- {6954.913f, -1747.043f, 897.4521f, 0.0f},
- {6933.856f, -1720.698f, 882.2022f, 0.0f},
- {6932.729f, -1687.306f, 866.1189f, 0.0f},
- {6952.458f, -1663.802f, 849.8133f, 0.0f},
- {7002.819f, -1651.681f, 831.397f, 0.0f},
- {7026.531f, -1649.239f, 828.8406f, 0.0f}
+ EVENT_CHECK_AREA = 1,
+ EVENT_REACHED_HOME = 2,
};
-
class npc_freed_protodrake : public CreatureScript
{
public:
@@ -393,74 +379,60 @@ public:
{
npc_freed_protodrakeAI(Creature* creature) : VehicleAI(creature) {}
- bool autoMove;
- bool wpReached;
- uint16 CheckTimer;
- uint16 countWP;
+ EventMap events;
void Reset()
{
- autoMove = false;
- wpReached = false;
- CheckTimer = 5000;
- countWP = 0;
+ events.ScheduleEvent(EVENT_CHECK_AREA, 5000);
}
void MovementInform(uint32 type, uint32 id)
{
- if (type != POINT_MOTION_TYPE)
+ if (type != WAYPOINT_MOTION_TYPE)
return;
- if (id < 15)
- {
- ++countWP;
- wpReached = true;
- }
- else
+ if (id == 15)
// drake reached village
- {
- // get player that rides drake (from seat 0)
- Unit* player = me->GetVehicleKit()->GetPassenger(0);
- if (player && player->GetTypeId() == TYPEID_PLAYER)
- {
- // for each prisoner on drake, give credit
- for (uint8 i = 1; i < 4; ++i)
- if (Unit* prisoner = me->GetVehicleKit()->GetPassenger(i))
- {
- if (prisoner->GetTypeId() != TYPEID_UNIT)
- return;
- prisoner->CastSpell(player, SPELL_KILL_CREDIT_PRISONER, true);
- prisoner->CastSpell(prisoner, SPELL_SUMMON_LIBERATED, true);
- prisoner->ExitVehicle();
- }
- me->CastSpell(me, SPELL_KILL_CREDIT_DRAKE, true);
- player->ExitVehicle();
- }
- }
+ events.ScheduleEvent(EVENT_REACHED_HOME, 2000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
- if (!autoMove)
+ events.Update(diff);
+
+ switch (events.ExecuteEvent())
{
- if (CheckTimer < diff)
- {
- CheckTimer = 5000;
+ case EVENT_CHECK_AREA:
if (me->GetAreaId() == AREA_VALLEY_OF_ANCIENT_WINTERS)
{
- Talk(TEXT_EMOTE, me->GetVehicleKit()->GetPassenger(0)->GetGUID());
- autoMove = true;
- wpReached = true;
+ if (Vehicle* vehicle = me->GetVehicleKit())
+ if (Unit* passenger = vehicle->GetPassenger(0))
+ {
+ Talk(TEXT_EMOTE, passenger->GetGUID());
+ me->GetMotionMaster()->MovePath(NPC_DRAKE, false);
+ }
}
- }
- else
- CheckTimer -= diff;
- }
-
- if (wpReached && autoMove)
- {
- wpReached = false;
- me->GetMotionMaster()->MovePoint(countWP, FreedDrakeWaypoints[countWP]);
+ else
+ events.ScheduleEvent(EVENT_CHECK_AREA, 5000);
+ break;
+ case EVENT_REACHED_HOME:
+ Unit* player = me->GetVehicleKit()->GetPassenger(0);
+ if (player && player->GetTypeId() == TYPEID_PLAYER)
+ {
+ // for each prisoner on drake, give credit
+ for (uint8 i = 1; i < 4; ++i)
+ if (Unit* prisoner = me->GetVehicleKit()->GetPassenger(i))
+ {
+ if (prisoner->GetTypeId() != TYPEID_UNIT)
+ return;
+ prisoner->CastSpell(player, SPELL_KILL_CREDIT_PRISONER, true);
+ prisoner->CastSpell(prisoner, SPELL_SUMMON_LIBERATED, true);
+ prisoner->ExitVehicle();
+ }
+ me->CastSpell(me, SPELL_KILL_CREDIT_DRAKE, true);
+ player->ExitVehicle();
+ }
+ break;
}
}
};
@@ -505,7 +477,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
@@ -544,7 +516,7 @@ class npc_hyldsmeet_protodrake : public CreatureScript
_accessoryRespawnTimer = 5 * MINUTE * IN_MILLISECONDS;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
//! We need to manually reinstall accessories because the vehicle itself is friendly to players,
//! so EnterEvadeMode is never triggered. The accessory on the other hand is hostile and killable.
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index 8c255d49d25..ce0eaefac90 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -224,7 +224,7 @@ class npc_wg_spirit_guide : public CreatureScript
{
npc_wg_spirit_guideAI(Creature* creature) : ScriptedAI(creature) { }
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!me->HasUnitState(UNIT_STATE_CASTING))
DoCast(me, SPELL_CHANNEL_SPIRIT_HEAL);
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 69e8d900435..33a573b9b35 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -170,7 +170,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (UpdateVictim())
{
@@ -409,7 +409,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
ScriptedAI::UpdateAI(uiDiff);
@@ -636,7 +636,7 @@ public:
DoCast(who, SPELL_IMPALE);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -761,7 +761,7 @@ public:
DoCast(me, SPELL_GROW);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -832,7 +832,7 @@ public:
uiCorrodeFleshTimer = 6000;
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -950,7 +950,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -1099,7 +1099,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -1213,7 +1213,7 @@ public:
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (!UpdateVictim())
return;
@@ -1309,7 +1309,7 @@ public:
m_heading = me->GetOrientation();
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (m_uiPhase)
{
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
index 040ca012902..0fb49dfc284 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -72,7 +72,7 @@ public:
myClass = myclass;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -234,7 +234,7 @@ public:
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -322,7 +322,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
index 7509f6331f7..00ec9b9fe4a 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
@@ -94,7 +94,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Inhibitmagic_Timer
if (Inhibitmagic_Timer <= diff)
@@ -185,7 +185,7 @@ public:
void EnterCombat(Unit* /*who*/)
{ }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
index 7e1fa41c6da..f26760a82b7 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -149,7 +149,7 @@ public:
summons.DespawnAll();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -269,7 +269,7 @@ public:
summoned->AI()->AttackStart(me->getVictim());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -335,7 +335,7 @@ public:
isFireboltTurn = true;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
index c8bd6dbb069..e4d8d959941 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
@@ -82,7 +82,7 @@ public:
Talk(SAY_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
index 1a53a140f28..371c94035ac 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -127,7 +127,7 @@ public:
DoCast(me, SPELL_SUMMON_SYTH_SHADOW, true); //right
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -220,7 +220,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -279,7 +279,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -333,7 +333,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -388,7 +388,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
index 8a872039e37..4a9a98abcde 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
@@ -127,7 +127,7 @@ public:
Talk(SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
index b9163c13413..cd7f8e120de 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
@@ -142,7 +142,7 @@ public:
instance->SetData(TYPE_HELLMAW, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Intro && !HasEscortState(STATE_ESCORT_ESCORTING))
{
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
index 4ae2d59799a..0c0bae17c5d 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
@@ -106,7 +106,7 @@ public:
instance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
index 80eb7c03819..a067bbf92a0 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
@@ -93,7 +93,7 @@ public:
void EnterCombat(Unit* /*who*/){}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!VorpilGUID)
{
@@ -264,7 +264,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
index fbe62e2a003..e09371bca13 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
@@ -111,7 +111,7 @@ public:
me->DealDamage(target, (target->GetHealth()*90)/100, NULL, SPELL_DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NATURE, spell);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target or casting
if (!UpdateVictim() || me->IsNonMeleeSpellCasted(false))
diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
index 53d51e1fd6c..5a292d165cc 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
@@ -196,7 +196,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index a91d25fa984..844428c8fa7 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -441,7 +441,7 @@ public:
GlaiveGUID = guid;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -956,7 +956,7 @@ public:
++TransformCount;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if ((!UpdateVictim()) && Phase < PHASE_TALK_SEQUENCE)
return;
@@ -1230,7 +1230,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void DoAction(const int32 param)
+ void DoAction(int32 param)
{
if (param > PHASE_ILLIDAN_NULL && param < PHASE_ILLIDAN_MAX)
EnterPhase(PhaseIllidan(param));
@@ -1302,7 +1302,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if ((!UpdateVictim())
&& !Timer[EVENT_MAIEV_STEALTH])
@@ -1732,7 +1732,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->IsVisible())
{
@@ -2078,7 +2078,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (DespawnTimer)
{
@@ -2149,7 +2149,7 @@ public:
target->RemoveAurasDueToSpell(SPELL_PARALYZE);
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -2247,7 +2247,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->getVictim())
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index ec85d675225..dc56f7abe07 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -174,7 +174,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index f9c46aa3f77..a6432114ded 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -248,7 +248,7 @@ public:
instance->SetData(DATA_RELIQUARYOFSOULSEVENT, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Phase)
return;
@@ -469,7 +469,7 @@ public:
me->AddThreat(target, 1000000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (me->isInCombat())
{
@@ -574,7 +574,7 @@ public:
Talk(DESI_SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -665,7 +665,7 @@ public:
Talk(ANGER_SAY_SLAY);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
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 fe5af2a689e..9860cf0385a 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -139,7 +139,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
};
@@ -175,7 +175,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (StartBanishing)
return;
@@ -423,7 +423,7 @@ public:
void SetAkamaGUID(uint64 guid) { AkamaGUID = guid; }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
return;
@@ -725,7 +725,7 @@ public:
summons.DespawnAll();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!EventBegun)
return;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index 2fac33760e2..114f83661b3 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -203,7 +203,7 @@ public:
return target;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -293,12 +293,12 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void DoAction(const int32 /*info*/)
+ void DoAction(int32 /*info*/)
{
me->RemoveAura(SPELL_VOLCANIC_ERUPTION);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (wait <= diff)//wait 3secs before casting
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 2dc0517dc49..5eb9ffcabc8 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -86,7 +86,7 @@ public:
me->RemoveCorpse();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CheckTeronTimer <= diff)
{
@@ -188,7 +188,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CheckPlayerTimer <= diff)
{
@@ -378,7 +378,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Intro && !Done)
{
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 7a56734bc3b..127ca68ce39 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -146,7 +146,7 @@ public:
events.RescheduleEvent(EVENT_SHIELD, 60000 + inc);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 03fa5235d18..d63e8ee20b0 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -169,7 +169,7 @@ public:
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!EventStarted)
return;
@@ -315,7 +315,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!EventBegun)
return;
@@ -536,7 +536,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -641,7 +641,7 @@ public:
Talk(SAY_ZERE_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -741,7 +741,7 @@ public:
Talk(SAY_MALA_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -827,7 +827,7 @@ public:
Talk(SAY_VERA_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 5037f1c4964..b9df26d11c6 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -222,7 +222,7 @@ public:
StartEvent(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
@@ -372,7 +372,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
@@ -506,7 +506,7 @@ public:
DoCast(me, SPELL_WINDFURY_WEAPON);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
@@ -624,7 +624,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_KARATHRESSEVENT))
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
index ec85fe7293d..2f0d736d8ef 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
@@ -212,7 +212,7 @@ public:
Summons.DespawnAll();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!beam)
{
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 b0717d29228..19b57509093 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -310,7 +310,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!CanAttack && Intro)
{
@@ -599,7 +599,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
@@ -677,7 +677,7 @@ public:
me->AddThreat(who, 0.1f);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// PoisonBoltTimer
if (PoisonBoltTimer <= diff)
@@ -754,7 +754,7 @@ public:
MovementTimer = 0;
}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
// Random movement
if (MovementTimer <= diff)
@@ -834,7 +834,7 @@ public:
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI (const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!instance)
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
index 2c8d067a865..f4e0c6cee2a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
@@ -132,7 +132,7 @@ public:
return;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -316,7 +316,7 @@ public:
me->SetDisplayId(MODEL_NIGHTELF);
// and reseting equipment
- me->LoadEquipment(me->GetEquipmentId());
+ me->LoadEquipment();
if (instance && instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER))
{
@@ -410,10 +410,10 @@ public:
if (me->HasAura(AURA_BANISH))
return;
- me->LoadEquipment(me->GetEquipmentId());
+ me->LoadEquipment();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (me->HasAura(AURA_BANISH) || !UpdateVictim())
@@ -558,7 +558,7 @@ public:
{
//switch to nightelf form
me->SetDisplayId(MODEL_NIGHTELF);
- me->LoadEquipment(me->GetEquipmentId());
+ me->LoadEquipment();
CastConsumingMadness();
DespawnDemon();
@@ -589,7 +589,7 @@ public:
Talk(SAY_FINAL_FORM);
me->SetDisplayId(MODEL_NIGHTELF);
- me->LoadEquipment(me->GetEquipmentId());
+ me->LoadEquipment();
}
}
};
@@ -643,7 +643,7 @@ public:
StartEvent();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -737,7 +737,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (instance)
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
index c9d0ab08e1c..18324822c4a 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -177,7 +177,7 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!CanStartEvent) // boss is invisible, don't attack
{
@@ -393,7 +393,7 @@ public:
AttackStart(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (MultiShotTimer <= diff)
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
index 06ea83881c8..592746742f5 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -163,7 +163,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
@@ -320,7 +320,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
index f2ed2560bbf..c9d394f6f2d 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
@@ -101,7 +101,7 @@ public:
instance->SetData(TYPE_HYDROMANCER_THESPIA, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -170,7 +170,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
index 3897f370b0c..12e4e3a496f 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -122,7 +122,7 @@ public:
DoSpawnCreature(ENTRY_STREAMRIGGER_MECHANIC, 7, -5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -223,7 +223,7 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Repair_Timer <= diff)
{
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
index 23b25da91ea..914539b27c9 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -167,7 +167,7 @@ public:
instance->SetData(TYPE_WARLORD_KALITHRESH, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp
index c55e93726a9..7e2c13483bd 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_hungarfen.cpp
@@ -63,7 +63,7 @@ public:
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -138,7 +138,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Stop)
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp
index 1e8fd8b2676..22f406c6c5b 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/underbog/boss_the_black_stalker.cpp
@@ -102,7 +102,7 @@ public:
strider->DisappearAndDie();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
index 0a5c8b0c8b6..8abde7e0694 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
@@ -158,7 +158,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
//Return since we have no target
if (!UpdateVictim())
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 e2b2425dcfc..3018c18383e 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
@@ -217,7 +217,7 @@ public:
DoZoneInCombat();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
@@ -377,7 +377,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
@@ -492,7 +492,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
@@ -611,7 +611,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
@@ -721,7 +721,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Only if not incombat check if the event is started
if (!me->isInCombat() && instance && instance->GetData(DATA_MAULGAREVENT))
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index 6d3ec669cd5..0e584686f9b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -84,7 +84,7 @@ class boss_broggok : public CreatureScript
summoned->CastSpell(summoned, SPELL_POISON, false, 0, 0, me->GetGUID());
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -127,7 +127,7 @@ class boss_broggok : public CreatureScript
}
}
- void DoAction(int32 const action)
+ void DoAction(int32 action)
{
switch (action)
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
index 7d8885ae0ae..d2096140ff4 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
@@ -201,7 +201,7 @@ class boss_kelidan_the_breaker : public CreatureScript
instance->HandleGameObject(instance->GetData64(DATA_DOOR6), true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
@@ -330,7 +330,7 @@ class mob_shadowmoon_channeler : public CreatureScript
CAST_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->ChannelerDied(killer);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
index bab49b95974..8014ee9f8e0 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
@@ -105,7 +105,7 @@ class boss_the_maker : public CreatureScript
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
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 b83307d8dcc..0c5325f7172 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
@@ -118,7 +118,7 @@ class boss_omor_the_unscarred : public CreatureScript
Talk(SAY_DIE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index 30a2813b286..e820e22d65a 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -124,7 +124,7 @@ class boss_nazan : public CreatureScript
me->SummonCreature(ENTRY_LIQUID_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 30000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -243,7 +243,7 @@ class boss_vazruden : public CreatureScript
Talk(SAY_DIE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
@@ -396,7 +396,7 @@ class boss_vazruden_the_herald : public CreatureScript
sentryDown = true;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
switch (phase)
{
@@ -487,7 +487,7 @@ class mob_hellfire_sentry : public CreatureScript
CAST_AI(boss_vazruden_the_herald::boss_vazruden_the_heraldAI, herald->AI())->SentryDownBy(killer);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
index 7aae6cebff9..8961c94ab31 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
@@ -112,7 +112,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
Talk(SAY_DIE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index aeec7d14b26..777f24f779b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -151,7 +151,7 @@ class mob_abyssal : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (trigger)
{
@@ -339,7 +339,7 @@ class boss_magtheridon : public CreatureScript
Talk(SAY_FREED);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
{
@@ -528,7 +528,7 @@ class mob_hellfire_channeler : public CreatureScript
instance->SetData(DATA_CHANNELER_EVENT, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 00f0fd8964e..09dd791020e 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -213,7 +213,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
instance->HandleGameObject(instance->GetData64(DATA_NETHEKURSE_DOOR), true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsIntroEvent)
{
@@ -346,7 +346,7 @@ class mob_fel_orc_convert : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
index dd23f89dcfb..ac261cc5936 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -130,7 +130,7 @@ class mob_omrogg_heads : public CreatureScript
DeathYell = true;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!DeathYell)
return;
@@ -312,7 +312,7 @@ class boss_warbringer_omrogg : public CreatureScript
instance->SetData(TYPE_OMROGG, DONE);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Delay_Timer <= diff)
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
index f437018ac4b..13f47b276ef 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
@@ -194,7 +194,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
me->SummonCreature(MOB_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index f0a823472df..099bd6949cb 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -212,7 +212,7 @@ class boss_alar : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat()) // sometimes isincombat but !incombat, faction bug?
return;
@@ -515,7 +515,7 @@ class mob_ember_of_alar : public CreatureScript
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -553,7 +553,7 @@ class mob_flame_patch_alar : public CreatureScript
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 /*diff*/) {}
+ void UpdateAI(uint32 /*diff*/) {}
};
CreatureAI* GetAI(Creature* creature) const
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index 9ec6691839b..b8245729d73 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -195,7 +195,7 @@ class boss_high_astromancer_solarian : public CreatureScript
return (z*sqrt(radius*radius - (x - CENTER_X)*(x - CENTER_X)) + CENTER_Y);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -443,7 +443,7 @@ class mob_solarium_priest : public CreatureScript
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index c4111f59d65..a6497e6a373 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -241,7 +241,7 @@ struct advisorbase_ai : public ScriptedAI
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (DelayRes_Timer)
{
@@ -465,7 +465,7 @@ class boss_kaelthas : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Phase 1
switch (Phase)
@@ -1046,7 +1046,7 @@ class boss_thaladred_the_darkener : public CreatureScript
Talk(SAY_THALADRED_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
advisorbase_ai::UpdateAI(diff);
@@ -1138,7 +1138,7 @@ class boss_lord_sanguinar : public CreatureScript
Talk(SAY_SANGUINAR_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
advisorbase_ai::UpdateAI(diff);
@@ -1227,7 +1227,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
return;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
advisorbase_ai::UpdateAI(diff);
@@ -1353,7 +1353,7 @@ class boss_master_engineer_telonicus : public CreatureScript
Talk(SAY_TELONICUS_AGGRO);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
advisorbase_ai::UpdateAI(diff);
@@ -1429,7 +1429,7 @@ class mob_kael_flamestrike : public CreatureScript
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Casting)
{
@@ -1490,7 +1490,7 @@ class mob_phoenix_tk : public CreatureScript
me->SummonCreature(NPC_PHOENIX_EGG, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 16000);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1556,7 +1556,7 @@ class mob_phoenix_egg_tk : public CreatureScript
summoned->CastSpell(summoned, SPELL_REBIRTH, false);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Rebirth_Timer)
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
index 468c9ab1e75..d4526e52543 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
@@ -100,7 +100,7 @@ class boss_void_reaver : public CreatureScript
instance->SetData(DATA_VOIDREAVEREVENT, IN_PROGRESS);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
index d5e39d09301..fd00b2c5b4e 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
@@ -62,7 +62,7 @@ class mob_crystalcore_devastator : public CreatureScript
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
index dc9940c87b8..2b597be8a9f 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
@@ -79,7 +79,7 @@ class boss_gatewatcher_gyrokill : public CreatureScript
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
index 440e17a29cf..4a2026a4ed1 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
@@ -83,7 +83,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp
index 1a43798ccef..728b3f715b2 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp
@@ -99,7 +99,7 @@ class boss_mechano_lord_capacitus : public CreatureScript
Talk(YELL_DEATH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
index 9bda618b732..902fb8e76b3 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
@@ -91,7 +91,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -177,7 +177,7 @@ class mob_ragin_flames : public CreatureScript
{
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Check_Timer
if (Check_Timer <= diff)
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
index 9d894e41b60..65cd195fb80 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
@@ -106,7 +106,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -189,7 +189,7 @@ class mob_nether_wraith : public CreatureScript
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index cd3fb897181..0b52b705753 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -138,7 +138,7 @@ class npc_millhouse_manastorm : public CreatureScript
->FailQuest();*/
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Init)
{
@@ -398,7 +398,7 @@ class npc_warden_mellichar : public CreatureScript
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!IsRunning)
return;
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index 141257dae63..c6f47fe8de7 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -152,7 +152,7 @@ class boss_harbinger_skyriss : public CreatureScript
DoCast(me, SPELL_33_ILLUSION);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Intro)
{
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
index 20531f1f110..6775fb95824 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
@@ -93,7 +93,7 @@ class boss_commander_sarannis : public CreatureScript
BossAI::JustSummoned(summon);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
index 2ab527c2fd5..39ca6d32196 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
@@ -114,7 +114,7 @@ class boss_high_botanist_freywinn : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
index bd9195e44f8..7b4ef77ac10 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
@@ -167,7 +167,7 @@ class boss_laj : public CreatureScript
summon->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
index ffd48f4dcb5..70b626190b7 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
@@ -95,7 +95,7 @@ class boss_thorngrin_the_tender : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
index d2b6c44ec7b..1275550a340 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
@@ -90,7 +90,7 @@ class mob_warp_splinter_treant : public CreatureScript
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
@@ -190,7 +190,7 @@ class boss_warp_splinter : public CreatureScript
Talk(SAY_SUMMON);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
index 8886e3e41f0..0e66893d3ac 100644
--- a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
+++ b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
@@ -108,7 +108,7 @@ class boss_doomlord_kazzak : public CreatureScript
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/boss_doomwalker.cpp b/src/server/scripts/Outland/boss_doomwalker.cpp
index 9826900d246..33896800ada 100644
--- a/src/server/scripts/Outland/boss_doomwalker.cpp
+++ b/src/server/scripts/Outland/boss_doomwalker.cpp
@@ -97,7 +97,7 @@ class boss_doomwalker : public CreatureScript
who->CastSpell(who, SPELL_AURA_DEATH, 1);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index d03abc82b9c..fc317c4eca7 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -71,7 +71,7 @@ public:
void Reset() { }
- void UpdateAI(const uint32 /*uiDiff*/)
+ void UpdateAI(uint32 /*uiDiff*/)
{
if (!UpdateVictim())
return;
@@ -195,7 +195,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (IsNihil)
{
@@ -468,7 +468,7 @@ public:
OgreGUID = 0;
}
- void UpdateAI(const uint32 /*uiDiff*/) {}
+ void UpdateAI(uint32 /*uiDiff*/) {}
};
};
@@ -528,7 +528,7 @@ public:
}
}
- void UpdateAI(const uint32 /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -654,7 +654,7 @@ class npc_simon_bunny : public CreatureScript
EventMap _events;
std::list<uint8> colorSequence, playableSequence, playerSequence;
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
_events.Update(diff);
@@ -708,7 +708,7 @@ class npc_simon_bunny : public CreatureScript
}
}
- void DoAction(const int32 action)
+ void DoAction(int32 action)
{
switch (action)
{
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 64b484268df..e950547ac30 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -86,7 +86,7 @@ public:
Talk(SAY_SUMMON);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Faction_Timer)
{
@@ -487,7 +487,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
if (uiCheckTimer <= uiDiff)
{
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index edb7a2642d5..fd193aa4835 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -274,7 +274,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
if (!me->getVictim())
@@ -445,7 +445,7 @@ public:
ReleasedFromCage = false;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (ReleasedFromCage)
{
@@ -628,7 +628,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index 769ee7dc68d..e25d5403c02 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -237,7 +237,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (Event_Timer <= diff)
{
@@ -506,7 +506,7 @@ public:
return false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Is event even running?
if (!isEvent)
@@ -784,7 +784,7 @@ public:
// DoCast(me, SPELL_DE_MATERIALIZE);
//}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!Materialize)
{
@@ -997,7 +997,7 @@ public:
player->FailQuest(QUEST_MARK_V_IS_ALIVE);
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index a1bfc0a090a..a0c365a9a96 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -126,7 +126,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (bCanEat || bIsEating)
{
@@ -280,7 +280,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
{
@@ -385,7 +385,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (PoisonTimer)
{
@@ -962,7 +962,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!ConversationTimer)
return;
@@ -1125,7 +1125,7 @@ public:
}
}
- void UpdateAI(const uint32 uiDiff)
+ void UpdateAI(uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
@@ -1326,7 +1326,7 @@ public:
++AnimationCount;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (AnimationTimer)
{
@@ -1514,7 +1514,7 @@ public:
Announced = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!PlayerGUID || !EventStarted)
return;
@@ -1581,7 +1581,7 @@ public:
CAST_AI(npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, LordIllidan->AI())->LiveCounter();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1975,7 +1975,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (tapped)
{
diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp
index ac26614ae69..14553be0ef4 100644
--- a/src/server/scripts/Outland/zone_shattrath_city.cpp
+++ b/src/server/scripts/Outland/zone_shattrath_city.cpp
@@ -101,7 +101,7 @@ public:
me->RestoreFaction();
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -176,7 +176,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -519,7 +519,7 @@ public:
void EnterCombat(Unit* /*who*/){}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (SayTimer <= diff)
{
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index 2b046a7518e..caa31ed472c 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -125,7 +125,7 @@ public:
}
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (CanDoQuest)
{
@@ -244,7 +244,7 @@ public:
void Reset() {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
npc_escortAI::UpdateAI(diff);
}
@@ -416,7 +416,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp
index 319da372bf8..b4899189af5 100644
--- a/src/server/scripts/Outland/zone_zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp
@@ -192,7 +192,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp
index dbfc2b44501..90bb689a9a9 100644
--- a/src/server/scripts/Spells/spell_holiday.cpp
+++ b/src/server/scripts/Spells/spell_holiday.cpp
@@ -368,7 +368,7 @@ class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
if (target->HasAura(spells[i]))
return;
- GetCaster()->CastSpell(target, spells[urand(0, 3)], true);
+ target->CastSpell(target, spells[urand(0, 3)], true);
}
}
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index d57ed6e126b..c9c75cdb134 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -813,53 +813,65 @@ class spell_item_scroll_of_recall : public SpellScriptLoader
enum ShadowsFate
{
SPELL_SOUL_FEAST = 71203,
- QUEST_A_FEAST_OF_SOULS = 24547
};
-class spell_item_shadows_fate : public SpellScriptLoader
+class spell_item_unsated_craving : public SpellScriptLoader
{
public:
- spell_item_shadows_fate() : SpellScriptLoader("spell_item_shadows_fate") { }
+ spell_item_unsated_craving() : SpellScriptLoader("spell_item_unsated_craving") { }
- class spell_item_shadows_fate_AuraScript : public AuraScript
+ class spell_item_unsated_craving_AuraScript : public AuraScript
{
- PrepareAuraScript(spell_item_shadows_fate_AuraScript);
+ PrepareAuraScript(spell_item_unsated_craving_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/)
+ bool CheckProc(ProcEventInfo& procInfo)
{
- if (!sSpellMgr->GetSpellInfo(SPELL_SOUL_FEAST))
+ Unit* caster = procInfo.GetActor();
+ if (!caster || caster->GetTypeId() != TYPEID_PLAYER)
return false;
- if (!sObjectMgr->GetQuestTemplate(QUEST_A_FEAST_OF_SOULS))
+
+ Unit* target = procInfo.GetActionTarget();
+ if (!target || target->GetTypeId() != TYPEID_UNIT || target->GetCreatureType() == CREATURE_TYPE_CRITTER || target->isSummon())
return false;
- return true;
- }
- bool Load()
- {
- _procTarget = NULL;
return true;
}
- bool CheckProc(ProcEventInfo& /*eventInfo*/)
+ void Register()
{
- _procTarget = GetCaster();
- return _procTarget && _procTarget->GetTypeId() == TYPEID_PLAYER && _procTarget->ToPlayer()->GetQuestStatus(QUEST_A_FEAST_OF_SOULS) == QUEST_STATUS_INCOMPLETE;
+ DoCheckProc += AuraCheckProcFn(spell_item_unsated_craving_AuraScript::CheckProc);
}
+ };
- void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ AuraScript* GetAuraScript() const
+ {
+ return new spell_item_unsated_craving_AuraScript();
+ }
+};
+
+class spell_item_shadows_fate : public SpellScriptLoader
+{
+ public:
+ spell_item_shadows_fate() : SpellScriptLoader("spell_item_shadows_fate") { }
+
+ class spell_item_shadows_fate_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_item_shadows_fate_AuraScript);
+
+ void HandleProc(ProcEventInfo& procInfo)
{
- PreventDefaultAction();
- GetTarget()->CastSpell(_procTarget, SPELL_SOUL_FEAST, true);
+ Unit* caster = procInfo.GetActor();
+ Unit* target = GetCaster();
+ if (!caster || !target)
+ return;
+
+ caster->CastSpell(target, SPELL_SOUL_FEAST, TRIGGERED_FULL_MASK);
}
void Register()
{
- DoCheckProc += AuraCheckProcFn(spell_item_shadows_fate_AuraScript::CheckProc);
- OnEffectProc += AuraEffectProcFn(spell_item_shadows_fate_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
+ OnProc += AuraProcFn(spell_item_shadows_fate_AuraScript::HandleProc);
}
-
- private:
- Unit* _procTarget;
};
AuraScript* GetAuraScript() const
@@ -2481,6 +2493,7 @@ void AddSC_item_spell_scripts()
new spell_item_piccolo_of_the_flaming_fire();
new spell_item_savory_deviate_delight();
new spell_item_scroll_of_recall();
+ new spell_item_unsated_craving();
new spell_item_shadows_fate();
new spell_item_shadowmourne();
new spell_item_shadowmourne_soul_fragment();
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index c031c4a3b4d..83fac35b1b6 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -425,6 +425,69 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript
std::map<uint32, time_t> _triggerTimes;
};
+/*######
+ ## at_frostgrips_hollow
+ ######*/
+
+enum FrostgripsHollow
+{
+ QUEST_THE_LONESOME_WATCHER = 12877,
+
+ NPC_STORMFORGED_MONITOR = 29862,
+ NPC_STORMFORGED_ERADICTOR = 29861,
+
+ TYPE_WAYPOINT = 0,
+ DATA_START = 0
+};
+
+Position const stormforgedMonitorPosition = {6963.95f, 45.65f, 818.71f, 4.948f};
+Position const stormforgedEradictorPosition = {6983.18f, 7.15f, 806.33f, 2.228f};
+
+class AreaTrigger_at_frostgrips_hollow : public AreaTriggerScript
+{
+public:
+ AreaTrigger_at_frostgrips_hollow() : AreaTriggerScript("at_frostgrips_hollow")
+ {
+ stormforgedMonitorGUID = 0;
+ stormforgedEradictorGUID = 0;
+ }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */)
+ {
+ if (player->GetQuestStatus(QUEST_THE_LONESOME_WATCHER) != QUEST_STATUS_INCOMPLETE)
+ return false;
+
+ Creature* stormforgedMonitor = Creature::GetCreature(*player, stormforgedMonitorGUID);
+ if (stormforgedMonitor)
+ return false;
+
+ Creature* stormforgedEradictor = Creature::GetCreature(*player, stormforgedEradictorGUID);
+ if (stormforgedEradictor)
+ return false;
+
+ if ((stormforgedMonitor = player->SummonCreature(NPC_STORMFORGED_MONITOR, stormforgedMonitorPosition, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000)))
+ {
+ stormforgedMonitorGUID = stormforgedMonitor->GetGUID();
+ stormforgedMonitor->SetWalk(false);
+ /// The npc would search an alternative way to get to the last waypoint without this unit state.
+ stormforgedMonitor->AddUnitState(UNIT_STATE_IGNORE_PATHFINDING);
+ stormforgedMonitor->GetMotionMaster()->MovePath(NPC_STORMFORGED_MONITOR * 100, false);
+ }
+
+ if ((stormforgedEradictor = player->SummonCreature(NPC_STORMFORGED_ERADICTOR, stormforgedEradictorPosition, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000)))
+ {
+ stormforgedEradictorGUID = stormforgedEradictor->GetGUID();
+ stormforgedEradictor->GetMotionMaster()->MovePath(NPC_STORMFORGED_ERADICTOR * 100, false);
+ }
+
+ return true;
+ }
+
+private:
+ uint64 stormforgedMonitorGUID;
+ uint64 stormforgedEradictorGUID;
+};
+
void AddSC_areatrigger_scripts()
{
new AreaTrigger_at_coilfang_waterfall();
@@ -436,4 +499,5 @@ void AddSC_areatrigger_scripts()
new AreaTrigger_at_nats_landing();
new AreaTrigger_at_brewfest();
new AreaTrigger_at_area_52_entrance();
+ new AreaTrigger_at_frostgrips_hollow();
}
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 7699712a1e4..41508a80241 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -113,7 +113,7 @@ struct emerald_dragonAI : public WorldBossAI
}
// Execute and reschedule base events shared between all Emerald Dragons
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -137,7 +137,7 @@ struct emerald_dragonAI : public WorldBossAI
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -177,7 +177,7 @@ class npc_dream_fog : public CreatureScript
_roamTimer = 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -275,7 +275,7 @@ class boss_ysondre : public CreatureScript
}
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -370,7 +370,7 @@ class boss_lethon : public CreatureScript
}
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -490,7 +490,7 @@ class boss_emeriss : public CreatureScript
}
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -604,7 +604,7 @@ class boss_taerar : public CreatureScript
}
}
- void ExecuteEvent(uint32 const eventId)
+ void ExecuteEvent(uint32 eventId)
{
switch (eventId)
{
@@ -622,7 +622,7 @@ class boss_taerar : public CreatureScript
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!me->isInCombat())
return;
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index f07a9ed7671..bff30f6cca5 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -70,7 +70,7 @@ public:
DoCast(who, spell->Id);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Always decrease our global cooldown first
if (globalCooldown > diff)
@@ -273,7 +273,7 @@ public:
canTeleport = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -338,7 +338,7 @@ public:
canTeleport = false;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/World/mob_generic_creature.cpp b/src/server/scripts/World/mob_generic_creature.cpp
index 174ba8870d1..d0ac142e050 100644
--- a/src/server/scripts/World/mob_generic_creature.cpp
+++ b/src/server/scripts/World/mob_generic_creature.cpp
@@ -55,7 +55,7 @@ public:
IsSelfRooted = true;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
//Always decrease our global cooldown first
if (GlobalCooldown > diff)
@@ -186,7 +186,7 @@ public:
uint32 timer, interval;
const SpellInfo* spell;
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (timer <= diff)
{
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index d6a7cbf8e70..af2a3b5f84c 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -344,7 +344,7 @@ public:
void EnterCombat(Unit* /*who*/) {}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
// Reset flags after a certain time has passed so that the next player has to start the 'event' again
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
@@ -444,7 +444,7 @@ public:
me->SendMessageToSet(&data, true);
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!Active)
{
@@ -689,7 +689,7 @@ public:
}
}
- void UpdateAI(uint32 const diff);
+ void UpdateAI(uint32 diff);
void EnterCombat(Unit* /*who*/){}
};
@@ -798,7 +798,7 @@ public:
}
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
//lower HP on every world tick makes it a useful counter, not officlone though
if (me->isAlive() && me->GetHealth() > 6)
@@ -824,7 +824,7 @@ public:
}
};
-void npc_doctor::npc_doctorAI::UpdateAI(uint32 const diff)
+void npc_doctor::npc_doctorAI::UpdateAI(uint32 diff)
{
if (Event && SummonPatientCount >= 20)
{
@@ -1056,7 +1056,7 @@ public:
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (CanRun && !me->isInCombat())
{
@@ -1128,7 +1128,7 @@ public:
{
}
- void UpdateAI(uint32 const /*diff*/)
+ void UpdateAI(uint32 /*diff*/)
{
if (!UpdateVictim())
return;
@@ -1540,7 +1540,7 @@ public:
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (ExplosionTimer <= diff)
{
@@ -1656,7 +1656,7 @@ public:
}
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -1734,7 +1734,7 @@ public:
void EnterCombat(Unit* /*who*/){}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (me->HasAura(20372))
{
@@ -1921,7 +1921,7 @@ public:
despawnTimer = 4 * IN_MILLISECONDS;
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (despawnTimer > 0)
{
@@ -2016,7 +2016,7 @@ public:
damage = 0;
}
- void UpdateAI(uint32 const diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2110,7 +2110,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2174,7 +2174,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -2904,14 +2904,14 @@ public:
void EnterCombat(Unit* /*who*/) { }
- void DoAction(const int32 /*param*/)
+ void DoAction(int32 /*param*/)
{
inLove = true;
if (Unit* owner = me->GetOwner())
owner->CastSpell(owner, SPELL_SPRING_FLING, true);
}
- void UpdateAI(const uint32 diff)
+ void UpdateAI(uint32 diff)
{
if (inLove)
{
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp
index b807736f47b..89f3cf8fdce 100644
--- a/src/server/shared/Database/Implementation/WorldDatabase.cpp
+++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp
@@ -78,7 +78,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_INS_CREATURE_TRANSPORT, "INSERT INTO creature_transport (guid, npc_entry, transport_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(WORLD_UPD_CREATURE_TRANSPORT_EMOTE, "UPDATE creature_transport SET emote = ? WHERE transport_entry = ? AND guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, security, help FROM command", CONNECTION_SYNCH);
- PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, equipment_id, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH);
+ PrepareStatement(WORLD_SEL_CREATURE_TEMPLATE, "SELECT difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, faction_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM creature_template WHERE entry = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_BY_ID, "SELECT guid, delay, command, datalong, datalong2, dataint, x, y, z, o FROM waypoint_scripts WHERE id = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_IP2NATION_COUNTRY, "SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < ? AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_ITEM_TEMPLATE_BY_NAME, "SELECT entry FROM item_template WHERE name = ?", CONNECTION_SYNCH);
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index 10ff16b5ddd..ce23f4ca4f6 100644
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -124,8 +124,9 @@ bool MySQLConnection::Open()
{
sLog->outInfo(LOG_FILTER_SQL, "MySQL client library: %s", mysql_get_client_info());
sLog->outInfo(LOG_FILTER_SQL, "MySQL server ver: %s ", mysql_get_server_info(m_Mysql));
- if (mysql_get_server_version(m_Mysql) != mysql_get_client_version())
- sLog->outInfo(LOG_FILTER_SQL, "[WARNING] MySQL client/server version mismatch; may conflict with behaviour of prepared statements.");
+ // MySQL version above 5.1 IS required in both client and server and there is no known issue with different versions above 5.1
+ // if (mysql_get_server_version(m_Mysql) != mysql_get_client_version())
+ // sLog->outInfo(LOG_FILTER_SQL, "[WARNING] MySQL client/server version mismatch; may conflict with behaviour of prepared statements.");
}
sLog->outInfo(LOG_FILTER_SQL, "Connected to MySQL database at %s", m_connectionInfo.host.c_str());
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index 920ce4ce570..f0275f8c6b2 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -286,7 +286,10 @@ void Log::write(LogMessage* msg)
if (worker)
worker->enqueue(new LogOperation(logger, msg));
else
+ {
logger->write(*msg);
+ delete msg;
+ }
}
std::string Log::GetTimestampStr()
diff --git a/src/server/worldserver/RemoteAccess/RASocket.cpp b/src/server/worldserver/RemoteAccess/RASocket.cpp
index ee05e83ad4d..359abd39901 100644
--- a/src/server/worldserver/RemoteAccess/RASocket.cpp
+++ b/src/server/worldserver/RemoteAccess/RASocket.cpp
@@ -33,6 +33,7 @@
RASocket::RASocket()
{
_minLevel = uint8(ConfigMgr::GetIntDefault("RA.MinLevel", 3));
+ _commandExecuting = false;
}
RASocket::~RASocket()
@@ -59,6 +60,12 @@ int RASocket::handle_close(ACE_HANDLE, ACE_Reactor_Mask)
sLog->outInfo(LOG_FILTER_REMOTECOMMAND, "Closing connection");
peer().close_reader();
wait();
+ // While the above wait() will wait for the ::svc() to finish, it will not wait for the async event
+ // RASocket::commandfinished to be completed. Calling destroy() before the latter function ends
+ // will lead to using a freed pointer -> crash.
+ while (_commandExecuting.value())
+ ACE_OS::sleep(1);
+
destroy();
return 0;
}
@@ -150,6 +157,7 @@ int RASocket::process_command(const std::string& command)
return -1;
}
+ _commandExecuting = true;
CliCommandHolder* cmd = new CliCommandHolder(this, command.c_str(), &RASocket::zprint, &RASocket::commandFinished);
sWorld->QueueCliCommand(cmd);
@@ -412,10 +420,11 @@ void RASocket::commandFinished(void* callbackArg, bool /*success*/)
// the message is 0 size control message to tell that command output is finished
// hence we don't put timeout, because it shouldn't increase queue size and shouldn't block
- if (socket->putq(mb) == -1)
- {
+ if (socket->putq(mb->duplicate()) == -1)
// getting here is bad, command can't be marked as complete
sLog->outDebug(LOG_FILTER_REMOTECOMMAND, "Failed to enqueue command end message. Error is %s", ACE_OS::strerror(errno));
- mb->release();
- }
+
+ mb->release();
+
+ socket->_commandExecuting = false;
}
diff --git a/src/server/worldserver/RemoteAccess/RASocket.h b/src/server/worldserver/RemoteAccess/RASocket.h
index d23d1f0d5fd..e92cb35eaf0 100644
--- a/src/server/worldserver/RemoteAccess/RASocket.h
+++ b/src/server/worldserver/RemoteAccess/RASocket.h
@@ -57,6 +57,7 @@ class RASocket: public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
private:
/// Minimum security level required to connect
uint8 _minLevel;
+ ACE_Atomic_Op<ACE_Thread_Mutex, bool> _commandExecuting;
};
#endif
/// @}
diff --git a/src/server/worldserver/TCSoap/TCSoap.cpp b/src/server/worldserver/TCSoap/TCSoap.cpp
index 7d460da4f83..dd82c6ce0c7 100644
--- a/src/server/worldserver/TCSoap/TCSoap.cpp
+++ b/src/server/worldserver/TCSoap/TCSoap.cpp
@@ -18,6 +18,9 @@
#include "TCSoap.h"
#include "soapH.h"
#include "soapStub.h"
+#include "World.h"
+#include "AccountMgr.h"
+#include "Log.h"
void TCSoapRunnable::run()
{
diff --git a/src/server/worldserver/TCSoap/TCSoap.h b/src/server/worldserver/TCSoap/TCSoap.h
index ccdc7b1f89f..b786ee94e81 100644
--- a/src/server/worldserver/TCSoap/TCSoap.h
+++ b/src/server/worldserver/TCSoap/TCSoap.h
@@ -18,17 +18,11 @@
#ifndef _TCSOAP_H
#define _TCSOAP_H
-#include "Common.h"
-#include "World.h"
-#include "AccountMgr.h"
-#include "Log.h"
-
-#include "soapH.h"
-#include "soapStub.h"
-#include "stdsoap2.h"
+#include "Define.h"
#include <ace/Semaphore.h>
#include <ace/Task.h>
+#include <Threading.h>
class TCSoapRunnable: public ACE_Based::Runnable
{
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index e519a53a5af..069c027d139 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1054,7 +1054,7 @@ Event.Announce = 0
#
# BeepAtStart
-# Description: Beep when the world server finished starting (Unix/Linux systems).
+# Description: Beep when the world server finished starting.
# Default: 1 - (Enabled)
# 0 - (Disabled)
@@ -1120,6 +1120,14 @@ DBC.EnforceItemAttributes = 1
AccountInstancesPerHour = 5
#
+# RBAC.DefaultGroups
+# Description: Comma separated list of groups to be added to any account
+# Check auth.rbac_groups for correct ids
+# Default: "" (No group)
+
+RBAC.DefaultGroups = ""
+
+#
###################################################################################################
###################################################################################################
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index 49c17913c64..3adccf105de 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -12,4 +12,6 @@ add_subdirectory(map_extractor)
add_subdirectory(vmap4_assembler)
add_subdirectory(vmap4_extractor)
add_subdirectory(mmaps_generator)
-add_subdirectory(mesh_extractor)
+if (WITH_MESHEXTRACTOR)
+ add_subdirectory(mesh_extractor)
+endif()