aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/authserver/Authentication/AuthCodes.cpp1
-rw-r--r--src/server/authserver/Authentication/TOTP.h2
-rw-r--r--src/server/authserver/Main.cpp57
-rw-r--r--src/server/collision/Management/MMapFactory.h3
-rw-r--r--src/server/collision/Management/MMapManager.h10
-rw-r--r--src/server/collision/Management/VMapManager2.h8
-rw-r--r--src/server/collision/Maps/MapTree.h10
-rw-r--r--src/server/collision/Models/GameObjectModel.cpp50
-rw-r--r--src/server/collision/Models/GameObjectModel.h6
-rw-r--r--src/server/collision/Models/WorldModel.h6
-rw-r--r--src/server/game/AI/CoreAI/CombatAI.cpp2
-rw-r--r--src/server/game/AI/CoreAI/PetAI.cpp10
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.cpp1
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.h4
-rw-r--r--src/server/game/AI/CreatureAI.cpp6
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp3
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp6
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.cpp30
-rw-r--r--src/server/game/AI/SmartScripts/SmartAI.h2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp125
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.h7
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.cpp80
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h27
-rw-r--r--src/server/game/Accounts/AccountMgr.cpp7
-rw-r--r--src/server/game/Accounts/RBAC.h7
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp167
-rw-r--r--src/server/game/Achievements/AchievementMgr.h60
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp4
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h2
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp7
-rw-r--r--src/server/game/Battlefield/Battlefield.h2
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.cpp3
-rw-r--r--src/server/game/Battlefield/Zones/BattlefieldWG.h6
-rw-r--r--src/server/game/Battlegrounds/ArenaTeamMgr.h2
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp73
-rw-r--r--src/server/game/Battlegrounds/Battleground.h20
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp26
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.h5
-rw-r--r--src/server/game/Battlegrounds/BattlegroundQueue.h4
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp32
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.h7
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp39
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp12
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp11
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp71
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.h7
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp436
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.h243
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp4
-rw-r--r--src/server/game/Chat/Chat.cpp48
-rw-r--r--src/server/game/Chat/Chat.h2
-rw-r--r--src/server/game/Chat/ChatLink.cpp2
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp5
-rw-r--r--src/server/game/DataStores/DBCEnums.h7
-rw-r--r--src/server/game/DataStores/DBCStores.cpp19
-rw-r--r--src/server/game/DataStores/DBCStores.h3
-rw-r--r--src/server/game/DataStores/DBCStructure.h61
-rw-r--r--src/server/game/DataStores/DBCfmt.h12
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp151
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.h7
-rw-r--r--src/server/game/DungeonFinding/LFGPlayerData.cpp10
-rw-r--r--src/server/game/DungeonFinding/LFGPlayerData.h3
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp16
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.h2
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp70
-rw-r--r--src/server/game/Entities/Creature/Creature.h37
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.h4
-rw-r--r--src/server/game/Entities/Creature/GossipDef.cpp46
-rw-r--r--src/server/game/Entities/Creature/GossipDef.h9
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.h2
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.cpp33
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.h4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp222
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h11
-rw-r--r--src/server/game/Entities/Item/ItemEnchantmentMgr.cpp2
-rw-r--r--src/server/game/Entities/Item/ItemPrototype.h2
-rw-r--r--src/server/game/Entities/Object/Object.cpp180
-rw-r--r--src/server/game/Entities/Object/Object.h37
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp97
-rw-r--r--src/server/game/Entities/Pet/Pet.h4
-rw-r--r--src/server/game/Entities/Player/Player.cpp401
-rw-r--r--src/server/game/Entities/Player/Player.h32
-rw-r--r--src/server/game/Entities/Totem/Totem.h2
-rw-r--r--src/server/game/Entities/Transport/Transport.cpp160
-rw-r--r--src/server/game/Entities/Transport/Transport.h28
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp122
-rw-r--r--src/server/game/Entities/Unit/Unit.h26
-rw-r--r--src/server/game/Events/GameEventMgr.cpp2
-rw-r--r--src/server/game/Events/GameEventMgr.h2
-rw-r--r--src/server/game/Globals/ObjectAccessor.cpp2
-rw-r--r--src/server/game/Globals/ObjectAccessor.h8
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp449
-rw-r--r--src/server/game/Globals/ObjectMgr.h131
-rw-r--r--src/server/game/Grids/GridStates.cpp12
-rw-r--r--src/server/game/Grids/GridStates.h7
-rw-r--r--src/server/game/Groups/Group.cpp67
-rw-r--r--src/server/game/Groups/Group.h5
-rw-r--r--src/server/game/Groups/GroupMgr.cpp4
-rw-r--r--src/server/game/Guilds/Guild.h2
-rw-r--r--src/server/game/Guilds/GuildMgr.cpp2
-rw-r--r--src/server/game/Guilds/GuildMgr.h2
-rw-r--r--src/server/game/Handlers/AddonHandler.cpp2
-rw-r--r--src/server/game/Handlers/ArenaTeamHandler.cpp28
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp21
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp14
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp29
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp22
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp10
-rw-r--r--src/server/game/Handlers/LootHandler.cpp31
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp32
-rw-r--r--src/server/game/Handlers/NPCHandler.h1
-rw-r--r--src/server/game/Handlers/PetHandler.cpp7
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp64
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp193
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp10
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.h6
-rw-r--r--src/server/game/Loot/LootMgr.cpp48
-rw-r--r--src/server/game/Loot/LootMgr.h9
-rw-r--r--src/server/game/Mails/Mail.cpp2
-rw-r--r--src/server/game/Maps/Map.cpp345
-rw-r--r--src/server/game/Maps/Map.h53
-rw-r--r--src/server/game/Maps/MapInstanced.h2
-rw-r--r--src/server/game/Maps/MapManager.cpp8
-rw-r--r--src/server/game/Maps/MapManager.h2
-rw-r--r--src/server/game/Maps/PhaseMgr.h6
-rw-r--r--src/server/game/Maps/TransportMgr.h6
-rw-r--r--src/server/game/Miscellaneous/Language.h25
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h30
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp2
-rw-r--r--src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp8
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp9
-rw-r--r--src/server/game/Movement/PathGenerator.cpp130
-rw-r--r--src/server/game/Movement/PathGenerator.h3
-rw-r--r--src/server/game/Movement/Spline/MovementTypedefs.h6
-rw-r--r--src/server/game/Movement/Spline/Spline.h2
-rw-r--r--src/server/game/Movement/Waypoints/WaypointManager.h2
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.cpp4
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.h16
-rw-r--r--src/server/game/Quests/QuestDef.cpp2
-rw-r--r--src/server/game/Scripting/ScriptLoader.cpp2
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp9
-rw-r--r--src/server/game/Scripting/ScriptMgr.h34
-rw-r--r--src/server/game/Scripting/ScriptSystem.h2
-rw-r--r--src/server/game/Server/WorldSession.h13
-rw-r--r--src/server/game/Server/WorldSocket.cpp8
-rw-r--r--src/server/game/Server/WorldSocket.h2
-rw-r--r--src/server/game/Skills/SkillDiscovery.cpp2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp9
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp12
-rw-r--r--src/server/game/Spells/Spell.cpp126
-rw-r--r--src/server/game/Spells/Spell.h12
-rw-r--r--src/server/game/Spells/SpellEffects.cpp59
-rw-r--r--src/server/game/Spells/SpellMgr.cpp101
-rw-r--r--src/server/game/Spells/SpellMgr.h25
-rw-r--r--src/server/game/Spells/SpellScript.h1
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp120
-rw-r--r--src/server/game/Texts/CreatureTextMgr.h13
-rw-r--r--src/server/game/Tickets/TicketMgr.cpp4
-rw-r--r--src/server/game/Tools/PlayerDump.cpp12
-rw-r--r--src/server/game/Warden/Warden.cpp3
-rw-r--r--src/server/game/Weather/WeatherMgr.cpp4
-rw-r--r--src/server/game/World/World.cpp27
-rw-r--r--src/server/game/World/World.h24
-rw-r--r--src/server/scripts/Commands/cs_account.cpp2
-rw-r--r--src/server/scripts/Commands/cs_achievement.cpp2
-rw-r--r--src/server/scripts/Commands/cs_arena.cpp2
-rw-r--r--src/server/scripts/Commands/cs_ban.cpp2
-rw-r--r--src/server/scripts/Commands/cs_bf.cpp2
-rw-r--r--src/server/scripts/Commands/cs_cast.cpp2
-rw-r--r--src/server/scripts/Commands/cs_character.cpp6
-rw-r--r--src/server/scripts/Commands/cs_cheat.cpp2
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp7
-rw-r--r--src/server/scripts/Commands/cs_deserter.cpp2
-rw-r--r--src/server/scripts/Commands/cs_disable.cpp2
-rw-r--r--src/server/scripts/Commands/cs_event.cpp2
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp2
-rw-r--r--src/server/scripts/Commands/cs_go.cpp3
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp11
-rw-r--r--src/server/scripts/Commands/cs_group.cpp2
-rw-r--r--src/server/scripts/Commands/cs_honor.cpp2
-rw-r--r--src/server/scripts/Commands/cs_instance.cpp2
-rw-r--r--src/server/scripts/Commands/cs_learn.cpp2
-rw-r--r--src/server/scripts/Commands/cs_lfg.cpp2
-rw-r--r--src/server/scripts/Commands/cs_list.cpp2
-rw-r--r--src/server/scripts/Commands/cs_lookup.cpp5
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp15
-rw-r--r--src/server/scripts/Commands/cs_mmaps.cpp6
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp12
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp20
-rw-r--r--src/server/scripts/Commands/cs_pet.cpp2
-rw-r--r--src/server/scripts/Commands/cs_quest.cpp9
-rw-r--r--src/server/scripts/Commands/cs_rbac.cpp2
-rw-r--r--src/server/scripts/Commands/cs_reload.cpp321
-rw-r--r--src/server/scripts/Commands/cs_reset.cpp2
-rw-r--r--src/server/scripts/Commands/cs_send.cpp2
-rw-r--r--src/server/scripts/Commands/cs_server.cpp2
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp2
-rw-r--r--src/server/scripts/Commands/cs_titles.cpp9
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp27
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp49
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp96
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp21
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp34
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp42
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp67
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp52
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp34
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp50
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp167
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp39
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp54
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp80
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp92
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp48
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp70
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp22
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp30
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp45
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp36
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp42
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp46
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp52
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp86
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp56
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp36
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp78
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_zanzil.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp39
-rw-r--r--src/server/scripts/EasternKingdoms/zone_duskwood.cpp66
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp30
-rw-r--r--src/server/scripts/EasternKingdoms/zone_ghostlands.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/zone_hinterlands.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp36
-rw-r--r--src/server/scripts/EasternKingdoms/zone_westfall.cpp87
-rw-r--r--src/server/scripts/EasternKingdoms/zone_wetlands.cpp16
-rw-r--r--src/server/scripts/Events/childrens_week.cpp66
-rw-r--r--src/server/scripts/Examples/example_commandscript.cpp2
-rw-r--r--src/server/scripts/Examples/example_creature.cpp18
-rw-r--r--src/server/scripts/Examples/example_escort.cpp18
-rw-r--r--src/server/scripts/Examples/example_gossip_codebox.cpp6
-rw-r--r--src/server/scripts/Examples/example_misc.cpp6
-rw-r--r--src/server/scripts/Examples/example_spell.cpp38
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp18
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp10
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp10
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp10
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CMakeLists.txt1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp30
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp51
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp33
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp24
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp18
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp112
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp20
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp10
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp28
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp20
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp38
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp14
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp21
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp31
-rw-r--r--src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp70
-rw-r--r--src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp6
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp40
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp20
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp30
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp18
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp10
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp8
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp8
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp10
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp22
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp52
-rw-r--r--src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp12
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp13
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp14
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp38
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp36
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp37
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp24
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp25
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp10
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp10
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp30
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp90
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp8
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp8
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp8
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp20
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp20
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp26
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp25
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp14
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp8
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp16
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp18
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp12
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp14
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp36
-rw-r--r--src/server/scripts/Kalimdor/boss_azuregos.cpp166
-rw-r--r--src/server/scripts/Kalimdor/zone_ashenvale.cpp40
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp69
-rw-r--r--src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp14
-rw-r--r--src/server/scripts/Kalimdor/zone_darkshore.cpp1
-rw-r--r--src/server/scripts/Kalimdor/zone_desolace.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp12
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp78
-rw-r--r--src/server/scripts/Kalimdor/zone_moonglade.cpp18
-rw-r--r--src/server/scripts/Kalimdor/zone_mulgore.cpp45
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp42
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp28
-rw-r--r--src/server/scripts/Kalimdor/zone_teldrassil.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp48
-rw-r--r--src/server/scripts/Kalimdor/zone_thunder_bluff.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp16
-rw-r--r--src/server/scripts/Maelstrom/kezan.cpp111
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp26
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp42
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp20
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp50
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp46
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp22
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp17
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp12
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp775
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp14
-rw-r--r--src/server/scripts/Northrend/CMakeLists.txt1
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp16
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp14
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp98
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp32
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp36
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp186
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp24
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp24
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp10
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp52
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp24
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp64
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp34
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp20
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp68
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp152
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp70
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp100
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp76
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp30
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp58
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h3
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp32
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp42
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp18
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp40
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp14
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp44
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp40
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp24
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp20
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp162
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp164
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp3338
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h275
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp1168
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp28
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp50
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp50
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp54
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp28
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp56
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_eck.cpp14
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp16
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp16
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp45
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp26
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp191
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp68
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp148
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp52
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp2484
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp75
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp75
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp117
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp88
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp161
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp401
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp154
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp166
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h73
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp228
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp16
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp26
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp22
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp38
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp26
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp20
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp114
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp20
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_noth.cpp14
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp22
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp58
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp24
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp279
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp26
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp22
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp14
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp10
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp22
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp26
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp24
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp26
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp23
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp28
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp26
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp44
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp24
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp68
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp22
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp36
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp16
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp36
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp16
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp22
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp12
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp30
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp26
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp18
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp97
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp64
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp62
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp184
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp147
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp48
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp99
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp42
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp53
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp98
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp97
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp340
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp54
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar_teleporter.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp220
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp36
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp26
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp18
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp38
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp76
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp24
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp46
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp18
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp16
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp20
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp20
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp32
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp26
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp10
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp16
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp26
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp36
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp14
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp14
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp24
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp26
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp24
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp98
-rw-r--r--src/server/scripts/Northrend/isle_of_conquest.cpp4
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp265
-rw-r--r--src/server/scripts/Northrend/zone_crystalsong_forest.cpp6
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp12
-rw-r--r--src/server/scripts/Northrend/zone_dragonblight.cpp39
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp78
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp48
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp74
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp96
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp171
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp53
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp80
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp10
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.h80
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp6
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.h4
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp38
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp18
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp44
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp12
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp12
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp46
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp14
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp12
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp16
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp12
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp22
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp24
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp16
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp18
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp12
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp116
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp12
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp114
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp114
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp30
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp40
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp16
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp76
-rw-r--r--src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp14
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp45
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp16
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp54
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp60
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp24
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp22
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp26
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp20
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp22
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp22
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp20
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp12
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp12
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp12
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp20
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp12
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp2
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_gruul.cpp24
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp54
-rw-r--r--src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp16
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp26
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp24
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp12
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp18
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp14
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp48
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp14
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp12
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp50
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp18
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp42
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp22
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp16
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp16
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp48
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp26
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp100
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp12
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp18
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp8
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp10
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp16
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp27
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp18
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp20
-rw-r--r--src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp10
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp30
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp21
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp22
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp23
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp12
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp20
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp20
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp14
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp10
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp14
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp26
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp12
-rw-r--r--src/server/scripts/Outland/boss_doomlord_kazzak.cpp20
-rw-r--r--src/server/scripts/Outland/boss_doomwalker.cpp14
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp77
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp32
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp60
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp76
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp126
-rw-r--r--src/server/scripts/Outland/zone_shattrath_city.cpp44
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp86
-rw-r--r--src/server/scripts/Outland/zone_zangarmarsh.cpp36
-rw-r--r--src/server/scripts/Pet/pet_dk.cpp10
-rw-r--r--src/server/scripts/Pet/pet_generic.cpp10
-rw-r--r--src/server/scripts/Pet/pet_hunter.cpp14
-rw-r--r--src/server/scripts/Pet/pet_mage.cpp6
-rw-r--r--src/server/scripts/Pet/pet_priest.cpp8
-rw-r--r--src/server/scripts/Pet/pet_shaman.cpp12
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp152
-rw-r--r--src/server/scripts/Spells/spell_druid.cpp146
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp444
-rw-r--r--src/server/scripts/Spells/spell_holiday.cpp40
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp142
-rw-r--r--src/server/scripts/Spells/spell_item.cpp306
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp150
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp176
-rw-r--r--src/server/scripts/Spells/spell_pet.cpp136
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp141
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp314
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp98
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp152
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp177
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp155
-rw-r--r--src/server/scripts/World/achievement_scripts.cpp32
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp20
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp81
-rw-r--r--src/server/scripts/World/chat_log.cpp225
-rw-r--r--src/server/scripts/World/go_scripts.cpp82
-rw-r--r--src/server/scripts/World/guards.cpp22
-rw-r--r--src/server/scripts/World/item_scripts.cpp22
-rw-r--r--src/server/scripts/World/mob_generic_creature.cpp16
-rw-r--r--src/server/scripts/World/npc_innkeeper.cpp4
-rw-r--r--src/server/scripts/World/npc_professions.cpp20
-rw-r--r--src/server/scripts/World/npc_taxi.cpp5
-rw-r--r--src/server/scripts/World/npcs_special.cpp152
-rw-r--r--src/server/shared/Common.h12
-rw-r--r--src/server/shared/CompilerDefs.h8
-rw-r--r--src/server/shared/DataStores/DBCFileLoader.h3
-rw-r--r--src/server/shared/DataStores/DBCStore.h7
-rw-r--r--src/server/shared/Database/AdhocStatement.cpp4
-rw-r--r--src/server/shared/Database/DatabaseWorker.h5
-rw-r--r--src/server/shared/Database/DatabaseWorkerPool.h19
-rw-r--r--src/server/shared/Database/Implementation/CharacterDatabase.cpp52
-rw-r--r--[-rwxr-xr-x]src/server/shared/Database/Implementation/CharacterDatabase.h48
-rw-r--r--src/server/shared/Database/Implementation/WorldDatabase.cpp6
-rw-r--r--src/server/shared/Database/MySQLConnection.h6
-rw-r--r--src/server/shared/Database/PreparedStatement.h6
-rw-r--r--src/server/shared/Database/QueryHolder.cpp3
-rw-r--r--src/server/shared/Database/QueryResult.h5
-rw-r--r--src/server/shared/Database/SQLOperation.h4
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.cpp192
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.h30
-rw-r--r--src/server/shared/Define.h8
-rw-r--r--src/server/shared/Dynamic/HashNamespace.h119
-rw-r--r--src/server/shared/Dynamic/LinkedList.h15
-rw-r--r--src/server/shared/Dynamic/LinkedReference/Reference.h4
-rw-r--r--src/server/shared/Dynamic/ObjectRegistry.h2
-rw-r--r--src/server/shared/Dynamic/UnorderedMap.h72
-rw-r--r--src/server/shared/Dynamic/UnorderedSet.h66
-rw-r--r--src/server/shared/Logging/Appender.h5
-rw-r--r--src/server/shared/Logging/AppenderFile.cpp18
-rw-r--r--src/server/shared/Logging/Log.cpp12
-rw-r--r--src/server/shared/Logging/Log.h12
-rw-r--r--src/server/shared/Packets/ByteBuffer.h2
-rw-r--r--src/server/shared/Threading/Callback.h6
-rw-r--r--src/server/worldserver/CommandLine/CliRunnable.h2
-rw-r--r--src/server/worldserver/Master.cpp59
-rw-r--r--src/server/worldserver/RemoteAccess/RARunnable.h2
-rw-r--r--src/server/worldserver/RemoteAccess/RASocket.h6
-rw-r--r--src/server/worldserver/TCSoap/TCSoap.h2
-rw-r--r--src/server/worldserver/WorldThread/WorldRunnable.h2
-rw-r--r--src/server/worldserver/worldserver.conf.dist72
-rw-r--r--src/tools/CMakeLists.txt10
-rw-r--r--src/tools/map_extractor/System.cpp4
-rw-r--r--src/tools/map_extractor/adt.h4
-rw-r--r--src/tools/map_extractor/dbcfile.h4
-rw-r--r--src/tools/map_extractor/loadlib/loadlib.h5
-rw-r--r--src/tools/map_extractor/wdt.h4
-rw-r--r--src/tools/mmaps_generator/MapBuilder.cpp6
-rw-r--r--src/tools/mmaps_generator/MapBuilder.h2
-rw-r--r--src/tools/mmaps_generator/PathGenerator.cpp2
-rw-r--r--src/tools/vmap4_extractor/wmo.h4
821 files changed, 20796 insertions, 16087 deletions
diff --git a/src/server/authserver/Authentication/AuthCodes.cpp b/src/server/authserver/Authentication/AuthCodes.cpp
index 1bf5dcad51f..bb278dd6653 100644
--- a/src/server/authserver/Authentication/AuthCodes.cpp
+++ b/src/server/authserver/Authentication/AuthCodes.cpp
@@ -25,6 +25,7 @@ namespace AuthHelper
{15595, 4, 3, 4, ' '},
{14545, 4, 2, 2, ' '},
{13623, 4, 0, 6, 'a'},
+ {13930, 3, 3, 5, 'a'}, // 3.3.5a China Mainland build
{12340, 3, 3, 5, 'a'},
{11723, 3, 3, 3, 'a'},
{11403, 3, 3, 2, ' '},
diff --git a/src/server/authserver/Authentication/TOTP.h b/src/server/authserver/Authentication/TOTP.h
index 04b4a8c2110..7ced260758c 100644
--- a/src/server/authserver/Authentication/TOTP.h
+++ b/src/server/authserver/Authentication/TOTP.h
@@ -16,7 +16,7 @@
*/
#ifndef _TOTP_H
-#define _TOPT_H
+#define _TOTP_H
#include "openssl/hmac.h"
#include "openssl/evp.h"
diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp
index 28e9f324c19..d1b2b614037 100644
--- a/src/server/authserver/Main.cpp
+++ b/src/server/authserver/Main.cpp
@@ -178,42 +178,44 @@ extern int main(int argc, char** argv)
Handler.register_handler(SIGINT, &SignalINT);
Handler.register_handler(SIGTERM, &SignalTERM);
+#if defined(_WIN32) || defined(__linux__)
+
///- Handle affinity for multiple processors and process priority
uint32 affinity = sConfigMgr->GetIntDefault("UseProcessors", 0);
bool highPriority = sConfigMgr->GetBoolDefault("ProcessPriority", false);
#ifdef _WIN32 // Windows
+
+ HANDLE hProcess = GetCurrentProcess();
+ if (affinity > 0)
{
- HANDLE hProcess = GetCurrentProcess();
-
- if (affinity > 0)
- {
- ULONG_PTR appAff;
- ULONG_PTR sysAff;
-
- if (GetProcessAffinityMask(hProcess, &appAff, &sysAff))
- {
- ULONG_PTR currentAffinity = affinity & appAff; // remove non accessible processors
-
- if (!currentAffinity)
- TC_LOG_ERROR("server.authserver", "Processors marked in UseProcessors bitmask (hex) %x are not accessible for the authserver. Accessible processors bitmask (hex): %x", affinity, appAff);
- else if (SetProcessAffinityMask(hProcess, currentAffinity))
- TC_LOG_INFO("server.authserver", "Using processors (bitmask, hex): %x", currentAffinity);
- else
- TC_LOG_ERROR("server.authserver", "Can't set used processors (hex): %x", currentAffinity);
- }
- }
-
- if (highPriority)
+ ULONG_PTR appAff;
+ ULONG_PTR sysAff;
+
+ if (GetProcessAffinityMask(hProcess, &appAff, &sysAff))
{
- if (SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS))
- TC_LOG_INFO("server.authserver", "authserver process priority class set to HIGH");
+ // remove non accessible processors
+ ULONG_PTR currentAffinity = affinity & appAff;
+
+ if (!currentAffinity)
+ TC_LOG_ERROR("server.authserver", "Processors marked in UseProcessors bitmask (hex) %x are not accessible for the authserver. Accessible processors bitmask (hex): %x", affinity, appAff);
+ else if (SetProcessAffinityMask(hProcess, currentAffinity))
+ TC_LOG_INFO("server.authserver", "Using processors (bitmask, hex): %x", currentAffinity);
else
- TC_LOG_ERROR("server.authserver", "Can't set authserver process priority class.");
+ TC_LOG_ERROR("server.authserver", "Can't set used processors (hex): %x", currentAffinity);
}
}
-#elif __linux__ // Linux
-
+
+ if (highPriority)
+ {
+ if (SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS))
+ TC_LOG_INFO("server.authserver", "authserver process priority class set to HIGH");
+ else
+ TC_LOG_ERROR("server.authserver", "Can't set authserver process priority class.");
+ }
+
+#else // Linux
+
if (affinity > 0)
{
cpu_set_t mask;
@@ -240,7 +242,8 @@ extern int main(int argc, char** argv)
else
TC_LOG_INFO("server.authserver", "authserver process priority class set to %i", getpriority(PRIO_PROCESS, 0));
}
-
+
+#endif
#endif
// maximum counter for next ping
diff --git a/src/server/collision/Management/MMapFactory.h b/src/server/collision/Management/MMapFactory.h
index 837c893f038..4b883d43613 100644
--- a/src/server/collision/Management/MMapFactory.h
+++ b/src/server/collision/Management/MMapFactory.h
@@ -19,11 +19,12 @@
#ifndef _MMAP_FACTORY_H
#define _MMAP_FACTORY_H
+#include "Define.h"
#include "MMapManager.h"
-#include "UnorderedMap.h"
#include "DetourAlloc.h"
#include "DetourNavMesh.h"
#include "DetourNavMeshQuery.h"
+#include <unordered_map>
namespace MMAP
{
diff --git a/src/server/collision/Management/MMapManager.h b/src/server/collision/Management/MMapManager.h
index 8b0d42b83cd..798d0206538 100644
--- a/src/server/collision/Management/MMapManager.h
+++ b/src/server/collision/Management/MMapManager.h
@@ -19,16 +19,18 @@
#ifndef _MMAP_MANAGER_H
#define _MMAP_MANAGER_H
-#include "UnorderedMap.h"
+#include "Define.h"
#include "DetourAlloc.h"
#include "DetourNavMesh.h"
#include "DetourNavMeshQuery.h"
+#include <string>
+#include <unordered_map>
// move map related classes
namespace MMAP
{
- typedef UNORDERED_MAP<uint32, dtTileRef> MMapTileSet;
- typedef UNORDERED_MAP<uint32, dtNavMeshQuery*> NavMeshQuerySet;
+ typedef std::unordered_map<uint32, dtTileRef> MMapTileSet;
+ typedef std::unordered_map<uint32, dtNavMeshQuery*> NavMeshQuerySet;
// dummy struct to hold map's mmap data
struct MMapData
@@ -51,7 +53,7 @@ namespace MMAP
};
- typedef UNORDERED_MAP<uint32, MMapData*> MMapDataSet;
+ typedef std::unordered_map<uint32, MMapData*> MMapDataSet;
// singleton class
// holds all all access to mmap loading unloading and meshes
diff --git a/src/server/collision/Management/VMapManager2.h b/src/server/collision/Management/VMapManager2.h
index abddd5d7cc3..711025e67c0 100644
--- a/src/server/collision/Management/VMapManager2.h
+++ b/src/server/collision/Management/VMapManager2.h
@@ -19,9 +19,9 @@
#ifndef _VMAPMANAGER2_H
#define _VMAPMANAGER2_H
-#include "IVMapManager.h"
-#include "Dynamic/UnorderedMap.h"
#include "Define.h"
+#include "IVMapManager.h"
+#include <unordered_map>
#include <ace/Thread_Mutex.h>
//===========================================================
@@ -63,8 +63,8 @@ namespace VMAP
int iRefCount;
};
- typedef UNORDERED_MAP<uint32, StaticMapTree*> InstanceTreeMap;
- typedef UNORDERED_MAP<std::string, ManagedModel> ModelFileMap;
+ typedef std::unordered_map<uint32, StaticMapTree*> InstanceTreeMap;
+ typedef std::unordered_map<std::string, ManagedModel> ModelFileMap;
class VMapManager2 : public IVMapManager
{
diff --git a/src/server/collision/Maps/MapTree.h b/src/server/collision/Maps/MapTree.h
index 90d61cbb88b..05351b74019 100644
--- a/src/server/collision/Maps/MapTree.h
+++ b/src/server/collision/Maps/MapTree.h
@@ -20,8 +20,8 @@
#define _MAPTREE_H
#include "Define.h"
-#include "Dynamic/UnorderedMap.h"
#include "BoundingIntervalHierarchy.h"
+#include <unordered_map>
namespace VMAP
{
@@ -39,8 +39,8 @@ namespace VMAP
class StaticMapTree
{
- typedef UNORDERED_MAP<uint32, bool> loadedTileMap;
- typedef UNORDERED_MAP<uint32, uint32> loadedSpawnMap;
+ typedef std::unordered_map<uint32, bool> loadedTileMap;
+ typedef std::unordered_map<uint32, uint32> loadedSpawnMap;
private:
uint32 iMapID;
bool iIsTiled;
@@ -81,6 +81,10 @@ namespace VMAP
bool isTiled() const { return iIsTiled; }
uint32 numLoadedTiles() const { return iLoadedTiles.size(); }
void getModelInstances(ModelInstance* &models, uint32 &count);
+
+ private:
+ StaticMapTree(StaticMapTree const& right) = delete;
+ StaticMapTree& operator=(StaticMapTree const& right) = delete;
};
struct AreaInfo
diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/server/collision/Models/GameObjectModel.cpp
index d254a640279..1b99e282132 100644
--- a/src/server/collision/Models/GameObjectModel.cpp
+++ b/src/server/collision/Models/GameObjectModel.cpp
@@ -43,7 +43,7 @@ struct GameobjectModelData
std::string name;
};
-typedef UNORDERED_MAP<uint32, GameobjectModelData> ModelList;
+typedef std::unordered_map<uint32, GameobjectModelData> ModelList;
ModelList model_list;
void LoadGameObjectModelList()
@@ -130,17 +130,13 @@ bool GameObjectModel::initialize(const GameObject& go, const GameObjectDisplayIn
for (int i = 0; i < 8; ++i)
rotated_bounds.merge(iRotation * mdl_box.corner(i));
- this->iBound = rotated_bounds + iPos;
+ iBound = rotated_bounds + iPos;
#ifdef SPAWN_CORNERS
// test:
for (int i = 0; i < 8; ++i)
{
Vector3 pos(iBound.corner(i));
- if (Creature* c = const_cast<GameObject&>(go).SummonCreature(24440, pos.x, pos.y, pos.z, 0, TEMPSUMMON_MANUAL_DESPAWN))
- {
- c->setFaction(35);
- c->SetObjectScale(0.1f);
- }
+ go.SummonCreature(1, pos.x, pos.y, pos.z, 0, TEMPSUMMON_MANUAL_DESPAWN);
}
#endif
@@ -184,3 +180,43 @@ bool GameObjectModel::intersectRay(const G3D::Ray& ray, float& MaxDist, bool Sto
}
return hit;
}
+
+bool GameObjectModel::Relocate(const GameObject& go)
+{
+ if (!iModel)
+ return false;
+
+ ModelList::const_iterator it = model_list.find(go.GetDisplayId());
+ if (it == model_list.end())
+ return false;
+
+ G3D::AABox mdl_box(it->second.bound);
+ // ignore models with no bounds
+ if (mdl_box == G3D::AABox::zero())
+ {
+ VMAP_ERROR_LOG("misc", "GameObject model %s has zero bounds, loading skipped", it->second.name.c_str());
+ return false;
+ }
+
+ iPos = Vector3(go.GetPositionX(), go.GetPositionY(), go.GetPositionZ());
+
+ G3D::Matrix3 iRotation = G3D::Matrix3::fromEulerAnglesZYX(go.GetOrientation(), 0, 0);
+ iInvRot = iRotation.inverse();
+ // transform bounding box:
+ mdl_box = AABox(mdl_box.low() * iScale, mdl_box.high() * iScale);
+ AABox rotated_bounds;
+ for (int i = 0; i < 8; ++i)
+ rotated_bounds.merge(iRotation * mdl_box.corner(i));
+
+ iBound = rotated_bounds + iPos;
+#ifdef SPAWN_CORNERS
+ // test:
+ for (int i = 0; i < 8; ++i)
+ {
+ Vector3 pos(iBound.corner(i));
+ go.SummonCreature(1, pos.x, pos.y, pos.z, 0, TEMPSUMMON_MANUAL_DESPAWN);
+ }
+#endif
+
+ return true;
+}
diff --git a/src/server/collision/Models/GameObjectModel.h b/src/server/collision/Models/GameObjectModel.h
index 06a74cc6eb0..6088b924343 100644
--- a/src/server/collision/Models/GameObjectModel.h
+++ b/src/server/collision/Models/GameObjectModel.h
@@ -45,7 +45,7 @@ class GameObjectModel /*, public Intersectable*/
float iScale;
VMAP::WorldModel* iModel;
- GameObjectModel() : phasemask(0), iModel(NULL) { }
+ GameObjectModel() : phasemask(0), iInvScale(0), iScale(0), iModel(NULL) { }
bool initialize(const GameObject& go, const GameObjectDisplayInfoEntry& info);
public:
@@ -66,6 +66,8 @@ public:
bool intersectRay(const G3D::Ray& Ray, float& MaxDist, bool StopAtFirstHit, uint32 ph_mask) const;
static GameObjectModel* Create(const GameObject& go);
+
+ bool Relocate(GameObject const& go);
};
-#endif // _GAMEOBJECT_MODEL_H \ No newline at end of file
+#endif // _GAMEOBJECT_MODEL_H
diff --git a/src/server/collision/Models/WorldModel.h b/src/server/collision/Models/WorldModel.h
index 8778998a6b7..da1f58a79c6 100644
--- a/src/server/collision/Models/WorldModel.h
+++ b/src/server/collision/Models/WorldModel.h
@@ -59,7 +59,7 @@ namespace VMAP
bool writeToFile(FILE* wf);
static bool readFromFile(FILE* rf, WmoLiquid* &liquid);
private:
- WmoLiquid(): iTilesX(0), iTilesY(0), iType(0), iHeight(0), iFlags(0) { }
+ WmoLiquid() : iTilesX(0), iTilesY(0), iCorner(), iType(0), iHeight(NULL), iFlags(NULL) { }
uint32 iTilesX; //!< number of tiles in x direction, each
uint32 iTilesY;
G3D::Vector3 iCorner; //!< the lower corner
@@ -74,10 +74,10 @@ namespace VMAP
class GroupModel
{
public:
- GroupModel(): iMogpFlags(0), iGroupWMOID(0), iLiquid(0) { }
+ GroupModel() : iBound(), iMogpFlags(0), iGroupWMOID(0), iLiquid(NULL) { }
GroupModel(const GroupModel &other);
GroupModel(uint32 mogpFlags, uint32 groupWMOID, const G3D::AABox &bound):
- iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(0) { }
+ iBound(bound), iMogpFlags(mogpFlags), iGroupWMOID(groupWMOID), iLiquid(NULL) { }
~GroupModel() { delete iLiquid; }
//! pass mesh data to object and create BIH. Passed vectors get get swapped with old geometry!
diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index 943919451a9..27144728a3e 100644
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -151,7 +151,7 @@ void CasterAI::UpdateAI(uint32 diff)
events.Update(diff);
- if (me->GetVictim()->HasBreakableByDamageCrowdControlAura(me))
+ if (me->GetVictim() && me->EnsureVictim()->HasBreakableByDamageCrowdControlAura(me))
{
me->InterruptNonMeleeSpells(false);
return;
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp
index d6e749b942a..e2eeaf880ad 100644
--- a/src/server/game/AI/CoreAI/PetAI.cpp
+++ b/src/server/game/AI/CoreAI/PetAI.cpp
@@ -86,10 +86,10 @@ void PetAI::UpdateAI(uint32 diff)
else
m_updateAlliesTimer -= diff;
- if (me->GetVictim() && me->GetVictim()->IsAlive())
+ if (me->GetVictim() && me->EnsureVictim()->IsAlive())
{
// is only necessary to stop casting, the pet must not exit combat
- if (me->GetVictim()->HasBreakableByDamageCrowdControlAura(me))
+ if (me->EnsureVictim()->HasBreakableByDamageCrowdControlAura(me))
{
me->InterruptNonMeleeSpells(false);
return;
@@ -345,7 +345,7 @@ void PetAI::OwnerAttackedBy(Unit* attacker)
return;
// Prevent pet from disengaging from current target
- if (me->GetVictim() && me->GetVictim()->IsAlive())
+ if (me->GetVictim() && me->EnsureVictim()->IsAlive())
return;
// Continue to evaluate and attack if necessary
@@ -366,7 +366,7 @@ void PetAI::OwnerAttacked(Unit* target)
return;
// Prevent pet from disengaging from current target
- if (me->GetVictim() && me->GetVictim()->IsAlive())
+ if (me->GetVictim() && me->EnsureVictim()->IsAlive())
return;
// Continue to evaluate and attack if necessary
@@ -627,7 +627,7 @@ void PetAI::AttackedBy(Unit* attacker)
return;
// Prevent pet from disengaging from current target
- if (me->GetVictim() && me->GetVictim()->IsAlive())
+ if (me->GetVictim() && me->EnsureVictim()->IsAlive())
return;
// Continue to evaluate and attack if necessary
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 8bf34527769..9631b75fe06 100644
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -28,7 +28,6 @@
void UnitAI::AttackStart(Unit* victim)
{
-
if (victim && me->Attack(victim, true))
me->GetMotionMaster()->MoveChase(victim);
}
diff --git a/src/server/game/AI/CoreAI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h
index 960d9f8903b..6ca79dc0a49 100644
--- a/src/server/game/AI/CoreAI/UnitAI.h
+++ b/src/server/game/AI/CoreAI/UnitAI.h
@@ -262,6 +262,10 @@ class UnitAI
virtual void sQuestReward(Player* /*player*/, Quest const* /*quest*/, uint32 /*opt*/) { }
virtual bool sOnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/) { return false; }
virtual void sOnGameEvent(bool /*start*/, uint16 /*eventId*/) { }
+
+ private:
+ UnitAI(UnitAI const& right) = delete;
+ UnitAI& operator=(UnitAI const& right) = delete;
};
class PlayerAI : public UnitAI
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp
index 07c75eb424f..dd8b42deb9f 100644
--- a/src/server/game/AI/CreatureAI.cpp
+++ b/src/server/game/AI/CreatureAI.cpp
@@ -252,15 +252,13 @@ Creature* CreatureAI::DoSummon(uint32 entry, const Position& pos, uint32 despawn
Creature* CreatureAI::DoSummon(uint32 entry, WorldObject* obj, float radius, uint32 despawnTime, TempSummonType summonType)
{
- Position pos;
- obj->GetRandomNearPosition(pos, radius);
+ Position pos = obj->GetRandomNearPosition(radius);
return me->SummonCreature(entry, pos, summonType, despawnTime);
}
Creature* CreatureAI::DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius, uint32 despawnTime, TempSummonType summonType)
{
- Position pos;
- obj->GetRandomNearPosition(pos, radius);
+ Position pos = obj->GetRandomNearPosition(radius);
pos.m_positionZ += flightZ;
return me->SummonCreature(entry, pos, summonType, despawnTime);
}
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index ea9d6c2b9fd..48870a12a25 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -478,10 +478,7 @@ void BossAI::_JustDied()
events.Reset();
summons.DespawnAll();
if (instance)
- {
instance->SetBossState(_bossId, DONE);
- instance->SaveToDB();
- }
}
void BossAI::_EnterCombat()
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index dcf5bd56fa6..d06f90c1aeb 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -77,7 +77,7 @@ bool npc_escortAI::AssistPlayerInCombat(Unit* who)
return false;
//not a player
- if (!who->GetVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
+ if (!who->EnsureVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
return false;
//never attack friendly
@@ -166,7 +166,7 @@ void npc_escortAI::JustRespawned()
//add a small delay before going to first waypoint, normal in near all cases
m_uiWPWaitTimer = 2500;
- if (me->getFaction() != me->GetCreatureTemplate()->faction_A)
+ if (me->getFaction() != me->GetCreatureTemplate()->faction)
me->RestoreFaction();
Reset();
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index 0fbfc2cebac..a106c98c786 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -74,7 +74,7 @@ bool FollowerAI::AssistPlayerInCombat(Unit* who)
return false;
//not a player
- if (!who->GetVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
+ if (!who->EnsureVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
return false;
//never attack friendly
@@ -165,8 +165,8 @@ void FollowerAI::JustRespawned()
if (!IsCombatMovementAllowed())
SetCombatMovement(true);
- if (me->getFaction() != me->GetCreatureTemplate()->faction_A)
- me->setFaction(me->GetCreatureTemplate()->faction_A);
+ if (me->getFaction() != me->GetCreatureTemplate()->faction)
+ me->setFaction(me->GetCreatureTemplate()->faction);
Reset();
}
diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp
index a203aeb6b97..098f3130fed 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.cpp
+++ b/src/server/game/AI/SmartScripts/SmartAI.cpp
@@ -47,7 +47,7 @@ SmartAI::SmartAI(Creature* c) : CreatureAI(c)
me->SetWalk(false);
mRun = false;
- me->GetPosition(&mLastOOCPos);
+ mLastOOCPos = me->GetPosition();
mCanAutoAttack = true;
mCanCombatMove = true;
@@ -132,7 +132,7 @@ void SmartAI::StartPath(bool run, uint32 path, bool repeat, Unit* /*invoker*/)
if (WayPoint* wp = GetNextWayPoint())
{
- me->GetPosition(&mLastOOCPos);
+ mLastOOCPos = me->GetPosition();
me->GetMotionMaster()->MovePoint(wp->id, wp->x, wp->y, wp->z);
GetScript()->ProcessEventsFor(SMART_EVENT_WAYPOINT_START, NULL, wp->id, GetScript()->GetPathId());
}
@@ -162,7 +162,7 @@ void SmartAI::PausePath(uint32 delay, bool forced)
return;
}
mForcedPaused = forced;
- me->GetPosition(&mLastOOCPos);
+ mLastOOCPos = me->GetPosition();
AddEscortState(SMART_ESCORT_PAUSED);
mWPPauseTimer = delay;
if (forced)
@@ -184,7 +184,7 @@ void SmartAI::StopPath(uint32 DespawnTime, uint32 quest, bool fail)
SetDespawnTime(DespawnTime);
//mDespawnTime = DespawnTime;
- me->GetPosition(&mLastOOCPos);
+ mLastOOCPos = me->GetPosition();
me->StopMoving();//force stop
me->GetMotionMaster()->MoveIdle();
GetScript()->ProcessEventsFor(SMART_EVENT_WAYPOINT_STOPPED, NULL, mLastWP->id, GetScript()->GetPathId());
@@ -412,26 +412,12 @@ void SmartAI::MovementInform(uint32 MovementType, uint32 Data)
MovepointReached(Data);
}
-void SmartAI::RemoveAuras()
-{
- /// @fixme: duplicated logic in CreatureAI::_EnterEvadeMode (could use RemoveAllAurasExceptType)
- Unit::AuraApplicationMap& appliedAuras = me->GetAppliedAuras();
- for (Unit::AuraApplicationMap::iterator iter = appliedAuras.begin(); iter != appliedAuras.end();)
- {
- Aura const* aura = iter->second->GetBase();
- if (!aura->IsPassive() && !aura->HasEffectType(SPELL_AURA_CONTROL_VEHICLE) && !aura->HasEffectType(SPELL_AURA_CLONE_CASTER) && aura->GetCasterGUID() != me->GetGUID())
- me->RemoveAura(iter);
- else
- ++iter;
- }
-}
-
void SmartAI::EnterEvadeMode()
{
if (!me->IsAlive() || me->IsInEvadeMode())
return;
- RemoveAuras();
+ me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_CLONE_CASTER);
me->AddUnitState(UNIT_STATE_EVADE);
me->DeleteThreatList();
@@ -513,7 +499,7 @@ bool SmartAI::AssistPlayerInCombat(Unit* who)
return false;
//not a player
- if (!who->GetVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
+ if (!who->EnsureVictim()->GetCharmerOrOwnerPlayerOrPlayerItself())
return false;
//never attack friendly
@@ -546,7 +532,7 @@ void SmartAI::JustRespawned()
mDespawnState = 0;
mEscortState = SMART_ESCORT_NONE;
me->SetVisible(true);
- if (me->getFaction() != me->GetCreatureTemplate()->faction_A)
+ if (me->getFaction() != me->GetCreatureTemplate()->faction)
me->RestoreFaction();
GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN);
mJustReset = true;
@@ -586,7 +572,7 @@ void SmartAI::EnterCombat(Unit* enemy)
{
me->InterruptNonMeleeSpells(false); // must be before ProcessEvents
GetScript()->ProcessEventsFor(SMART_EVENT_AGGRO, enemy);
- me->GetPosition(&mLastOOCPos);
+ mLastOOCPos = me->GetPosition();
SetRun(mRun);
if (me->GetMotionMaster()->GetMotionSlotType(MOTION_SLOT_ACTIVE) == POINT_MOTION_TYPE)
me->GetMotionMaster()->MovementExpired();
diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h
index dcf64b657f8..4d66b976746 100644
--- a/src/server/game/AI/SmartScripts/SmartAI.h
+++ b/src/server/game/AI/SmartScripts/SmartAI.h
@@ -193,8 +193,6 @@ class SmartAI : public CreatureAI
}
void StartDespawn() { mDespawnState = 2; }
- void RemoveAuras();
-
void OnSpellClick(Unit* clicker, bool& result);
private:
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 99ac2ca6f25..6c250fdfba6 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -38,25 +38,24 @@
#include "MoveSplineInit.h"
#include "GameEventMgr.h"
-class TrinityStringTextBuilder
+class BroadcastTextBuilder
{
public:
- TrinityStringTextBuilder(WorldObject* obj, ChatMsg msgtype, int32 id, uint32 language, WorldObject* target)
- : _source(obj), _msgType(msgtype), _textId(id), _language(language), _target(target)
- {
- }
+ BroadcastTextBuilder(WorldObject const* obj, ChatMsg msgtype, uint32 id, WorldObject const* target, uint32 gender = GENDER_MALE)
+ : _source(obj), _msgType(msgtype), _textId(id), _target(target), _gender(gender) { }
size_t operator()(WorldPacket* data, LocaleConstant locale) const
{
- std::string text = sObjectMgr->GetTrinityString(_textId, locale);
- return ChatHandler::BuildChatPacket(*data, _msgType, Language(_language), _source, _target, text, 0, "", locale);
+ BroadcastText const* bct = sObjectMgr->GetBroadcastText(_textId);
+
+ return ChatHandler::BuildChatPacket(*data, _msgType, bct ? Language(bct->Language) : LANG_UNIVERSAL, _source, _target, bct ? bct->GetText(locale, _gender) : "", 0, "", locale);
}
- WorldObject* _source;
+ WorldObject const* _source;
ChatMsg _msgType;
- int32 _textId;
- uint32 _language;
- WorldObject* _target;
+ uint32 _textId;
+ WorldObject const* _target;
+ uint32 _gender;
};
SmartScript::SmartScript()
@@ -76,6 +75,7 @@ SmartScript::SmartScript()
goOrigGUID = 0;
mLastInvoker = 0;
mScriptType = SMART_SCRIPT_TYPE_CREATURE;
+ isProcessingTimedActionList = false;
}
SmartScript::~SmartScript()
@@ -261,11 +261,11 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
{
if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate((*itr)->ToCreature()->GetEntry()))
{
- if ((*itr)->ToCreature()->getFaction() != ci->faction_A)
+ if ((*itr)->ToCreature()->getFaction() != ci->faction)
{
- (*itr)->ToCreature()->setFaction(ci->faction_A);
+ (*itr)->ToCreature()->setFaction(ci->faction);
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction:: SMART_ACTION_SET_FACTION: Creature entry %u, GuidLow %u set faction to %u",
- (*itr)->GetEntry(), (*itr)->GetGUIDLow(), ci->faction_A);
+ (*itr)->GetEntry(), (*itr)->GetGUIDLow(), ci->faction);
}
}
}
@@ -511,7 +511,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
// unless target is outside spell range, out of mana, or LOS.
bool _allowMove = false;
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(e.action.cast.spell);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(e.action.cast.spell);
int32 mana = me->GetPower(POWER_MANA);
if (me->GetDistance(*itr) > spellInfo->GetMaxRange(true) ||
@@ -759,7 +759,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
me->DoFleeToGetAssistance();
if (e.action.flee.withEmote)
{
- TrinityStringTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, LANG_FLEE, LANG_UNIVERSAL, NULL);
+ BroadcastTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, BROADCAST_TEXT_FLEE_FOR_ASSIST, NULL, me->getGender());
sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE);
}
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction:: SMART_ACTION_FLEE_FOR_ASSIST: Creature %u DoFleeToGetAssistance", me->GetGUIDLow());
@@ -972,7 +972,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
if (IsCreature(*itr))
- (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, e.action.updateTemplate.team ? HORDE : ALLIANCE);
+ (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature);
delete targets;
break;
@@ -1002,7 +1002,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
me->CallForHelp((float)e.action.callHelp.range);
if (e.action.callHelp.withEmote)
{
- TrinityStringTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, LANG_CALL_FOR_HELP, LANG_UNIVERSAL, NULL);
+ BroadcastTextBuilder builder(me, CHAT_MSG_MONSTER_EMOTE, BROADCAST_TEXT_CALL_FOR_HELP, NULL, me->getGender());
sCreatureTextMgr->SendChatPacket(me, builder, CHAT_MSG_MONSTER_EMOTE);
}
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_CALL_FOR_HELP: Creature %u", me->GetGUIDLow());
@@ -2689,9 +2689,9 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
}
case SMART_EVENT_TARGET_HEALTH_PCT:
{
- if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxHealth())
+ if (!me || !me->IsInCombat() || !me->GetVictim() || !me->EnsureVictim()->GetMaxHealth())
return;
- uint32 perc = (uint32)me->GetVictim()->GetHealthPct();
+ uint32 perc = (uint32)me->EnsureVictim()->GetHealthPct();
if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
return;
ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
@@ -2709,9 +2709,9 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
}
case SMART_EVENT_TARGET_MANA_PCT:
{
- if (!me || !me->IsInCombat() || !me->GetVictim() || !me->GetVictim()->GetMaxPower(POWER_MANA))
+ if (!me || !me->IsInCombat() || !me->GetVictim() || !me->EnsureVictim()->GetMaxPower(POWER_MANA))
return;
- uint32 perc = uint32(100.0f * me->GetVictim()->GetPower(POWER_MANA) / me->GetVictim()->GetMaxPower(POWER_MANA));
+ uint32 perc = uint32(100.0f * me->EnsureVictim()->GetPower(POWER_MANA) / me->EnsureVictim()->GetMaxPower(POWER_MANA));
if (perc > e.event.minMaxRepeat.max || perc < e.event.minMaxRepeat.min)
return;
ProcessTimedAction(e, e.event.minMaxRepeat.repeatMin, e.event.minMaxRepeat.repeatMax, me->GetVictim());
@@ -2791,7 +2791,7 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
{
if (!me || !me->GetVictim())
return;
- uint32 count = me->GetVictim()->GetAuraCount(e.event.aura.spell);
+ uint32 count = me->EnsureVictim()->GetAuraCount(e.event.aura.spell);
if (count < e.event.aura.count)
return;
ProcessTimedAction(e, e.event.aura.repeatMin, e.event.aura.repeatMax);
@@ -3116,6 +3116,68 @@ void SmartScript::ProcessEvent(SmartScriptHolder& e, Unit* unit, uint32 var0, ui
ProcessTimedAction(e, e.event.friendlyHealthPct.repeatMin, e.event.friendlyHealthPct.repeatMax, target);
break;
}
+ case SMART_EVENT_DISTANCE_CREATURE:
+ {
+ if (!me)
+ return;
+
+ WorldObject* creature = NULL;
+
+ if (e.event.distance.guid != 0)
+ {
+ creature = FindCreatureNear(me, e.event.distance.guid);
+
+ if (!creature)
+ return;
+
+ if (!me->IsInRange(creature, 0, (float)e.event.distance.dist))
+ return;
+ }
+ else if (e.event.distance.entry != 0)
+ {
+ std::list<Creature*> list;
+ me->GetCreatureListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
+
+ if (list.size() > 0)
+ creature = list.front();
+ }
+
+ if (creature)
+ ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
+
+ break;
+ }
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ {
+ if (!me)
+ return;
+
+ WorldObject* gameobject = NULL;
+
+ if (e.event.distance.guid != 0)
+ {
+ gameobject = FindGameObjectNear(me, e.event.distance.guid);
+
+ if (!gameobject)
+ return;
+
+ if (!me->IsInRange(gameobject, 0, (float)e.event.distance.dist))
+ return;
+ }
+ else if (e.event.distance.entry != 0)
+ {
+ std::list<GameObject*> list;
+ me->GetGameObjectListWithEntryInGrid(list, e.event.distance.entry, (float)e.event.distance.dist);
+
+ if (list.size() > 0)
+ gameobject = list.front();
+ }
+
+ if (gameobject)
+ ProcessTimedAction(e, e.event.distance.repeat, e.event.distance.repeat);
+
+ break;
+ }
default:
TC_LOG_ERROR("sql.sql", "SmartScript::ProcessEvent: Unhandled Event type %u", e.GetEventType());
break;
@@ -3136,6 +3198,10 @@ void SmartScript::InitTimer(SmartScriptHolder& e)
case SMART_EVENT_OOC_LOS:
RecalcTimer(e, e.event.los.cooldownMin, e.event.los.cooldownMax);
break;
+ case SMART_EVENT_DISTANCE_CREATURE:
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ RecalcTimer(e, e.event.distance.repeat, e.event.distance.repeat);
+ break;
default:
e.active = true;
break;
@@ -3196,6 +3262,8 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff)
case SMART_EVENT_TARGET_BUFFED:
case SMART_EVENT_IS_BEHIND_TARGET:
case SMART_EVENT_FRIENDLY_HEALTH_PCT:
+ case SMART_EVENT_DISTANCE_CREATURE:
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
{
ProcessEvent(e);
if (e.GetScriptType() == SMART_SCRIPT_TYPE_TIMED_ACTIONLIST)
@@ -3252,6 +3320,7 @@ void SmartScript::OnUpdate(uint32 const diff)
bool needCleanup = true;
if (!mTimedActionList.empty())
{
+ isProcessingTimedActionList = true;
for (SmartAIEventList::iterator i = mTimedActionList.begin(); i != mTimedActionList.end(); ++i)
{
if ((*i).enableTimed)
@@ -3260,6 +3329,8 @@ void SmartScript::OnUpdate(uint32 const diff)
needCleanup = false;
}
}
+
+ isProcessingTimedActionList = false;
}
if (needCleanup)
mTimedActionList.clear();
@@ -3501,6 +3572,14 @@ Unit* SmartScript::DoFindClosestFriendlyInRange(float range, bool playerOnly)
void SmartScript::SetScript9(SmartScriptHolder& e, uint32 entry)
{
+ //do NOT clear mTimedActionList if it's being iterated because it will invalidate the iterator and delete
+ // any SmartScriptHolder contained like the "e" parameter passed to this function
+ if (isProcessingTimedActionList)
+ {
+ TC_LOG_ERROR("scripts.ai", "Entry %d SourceType %u Event %u Action %u is trying to overwrite timed action list from a timed action, this is not allowed!.", e.entryOrGuid, e.GetScriptType(), e.GetEventType(), e.GetActionType());
+ return;
+ }
+
mTimedActionList.clear();
mTimedActionList = sSmartScriptMgr->GetScript(entry, SMART_SCRIPT_TYPE_TIMED_ACTIONLIST);
if (mTimedActionList.empty())
diff --git a/src/server/game/AI/SmartScripts/SmartScript.h b/src/server/game/AI/SmartScripts/SmartScript.h
index 2e1068d1bff..b83222dc263 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.h
+++ b/src/server/game/AI/SmartScripts/SmartScript.h
@@ -118,7 +118,7 @@ class SmartScript
smart = false;
if (!smart)
- TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: %u Entry: %u) is not using SmartAI, action skipped to prevent crash.", c ? c->GetDBTableGUIDLow() : (me ? me->GetDBTableGUIDLow() : 0), c ? c->GetEntry() : (me ? me->GetEntry() : 0));
+ TC_LOG_ERROR("sql.sql", "SmartScript: Action target Creature (GUID: %u Entry: %u) is not using SmartAI, action called by Creature (GUID: %u Entry: %u) skipped to prevent crash.", c ? c->GetDBTableGUIDLow() : 0, c ? c->GetEntry() : 0, me ? me->GetDBTableGUIDLow() : 0, me ? me->GetEntry() : 0);
return smart;
}
@@ -132,7 +132,7 @@ class SmartScript
if (!go || go->GetAIName() != "SmartGameObjectAI")
smart = false;
if (!smart)
- TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: %u Entry: %u) is not using SmartGameObjectAI, action skipped to prevent crash.", g ? g->GetDBTableGUIDLow() : (go ? go->GetDBTableGUIDLow() : 0), g ? g->GetEntry() : (go ? go->GetEntry() : 0));
+ TC_LOG_ERROR("sql.sql", "SmartScript: Action target GameObject (GUID: %u Entry: %u) is not using SmartGameObjectAI, action called by GameObject (GUID: %u Entry: %u) skipped to prevent crash.", g ? g->GetDBTableGUIDLow() : 0, g ? g->GetEntry() : 0, go ? go->GetDBTableGUIDLow() : 0, go ? go->GetEntry() : 0);
return smart;
}
@@ -222,6 +222,7 @@ class SmartScript
SmartAIEventList mEvents;
SmartAIEventList mInstallEvents;
SmartAIEventList mTimedActionList;
+ bool isProcessingTimedActionList;
Creature* me;
uint64 meOrigGUID;
GameObject* go;
@@ -230,7 +231,7 @@ class SmartScript
SmartScriptType mScriptType;
uint32 mEventPhase;
- UNORDERED_MAP<int32, int32> mStoredDecimals;
+ std::unordered_map<int32, int32> mStoredDecimals;
uint32 mPathId;
SmartAIEventList mStoredEvents;
std::list<uint32>mRemIDs;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
index d912de2a72c..2e8453904a1 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
@@ -37,7 +37,7 @@ void SmartWaypointMgr::LoadFromDB()
{
uint32 oldMSTime = getMSTime();
- for (UNORDERED_MAP<uint32, WPPath*>::iterator itr = waypoint_map.begin(); itr != waypoint_map.end(); ++itr)
+ for (std::unordered_map<uint32, WPPath*>::iterator itr = waypoint_map.begin(); itr != waypoint_map.end(); ++itr)
{
for (WPPath::iterator pathItr = itr->second->begin(); pathItr != itr->second->end(); ++pathItr)
delete pathItr->second;
@@ -96,7 +96,7 @@ void SmartWaypointMgr::LoadFromDB()
SmartWaypointMgr::~SmartWaypointMgr()
{
- for (UNORDERED_MAP<uint32, WPPath*>::iterator itr = waypoint_map.begin(); itr != waypoint_map.end(); ++itr)
+ for (std::unordered_map<uint32, WPPath*>::iterator itr = waypoint_map.begin(); itr != waypoint_map.end(); ++itr)
{
for (WPPath::iterator pathItr = itr->second->begin(); pathItr != itr->second->end(); ++pathItr)
delete pathItr->second;
@@ -583,6 +583,56 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
return false;
}
break;
+ case SMART_EVENT_DISTANCE_CREATURE:
+ if (e.event.distance.guid == 0 && e.event.distance.entry == 0)
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_CREATURE did not provide creature guid or entry, skipped.");
+ return false;
+ }
+
+ if (e.event.distance.guid != 0 && e.event.distance.entry != 0)
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_CREATURE provided both an entry and guid, skipped.");
+ return false;
+ }
+
+ if (e.event.distance.guid != 0 && !sObjectMgr->GetCreatureData(e.event.distance.guid))
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_CREATURE using invalid creature guid %u, skipped.", e.event.distance.guid);
+ return false;
+ }
+
+ if (e.event.distance.entry != 0 && !sObjectMgr->GetCreatureTemplate(e.event.distance.entry))
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_CREATURE using invalid creature entry %u, skipped.", e.event.distance.entry);
+ return false;
+ }
+ break;
+ case SMART_EVENT_DISTANCE_GAMEOBJECT:
+ if (e.event.distance.guid == 0 && e.event.distance.entry == 0)
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_GAMEOBJECT did not provide gameobject guid or entry, skipped.");
+ return false;
+ }
+
+ if (e.event.distance.guid != 0 && e.event.distance.entry != 0)
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_GAMEOBJECT provided both an entry and guid, skipped.");
+ return false;
+ }
+
+ if (e.event.distance.guid != 0 && !sObjectMgr->GetGOData(e.event.distance.guid))
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_GAMEOBJECT using invalid gameobject guid %u, skipped.", e.event.distance.guid);
+ return false;
+ }
+
+ if (e.event.distance.entry != 0 && !sObjectMgr->GetGameObjectTemplate(e.event.distance.entry))
+ {
+ TC_LOG_ERROR("sql.sql", "SmartAIMgr: Event SMART_EVENT_DISTANCE_GAMEOBJECT using invalid gameobject entry %u, skipped.", e.event.distance.entry);
+ return false;
+ }
+ break;
case SMART_EVENT_GO_STATE_CHANGED:
case SMART_EVENT_GO_EVENT_INFORM:
case SMART_EVENT_TIMED_EVENT_TRIGGERED:
@@ -887,6 +937,12 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
return false;
break;
}
+ case SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST:
+ {
+ if (!IsMinMaxValid(e, e.action.randTimedActionList.entry1, e.action.randTimedActionList.entry2))
+ return false;
+ break;
+ }
case SMART_ACTION_SET_POWER:
case SMART_ACTION_ADD_POWER:
case SMART_ACTION_REMOVE_POWER:
@@ -934,6 +990,24 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
}
break;
}
+ case SMART_ACTION_EQUIP:
+ {
+ if (e.GetScriptType() == SMART_SCRIPT_TYPE_CREATURE)
+ {
+ int8 equipId = (int8)e.action.equip.entry;
+
+ if (equipId)
+ {
+ EquipmentInfo const* einfo = sObjectMgr->GetEquipmentInfo(e.entryOrGuid, equipId);
+ if (!einfo)
+ {
+ TC_LOG_ERROR("sql.sql", "SmartScript: SMART_ACTION_EQUIP uses non-existent equipment info id %u for creature %u, skipped.", equipId, e.entryOrGuid);
+ return false;
+ }
+ }
+ }
+ break;
+ }
case SMART_ACTION_FOLLOW:
case SMART_ACTION_SET_ORIENTATION:
case SMART_ACTION_STORE_TARGET_LIST:
@@ -970,7 +1044,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_MOVE_TO_POS:
case SMART_ACTION_RESPAWN_TARGET:
case SMART_ACTION_CLOSE_GOSSIP:
- case SMART_ACTION_EQUIP:
case SMART_ACTION_TRIGGER_TIMED_EVENT:
case SMART_ACTION_REMOVE_TIMED_EVENT:
case SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT:
@@ -986,7 +1059,6 @@ bool SmartAIMgr::IsEventValid(SmartScriptHolder& e)
case SMART_ACTION_SIMPLE_TALK:
case SMART_ACTION_CROSS_CAST:
case SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST:
- case SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST:
case SMART_ACTION_RANDOM_MOVE:
case SMART_ACTION_SET_UNIT_FIELD_BYTES_1:
case SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1:
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index d47dbeae600..5574e45c614 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -166,8 +166,10 @@ enum SMART_EVENT
SMART_EVENT_ACTION_DONE = 72, // eventId (SharedDefines.EventId)
SMART_EVENT_ON_SPELLCLICK = 73, // clicker (unit)
SMART_EVENT_FRIENDLY_HEALTH_PCT = 74, // minHpPct, maxHpPct, repeatMin, repeatMax
+ SMART_EVENT_DISTANCE_CREATURE = 75, // guid, entry, distance, repeat
+ SMART_EVENT_DISTANCE_GAMEOBJECT = 76, // guid, entry, distance, repeat
- SMART_EVENT_END = 75
+ SMART_EVENT_END = 77
};
struct SmartEvent
@@ -389,6 +391,14 @@ struct SmartEvent
struct
{
+ uint32 guid;
+ uint32 entry;
+ uint32 dist;
+ uint32 repeat;
+ } distance;
+
+ struct
+ {
uint32 param1;
uint32 param2;
uint32 param3;
@@ -443,7 +453,7 @@ enum SMART_ACTION
SMART_ACTION_CALL_KILLEDMONSTER = 33, // CreatureId,
SMART_ACTION_SET_INST_DATA = 34, // Field, Data
SMART_ACTION_SET_INST_DATA64 = 35, // Field,
- SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, Team
+ SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry
SMART_ACTION_DIE = 37, // No Params
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38, // No Params
SMART_ACTION_CALL_FOR_HELP = 39, // Radius, With Emote
@@ -692,7 +702,6 @@ struct SmartAction
struct
{
uint32 creature;
- uint32 team;
} updateTemplate;
struct
@@ -1221,7 +1230,7 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
{SMART_EVENT_REACHED_HOME, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_RECEIVE_EMOTE, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_HAS_AURA, SMART_SCRIPT_TYPE_MASK_CREATURE },
- {SMART_EVENT_TARGET_BUFFED, SMART_SCRIPT_TYPE_MASK_CREATURE + SMART_SCRIPT_TYPE_MASK_GAMEOBJECT },
+ {SMART_EVENT_TARGET_BUFFED, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_RESET, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_IC_LOS, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_PASSENGER_BOARDED, SMART_SCRIPT_TYPE_MASK_CREATURE },
@@ -1272,6 +1281,8 @@ const uint32 SmartAIEventMask[SMART_EVENT_END][2] =
{SMART_EVENT_ACTION_DONE, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_ON_SPELLCLICK, SMART_SCRIPT_TYPE_MASK_CREATURE },
{SMART_EVENT_FRIENDLY_HEALTH_PCT, SMART_SCRIPT_TYPE_MASK_CREATURE },
+ {SMART_EVENT_DISTANCE_CREATURE, SMART_SCRIPT_TYPE_MASK_CREATURE },
+ {SMART_EVENT_DISTANCE_GAMEOBJECT, SMART_SCRIPT_TYPE_MASK_CREATURE },
};
enum SmartEventFlags
@@ -1328,7 +1339,7 @@ struct SmartScriptHolder
bool enableTimed;
};
-typedef UNORDERED_MAP<uint32, WayPoint*> WPPath;
+typedef std::unordered_map<uint32, WayPoint*> WPPath;
typedef std::list<WorldObject*> ObjectList;
typedef std::list<uint64> GuidList;
@@ -1382,7 +1393,7 @@ public:
delete m_guidList;
}
};
-typedef UNORDERED_MAP<uint32, ObjectGuidList*> ObjectListMap;
+typedef std::unordered_map<uint32, ObjectGuidList*> ObjectListMap;
class SmartWaypointMgr
{
@@ -1401,14 +1412,14 @@ class SmartWaypointMgr
}
private:
- UNORDERED_MAP<uint32, WPPath*> waypoint_map;
+ std::unordered_map<uint32, WPPath*> waypoint_map;
};
// all events for a single entry
typedef std::vector<SmartScriptHolder> SmartAIEventList;
// all events for all entries / guids
-typedef UNORDERED_MAP<int32, SmartAIEventList> SmartAIEventMap;
+typedef std::unordered_map<int32, SmartAIEventList> SmartAIEventMap;
// Helper Stores
typedef std::map<uint32 /*entry*/, std::pair<uint32 /*spellId*/, SpellEffIndex /*effIndex*/> > CacheSpellContainer;
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp
index 8a5c6937ca0..d8f61a22314 100644
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -348,13 +348,8 @@ bool AccountMgr::normalizeString(std::string& utf8String)
size_t maxLength = MAX_ACCOUNT_STR;
if (!Utf8toWStr(utf8String, buffer, maxLength))
return false;
-#ifdef _MSC_VER
-#pragma warning(disable: 4996)
-#endif
+
std::transform(&buffer[0], buffer+maxLength, &buffer[0], wcharToUpperOnlyLatin);
-#ifdef _MSC_VER
-#pragma warning(default: 4996)
-#endif
return WStrToUtf8(buffer, maxLength, utf8String);
}
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index dc5a2768668..9ce1f9bb67a 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -517,7 +517,7 @@ enum RBACPermissions
RBAC_PERM_COMMAND_RELOAD_ALL = 611,
RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT = 612,
RBAC_PERM_COMMAND_RELOAD_ALL_AREA = 613,
- RBAC_PERM_UNUSED_614 = 614, // unused
+ RBAC_PERM_COMMAND_RELOAD_BROADCAST_TEXT = 614,
RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP = 615,
RBAC_PERM_COMMAND_RELOAD_ALL_ITEM = 616,
RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES = 617,
@@ -702,7 +702,7 @@ class RBACPermission
{
public:
RBACPermission(uint32 id = 0, std::string const& name = ""):
- _id(id), _name(name) { }
+ _id(id), _name(name), _perms() { }
/// Gets the Name of the Object
std::string const& GetName() const { return _name; }
@@ -737,7 +737,8 @@ class RBACData
{
public:
RBACData(uint32 id, std::string const& name, int32 realmId, uint8 secLevel = 255):
- _id(id), _name(name), _realmId(realmId), _secLevel(secLevel) { }
+ _id(id), _name(name), _realmId(realmId), _secLevel(secLevel),
+ _grantedPerms(), _deniedPerms(), _globalPerms() { }
/// Gets the Name of the Object
std::string const& GetName() const { return _name; }
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index dd3ff925335..f1263fa0239 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -48,22 +48,23 @@ namespace Trinity
class AchievementChatBuilder
{
public:
- AchievementChatBuilder(Player const& player, ChatMsg msgtype, int32 textId, uint32 ach_id)
- : i_player(player), i_msgtype(msgtype), i_textId(textId), i_achievementId(ach_id) { }
+ AchievementChatBuilder(Player const* player, ChatMsg msgType, uint32 textId, uint32 achievementId)
+ : _player(player), _msgType(msgType), _textId(textId), _achievementId(achievementId) { }
- void operator()(WorldPacket& data, LocaleConstant loc_idx)
+ void operator()(WorldPacket& data, LocaleConstant locale)
{
- std::string text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
- ChatHandler::BuildChatPacket(data, i_msgtype, LANG_UNIVERSAL, &i_player, &i_player, text, i_achievementId);
+ BroadcastText const* bct = sObjectMgr->GetBroadcastText(_textId);
+
+ ChatHandler::BuildChatPacket(data, _msgType, bct ? Language(bct->Language) : LANG_UNIVERSAL, _player, _player, bct ? bct->GetText(locale, _player->getGender()) : "", _achievementId);
}
private:
- Player const& i_player;
- ChatMsg i_msgtype;
- int32 i_textId;
- uint32 i_achievementId;
+ Player const* _player;
+ ChatMsg _msgType;
+ int32 _textId;
+ uint32 _achievementId;
};
-} // namespace Trinity
+} // namespace Trinity
bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria)
{
@@ -98,6 +99,7 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria)
case ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM: // only Children's Week achievements
case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS:
case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL:
+ case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN:
break;
default:
if (dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT)
@@ -111,7 +113,7 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria)
switch (dataType)
{
case ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE:
- case ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT:
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT:
return true;
case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE:
if (!creature.id || !sObjectMgr->GetCreatureTemplate(creature.id))
@@ -237,12 +239,23 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria)
return false;
}
return true;
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_GAME_EVENT:
+ {
+ GameEventMgr::GameEventDataMap const& events = sGameEventMgr->GetEventMap();
+ if (game_event.id < 1 || game_event.id >= events.size())
+ {
+ TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_GAME_EVENT (%u) has unknown game_event in value1 (%u), ignored.",
+ criteria->ID, criteria->type, dataType, game_event.id);
+ return false;
+ }
+ return true;
+ }
case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE:
return true; // not check correctness node indexes
case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM:
if (equipped_item.item_quality >= MAX_ITEM_QUALITY)
{
- TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_S_EQUIPED_ITEM (%u) has unknown quality state in value1 (%u), ignored.",
+ TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM (%u) has unknown quality state in value1 (%u), ignored.",
criteria->ID, criteria->type, dataType, equipped_item.item_quality);
return false;
}
@@ -267,6 +280,14 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria)
return false;
}
return true;
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE:
+ if (!sCharTitlesStore.LookupEntry(known_title.title_id))
+ {
+ TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE (%u) have unknown title_id in value1 (%u), ignore.",
+ criteria->ID, criteria->type, dataType, known_title.title_id);
+ return false;
+ }
+ return true;
default:
TC_LOG_ERROR("sql.sql", "Table `achievement_criteria_data` (Entry: %u Type: %u) has data for non-supported data type (%u), ignored.", criteria->ID, criteria->type, dataType);
return false;
@@ -292,7 +313,7 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
return false;
return true;
case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE:
- if (!source || source->GetTypeId() != TYPEID_PLAYER)
+ if (source->GetTypeId() != TYPEID_PLAYER)
return false;
if (classRace.class_id && classRace.class_id != source->ToPlayer()->getClass())
return false;
@@ -329,6 +350,8 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
return Player::GetDrunkenstateByValue(source->GetDrunkValue()) >= DrunkenState(drunk.state);
case ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY:
return IsHolidayActive(HolidayIds(holiday.id));
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_GAME_EVENT:
+ return IsEventActive(game_event.id);
case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE:
{
Battleground* bg = source->GetBattleground();
@@ -338,22 +361,22 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
uint32 score = bg->GetTeamScore(source->GetTeamId() == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE);
return score >= bg_loss_team_score.min_score && score <= bg_loss_team_score.max_score;
}
- case ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT:
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT:
{
if (!source->IsInWorld())
return false;
Map* map = source->GetMap();
if (!map->IsDungeon())
{
- TC_LOG_ERROR("achievement", "Achievement system call ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT (%u) for achievement criteria %u for non-dungeon/non-raid map %u",
- ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT, criteria_id, map->GetId());
- return false;
+ TC_LOG_ERROR("achievement", "Achievement system call ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT (%u) for achievement criteria %u for non-dungeon/non-raid map %u",
+ dataType, criteria_id, map->GetId());
+ return false;
}
- InstanceScript* instance = ((InstanceMap*)map)->GetInstanceScript();
+ InstanceScript* instance = map->ToInstanceMap()->GetInstanceScript();
if (!instance)
{
- TC_LOG_ERROR("achievement", "Achievement system call ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT (%u) for achievement criteria %u for map %u but map does not have a instance script",
- ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT, criteria_id, map->GetId());
+ TC_LOG_ERROR("achievement", "Achievement system call ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT (%u) for achievement criteria %u for map %u but map does not have a instance script",
+ dataType, criteria_id, map->GetId());
return false;
}
return instance->CheckAchievementCriteriaMeet(criteria_id, source, target, miscValue1);
@@ -365,6 +388,13 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
return false;
return pProto->ItemLevel >= equipped_item.item_level && pProto->Quality >= equipped_item.item_quality;
}
+ case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE:
+ {
+ if (CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(known_title.title_id))
+ return source && source->HasTitle(titleInfo->bit_index);
+
+ return false;
+ }
default:
break;
}
@@ -849,9 +879,9 @@ void AchievementMgr<T>::SendAchievementEarned(AchievementEntry const* achievemen
if (Guild* guild = sGuildMgr->GetGuildById(GetOwner()->GetGuildId()))
{
- Trinity::AchievementChatBuilder say_builder(*GetOwner(), CHAT_MSG_GUILD_ACHIEVEMENT, LANG_ACHIEVEMENT_EARNED, achievement->ID);
- Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> say_do(say_builder);
- guild->BroadcastWorker(say_do);
+ Trinity::AchievementChatBuilder _builder(GetOwner(), CHAT_MSG_GUILD_ACHIEVEMENT, BROADCAST_TEXT_ACHIEVEMENT_EARNED, achievement->ID);
+ Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> _localizer(_builder);
+ guild->BroadcastWorker(_localizer, GetOwner());
}
if (achievement->flags & (ACHIEVEMENT_FLAG_REALM_FIRST_KILL | ACHIEVEMENT_FLAG_REALM_FIRST_REACH))
@@ -867,17 +897,10 @@ void AchievementMgr<T>::SendAchievementEarned(AchievementEntry const* achievemen
// if player is in world he can tell his friends about new achievement
else if (GetOwner()->IsInWorld())
{
- Trinity::AchievementChatBuilder say_builder(*GetOwner(), CHAT_MSG_ACHIEVEMENT, LANG_ACHIEVEMENT_EARNED, achievement->ID);
-
- CellCoord p = Trinity::ComputeCellCoord(GetOwner()->GetPositionX(), GetOwner()->GetPositionY());
-
- Cell cell(p);
- cell.SetNoCreate();
-
- Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> say_do(say_builder);
- Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> > say_worker(GetOwner(), sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), say_do);
- TypeContainerVisitor<Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> >, WorldTypeMapContainer > message(say_worker);
- cell.Visit(p, message, *GetOwner()->GetMap(), *GetOwner(), sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY));
+ Trinity::AchievementChatBuilder _builder(GetOwner(), CHAT_MSG_ACHIEVEMENT, BROADCAST_TEXT_ACHIEVEMENT_EARNED, achievement->ID);
+ Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> _localizer(_builder);
+ Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::AchievementChatBuilder> > _worker(GetOwner(), sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), _localizer);
+ GetOwner()->VisitNearbyWorldObject(sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), _worker);
}
WorldPacket data(SMSG_ACHIEVEMENT_EARNED, 8+4+8);
@@ -1116,6 +1139,7 @@ void AchievementMgr<T>::UpdateAchievementCriteria(AchievementCriteriaTypes type,
case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS:
case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA:
case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA: // This also behaves like ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA
+ case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN:
SetCriteriaProgress(achievementCriteria, 1, referencePlayer, PROGRESS_ACCUMULATE);
break;
// std case: increment at miscValue1
@@ -1359,7 +1383,6 @@ void AchievementMgr<T>::UpdateAchievementCriteria(AchievementCriteriaTypes type,
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID:
case ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA:
case ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK:
- case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
case ACHIEVEMENT_CRITERIA_TYPE_SPENT_GOLD_GUILD_REPAIRS:
case ACHIEVEMENT_CRITERIA_TYPE_CRAFT_ITEMS_GUILD:
case ACHIEVEMENT_CRITERIA_TYPE_CATCH_FROM_POOL:
@@ -1520,6 +1543,8 @@ bool AchievementMgr<T>::IsCompletedCriteria(AchievementCriteriaEntry const* achi
return progress->counter >= achievementCriteria->currencyGain.count;
case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA:
return achievementCriteria->win_arena.count && progress->counter >= achievementCriteria->win_arena.count;
+ case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN:
+ return true;
// handle all statistic-only criteria here
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND:
case ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP:
@@ -1847,25 +1872,30 @@ void AchievementMgr<Player>::CompletedAchievement(AchievementEntry const* achiev
// mail
if (reward->sender)
{
- Item* item = reward->itemId ? Item::CreateItem(reward->itemId, 1, GetOwner()) : NULL;
+ MailDraft draft(reward->mailTemplate);
- int loc_idx = GetOwner()->GetSession()->GetSessionDbLocaleIndex();
-
- // subject and text
- std::string subject = reward->subject;
- std::string text = reward->text;
- if (loc_idx >= 0)
+ if (!reward->mailTemplate)
{
- if (AchievementRewardLocale const* loc = sAchievementMgr->GetAchievementRewardLocale(achievement))
+ // subject and text
+ std::string subject = reward->subject;
+ std::string text = reward->text;
+
+ int locIdx = GetOwner()->GetSession()->GetSessionDbLocaleIndex();
+ if (locIdx >= 0)
{
- ObjectMgr::GetLocaleString(loc->subject, loc_idx, subject);
- ObjectMgr::GetLocaleString(loc->text, loc_idx, text);
+ if (AchievementRewardLocale const* loc = sAchievementMgr->GetAchievementRewardLocale(achievement))
+ {
+ ObjectMgr::GetLocaleString(loc->subject, locIdx, subject);
+ ObjectMgr::GetLocaleString(loc->text, locIdx, text);
+ }
}
- }
- MailDraft draft(subject, text);
+ draft = MailDraft(subject, text);
+ }
SQLTransaction trans = CharacterDatabase.BeginTransaction();
+
+ Item* item = reward->itemId ? Item::CreateItem(reward->itemId, 1, GetOwner()) : NULL;
if (item)
{
// save new item before send
@@ -2329,7 +2359,6 @@ bool AchievementMgr<T>::RequirementsSatisfied(AchievementCriteriaEntry const* ac
case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT:
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY:
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT:
- case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
case ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS:
case ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION:
case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION:
@@ -2339,6 +2368,7 @@ bool AchievementMgr<T>::RequirementsSatisfied(AchievementCriteriaEntry const* ac
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING:
case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS:
case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL:
+ case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN:
break;
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT:
if (m_completedAchievements.find(achievementCriteria->complete_achievement.linkedAchievement) == m_completedAchievements.end())
@@ -2919,8 +2949,8 @@ char const* AchievementGlobalMgr::GetCriteriaTypeString(AchievementCriteriaTypes
return "SPECIAL_PVP_KILL";
case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT:
return "FISH_IN_GAMEOBJECT";
- case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
- return "EARNED_PVP_TITLE";
+ case ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN:
+ return "ON_LOGIN";
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS:
return "LEARN_SKILLLINE_SPELLS";
case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL:
@@ -3188,8 +3218,8 @@ void AchievementGlobalMgr::LoadRewards()
m_achievementRewards.clear(); // need for reload case
- // 0 1 2 3 4 5 6
- QueryResult result = WorldDatabase.Query("SELECT entry, title_A, title_H, item, sender, subject, text FROM achievement_reward");
+ // 0 1 2 3 4 5 6 7
+ QueryResult result = WorldDatabase.Query("SELECT entry, title_A, title_H, item, sender, subject, text, mailTemplate FROM achievement_reward");
if (!result)
{
@@ -3203,20 +3233,21 @@ void AchievementGlobalMgr::LoadRewards()
{
Field* fields = result->Fetch();
uint32 entry = fields[0].GetUInt32();
- const AchievementEntry* pAchievement = GetAchievement(entry);
- if (!pAchievement)
+ AchievementEntry const* achievement = GetAchievement(entry);
+ if (!achievement)
{
TC_LOG_ERROR("sql.sql", "Table `achievement_reward` has wrong achievement (Entry: %u), ignored.", entry);
continue;
}
AchievementReward reward;
- reward.titleId[0] = fields[1].GetUInt32();
- reward.titleId[1] = fields[2].GetUInt32();
- reward.itemId = fields[3].GetUInt32();
- reward.sender = fields[4].GetUInt32();
- reward.subject = fields[5].GetString();
- reward.text = fields[6].GetString();
+ reward.titleId[0] = fields[1].GetUInt32();
+ reward.titleId[1] = fields[2].GetUInt32();
+ reward.itemId = fields[3].GetUInt32();
+ reward.sender = fields[4].GetUInt32();
+ reward.subject = fields[5].GetString();
+ reward.text = fields[6].GetString();
+ reward.mailTemplate = fields[7].GetUInt32();
// must be title or mail at least
if (!reward.titleId[0] && !reward.titleId[1] && !reward.sender)
@@ -3225,7 +3256,7 @@ void AchievementGlobalMgr::LoadRewards()
continue;
}
- if (pAchievement->requiredFaction == ACHIEVEMENT_FACTION_ANY && ((reward.titleId[0] == 0) != (reward.titleId[1] == 0)))
+ if (achievement->requiredFaction == ACHIEVEMENT_FACTION_ANY && (!reward.titleId[0] ^ !reward.titleId[1]))
TC_LOG_ERROR("sql.sql", "Table `achievement_reward` (Entry: %u) has title (A: %u H: %u) for only one team.", entry, reward.titleId[0], reward.titleId[1]);
if (reward.titleId[0])
@@ -3267,6 +3298,20 @@ void AchievementGlobalMgr::LoadRewards()
if (!reward.text.empty())
TC_LOG_ERROR("sql.sql", "Table `achievement_reward` (Entry: %u) does not have sender data but has mail text.", entry);
+
+ if (reward.mailTemplate)
+ TC_LOG_ERROR("sql.sql", "Table `achievement_reward` (Entry: %u) does not have sender data but has mailTemplate.", entry);
+ }
+
+ if (reward.mailTemplate)
+ {
+ if (!sMailTemplateStore.LookupEntry(reward.mailTemplate))
+ {
+ TC_LOG_ERROR("sql.sql", "Table `achievement_reward` (Entry: %u) has invalid mailTemplate (%u).", entry, reward.mailTemplate);
+ reward.mailTemplate = 0;
+ }
+ else if (!reward.subject.empty() || !reward.text.empty())
+ TC_LOG_ERROR("sql.sql", "Table `achievement_reward` (Entry: %u) has mailTemplate (%u) and mail subject/text.", entry, reward.mailTemplate);
}
if (reward.itemId)
diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h
index 25328dd3f98..2758c677c21 100644
--- a/src/server/game/Achievements/AchievementMgr.h
+++ b/src/server/game/Achievements/AchievementMgr.h
@@ -35,8 +35,8 @@ class WorldPacket;
typedef std::vector<AchievementCriteriaEntry const*> AchievementCriteriaEntryList;
typedef std::vector<AchievementEntry const*> AchievementEntryList;
-typedef UNORDERED_MAP<uint32, AchievementCriteriaEntryList> AchievementCriteriaListByAchievement;
-typedef UNORDERED_MAP<uint32, AchievementEntryList> AchievementListByReferencedId;
+typedef std::unordered_map<uint32, AchievementCriteriaEntryList> AchievementCriteriaListByAchievement;
+typedef std::unordered_map<uint32, AchievementEntryList> AchievementListByReferencedId;
struct CriteriaProgress
{
@@ -47,15 +47,15 @@ struct CriteriaProgress
};
enum AchievementCriteriaDataType
-{ // value1 value2 comment
- ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0
- ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0
- ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id
- ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH= 3, // health_percent 0
- ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx
- ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx
- ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit
- ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target
+{ // value1 value2 comment
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH= 3, // health_percent 0
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female
ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11, // scripted requirement
// REUSE
@@ -64,12 +64,16 @@ enum AchievementCriteriaDataType
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15, // drunken_state 0 (enum DrunkenState) of player
ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16, // holiday_id 0 event in holiday time
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17, // min_score max_score player's team win bg and opposition team have team score in range
- ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality
- ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21 // class_id race_id
-};
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id
+ // REUSE
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23, // title_id known (pvp) title, values from dbc
+ ACHIEVEMENT_CRITERIA_DATA_TYPE_GAME_EVENT = 24, // game_event_id 0
-#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 22 // maximum value in AchievementCriteriaDataType enum
+ MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE
+};
struct AchievementCriteriaData
{
@@ -144,13 +148,28 @@ struct AchievementCriteriaData
uint32 min_score;
uint32 max_score;
} bg_loss_team_score;
- // ACHIEVEMENT_CRITERIA_DATA_INSTANCE_SCRIPT = 18 (no data)
+ // ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19
struct
{
uint32 item_level;
uint32 item_quality;
} equipped_item;
+ // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20
+ struct
+ {
+ uint32 mapId;
+ } map_id;
+ // ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 22
+ struct
+ {
+ uint32 title_id;
+ } known_title;
+ // ACHIEVEMENT_CRITERIA_DATA_TYPE_GAME_EVENT = 24
+ struct
+ {
+ uint32 id;
+ } game_event;
// raw
struct
{
@@ -199,9 +218,10 @@ struct AchievementReward
uint32 sender;
std::string subject;
std::string text;
+ uint32 mailTemplate;
};
-typedef UNORDERED_MAP<uint32, AchievementReward> AchievementRewards;
+typedef std::unordered_map<uint32, AchievementReward> AchievementRewards;
struct AchievementRewardLocale
{
@@ -209,7 +229,7 @@ struct AchievementRewardLocale
std::vector<std::string> text;
};
-typedef UNORDERED_MAP<uint32, AchievementRewardLocale> AchievementRewardLocales;
+typedef std::unordered_map<uint32, AchievementRewardLocale> AchievementRewardLocales;
struct CompletedAchievementData
{
@@ -218,8 +238,8 @@ struct CompletedAchievementData
bool changed;
};
-typedef UNORDERED_MAP<uint32, CriteriaProgress> CriteriaProgressMap;
-typedef UNORDERED_MAP<uint32, CompletedAchievementData> CompletedAchievementMap;
+typedef std::unordered_map<uint32, CriteriaProgress> CriteriaProgressMap;
+typedef std::unordered_map<uint32, CompletedAchievementData> CompletedAchievementMap;
enum ProgressType
{
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index 07b4eb5b594..40935a0712c 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -705,7 +705,7 @@ bool AuctionEntry::LoadFromDB(Field* fields)
return false;
}
- factionTemplateId = auctioneerInfo->faction_A;
+ factionTemplateId = auctioneerInfo->faction;
auctionHouseEntry = AuctionHouseMgr::GetAuctionHouseEntry(factionTemplateId);
if (!auctionHouseEntry)
{
@@ -828,7 +828,7 @@ bool AuctionEntry::LoadFromFieldList(Field* fields)
return false;
}
- factionTemplateId = auctioneerInfo->faction_A;
+ factionTemplateId = auctioneerInfo->faction;
auctionHouseEntry = AuctionHouseMgr::GetAuctionHouseEntry(factionTemplateId);
if (!auctionHouseEntry)
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h
index b81db2aa79a..978e6869bac 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -145,7 +145,7 @@ class AuctionHouseMgr
public:
- typedef UNORDERED_MAP<uint32, Item*> ItemMap;
+ typedef std::unordered_map<uint32, Item*> ItemMap;
AuctionHouseObject* GetAuctionsMap(uint32 factionTemplateId);
AuctionHouseObject* GetBidsMap(uint32 factionTemplateId);
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index bd5ffc057dc..a136ed8a438 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -783,7 +783,7 @@ Creature* Battlefield::SpawnCreature(uint32 entry, const Position& pos, TeamId t
return SpawnCreature(entry, pos.m_positionX, pos.m_positionY, pos.m_positionZ, pos.m_orientation, team);
}
-Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team)
+Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId /*team*/)
{
//Get map object
Map* map = sMapMgr->CreateBaseMap(m_MapId);
@@ -794,7 +794,7 @@ Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, fl
}
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, 0, team, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, x, y, z, o))
{
TC_LOG_ERROR("bg.battlefield", "Battlefield::SpawnCreature: Can't create creature entry: %u", entry);
delete creature;
@@ -809,9 +809,6 @@ Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, fl
TC_LOG_ERROR("bg.battlefield", "Battlefield::SpawnCreature: entry %u does not exist.", entry);
return NULL;
}
- // force using DB speeds -- do we really need this?
- creature->SetSpeed(MOVE_WALK, cinfo->speed_walk);
- creature->SetSpeed(MOVE_RUN, cinfo->speed_run);
// Set creature in world
map->AddToMap(creature);
diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h
index 1781209e779..4e2e28f124c 100644
--- a/src/server/game/Battlefield/Battlefield.h
+++ b/src/server/game/Battlefield/Battlefield.h
@@ -287,7 +287,7 @@ class Battlefield : public ZoneScript
BfGraveyard* GetGraveyardById(uint32 id) const;
// Misc methods
- Creature* SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team);
+ virtual Creature* SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team);
Creature* SpawnCreature(uint32 entry, const Position& pos, TeamId team);
GameObject* SpawnGameObject(uint32 entry, float x, float y, float z, float o);
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
index 7ec5a09508a..5555f2a824c 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp
@@ -156,8 +156,7 @@ bool BattlefieldWG::SetupBattlefield()
// Spawn turrets and hide them per default
for (uint8 i = 0; i < WG_MAX_TURRET; i++)
{
- Position towerCannonPos;
- WGTurret[i].GetPosition(&towerCannonPos);
+ Position towerCannonPos = WGTurret[i].GetPosition();
if (Creature* creature = SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TEAM_ALLIANCE))
{
CanonList.insert(creature->GetGUID());
diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h
index 6b5b64974a8..e1eb6b7a457 100644
--- a/src/server/game/Battlefield/Zones/BattlefieldWG.h
+++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h
@@ -1309,8 +1309,7 @@ struct BfWGGameObjectBuilding
// Spawn Turret bottom
for (uint8 i = 0; i < TowerCannon[towerid].nbTowerCannonBottom; i++)
{
- Position turretPos;
- TowerCannon[towerid].TowerCannonBottom[i].GetPosition(&turretPos);
+ Position turretPos = TowerCannon[towerid].TowerCannonBottom[i].GetPosition();
if (Creature* turret = m_WG->SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, turretPos, TEAM_ALLIANCE))
{
m_TowerCannonBottomList.insert(turret->GetGUID());
@@ -1335,8 +1334,7 @@ struct BfWGGameObjectBuilding
// Spawn Turret top
for (uint8 i = 0; i < TowerCannon[towerid].nbTurretTop; i++)
{
- Position towerCannonPos;
- TowerCannon[towerid].TurretTop[i].GetPosition(&towerCannonPos);
+ Position towerCannonPos = TowerCannon[towerid].TurretTop[i].GetPosition();
if (Creature* turret = m_WG->SpawnCreature(NPC_WINTERGRASP_TOWER_CANNON, towerCannonPos, TeamId(0)))
{
m_TurretTopList.insert(turret->GetGUID());
diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.h b/src/server/game/Battlegrounds/ArenaTeamMgr.h
index bbb0d87f398..ca915e0db6f 100644
--- a/src/server/game/Battlegrounds/ArenaTeamMgr.h
+++ b/src/server/game/Battlegrounds/ArenaTeamMgr.h
@@ -27,7 +27,7 @@ class ArenaTeamMgr
~ArenaTeamMgr();
public:
- typedef UNORDERED_MAP<uint32, ArenaTeam*> ArenaTeamContainer;
+ typedef std::unordered_map<uint32, ArenaTeam*> ArenaTeamContainer;
ArenaTeam* GetArenaTeamById(uint32 arenaTeamId) const;
ArenaTeam* GetArenaTeamByName(std::string const& arenaTeamName) const;
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 4860f226a67..24e01cf5b37 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -21,6 +21,7 @@
#include "Battleground.h"
#include "BattlegroundMgr.h"
#include "Creature.h"
+#include "CreatureTextMgr.h"
#include "Chat.h"
#include "Formulas.h"
#include "GridNotifiersImpl.h"
@@ -102,13 +103,13 @@ namespace Trinity
int32 _arg1;
int32 _arg2;
};
-} // namespace Trinity
+} // namespace Trinity
template<class Do>
void Battleground::BroadcastWorker(Do& _do)
{
for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
- if (Player* player = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER)))
+ if (Player* player = _GetPlayer(itr, "BroadcastWorker"))
_do(player);
}
@@ -308,12 +309,11 @@ inline void Battleground::_CheckSafePositions(uint32 diff)
{
m_ValidStartPositionTimer = 0;
- Position pos;
float x, y, z, o;
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer(itr->first))
{
- player->GetPosition(&pos);
+ Position pos = player->GetPosition();
GetTeamStartLoc(player->GetBGTeam(), x, y, z, o);
if (pos.GetExactDistSq(x, y, z) > maxDist)
{
@@ -678,6 +678,11 @@ void Battleground::SendPacketToTeam(uint32 TeamID, WorldPacket* packet, Player*
}
}
+void Battleground::SendChatMessage(Creature* source, uint8 textId, WorldObject* target /*= NULL*/)
+{
+ sCreatureTextMgr->SendChat(source, textId, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
+}
+
void Battleground::PlaySoundToAll(uint32 SoundID)
{
WorldPacket data;
@@ -1529,8 +1534,6 @@ bool Battleground::AddObject(uint32 type, uint32 entry, float x, float y, float
if (!go->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT), entry, GetBgMap(),
PHASEMASK_NORMAL, x, y, z, o, rotation0, rotation1, rotation2, rotation3, 100, GO_STATE_READY))
{
- TC_LOG_ERROR("sql.sql", "Battleground::AddObject: cannot create gameobject (entry: %u) for BG (map: %u, instance id: %u)!",
- entry, m_MapId, m_InstanceID);
TC_LOG_ERROR("bg.battleground", "Battleground::AddObject: cannot create gameobject (entry: %u) for BG (map: %u, instance id: %u)!",
entry, m_MapId, m_InstanceID);
delete go;
@@ -1568,6 +1571,11 @@ bool Battleground::AddObject(uint32 type, uint32 entry, float x, float y, float
return true;
}
+bool Battleground::AddObject(uint32 type, uint32 entry, Position const& pos, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime /*= 0*/)
+{
+ return AddObject(type, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), rotation0, rotation1, rotation2, rotation3, respawnTime);
+}
+
// Some doors aren't despawned so we cannot handle their closing in gameobject::update()
// It would be nice to correctly implement GO_ACTIVATED state and open/close doors in gameobject code
void Battleground::DoorClose(uint32 type)
@@ -1598,21 +1606,33 @@ void Battleground::DoorOpen(uint32 type)
type, GUID_LOPART(BgObjects[type]), m_MapId, m_InstanceID);
}
-GameObject* Battleground::GetBGObject(uint32 type)
+GameObject* Battleground::GetBGObject(uint32 type, bool logError)
{
GameObject* obj = GetBgMap()->GetGameObject(BgObjects[type]);
if (!obj)
- TC_LOG_ERROR("bg.battleground", "Battleground::GetBGObject: gameobject (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
- type, GUID_LOPART(BgObjects[type]), m_MapId, m_InstanceID);
+ {
+ if (logError)
+ TC_LOG_ERROR("bg.battleground", "Battleground::GetBGObject: gameobject (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
+ type, GUID_LOPART(BgObjects[type]), m_MapId, m_InstanceID);
+ else
+ TC_LOG_INFO("bg.battleground", "Battleground::GetBGObject: gameobject (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
+ type, GUID_LOPART(BgObjects[type]), m_MapId, m_InstanceID);
+ }
return obj;
}
-Creature* Battleground::GetBGCreature(uint32 type)
+Creature* Battleground::GetBGCreature(uint32 type, bool logError)
{
Creature* creature = GetBgMap()->GetCreature(BgCreatures[type]);
if (!creature)
- TC_LOG_ERROR("bg.battleground", "Battleground::GetBGCreature: creature (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
- type, GUID_LOPART(BgCreatures[type]), m_MapId, m_InstanceID);
+ {
+ if (logError)
+ TC_LOG_ERROR("bg.battleground", "Battleground::GetBGCreature: creature (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
+ type, GUID_LOPART(BgCreatures[type]), m_MapId, m_InstanceID);
+ else
+ TC_LOG_INFO("bg.battleground", "Battleground::GetBGCreature: creature (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
+ type, GUID_LOPART(BgCreatures[type]), m_MapId, m_InstanceID);
+ }
return creature;
}
@@ -1632,7 +1652,7 @@ void Battleground::SpawnBGObject(uint32 type, uint32 respawntime)
}
}
-Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime)
+Creature* Battleground::AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, TeamId /*teamId = TEAM_NEUTRAL*/, uint32 respawntime /*= 0*/)
{
// If the assert is called, means that BgCreatures must be resized!
ASSERT(type < BgCreatures.size());
@@ -1642,7 +1662,7 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
return NULL;
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, 0, teamval, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, x, y, z, o))
{
TC_LOG_ERROR("bg.battleground", "Battleground::AddCreature: cannot create creature (entry: %u) for BG (map: %u, instance id: %u)!",
entry, m_MapId, m_InstanceID);
@@ -1660,9 +1680,6 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
delete creature;
return NULL;
}
- // Force using DB speeds
- creature->SetSpeed(MOVE_WALK, cinfo->speed_walk);
- creature->SetSpeed(MOVE_RUN, cinfo->speed_run);
if (!map->AddToMap(creature))
{
@@ -1675,7 +1692,12 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
if (respawntime)
creature->SetRespawnDelay(respawntime);
- return creature;
+ return creature;
+}
+
+Creature* Battleground::AddCreature(uint32 entry, uint32 type, Position const& pos, TeamId teamId /*= TEAM_NEUTRAL*/, uint32 respawntime /*= 0*/)
+{
+ return AddCreature(entry, type, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), teamId, respawntime);
}
bool Battleground::DelCreature(uint32 type)
@@ -1714,13 +1736,11 @@ bool Battleground::DelObject(uint32 type)
return false;
}
-bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team)
+bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float o, TeamId teamId /*= TEAM_NEUTRAL*/)
{
- uint32 entry = (team == ALLIANCE) ?
- BG_CREATURE_ENTRY_A_SPIRITGUIDE :
- BG_CREATURE_ENTRY_H_SPIRITGUIDE;
+ uint32 entry = (teamId == TEAM_ALLIANCE) ? BG_CREATURE_ENTRY_A_SPIRITGUIDE : BG_CREATURE_ENTRY_H_SPIRITGUIDE;
- if (Creature* creature = AddCreature(entry, type, team, x, y, z, o))
+ if (Creature* creature = AddCreature(entry, type, x, y, z, o, teamId))
{
creature->setDeathState(DEAD);
creature->SetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT, creature->GetGUID());
@@ -1741,6 +1761,11 @@ bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float
return false;
}
+bool Battleground::AddSpiritGuide(uint32 type, Position const& pos, TeamId teamId /*= TEAM_NEUTRAL*/)
+{
+ return AddSpiritGuide(type, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), teamId);
+}
+
void Battleground::SendMessageToAll(int32 entry, ChatMsg type, Player const* source)
{
if (!entry)
@@ -1773,7 +1798,7 @@ void Battleground::SendWarningToAll(int32 entry, ...)
std::map<uint32, WorldPacket> localizedPackets;
for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
- if (Player* player = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER)))
+ if (Player* player = _GetPlayer(itr, "SendWarningToAll"))
{
if (localizedPackets.find(player->GetSession()->GetSessionDbLocaleIndex()) == localizedPackets.end())
{
diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
index 824a71bc89b..2feb15e2ee6 100644
--- a/src/server/game/Battlegrounds/Battleground.h
+++ b/src/server/game/Battlegrounds/Battleground.h
@@ -28,9 +28,11 @@ class GameObject;
class Group;
class Player;
class Unit;
+class WorldObject;
class WorldPacket;
class BattlegroundMap;
+struct Position;
struct PvPDifficultyEntry;
struct WorldSafeLocsEntry;
@@ -387,8 +389,8 @@ class Battleground
void StartBattleground();
- GameObject* GetBGObject(uint32 type);
- Creature* GetBGCreature(uint32 type);
+ GameObject* GetBGObject(uint32 type, bool logError = true);
+ Creature* GetBGCreature(uint32 type, bool logError = true);
// Location
void SetMapId(uint32 MapID) { m_MapId = MapID; }
@@ -419,6 +421,8 @@ class Battleground
void SendPacketToAll(WorldPacket* packet);
void YellToAll(Creature* creature, const char* text, uint32 language);
+ void SendChatMessage(Creature* source, uint8 textId, WorldObject* target = NULL);
+
template<class Do>
void BroadcastWorker(Do& _do);
@@ -483,8 +487,7 @@ class Battleground
virtual void EventPlayerClickedOnFlag(Player* /*player*/, GameObject* /*target_obj*/) { }
void EventPlayerLoggedIn(Player* player);
void EventPlayerLoggedOut(Player* player);
- virtual void EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/) { }
- virtual void EventPlayerUsedGO(Player* /*player*/, GameObject* /*go*/){ }
+ virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/, WorldObject* /*invoker*/ = NULL) { }
// this function can be used by spell to interact with the BG map
virtual void DoAction(uint32 /*action*/, uint64 /*var*/) { }
@@ -510,11 +513,14 @@ class Battleground
BGObjects BgObjects;
BGCreatures BgCreatures;
void SpawnBGObject(uint32 type, uint32 respawntime);
- bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
- Creature* AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime = 0);
+ virtual bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
+ bool AddObject(uint32 type, uint32 entry, Position const& pos, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
+ virtual Creature* AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL, uint32 respawntime = 0);
+ Creature* AddCreature(uint32 entry, uint32 type, Position const& pos, TeamId teamId = TEAM_NEUTRAL, uint32 respawntime = 0);
bool DelCreature(uint32 type);
bool DelObject(uint32 type);
- bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team);
+ virtual bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL);
+ bool AddSpiritGuide(uint32 type, Position const& pos, TeamId teamId = TEAM_NEUTRAL);
int32 GetObjectType(uint64 guid);
void DoorOpen(uint32 type);
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 823b869623d..3f39f8e3715 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -1410,6 +1410,17 @@ void BattlegroundMgr::LoadBattleMastersEntry()
Field* fields = result->Fetch();
uint32 entry = fields[0].GetUInt32();
+ if (CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(entry))
+ {
+ if ((cInfo->npcflag & UNIT_NPC_FLAG_BATTLEMASTER) == 0)
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) listed in `battlemaster_entry` is not a battlemaster.", entry);
+ }
+ else
+ {
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) listed in `battlemaster_entry` does not exist.", entry);
+ continue;
+ }
+
uint32 bgTypeId = fields[1].GetUInt32();
if (!sBattlemasterListStore.LookupEntry(bgTypeId))
{
@@ -1421,9 +1432,24 @@ void BattlegroundMgr::LoadBattleMastersEntry()
}
while (result->NextRow());
+ CheckBattleMasters();
+
TC_LOG_INFO("server.loading", ">> Loaded %u battlemaster entries in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
+void BattlegroundMgr::CheckBattleMasters()
+{
+ CreatureTemplateContainer const* ctc = sObjectMgr->GetCreatureTemplates();
+ for (CreatureTemplateContainer::const_iterator itr = ctc->begin(); itr != ctc->end(); ++itr)
+ {
+ if ((itr->second.npcflag & UNIT_NPC_FLAG_BATTLEMASTER) && mBattleMastersMap.find(itr->second.Entry) == mBattleMastersMap.end())
+ {
+ TC_LOG_ERROR("sql.sql", "CreatureTemplate (Entry: %u) has UNIT_NPC_FLAG_BATTLEMASTER but no data in `battlemaster_entry` table. Removing flag!", itr->second.Entry);
+ const_cast<CreatureTemplate*>(&itr->second)->npcflag &= ~UNIT_NPC_FLAG_BATTLEMASTER;
+ }
+ }
+}
+
HolidayIds BattlegroundMgr::BGTypeToWeekendHolidayId(BattlegroundTypeId bgTypeId)
{
switch (bgTypeId)
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.h b/src/server/game/Battlegrounds/BattlegroundMgr.h
index 2c94636f3e8..45a2f671d81 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.h
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.h
@@ -28,7 +28,7 @@
typedef std::map<uint32, Battleground*> BattlegroundContainer;
typedef std::set<uint32> BattlegroundClientIdsContainer;
-typedef UNORDERED_MAP<uint32, BattlegroundTypeId> BattleMastersMap;
+typedef std::unordered_map<uint32, BattlegroundTypeId> BattleMastersMap;
#define WS_CURRENCY_RESET_TIME 20001 // Custom worldstate
@@ -124,12 +124,13 @@ class BattlegroundMgr
uint32 GetMaxRatingDifference() const;
uint32 GetRatingDiscardTimer() const;
void LoadBattleMastersEntry();
+ void CheckBattleMasters();
BattlegroundTypeId GetBattleMasterBG(uint32 entry) const
{
BattleMastersMap::const_iterator itr = mBattleMastersMap.find(entry);
if (itr != mBattleMastersMap.end())
return itr->second;
- return BATTLEGROUND_WS;
+ return BATTLEGROUND_TYPE_NONE;
}
private:
diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.h b/src/server/game/Battlegrounds/BattlegroundQueue.h
index 37c7928b3de..af283cb825f 100644
--- a/src/server/game/Battlegrounds/BattlegroundQueue.h
+++ b/src/server/game/Battlegrounds/BattlegroundQueue.h
@@ -88,8 +88,8 @@ class BattlegroundQueue
typedef std::map<uint64, PlayerQueueInfo> QueuedPlayersMap;
QueuedPlayersMap m_QueuedPlayers;
- //we need constant add to begin and constant remove / add from the end, therefore deque suits our problem well
- typedef std::deque<GroupQueueInfo*> GroupsQueueType;
+ //do NOT use deque because deque.erase() invalidates ALL iterators
+ typedef std::list<GroupQueueInfo*> GroupsQueueType;
/*
This two dimensional array is used to store All queued groups
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index c05bd98b908..38b0e3e084b 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -23,7 +23,6 @@
#include "BattlegroundMgr.h"
#include "Creature.h"
#include "Language.h"
-#include "Object.h"
#include "Player.h"
#include "Util.h"
#include "WorldSession.h"
@@ -381,7 +380,7 @@ void BattlegroundAB::_SendNodeUpdate(uint8 node)
void BattlegroundAB::_NodeOccupied(uint8 node, Team team)
{
- if (!AddSpiritGuide(node, BG_AB_SpiritGuidePos[node][0], BG_AB_SpiritGuidePos[node][1], BG_AB_SpiritGuidePos[node][2], BG_AB_SpiritGuidePos[node][3], team))
+ if (!AddSpiritGuide(node, BG_AB_SpiritGuidePos[node], GetTeamIndexByTeamId(team)))
TC_LOG_ERROR("bg.battleground", "Failed to spawn spirit guide! point: %u, team: %u, ", node, team);
if (node >= BG_AB_DYNAMIC_NODES_COUNT)//only dynamic nodes, no start points
@@ -397,9 +396,9 @@ void BattlegroundAB::_NodeOccupied(uint8 node, Team team)
if (capturedNodes >= 4)
CastSpellOnTeam(SPELL_AB_QUEST_REWARD_4_BASES, team);
- Creature* trigger = BgCreatures[node+7] ? GetBGCreature(node+7) : NULL;//0-6 spirit guides
+ Creature* trigger = BgCreatures[node+7] ? GetBGCreature(node+7) : NULL; // 0-6 spirit guides
if (!trigger)
- trigger = AddCreature(WORLD_TRIGGER, node+7, team, BG_AB_NodePositions[node][0], BG_AB_NodePositions[node][1], BG_AB_NodePositions[node][2], BG_AB_NodePositions[node][3]);
+ trigger = AddCreature(WORLD_TRIGGER, node+7, BG_AB_NodePositions[node], GetTeamIndexByTeamId(team));
//add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards)
@@ -578,34 +577,33 @@ bool BattlegroundAB::SetupBattleground()
{
for (int i = 0; i < BG_AB_DYNAMIC_NODES_COUNT; ++i)
{
- if (!AddObject(BG_AB_OBJECT_BANNER_NEUTRAL + 8*i, BG_AB_OBJECTID_NODE_BANNER_0 + i, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_CONT_A + 8*i, BG_AB_OBJECTID_BANNER_CONT_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_CONT_H + 8*i, BG_AB_OBJECTID_BANNER_CONT_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_ALLY + 8*i, BG_AB_OBJECTID_BANNER_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_HORDE + 8*i, BG_AB_OBJECTID_BANNER_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_ALLY + 8*i, BG_AB_OBJECTID_AURA_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_HORDE + 8*i, BG_AB_OBJECTID_AURA_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_CONTESTED + 8*i, BG_AB_OBJECTID_AURA_C, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
-)
+ if (!AddObject(BG_AB_OBJECT_BANNER_NEUTRAL + 8*i, BG_AB_OBJECTID_NODE_BANNER_0 + i, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_CONT_A + 8*i, BG_AB_OBJECTID_BANNER_CONT_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_CONT_H + 8*i, BG_AB_OBJECTID_BANNER_CONT_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_ALLY + 8*i, BG_AB_OBJECTID_BANNER_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_HORDE + 8*i, BG_AB_OBJECTID_BANNER_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_ALLY + 8*i, BG_AB_OBJECTID_AURA_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_HORDE + 8*i, BG_AB_OBJECTID_AURA_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_CONTESTED + 8*i, BG_AB_OBJECTID_AURA_C, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn some object Battleground not created!");
return false;
}
}
+
if (!AddObject(BG_AB_OBJECT_GATE_A, BG_AB_OBJECTID_GATE_A, BG_AB_DoorPositions[0][0], BG_AB_DoorPositions[0][1], BG_AB_DoorPositions[0][2], BG_AB_DoorPositions[0][3], BG_AB_DoorPositions[0][4], BG_AB_DoorPositions[0][5], BG_AB_DoorPositions[0][6], BG_AB_DoorPositions[0][7], RESPAWN_IMMEDIATELY)
- || !AddObject(BG_AB_OBJECT_GATE_H, BG_AB_OBJECTID_GATE_H, BG_AB_DoorPositions[1][0], BG_AB_DoorPositions[1][1], BG_AB_DoorPositions[1][2], BG_AB_DoorPositions[1][3], BG_AB_DoorPositions[1][4], BG_AB_DoorPositions[1][5], BG_AB_DoorPositions[1][6], BG_AB_DoorPositions[1][7], RESPAWN_IMMEDIATELY)
-)
+ || !AddObject(BG_AB_OBJECT_GATE_H, BG_AB_OBJECTID_GATE_H, BG_AB_DoorPositions[1][0], BG_AB_DoorPositions[1][1], BG_AB_DoorPositions[1][2], BG_AB_DoorPositions[1][3], BG_AB_DoorPositions[1][4], BG_AB_DoorPositions[1][5], BG_AB_DoorPositions[1][6], BG_AB_DoorPositions[1][7], RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn door object Battleground not created!");
return false;
}
+
//buffs
for (int i = 0; i < BG_AB_DYNAMIC_NODES_COUNT; ++i)
{
if (!AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i, Buff_Entries[0], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
|| !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 1, Buff_Entries[1], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 2, Buff_Entries[2], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
-)
+ || !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 2, Buff_Entries[2], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY))
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn buff object!");
}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
index 9ed34691adf..9abc7627b24 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
@@ -20,6 +20,7 @@
#define __BATTLEGROUNDAB_H
#include "Battleground.h"
+#include "Object.h"
enum BG_AB_WorldStates
{
@@ -184,8 +185,7 @@ enum BG_AB_Objectives
#define AB_EVENT_START_BATTLE 9158 // Achievement: Let's Get This Done
-// x, y, z, o
-const float BG_AB_NodePositions[BG_AB_DYNAMIC_NODES_COUNT][4] =
+Position const BG_AB_NodePositions[BG_AB_DYNAMIC_NODES_COUNT] =
{
{1166.785f, 1200.132f, -56.70859f, 0.9075713f}, // stables
{977.0156f, 1046.616f, -44.80923f, -2.600541f}, // blacksmith
@@ -218,8 +218,7 @@ const float BG_AB_BuffPositions[BG_AB_DYNAMIC_NODES_COUNT][4] =
{1146.62f, 816.94f, -98.49f, 6.14f} // gold mine
};
-// x, y, z, o
-const float BG_AB_SpiritGuidePos[BG_AB_ALL_NODES_COUNT][4] =
+Position const BG_AB_SpiritGuidePos[BG_AB_ALL_NODES_COUNT] =
{
{1200.03f, 1171.09f, -56.47f, 5.15f}, // stables
{1017.43f, 960.61f, -42.95f, 4.88f}, // blacksmith
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index 6256f53f07b..16576aa888e 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -289,7 +289,6 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
cinfoid=uint16(BG_AV_StaticCreaturePos[type][4]);
creature = AddCreature(BG_AV_StaticCreatureInfo[cinfoid][0],
(type+AV_CPLACE_MAX),
- BG_AV_StaticCreatureInfo[cinfoid][1],
BG_AV_StaticCreaturePos[type][0],
BG_AV_StaticCreaturePos[type][1],
BG_AV_StaticCreaturePos[type][2],
@@ -303,11 +302,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
{
creature = AddCreature(BG_AV_CreatureInfo[cinfoid][0],
type,
- BG_AV_CreatureInfo[cinfoid][1],
- BG_AV_CreaturePos[type][0],
- BG_AV_CreaturePos[type][1],
- BG_AV_CreaturePos[type][2],
- BG_AV_CreaturePos[type][3]);
+ BG_AV_CreaturePos[type]);
level = (BG_AV_CreatureInfo[cinfoid][2] == BG_AV_CreatureInfo[cinfoid][3])
? BG_AV_CreatureInfo[cinfoid][2]
: urand(BG_AV_CreatureInfo[cinfoid][2], BG_AV_CreatureInfo[cinfoid][3]);
@@ -365,11 +360,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
{
if (Creature* trigger = AddCreature(WORLD_TRIGGER,
triggerSpawnID,
- BG_AV_CreatureInfo[creature->GetEntry()][1],
- BG_AV_CreaturePos[triggerSpawnID][0],
- BG_AV_CreaturePos[triggerSpawnID][1],
- BG_AV_CreaturePos[triggerSpawnID][2],
- BG_AV_CreaturePos[triggerSpawnID][3]))
+ BG_AV_CreaturePos[triggerSpawnID]))
{
trigger->setFaction(newFaction);
trigger->CastSpell(trigger, SPELL_HONORABLE_DEFENDER_25Y, false);
@@ -782,7 +773,7 @@ void BattlegroundAV::PopulateNode(BG_AV_Nodes node)
//spiritguide
if (BgCreatures[node])
DelCreature(node);
- if (!AddSpiritGuide(node, BG_AV_CreaturePos[node][0], BG_AV_CreaturePos[node][1], BG_AV_CreaturePos[node][2], BG_AV_CreaturePos[node][3], owner))
+ if (!AddSpiritGuide(node, BG_AV_CreaturePos[node], GetTeamIndexByTeamId(owner)))
TC_LOG_ERROR("bg.battleground", "AV: couldn't spawn spiritguide at node %i", node);
}
for (uint8 i=0; i<4; i++)
@@ -790,16 +781,13 @@ void BattlegroundAV::PopulateNode(BG_AV_Nodes node)
if (node >= BG_AV_NODES_MAX)//fail safe
return;
- Creature* trigger = GetBGCreature(node + 302);//0-302 other creatures
+ Creature* trigger = GetBGCreature(node + 302, false);//0-302 other creatures
if (!trigger)
{
trigger = AddCreature(WORLD_TRIGGER,
node + 302,
- owner,
- BG_AV_CreaturePos[node + 302][0],
- BG_AV_CreaturePos[node + 302][1],
- BG_AV_CreaturePos[node + 302][2],
- BG_AV_CreaturePos[node + 302][3]);
+ BG_AV_CreaturePos[node + 302],
+ GetTeamIndexByTeamId(owner));
}
//add bonus honor aura trigger creature when node is accupied
@@ -1219,15 +1207,10 @@ WorldSafeLocsEntry const* BattlegroundAV::GetClosestGraveYard(Player* player)
bool BattlegroundAV::SetupBattleground()
{
// Create starting objects
- if (
- // alliance gates
- !AddObject(BG_AV_OBJECT_DOOR_A, BG_AV_OBJECTID_GATE_A,
- BG_AV_DoorPositons[0][0], BG_AV_DoorPositons[0][1], BG_AV_DoorPositons[0][2], BG_AV_DoorPositons[0][3],
- 0, 0, std::sin(BG_AV_DoorPositons[0][3]/2), std::cos(BG_AV_DoorPositons[0][3]/2), RESPAWN_IMMEDIATELY)
+ if (// alliance gates
+ !AddObject(BG_AV_OBJECT_DOOR_A, BG_AV_OBJECTID_GATE_A, BG_AV_DoorPositons[0], 0, 0, std::sin(BG_AV_DoorPositons[0].GetOrientation()/2), std::cos(BG_AV_DoorPositons[0].GetOrientation()/2), RESPAWN_IMMEDIATELY)
// horde gates
- || !AddObject(BG_AV_OBJECT_DOOR_H, BG_AV_OBJECTID_GATE_H,
- BG_AV_DoorPositons[1][0], BG_AV_DoorPositons[1][1], BG_AV_DoorPositons[1][2], BG_AV_DoorPositons[1][3],
- 0, 0, std::sin(BG_AV_DoorPositons[1][3]/2), std::cos(BG_AV_DoorPositons[1][3]/2), RESPAWN_IMMEDIATELY))
+ || !AddObject(BG_AV_OBJECT_DOOR_H, BG_AV_OBJECTID_GATE_H, BG_AV_DoorPositons[1], 0, 0, std::sin(BG_AV_DoorPositons[1].GetOrientation()/2), std::cos(BG_AV_DoorPositons[1].GetOrientation()/2), RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAV: Failed to spawn some object Battleground not created!1");
return false;
@@ -1504,8 +1487,8 @@ bool BattlegroundAV::SetupBattleground()
AddAVCreature(0, i + AV_CPLACE_MAX);
//mainspiritguides:
TC_LOG_DEBUG("bg.battleground", "BG_AV: start spawning spiritguides creatures");
- AddSpiritGuide(7, BG_AV_CreaturePos[7][0], BG_AV_CreaturePos[7][1], BG_AV_CreaturePos[7][2], BG_AV_CreaturePos[7][3], ALLIANCE);
- AddSpiritGuide(8, BG_AV_CreaturePos[8][0], BG_AV_CreaturePos[8][1], BG_AV_CreaturePos[8][2], BG_AV_CreaturePos[8][3], HORDE);
+ AddSpiritGuide(7, BG_AV_CreaturePos[7], TEAM_ALLIANCE);
+ AddSpiritGuide(8, BG_AV_CreaturePos[8], TEAM_HORDE);
//spawn the marshals (those who get deleted, if a tower gets destroyed)
TC_LOG_DEBUG("bg.battleground", "BG_AV: start spawning marshal creatures");
for (i = AV_NPC_A_MARSHAL_SOUTH; i <= AV_NPC_H_MARSHAL_WTOWER; i++)
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
index 716e675a840..03dd0ffcf5c 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
@@ -20,6 +20,7 @@
#define __BATTLEGROUNDAV_H
#include "Battleground.h"
+#include "Object.h"
#define LANG_BG_AV_A_CAPTAIN_BUFF "Begone. Uncouth scum! The Alliance shall prevail in Alterac Valley!"
#define LANG_BG_AV_H_CAPTAIN_BUFF "Now is the time to attack! For the Horde!"
@@ -528,7 +529,7 @@ const float BG_AV_ObjectPos[AV_OPLACE_MAX][4] =
{-951.394f, -193.695f, 67.634f, 0.802851f}
};
-const float BG_AV_DoorPositons[2][4] =
+Position const BG_AV_DoorPositons[2] =
{
{780.487f, -493.024f, 99.9553f, 3.0976f}, //alliance
{-1375.193f, -538.981f, 55.2824f, 0.72178f} //horde
@@ -624,8 +625,7 @@ enum BG_AV_CreaturePlace
AV_CPLACE_MAX = 321
};
-//x, y, z, o
-const float BG_AV_CreaturePos[AV_CPLACE_MAX][4] =
+Position const BG_AV_CreaturePos[AV_CPLACE_MAX] =
{
//spiritguides
{643.000000f, 44.000000f, 69.740196f, -0.001854f},
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
index 3eb52945236..9e9e82b32b8 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
@@ -223,16 +223,16 @@ bool BattlegroundDS::SetupBattleground()
// gates
if (!AddObject(BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_TYPE_DOOR_1, 1350.95f, 817.2f, 20.8096f, 3.15f, 0, 0, 0.99627f, 0.0862864f, RESPAWN_IMMEDIATELY)
|| !AddObject(BG_DS_OBJECT_DOOR_2, BG_DS_OBJECT_TYPE_DOOR_2, 1232.65f, 764.913f, 20.0729f, 6.3f, 0, 0, 0.0310211f, -0.999519f, RESPAWN_IMMEDIATELY)
- // water
+ // water
|| !AddObject(BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_TYPE_WATER_1, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
|| !AddObject(BG_DS_OBJECT_WATER_2, BG_DS_OBJECT_TYPE_WATER_2, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
- // buffs
+ // buffs
|| !AddObject(BG_DS_OBJECT_BUFF_1, BG_DS_OBJECT_TYPE_BUFF_1, 1291.7f, 813.424f, 7.11472f, 4.64562f, 0, 0, 0.730314f, -0.683111f, 120)
|| !AddObject(BG_DS_OBJECT_BUFF_2, BG_DS_OBJECT_TYPE_BUFF_2, 1291.7f, 768.911f, 7.11472f, 1.55194f, 0, 0, 0.700409f, 0.713742f, 120)
- // knockback creatures
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_WATERFALL_KNOCKBACK, 0, 1292.587f, 790.2205f, 7.19796f, 3.054326f, RESPAWN_IMMEDIATELY)
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_1, 0, 1369.977f, 817.2882f, 16.08718f, 3.106686f, RESPAWN_IMMEDIATELY)
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_2, 0, 1212.833f, 765.3871f, 16.09484f, 0.0f, RESPAWN_IMMEDIATELY))
+ // knockback creatures
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_WATERFALL_KNOCKBACK, 1292.587f, 790.2205f, 7.19796f, 3.054326f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY)
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_1, 1369.977f, 817.2882f, 16.08718f, 3.106686f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY)
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_2, 1212.833f, 765.3871f, 16.09484f, 0.0f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundDS: Failed to spawn some object!");
return false;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
index be2684631df..213a91bea88 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
@@ -23,7 +23,6 @@
#include "BattlegroundMgr.h"
#include "Creature.h"
#include "Language.h"
-#include "Object.h"
#include "Player.h"
#include "Util.h"
@@ -523,14 +522,14 @@ bool BattlegroundEY::SetupBattleground()
WorldSafeLocsEntry const* sg = NULL;
sg = sWorldSafeLocsStore.LookupEntry(EY_GRAVEYARD_MAIN_ALLIANCE);
- if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, ALLIANCE))
+ if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, TEAM_ALLIANCE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundEY: Failed to spawn spirit guide! Battleground not created!");
return false;
}
sg = sWorldSafeLocsStore.LookupEntry(EY_GRAVEYARD_MAIN_HORDE);
- if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, HORDE))
+ if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, TEAM_HORDE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundEY: Failed to spawn spirit guide! Battleground not created!");
return false;
@@ -768,7 +767,7 @@ void BattlegroundEY::EventTeamCapturedPoint(Player* player, uint32 Point)
WorldSafeLocsEntry const* sg = NULL;
sg = sWorldSafeLocsStore.LookupEntry(m_CapturingPointTypes[Point].GraveYardId);
- if (!sg || !AddSpiritGuide(Point, sg->x, sg->y, sg->z, 3.124139f, Team))
+ if (!sg || !AddSpiritGuide(Point, sg->x, sg->y, sg->z, 3.124139f, GetTeamIndexByTeamId(Team)))
TC_LOG_ERROR("bg.battleground", "BatteGroundEY: Failed to spawn spirit guide! point: %u, team: %u, graveyard_id: %u",
Point, Team, m_CapturingPointTypes[Point].GraveYardId);
@@ -780,9 +779,9 @@ void BattlegroundEY::EventTeamCapturedPoint(Player* player, uint32 Point)
if (Point >= EY_POINTS_MAX)
return;
- Creature* trigger = GetBGCreature(Point + 6);//0-5 spirit guides
+ Creature* trigger = GetBGCreature(Point + 6, false);//0-5 spirit guides
if (!trigger)
- trigger = AddCreature(WORLD_TRIGGER, Point+6, Team, BG_EY_TriggerPositions[Point][0], BG_EY_TriggerPositions[Point][1], BG_EY_TriggerPositions[Point][2], BG_EY_TriggerPositions[Point][3]);
+ trigger = AddCreature(WORLD_TRIGGER, Point+6, BG_EY_TriggerPositions[Point], GetTeamIndexByTeamId(Team));
//add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards)
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
index baa75129c1e..9e5088d7ba5 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
@@ -19,8 +19,9 @@
#ifndef __BATTLEGROUNDEY_H
#define __BATTLEGROUNDEY_H
-#include "Language.h"
#include "Battleground.h"
+#include "Language.h"
+#include "Object.h"
enum BG_EY_Misc
{
@@ -255,8 +256,7 @@ struct BattlegroundEYPointIconsStruct
uint32 WorldStateHordeControlledIndex;
};
-// x, y, z, o
-const float BG_EY_TriggerPositions[EY_POINTS_MAX][4] =
+Position const BG_EY_TriggerPositions[EY_POINTS_MAX] =
{
{2044.28f, 1729.68f, 1189.96f, 0.017453f}, // FEL_REAVER center
{2048.83f, 1393.65f, 1194.49f, 0.20944f}, // BLOOD_ELF center
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index 590a07541fe..9e9cc6c63ee 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -369,20 +369,20 @@ bool BattlegroundIC::SetupBattleground()
for (uint8 i = 2; i < MAX_NORMAL_NPCS_SPAWNS; ++i)
{
- if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type, BG_IC_NpcSpawnlocs[i].team,
+ if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type,
BG_IC_NpcSpawnlocs[i].x, BG_IC_NpcSpawnlocs[i].y,
BG_IC_NpcSpawnlocs[i].z, BG_IC_NpcSpawnlocs[i].o,
- RESPAWN_ONE_DAY))
+ BG_IC_NpcSpawnlocs[i].team, RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[i].entry);
return false;
}
}
- if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[5][0], BG_IC_SpiritGuidePos[5][1], BG_IC_SpiritGuidePos[5][2], BG_IC_SpiritGuidePos[5][3], ALLIANCE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[6][0], BG_IC_SpiritGuidePos[6][1], BG_IC_SpiritGuidePos[6][2], BG_IC_SpiritGuidePos[6][3], HORDE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[7][0], BG_IC_SpiritGuidePos[7][1], BG_IC_SpiritGuidePos[7][2], BG_IC_SpiritGuidePos[7][3], ALLIANCE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[8][0], BG_IC_SpiritGuidePos[8][1], BG_IC_SpiritGuidePos[8][2], BG_IC_SpiritGuidePos[8][3], HORDE))
+ if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[5], TEAM_ALLIANCE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[6], TEAM_HORDE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[7], TEAM_ALLIANCE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[8], TEAM_HORDE))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn initial spirit guide!");
return false;
@@ -607,10 +607,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)
{
- if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2,
- BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],
- BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],
- (nodePoint->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE)))
+ if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2, BG_IC_SpiritGuidePos[nodePoint->nodeType], nodePoint->faction))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ", nodePoint->nodeType, nodePoint->faction);
}
@@ -625,9 +622,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
uint8 type = BG_IC_GO_HANGAR_TELEPORTER_1+u;
if (!AddObject(type, (nodePoint->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL : GO_HORDE_GUNSHIP_PORTAL),
- BG_IC_HangarTeleporters[u].GetPositionX(), BG_IC_HangarTeleporters[u].GetPositionY(),
- BG_IC_HangarTeleporters[u].GetPositionZ(), BG_IC_HangarTeleporters[u].GetOrientation(),
- 0, 0, 0, 0, RESPAWN_ONE_DAY))
+ BG_IC_HangarTeleporters[u], 0, 0, 0, 0, RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a gunship portal. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1+u);
}
@@ -658,7 +653,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
// we must del opposing faction vehicles when the node is captured (unused ones)
for (uint8 i = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_H : BG_IC_NPC_GLAIVE_THROWER_1_A); i < (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_2_H : BG_IC_NPC_GLAIVE_THROWER_2_A); ++i)
{
- if (Creature* glaiveThrower = GetBGCreature(i))
+ if (Creature* glaiveThrower = GetBGCreature(i, false))
{
if (Vehicle* vehicleGlaive = glaiveThrower->GetVehicleKit())
{
@@ -670,7 +665,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
for (uint8 i = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_H : BG_IC_NPC_CATAPULT_1_A); i < (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_4_H : BG_IC_NPC_CATAPULT_4_A); ++i)
{
- if (Creature* catapult = GetBGCreature(i))
+ if (Creature* catapult = GetBGCreature(i, false))
{
if (Vehicle* vehicleGlaive = catapult->GetVehicleKit())
{
@@ -685,14 +680,12 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_GLAIVE_THROWER_1_A : BG_IC_NPC_GLAIVE_THROWER_1_H)+i;
- if (GetBGCreature(type) && GetBGCreature(type)->IsAlive())
+ if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type, nodePoint->faction,
- BG_IC_DocksVehiclesGlaives[i].GetPositionX(), BG_IC_DocksVehiclesGlaives[i].GetPositionY(),
- BG_IC_DocksVehiclesGlaives[i].GetPositionZ(), BG_IC_DocksVehiclesGlaives[i].GetOrientation(),
- RESPAWN_ONE_DAY))
- GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type,
+ BG_IC_DocksVehiclesGlaives[i], nodePoint->faction, RESPAWN_ONE_DAY))
+ GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
// spawning catapults
@@ -700,14 +693,11 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_CATAPULT_1_A : BG_IC_NPC_CATAPULT_1_H)+i;
- if (GetBGCreature(type) && GetBGCreature(type)->IsAlive())
+ if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(NPC_CATAPULT, type, nodePoint->faction,
- BG_IC_DocksVehiclesCatapults[i].GetPositionX(), BG_IC_DocksVehiclesCatapults[i].GetPositionY(),
- BG_IC_DocksVehiclesCatapults[i].GetPositionZ(), BG_IC_DocksVehiclesCatapults[i].GetOrientation(),
- RESPAWN_ONE_DAY))
- GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ if (AddCreature(NPC_CATAPULT, type, BG_IC_DocksVehiclesCatapults[i], nodePoint->faction, RESPAWN_ONE_DAY))
+ GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
break;
case BG_IC_GO_WORKSHOP_BANNER:
@@ -720,7 +710,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
// we must del opposing faction vehicles when the node is captured (unused ones)
for (uint8 i = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_DEMOLISHER_1_H : BG_IC_NPC_DEMOLISHER_1_A); i < (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_DEMOLISHER_4_H : BG_IC_NPC_DEMOLISHER_4_A); ++i)
{
- if (Creature* demolisher = GetBGCreature(i))
+ if (Creature* demolisher = GetBGCreature(i, false))
{
if (Vehicle* vehicleDemolisher = demolisher->GetVehicleKit())
{
@@ -735,20 +725,17 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
uint8 type = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_DEMOLISHER_1_A : BG_IC_NPC_DEMOLISHER_1_H)+i;
- if (GetBGCreature(type) && GetBGCreature(type)->IsAlive())
+ if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(NPC_DEMOLISHER, type, nodePoint->faction,
- BG_IC_WorkshopVehicles[i].GetPositionX(), BG_IC_WorkshopVehicles[i].GetPositionY(),
- BG_IC_WorkshopVehicles[i].GetPositionZ(), BG_IC_WorkshopVehicles[i].GetOrientation(),
- RESPAWN_ONE_DAY))
+ if (AddCreature(NPC_DEMOLISHER, type, BG_IC_WorkshopVehicles[i], nodePoint->faction, RESPAWN_ONE_DAY))
GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
// we check if the opossing siege engine is in use
int8 enemySiege = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_SIEGE_ENGINE_H : BG_IC_NPC_SIEGE_ENGINE_A);
- if (Creature* siegeEngine = GetBGCreature(enemySiege))
+ if (Creature* siegeEngine = GetBGCreature(enemySiege, false))
{
if (Vehicle* vehicleSiege = siegeEngine->GetVehicleKit())
{
@@ -759,12 +746,10 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
}
uint8 siegeType = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_SIEGE_ENGINE_A : BG_IC_NPC_SIEGE_ENGINE_H);
- if (!GetBGCreature(siegeType) || !GetBGCreature(siegeType)->IsAlive())
+ if (!GetBGCreature(siegeType, false) || !GetBGCreature(siegeType)->IsAlive())
{
- AddCreature((nodePoint->faction == TEAM_ALLIANCE ? NPC_SIEGE_ENGINE_A : NPC_SIEGE_ENGINE_H), siegeType, nodePoint->faction,
- BG_IC_WorkshopVehicles[4].GetPositionX(), BG_IC_WorkshopVehicles[4].GetPositionY(),
- BG_IC_WorkshopVehicles[4].GetPositionZ(), BG_IC_WorkshopVehicles[4].GetOrientation(),
- RESPAWN_ONE_DAY);
+ AddCreature((nodePoint->faction == TEAM_ALLIANCE ? NPC_SIEGE_ENGINE_A : NPC_SIEGE_ENGINE_H), siegeType,
+ BG_IC_WorkshopVehicles[4], nodePoint->faction, RESPAWN_ONE_DAY);
if (Creature* siegeEngine = GetBGCreature(siegeType))
{
@@ -784,7 +769,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (GameObject* seaforiumBombs = GetBGObject(BG_IC_GO_SEAFORIUM_BOMBS_1+i))
{
seaforiumBombs->SetRespawnTime(10);
- seaforiumBombs->SetUInt32Value(GAMEOBJECT_FACTION, BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ seaforiumBombs->SetFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
}
break;
@@ -830,20 +815,18 @@ void BattlegroundIC::DestroyGate(Player* player, GameObject* go)
if (go->GetEntry() == GO_HORDE_GATE_1 || go->GetEntry() == GO_HORDE_GATE_2 || go->GetEntry() == GO_HORDE_GATE_3)
{
- if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].o, RESPAWN_ONE_DAY))
+ if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].o, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].team, RESPAWN_ONE_DAY))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry);
}
else if (go->GetEntry() == GO_ALLIANCE_GATE_1 || go->GetEntry() == GO_ALLIANCE_GATE_2 || go->GetEntry() == GO_ALLIANCE_GATE_3)
{
- if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].o, RESPAWN_ONE_DAY))
+ if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].o, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].team, RESPAWN_ONE_DAY))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry);
}
SendMessage2ToAll(lang_entry, CHAT_MSG_BG_SYSTEM_NEUTRAL, NULL, (player->GetTeamId() == TEAM_ALLIANCE ? LANG_BG_IC_HORDE_KEEP : LANG_BG_IC_ALLIANCE_KEEP));
}
-void BattlegroundIC::EventPlayerDamagedGO(Player* /*player*/, GameObject* /*go*/, uint32 /*eventType*/) { }
-
WorldSafeLocsEntry const* BattlegroundIC::GetClosestGraveYard(Player* player)
{
TeamId teamIndex = GetTeamIndexByTeamId(player->GetTeam());
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
index 5238342ffcb..091a75e7449 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
@@ -204,7 +204,7 @@ struct ICNpc
{
uint32 type;
uint32 entry;
- uint32 team;
+ TeamId team;
float x;
float y;
float z;
@@ -783,7 +783,7 @@ const uint32 BG_IC_GraveyardIds[MAX_NODE_TYPES+2] = {0, 0, 1480, 1481, 1482, 148
const Position TransportMovementInfo = {7.305609f, -0.095246f, 34.51022f, 0.0f};
const Position TeleportToTransportPosition = {661.0f, -1244.0f, 288.0f, 0.0f};
-const float BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2][4] =
+Position const BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2] =
{
{0.0f, 0.0f, 0.0f, 0.0f}, // no grave
{0.0f, 0.0f, 0.0f, 0.0f}, // no grave
@@ -819,7 +819,7 @@ struct ICNodePoint
{
uint32 gameobject_type; // with this we will get the GameObject of that point
uint32 gameobject_entry; // what gameobject entry is active here.
- uint8 faction; // who has this node
+ TeamId faction; // who has this node
ICNodePointType nodeType; // here we can specify if it is graveyards, hangar etc...
uint32 banners[4]; // the banners that have this point
bool needChange; // this is used for the 1 minute time period after the point is captured
@@ -876,7 +876,6 @@ class BattlegroundIC : public Battleground
void EndBattleground(uint32 winner);
void EventPlayerClickedOnFlag(Player* source, GameObject* /*target_obj*/);
- void EventPlayerDamagedGO(Player* /*player*/, GameObject* go, uint32 eventType);
void DestroyGate(Player* player, GameObject* go);
WorldSafeLocsEntry const* GetClosestGraveYard(Player* player);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index 483dd852d3f..83ac056e831 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -17,10 +17,11 @@
*/
#include "BattlegroundSA.h"
-#include "Language.h"
-#include "Player.h"
#include "GameObject.h"
+#include "Language.h"
#include "ObjectMgr.h"
+#include "Player.h"
+#include "ScriptedCreature.h"
#include "WorldPacket.h"
#include "WorldSession.h"
@@ -29,7 +30,8 @@ BattlegroundSA::BattlegroundSA()
StartMessageIds[BG_STARTING_EVENT_FIRST] = LANG_BG_SA_START_TWO_MINUTES;
StartMessageIds[BG_STARTING_EVENT_SECOND] = LANG_BG_SA_START_ONE_MINUTE;
StartMessageIds[BG_STARTING_EVENT_THIRD] = LANG_BG_SA_START_HALF_MINUTE;
- StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_SA_HAS_BEGUN;
+ StartMessageIds[BG_STARTING_EVENT_FOURTH] = 0;
+
BgObjects.resize(BG_SA_MAXOBJ);
BgCreatures.resize(BG_SA_MAXNPC + BG_SA_MAX_GY);
TimerEnabled = false;
@@ -37,14 +39,14 @@ BattlegroundSA::BattlegroundSA()
SignaledRoundTwo = false;
SignaledRoundTwoHalfMin = false;
InitSecondRound = false;
- gateDestroyed = false;
+ _gateDestroyed = false;
Attackers = TEAM_ALLIANCE;
TotalTime = 0;
EndRoundTimer = 0;
ShipsStarted = false;
- Status = BG_SA_NOTSTARTED;
+ Status = BG_SA_NOT_STARTED;
- for (uint8 i = 0; i < 6; i++)
+ for (uint8 i = 0; i < MAX_GATES; ++i)
GateStatus[i] = BG_SA_GATE_OK;
for (uint8 i = 0; i < 2; i++)
@@ -69,7 +71,7 @@ void BattlegroundSA::Reset()
for (uint8 i = 0; i <= 5; i++)
GateStatus[i] = BG_SA_GATE_OK;
ShipsStarted = false;
- gateDestroyed = false;
+ _gateDestroyed = false;
_allVehiclesAlive[TEAM_ALLIANCE] = true;
_allVehiclesAlive[TEAM_HORDE] = true;
Status = BG_SA_WARMUP;
@@ -101,9 +103,11 @@ bool BattlegroundSA::ResetObjs()
for (uint8 i = 0; i < 6; i++)
GateStatus[i] = BG_SA_GATE_OK;
+ AddCreature(BG_SA_NpcEntries[BG_SA_NPC_KANRETHAD], BG_SA_NPC_KANRETHAD, BG_SA_NpcSpawnlocs[BG_SA_NPC_KANRETHAD]);
+
for (uint8 i = 0; i <= BG_SA_PORTAL_DEFFENDER_RED; i++)
{
- if (!AddObject(i, BG_SA_ObjEntries[i], BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1], BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3], 0, 0, 0, 0, RESPAWN_ONE_DAY))
+ if (!AddObject(i, BG_SA_ObjEntries[i], BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY))
return false;
}
@@ -121,20 +125,17 @@ bool BattlegroundSA::ResetObjs()
default:
break;
}
- if (!AddObject(i, boatid, BG_SA_ObjSpawnlocs[i][0],
- BG_SA_ObjSpawnlocs[i][1],
- BG_SA_ObjSpawnlocs[i][2]+(Attackers ? -3.750f: 0),
- BG_SA_ObjSpawnlocs[i][3], 0, 0, 0, 0, RESPAWN_ONE_DAY))
+ if (!AddObject(i, boatid, BG_SA_ObjSpawnlocs[i].GetPositionX(),
+ BG_SA_ObjSpawnlocs[i].GetPositionY(),
+ BG_SA_ObjSpawnlocs[i].GetPositionZ() + (Attackers ? -3.750f: 0),
+ BG_SA_ObjSpawnlocs[i].GetOrientation(), 0, 0, 0, 0, RESPAWN_ONE_DAY))
return false;
}
for (uint8 i = BG_SA_SIGIL_1; i <= BG_SA_LEFT_FLAGPOLE; i++)
{
- if (!AddObject(i, BG_SA_ObjEntries[i],
- BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
- BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
- 0, 0, 0, 0, RESPAWN_ONE_DAY))
- return false;
+ if (!AddObject(i, BG_SA_ObjEntries[i], BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY))
+ return false;
}
// MAD props for Kiper for discovering those values - 4 hours of his work.
@@ -147,10 +148,8 @@ bool BattlegroundSA::ResetObjs()
//By capturing GYs.
for (uint8 i = 0; i < BG_SA_DEMOLISHER_5; i++)
{
- if (!AddCreature(BG_SA_NpcEntries[i], i, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),
- BG_SA_NpcSpawnlocs[i][0], BG_SA_NpcSpawnlocs[i][1],
- BG_SA_NpcSpawnlocs[i][2], BG_SA_NpcSpawnlocs[i][3], 600))
- return false;
+ if (!AddCreature(BG_SA_NpcEntries[i], i, BG_SA_NpcSpawnlocs[i], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600))
+ return false;
}
OverrideGunFaction();
@@ -159,10 +158,10 @@ bool BattlegroundSA::ResetObjs()
for (uint8 i = 0; i <= BG_SA_PORTAL_DEFFENDER_RED; i++)
{
SpawnBGObject(i, RESPAWN_IMMEDIATELY);
- GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, defF);
+ GetBGObject(i)->SetFaction(defF);
}
- GetBGObject(BG_SA_TITAN_RELIC)->SetUInt32Value(GAMEOBJECT_FACTION, atF);
+ GetBGObject(BG_SA_TITAN_RELIC)->SetFaction(atF);
GetBGObject(BG_SA_TITAN_RELIC)->Refresh();
for (uint8 i = 0; i <= 5; i++)
@@ -186,12 +185,12 @@ bool BattlegroundSA::ResetObjs()
if (i == BG_SA_BEACH_GY)
{
GraveyardStatus[i] = Attackers;
- AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((Attackers == TEAM_HORDE)? HORDE : ALLIANCE));
+ AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], Attackers);
}
else
{
GraveyardStatus[i] = ((Attackers == TEAM_HORDE)? TEAM_ALLIANCE : TEAM_HORDE);
- if (!AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((Attackers == TEAM_HORDE)? ALLIANCE : HORDE)))
+ if (!AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], Attackers == TEAM_HORDE ? TEAM_ALLIANCE : TEAM_HORDE))
TC_LOG_ERROR("bg.battleground", "SOTA: couldn't spawn GY: %u", i);
}
}
@@ -199,20 +198,14 @@ bool BattlegroundSA::ResetObjs()
//GY capture points
for (uint8 i = BG_SA_CENTRAL_FLAG; i <= BG_SA_LEFT_FLAG; i++)
{
- AddObject(i, (BG_SA_ObjEntries[i] - (Attackers == TEAM_ALLIANCE ? 1 : 0)),
- BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
- BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
- 0, 0, 0, 0, RESPAWN_ONE_DAY);
- GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, atF);
+ AddObject(i, (BG_SA_ObjEntries[i] - (Attackers == TEAM_ALLIANCE ? 1 : 0)), BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+ GetBGObject(i)->SetFaction(atF);
}
for (uint8 i = BG_SA_BOMB; i < BG_SA_MAXOBJ; i++)
{
- AddObject(i, BG_SA_ObjEntries[BG_SA_BOMB],
- BG_SA_ObjSpawnlocs[i][0], BG_SA_ObjSpawnlocs[i][1],
- BG_SA_ObjSpawnlocs[i][2], BG_SA_ObjSpawnlocs[i][3],
- 0, 0, 0, 0, RESPAWN_ONE_DAY);
- GetBGObject(i)->SetUInt32Value(GAMEOBJECT_FACTION, atF);
+ AddObject(i, BG_SA_ObjEntries[BG_SA_BOMB], BG_SA_ObjSpawnlocs[i], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+ GetBGObject(i)->SetFaction(atF);
}
//Player may enter BEFORE we set up BG - lets update his worldstates anyway...
@@ -316,11 +309,14 @@ void BattlegroundSA::PostUpdateImpl(uint32 diff)
}
TotalTime += diff;
- if (Status == BG_SA_WARMUP )
+ if (Status == BG_SA_WARMUP)
{
EndRoundTimer = BG_SA_ROUNDLENGTH;
if (TotalTime >= BG_SA_WARMUPLENGTH)
{
+ if (Creature* c = GetBGCreature(BG_SA_NPC_KANRETHAD))
+ SendChatMessage(c, TEXT_ROUND_STARTED);
+
TotalTime = 0;
ToggleTimer();
DemolisherStartState(false);
@@ -340,7 +336,9 @@ void BattlegroundSA::PostUpdateImpl(uint32 diff)
if (TotalTime >= 60000)
{
- SendWarningToAll(LANG_BG_SA_HAS_BEGUN);
+ if (Creature* c = GetBGCreature(BG_SA_NPC_KANRETHAD))
+ SendChatMessage(c, TEXT_ROUND_STARTED);
+
TotalTime = 0;
ToggleTimer();
DemolisherStartState(false);
@@ -380,6 +378,9 @@ void BattlegroundSA::PostUpdateImpl(uint32 diff)
InitSecondRound = true;
ToggleTimer();
ResetObjs();
+ GetBgMap()->UpdateAreaDependentAuras();
+ CastSpellOnTeam(SPELL_END_OF_ROUND, ALLIANCE);
+ CastSpellOnTeam(SPELL_END_OF_ROUND, HORDE);
return;
}
}
@@ -412,42 +413,42 @@ void BattlegroundSA::StartingEventOpenDoors() { }
void BattlegroundSA::FillInitialWorldStates(WorldPacket& data)
{
- uint32 ally_attacks = uint32(Attackers == TEAM_ALLIANCE ? 1 : 0);
- uint32 horde_attacks = uint32(Attackers == TEAM_HORDE ? 1 : 0);
-
- data << uint32(BG_SA_ANCIENT_GATEWS) << uint32(GateStatus[BG_SA_ANCIENT_GATE]);
- data << uint32(BG_SA_YELLOW_GATEWS) << uint32(GateStatus[BG_SA_YELLOW_GATE]);
- data << uint32(BG_SA_GREEN_GATEWS) << uint32(GateStatus[BG_SA_GREEN_GATE]);
- data << uint32(BG_SA_BLUE_GATEWS) << uint32(GateStatus[BG_SA_BLUE_GATE]);
- data << uint32(BG_SA_RED_GATEWS) << uint32(GateStatus[BG_SA_RED_GATE]);
- data << uint32(BG_SA_PURPLE_GATEWS) << uint32(GateStatus[BG_SA_PURPLE_GATE]);
-
- data << uint32(BG_SA_BONUS_TIMER) << uint32(0);
-
- data << uint32(BG_SA_HORDE_ATTACKS) << horde_attacks;
- data << uint32(BG_SA_ALLY_ATTACKS) << ally_attacks;
-
- //Time will be sent on first update...
- data << uint32(BG_SA_ENABLE_TIMER) << ((TimerEnabled) ? uint32(1) : uint32(0));
- data << uint32(BG_SA_TIMER_MINS) << uint32(0);
- data << uint32(BG_SA_TIMER_SEC_TENS) << uint32(0);
- data << uint32(BG_SA_TIMER_SEC_DECS) << uint32(0);
-
- data << uint32(BG_SA_RIGHT_GY_HORDE) << uint32(GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
- data << uint32(BG_SA_LEFT_GY_HORDE) << uint32(GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
- data << uint32(BG_SA_CENTER_GY_HORDE) << uint32(GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE ? 1 : 0);
-
- data << uint32(BG_SA_RIGHT_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
- data << uint32(BG_SA_LEFT_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
- data << uint32(BG_SA_CENTER_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE ? 1 : 0);
-
- data << uint32(BG_SA_HORDE_DEFENCE_TOKEN) << ally_attacks;
- data << uint32(BG_SA_ALLIANCE_DEFENCE_TOKEN) << horde_attacks;
-
- data << uint32(BG_SA_LEFT_ATT_TOKEN_HRD) << horde_attacks;
- data << uint32(BG_SA_RIGHT_ATT_TOKEN_HRD) << horde_attacks;
- data << uint32(BG_SA_RIGHT_ATT_TOKEN_ALL) << ally_attacks;
- data << uint32(BG_SA_LEFT_ATT_TOKEN_ALL) << ally_attacks;
+ bool allyAttacks = Attackers == TEAM_ALLIANCE;
+ bool hordeAttacks = Attackers == TEAM_HORDE;
+
+ data << uint32(BG_SA_ANCIENT_GATEWS) << uint32(GateStatus[BG_SA_ANCIENT_GATE]);
+ data << uint32(BG_SA_YELLOW_GATEWS) << uint32(GateStatus[BG_SA_YELLOW_GATE]);
+ data << uint32(BG_SA_GREEN_GATEWS) << uint32(GateStatus[BG_SA_GREEN_GATE]);
+ data << uint32(BG_SA_BLUE_GATEWS) << uint32(GateStatus[BG_SA_BLUE_GATE]);
+ data << uint32(BG_SA_RED_GATEWS) << uint32(GateStatus[BG_SA_RED_GATE]);
+ data << uint32(BG_SA_PURPLE_GATEWS) << uint32(GateStatus[BG_SA_PURPLE_GATE]);
+
+ data << uint32(BG_SA_BONUS_TIMER) << uint32(0);
+
+ data << uint32(BG_SA_HORDE_ATTACKS) << uint32(hordeAttacks);
+ data << uint32(BG_SA_ALLY_ATTACKS) << uint32(allyAttacks);
+
+ // Time will be sent on first update...
+ data << uint32(BG_SA_ENABLE_TIMER) << uint32(TimerEnabled);
+ data << uint32(BG_SA_TIMER_MINS) << uint32(0);
+ data << uint32(BG_SA_TIMER_SEC_TENS) << uint32(0);
+ data << uint32(BG_SA_TIMER_SEC_DECS) << uint32(0);
+
+ data << uint32(BG_SA_RIGHT_GY_HORDE) << uint32(GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_HORDE);
+ data << uint32(BG_SA_LEFT_GY_HORDE) << uint32(GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_HORDE);
+ data << uint32(BG_SA_CENTER_GY_HORDE) << uint32(GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_HORDE);
+
+ data << uint32(BG_SA_RIGHT_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_RIGHT_CAPTURABLE_GY] == TEAM_ALLIANCE);
+ data << uint32(BG_SA_LEFT_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_LEFT_CAPTURABLE_GY] == TEAM_ALLIANCE);
+ data << uint32(BG_SA_CENTER_GY_ALLIANCE) << uint32(GraveyardStatus[BG_SA_CENTRAL_CAPTURABLE_GY] == TEAM_ALLIANCE);
+
+ data << uint32(BG_SA_HORDE_DEFENCE_TOKEN) << uint32(allyAttacks);
+ data << uint32(BG_SA_ALLIANCE_DEFENCE_TOKEN) << uint32(hordeAttacks);
+
+ data << uint32(BG_SA_LEFT_ATT_TOKEN_HRD) << uint32(hordeAttacks);
+ data << uint32(BG_SA_RIGHT_ATT_TOKEN_HRD) << uint32(hordeAttacks);
+ data << uint32(BG_SA_RIGHT_ATT_TOKEN_ALL) << uint32(allyAttacks);
+ data << uint32(BG_SA_LEFT_ATT_TOKEN_ALL) << uint32(allyAttacks);
}
void BattlegroundSA::AddPlayer(Player* player)
@@ -455,12 +456,15 @@ void BattlegroundSA::AddPlayer(Player* player)
Battleground::AddPlayer(player);
//create score and add it to map, default values are set in constructor
BattlegroundSAScore* sc = new BattlegroundSAScore;
+ PlayerScores[player->GetGUID()] = sc;
+
+ SendTransportInit(player);
if (!ShipsStarted)
{
if (player->GetTeamId() == Attackers)
{
- player->CastSpell(player, 12438, true);//Without this player falls before boat loads...
+ //player->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
if (urand(0, 1))
player->TeleportTo(607, 2682.936f, -830.368f, 15.0f, 2.895f, 0);
@@ -478,8 +482,6 @@ void BattlegroundSA::AddPlayer(Player* player)
else
player->TeleportTo(607, 1209.7f, -65.16f, 70.1f, 0.0f, 0);
}
- SendTransportInit(player);
- PlayerScores[player->GetGUID()] = sc;
}
void BattlegroundSA::RemovePlayer(Player* /*player*/, uint64 /*guid*/, uint32 /*team*/) { }
@@ -530,7 +532,7 @@ void BattlegroundSA::TeleportPlayers()
if (player->GetTeamId() == Attackers)
{
- player->CastSpell(player, 12438, true); //Without this player falls before boat loads...
+ //player->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
if (urand(0, 1))
player->TeleportTo(607, 2682.936f, -830.368f, 15.0f, 2.895f, 0);
@@ -543,30 +545,94 @@ void BattlegroundSA::TeleportPlayers()
}
}
-void BattlegroundSA::EventPlayerDamagedGO(Player* /*player*/, GameObject* go, uint32 eventType)
+void BattlegroundSA::ProcessEvent(WorldObject* obj, uint32 eventId, WorldObject* invoker /*= NULL*/)
{
- if (!go || !go->GetGOInfo())
- return;
-
- if (eventType == go->GetGOInfo()->building.damagedEvent)
+ if (GameObject* go = obj->ToGameObject())
{
- uint32 i = getGateIdFromDamagedOrDestroyEventId(eventType);
- GateStatus[i] = BG_SA_GATE_DAMAGED;
- uint32 uws = getWorldStateFromGateId(i);
- if (uws)
- UpdateWorldState(uws, GateStatus[i]);
- }
+ switch (go->GetGoType())
+ {
+ case GAMEOBJECT_TYPE_GOOBER:
+ if (invoker)
+ if (eventId == BG_SA_EVENT_TITAN_RELIC_ACTIVATED)
+ TitanRelicActivated(invoker->ToPlayer());
+ break;
+ case GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING:
+ {
+ if (GateInfo const* gate = GetGate(obj->GetEntry()))
+ {
+ uint8 gateId = gate->GateId;
- if (eventType == go->GetGOInfo()->building.destroyedEvent)
- {
- if (go->GetGOInfo()->building.destroyedEvent == BG_SA_EVENT_ANCIENT_GATE_DESTROYED)
- SendWarningToAll(LANG_BG_SA_CHAMBER_BREACHED);
- else
- SendWarningToAll(LANG_BG_SA_WAS_DESTROYED, go->GetGOInfo()->name.c_str());
- }
+ // damaged
+ if (eventId == go->GetGOInfo()->building.damagedEvent)
+ {
+ GateStatus[gateId] = BG_SA_GATE_DAMAGED;
+
+ if (Creature* c = obj->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
+ SendChatMessage(c, gate->DamagedText, invoker);
+
+ PlaySoundToAll(Attackers == TEAM_ALLIANCE ? SOUND_WALL_ATTACKED_ALLIANCE : SOUND_WALL_ATTACKED_HORDE);
+ }
+ // destroyed
+ else if (eventId == go->GetGOInfo()->building.destroyedEvent)
+ {
+ GateStatus[gate->GateId] = BG_SA_GATE_DESTROYED;
+ _gateDestroyed = true;
- if (eventType == go->GetGOInfo()->building.damageEvent)
- SendWarningToAll(LANG_BG_SA_IS_UNDER_ATTACK, go->GetGOInfo()->name.c_str());
+ if (gateId < 5)
+ DelObject(gateId + 14);
+
+ if (Creature* c = obj->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
+ SendChatMessage(c, gate->DestroyedText, invoker);
+
+ PlaySoundToAll(Attackers == TEAM_ALLIANCE ? SOUND_WALL_DESTROYED_ALLIANCE : SOUND_WALL_DESTROYED_HORDE);
+
+ bool rewardHonor = true;
+ switch (gateId)
+ {
+ case BG_SA_GREEN_GATE:
+ if (GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
+ rewardHonor = false;
+ break;
+ case BG_SA_BLUE_GATE:
+ if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED)
+ rewardHonor = false;
+ break;
+ case BG_SA_RED_GATE:
+ if (GateStatus[BG_SA_PURPLE_GATE] == BG_SA_GATE_DESTROYED)
+ rewardHonor = false;
+ break;
+ case BG_SA_PURPLE_GATE:
+ if (GateStatus[BG_SA_RED_GATE] == BG_SA_GATE_DESTROYED)
+ rewardHonor = false;
+ break;
+ default:
+ break;
+ }
+
+ if (invoker)
+ {
+ if (Unit* unit = invoker->ToUnit())
+ {
+ if (Player* player = unit->GetCharmerOrOwnerPlayerOrPlayerItself())
+ {
+ UpdatePlayerScore(player, SCORE_DESTROYED_WALL, 1);
+ if (rewardHonor)
+ UpdatePlayerScore(player, SCORE_BONUS_HONOR, GetBonusHonorFromKill(1));
+ }
+ }
+ }
+ }
+ else
+ break;
+
+ UpdateWorldState(gate->WorldState, GateStatus[gateId]);
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ }
}
void BattlegroundSA::HandleKillUnit(Creature* creature, Player* killer)
@@ -618,51 +684,8 @@ void BattlegroundSA::DemolisherStartState(bool start)
}
}
-void BattlegroundSA::DestroyGate(Player* player, GameObject* go)
+void BattlegroundSA::DestroyGate(Player* /*player*/, GameObject* /*go*/)
{
- uint32 i = getGateIdFromDamagedOrDestroyEventId(go->GetGOInfo()->building.destroyedEvent);
- if (!GateStatus[i])
- return;
-
- if (GameObject* g = GetBGObject(i))
- {
- if (g->GetGOValue()->Building.Health == 0)
- {
- GateStatus[i] = BG_SA_GATE_DESTROYED;
- uint32 uws = getWorldStateFromGateId(i);
- if (uws)
- UpdateWorldState(uws, GateStatus[i]);
- bool rewardHonor = true;
- gateDestroyed = true;
- switch (i)
- {
- case BG_SA_GREEN_GATE:
- if (GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
- rewardHonor = false;
- break;
- case BG_SA_BLUE_GATE:
- if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED)
- rewardHonor = false;
- break;
- case BG_SA_RED_GATE:
- if (GateStatus[BG_SA_PURPLE_GATE] == BG_SA_GATE_DESTROYED)
- rewardHonor = false;
- break;
- case BG_SA_PURPLE_GATE:
- if (GateStatus[BG_SA_RED_GATE] == BG_SA_GATE_DESTROYED)
- rewardHonor = false;
- break;
- default:
- break;
- }
-
- if (i < 5)
- DelObject(i + 14);
- UpdatePlayerScore(player, SCORE_DESTROYED_WALL, 1);
- if (rewardHonor)
- UpdatePlayerScore(player, SCORE_BONUS_HONOR, GetBonusHonorFromKill(1));
- }
- }
}
WorldSafeLocsEntry const* BattlegroundSA::GetClosestGraveYard(Player* player)
@@ -708,24 +731,24 @@ void BattlegroundSA::SendTime()
UpdateWorldState(BG_SA_TIMER_SEC_DECS, ((end_of_round%60000)%10000)/1000);
}
-void BattlegroundSA::EventPlayerClickedOnFlag(Player* Source, GameObject* target_obj)
+void BattlegroundSA::EventPlayerClickedOnFlag(Player* source, GameObject* go)
{
- switch (target_obj->GetEntry())
+ switch (go->GetEntry())
{
case 191307:
case 191308:
if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
- CaptureGraveyard(BG_SA_LEFT_CAPTURABLE_GY, Source);
+ CaptureGraveyard(BG_SA_LEFT_CAPTURABLE_GY, source);
break;
case 191305:
case 191306:
if (GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED)
- CaptureGraveyard(BG_SA_RIGHT_CAPTURABLE_GY, Source);
+ CaptureGraveyard(BG_SA_RIGHT_CAPTURABLE_GY, source);
break;
case 191310:
case 191309:
if ((GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED) && (GateStatus[BG_SA_RED_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_PURPLE_GATE] == BG_SA_GATE_DESTROYED))
- CaptureGraveyard(BG_SA_CENTRAL_CAPTURABLE_GY, Source);
+ CaptureGraveyard(BG_SA_CENTRAL_CAPTURABLE_GY, source);
break;
default:
return;
@@ -746,7 +769,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
return;
}
- AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], (GraveyardStatus[i] == TEAM_ALLIANCE? ALLIANCE : HORDE));
+ AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], GraveyardStatus[i]);
uint32 npc = 0;
uint32 flag = 0;
@@ -756,73 +779,64 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
flag = BG_SA_LEFT_FLAG;
DelObject(flag);
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),
- BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],
- BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+ BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
npc = BG_SA_NPC_RIGSPARK;
- AddCreature(BG_SA_NpcEntries[npc], npc, Attackers,
- BG_SA_NpcSpawnlocs[npc][0], BG_SA_NpcSpawnlocs[npc][1],
- BG_SA_NpcSpawnlocs[npc][2], BG_SA_NpcSpawnlocs[npc][3]);
+ if (Creature* rigspark = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))
+ rigspark->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);
for (uint8 j = BG_SA_DEMOLISHER_7; j <= BG_SA_DEMOLISHER_8; j++)
{
- AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),
- BG_SA_NpcSpawnlocs[j][0], BG_SA_NpcSpawnlocs[j][1],
- BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);
+ AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE), 600);
if (Creature* dem = GetBGCreature(j))
dem->setFaction(BG_SA_Factions[Attackers]);
}
- UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_LEFT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
- if (Source->GetTeamId() == TEAM_ALLIANCE)
- SendWarningToAll(LANG_BG_SA_A_GY_WEST);
- else
- SendWarningToAll(LANG_BG_SA_H_GY_WEST);
+ UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_LEFT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
+
+ if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
+ SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_WEST_GRAVEYARD_CAPTURED_A : TEXT_WEST_GRAVEYARD_CAPTURED_H, Source);
+
break;
case BG_SA_RIGHT_CAPTURABLE_GY:
flag = BG_SA_RIGHT_FLAG;
DelObject(flag);
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),
- BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],
- BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+ BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
npc = BG_SA_NPC_SPARKLIGHT;
- AddCreature(BG_SA_NpcEntries[npc], npc, Attackers,
- BG_SA_NpcSpawnlocs[npc][0], BG_SA_NpcSpawnlocs[npc][1],
- BG_SA_NpcSpawnlocs[npc][2], BG_SA_NpcSpawnlocs[npc][3]);
+ if (Creature* sparklight = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))
+ sparklight->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);
for (uint8 j = BG_SA_DEMOLISHER_5; j <= BG_SA_DEMOLISHER_6; j++)
{
- AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),
- BG_SA_NpcSpawnlocs[j][0], BG_SA_NpcSpawnlocs[j][1],
- BG_SA_NpcSpawnlocs[j][2], BG_SA_NpcSpawnlocs[j][3], 600);
+ AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600);
if (Creature* dem = GetBGCreature(j))
dem->setFaction(BG_SA_Factions[Attackers]);
}
- UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_RIGHT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
- if (Source->GetTeamId() == TEAM_ALLIANCE)
- SendWarningToAll(LANG_BG_SA_A_GY_EAST);
- else
- SendWarningToAll(LANG_BG_SA_H_GY_EAST);
+ UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_RIGHT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
+
+ if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
+ SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_EAST_GRAVEYARD_CAPTURED_A : TEXT_EAST_GRAVEYARD_CAPTURED_H, Source);
+
break;
case BG_SA_CENTRAL_CAPTURABLE_GY:
flag = BG_SA_CENTRAL_FLAG;
DelObject(flag);
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),
- BG_SA_ObjSpawnlocs[flag][0], BG_SA_ObjSpawnlocs[flag][1],
- BG_SA_ObjSpawnlocs[flag][2], BG_SA_ObjSpawnlocs[flag][3], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+ BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
+
+ UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_CENTER_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
+
+ if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
+ SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_SOUTH_GRAVEYARD_CAPTURED_A : TEXT_SOUTH_GRAVEYARD_CAPTURED_H, Source);
- UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_CENTER_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
- if (Source->GetTeamId() == TEAM_ALLIANCE)
- SendWarningToAll(LANG_BG_SA_A_GY_SOUTH);
- else
- SendWarningToAll(LANG_BG_SA_H_GY_SOUTH);
break;
default:
ASSERT(false);
@@ -830,25 +844,28 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
};
}
-void BattlegroundSA::EventPlayerUsedGO(Player* Source, GameObject* object)
+void BattlegroundSA::TitanRelicActivated(Player* clicker)
{
- if (object->GetEntry() == BG_SA_ObjEntries[BG_SA_TITAN_RELIC] &&
- GateStatus[BG_SA_ANCIENT_GATE] == BG_SA_GATE_DESTROYED &&
+ if (!clicker)
+ return;
+
+ if (GateStatus[BG_SA_ANCIENT_GATE] == BG_SA_GATE_DESTROYED &&
GateStatus[BG_SA_YELLOW_GATE] == BG_SA_GATE_DESTROYED &&
(GateStatus[BG_SA_PURPLE_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_RED_GATE] == BG_SA_GATE_DESTROYED) &&
(GateStatus[BG_SA_GREEN_GATE] == BG_SA_GATE_DESTROYED || GateStatus[BG_SA_BLUE_GATE] == BG_SA_GATE_DESTROYED))
{
- if (Source->GetTeamId() == Attackers)
+ if (clicker->GetTeamId() == Attackers)
{
- if (Source->GetTeamId() == TEAM_ALLIANCE)
+ if (clicker->GetTeamId() == TEAM_ALLIANCE)
SendMessageToAll(LANG_BG_SA_ALLIANCE_CAPTURED_RELIC, CHAT_MSG_BG_SYSTEM_NEUTRAL);
- else SendMessageToAll(LANG_BG_SA_HORDE_CAPTURED_RELIC, CHAT_MSG_BG_SYSTEM_NEUTRAL);
+ else
+ SendMessageToAll(LANG_BG_SA_HORDE_CAPTURED_RELIC, CHAT_MSG_BG_SYSTEM_NEUTRAL);
if (Status == BG_SA_ROUND_ONE)
{
RoundScores[0].winner = Attackers;
RoundScores[0].time = TotalTime;
- //Achievement Storm the Beach (1310)
+ // Achievement Storm the Beach (1310)
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
{
if (Player* player = ObjectAccessor::FindPlayer(itr->first))
@@ -860,19 +877,25 @@ void BattlegroundSA::EventPlayerUsedGO(Player* Source, GameObject* object)
Status = BG_SA_SECOND_WARMUP;
TotalTime = 0;
ToggleTimer();
- SendWarningToAll(LANG_BG_SA_ROUND_ONE_END);
+
+ if (Creature* c = GetBGCreature(BG_SA_NPC_KANRETHAD))
+ SendChatMessage(c, TEXT_ROUND_1_FINISHED);
+
UpdateWaitTimer = 5000;
SignaledRoundTwo = false;
SignaledRoundTwoHalfMin = false;
InitSecondRound = true;
ResetObjs();
+ GetBgMap()->UpdateAreaDependentAuras();
+ CastSpellOnTeam(SPELL_END_OF_ROUND, ALLIANCE);
+ CastSpellOnTeam(SPELL_END_OF_ROUND, HORDE);
}
else if (Status == BG_SA_ROUND_TWO)
{
RoundScores[1].winner = Attackers;
RoundScores[1].time = TotalTime;
ToggleTimer();
- //Achievement Storm the Beach (1310)
+ // Achievement Storm the Beach (1310)
for (BattlegroundPlayerMap::const_iterator itr = GetPlayers().begin(); itr != GetPlayers().end(); ++itr)
{
if (Player* player = ObjectAccessor::FindPlayer(itr->first))
@@ -894,18 +917,18 @@ void BattlegroundSA::EventPlayerUsedGO(Player* Source, GameObject* object)
void BattlegroundSA::ToggleTimer()
{
TimerEnabled = !TimerEnabled;
- UpdateWorldState(BG_SA_ENABLE_TIMER, (TimerEnabled) ? 1 : 0);
+ UpdateWorldState(BG_SA_ENABLE_TIMER, TimerEnabled);
}
void BattlegroundSA::EndBattleground(uint32 winner)
{
- //honor reward for winning
+ // honor reward for winning
if (winner == ALLIANCE)
RewardHonorToTeam(GetBonusHonorFromKill(1), ALLIANCE);
else if (winner == HORDE)
RewardHonorToTeam(GetBonusHonorFromKill(1), HORDE);
- //complete map_end rewards (even if no team wins)
+ // complete map_end rewards (even if no team wins)
RewardHonorToTeam(GetBonusHonorFromKill(2), ALLIANCE);
RewardHonorToTeam(GetBonusHonorFromKill(2), HORDE);
@@ -931,9 +954,7 @@ void BattlegroundSA::UpdateDemolisherSpawns()
{
if (DemoliserRespawnList[i] < getMSTime())
{
- Demolisher->Relocate(BG_SA_NpcSpawnlocs[i][0], BG_SA_NpcSpawnlocs[i][1],
- BG_SA_NpcSpawnlocs[i][2], BG_SA_NpcSpawnlocs[i][3]);
-
+ Demolisher->Relocate(BG_SA_NpcSpawnlocs[i]);
Demolisher->Respawn();
DemoliserRespawnList.erase(i);
}
@@ -982,8 +1003,25 @@ bool BattlegroundSA::CheckAchievementCriteriaMeet(uint32 criteriaId, Player cons
case BG_CRITERIA_CHECK_NOT_EVEN_A_SCRATCH:
return _allVehiclesAlive[GetTeamIndexByTeamId(source->GetTeam())];
case BG_CRITERIA_CHECK_DEFENSE_OF_THE_ANCIENTS:
- return source->GetTeamId() != Attackers && !gateDestroyed;
+ return source->GetTeamId() != Attackers && !_gateDestroyed;
}
return Battleground::CheckAchievementCriteriaMeet(criteriaId, source, target, miscValue);
}
+
+bool BattlegroundSA::IsSpellAllowed(uint32 spellId, Player const* /*player*/) const
+{
+ switch (spellId)
+ {
+ case SPELL_ALLIANCE_CONTROL_PHASE_SHIFT:
+ return Attackers == TEAM_HORDE;
+ case SPELL_HORDE_CONTROL_PHASE_SHIFT:
+ return Attackers == TEAM_ALLIANCE;
+ case SPELL_PREPARATION:
+ return Status == BG_SA_WARMUP || Status == BG_SA_SECOND_WARMUP;
+ default:
+ break;
+ }
+
+ return true;
+}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
index eb5e54231b5..880da0735f4 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.h
@@ -20,10 +20,11 @@
#define __BATTLEGROUNDSA_H
#include "Battleground.h"
+#include "Object.h"
struct BattlegroundSAScore : public BattlegroundScore
{
- BattlegroundSAScore(): demolishers_destroyed(0), gates_destroyed(0) { }
+ BattlegroundSAScore() : demolishers_destroyed(0), gates_destroyed(0) { }
~BattlegroundSAScore() { }
uint8 demolishers_destroyed;
uint8 gates_destroyed;
@@ -34,7 +35,7 @@ struct BattlegroundSAScore : public BattlegroundScore
enum BG_SA_Status
{
- BG_SA_NOTSTARTED = 0,
+ BG_SA_NOT_STARTED = 0,
BG_SA_WARMUP,
BG_SA_ROUND_ONE,
BG_SA_SECOND_WARMUP,
@@ -49,7 +50,7 @@ enum BG_SA_GateState
BG_SA_GATE_DESTROYED = 3
};
-enum BG_SA_EventIdGate
+enum BG_SA_EventIds
{
BG_SA_EVENT_BLUE_GATE_DAMAGED = 19040,
BG_SA_EVENT_BLUE_GATE_DESTROYED = 19045,
@@ -67,7 +68,42 @@ enum BG_SA_EventIdGate
BG_SA_EVENT_YELLOW_GATE_DESTROYED = 19049,
BG_SA_EVENT_ANCIENT_GATE_DAMAGED = 19836,
- BG_SA_EVENT_ANCIENT_GATE_DESTROYED = 19837
+ BG_SA_EVENT_ANCIENT_GATE_DESTROYED = 19837,
+
+ BG_SA_EVENT_TITAN_RELIC_ACTIVATED = 22097
+};
+
+enum SASpellIds
+{
+ SPELL_TELEPORT_DEFENDER = 52364,
+ SPELL_TELEPORT_ATTACKERS = 60178,
+ SPELL_END_OF_ROUND = 52459,
+ SPELL_REMOVE_SEAFORIUM = 59077,
+ SPELL_ALLIANCE_CONTROL_PHASE_SHIFT = 60027,
+ SPELL_HORDE_CONTROL_PHASE_SHIFT = 60028
+};
+
+enum SACreatureIds
+{
+ NPC_KANRETHAD = 29,
+ NPC_INVISIBLE_STALKER = 15214,
+ NPC_WORLD_TRIGGER = 22515,
+ NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC = 23472,
+
+ NPC_ANTI_PERSONNAL_CANNON = 27894,
+ NPC_DEMOLISHER_SA = 28781,
+ NPC_RIGGER_SPARKLIGHT = 29260,
+ NPC_GORGRIL_RIGSPARK = 29262
+};
+
+enum SAGameObjectIds
+{
+ GO_GATE_OF_THE_GREEN_EMERALD = 190722,
+ GO_GATE_OF_THE_PURPLE_AMETHYST = 190723,
+ GO_GATE_OF_THE_BLUE_SAPPHIRE = 190724,
+ GO_GATE_OF_THE_RED_SUN = 190726,
+ GO_GATE_OF_THE_YELLOW_MOON = 190727,
+ GO_CHAMBER_OF_ANCIENT_RELICS = 192549,
};
enum BG_SA_Timers
@@ -77,7 +113,51 @@ enum BG_SA_Timers
BG_SA_ROUNDLENGTH = 600 * IN_MILLISECONDS
};
-enum BG_SA_WorldStates
+enum SASounds
+{
+ SOUND_GRAVEYARD_TAKEN_HORDE = 8174,
+ SOUND_GRAVEYARD_TAKEN_ALLIANCE = 8212,
+ SOUND_DEFEAT_HORDE = 15905,
+ SOUND_VICTORY_HORDE = 15906,
+ SOUND_VICTORY_ALLIANCE = 15907,
+ SOUND_DEFEAT_ALLIANCE = 15908,
+ SOUND_WALL_DESTROYED_ALLIANCE = 15909,
+ SOUND_WALL_DESTROYED_HORDE = 15910,
+ SOUND_WALL_ATTACKED_HORDE = 15911,
+ SOUND_WALL_ATTACKED_ALLIANCE = 15912
+};
+
+enum SATexts
+{
+ // Kanrethad
+ TEXT_ROUND_STARTED = 1,
+ TEXT_ROUND_1_FINISHED = 2,
+
+ // Rigger Sparklight / Gorgril Rigspark
+ TEXT_SPARKLIGHT_RIGSPARK_SPAWN = 1,
+
+ // World Trigger
+ TEXT_BLUE_GATE_UNDER_ATTACK = 1,
+ TEXT_GREEN_GATE_UNDER_ATTACK = 2,
+ TEXT_RED_GATE_UNDER_ATTACK = 3,
+ TEXT_PURPLE_GATE_UNDER_ATTACK = 4,
+ TEXT_YELLOW_GATE_UNDER_ATTACK = 5,
+ TEXT_YELLOW_GATE_DESTROYED = 6,
+ TEXT_PURPLE_GATE_DESTROYED = 7,
+ TEXT_RED_GATE_DESTROYED = 8,
+ TEXT_GREEN_GATE_DESTROYED = 9,
+ TEXT_BLUE_GATE_DESTROYED = 10,
+ TEXT_EAST_GRAVEYARD_CAPTURED_A = 11,
+ TEXT_WEST_GRAVEYARD_CAPTURED_A = 12,
+ TEXT_SOUTH_GRAVEYARD_CAPTURED_A = 13,
+ TEXT_EAST_GRAVEYARD_CAPTURED_H = 14,
+ TEXT_WEST_GRAVEYARD_CAPTURED_H = 15,
+ TEXT_SOUTH_GRAVEYARD_CAPTURED_H = 16,
+ TEXT_ANCIENT_GATE_UNDER_ATTACK = 17,
+ TEXT_ANCIENT_GATE_DESTROYED = 18
+};
+
+enum SAWorldStates
{
BG_SA_TIMER_MINS = 3559,
BG_SA_TIMER_SEC_TENS = 3560,
@@ -102,20 +182,12 @@ enum BG_SA_WorldStates
BG_SA_RIGHT_GY_HORDE = 3632,
BG_SA_LEFT_GY_HORDE = 3633,
BG_SA_CENTER_GY_HORDE = 3634,
- BG_SA_BONUS_TIMER = 0xdf3,
+ BG_SA_BONUS_TIMER = 3571,
BG_SA_ENABLE_TIMER = 3564
};
-enum npc
-{
- NPC_ANTI_PERSONNAL_CANNON = 27894,
- NPC_DEMOLISHER_SA = 28781,
- NPC_RIGGER_SPARKLIGHT = 29260,
- NPC_GORGRIL_RIGSPARK = 29262
-};
-
enum BG_SA_NPCs
- {
+{
BG_SA_GUN_1 = 0,
BG_SA_GUN_2,
BG_SA_GUN_3,
@@ -126,11 +198,6 @@ enum BG_SA_NPCs
BG_SA_GUN_8,
BG_SA_GUN_9,
BG_SA_GUN_10,
- BG_SA_NPC_TRIGGER_1,
- BG_SA_NPC_TRIGGER_2,
- BG_SA_NPC_TRIGGER_3,
- BG_SA_NPC_TRIGGER_4,
- BG_SA_NPC_TRIGGER_5,
BG_SA_DEMOLISHER_1,
BG_SA_DEMOLISHER_2,
BG_SA_DEMOLISHER_3,
@@ -141,8 +208,9 @@ enum BG_SA_NPCs
BG_SA_DEMOLISHER_8,
BG_SA_NPC_SPARKLIGHT,
BG_SA_NPC_RIGSPARK,
+ BG_SA_NPC_KANRETHAD,
BG_SA_MAXNPC
- };
+};
enum BG_SA_Boat
{
@@ -164,12 +232,6 @@ uint32 const BG_SA_NpcEntries[BG_SA_MAXNPC] =
NPC_ANTI_PERSONNAL_CANNON,
NPC_ANTI_PERSONNAL_CANNON,
NPC_ANTI_PERSONNAL_CANNON,
- // Triggers
- 23472,
- 23472,
- 23472,
- 23472,
- 23472,
// 4 beach demolishers
NPC_DEMOLISHER_SA,
NPC_DEMOLISHER_SA,
@@ -182,10 +244,12 @@ uint32 const BG_SA_NpcEntries[BG_SA_MAXNPC] =
NPC_DEMOLISHER_SA,
// Used Demolisher Salesman
NPC_RIGGER_SPARKLIGHT,
- NPC_GORGRIL_RIGSPARK
+ NPC_GORGRIL_RIGSPARK,
+ // Kanrethad
+ NPC_KANRETHAD
};
-float const BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
+Position const BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT] =
{
// Cannons
{ 1436.429f, 110.05f, 41.407f, 5.4f },
@@ -198,12 +262,6 @@ float const BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
{ 1249.634f, -224.189f, 66.72f, 0.635f },
{ 1236.213f, 92.287f, 64.965f, 5.751f },
{ 1215.11f, 57.772f, 64.739f, 5.78f },
- // Triggers
- { 1453.49f, -250.453f, 30.896f, 4.2883f},
- { 1377.05f, 97.036f, 30.8605f, 2.46539f},
- { 1186.05f, 58.8048f, 56.5491f, 2.75992f},
- { 1042.83f, -72.839f, 84.8145f, 3.58615f},
- { 1233.62f, -250.49f, 55.4036f, 3.7016f},
// Demolishers
{ 1611.597656f, -117.270073f, 8.719355f, 2.513274f},
{ 1575.562500f, -158.421875f, 5.024450f, 2.129302f},
@@ -216,7 +274,8 @@ float const BG_SA_NpcSpawnlocs[BG_SA_MAXNPC + BG_SA_DEMOLISHER_AMOUNT][4] =
{ 1404.809570f, 197.027237f, 32.046032f, 3.605401f},
// Npcs
{ 1348.644165f, -298.786469f, 31.080130f, 1.710423f},
- { 1358.191040f, 195.527786f, 31.018187f, 4.171337f}
+ { 1358.191040f, 195.527786f, 31.018187f, 4.171337f},
+ { 841.921f, -134.194f, 196.838f, 6.23082f }
};
enum BG_SA_Objects
@@ -250,7 +309,7 @@ enum BG_SA_Objects
BG_SA_MAXOBJ = BG_SA_BOMB+68
};
-float const BG_SA_ObjSpawnlocs[BG_SA_MAXOBJ][4] =
+Position const BG_SA_ObjSpawnlocs[BG_SA_MAXOBJ] =
{
{ 1411.57f, 108.163f, 28.692f, 5.441f },
{ 1055.452f, -108.1f, 82.134f, 0.034f },
@@ -430,6 +489,26 @@ float const BG_SA_GYOrientation[BG_SA_MAX_GY] =
6.148f, // defender last GY
};
+struct GateInfo
+{
+ uint8 GateId;
+ uint32 GameObjectId;
+ uint32 WorldState;
+ uint8 DamagedText;
+ uint8 DestroyedText;
+};
+
+#define MAX_GATES 6
+GateInfo const Gates[MAX_GATES] =
+{
+ { BG_SA_GREEN_GATE, GO_GATE_OF_THE_GREEN_EMERALD, BG_SA_GREEN_GATEWS, TEXT_GREEN_GATE_UNDER_ATTACK, TEXT_GREEN_GATE_DESTROYED },
+ { BG_SA_YELLOW_GATE, GO_GATE_OF_THE_YELLOW_MOON, BG_SA_YELLOW_GATEWS, TEXT_YELLOW_GATE_UNDER_ATTACK, TEXT_YELLOW_GATE_DESTROYED },
+ { BG_SA_BLUE_GATE, GO_GATE_OF_THE_BLUE_SAPPHIRE, BG_SA_BLUE_GATEWS, TEXT_BLUE_GATE_UNDER_ATTACK, TEXT_BLUE_GATE_DESTROYED },
+ { BG_SA_RED_GATE, GO_GATE_OF_THE_RED_SUN, BG_SA_RED_GATEWS, TEXT_RED_GATE_UNDER_ATTACK, TEXT_RED_GATE_DESTROYED },
+ { BG_SA_PURPLE_GATE, GO_GATE_OF_THE_PURPLE_AMETHYST, BG_SA_PURPLE_GATEWS, TEXT_PURPLE_GATE_UNDER_ATTACK, TEXT_PURPLE_GATE_DESTROYED },
+ { BG_SA_ANCIENT_GATE, GO_CHAMBER_OF_ANCIENT_RELICS, BG_SA_ANCIENT_GATEWS, TEXT_ANCIENT_GATE_UNDER_ATTACK, TEXT_ANCIENT_GATE_DESTROYED }
+};
+
struct BG_SA_RoundScore
{
TeamId winner;
@@ -461,77 +540,30 @@ class BattlegroundSA : public Battleground
void Reset();
/// Called for generate packet contain worldstate data
void FillInitialWorldStates(WorldPacket& data);
- /// Called when a player deal damage to building (door)
- void EventPlayerDamagedGO(Player* player, GameObject* go, uint32 eventType);
/// Called when a player kill a unit in bg
void HandleKillUnit(Creature* creature, Player* killer);
/// Return the nearest graveyard where player can respawn
WorldSafeLocsEntry const* GetClosestGraveYard(Player* player);
+ /// Called when someone activates an event
+ void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/, WorldObject* /*invoker*/ = NULL) override;
/// Called when a player click on flag (graveyard flag)
- void EventPlayerClickedOnFlag(Player* Source, GameObject* target_obj);
- /// Called when a player use a gamobject (relic)
- void EventPlayerUsedGO(Player* Source, GameObject* object);
- /// Return gate id, relative to bg data, according to gameobject id
- uint32 getGateIdFromDamagedOrDestroyEventId(uint32 id)
- {
- switch (id)
- {
- // Green gate
- case BG_SA_EVENT_GREEN_GATE_DAMAGED:
- case BG_SA_EVENT_GREEN_GATE_DESTROYED:
- return BG_SA_GREEN_GATE;
- // Blue gate
- case BG_SA_EVENT_BLUE_GATE_DAMAGED:
- case BG_SA_EVENT_BLUE_GATE_DESTROYED:
- return BG_SA_BLUE_GATE;
- // Red gate
- case BG_SA_EVENT_RED_GATE_DAMAGED:
- case BG_SA_EVENT_RED_GATE_DESTROYED:
- return BG_SA_RED_GATE;
- // Purple gate
- case BG_SA_EVENT_PURPLE_GATE_DAMAGED:
- case BG_SA_EVENT_PURPLE_GATE_DESTROYED:
- return BG_SA_PURPLE_GATE;
- // Yellow gate
- case BG_SA_EVENT_YELLOW_GATE_DAMAGED:
- case BG_SA_EVENT_YELLOW_GATE_DESTROYED:
- return BG_SA_YELLOW_GATE;
- // Ancient gate
- case BG_SA_EVENT_ANCIENT_GATE_DAMAGED:
- case BG_SA_EVENT_ANCIENT_GATE_DESTROYED:
- return BG_SA_ANCIENT_GATE;
- default:
- break;
- }
- return 0;
- }
- /// Return worldstate id, according to door id
- uint32 getWorldStateFromGateId(uint32 id)
+ void EventPlayerClickedOnFlag(Player* source, GameObject* go);
+ /// Called when a player clicked on relic
+ void TitanRelicActivated(Player* clicker);
+
+ /// Return GateInfo, relative to bg data, according to gameobject entry
+ GateInfo const* GetGate(uint32 entry)
{
- switch (id)
- {
- case BG_SA_GREEN_GATE:
- return BG_SA_GREEN_GATEWS;
- case BG_SA_YELLOW_GATE:
- return BG_SA_YELLOW_GATEWS;
- case BG_SA_BLUE_GATE:
- return BG_SA_BLUE_GATEWS;
- case BG_SA_RED_GATE:
- return BG_SA_RED_GATEWS;
- case BG_SA_PURPLE_GATE:
- return BG_SA_PURPLE_GATEWS;
- case BG_SA_ANCIENT_GATE:
- return BG_SA_ANCIENT_GATEWS;
- default:
- break;
- }
- return 0;
+ for (uint8 i = 0; i < MAX_GATES; ++i)
+ if (Gates[i].GameObjectId == entry)
+ return &Gates[i];
+ return NULL;
}
/// Called on battleground ending
void EndBattleground(uint32 winner);
- /// CAlled when a player leave battleground
+ /// Called when a player leave battleground
void RemovePlayer(Player* player, uint64 guid, uint32 team);
void HandleAreaTrigger(Player* Source, uint32 Trigger);
@@ -539,14 +571,11 @@ class BattlegroundSA : public Battleground
/// Update score board
void UpdatePlayerScore(Player* Source, uint32 type, uint32 value, bool doAddHonor = true);
- // Achievement: Defense of the Ancients
- bool gateDestroyed;
-
// Achievement: Not Even a Scratch
- bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* source, Unit const* target = NULL, uint32 miscvalue1 = 0);
+ bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* source, Unit const* target = NULL, uint32 miscValue = 0) override;
- /// Id of attacker team
- TeamId Attackers;
+ // Control Phase Shift
+ bool IsSpellAllowed(uint32 spellId, Player const* player) const override;
private:
@@ -600,6 +629,9 @@ class BattlegroundSA : public Battleground
/// Send packet to player for destroy boats (client part)
void SendTransportsRemove(Player* player);
+ /// Id of attacker team
+ TeamId Attackers;
+
/// Totale elapsed time of current round
uint32 TotalTime;
/// Max time of round
@@ -607,7 +639,7 @@ class BattlegroundSA : public Battleground
/// For know if boats has start moving or not yet
bool ShipsStarted;
/// Status of each gate (Destroy/Damage/Intact)
- BG_SA_GateState GateStatus[6];
+ BG_SA_GateState GateStatus[MAX_GATES];
/// Statu of battle (Start or not, and what round)
BG_SA_Status Status;
/// Team witch conntrol each graveyard
@@ -626,6 +658,9 @@ class BattlegroundSA : public Battleground
bool InitSecondRound;
std::map<uint32/*id*/, uint32/*timer*/> DemoliserRespawnList;
+ // Achievement: Defense of the Ancients
+ bool _gateDestroyed;
+
// Achievement: Not Even a Scratch
bool _allVehiclesAlive[BG_TEAMS_COUNT];
};
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
index 4814728c26d..eb5ffed657f 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
@@ -711,14 +711,14 @@ bool BattlegroundWS::SetupBattleground()
}
WorldSafeLocsEntry const* sg = sWorldSafeLocsStore.LookupEntry(WS_GRAVEYARD_MAIN_ALLIANCE);
- if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, ALLIANCE))
+ if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, TEAM_ALLIANCE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundWS: Failed to spawn Alliance spirit guide! Battleground not created!");
return false;
}
sg = sWorldSafeLocsStore.LookupEntry(WS_GRAVEYARD_MAIN_HORDE);
- if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, HORDE))
+ if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, TEAM_HORDE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundWS: Failed to spawn Horde spirit guide! Battleground not created!");
return false;
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index c7fbb4c9df1..0686272f191 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -800,6 +800,24 @@ Creature* ChatHandler::getSelectedCreature()
return ObjectAccessor::GetCreatureOrPetOrVehicle(*m_session->GetPlayer(), m_session->GetPlayer()->GetTarget());
}
+Player* ChatHandler::getSelectedPlayerOrSelf()
+{
+ if (!m_session)
+ return NULL;
+
+ uint64 selected = m_session->GetPlayer()->GetTarget();
+ if (!selected)
+ return m_session->GetPlayer();
+
+ // first try with selected target
+ Player* targetPlayer = ObjectAccessor::FindPlayer(selected);
+ // if the target is not a player, then return self
+ if (!targetPlayer)
+ targetPlayer = m_session->GetPlayer();
+
+ return targetPlayer;
+}
+
char* ChatHandler::extractKeyFromLink(char* text, char const* linkType, char** something1)
{
// skip empty
@@ -1198,10 +1216,34 @@ char* ChatHandler::extractQuotedArg(char* args)
return strtok(args+1, "\"");
else
{
- char* space = strtok(args, "\"");
- if (!space)
+ // skip spaces
+ while (*args == ' ')
+ {
+ args += 1;
+ continue;
+ }
+
+ // return NULL if we reached the end of the string
+ if (!*args)
+ return NULL;
+
+ // since we skipped all spaces, we expect another token now
+ if (*args == '"')
+ {
+ // return an empty string if there are 2 "" in a row.
+ // strtok doesn't handle this case
+ if (*(args + 1) == '"')
+ {
+ strtok(args, " ");
+ static char arg[1];
+ arg[0] = '\0';
+ return arg;
+ }
+ else
+ return strtok(args + 1, "\"");
+ }
+ else
return NULL;
- return strtok(NULL, "\"");
}
}
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index eb4c89bb8ea..5c541d07b5a 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -98,6 +98,8 @@ class ChatHandler
Creature* getSelectedCreature();
Unit* getSelectedUnit();
WorldObject* getSelectedObject();
+ // Returns either the selected player or self if there is no selected player
+ Player* getSelectedPlayerOrSelf();
char* extractKeyFromLink(char* text, char const* linkType, char** something1 = NULL);
char* extractKeyFromLink(char* text, char const* const* linkTypes, int* found_idx, char** something1 = NULL);
diff --git a/src/server/game/Chat/ChatLink.cpp b/src/server/game/Chat/ChatLink.cpp
index c1c59389397..3f32447a31f 100644
--- a/src/server/game/Chat/ChatLink.cpp
+++ b/src/server/game/Chat/ChatLink.cpp
@@ -312,7 +312,7 @@ bool SpellChatLink::ValidateName(char* buffer, const char* context)
// found the prefix, remove it to perform spellname validation below
// -2 = strlen(": ")
uint32 spellNameLength = strlen(buffer) - skillLineNameLength - 2;
- memcpy(buffer, buffer + skillLineNameLength + 2, spellNameLength + 1);
+ memmove(buffer, buffer + skillLineNameLength + 2, spellNameLength + 1);
}
}
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 57b6b90cc2c..74beed534c6 100644
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -1107,8 +1107,7 @@ bool ConditionMgr::addToGossipMenuItems(Condition* cond)
bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond)
{
uint32 conditionEffMask = cond->SourceGroup;
- SpellInfo* spellInfo = const_cast<SpellInfo*>(sSpellMgr->GetSpellInfo(cond->SourceEntry));
- ASSERT(spellInfo);
+ SpellInfo* spellInfo = const_cast<SpellInfo*>(sSpellMgr->EnsureSpellInfo(cond->SourceEntry));
std::list<uint32> sharedMasks;
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{
@@ -2025,7 +2024,7 @@ bool ConditionMgr::isConditionTypeValid(Condition* cond)
}
case CONDITION_UNIT_STATE:
{
- if (cond->ConditionValue1 > uint32(UNIT_STATE_ALL_STATE))
+ if (!(cond->ConditionValue1 & UNIT_STATE_ALL_STATE_SUPPORTED))
{
TC_LOG_ERROR("sql.sql", "UnitState condition has non existing UnitState in value1 (%u), skipped", cond->ConditionValue1);
return false;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index c650da7c83b..c3cebcdaeb1 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -237,7 +237,7 @@ enum AchievementCriteriaTypes
ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70,
ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72,
/// @todo 73: Achievements 1515, 1241, 1103 (Name: Mal'Ganis)
- ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE = 74, /// @todo title id is not mentioned in dbc
+ ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN = 74,
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75,
ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76,
ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77,
@@ -386,6 +386,11 @@ enum MapTypes // Lua_IsInInstance
MAP_ARENA = 4 // arena
};
+enum MapFlags
+{
+ MAP_FLAG_DYNAMIC_DIFFICULTY = 0x100
+};
+
enum AbilytyLearnType
{
ABILITY_LEARNED_ON_GET_PROFESSION_SKILL = 1,
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index f05b2c714ce..57eb0ad3490 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -76,6 +76,7 @@ DBCStorage <ChrRacesEntry> sChrRacesStore(ChrRacesEntryfmt);
DBCStorage <ChrPowerTypesEntry> sChrPowerTypesStore(ChrClassesXPowerTypesfmt);
DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore(CinematicSequencesEntryfmt);
DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore(CreatureDisplayInfofmt);
+DBCStorage <CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore(CreatureDisplayInfoExtrafmt);
DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore(CreatureFamilyfmt);
DBCStorage <CreatureModelDataEntry> sCreatureModelDataStore(CreatureModelDatafmt);
DBCStorage <CreatureSpellDataEntry> sCreatureSpellDataStore(CreatureSpellDatafmt);
@@ -147,6 +148,7 @@ DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore(ItemRandomSuffixfmt);
DBCStorage <ItemSetEntry> sItemSetStore(ItemSetEntryfmt);
DBCStorage <LFGDungeonEntry> sLFGDungeonStore(LFGDungeonEntryfmt);
+DBCStorage <LightEntry> sLightStore(LightEntryfmt);
DBCStorage <LiquidTypeEntry> sLiquidTypeStore(LiquidTypefmt);
DBCStorage <LockEntry> sLockStore(LockEntryfmt);
@@ -375,6 +377,7 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales, bad_dbc_files, sCinematicSequencesStore, dbcPath, "CinematicSequences.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoStore, dbcPath, "CreatureDisplayInfo.dbc");//15595
+ LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoExtraStore, dbcPath, "CreatureDisplayInfoExtra.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureFamilyStore, dbcPath, "CreatureFamily.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureModelDataStore, dbcPath, "CreatureModelData.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureSpellDataStore, dbcPath, "CreatureSpellData.dbc");//15595
@@ -461,6 +464,7 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales, bad_dbc_files, sItemDisenchantLootStore, dbcPath, "ItemDisenchantLoot.dbc");
LoadDBC(availableDbcLocales, bad_dbc_files, sLFGDungeonStore, dbcPath, "LFGDungeons.dbc");//15595
+ LoadDBC(availableDbcLocales, bad_dbc_files, sLightStore, dbcPath, "Light.dbc"); //15595
LoadDBC(availableDbcLocales, bad_dbc_files, sLiquidTypeStore, dbcPath, "LiquidType.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sLockStore, dbcPath, "Lock.dbc");//15595
LoadDBC(availableDbcLocales, bad_dbc_files, sPhaseStores, dbcPath, "Phase.dbc");//15595
@@ -1276,3 +1280,18 @@ LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty)
return NULL;
}
+
+uint32 GetDefaultMapLight(uint32 mapId)
+{
+ for (int32 i = sLightStore.GetNumRows(); i >= 0; --i)
+ {
+ LightEntry const* light = sLightStore.LookupEntry(uint32(i));
+ if (!light)
+ continue;
+
+ if (light->MapId == mapId && light->X == 0.0f && light->Y == 0.0f && light->Z == 0.0f)
+ return light->Id;
+ }
+
+ return 0;
+}
diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h
index e12d0ea45ac..af7007a17ae 100644
--- a/src/server/game/DataStores/DBCStores.h
+++ b/src/server/game/DataStores/DBCStores.h
@@ -81,6 +81,8 @@ CharStartOutfitEntry const* GetCharStartOutfitEntry(uint8 race, uint8 class_, ui
uint32 GetPowerIndexByClass(uint32 powerType, uint32 classId);
LFGDungeonEntry const* GetLFGDungeon(uint32 mapId, Difficulty difficulty);
+uint32 GetDefaultMapLight(uint32 mapId);
+
extern DBCStorage <AchievementEntry> sAchievementStore;
extern DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore;
extern DBCStorage <AreaTableEntry> sAreaStore;// recommend access using functions
@@ -101,6 +103,7 @@ extern DBCStorage <ChrRacesEntry> sChrRacesStore;
extern DBCStorage <ChrPowerTypesEntry> sChrPowerTypesStore;
extern DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore;
extern DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore;
+extern DBCStorage <CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore;
extern DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore;
extern DBCStorage <CreatureModelDataEntry> sCreatureModelDataStore;
extern DBCStorage <CreatureSpellDataEntry> sCreatureSpellDataStore;
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index 6b08fed517a..1e5c2093b53 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -690,9 +690,9 @@ struct CharTitlesEntry
{
uint32 ID; // 0, title ids, for example in Quest::GetCharTitleId()
//uint32 unk1; // 1 flags?
- char* name; // 2 m_name_lang
- //char* name2; // 3 m_name1_lang
- uint32 bit_index; // 4 m_mask_ID used in PLAYER_CHOSEN_TITLE and 1<<index in PLAYER__FIELD_KNOWN_TITLES
+ char* nameMale; // 2 m_name_lang
+ char* nameFemale; // 3 m_name1_lang
+ uint32 bit_index; // 4 m_mask_ID used in PLAYER_CHOSEN_TITLE and 1<<index in PLAYER__FIELD_KNOWN_TITLES
//uint32 // 5
};
@@ -726,7 +726,7 @@ struct ChrClassesEntry
struct ChrRacesEntry
{
uint32 RaceID; // 0
- // 1 unused
+ uint32 Flags; // 1
uint32 FactionID; // 2 facton template id
// 3 unused
uint32 model_m; // 4
@@ -780,7 +780,7 @@ struct CreatureDisplayInfoEntry
uint32 Displayid; // 0 m_ID
uint32 ModelId; // 1 m_modelID
// 2 m_soundID
- // 3 m_extendedDisplayInfoID
+ uint32 ExtraId; // 3 m_extendedDisplayInfoID
float scale; // 4 m_creatureModelScale
// 5 m_creatureModelAlpha
// 6-8 m_textureVariation[3]
@@ -794,6 +794,31 @@ struct CreatureDisplayInfoEntry
// 16
};
+struct CreatureDisplayInfoExtraEntry
+{
+ //uint32 Id; // 0
+ uint32 Race; // 1
+ uint32 Gender; // 2
+ //uint32 SkinColor; // 3
+ //uint32 FaceType; // 4
+ //uint32 HairType; // 5
+ //uint32 HairStyle; // 6
+ //uint32 FacialHair; // 7
+ //uint32 HelmDisplayId; // 8
+ //uint32 ShoulderDisplayId; // 9
+ //uint32 ShirtDisplayId; // 10
+ //uint32 ChestDisplayId; // 11
+ //uint32 BeltDisplayId; // 12
+ //uint32 LegsDisplayId; // 13
+ //uint32 BootsDisplayId; // 14
+ //uint32 WristDisplayId; // 15
+ //uint32 GlovesDisplayId; // 16
+ //uint32 TabardDisplayId; // 17
+ //uint32 CloakDisplayId; // 18
+ //uint32 CanEquip; // 19
+ //char const* Texture; // 20
+};
+
struct CreatureFamilyEntry
{
uint32 ID; // 0 m_ID
@@ -812,7 +837,7 @@ struct CreatureFamilyEntry
struct CreatureModelDataEntry
{
uint32 Id;
- //uint32 Flags;
+ uint32 Flags;
//char* ModelPath
//uint32 Unk1;
//float Scale; // Used in calculation of unit collision data
@@ -1387,6 +1412,24 @@ struct LFGDungeonEntry
uint32 Entry() const { return ID + (type << 24); }
};
+struct LightEntry
+{
+ uint32 Id;
+ uint32 MapId;
+ float X;
+ float Y;
+ float Z;
+ //float FalloffStart;
+ //float FalloffEnd;
+ //uint32 SkyAndFog;
+ //uint32 WaterSettings;
+ //uint32 SunsetParams;
+ //uint32 OtherParams;
+ //uint32 DeathParams;
+ //uint32 Unknown;
+ //uint32 Unknown;
+ //uint32 Unknown;
+};
struct LiquidTypeEntry
{
@@ -1441,7 +1484,7 @@ struct MapEntry
uint32 MapID; // 0
//char* internalname; // 1 unused
uint32 map_type; // 2
- //uint32 unk_330; // 3
+ uint32 Flags; // 3
//uint32 unk4; // 4 4.0.1
//uint32 isPvP; // 5 m_PVP 0 or 1 for battlegrounds (not arenas)
char* name; // 6 m_MapName_lang
@@ -1456,7 +1499,7 @@ struct MapEntry
//uint32 timeOfDayOverride; // 15 m_timeOfDayOverride
uint32 addon; // 16 m_expansionID
uint32 expireTime; // 17 m_raidOffset
- //uint32 maxPlayers; // 18 m_maxPlayers
+ uint32 maxPlayers; // 18 m_maxPlayers
int32 rootPhaseMap; // 19 new 4.0.0, mapid, related to phasing
// Helpers
@@ -1485,6 +1528,8 @@ struct MapEntry
{
return MapID == 0 || MapID == 1 || MapID == 530 || MapID == 571;
}
+
+ bool IsDynamicDifficultyMap() const { return Flags & MAP_FLAG_DYNAMIC_DIFFICULTY; }
};
struct MapDifficultyEntry
diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h
index 76dc9402fe5..41dc6afd4f7 100644
--- a/src/server/game/DataStores/DBCfmt.h
+++ b/src/server/game/DataStores/DBCfmt.h
@@ -37,14 +37,15 @@ char const BannedAddOnsfmt[] = "nxxxxxxxxxx";
char const BarberShopStyleEntryfmt[] = "nixxxiii";
char const BattlemasterListEntryfmt[] = "niiiiiiiiixsiiiixxxx";
char const CharStartOutfitEntryfmt[] = "dbbbXiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxii";
-char const CharTitlesEntryfmt[] = "nxsxix";
+char const CharTitlesEntryfmt[] = "nxssix";
char const ChatChannelsEntryfmt[] = "nixsx";
char const ChrClassesEntryfmt[] = "nixsxxxixiiiii";
-char const ChrRacesEntryfmt[] = "nxixiixixxxxixsxxxxxixxx";
+char const ChrRacesEntryfmt[] = "niixiixixxxxixsxxxxxixxx";
char const ChrClassesXPowerTypesfmt[] = "nii";
char const CinematicSequencesEntryfmt[] = "nxxxxxxxxx";
-char const CreatureDisplayInfofmt[] = "nixxfxxxxxxxxxxxx";
-char const CreatureModelDatafmt[] = "nxxxxxxxxxxxxxffxxxxxxxxxxxxxxx";
+char const CreatureDisplayInfofmt[] = "nixifxxxxxxxxxxxx";
+char const CreatureDisplayInfoExtrafmt[] = "diixxxxxxxxxxxxxxxxxx";
+char const CreatureModelDatafmt[] = "nixxxxxxxxxxxxffxxxxxxxxxxxxxxx";
char const CreatureFamilyfmt[] = "nfifiiiiixsx";
char const CreatureSpellDatafmt[] = "niiiixxxx";
char const CreatureTypefmt[] = "nxx";
@@ -97,11 +98,12 @@ char const ItemRandomPropertiesfmt[] = "nxiiixxs";
char const ItemRandomSuffixfmt[] = "nsxiiiiiiiiii";
char const ItemSetEntryfmt[] = "dsiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
char const LFGDungeonEntryfmt[] = "nsiiiiiiiiixxixixixxx";
+char const LightEntryfmt[] = "nifffxxxxxxxxxx";
char const LiquidTypefmt[] = "nxxixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
char const LockEntryfmt[] = "niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
char const PhaseEntryfmt[] = "nsi";
char const MailTemplateEntryfmt[] = "nxs";
-char const MapEntryfmt[] = "nxixxxsixxixiffxiixi";
+char const MapEntryfmt[] = "nxiixxsixxixiffxiiii";
char const MapDifficultyEntryfmt[] = "diisiix";
char const MovieEntryfmt[] = "nxxx";
char const MountCapabilityfmt[] = "niiiiiii";
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 624a5657cfd..dcf0dc53374 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -60,8 +60,8 @@ void LFGMgr::_LoadFromDB(Field* fields, uint64 guid)
SetLeader(guid, MAKE_NEW_GUID(fields[0].GetUInt32(), 0, HIGHGUID_PLAYER));
- uint32 dungeon = fields[16].GetUInt32();
- uint8 state = fields[17].GetUInt8();
+ uint32 dungeon = fields[17].GetUInt32();
+ uint8 state = fields[18].GetUInt8();
if (!dungeon || !state)
return;
@@ -256,10 +256,6 @@ void LFGMgr::LoadLFGDungeons(bool reload /* = false */)
if (reload)
{
CachedDungeonMapStore.clear();
- // Recalculate locked dungeons
- for (LfgPlayerDataContainer::const_iterator it = PlayersStore.begin(); it != PlayersStore.end(); ++it)
- if (Player* player = ObjectAccessor::FindPlayer(it->first))
- InitializeLockedDungeons(player);
}
}
@@ -367,74 +363,6 @@ void LFGMgr::Update(uint32 diff)
}
/**
- Generate the dungeon lock map for a given player
-
- @param[in] player Player we need to initialize the lock status map
-*/
-void LFGMgr::InitializeLockedDungeons(Player* player, uint8 level /* = 0 */)
-{
- uint64 guid = player->GetGUID();
- if (!level)
- level = player->getLevel();
- uint8 expansion = player->GetSession()->Expansion();
- LfgDungeonSet const& dungeons = GetDungeonsByRandom(0);
- LfgLockMap lock;
- bool denyJoin = !player->GetSession()->HasPermission(rbac::RBAC_PERM_JOIN_DUNGEON_FINDER);
-
- for (LfgDungeonSet::const_iterator it = dungeons.begin(); it != dungeons.end(); ++it)
- {
- LFGDungeonData const* dungeon = GetLFGDungeon(*it);
- if (!dungeon) // should never happen - We provide a list from sLFGDungeonStore
- continue;
-
- uint32 lockData = 0;
- if (denyJoin)
- lockData = LFG_LOCKSTATUS_RAID_LOCKED;
- else if (dungeon->expansion > expansion)
- lockData = LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION;
- else if (DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, dungeon->map, player))
- lockData = LFG_LOCKSTATUS_RAID_LOCKED;
- else if (dungeon->difficulty > DUNGEON_DIFFICULTY_NORMAL && player->GetBoundInstance(dungeon->map, Difficulty(dungeon->difficulty)))
- lockData = LFG_LOCKSTATUS_RAID_LOCKED;
- else if (dungeon->minlevel > level)
- lockData = LFG_LOCKSTATUS_TOO_LOW_LEVEL;
- else if (dungeon->maxlevel < level)
- lockData = LFG_LOCKSTATUS_TOO_HIGH_LEVEL;
- else if (dungeon->seasonal && !IsSeasonActive(dungeon->id))
- lockData = LFG_LOCKSTATUS_NOT_IN_SEASON;
- else if (AccessRequirement const* ar = sObjectMgr->GetAccessRequirement(dungeon->map, Difficulty(dungeon->difficulty)))
- {
- if (player->GetAverageItemLevel() < ar->item_level)
- lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE;
- else if (ar->achievement && !player->HasAchieved(ar->achievement))
- lockData = LFG_LOCKSTATUS_MISSING_ACHIEVEMENT;
- else if (player->GetTeam() == ALLIANCE && ar->quest_A && !player->GetQuestRewardStatus(ar->quest_A))
- lockData = LFG_LOCKSTATUS_QUEST_NOT_COMPLETED;
- else if (player->GetTeam() == HORDE && ar->quest_H && !player->GetQuestRewardStatus(ar->quest_H))
- lockData = LFG_LOCKSTATUS_QUEST_NOT_COMPLETED;
- else
- if (ar->item)
- {
- if (!player->HasItemCount(ar->item) && (!ar->item2 || !player->HasItemCount(ar->item2)))
- lockData = LFG_LOCKSTATUS_MISSING_ITEM;
- }
- else if (ar->item2 && !player->HasItemCount(ar->item2))
- lockData = LFG_LOCKSTATUS_MISSING_ITEM;
- }
-
- /* @todo VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED)
- lockData = LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE;
- lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL;
- lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL;
- */
-
- if (lockData)
- lock[dungeon->Entry()] = lockData;
- }
- SetLockedDungeons(guid, lock);
-}
-
-/**
Adds the player/group to lfg queue. If player is in a group then it is the leader
of the group tying to join the group. Join conditions are checked before adding
to the new queue.
@@ -971,6 +899,7 @@ void LFGMgr::MakeNewGroup(LfgProposal const& proposal)
player->CastSpell(player, LFG_SPELL_DUNGEON_COOLDOWN, false);
}
+ ASSERT(grp);
grp->SetDungeonDifficulty(Difficulty(dungeon->difficulty));
uint64 gguid = grp->GetGUID();
SetDungeon(gguid, dungeon->Entry());
@@ -1612,10 +1541,74 @@ LfgDungeonSet const& LFGMgr::GetSelectedDungeons(uint64 guid)
return PlayersStore[guid].GetSelectedDungeons();
}
-LfgLockMap const& LFGMgr::GetLockedDungeons(uint64 guid)
+LfgLockMap const LFGMgr::GetLockedDungeons(uint64 guid)
{
TC_LOG_TRACE("lfg.data.player.dungeons.locked.get", "Player: %u, LockedDungeons.", GUID_LOPART(guid));
- return PlayersStore[guid].GetLockedDungeons();
+ LfgLockMap lock;
+ Player* player = ObjectAccessor::FindPlayer(guid);
+ if (!player)
+ {
+ TC_LOG_WARN("lfg.data.player.dungeons.locked.get", "Player: %u not ingame while retrieving his LockedDungeons.", GUID_LOPART(guid));
+ return lock;
+ }
+
+ uint8 level = player->getLevel();
+ uint8 expansion = player->GetSession()->Expansion();
+ LfgDungeonSet const& dungeons = GetDungeonsByRandom(0);
+ bool denyJoin = !player->GetSession()->HasPermission(rbac::RBAC_PERM_JOIN_DUNGEON_FINDER);
+
+ for (LfgDungeonSet::const_iterator it = dungeons.begin(); it != dungeons.end(); ++it)
+ {
+ LFGDungeonData const* dungeon = GetLFGDungeon(*it);
+ if (!dungeon) // should never happen - We provide a list from sLFGDungeonStore
+ continue;
+
+ uint32 lockData = 0;
+ if (denyJoin)
+ lockData = LFG_LOCKSTATUS_RAID_LOCKED;
+ else if (dungeon->expansion > expansion)
+ lockData = LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION;
+ else if (DisableMgr::IsDisabledFor(DISABLE_TYPE_MAP, dungeon->map, player))
+ lockData = LFG_LOCKSTATUS_RAID_LOCKED;
+ else if (dungeon->difficulty > DUNGEON_DIFFICULTY_NORMAL && player->GetBoundInstance(dungeon->map, Difficulty(dungeon->difficulty)))
+ lockData = LFG_LOCKSTATUS_RAID_LOCKED;
+ else if (dungeon->minlevel > level)
+ lockData = LFG_LOCKSTATUS_TOO_LOW_LEVEL;
+ else if (dungeon->maxlevel < level)
+ lockData = LFG_LOCKSTATUS_TOO_HIGH_LEVEL;
+ else if (dungeon->seasonal && !IsSeasonActive(dungeon->id))
+ lockData = LFG_LOCKSTATUS_NOT_IN_SEASON;
+ else if (AccessRequirement const* ar = sObjectMgr->GetAccessRequirement(dungeon->map, Difficulty(dungeon->difficulty)))
+ {
+ if (ar->item_level && player->GetAverageItemLevel() < ar->item_level)
+ lockData = LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE;
+ else if (ar->achievement && !player->HasAchieved(ar->achievement))
+ lockData = LFG_LOCKSTATUS_MISSING_ACHIEVEMENT;
+ else if (player->GetTeam() == ALLIANCE && ar->quest_A && !player->GetQuestRewardStatus(ar->quest_A))
+ lockData = LFG_LOCKSTATUS_QUEST_NOT_COMPLETED;
+ else if (player->GetTeam() == HORDE && ar->quest_H && !player->GetQuestRewardStatus(ar->quest_H))
+ lockData = LFG_LOCKSTATUS_QUEST_NOT_COMPLETED;
+ else
+ if (ar->item)
+ {
+ if (!player->HasItemCount(ar->item) && (!ar->item2 || !player->HasItemCount(ar->item2)))
+ lockData = LFG_LOCKSTATUS_MISSING_ITEM;
+ }
+ else if (ar->item2 && !player->HasItemCount(ar->item2))
+ lockData = LFG_LOCKSTATUS_MISSING_ITEM;
+ }
+
+ /* @todo VoA closed if WG is not under team control (LFG_LOCKSTATUS_RAID_LOCKED)
+ lockData = LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE;
+ lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL;
+ lockData = LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL;
+ */
+
+ if (lockData)
+ lock[dungeon->Entry()] = lockData;
+ }
+
+ return lock;
}
uint8 LFGMgr::GetKicksLeft(uint64 guid)
@@ -1693,12 +1686,6 @@ void LFGMgr::SetSelectedDungeons(uint64 guid, LfgDungeonSet const& dungeons)
PlayersStore[guid].SetSelectedDungeons(dungeons);
}
-void LFGMgr::SetLockedDungeons(uint64 guid, LfgLockMap const& lock)
-{
- TC_LOG_TRACE("lfg.data.player.dungeon.locked.set", "Player: %u, LockedDungeons", GUID_LOPART(guid));
- PlayersStore[guid].SetLockedDungeons(lock);
-}
-
void LFGMgr::DecreaseKicksLeft(uint64 guid)
{
GroupsStore[guid].DecreaseKicksLeft();
diff --git a/src/server/game/DungeonFinding/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h
index 34e3fdd9670..f163f5f15ad 100644
--- a/src/server/game/DungeonFinding/LFGMgr.h
+++ b/src/server/game/DungeonFinding/LFGMgr.h
@@ -146,7 +146,7 @@ typedef std::map<uint64, LfgProposalPlayer> LfgProposalPlayerContainer;
typedef std::map<uint64, LfgPlayerBoot> LfgPlayerBootContainer;
typedef std::map<uint64, LfgGroupData> LfgGroupDataContainer;
typedef std::map<uint64, LfgPlayerData> LfgPlayerDataContainer;
-typedef UNORDERED_MAP<uint32, LFGDungeonData> LFGDungeonContainer;
+typedef std::unordered_map<uint32, LFGDungeonData> LFGDungeonContainer;
// Data needed by SMSG_LFG_JOIN_RESULT
struct LfgJoinResultData
@@ -354,8 +354,6 @@ class LFGMgr
// LFGScripts
/// Get leader of the group (using internal data)
uint64 GetLeader(uint64 guid);
- /// Initializes locked dungeons for given player (called at login or level change)
- void InitializeLockedDungeons(Player* player, uint8 level = 0);
/// Sets player team
void SetTeam(uint64 guid, uint8 team);
/// Sets player group
@@ -373,7 +371,7 @@ class LFGMgr
// LFGHandler
/// Get locked dungeons
- LfgLockMap const& GetLockedDungeons(uint64 guid);
+ LfgLockMap const GetLockedDungeons(uint64 guid);
/// Returns current lfg status
LfgUpdateData GetLfgStatus(uint64 guid);
/// Checks if Seasonal dungeon is active
@@ -429,7 +427,6 @@ class LFGMgr
void ClearState(uint64 guid, char const* debugMsg);
void SetDungeon(uint64 guid, uint32 dungeon);
void SetSelectedDungeons(uint64 guid, LfgDungeonSet const& dungeons);
- void SetLockedDungeons(uint64 guid, LfgLockMap const& lock);
void DecreaseKicksLeft(uint64 guid);
void SetState(uint64 guid, LfgState state);
void RemovePlayerData(uint64 guid);
diff --git a/src/server/game/DungeonFinding/LFGPlayerData.cpp b/src/server/game/DungeonFinding/LFGPlayerData.cpp
index 0553d4ac4fe..84b93543d7f 100644
--- a/src/server/game/DungeonFinding/LFGPlayerData.cpp
+++ b/src/server/game/DungeonFinding/LFGPlayerData.cpp
@@ -54,11 +54,6 @@ void LfgPlayerData::RestoreState()
m_State = m_OldState;
}
-void LfgPlayerData::SetLockedDungeons(LfgLockMap const& lockStatus)
-{
- m_LockedDungeons = lockStatus;
-}
-
void LfgPlayerData::SetTeam(uint8 team)
{
m_Team = team;
@@ -94,11 +89,6 @@ LfgState LfgPlayerData::GetOldState() const
return m_OldState;
}
-const LfgLockMap& LfgPlayerData::GetLockedDungeons() const
-{
- return m_LockedDungeons;
-}
-
uint8 LfgPlayerData::GetTeam() const
{
return m_Team;
diff --git a/src/server/game/DungeonFinding/LFGPlayerData.h b/src/server/game/DungeonFinding/LFGPlayerData.h
index e20e914a9c9..996764e7620 100644
--- a/src/server/game/DungeonFinding/LFGPlayerData.h
+++ b/src/server/game/DungeonFinding/LFGPlayerData.h
@@ -35,7 +35,6 @@ class LfgPlayerData
// General
void SetState(LfgState state);
void RestoreState();
- void SetLockedDungeons(LfgLockMap const& lock);
void SetTeam(uint8 team);
void SetGroup(uint64 group);
@@ -47,7 +46,6 @@ class LfgPlayerData
// General
LfgState GetState() const;
LfgState GetOldState() const;
- LfgLockMap const& GetLockedDungeons() const;
uint8 GetTeam() const;
uint64 GetGroup() const;
@@ -61,7 +59,6 @@ class LfgPlayerData
LfgState m_State; ///< State if group in LFG
LfgState m_OldState; ///< Old State - Used to restore state after failed Rolecheck/Proposal
// Player
- LfgLockMap m_LockedDungeons; ///< Dungeons player can't do and reason
uint8 m_Team; ///< Player team - determines the queue to join
uint64 m_Group; ///< Original group of player when joined LFG
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index 45c8c1b8bb2..49264dff039 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -34,14 +34,6 @@ namespace lfg
LFGPlayerScript::LFGPlayerScript() : PlayerScript("LFGPlayerScript") { }
-void LFGPlayerScript::OnLevelChanged(Player* player, uint8 /*oldLevel*/)
-{
- if (!sLFGMgr->isOptionEnabled(LFG_OPTION_ENABLE_DUNGEON_FINDER | LFG_OPTION_ENABLE_RAID_BROWSER))
- return;
-
- sLFGMgr->InitializeLockedDungeons(player);
-}
-
void LFGPlayerScript::OnLogout(Player* player)
{
if (!sLFGMgr->isOptionEnabled(LFG_OPTION_ENABLE_DUNGEON_FINDER | LFG_OPTION_ENABLE_RAID_BROWSER))
@@ -74,18 +66,10 @@ void LFGPlayerScript::OnLogin(Player* player)
}
}
- sLFGMgr->InitializeLockedDungeons(player);
sLFGMgr->SetTeam(player->GetGUID(), player->GetTeam());
/// @todo - Restore LfgPlayerData and send proper status to player if it was in a group
}
-void LFGPlayerScript::OnBindToInstance(Player* player, Difficulty difficulty, uint32 mapId, bool /*permanent*/)
-{
- MapEntry const* mapEntry = sMapStore.LookupEntry(mapId);
- if (mapEntry->IsDungeon() && difficulty > DUNGEON_DIFFICULTY_NORMAL)
- sLFGMgr->InitializeLockedDungeons(player);
-}
-
void LFGPlayerScript::OnMapChanged(Player* player)
{
Map const* map = player->GetMap();
diff --git a/src/server/game/DungeonFinding/LFGScripts.h b/src/server/game/DungeonFinding/LFGScripts.h
index c4e1cf0a203..87881ed7524 100644
--- a/src/server/game/DungeonFinding/LFGScripts.h
+++ b/src/server/game/DungeonFinding/LFGScripts.h
@@ -35,10 +35,8 @@ class LFGPlayerScript : public PlayerScript
LFGPlayerScript();
// Player Hooks
- void OnLevelChanged(Player* player, uint8 oldLevel);
void OnLogout(Player* player);
void OnLogin(Player* player);
- void OnBindToInstance(Player* player, Difficulty difficulty, uint32 mapId, bool permanent);
void OnMapChanged(Player* player);
};
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 40a09114935..03e32028232 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -257,7 +257,7 @@ void Creature::RemoveCorpse(bool setSpawnTime)
/**
* change the entry of creature until respawn
*/
-bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data)
+bool Creature::InitEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
{
CreatureTemplate const* normalInfo = sObjectMgr->GetCreatureTemplate(entry);
if (!normalInfo)
@@ -334,10 +334,10 @@ bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data
SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f);
SetFloatValue(UNIT_MOD_CAST_HASTE, 1.0f);
- SetSpeed(MOVE_WALK, cinfo->speed_walk);
- SetSpeed(MOVE_RUN, cinfo->speed_run);
- SetSpeed(MOVE_SWIM, 1.0f); // using 1.0 rate
- SetSpeed(MOVE_FLIGHT, 1.0f); // using 1.0 rate
+ SetSpeed(MOVE_WALK, cinfo->speed_walk);
+ SetSpeed(MOVE_RUN, cinfo->speed_run);
+ SetSpeed(MOVE_SWIM, 1.0f); // using 1.0 rate
+ SetSpeed(MOVE_FLIGHT, 1.0f); // using 1.0 rate
// Will set UNIT_FIELD_BOUNDINGRADIUS and UNIT_FIELD_COMBATREACH
SetObjectScale(cinfo->scale);
@@ -355,9 +355,9 @@ bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data
return true;
}
-bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
+bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
{
- if (!InitEntry(Entry, team, data))
+ if (!InitEntry(entry, data))
return false;
CreatureTemplate const* cInfo = GetCreatureTemplate();
@@ -368,10 +368,7 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
if (!GetCreatureAddon())
SetSheath(SHEATH_STATE_MELEE);
- if (team == HORDE)
- setFaction(cInfo->faction_H);
- else
- setFaction(cInfo->faction_A);
+ setFaction(cInfo->faction);
uint32 npcflag, unit_flags, dynamicflags;
ObjectMgr::ChooseCreatureFlags(cInfo, npcflag, unit_flags, dynamicflags, data);
@@ -409,7 +406,7 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
UpdateAllStats();
// checked and error show at loading templates
- if (FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction_A))
+ if (FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction))
{
if (factionTemplate->factionFlags & FACTION_TEMPLATE_FLAG_PVP)
SetPvP(true);
@@ -563,8 +560,8 @@ void Creature::Update(uint32 diff)
break;
bool bInCombat = IsInCombat() && (!GetVictim() || // if IsInCombat() is true and this has no victim
- !GetVictim()->GetCharmerOrOwnerPlayerOrPlayerItself() || // or the victim/owner/charmer is not a player
- !GetVictim()->GetCharmerOrOwnerPlayerOrPlayerItself()->IsGameMaster()); // or the victim/owner/charmer is not a GameMaster
+ !EnsureVictim()->GetCharmerOrOwnerPlayerOrPlayerItself() || // or the victim/owner/charmer is not a player
+ !EnsureVictim()->GetCharmerOrOwnerPlayerOrPlayerItself()->IsGameMaster()); // or the victim/owner/charmer is not a GameMaster
/*if (m_regenTimer <= diff)
{*/
@@ -691,7 +688,7 @@ void Creature::DoFleeToGetAssistance()
UpdateSpeed(MOVE_RUN, false);
if (!creature)
- //SetFeared(true, GetVictim()->GetGUID(), 0, sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_FLEE_DELAY));
+ //SetFeared(true, EnsureVictim()->GetGUID(), 0, sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_FLEE_DELAY));
/// @todo use 31365
SetControlled(true, UNIT_STATE_FLEEING);
else
@@ -737,16 +734,16 @@ void Creature::Motion_Initialize()
GetMotionMaster()->Initialize();
}
-bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData* data)
+bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const* data /*= nullptr*/, uint32 vehId /*= 0*/)
{
ASSERT(map);
SetMap(map);
SetPhaseMask(phaseMask, false);
- CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(Entry);
+ CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry);
if (!cinfo)
{
- TC_LOG_ERROR("sql.sql", "Creature::Create(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, Entry);
+ TC_LOG_ERROR("sql.sql", "Creature::Create(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, entry);
return false;
}
@@ -754,13 +751,12 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry,
//! returning correct zone id for selecting OutdoorPvP/Battlefield script
Relocate(x, y, z, ang);
- //oX = x; oY = y; dX = x; dY = y; m_moveTime = 0; m_startMove = 0;
- if (!CreateFromProto(guidlow, Entry, vehId, team, data))
+ if (!CreateFromProto(guidlow, entry, data, vehId))
return false;
if (!IsPositionValid())
{
- TC_LOG_ERROR("entities.unit", "Creature::Create(): given coordinates for creature (guidlow %d, entry %d) are not valid (X: %f, Y: %f, Z: %f, O: %f)", guidlow, Entry, x, y, z, ang);
+ TC_LOG_ERROR("entities.unit", "Creature::Create(): given coordinates for creature (guidlow %d, entry %d) are not valid (X: %f, Y: %f, Z: %f, O: %f)", guidlow, entry, x, y, z, ang);
return false;
}
@@ -812,9 +808,6 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry,
m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST);
}
- if (Entry == VISUAL_WAYPOINT)
- SetVisible(false);
-
return true;
}
@@ -822,10 +815,12 @@ void Creature::InitializeReactState()
{
if (IsTotem() || IsTrigger() || GetCreatureType() == CREATURE_TYPE_CRITTER || IsSpiritService())
SetReactState(REACT_PASSIVE);
+ /*
+ else if (IsCivilian())
+ SetReactState(REACT_DEFENSIVE);
+ */
else
SetReactState(REACT_AGGRESSIVE);
- /*else if (IsCivilian())
- SetReactState(REACT_DEFENSIVE);*/;
}
bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const
@@ -1166,35 +1161,35 @@ float Creature::GetSpellDamageMod(int32 Rank) const
}
}
-bool Creature::CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint32 team, const CreatureData* data)
+bool Creature::CreateFromProto(uint32 guidlow, uint32 entry, CreatureData const* data /*= nullptr*/, uint32 vehId /*= 0*/)
{
SetZoneScript();
if (GetZoneScript() && data)
{
- Entry = GetZoneScript()->GetCreatureEntry(guidlow, data);
- if (!Entry)
+ entry = GetZoneScript()->GetCreatureEntry(guidlow, data);
+ if (!entry)
return false;
}
- CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(Entry);
+ CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry);
if (!cinfo)
{
- TC_LOG_ERROR("sql.sql", "Creature::CreateFromProto(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, Entry);
+ TC_LOG_ERROR("sql.sql", "Creature::CreateFromProto(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, entry);
return false;
}
- SetOriginalEntry(Entry);
+ SetOriginalEntry(entry);
if (!vehId)
vehId = cinfo->VehicleId;
- Object::_Create(guidlow, Entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
+ Object::_Create(guidlow, entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
- if (!UpdateEntry(Entry, team, data))
+ if (!UpdateEntry(entry, data))
return false;
if (vehId)
- CreateVehicleKit(vehId, Entry);
+ CreateVehicleKit(vehId, entry);
return true;
}
@@ -1218,8 +1213,7 @@ bool Creature::LoadCreatureFromDB(uint32 guid, Map* map, bool addToMap)
else
guid = sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT);
- uint16 team = 0;
- if (!Create(guid, map, data->phaseMask, data->id, 0, team, data->posX, data->posY, data->posZ, data->orientation, data))
+ if (!Create(guid, map, data->phaseMask, data->id, data->posX, data->posY, data->posZ, data->orientation, data))
return false;
//We should set first home position, because then AI calls home movement
@@ -1852,7 +1846,7 @@ void Creature::CallAssistance()
if (!assistList.empty())
{
- AssistDelayEvent* e = new AssistDelayEvent(GetVictim()->GetGUID(), *this);
+ AssistDelayEvent* e = new AssistDelayEvent(EnsureVictim()->GetGUID(), *this);
while (!assistList.empty())
{
// Pushing guids because in delay can happen some creature gets despawned => invalid pointer
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index d9236bbfb8e..8a22ce61f0d 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -89,8 +89,7 @@ struct CreatureTemplate
uint8 maxlevel;
uint32 expansion;
uint32 expansionUnknown; // either 0 or 3, sent to the client / wdb
- uint32 faction_A;
- uint32 faction_H;
+ uint32 faction;
uint32 npcflag;
float speed_walk;
float speed_run;
@@ -173,7 +172,7 @@ struct CreatureTemplate
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint32, CreatureTemplate> CreatureTemplateContainer;
+typedef std::unordered_map<uint32, CreatureTemplate> CreatureTemplateContainer;
// GCC have alternative #pragma pack(N) syntax and old gcc version not support pack(push, N), also any gcc version not support it at some platform
#if defined(__GNUC__)
@@ -221,7 +220,7 @@ struct CreatureBaseStats
static CreatureBaseStats const* GetBaseStats(uint8 level, uint8 unitClass);
};
-typedef UNORDERED_MAP<uint16, CreatureBaseStats> CreatureBaseStatsContainer;
+typedef std::unordered_map<uint16, CreatureBaseStats> CreatureBaseStatsContainer;
struct CreatureLocale
{
@@ -246,8 +245,8 @@ struct EquipmentInfo
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint8, EquipmentInfo> EquipmentInfoContainerInternal;
-typedef UNORDERED_MAP<uint32, EquipmentInfoContainerInternal> EquipmentInfoContainer;
+typedef std::unordered_map<uint8, EquipmentInfo> EquipmentInfoContainerInternal;
+typedef std::unordered_map<uint32, EquipmentInfoContainerInternal> EquipmentInfoContainer;
// from `creature` table
struct CreatureData
@@ -287,7 +286,7 @@ struct CreatureModelInfo
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint16, CreatureModelInfo> CreatureModelContainer;
+typedef std::unordered_map<uint16, CreatureModelInfo> CreatureModelContainer;
enum InhabitTypeValues
{
@@ -328,7 +327,7 @@ struct CreatureAddon
std::vector<uint32> auras;
};
-typedef UNORDERED_MAP<uint32, CreatureAddon> CreatureAddonContainer;
+typedef std::unordered_map<uint32, CreatureAddon> CreatureAddonContainer;
// Vendors
struct VendorItem
@@ -405,7 +404,7 @@ struct TrainerSpell
bool IsCastable() const { return learnedSpell[0] != spell; }
};
-typedef UNORDERED_MAP<uint32 /*spellid*/, TrainerSpell> TrainerSpellMap;
+typedef std::unordered_map<uint32 /*spellid*/, TrainerSpell> TrainerSpellMap;
struct TrainerSpellData
{
@@ -440,7 +439,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void DisappearAndDie();
- 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 Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const* data = nullptr, uint32 vehId = 0);
bool LoadCreaturesAddon(bool reload = false);
void SelectLevel();
void LoadEquipment(int8 id = 1, bool force = false);
@@ -498,7 +497,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
bool HasSpell(uint32 spellID) const;
- bool UpdateEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL);
+ bool UpdateEntry(uint32 entry, CreatureData const* data = nullptr);
void UpdateMovementFlags();
@@ -509,9 +508,9 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void UpdateMaxHealth();
void UpdateMaxPower(Powers power);
void UpdateAttackPowerAndDamage(bool ranged = false);
- void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) OVERRIDE;
+ void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) override;
- void SetCanDualWield(bool value) OVERRIDE;
+ void SetCanDualWield(bool value) override;
int8 GetOriginalEquipmentId() const { return m_originalEquipmentId; }
uint8 GetCurrentEquipmentId() { return m_equipmentId; }
void SetCurrentEquipmentId(uint8 id) { m_equipmentId = id; }
@@ -628,13 +627,13 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void SetHomePosition(float x, float y, float z, float o) { m_homePosition.Relocate(x, y, z, o); }
void SetHomePosition(const Position &pos) { m_homePosition.Relocate(pos); }
- void GetHomePosition(float &x, float &y, float &z, float &ori) const { m_homePosition.GetPosition(x, y, z, ori); }
- Position GetHomePosition() const { return m_homePosition; }
+ void GetHomePosition(float& x, float& y, float& z, float& ori) const { m_homePosition.GetPosition(x, y, z, ori); }
+ Position const& GetHomePosition() const { return m_homePosition; }
void SetTransportHomePosition(float x, float y, float z, float o) { m_transportHomePosition.Relocate(x, y, z, o); }
void SetTransportHomePosition(const Position &pos) { m_transportHomePosition.Relocate(pos); }
- void GetTransportHomePosition(float &x, float &y, float &z, float &ori) { m_transportHomePosition.GetPosition(x, y, z, ori); }
- Position GetTransportHomePosition() { return m_transportHomePosition; }
+ void GetTransportHomePosition(float& x, float& y, float& z, float& ori) const { m_transportHomePosition.GetPosition(x, y, z, ori); }
+ Position const& GetTransportHomePosition() const { return m_transportHomePosition; }
uint32 GetWaypointPath() const { return m_path_id; }
void LoadPath(uint32 pathid) { m_path_id = pathid; }
@@ -672,8 +671,8 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void ReleaseFocus(Spell const* focusSpell);
protected:
- bool CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint32 team, const CreatureData* data = NULL);
- bool InitEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL);
+ bool CreateFromProto(uint32 guidlow, uint32 entry, CreatureData const* data = nullptr, uint32 vehId = 0);
+ bool InitEntry(uint32 entry, CreatureData const* data = nullptr);
// vendor items
VendorItemCounts m_vendorItemCounts;
diff --git a/src/server/game/Entities/Creature/CreatureGroups.h b/src/server/game/Entities/Creature/CreatureGroups.h
index 846b05abc17..b790853f5e1 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.h
+++ b/src/server/game/Entities/Creature/CreatureGroups.h
@@ -20,7 +20,7 @@
#define _FORMATIONS_H
#include "Define.h"
-#include "UnorderedMap.h"
+#include <unordered_map>
#include <map>
class Creature;
@@ -36,7 +36,7 @@ struct FormationInfo
uint16 point_2;
};
-typedef UNORDERED_MAP<uint32/*memberDBGUID*/, FormationInfo*> CreatureGroupInfoType;
+typedef std::unordered_map<uint32/*memberDBGUID*/, FormationInfo*> CreatureGroupInfoType;
class FormationMgr
{
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp
index 497b3a44b4f..c21d730b04c 100644
--- a/src/server/game/Entities/Creature/GossipDef.cpp
+++ b/src/server/game/Entities/Creature/GossipDef.cpp
@@ -28,6 +28,7 @@ GossipMenu::GossipMenu()
{
_menuId = 0;
_locale = DEFAULT_LOCALE;
+ _senderGUID = 0;
}
GossipMenu::~GossipMenu()
@@ -90,19 +91,40 @@ void GossipMenu::AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, ui
continue;
/// Store texts for localization.
- std::string strOptionText = itr->second.OptionText;
- std::string strBoxText = itr->second.BoxText;
+ std::string strOptionText, strBoxText;
+ BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextId);
+ BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextId);
+
+ /// OptionText
+ if (optionBroadcastText)
+ strOptionText = optionBroadcastText->GetText(GetLocale());
+ else
+ strOptionText = itr->second.OptionText;
+
+ /// BoxText
+ if (boxBroadcastText)
+ strBoxText = boxBroadcastText->GetText(GetLocale());
+ else
+ strBoxText = itr->second.BoxText;
/// Check need of localization.
- if (GetLocale() > LOCALE_enUS)
- /// Find localizations from database.
- if (GossipMenuItemsLocale const* no = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, menuItemId)))
+ if (GetLocale() != DEFAULT_LOCALE)
+ {
+ if (!optionBroadcastText)
{
- /// Translate texts if there are any.
- ObjectMgr::GetLocaleString(no->OptionText, GetLocale(), strOptionText);
- ObjectMgr::GetLocaleString(no->BoxText, GetLocale(), strBoxText);
+ /// Find localizations from database.
+ if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, menuItemId)))
+ ObjectMgr::GetLocaleString(gossipMenuLocale->OptionText, GetLocale(), strOptionText);
}
+ if (!boxBroadcastText)
+ {
+ /// Find localizations from database.
+ if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, menuItemId)))
+ ObjectMgr::GetLocaleString(gossipMenuLocale->BoxText, GetLocale(), strBoxText);
+ }
+ }
+
/// Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro.
AddMenuItem(-1, itr->second.OptionIcon, strOptionText, sender, action, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded);
}
@@ -166,8 +188,10 @@ void PlayerMenu::ClearMenus()
_questMenu.ClearMenu();
}
-void PlayerMenu::SendGossipMenu(uint32 titleTextId, uint64 objectGUID) const
+void PlayerMenu::SendGossipMenu(uint32 titleTextId, uint64 objectGUID)
{
+ _gossipMenu.SetSenderGUID(objectGUID);
+
WorldPacket data(SMSG_GOSSIP_MESSAGE, 100); // guess size
data << uint64(objectGUID);
data << uint32(_gossipMenu.GetMenuId()); // new 2.4.0
@@ -222,8 +246,10 @@ void PlayerMenu::SendGossipMenu(uint32 titleTextId, uint64 objectGUID) const
_session->SendPacket(&data);
}
-void PlayerMenu::SendCloseGossip() const
+void PlayerMenu::SendCloseGossip()
{
+ _gossipMenu.SetSenderGUID(0);
+
WorldPacket data(SMSG_GOSSIP_COMPLETE, 0);
_session->SendPacket(&data);
}
diff --git a/src/server/game/Entities/Creature/GossipDef.h b/src/server/game/Entities/Creature/GossipDef.h
index 47711993005..6d42d7c33f7 100644
--- a/src/server/game/Entities/Creature/GossipDef.h
+++ b/src/server/game/Entities/Creature/GossipDef.h
@@ -25,7 +25,7 @@
class WorldSession;
-#define GOSSIP_MAX_MENU_ITEMS 64 // client supported items unknown, but provided number must be enough
+#define GOSSIP_MAX_MENU_ITEMS 32
#define DEFAULT_GOSSIP_MESSAGE 0xffffff
enum Gossip_Option
@@ -167,6 +167,8 @@ class GossipMenu
void SetMenuId(uint32 menu_id) { _menuId = menu_id; }
uint32 GetMenuId() const { return _menuId; }
+ void SetSenderGUID(uint64 guid) { _senderGUID = guid; }
+ uint64 GetSenderGUID() const { return _senderGUID; }
void SetLocale(LocaleConstant locale) { _locale = locale; }
LocaleConstant GetLocale() const { return _locale; }
@@ -215,6 +217,7 @@ class GossipMenu
GossipMenuItemContainer _menuItems;
GossipMenuItemDataContainer _menuItemData;
uint32 _menuId;
+ uint64 _senderGUID;
LocaleConstant _locale;
};
@@ -264,8 +267,8 @@ class PlayerMenu
uint32 GetGossipOptionAction(uint32 selection) const { return _gossipMenu.GetMenuItemAction(selection); }
bool IsGossipOptionCoded(uint32 selection) const { return _gossipMenu.IsMenuItemCoded(selection); }
- void SendGossipMenu(uint32 titleTextId, uint64 objectGUID) const;
- void SendCloseGossip() const;
+ void SendGossipMenu(uint32 titleTextId, uint64 objectGUID);
+ void SendCloseGossip();
void SendPointOfInterest(uint32 poiId) const;
/*********************************************************/
diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h
index e93f66ed726..1cee6361172 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.h
+++ b/src/server/game/Entities/Creature/TemporarySummon.h
@@ -95,7 +95,7 @@ class Guardian : public Minion
void UpdateMaxHealth();
void UpdateMaxPower(Powers power);
void UpdateAttackPowerAndDamage(bool ranged = false);
- void UpdateDamagePhysical(WeaponAttackType attType) OVERRIDE;
+ void UpdateDamagePhysical(WeaponAttackType attType) override;
int32 GetBonusDamage() const { return m_bonusSpellDamage; }
void SetBonusDamage(int32 damage);
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
index 53e4e92d6cd..47ec8fceb0f 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
@@ -26,6 +26,7 @@
#include "CellImpl.h"
#include "GridNotifiersImpl.h"
#include "ScriptMgr.h"
+#include "Transport.h"
DynamicObject::DynamicObject(bool isWorldObject) : WorldObject(isWorldObject),
_aura(NULL), _removedAura(NULL), _caster(NULL), _duration(0), _isViewpoint(false)
@@ -47,6 +48,18 @@ DynamicObject::~DynamicObject()
delete _removedAura;
}
+void DynamicObject::CleanupsBeforeDelete(bool finalCleanup /* = true */)
+{
+ WorldObject::CleanupsBeforeDelete(finalCleanup);
+
+ if (Transport* transport = GetTransport())
+ {
+ transport->RemovePassenger(this);
+ SetTransport(NULL);
+ m_movementInfo.transport.Reset();
+ }
+}
+
void DynamicObject::AddToWorld()
{
///- Register the dynamicObject for guid lookup and for caster
@@ -102,8 +115,28 @@ bool DynamicObject::CreateDynamicObject(uint32 guidlow, Unit* caster, SpellInfo
if (IsWorldObject())
setActive(true); //must before add to map to be put in world container
+ Transport* transport = caster->GetTransport();
+ if (transport)
+ {
+ m_movementInfo.transport.guid = GetGUID();
+
+ float x, y, z, o;
+ pos.GetPosition(x, y, z, o);
+ transport->CalculatePassengerOffset(x, y, z, &o);
+ m_movementInfo.transport.pos.Relocate(x, y, z, o);
+
+ SetTransport(transport);
+ // This object must be added to transport before adding to map for the client to properly display it
+ transport->AddPassenger(this);
+ }
+
if (!GetMap()->AddToMap(this))
+ {
+ // Returning false will cause the object to be deleted - remove from transport
+ if (transport)
+ transport->RemovePassenger(this);
return false;
+ }
return true;
}
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.h b/src/server/game/Entities/DynamicObject/DynamicObject.h
index 66e3a2cff02..735199db484 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.h
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.h
@@ -32,7 +32,7 @@ enum DynamicObjectType
DYNAMIC_OBJECT_FARSIGHT_FOCUS = 0x2
};
-class DynamicObject : public WorldObject, public GridObject<DynamicObject>
+class DynamicObject : public WorldObject, public GridObject<DynamicObject>, public MapObject
{
public:
DynamicObject(bool isWorldObject);
@@ -41,6 +41,8 @@ class DynamicObject : public WorldObject, public GridObject<DynamicObject>
void AddToWorld();
void RemoveFromWorld();
+ void CleanupsBeforeDelete(bool finalCleanup = true) override;
+
bool CreateDynamicObject(uint32 guidlow, Unit* caster, SpellInfo const* spell, Position const& pos, float radius, DynamicObjectType type);
void Update(uint32 p_time);
void Remove();
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 01bdf63d464..acfc8da9bc8 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -47,12 +47,13 @@ GameObject::GameObject() : WorldObject(false), MapObject(),
m_respawnTime = 0;
m_respawnDelayTime = 300;
m_lootState = GO_NOT_READY;
+ m_lootStateUnitGUID = 0;
m_spawnedByDefault = true;
m_usetimes = 0;
m_spellId = 0;
m_cooldownTime = 0;
m_goInfo = NULL;
- m_ritualOwner = NULL;
+ m_ritualOwnerGUID = 0;
m_goData = NULL;
m_DBTableGuid = 0;
@@ -148,7 +149,7 @@ void GameObject::AddToWorld()
sObjectAccessor->AddObject(this);
// The state can be changed after GameObject::Create but before GameObject::AddToWorld
- bool toggledState = GetGoType() == GAMEOBJECT_TYPE_CHEST ? getLootState() == GO_READY : GetGoState() == GO_STATE_READY;
+ bool toggledState = GetGoType() == GAMEOBJECT_TYPE_CHEST ? getLootState() == GO_READY : (GetGoState() == GO_STATE_READY || IsTransport());
if (m_model)
GetMap()->InsertGameObjectModel(*m_model);
@@ -309,16 +310,15 @@ void GameObject::Update(uint32 diff)
GameObjectTemplate const* goInfo = GetGOInfo();
// Bombs
if (goInfo->trap.type == 2)
- m_cooldownTime = time(NULL) + 10; // Hardcoded tooltip value
+ // Hardcoded tooltip value
+ m_cooldownTime = time(NULL) + 10;
else if (Unit* owner = GetOwner())
- {
if (owner->IsInCombat())
m_cooldownTime = time(NULL) + goInfo->trap.startDelay;
- }
- m_lootState = GO_READY;
+
+ SetLootState(GO_READY);
break;
}
- /* TODO: Fix movement in unloaded grid - currently GO will just disappear
case GAMEOBJECT_TYPE_TRANSPORT:
{
if (!m_goValue.Transport.AnimationInfo)
@@ -327,6 +327,7 @@ void GameObject::Update(uint32 diff)
if (GetGoState() == GO_STATE_READY)
{
m_goValue.Transport.PathProgress += diff;
+ /* TODO: Fix movement in unloaded grid - currently GO will just disappear
uint32 timer = m_goValue.Transport.PathProgress % m_goValue.Transport.AnimationInfo->TotalTime;
TransportAnimationEntry const* node = m_goValue.Transport.AnimationInfo->GetAnimNode(timer);
if (node && m_goValue.Transport.CurrentSeg != node->TimeSeg)
@@ -342,14 +343,14 @@ void GameObject::Update(uint32 diff)
G3D::Vector3 src(GetPositionX(), GetPositionY(), GetPositionZ());
- TC_LOG_INFO("misc", "Src: %s Dest: %s", src.toString().c_str(), pos.toString().c_str());
+ TC_LOG_DEBUG("misc", "Src: %s Dest: %s", src.toString().c_str(), pos.toString().c_str());
GetMap()->GameObjectRelocation(this, pos.x, pos.y, pos.z, GetOrientation());
}
+ */
}
break;
}
- */
case GAMEOBJECT_TYPE_FISHINGNODE:
{
// fishing code (bobber ready)
@@ -396,7 +397,7 @@ void GameObject::Update(uint32 diff)
if (targetGuid == dbtableHighGuid) // if linking self, never respawn (check delayed to next day)
SetRespawnTime(DAY);
else
- m_respawnTime = (now > linkedRespawntime ? now : linkedRespawntime)+urand(5, MINUTE); // else copy time from master and add a little
+ m_respawnTime = (now > linkedRespawntime ? now : linkedRespawntime) + urand(5, MINUTE); // else copy time from master and add a little
SaveRespawnTime(); // also save to DB immediately
return;
}
@@ -423,7 +424,7 @@ void GameObject::Update(uint32 diff)
}
case GAMEOBJECT_TYPE_DOOR:
case GAMEOBJECT_TYPE_BUTTON:
- //we need to open doors if they are closed (add there another condition if this code breaks some usage, but it need to be here for battlegrounds)
+ // We need to open doors if they are closed (add there another condition if this code breaks some usage, but it need to be here for battlegrounds)
if (GetGoState() != GO_STATE_READY)
ResetDoorOrButton();
break;
@@ -435,13 +436,15 @@ void GameObject::Update(uint32 diff)
break;
}
- if (!m_spawnedByDefault) // despawn timer
+ // Despawn timer
+ if (!m_spawnedByDefault)
{
- // can be despawned or destroyed
+ // Can be despawned or destroyed
SetLootState(GO_JUST_DEACTIVATED);
return;
}
- // respawn timer
+
+ // Respawn timer
uint32 poolid = GetDBTableGUIDLow() ? sPoolMgr->IsPartOfAPool<GameObject>(GetDBTableGUIDLow()) : 0;
if (poolid)
sPoolMgr->UpdatePool<GameObject>(poolid, GetDBTableGUIDLow());
@@ -452,85 +455,59 @@ void GameObject::Update(uint32 diff)
if (isSpawned())
{
- // traps can have time and can not have
GameObjectTemplate const* goInfo = GetGOInfo();
if (goInfo->type == GAMEOBJECT_TYPE_TRAP)
{
if (m_cooldownTime >= time(NULL))
- return;
+ break;
- // Type 2 - Bomb (will go away after casting it's spell)
+ // Type 2 (bomb) does not need to be triggered by a unit and despawns after casting its spell.
if (goInfo->trap.type == 2)
{
- if (goInfo->trap.spellId)
- CastSpell(NULL, goInfo->trap.spellId); // FIXME: null target won't work for target type 1
- SetLootState(GO_JUST_DEACTIVATED);
+ SetLootState(GO_ACTIVATED);
break;
}
- // Type 0 and 1 - trap (type 0 will not get removed after casting a spell)
- Unit* owner = GetOwner();
- Unit* ok = NULL; // pointer to appropriate target if found any
-
- bool IsBattlegroundTrap = false;
- //FIXME: this is activation radius (in different casting radius that must be selected from spell data)
- /// @todo move activated state code (cast itself) to GO_ACTIVATED, in this place only check activating and set state
- float radius = (float)(goInfo->trap.radius)/3*2; /// @todo rename radius to diameter (goInfo->trap.radius) should be (goInfo->trap.diameter)
- if (!radius)
- {
- if (goInfo->trap.cooldown != 3) // cast in other case (at some triggering/linked go/etc explicit call)
- return;
- else
- {
- if (m_respawnTime > 0)
- break;
- radius = (float)goInfo->trap.cooldown; // battlegrounds gameobjects has data2 == 0 && data5 == 3
- IsBattlegroundTrap = true;
+ // Type 0 despawns after being triggered, type 1 does not.
+ /// @todo This is activation radius. Casting radius must be selected from spell data.
+ float radius;
+ if (!goInfo->trap.diameter)
+ {
+ // Battleground traps: data2 == 0 && data5 == 3
+ if (goInfo->trap.cooldown != 3)
+ break;
- if (!radius)
- return;
- }
+ radius = 3.f;
}
+ else
+ radius = goInfo->trap.diameter / 2.f;
+
+ // Pointer to appropriate target if found any
+ Unit* target = NULL;
- // Note: this hack with search required until GO casting not implemented
- // search unfriendly creature
- if (owner) // hunter trap
+ /// @todo this hack with search required until GO casting not implemented
+ if (Unit* owner = GetOwner())
{
+ // Hunter trap: Search units which are unfriendly to the trap's owner
Trinity::AnyUnfriendlyNoTotemUnitInObjectRangeCheck checker(this, owner, radius);
- Trinity::UnitSearcher<Trinity::AnyUnfriendlyNoTotemUnitInObjectRangeCheck> searcher(this, ok, checker);
+ Trinity::UnitSearcher<Trinity::AnyUnfriendlyNoTotemUnitInObjectRangeCheck> searcher(this, target, checker);
VisitNearbyGridObject(radius, searcher);
- if (!ok) VisitNearbyWorldObject(radius, searcher);
+ if (!target)
+ VisitNearbyWorldObject(radius, searcher);
}
- else // environmental trap
+ else
{
- // environmental damage spells already have around enemies targeting but this not help in case not existed GO casting support
- // affect only players
+ // Environmental trap: Any player
Player* player = NULL;
Trinity::AnyPlayerInObjectRangeCheck checker(this, radius);
Trinity::PlayerSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(this, player, checker);
VisitNearbyWorldObject(radius, searcher);
- ok = player;
+ target = player;
}
- if (ok)
- {
- // some traps do not have spell but should be triggered
- if (goInfo->trap.spellId)
- CastSpell(ok, goInfo->trap.spellId);
-
- m_cooldownTime = time(NULL) + (goInfo->trap.cooldown ? goInfo->trap.cooldown : uint32(4)); // template or 4 seconds
-
- if (goInfo->trap.type == 1)
- SetLootState(GO_JUST_DEACTIVATED);
+ if (target)
+ SetLootState(GO_ACTIVATED, target);
- if (IsBattlegroundTrap && ok->GetTypeId() == TYPEID_PLAYER)
- {
- //Battleground gameobjects case
- if (ok->ToPlayer()->InBattleground())
- if (Battleground* bg = ok->ToPlayer()->GetBattleground())
- bg->HandleTriggerBuff(GetGUID());
- }
- }
}
else if (uint32 max_charges = goInfo->GetCharges())
{
@@ -550,7 +527,7 @@ void GameObject::Update(uint32 diff)
{
case GAMEOBJECT_TYPE_DOOR:
case GAMEOBJECT_TYPE_BUTTON:
- if (GetGOInfo()->GetAutoCloseTime() && (m_cooldownTime < time(NULL)))
+ if (m_cooldownTime && (m_cooldownTime < time(NULL)))
ResetDoorOrButton();
break;
case GAMEOBJECT_TYPE_GOOBER:
@@ -575,6 +552,38 @@ void GameObject::Update(uint32 diff)
}
else m_groupLootTimer -= diff;
}
+ break;
+ case GAMEOBJECT_TYPE_TRAP:
+ {
+ GameObjectTemplate const* goInfo = GetGOInfo();
+ if (goInfo->trap.type == 2 && goInfo->trap.spellId)
+ {
+ /// @todo NULL target won't work for target type 1
+ CastSpell(NULL, goInfo->trap.spellId);
+ SetLootState(GO_JUST_DEACTIVATED);
+ }
+ else if (Unit* target = Unit::GetUnit(*this, m_lootStateUnitGUID))
+ {
+ // Some traps do not have a spell but should be triggered
+ if (goInfo->trap.spellId)
+ CastSpell(target, goInfo->trap.spellId);
+
+ // Template value or 4 seconds
+ m_cooldownTime = time(NULL) + (goInfo->trap.cooldown ? goInfo->trap.cooldown : uint32(4));
+
+ if (goInfo->trap.type == 1)
+ SetLootState(GO_JUST_DEACTIVATED);
+ else if (!goInfo->trap.type)
+ SetLootState(GO_READY);
+
+ // Battleground gameobjects have data2 == 0 && data5 == 3
+ if (!goInfo->trap.diameter && goInfo->trap.cooldown == 3)
+ if (Player* player = target->ToPlayer())
+ if (Battleground* bg = player->GetBattleground())
+ bg->HandleTriggerBuff(GetGUID());
+ }
+ break;
+ }
default:
break;
}
@@ -987,9 +996,17 @@ bool GameObject::ActivateToQuest(Player* target) const
switch (GetGoType())
{
- // scan GO chest with loot including quest items
+ case GAMEOBJECT_TYPE_QUESTGIVER:
+ {
+ GameObject* go = const_cast<GameObject*>(this);
+ QuestGiverStatus questStatus = target->GetQuestDialogStatus(go);
+ if (questStatus > DIALOG_STATUS_UNAVAILABLE)
+ return true;
+ break;
+ }
case GAMEOBJECT_TYPE_CHEST:
{
+ // scan GO chest with loot including quest items
if (LootTemplates_Gameobject.HaveQuestLootForPlayer(GetGOInfo()->GetLootId(), target))
{
if (Battleground const* bg = target->GetBattleground())
@@ -1267,10 +1284,8 @@ void GameObject::Use(Unit* user)
{
GameObjectTemplate const* info = GetGOInfo();
- if (user->GetTypeId() == TYPEID_PLAYER)
+ if (Player* player = user->ToPlayer())
{
- Player* player = user->ToPlayer();
-
if (info->goober.pageId) // show page...
{
WorldPacket data(SMSG_GAMEOBJECT_PAGETEXT, 8);
@@ -1287,7 +1302,7 @@ void GameObject::Use(Unit* user)
{
TC_LOG_DEBUG("maps.script", "Goober ScriptStart id %u for GO entry %u (GUID %u).", info->goober.eventId, GetEntry(), GetDBTableGUIDLow());
GetMap()->ScriptsStart(sEventScripts, info->goober.eventId, player, this);
- EventInform(info->goober.eventId);
+ EventInform(info->goober.eventId, user);
}
// possible quest objective for active quests
@@ -1298,9 +1313,6 @@ void GameObject::Use(Unit* user)
break;
}
- if (Battleground* bg = player->GetBattleground())
- bg->EventPlayerUsedGO(player, this);
-
player->KillCreditGO(info->entry, GetGUID());
}
@@ -1437,9 +1449,16 @@ void GameObject::Use(Unit* user)
GameObjectTemplate const* info = GetGOInfo();
+ Player* m_ritualOwner = NULL;
+ if (m_ritualOwnerGUID)
+ m_ritualOwner = ObjectAccessor::FindPlayer(m_ritualOwnerGUID);
+
// ritual owner is set for GO's without owner (not summoned)
if (!m_ritualOwner && !owner)
+ {
+ m_ritualOwnerGUID = player->GetGUID();
m_ritualOwner = player;
+ }
if (owner)
{
@@ -1510,7 +1529,7 @@ void GameObject::Use(Unit* user)
else
{
// reset ritual for this GO
- m_ritualOwner = NULL;
+ m_ritualOwnerGUID = 0;
m_unique_users.clear();
m_usetimes = 0;
}
@@ -1789,7 +1808,7 @@ bool GameObject::IsInRange(float x, float y, float z, float radius) const
&& dz < info->maxZ + radius && dz > info->minZ - radius;
}
-void GameObject::EventInform(uint32 eventId)
+void GameObject::EventInform(uint32 eventId, WorldObject* invoker /*= NULL*/)
{
if (!eventId)
return;
@@ -1797,8 +1816,12 @@ void GameObject::EventInform(uint32 eventId)
if (AI())
AI()->EventInform(eventId);
- if (m_zoneScript)
- m_zoneScript->ProcessEvent(this, eventId);
+ if (GetZoneScript())
+ GetZoneScript()->ProcessEvent(this, eventId);
+
+ if (BattlegroundMap* bgMap = GetMap()->ToBattlegroundMap())
+ if (bgMap->GetBG())
+ bgMap->GetBG()->ProcessEvent(this, eventId, invoker);
}
// overwrite WorldObject function for proper name localization
@@ -1864,7 +1887,7 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= NULL*/, u
// Set the health bar, value = 255 * healthPct;
SetGoAnimProgress(m_goValue.Building.Health * 255 / m_goValue.Building.MaxHealth);
- Player* player = attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself();
+ Player* player = attackerOrHealer ? attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself() : NULL;
// dealing damage, send packet
if (player)
@@ -1891,6 +1914,7 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= NULL*/, u
if (newState == GetDestructibleState())
return;
+ /// @todo: pass attackerOrHealer instead of player
SetDestructibleState(newState, player, false);
}
@@ -1913,11 +1937,8 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player*
break;
case GO_DESTRUCTIBLE_DAMAGED:
{
- EventInform(m_goInfo->building.damagedEvent);
+ EventInform(m_goInfo->building.damagedEvent, eventInvoker);
sScriptMgr->OnGameObjectDamaged(this, eventInvoker);
- if (eventInvoker)
- if (Battleground* bg = eventInvoker->GetBattleground())
- bg->EventPlayerDamagedGO(eventInvoker, this, m_goInfo->building.damagedEvent);
RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED);
@@ -1942,15 +1963,10 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player*
case GO_DESTRUCTIBLE_DESTROYED:
{
sScriptMgr->OnGameObjectDestroyed(this, eventInvoker);
- EventInform(m_goInfo->building.destroyedEvent);
+ EventInform(m_goInfo->building.destroyedEvent, eventInvoker);
if (eventInvoker)
- {
if (Battleground* bg = eventInvoker->GetBattleground())
- {
- bg->EventPlayerDamagedGO(eventInvoker, this, m_goInfo->building.destroyedEvent);
bg->DestroyGate(eventInvoker, this);
- }
- }
RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED);
SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
@@ -1971,7 +1987,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player*
}
case GO_DESTRUCTIBLE_REBUILDING:
{
- EventInform(m_goInfo->building.rebuildingEvent);
+ EventInform(m_goInfo->building.rebuildingEvent, eventInvoker);
RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_DESTROYED);
uint32 modelId = m_goInfo->displayId;
@@ -1995,6 +2011,7 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, Player*
void GameObject::SetLootState(LootState state, Unit* unit)
{
m_lootState = state;
+ m_lootStateUnitGUID = unit ? unit->GetGUID() : 0;
AI()->OnStateChanged(state, unit);
sScriptMgr->OnGameObjectLootStateChanged(this, state, unit);
if (m_model)
@@ -2012,7 +2029,7 @@ void GameObject::SetGoState(GOState state)
{
SetByteValue(GAMEOBJECT_BYTES_1, 0, state);
sScriptMgr->OnGameObjectStateChanged(this, state);
- if (m_model)
+ if (m_model && !IsTransport())
{
if (!IsInWorld())
return;
@@ -2149,6 +2166,10 @@ void GameObject::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* t
int16 pathProgress = -1;
switch (GetGoType())
{
+ case GAMEOBJECT_TYPE_QUESTGIVER:
+ if (ActivateToQuest(target))
+ dynFlags |= GO_DYNFLAG_LO_ACTIVATE;
+ break;
case GAMEOBJECT_TYPE_CHEST:
case GAMEOBJECT_TYPE_GOOBER:
if (ActivateToQuest(target))
@@ -2227,3 +2248,16 @@ float GameObject::GetInteractionDistance() const
return INTERACTION_DISTANCE;
}
}
+
+void GameObject::UpdateModelPosition()
+{
+ if (!m_model)
+ return;
+
+ if (GetMap()->ContainsGameObjectModel(*m_model))
+ {
+ GetMap()->RemoveGameObjectModel(*m_model);
+ m_model->Relocate(*this);
+ GetMap()->InsertGameObjectModel(*m_model);
+ }
+}
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 8f32f5fe080..640d5718186 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -124,7 +124,7 @@ struct GameObjectTemplate
{
uint32 lockId; //0 -> Lock.dbc
uint32 level; //1
- uint32 radius; //2 radius for trap activation
+ uint32 diameter; //2 diameter for trap activation
uint32 spellId; //3
uint32 type; //4 0 trap with no despawn after cast. 1 trap despawns after cast. 2 bomb casts on spawn.
uint32 cooldown; //5 time in secs
@@ -539,7 +539,7 @@ struct GameObjectTemplate
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint32, GameObjectTemplate> GameObjectTemplateContainer;
+typedef std::unordered_map<uint32, GameObjectTemplate> GameObjectTemplateContainer;
class OPvPCapturePoint;
struct TransportAnimation;
@@ -807,7 +807,7 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map
return GO_DESTRUCTIBLE_INTACT;
}
- void EventInform(uint32 eventId);
+ void EventInform(uint32 eventId, WorldObject* invoker = NULL);
uint64 GetRotation() const { return m_rotation; }
virtual uint32 GetScriptId() const { return GetGOInfo()->ScriptId; }
@@ -833,6 +833,8 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map
float GetInteractionDistance() const;
+ void UpdateModelPosition();
+
protected:
bool AIM_Initialize();
void UpdateModel(); // updates model in case displayId were changed
@@ -840,12 +842,13 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map
time_t m_respawnTime; // (secs) time of next respawn (or despawn if GO have owner()),
uint32 m_respawnDelayTime; // (secs) if 0 then current GO state no dependent from timer
LootState m_lootState;
+ uint64 m_lootStateUnitGUID; // GUID of the unit passed with SetLootState(LootState, Unit*)
bool m_spawnedByDefault;
time_t m_cooldownTime; // used as internal reaction delay time store (not state change reaction).
// For traps this: spell casting cooldown, for doors/buttons: reset time.
std::list<uint32> m_SkillupList;
- Player* m_ritualOwner; // used for GAMEOBJECT_TYPE_SUMMONING_RITUAL where GO is not summoned (no owner)
+ uint64 m_ritualOwnerGUID; // used for GAMEOBJECT_TYPE_SUMMONING_RITUAL where GO is not summoned (no owner)
std::set<uint64> m_unique_users;
uint32 m_usetimes;
diff --git a/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp b/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
index 3e31347a496..f5813ae0781 100644
--- a/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
+++ b/src/server/game/Entities/Item/ItemEnchantmentMgr.cpp
@@ -40,7 +40,7 @@ struct EnchStoreItem
};
typedef std::vector<EnchStoreItem> EnchStoreList;
-typedef UNORDERED_MAP<uint32, EnchStoreList> EnchantmentStore;
+typedef std::unordered_map<uint32, EnchStoreList> EnchantmentStore;
static EnchantmentStore RandomItemEnch;
diff --git a/src/server/game/Entities/Item/ItemPrototype.h b/src/server/game/Entities/Item/ItemPrototype.h
index 4535ae57474..c946f8fd4a3 100644
--- a/src/server/game/Entities/Item/ItemPrototype.h
+++ b/src/server/game/Entities/Item/ItemPrototype.h
@@ -768,7 +768,7 @@ struct ItemTemplate
};
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint32, ItemTemplate> ItemTemplateContainer;
+typedef std::unordered_map<uint32, ItemTemplate> ItemTemplateContainer;
struct ItemLocale
{
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index da22204a4e1..a2fd19c443c 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -551,9 +551,9 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
//if (true) // Has time, controlled by bit just after HasTransport
*data << uint32(getMSTime());
- *data << self->GetSpeed(MOVE_FLIGHT_BACK);
- data->WriteByteSeq(guid[6]);
*data << self->GetSpeed(MOVE_TURN_RATE);
+ data->WriteByteSeq(guid[6]);
+ *data << self->GetSpeed(MOVE_FLIGHT);
if (!G3D::fuzzyEq(self->GetOrientation(), 0.0f))
*data << float(self->GetOrientation());
@@ -561,7 +561,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
if (hasPitch)
*data << float(self->m_movementInfo.pitch);
- *data << self->GetSpeed(MOVE_FLIGHT);
+ *data << self->GetSpeed(MOVE_FLIGHT_BACK);
}
if (flags & UPDATEFLAG_VEHICLE)
@@ -655,7 +655,12 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
if (flags & UPDATEFLAG_TRANSPORT)
{
GameObject const* go = ToGameObject();
- if (go && go->IsTransport())
+ /** @TODO Use IsTransport() to also handle type 11 (TRANSPORT)
+ Currently grid objects are not updated if there are no nearby players,
+ this causes clients to receive different PathProgress
+ resulting in players seeing the object in a different position
+ */
+ if (go && go->ToTransport())
*data << uint32(go->GetGOValue()->Transport.PathProgress);
else
*data << uint32(getMSTime());
@@ -913,7 +918,7 @@ void Object::SetByteValue(uint16 index, uint8 offset, uint8 value)
{
ASSERT(index < m_valuesCount || PrintIndexError(index, true));
- if (offset > 4)
+ if (offset > 3)
{
TC_LOG_ERROR("misc", "Object::SetByteValue: wrong offset %u", offset);
return;
@@ -937,7 +942,7 @@ void Object::SetUInt16Value(uint16 index, uint8 offset, uint16 value)
{
ASSERT(index < m_valuesCount || PrintIndexError(index, true));
- if (offset > 2)
+ if (offset > 1)
{
TC_LOG_ERROR("misc", "Object::SetUInt16Value: wrong offset %u", offset);
return;
@@ -1077,7 +1082,7 @@ void Object::SetByteFlag(uint16 index, uint8 offset, uint8 newFlag)
{
ASSERT(index < m_valuesCount || PrintIndexError(index, true));
- if (offset > 4)
+ if (offset > 3)
{
TC_LOG_ERROR("misc", "Object::SetByteFlag: wrong offset %u", offset);
return;
@@ -1100,7 +1105,7 @@ void Object::RemoveByteFlag(uint16 index, uint8 offset, uint8 oldFlag)
{
ASSERT(index < m_valuesCount || PrintIndexError(index, true));
- if (offset > 4)
+ if (offset > 3)
{
TC_LOG_ERROR("misc", "Object::RemoveByteFlag: wrong offset %u", offset);
return;
@@ -1722,18 +1727,18 @@ void WorldObject::GetRandomPoint(const Position &pos, float distance, float &ran
UpdateGroundPositionZ(rand_x, rand_y, rand_z); // update to LOS height if available
}
-void WorldObject::GetRandomPoint(const Position &srcPos, float distance, Position &pos) const
+Position WorldObject::GetRandomPoint(const Position &srcPos, float distance) const
{
float x, y, z;
GetRandomPoint(srcPos, distance, x, y, z);
- pos.Relocate(x, y, z, GetOrientation());
+ return Position(x, y, z, GetOrientation());
}
void WorldObject::UpdateGroundPositionZ(float x, float y, float &z) const
{
- float new_z = GetBaseMap()->GetHeight(GetPhaseMask(), x, y, z, true);
+ float new_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z + 2.0f, true);
if (new_z > INVALID_HEIGHT)
- z = new_z+ 0.05f; // just to be sure that we are not a few pixel under the surface
+ z = new_z + 0.05f; // just to be sure that we are not a few pixel under the surface
}
void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
@@ -1753,8 +1758,8 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
bool canSwim = ToCreature()->CanSwim();
float ground_z = z;
float max_z = canSwim
- ? GetBaseMap()->GetWaterOrGroundLevel(x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK))
- : ((ground_z = GetBaseMap()->GetHeight(GetPhaseMask(), x, y, z, true)));
+ ? GetMap()->GetWaterOrGroundLevel(x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK))
+ : ((ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true)));
if (max_z > INVALID_HEIGHT)
{
if (z > max_z)
@@ -1765,7 +1770,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
}
else
{
- float ground_z = GetBaseMap()->GetHeight(GetPhaseMask(), x, y, z, true);
+ float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true);
if (z < ground_z)
z = ground_z;
}
@@ -1777,7 +1782,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
if (!ToPlayer()->CanFly())
{
float ground_z = z;
- float max_z = GetBaseMap()->GetWaterOrGroundLevel(x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK));
+ float max_z = GetMap()->GetWaterOrGroundLevel(x, y, z, &ground_z, !ToUnit()->HasAuraType(SPELL_AURA_WATER_WALK));
if (max_z > INVALID_HEIGHT)
{
if (z > max_z)
@@ -1788,7 +1793,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
}
else
{
- float ground_z = GetBaseMap()->GetHeight(GetPhaseMask(), x, y, z, true);
+ float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true);
if (z < ground_z)
z = ground_z;
}
@@ -1796,7 +1801,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
}
default:
{
- float ground_z = GetBaseMap()->GetHeight(GetPhaseMask(), x, y, z, true);
+ float ground_z = GetMap()->GetHeight(GetPhaseMask(), x, y, z, true);
if (ground_z > INVALID_HEIGHT)
z = ground_z;
break;
@@ -2325,13 +2330,8 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
}
uint32 phase = PHASEMASK_NORMAL;
- uint32 team = 0;
if (summoner)
- {
phase = summoner->GetPhaseMask();
- if (summoner->GetTypeId() == TYPEID_PLAYER)
- team = summoner->ToPlayer()->GetTeam();
- }
TempSummon* summon = NULL;
switch (mask)
@@ -2353,7 +2353,7 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
break;
}
- if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), this, phase, entry, vehId, team, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation()))
+ if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), this, phase, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId))
{
delete summon;
return NULL;
@@ -2643,125 +2643,36 @@ void WorldObject::GetNearPoint(WorldObject const* /*searcher*/, float &x, float
{
GetNearPoint2D(x, y, distance2d+searcher_size, absAngle);
z = GetPositionZ();
+ // Should "searcher" be used instead of "this" when updating z coordinate ?
UpdateAllowedPositionZ(x, y, z);
- /*
// if detection disabled, return first point
- if (!sWorld->getIntConfig(CONFIG_DETECT_POS_COLLISION))
- {
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
+ if (!sWorld->getBoolConfig(CONFIG_DETECT_POS_COLLISION))
return;
- }
- // or remember first point
- float first_x = x;
- float first_y = y;
- bool first_los_conflict = false; // first point LOS problems
-
- // prepare selector for work
- ObjectPosSelector selector(GetPositionX(), GetPositionY(), GetObjectSize(), distance2d+searcher_size);
-
- // adding used positions around object
- {
- CellCoord p(Trinity::ComputeCellCoord(GetPositionX(), GetPositionY()));
- Cell cell(p);
- cell.SetNoCreate();
-
- Trinity::NearUsedPosDo u_do(*this, searcher, absAngle, selector);
- Trinity::WorldObjectWorker<Trinity::NearUsedPosDo> worker(this, u_do);
-
- TypeContainerVisitor<Trinity::WorldObjectWorker<Trinity::NearUsedPosDo>, GridTypeMapContainer > grid_obj_worker(worker);
- TypeContainerVisitor<Trinity::WorldObjectWorker<Trinity::NearUsedPosDo>, WorldTypeMapContainer > world_obj_worker(worker);
-
- CellLock<GridReadGuard> cell_lock(cell, p);
- cell_lock->Visit(cell_lock, grid_obj_worker, *GetMap(), *this, distance2d);
- cell_lock->Visit(cell_lock, world_obj_worker, *GetMap(), *this, distance2d);
- }
-
- // maybe can just place in primary position
- if (selector.CheckOriginal())
- {
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
-
- if (IsWithinLOS(x, y, z))
- return;
-
- first_los_conflict = true; // first point have LOS problems
- }
-
- float angle; // candidate of angle for free pos
-
- // special case when one from list empty and then empty side preferred
- if (selector.FirstAngle(angle))
- {
- GetNearPoint2D(x, y, distance2d, absAngle+angle);
- z = GetPositionZ();
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
-
- if (IsWithinLOS(x, y, z))
- return;
- }
-
- // set first used pos in lists
- selector.InitializeAngle();
-
- // select in positions after current nodes (selection one by one)
- while (selector.NextAngle(angle)) // angle for free pos
- {
- GetNearPoint2D(x, y, distance2d, absAngle+angle);
- z = GetPositionZ();
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
-
- if (IsWithinLOS(x, y, z))
- return;
- }
-
- // BAD NEWS: not free pos (or used or have LOS problems)
- // Attempt find _used_ pos without LOS problem
-
- if (!first_los_conflict)
- {
- x = first_x;
- y = first_y;
-
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
+ // return if the point is already in LoS
+ if (IsWithinLOS(x, y, z))
return;
- }
-
- // special case when one from list empty and then empty side preferred
- if (selector.IsNonBalanced())
- {
- if (!selector.FirstAngle(angle)) // _used_ pos
- {
- GetNearPoint2D(x, y, distance2d, absAngle+angle);
- z = GetPositionZ();
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
- if (IsWithinLOS(x, y, z))
- return;
- }
- }
-
- // set first used pos in lists
- selector.InitializeAngle();
+ // remember first point
+ float first_x = x;
+ float first_y = y;
+ float first_z = z;
- // select in positions after current nodes (selection one by one)
- while (selector.NextUsedAngle(angle)) // angle for used pos but maybe without LOS problem
+ // loop in a circle to look for a point in LoS using small steps
+ for (float angle = M_PI / 8; angle < M_PI * 2; angle += M_PI / 8)
{
- GetNearPoint2D(x, y, distance2d, absAngle+angle);
+ GetNearPoint2D(x, y, distance2d + searcher_size, absAngle + angle);
z = GetPositionZ();
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
-
+ UpdateAllowedPositionZ(x, y, z);
if (IsWithinLOS(x, y, z))
return;
}
- // BAD BAD NEWS: all found pos (free and used) have LOS problem :(
+ // still not in LoS, give up and return first position found
x = first_x;
y = first_y;
-
- UpdateGroundPositionZ(x, y, z); // update to LOS height if available
- */
+ z = first_z;
}
void WorldObject::GetClosePoint(float &x, float &y, float &z, float size, float distance2d /*= 0*/, float angle /*= 0*/) const
@@ -2770,22 +2681,25 @@ void WorldObject::GetClosePoint(float &x, float &y, float &z, float size, float
GetNearPoint(NULL, x, y, z, size, distance2d, GetOrientation() + angle);
}
-void WorldObject::GetNearPosition(Position &pos, float dist, float angle)
+Position WorldObject::GetNearPosition(float dist, float angle)
{
- GetPosition(&pos);
+ Position pos = GetPosition();
MovePosition(pos, dist, angle);
+ return pos;
}
-void WorldObject::GetFirstCollisionPosition(Position &pos, float dist, float angle)
+Position WorldObject::GetFirstCollisionPosition(float dist, float angle)
{
- GetPosition(&pos);
+ Position pos = GetPosition();
MovePositionToFirstCollision(pos, dist, angle);
+ return pos;
}
-void WorldObject::GetRandomNearPosition(Position &pos, float radius)
+Position WorldObject::GetRandomNearPosition(float radius)
{
- GetPosition(&pos);
+ Position pos = GetPosition();
MovePosition(pos, radius * (float)rand_norm(), (float)rand_norm() * static_cast<float>(2 * M_PI));
+ return pos;
}
void WorldObject::GetContactPoint(const WorldObject* obj, float &x, float &y, float &z, float distance2d /*= CONTACT_DISTANCE*/) const
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 0c99fac09be..5e525f1e0d5 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -32,6 +32,8 @@
#define CONTACT_DISTANCE 0.5f
#define INTERACTION_DISTANCE 5.0f
#define ATTACK_DISTANCE 5.0f
+#define INSPECT_DISTANCE 28.0f
+#define TRADE_DISTANCE 11.11f
#define MAX_VISIBILITY_DISTANCE SIZE_OF_GRIDS // max distance for visible objects
#define SIGHT_RANGE_UNIT 50.0f
#define DEFAULT_VISIBILITY_DISTANCE 90.0f // default visible distance, 90 yards on continents
@@ -116,7 +118,7 @@ class WorldObject;
class WorldPacket;
class ZoneScript;
-typedef UNORDERED_MAP<Player*, UpdateData> UpdateDataMapType;
+typedef std::unordered_map<Player*, UpdateData> UpdateDataMapType;
//! Structure to ease conversions from single 64 bit integer guid into individual bytes, for packet sending purposes
//! Nuke this out when porting ObjectGuid from MaNGOS, but preserve the per-byte storage
@@ -327,12 +329,17 @@ class Object
// for output helpfull error messages from asserts
bool PrintIndexError(uint32 index, bool set) const;
- Object(const Object&); // prevent generation copy constructor
- Object& operator=(Object const&); // prevent generation assigment operator
+ Object(Object const& right) = delete;
+ Object& operator=(Object const& right) = delete;
};
struct Position
{
+ Position(float x = 0, float y = 0, float z = 0, float o = 0)
+ : m_positionX(x), m_positionY(y), m_positionZ(z), m_orientation(NormalizeOrientation(o)) { }
+
+ Position(const Position &loc) { Relocate(loc); }
+
struct PositionXYZStreamer
{
explicit PositionXYZStreamer(Position& pos) : m_pos(&pos) { }
@@ -385,10 +392,10 @@ struct Position
{ x = m_positionX; y = m_positionY; z = m_positionZ; }
void GetPosition(float &x, float &y, float &z, float &o) const
{ x = m_positionX; y = m_positionY; z = m_positionZ; o = m_orientation; }
- void GetPosition(Position* pos) const
+
+ Position GetPosition() const
{
- if (pos)
- pos->Relocate(m_positionX, m_positionY, m_positionZ, m_orientation);
+ return *this;
}
Position::PositionXYZStreamer PositionXYZStream()
@@ -553,10 +560,16 @@ class WorldLocation : public Position
public:
explicit WorldLocation(uint32 _mapid = MAPID_INVALID, float _x = 0, float _y = 0, float _z = 0, float _o = 0)
: m_mapId(_mapid) { Relocate(_x, _y, _z, _o); }
- WorldLocation(const WorldLocation &loc) { WorldRelocate(loc); }
+ WorldLocation(const WorldLocation &loc) : Position(loc) { WorldRelocate(loc); }
void WorldRelocate(const WorldLocation &loc)
{ m_mapId = loc.GetMapId(); Relocate(loc); }
+
+ WorldLocation GetWorldLocation() const
+ {
+ return *this;
+ }
+
uint32 GetMapId() const { return m_mapId; }
uint32 m_mapId;
@@ -566,6 +579,8 @@ template<class T>
class GridObject
{
public:
+ virtual ~GridObject() { }
+
bool IsInGrid() const { return _gridRef.isValid(); }
void AddToGrid(GridRefManager<T>& m) { ASSERT(!IsInGrid()); _gridRef.link(&m, (T*)this); }
void RemoveFromGrid() { ASSERT(IsInGrid()); _gridRef.unlink(); }
@@ -645,10 +660,10 @@ class WorldObject : public Object, public WorldLocation
void GetNearPoint(WorldObject const* searcher, float &x, float &y, float &z, float searcher_size, float distance2d, float absAngle) const;
void GetClosePoint(float &x, float &y, float &z, float size, float distance2d = 0, float angle = 0) const;
void MovePosition(Position &pos, float dist, float angle);
- void GetNearPosition(Position &pos, float dist, float angle);
+ Position GetNearPosition(float dist, float angle);
void MovePositionToFirstCollision(Position &pos, float dist, float angle);
- void GetFirstCollisionPosition(Position &pos, float dist, float angle);
- void GetRandomNearPosition(Position &pos, float radius);
+ Position GetFirstCollisionPosition(float dist, float angle);
+ Position GetRandomNearPosition(float radius);
void GetContactPoint(WorldObject const* obj, float &x, float &y, float &z, float distance2d = CONTACT_DISTANCE) const;
float GetObjectSize() const;
@@ -656,7 +671,7 @@ class WorldObject : public Object, public WorldLocation
void UpdateAllowedPositionZ(float x, float y, float &z) const;
void GetRandomPoint(Position const &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const;
- void GetRandomPoint(Position const &srcPos, float distance, Position &pos) const;
+ Position GetRandomPoint(Position const &srcPos, float distance) const;
uint32 GetInstanceId() const { return m_InstanceId; }
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 13d738887b5..7f4bead4656 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -40,7 +40,7 @@ Pet::Pet(Player* owner, PetType type) :
m_petType(type), m_duration(0), m_auraRaidUpdateMask(0), m_loading(false),
m_declinedname(NULL)
{
- ASSERT(m_owner->GetTypeId() == TYPEID_PLAYER);
+ ASSERT(GetOwner());
m_unitTypeMask |= UNIT_MASK_PET;
if (type == HUNTER_PET)
@@ -278,7 +278,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
{
SQLTransaction trans = CharacterDatabase.BeginTransaction();
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID);
stmt->setUInt8(0, uint8(PET_SAVE_NOT_IN_SLOT));
stmt->setUInt32(1, ownerid);
stmt->setUInt8(2, uint8(PET_SAVE_AS_CURRENT));
@@ -383,8 +383,6 @@ void Pet::SavePetToDB(PetSaveMode mode)
return;
Player* owner = GetOwner();
- if (!owner)
- return;
// not save pet as current if another pet temporary unsummoned
if (mode == PET_SAVE_AS_CURRENT && owner->GetTemporaryUnsummonedPetNumber() &&
@@ -429,7 +427,7 @@ void Pet::SavePetToDB(PetSaveMode mode)
// prevent duplicate using slot (except PET_SAVE_NOT_IN_SLOT)
if (mode <= PET_SAVE_LAST_STABLE_SLOT)
{
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT);
stmt->setUInt8(0, uint8(PET_SAVE_NOT_IN_SLOT));
stmt->setUInt32(1, ownerLowGUID);
stmt->setUInt8(2, uint8(mode));
@@ -555,7 +553,7 @@ void Pet::Update(uint32 diff)
{
// unsummon pet that lost owner
Player* owner = GetOwner();
- if (!owner || (!IsWithinDistInMap(owner, GetMap()->GetVisibilityRange()) && !isPossessed()) || (isControlled() && !owner->GetPetGUID()))
+ if ((!IsWithinDistInMap(owner, GetMap()->GetVisibilityRange()) && !isPossessed()) || (isControlled() && !owner->GetPetGUID()))
//if (!owner || (!IsWithinDistInMap(owner, GetMap()->GetVisibilityDistance()) && (owner->GetCharmGUID() && (owner->GetCharmGUID() != GetGUID()))) || (isControlled() && !owner->GetPetGUID()))
{
Remove(PET_SAVE_NOT_IN_SLOT, true);
@@ -803,8 +801,8 @@ bool Guardian::InitStatsForLevel(uint8 petlevel)
if (IsPet() && GetOwner()->GetTypeId() == TYPEID_PLAYER)
{
if (GetOwner()->getClass() == CLASS_WARLOCK
- || GetOwner()->getClass() == CLASS_SHAMAN // Fire Elemental
- || GetOwner()->getClass() == CLASS_DEATH_KNIGHT) // Risen Ghoul
+ || GetOwner()->getClass() == CLASS_SHAMAN // Fire Elemental
+ || GetOwner()->getClass() == CLASS_DEATH_KNIGHT) // Risen Ghoul
{
petType = SUMMON_PET;
}
@@ -1080,9 +1078,8 @@ void Pet::_LoadSpellCooldowns()
{
time_t curTime = time(NULL);
- WorldPacket data(SMSG_SPELL_COOLDOWN, size_t(8+1+result->GetRowCount()*8));
- data << GetGUID();
- data << uint8(0x0); // flags (0x1, 0x2)
+ PacketCooldowns cooldowns;
+ WorldPacket data;
do
{
@@ -1101,8 +1098,7 @@ void Pet::_LoadSpellCooldowns()
if (db_time <= curTime)
continue;
- data << uint32(spell_id);
- data << uint32(uint32(db_time-curTime)*IN_MILLISECONDS);
+ cooldowns[spell_id] = uint32(db_time - curTime)*IN_MILLISECONDS;
_AddCreatureSpellCooldown(spell_id, db_time);
@@ -1110,8 +1106,11 @@ void Pet::_LoadSpellCooldowns()
}
while (result->NextRow());
- if (!m_CreatureSpellCooldowns.empty() && GetOwner())
+ if (!cooldowns.empty())
+ {
+ BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, cooldowns);
GetOwner()->GetSession()->SendPacket(&data);
+ }
}
}
@@ -1586,12 +1585,7 @@ bool Pet::removeSpell(uint32 spell_id, bool learn_prev, bool clear_ab)
if (clear_ab && !learn_prev && m_charmInfo->RemoveSpellFromActionBar(spell_id))
{
if (!m_loading)
- {
- // need update action bar for last removed rank
- if (Unit* owner = GetOwner())
- if (owner->GetTypeId() == TYPEID_PLAYER)
- owner->ToPlayer()->PetSpellInitialize();
- }
+ GetOwner()->PetSpellInitialize(); // need update action bar for last removed rank
}
return true;
@@ -1626,13 +1620,11 @@ void Pet::InitPetCreateSpells()
bool Pet::resetTalents()
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return false;
+ Player* player = GetOwner();
// not need after this call
- if (owner->ToPlayer()->HasAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS))
- owner->ToPlayer()->RemoveAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS, true);
+ if (player->HasAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS))
+ player->RemoveAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS, true);
CreatureTemplate const* ci = GetCreatureTemplate();
if (!ci)
@@ -1642,8 +1634,6 @@ bool Pet::resetTalents()
if (!pet_family || pet_family->petTalentType < 0)
return false;
- Player* player = owner->ToPlayer();
-
uint8 level = getLevel();
uint32 talentPointsForLevel = GetMaxTalentPointsForLevel(level);
@@ -1788,20 +1778,15 @@ void Pet::InitTalentForLevel()
SetFreeTalentPoints(talentPointsForLevel - m_usedTalentCount);
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
-
if (!m_loading)
- owner->ToPlayer()->SendTalentsInfoData(true);
+ GetOwner()->SendTalentsInfoData(true);
}
uint8 Pet::GetMaxTalentPointsForLevel(uint8 level)
{
uint8 points = (level >= 20) ? ((level - 16) / 4) : 0;
// Mod points from owner SPELL_AURA_MOD_PET_TALENT_POINTS
- if (Unit* owner = GetOwner())
- points+=owner->GetTotalAuraModifier(SPELL_AURA_MOD_PET_TALENT_POINTS);
+ points += GetOwner()->GetTotalAuraModifier(SPELL_AURA_MOD_PET_TALENT_POINTS);
return points;
}
@@ -1926,11 +1911,9 @@ void Pet::LearnPetPassives()
void Pet::CastPetAuras(bool current)
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
+ Player* owner = GetOwner();
- if (!IsPermanentPetFor(owner->ToPlayer()))
+ if (!IsPermanentPetFor(owner))
return;
for (PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end();)
@@ -1962,10 +1945,7 @@ void Pet::CastPetAura(PetAura const* aura)
bool Pet::IsPetAura(Aura const* aura)
{
- Unit* owner = GetOwner();
-
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return false;
+ Player* owner = GetOwner();
// if the owner has that pet aura, return true
for (PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end(); ++itr)
@@ -1986,9 +1966,7 @@ void Pet::learnSpellHighRank(uint32 spellid)
void Pet::SynchronizeLevelWithOwner()
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
+ Player* owner = GetOwner();
switch (getPetType())
{
@@ -2010,21 +1988,16 @@ void Pet::SynchronizeLevelWithOwner()
void Pet::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
{
- WorldPacket data(SMSG_SPELL_COOLDOWN, 8+1+m_spells.size()*8);
- data << uint64(GetGUID());
- data << uint8(0x0); // flags (0x1, 0x2)
+ PacketCooldowns cooldowns;
+ WorldPacket data;
time_t curTime = time(NULL);
for (PetSpellMap::const_iterator itr = m_spells.begin(); itr != m_spells.end(); ++itr)
{
if (itr->second.state == PETSPELL_REMOVED)
continue;
+
uint32 unSpellId = itr->first;
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(unSpellId);
- if (!spellInfo)
- {
- ASSERT(spellInfo);
- continue;
- }
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(unSpellId);
// Not send cooldown for this spells
if (spellInfo->IsCooldownStartedOnEvent())
@@ -2035,14 +2008,16 @@ void Pet::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
if ((idSchoolMask & spellInfo->GetSchoolMask()) && GetCreatureSpellCooldownDelay(unSpellId) < unTimeMs)
{
- data << uint32(unSpellId);
- data << uint32(unTimeMs); // in m.secs
+ cooldowns[unSpellId] = unTimeMs;
_AddCreatureSpellCooldown(unSpellId, curTime + unTimeMs/IN_MILLISECONDS);
}
}
- if (Player* owner = GetOwner())
- owner->GetSession()->SendPacket(&data);
+ if (!cooldowns.empty())
+ {
+ BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, cooldowns);
+ GetOwner()->GetSession()->SendPacket(&data);
+ }
}
Player* Pet::GetOwner() const
@@ -2057,8 +2032,6 @@ void Pet::SetDisplayId(uint32 modelId)
if (!isControlled())
return;
- if (Unit* owner = GetOwner())
- if (Player* player = owner->ToPlayer())
- if (player->GetGroup())
- player->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_MODEL_ID);
+ if (GetOwner()->GetGroup())
+ GetOwner()->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_MODEL_ID);
}
diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h
index d987e1a3fdc..97323f3f9ab 100644
--- a/src/server/game/Entities/Pet/Pet.h
+++ b/src/server/game/Entities/Pet/Pet.h
@@ -32,7 +32,7 @@ struct PetSpell
PetSpellType type;
};
-typedef UNORDERED_MAP<uint32, PetSpell> PetSpellMap;
+typedef std::unordered_map<uint32, PetSpell> PetSpellMap;
typedef std::vector<uint32> AutoSpellList;
class Player;
@@ -93,7 +93,7 @@ class Pet : public Guardian
void UpdateMaxHealth();
void UpdateMaxPower(Powers power);
void UpdateAttackPowerAndDamage(bool ranged = false);
- void UpdateDamagePhysical(WeaponAttackType attType) OVERRIDE;
+ void UpdateDamagePhysical(WeaponAttackType attType) override;
*/
void ToggleAutocast(SpellInfo const* spellInfo, bool apply);
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 79f7c356376..2a8217d2028 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -371,6 +371,12 @@ void TradeData::SetMoney(uint64 money)
if (m_money == money)
return;
+ if (!m_player->HasEnoughMoney(money))
+ {
+ m_player->GetSession()->SendTradeStatus(TRADE_STATUS_BUSY);
+ return;
+ }
+
m_money = money;
SetAccepted(false);
@@ -660,19 +666,8 @@ void KillRewarder::Reward()
}
-// == Player ====================================================
-
-// we can disable this warning for this since it only
-// causes undefined behavior when passed to the base class constructor
-#ifdef _MSC_VER
-#pragma warning(disable:4355)
-#endif
Player::Player(WorldSession* session): Unit(true), phaseMgr(this)
{
-#ifdef _MSC_VER
-#pragma warning(default:4355)
-#endif
-
m_speakTime = 0;
m_speakCount = 0;
@@ -1782,7 +1777,6 @@ void Player::Update(uint32 p_time)
if (p_time >= m_nextSave)
{
// m_nextSave reset in SaveToDB call
- sScriptMgr->OnPlayerSave(this);
SaveToDB();
TC_LOG_DEBUG("entities.player", "Player '%s' (GUID: %u) saved", GetName().c_str(), GetGUIDLow());
}
@@ -2228,8 +2222,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
// near teleport, triggering send CMSG_MOVE_TELEPORT_ACK from client at landing
if (!GetSession()->PlayerLogout())
{
- Position oldPos;
- GetPosition(&oldPos);
+ Position oldPos = GetPosition();
if (HasUnitMovementFlag(MOVEMENTFLAG_HOVER))
z += GetFloatValue(UNIT_FIELD_HOVERHEIGHT);
Relocate(x, y, z, orientation);
@@ -5017,7 +5010,19 @@ void Player::DeleteFromDB(uint64 playerguid, uint32 accountId, bool updateRealmC
stmt->setUInt32(0, guid);
trans->Append(stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_QUESTSTATUS_DAILY);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_DAILY);
+ stmt->setUInt32(0, guid);
+ trans->Append(stmt);
+
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_WEEKLY);
+ stmt->setUInt32(0, guid);
+ trans->Append(stmt);
+
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_MONTHLY);
+ stmt->setUInt32(0, guid);
+ trans->Append(stmt);
+
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_SEASONAL);
stmt->setUInt32(0, guid);
trans->Append(stmt);
@@ -5166,8 +5171,9 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
// remove death flag + set aura
SetByteValue(UNIT_FIELD_BYTES_1, 3, 0x00);
- if (getRace() == RACE_NIGHTELF)
- RemoveAurasDueToSpell(20584); // speed bonuses
+
+ // This must be called always even on Players with race != RACE_NIGHTELF in case of faction change
+ RemoveAurasDueToSpell(20584); // RACE_NIGHTELF speed bonuses
RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST
if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0))
@@ -6725,9 +6731,6 @@ bool Player::UpdatePosition(float x, float y, float z, float orientation, bool t
if (GetGroup())
SetGroupUpdateFlag(GROUP_UPDATE_FLAG_POSITION);
- if (GetTrader() && !IsWithinDistInMap(GetTrader(), INTERACTION_DISTANCE))
- GetSession()->SendCancelTrade();
-
CheckAreaExploreAndOutdoor();
return true;
@@ -9017,7 +9020,7 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
loot->FillLoot(lootid, LootTemplates_Gameobject, this, !groupRules, false, go->GetLootMode());
// get next RR player (for next loot)
- if (groupRules)
+ if (groupRules && !go->loot.empty())
group->UpdateLooterGuid(go);
}
@@ -9056,7 +9059,7 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
switch (group->GetLootMethod())
{
case MASTER_LOOT:
- permission = MASTER_PERMISSION;
+ permission = group->GetMasterLooterGuid() == GetGUID() ? MASTER_PERMISSION : RESTRICTED_PERMISSION;
break;
case FREE_FOR_ALL:
permission = ALL_PERMISSION;
@@ -9234,7 +9237,7 @@ void Player::SendLoot(uint64 guid, LootType loot_type)
switch (group->GetLootMethod())
{
case MASTER_LOOT:
- permission = MASTER_PERMISSION;
+ permission = group->GetMasterLooterGuid() == GetGUID() ? MASTER_PERMISSION : RESTRICTED_PERMISSION;
break;
case FREE_FOR_ALL:
permission = ALL_PERMISSION;
@@ -12189,11 +12192,8 @@ Item* Player::EquipItem(uint16 pos, Item* pItem, bool update)
GetGlobalCooldownMgr().AddGlobalCooldown(spellProto, m_weaponChangeTimer);
- WorldPacket data(SMSG_SPELL_COOLDOWN, 8+1+4);
- data << uint64(GetGUID());
- data << uint8(1);
- data << uint32(cooldownSpell);
- data << uint32(0);
+ WorldPacket data;
+ BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_INCLUDE_GCD, cooldownSpell, 0);
GetSession()->SendPacket(&data);
}
}
@@ -12484,6 +12484,7 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update)
RemoveAurasDueToSpell(proto->Spells[i].SpellId);
ItemRemovedQuestCheck(pItem->GetEntry(), pItem->GetCount());
+ sScriptMgr->OnItemRemove(this, pItem);
if (bag == INVENTORY_SLOT_BAG_0)
{
@@ -14487,17 +14488,35 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool
if (canTalk)
{
- std::string strOptionText = itr->second.OptionText;
- std::string strBoxText = itr->second.BoxText;
+ std::string strOptionText, strBoxText;
+ BroadcastText const* optionBroadcastText = sObjectMgr->GetBroadcastText(itr->second.OptionBroadcastTextId);
+ BroadcastText const* boxBroadcastText = sObjectMgr->GetBroadcastText(itr->second.BoxBroadcastTextId);
+ LocaleConstant locale = GetSession()->GetSessionDbLocaleIndex();
+
+ if (optionBroadcastText)
+ strOptionText = optionBroadcastText->GetText(locale, getGender());
+ else
+ strOptionText = itr->second.OptionText;
+
+ if (boxBroadcastText)
+ strBoxText = boxBroadcastText->GetText(locale, getGender());
+ else
+ strBoxText = itr->second.BoxText;
- int32 locale = GetSession()->GetSessionDbLocaleIndex();
- if (locale >= 0)
+ if (locale != DEFAULT_LOCALE)
{
- uint32 idxEntry = MAKE_PAIR32(menuId, itr->second.OptionIndex);
- if (GossipMenuItemsLocale const* no = sObjectMgr->GetGossipMenuItemsLocale(idxEntry))
+ if (!optionBroadcastText)
+ {
+ /// Find localizations from database.
+ if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, menuId)))
+ ObjectMgr::GetLocaleString(gossipMenuLocale->OptionText, locale, strOptionText);
+ }
+
+ if (!boxBroadcastText)
{
- ObjectMgr::GetLocaleString(no->OptionText, locale, strOptionText);
- ObjectMgr::GetLocaleString(no->BoxText, locale, strBoxText);
+ /// Find localizations from database.
+ if (GossipMenuItemsLocale const* gossipMenuLocale = sObjectMgr->GetGossipMenuItemsLocale(MAKE_PAIR32(menuId, menuId)))
+ ObjectMgr::GetLocaleString(gossipMenuLocale->BoxText, locale, strBoxText);
}
}
@@ -15112,7 +15131,7 @@ void Player::AddQuestAndCheckCompletion(Quest const* quest, Object* questGiver)
switch (questGiver->GetTypeId())
{
case TYPEID_UNIT:
- sScriptMgr->OnQuestAccept(this, (questGiver->ToCreature()), quest);
+ sScriptMgr->OnQuestAccept(this, questGiver->ToCreature(), quest);
questGiver->ToCreature()->AI()->sQuestAccept(this, quest);
break;
case TYPEID_ITEM:
@@ -15255,7 +15274,7 @@ void Player::AddQuest(Quest const* quest, Object* questGiver)
StartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_QUEST, quest_id);
- UpdateForQuestWorldObjects();
+ SendQuestUpdate(quest_id);
}
void Player::CompleteQuest(uint32 quest_id)
@@ -15432,7 +15451,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
else if (quest->IsSeasonal())
SetSeasonalQuestStatus(quest_id);
- RemoveActiveQuest(quest_id);
+ RemoveActiveQuest(quest_id, false);
m_RewardedQuests.insert(quest_id);
m_RewardedQuestsSave[quest_id] = true;
@@ -15484,6 +15503,8 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
UpdatePvPState();
}
+ SendQuestUpdate(quest_id);
+
//lets remove flag for delayed teleports
SetCanDelayTeleport(false);
}
@@ -15822,6 +15843,7 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg)
// not allow have daily quest if daily quest from exclusive group already recently completed
Quest const* Nquest = sObjectMgr->GetQuestTemplate(exclude_Id);
+ ASSERT(Nquest);
if (!SatisfyQuestDay(Nquest, false) || !SatisfyQuestWeek(Nquest, false) || !SatisfyQuestSeasonal(Nquest, false))
{
if (msg)
@@ -16023,6 +16045,7 @@ bool Player::TakeQuestSourceItem(uint32 questId, bool msg)
return false;
}
+ ASSERT(item);
bool destroyItem = true;
for (uint8 n = 0; n < QUEST_ITEM_OBJECTIVES_COUNT; ++n)
if (item->StartQuest == questId && srcItemId == quest->RequiredItemId[n])
@@ -16077,22 +16100,64 @@ bool Player::CanShareQuest(uint32 quest_id) const
return false;
}
-void Player::SetQuestStatus(uint32 quest_id, QuestStatus status)
+void Player::SetQuestStatus(uint32 questId, QuestStatus status, bool update /*= true*/)
{
- if (sObjectMgr->GetQuestTemplate(quest_id))
+ if (sObjectMgr->GetQuestTemplate(questId))
{
- m_QuestStatus[quest_id].Status = status;
- m_QuestStatusSave[quest_id] = true;
+ m_QuestStatus[questId].Status = status;
+ m_QuestStatusSave[questId] = true;
}
PhaseUpdateData phaseUpdateData;
- phaseUpdateData.AddQuestUpdate(quest_id);
+ phaseUpdateData.AddQuestUpdate(questId);
phaseMgr.NotifyConditionChanged(phaseUpdateData);
+ if (update)
+ SendQuestUpdate(questId);
+}
+
+void Player::RemoveActiveQuest(uint32 questId, bool update /*= true*/)
+{
+ QuestStatusMap::iterator itr = m_QuestStatus.find(questId);
+ if (itr != m_QuestStatus.end())
+ {
+ m_QuestStatus.erase(itr);
+ m_QuestStatusSave[questId] = false;
+
+ PhaseUpdateData phaseUpdateData;
+ phaseUpdateData.AddQuestUpdate(questId);
+
+ phaseMgr.NotifyConditionChanged(phaseUpdateData);
+ }
+
+ if (update)
+ SendQuestUpdate(questId);
+}
+
+void Player::RemoveRewardedQuest(uint32 questId, bool update /*= true*/)
+{
+ RewardedQuestSet::iterator rewItr = m_RewardedQuests.find(questId);
+ if (rewItr != m_RewardedQuests.end())
+ {
+ m_RewardedQuests.erase(rewItr);
+ m_RewardedQuestsSave[questId] = false;
+
+ PhaseUpdateData phaseUpdateData;
+ phaseUpdateData.AddQuestUpdate(questId);
+
+ phaseMgr.NotifyConditionChanged(phaseUpdateData);
+ }
+
+ if (update)
+ SendQuestUpdate(questId);
+}
+
+void Player::SendQuestUpdate(uint32 questId)
+{
uint32 zone = 0, area = 0;
- SpellAreaForQuestMapBounds saBounds = sSpellMgr->GetSpellAreaForQuestMapBounds(quest_id);
+ SpellAreaForQuestMapBounds saBounds = sSpellMgr->GetSpellAreaForQuestMapBounds(questId);
if (saBounds.first != saBounds.second)
{
GetZoneAndAreaId(zone, area);
@@ -16103,7 +16168,7 @@ void Player::SetQuestStatus(uint32 quest_id, QuestStatus status)
CastSpell(this, itr->second->spellId, true);
}
- saBounds = sSpellMgr->GetSpellAreaForQuestEndMapBounds(quest_id);
+ saBounds = sSpellMgr->GetSpellAreaForQuestEndMapBounds(questId);
if (saBounds.first != saBounds.second)
{
if (!zone || !area)
@@ -16117,35 +16182,108 @@ void Player::SetQuestStatus(uint32 quest_id, QuestStatus status)
UpdateForQuestWorldObjects();
}
-void Player::RemoveActiveQuest(uint32 quest_id)
+QuestGiverStatus Player::GetQuestDialogStatus(Object* questgiver)
{
- QuestStatusMap::iterator itr = m_QuestStatus.find(quest_id);
- if (itr != m_QuestStatus.end())
+ QuestRelationBounds qr;
+ QuestRelationBounds qir;
+
+ switch (questgiver->GetTypeId())
{
- m_QuestStatus.erase(itr);
- m_QuestStatusSave[quest_id] = false;
+ case TYPEID_GAMEOBJECT:
+ {
+ QuestGiverStatus questStatus = QuestGiverStatus(sScriptMgr->GetDialogStatus(this, questgiver->ToGameObject()));
+ if (questStatus != DIALOG_STATUS_SCRIPTED_NO_STATUS)
+ return questStatus;
+ qr = sObjectMgr->GetGOQuestRelationBounds(questgiver->GetEntry());
+ qir = sObjectMgr->GetGOQuestInvolvedRelationBounds(questgiver->GetEntry());
+ break;
+ }
+ case TYPEID_UNIT:
+ {
+ QuestGiverStatus questStatus = QuestGiverStatus(sScriptMgr->GetDialogStatus(this, questgiver->ToCreature()));
+ if (questStatus != DIALOG_STATUS_SCRIPTED_NO_STATUS)
+ return questStatus;
+ qr = sObjectMgr->GetCreatureQuestRelationBounds(questgiver->GetEntry());
+ qir = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(questgiver->GetEntry());
+ break;
+ }
+ default:
+ // it's impossible, but check
+ TC_LOG_ERROR("entities.player.quest", "GetQuestDialogStatus called for unexpected type %u", questgiver->GetTypeId());
+ return DIALOG_STATUS_NONE;
+ }
- PhaseUpdateData phaseUpdateData;
- phaseUpdateData.AddQuestUpdate(quest_id);
+ QuestGiverStatus result = DIALOG_STATUS_NONE;
- phaseMgr.NotifyConditionChanged(phaseUpdateData);
- return;
+ for (QuestRelations::const_iterator i = qir.first; i != qir.second; ++i)
+ {
+ QuestGiverStatus result2 = DIALOG_STATUS_NONE;
+ uint32 questId = i->second;
+ Quest const* quest = sObjectMgr->GetQuestTemplate(questId);
+ if (!quest)
+ continue;
+
+ ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
+ if (!sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ continue;
+
+ QuestStatus status = GetQuestStatus(questId);
+ if ((status == QUEST_STATUS_COMPLETE && !GetQuestRewardStatus(questId)) ||
+ (quest->IsAutoComplete() && CanTakeQuest(quest, false)))
+ {
+ if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly())
+ result2 = DIALOG_STATUS_REWARD_REP;
+ else
+ result2 = DIALOG_STATUS_REWARD;
+ }
+ else if (status == QUEST_STATUS_INCOMPLETE)
+ result2 = DIALOG_STATUS_INCOMPLETE;
+
+ if (result2 > result)
+ result = result2;
}
-}
-void Player::RemoveRewardedQuest(uint32 quest_id)
-{
- RewardedQuestSet::iterator rewItr = m_RewardedQuests.find(quest_id);
- if (rewItr != m_RewardedQuests.end())
+ for (QuestRelations::const_iterator i = qr.first; i != qr.second; ++i)
{
- m_RewardedQuests.erase(rewItr);
- m_RewardedQuestsSave[quest_id] = false;
+ QuestGiverStatus result2 = DIALOG_STATUS_NONE;
+ uint32 questId = i->second;
+ Quest const* quest = sObjectMgr->GetQuestTemplate(questId);
+ if (!quest)
+ continue;
- PhaseUpdateData phaseUpdateData;
- phaseUpdateData.AddQuestUpdate(quest_id);
+ ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
+ if (!sConditionMgr->IsObjectMeetToConditions(this, conditions))
+ continue;
- phaseMgr.NotifyConditionChanged(phaseUpdateData);
+ QuestStatus status = GetQuestStatus(questId);
+ if (status == QUEST_STATUS_NONE)
+ {
+ if (CanSeeStartQuest(quest))
+ {
+ if (SatisfyQuestLevel(quest, false))
+ {
+ if (quest->IsAutoComplete())
+ result2 = DIALOG_STATUS_REWARD_REP;
+ else if (getLevel() <= (GetQuestLevel(quest) + sWorld->getIntConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF)))
+ {
+ if (quest->IsDaily())
+ result2 = DIALOG_STATUS_AVAILABLE_REP;
+ else
+ result2 = DIALOG_STATUS_AVAILABLE;
+ }
+ else
+ result2 = DIALOG_STATUS_LOW_LEVEL_AVAILABLE;
+ }
+ else
+ result2 = DIALOG_STATUS_UNAVAILABLE;
+ }
+ }
+
+ if (result2 > result)
+ result = result2;
}
+
+ return result;
}
// not used in Trinity, but used in scripting code
@@ -17164,6 +17302,14 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
bytes0 |= gender << 16; // gender
SetUInt32Value(UNIT_FIELD_BYTES_0, bytes0);
+ // check if race/class combination is valid
+ PlayerInfo const* info = sObjectMgr->GetPlayerInfo(getRace(), getClass());
+ if (!info)
+ {
+ TC_LOG_ERROR("entities.player", "Player (GUID: %u) has wrong race/class (%u/%u), can't be loaded.", guid, getRace(), getClass());
+ return false;
+ }
+
SetUInt32Value(UNIT_FIELD_LEVEL, fields[6].GetUInt8());
SetUInt32Value(PLAYER_XP, fields[7].GetUInt32());
@@ -17848,13 +17994,13 @@ bool Player::isAllowedToLoot(const Creature* creature)
case FREE_FOR_ALL:
return true;
case ROUND_ROBIN:
- case MASTER_LOOT:
// may only loot if the player is the loot roundrobin player
// or if there are free/quest/conditional item for the player
if (loot->roundRobinPlayer == 0 || loot->roundRobinPlayer == GetGUID())
return true;
return loot->hasItemFor(this);
+ case MASTER_LOOT:
case GROUP_LOOT:
case NEED_BEFORE_GREED:
// may only loot if the player is the loot roundrobin player
@@ -19240,6 +19386,9 @@ void Player::SaveToDB(bool create /*=false*/)
TC_LOG_DEBUG("entities.unit", "The value of player %s at save: ", m_name.c_str());
outDebugValues();
+ if (!create)
+ sScriptMgr->OnPlayerSave(this);
+
PreparedStatement* stmt = NULL;
uint8 index = 0;
@@ -19547,7 +19696,7 @@ void Player::SaveInventoryAndGoldToDB(SQLTransaction& trans)
void Player::SaveGoldToDB(SQLTransaction& trans)
{
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_MONEY);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_MONEY);
stmt->setUInt64(0, GetMoney());
stmt->setUInt32(1, GetGUIDLow());
trans->Append(stmt);
@@ -20004,14 +20153,15 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans)
// save last daily quest time for all quests: we need only mostly reset time for reset check anyway
// we don't need transactions here.
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_DAILY_CHAR);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_DAILY);
stmt->setUInt32(0, GetGUIDLow());
trans->Append(stmt);
+
for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx)
{
if (GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx))
{
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_DAILYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY);
stmt->setUInt32(0, GetGUIDLow());
stmt->setUInt32(1, GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx));
stmt->setUInt64(2, uint64(m_lastDailyQuestTime));
@@ -20023,7 +20173,7 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans)
{
for (DFQuestsDoneList::iterator itr = m_DFQuests.begin(); itr != m_DFQuests.end(); ++itr)
{
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_DAILYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY);
stmt->setUInt32(0, GetGUIDLow());
stmt->setUInt32(1, (*itr));
stmt->setUInt64(2, uint64(m_lastDailyQuestTime));
@@ -20038,17 +20188,17 @@ void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans)
return;
// we don't need transactions here.
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_WEEKLY);
stmt->setUInt32(0, GetGUIDLow());
trans->Append(stmt);
for (QuestSet::const_iterator iter = m_weeklyquests.begin(); iter != m_weeklyquests.end(); ++iter)
{
- uint32 quest_id = *iter;
+ uint32 questId = *iter;
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_WEEKLY);
stmt->setUInt32(0, GetGUIDLow());
- stmt->setUInt32(1, quest_id);
+ stmt->setUInt32(1, questId);
trans->Append(stmt);
}
@@ -20061,21 +20211,22 @@ void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans)
return;
// we don't need transactions here.
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_SEASONAL);
stmt->setUInt32(0, GetGUIDLow());
trans->Append(stmt);
for (SeasonalEventQuestMap::const_iterator iter = m_seasonalquests.begin(); iter != m_seasonalquests.end(); ++iter)
{
- uint16 event_id = iter->first;
+ uint16 eventId = iter->first;
+
for (SeasonalQuestSet::const_iterator itr = iter->second.begin(); itr != iter->second.end(); ++itr)
{
- uint32 quest_id = (*itr);
+ uint32 questId = *itr;
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_SEASONALQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_SEASONAL);
stmt->setUInt32(0, GetGUIDLow());
- stmt->setUInt32(1, quest_id);
- stmt->setUInt32(2, event_id);
+ stmt->setUInt32(1, questId);
+ stmt->setUInt32(2, eventId);
trans->Append(stmt);
}
}
@@ -20089,16 +20240,17 @@ void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans)
return;
// we don't need transactions here.
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_MONTHLY_CHAR);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_MONTHLY);
stmt->setUInt32(0, GetGUIDLow());
trans->Append(stmt);
for (QuestSet::const_iterator iter = m_monthlyquests.begin(); iter != m_monthlyquests.end(); ++iter)
{
- uint32 quest_id = *iter;
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_MONTHLYQUESTSTATUS);
+ uint32 questId = *iter;
+
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_MONTHLY);
stmt->setUInt32(0, GetGUIDLow());
- stmt->setUInt32(1, quest_id);
+ stmt->setUInt32(1, questId);
trans->Append(stmt);
}
@@ -20145,7 +20297,7 @@ void Player::_SaveSkills(SQLTransaction& trans)
trans->Append(stmt);
break;
case SKILL_CHANGED:
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_CHAR_SKILLS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_SKILLS);
stmt->setUInt16(0, value);
stmt->setUInt16(1, max);
stmt->setUInt32(2, GetGUIDLow());
@@ -20690,7 +20842,7 @@ void Player::Say(const std::string& text, const uint32 language)
sScriptMgr->OnPlayerChat(this, CHAT_MSG_SAY, language, _text);
WorldPacket data;
- ChatHandler::BuildChatPacket(data, CHAT_MSG_SAY, Language(language), this, this, text);
+ ChatHandler::BuildChatPacket(data, CHAT_MSG_SAY, Language(language), this, this, _text);
SendMessageToSetInRange(&data, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), true);
}
@@ -20700,7 +20852,7 @@ void Player::Yell(const std::string& text, const uint32 language)
sScriptMgr->OnPlayerChat(this, CHAT_MSG_YELL, language, _text);
WorldPacket data;
- ChatHandler::BuildChatPacket(data, CHAT_MSG_YELL, Language(language), this, this, text);
+ ChatHandler::BuildChatPacket(data, CHAT_MSG_YELL, Language(language), this, this, _text);
SendMessageToSetInRange(&data, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_YELL), true);
}
@@ -20710,7 +20862,7 @@ void Player::TextEmote(const std::string& text)
sScriptMgr->OnPlayerChat(this, CHAT_MSG_EMOTE, LANG_UNIVERSAL, _text);
WorldPacket data;
- ChatHandler::BuildChatPacket(data, CHAT_MSG_EMOTE, LANG_UNIVERSAL, this, this, text);
+ ChatHandler::BuildChatPacket(data, CHAT_MSG_EMOTE, LANG_UNIVERSAL, this, this, _text);
SendMessageToSetInRange(&data, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE), true, !GetSession()->HasPermission(rbac::RBAC_PERM_TWO_SIDE_INTERACTION_CHAT));
}
@@ -20740,14 +20892,14 @@ void Player::Whisper(const std::string& text, uint32 language, uint64 receiver)
sScriptMgr->OnPlayerChat(this, CHAT_MSG_WHISPER, language, _text, rPlayer);
WorldPacket data;
- ChatHandler::BuildChatPacket(data, CHAT_MSG_WHISPER, Language(language), this, this, text);
+ ChatHandler::BuildChatPacket(data, CHAT_MSG_WHISPER, Language(language), this, this, _text);
rPlayer->GetSession()->SendPacket(&data);
// rest stuff shouldn't happen in case of addon message
if (isAddonMessage)
return;
- ChatHandler::BuildChatPacket(data, CHAT_MSG_WHISPER_INFORM, Language(language), rPlayer, rPlayer, text);
+ ChatHandler::BuildChatPacket(data, CHAT_MSG_WHISPER_INFORM, Language(language), rPlayer, rPlayer, _text);
GetSession()->SendPacket(&data);
if (!isAcceptWhispers() && !IsGameMaster() && !rPlayer->IsGameMaster())
@@ -21542,6 +21694,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
if (sWorld->getBoolConfig(CONFIG_INSTANT_TAXI))
{
TaxiNodesEntry const* lastPathNode = sTaxiNodesStore.LookupEntry(nodes[nodes.size()-1]);
+ ASSERT(lastPathNode);
m_taxi.ClearTaxiDestinations();
TeleportTo(lastPathNode->map_id, lastPathNode->x, lastPathNode->y, lastPathNode->z, GetOrientation());
return false;
@@ -21635,10 +21788,8 @@ void Player::ContinueTaxiFlight()
void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
{
- // last check 2.0.10
- WorldPacket data(SMSG_SPELL_COOLDOWN, 8+1+m_spells.size()*8);
- data << uint64(GetGUID());
- data << uint8(0x0); // flags (0x1, 0x2)
+ PacketCooldowns cooldowns;
+ WorldPacket data;
time_t curTime = time(NULL);
for (PlayerSpellMap::const_iterator itr = m_spells.begin(); itr != m_spells.end(); ++itr)
{
@@ -21661,12 +21812,16 @@ void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
if ((idSchoolMask & spellInfo->GetSchoolMask()) && GetSpellCooldownDelay(unSpellId) < unTimeMs)
{
- data << uint32(unSpellId);
- data << uint32(unTimeMs); // in m.secs
+ cooldowns[unSpellId] = unTimeMs;
AddSpellCooldown(unSpellId, 0, curTime + unTimeMs/IN_MILLISECONDS);
}
}
- GetSession()->SendPacket(&data);
+
+ if (!cooldowns.empty())
+ {
+ BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, cooldowns);
+ GetSession()->SendPacket(&data);
+ }
}
void Player::InitDataForForm(bool reapplyMods)
@@ -21760,6 +21915,7 @@ inline bool Player::_StoreOrEquipNewItem(uint32 vendorslot, uint32 item, uint8 c
if (crItem->ExtendedCost) // case for new honor system
{
ItemExtendedCostEntry const* iece = sItemExtendedCostStore.LookupEntry(crItem->ExtendedCost);
+ ASSERT(iece);
for (int i = 0; i < MAX_ITEM_EXT_COST_CURRENCIES; ++i)
{
if (iece->RequiredItem[i])
@@ -21986,6 +22142,15 @@ bool Player::BuyItemFromVendorSlot(uint64 vendorguid, uint32 vendorslot, uint32
return false;
}
+ if (!(pProto->AllowableClass & getClassMask()) && pProto->Bonding == BIND_WHEN_PICKED_UP && !IsGameMaster())
+ {
+ SendBuyError(BUY_ERR_CANT_FIND_ITEM, NULL, item, 0);
+ return false;
+ }
+
+ if (!IsGameMaster() && ((pProto->Flags2 & ITEM_FLAGS_EXTRA_HORDE_ONLY && GetTeam() == ALLIANCE) || (pProto->Flags2 == ITEM_FLAGS_EXTRA_ALLIANCE_ONLY && GetTeam() == HORDE)))
+ return false;
+
Creature* creature = GetNPCIfCanInteractWith(vendorguid, UNIT_NPC_FLAG_VENDOR);
if (!creature)
{
@@ -21994,6 +22159,14 @@ bool Player::BuyItemFromVendorSlot(uint64 vendorguid, uint32 vendorslot, uint32
return false;
}
+ ConditionList conditions = sConditionMgr->GetConditionsForNpcVendorEvent(creature->GetEntry(), item);
+ if (!sConditionMgr->IsObjectMeetToConditions(this, creature, conditions))
+ {
+ TC_LOG_DEBUG("condition", "BuyItemFromVendor: conditions not met for creature entry %u item %u", creature->GetEntry(), item);
+ SendBuyError(BUY_ERR_CANT_FIND_ITEM, creature, item, 0);
+ return false;
+ }
+
VendorItemData const* vItems = creature->GetVendorItems();
if (!vItems || vItems->Empty())
{
@@ -22340,6 +22513,8 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite
time_t catrecTime;
time_t recTime;
+ bool needsCooldownPacket = false;
+
// overwrite time for selected category
if (infinityCooldown)
{
@@ -22362,6 +22537,16 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite
if (catrec > 0 && !(spellInfo->AttributesEx6 & SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS))
ApplySpellMod(spellInfo->Id, SPELLMOD_COOLDOWN, catrec, spell);
+ if (int32 cooldownMod = GetTotalAuraModifier(SPELL_AURA_MOD_COOLDOWN))
+ {
+ // Apply SPELL_AURA_MOD_COOLDOWN only to own spells
+ if (HasSpell(spellInfo->Id))
+ {
+ needsCooldownPacket = true;
+ rec += cooldownMod * IN_MILLISECONDS; // SPELL_AURA_MOD_COOLDOWN does not affect category cooldows, verified with shaman shocks
+ }
+ }
+
// Apply SPELL_AURA_MOD_SPELL_CATEGORY_COOLDOWN modifiers
// Note: This aura applies its modifiers to all cooldowns of spells with set category, not to category cooldown only
if (cat)
@@ -22402,8 +22587,17 @@ void Player::AddSpellAndCategoryCooldowns(SpellInfo const* spellInfo, uint32 ite
// self spell cooldown
if (recTime > 0)
+ {
AddSpellCooldown(spellInfo->Id, itemId, recTime);
+ if (needsCooldownPacket)
+ {
+ WorldPacket data;
+ BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, spellInfo->Id, rec);
+ SendDirectMessage(&data);
+ }
+ }
+
// category spells
if (cat && catrec > 0)
{
@@ -23925,7 +24119,7 @@ void Player::UpdateForQuestWorldObjects()
UpdateData udata(GetMapId());
WorldPacket packet;
- for (ClientGUIDs::iterator itr=m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
+ for (ClientGUIDs::iterator itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
{
if (IS_GAMEOBJECT_GUID(*itr))
{
@@ -24920,7 +25114,7 @@ bool Player::isTotalImmune()
return false;
}
-bool Player::HasTitle(uint32 bitIndex)
+bool Player::HasTitle(uint32 bitIndex) const
{
if (bitIndex > MAX_TITLE_INDEX)
return false;
@@ -25194,6 +25388,12 @@ void Player::StoreLootItem(uint8 lootSlot, Loot* loot)
return;
}
+ if (!item->AllowedForPlayer(this))
+ {
+ SendLootRelease(GetLootGUID());
+ return;
+ }
+
// questitems use the blocked field for other purposes
if (!qitem && item->is_blocked)
{
@@ -25523,6 +25723,9 @@ void Player::HandleFall(MovementInfo const& movementInfo)
{
uint32 damage = (uint32)(damageperc * GetMaxHealth()*sWorld->getRate(RATE_DAMAGE_FALL));
+ if (GetCommandStatus(CHEAT_GOD))
+ damage = 0;
+
float height = movementInfo.pos.m_positionZ;
UpdateGroundPositionZ(movementInfo.pos.m_positionX, movementInfo.pos.m_positionY, height);
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 9a77a999a46..e417d24f793 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -177,10 +177,10 @@ struct PlayerCurrency
uint32 weekCount;
};
-typedef UNORDERED_MAP<uint32, PlayerTalent*> PlayerTalentMap;
-typedef UNORDERED_MAP<uint32, PlayerSpell*> PlayerSpellMap;
+typedef std::unordered_map<uint32, PlayerTalent*> PlayerTalentMap;
+typedef std::unordered_map<uint32, PlayerSpell*> PlayerSpellMap;
typedef std::list<SpellModifier*> SpellModList;
-typedef UNORDERED_MAP<uint32, PlayerCurrency> PlayerCurrenciesMap;
+typedef std::unordered_map<uint32, PlayerCurrency> PlayerCurrenciesMap;
typedef std::list<uint64> WhisperListContainer;
@@ -284,7 +284,7 @@ struct SpellCooldown
};
typedef std::map<uint32, SpellCooldown> SpellCooldowns;
-typedef UNORDERED_MAP<uint32 /*instanceId*/, time_t/*releaseTime*/> InstanceTimeMap;
+typedef std::unordered_map<uint32 /*instanceId*/, time_t/*releaseTime*/> InstanceTimeMap;
enum TrainerSpellState
{
@@ -634,7 +634,7 @@ struct SkillStatusData
SkillUpdateState uState;
};
-typedef UNORDERED_MAP<uint32, SkillStatusData> SkillStatusMap;
+typedef std::unordered_map<uint32, SkillStatusData> SkillStatusMap;
class Quest;
class Spell;
@@ -1562,9 +1562,11 @@ class Player : public Unit, public GridObject<Player>
bool TakeQuestSourceItem(uint32 questId, bool msg);
bool GetQuestRewardStatus(uint32 quest_id) const;
QuestStatus GetQuestStatus(uint32 quest_id) const;
- void SetQuestStatus(uint32 quest_id, QuestStatus status);
- void RemoveActiveQuest(uint32 quest_id);
- void RemoveRewardedQuest(uint32 quest_id);
+ void SetQuestStatus(uint32 questId, QuestStatus status, bool update = true);
+ void RemoveActiveQuest(uint32 questId, bool update = true);
+ void RemoveRewardedQuest(uint32 questId, bool update = true);
+ void SendQuestUpdate(uint32 questId);
+ QuestGiverStatus GetQuestDialogStatus(Object* questGiver);
void SetDailyQuestStatus(uint32 quest_id);
void SetWeeklyQuestStatus(uint32 quest_id);
@@ -1700,7 +1702,7 @@ class Player : public Unit, public GridObject<Player>
Unit* GetSelectedUnit() const;
Player* GetSelectedPlayer() const;
- void SetTarget(uint64 /*guid*/) OVERRIDE { } /// Used for serverside target changes, does not apply to players
+ void SetTarget(uint64 /*guid*/) override { } /// Used for serverside target changes, does not apply to players
void SetSelection(uint64 guid) { SetUInt64Value(UNIT_FIELD_TARGET, guid); }
uint8 GetComboPoints() const { return m_comboPoints; }
@@ -1733,7 +1735,7 @@ class Player : public Unit, public GridObject<Player>
uint8 unReadMails;
time_t m_nextMailDelivereTime;
- typedef UNORDERED_MAP<uint32, Item*> ItemMap;
+ typedef std::unordered_map<uint32, Item*> ItemMap;
ItemMap mMitems; //template defined in objectmgr.cpp
@@ -1977,7 +1979,7 @@ class Player : public Unit, public GridObject<Player>
void UpdateMastery();
bool CanUseMastery() const;
- void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) OVERRIDE;
+ void CalculateMinMaxDamage(WeaponAttackType attType, bool normalized, bool addTotalPct, float& minDamage, float& maxDamage) override;
inline void RecalculateRating(CombatRating cr) { ApplyRatingMod(cr, 0, true);}
float GetMeleeCritFromAgility();
@@ -2385,7 +2387,7 @@ class Player : public Unit, public GridObject<Player>
/*** INSTANCE SYSTEM ***/
/*********************************************************/
- typedef UNORDERED_MAP< uint32 /*mapId*/, InstancePlayerBind > BoundInstancesMap;
+ typedef std::unordered_map< uint32 /*mapId*/, InstancePlayerBind > BoundInstancesMap;
void UpdateHomebindTime(uint32 time);
@@ -2484,8 +2486,8 @@ class Player : public Unit, public GridObject<Player>
void RemoveTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry);
void CompletedAchievement(AchievementEntry const* entry);
- bool HasTitle(uint32 bitIndex);
- bool HasTitle(CharTitlesEntry const* title) { return HasTitle(title->bit_index); }
+ bool HasTitle(uint32 bitIndex) const;
+ bool HasTitle(CharTitlesEntry const* title) const { return HasTitle(title->bit_index); }
void SetTitle(CharTitlesEntry const* title, bool lost = false);
//bool isActiveObject() const { return true; }
@@ -2566,7 +2568,7 @@ class Player : public Unit, public GridObject<Player>
//We allow only one timed quest active at the same time. Below can then be simple value instead of set.
typedef std::set<uint32> QuestSet;
typedef std::set<uint32> SeasonalQuestSet;
- typedef UNORDERED_MAP<uint32, SeasonalQuestSet> SeasonalEventQuestMap;
+ typedef std::unordered_map<uint32, SeasonalQuestSet> SeasonalEventQuestMap;
QuestSet m_timedquests;
QuestSet m_weeklyquests;
QuestSet m_monthlyquests;
diff --git a/src/server/game/Entities/Totem/Totem.h b/src/server/game/Entities/Totem/Totem.h
index c02267aef99..5a2f3f5773a 100644
--- a/src/server/game/Entities/Totem/Totem.h
+++ b/src/server/game/Entities/Totem/Totem.h
@@ -56,7 +56,7 @@ class Totem : public Minion
void UpdateMaxHealth() { }
void UpdateMaxPower(Powers /*power*/) { }
void UpdateAttackPowerAndDamage(bool /*ranged*/) { }
- void UpdateDamagePhysical(WeaponAttackType /*attType*/) OVERRIDE { }
+ void UpdateDamagePhysical(WeaponAttackType /*attType*/) override { }
bool IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const;
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index 9906dc6d298..5f0ae6ecdea 100644
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -31,6 +31,7 @@
#include "Player.h"
#include "Cell.h"
#include "CellImpl.h"
+#include "Totem.h"
Transport::Transport() : GameObject(),
_transportInfo(NULL), _isMoving(true), _pendingStop(false),
@@ -84,8 +85,8 @@ bool Transport::Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, floa
_triggeredDepartureEvent = false;
m_goValue.Transport.PathProgress = 0;
- SetFloatValue(OBJECT_FIELD_SCALE_X, goinfo->size);
- SetUInt32Value(GAMEOBJECT_FACTION, goinfo->faction);
+ SetObjectScale(goinfo->size);
+ SetFaction(goinfo->faction);
SetUInt32Value(GAMEOBJECT_FLAGS, goinfo->flags);
SetPeriod(tInfo->pathTime);
SetEntry(goinfo->entry);
@@ -95,9 +96,25 @@ bool Transport::Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, floa
SetGoAnimProgress(animprogress);
SetName(goinfo->name);
UpdateRotationFields(0.0f, 1.0f);
+
+ m_model = GameObjectModel::Create(*this);
return true;
}
+void Transport::CleanupsBeforeDelete(bool finalCleanup /*= true*/)
+{
+ UnloadStaticPassengers();
+ while (!_passengers.empty())
+ {
+ WorldObject* obj = *_passengers.begin();
+ obj->m_movementInfo.transport.Reset();
+ obj->SetTransport(NULL);
+ RemovePassenger(obj);
+ }
+
+ GameObject::CleanupsBeforeDelete(finalCleanup);
+}
+
void Transport::Update(uint32 diff)
{
uint32 const positionUpdateDelay = 200;
@@ -192,8 +209,14 @@ void Transport::Update(uint32 diff)
3. transport moves from active to inactive grid
4. the grid that transport is currently in unloads
*/
- if (_staticPassengers.empty() && GetMap()->IsGridLoaded(GetPositionX(), GetPositionY())) // 2.
+ bool gridActive = GetMap()->IsGridLoaded(GetPositionX(), GetPositionY());
+
+ if (_staticPassengers.empty() && gridActive) // 2.
LoadStaticPassengers();
+ else if (!_staticPassengers.empty() && !gridActive)
+ // 4. - if transports stopped on grid edge, some passengers can remain in active grids
+ // unload all static passengers otherwise passengers won't load correctly when the grid that transport is currently in becomes active
+ UnloadStaticPassengers();
}
}
@@ -202,6 +225,9 @@ void Transport::Update(uint32 diff)
void Transport::AddPassenger(WorldObject* passenger)
{
+ if (!IsInWorld())
+ return;
+
if (_passengers.insert(passenger).second)
{
TC_LOG_DEBUG("entities.transport", "Object %s boarded transport %s.", passenger->GetName().c_str(), GetName().c_str());
@@ -307,11 +333,130 @@ GameObject* Transport::CreateGOPassenger(uint32 guid, GameObjectData const* data
return go;
}
+TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties /*= NULL*/, uint32 duration /*= 0*/, Unit* summoner /*= NULL*/, uint32 spellId /*= 0*/, uint32 vehId /*= 0*/)
+{
+ Map* map = FindMap();
+ if (!map)
+ return NULL;
+
+ uint32 mask = UNIT_MASK_SUMMON;
+ if (properties)
+ {
+ switch (properties->Category)
+ {
+ case SUMMON_CATEGORY_PET:
+ mask = UNIT_MASK_GUARDIAN;
+ break;
+ case SUMMON_CATEGORY_PUPPET:
+ mask = UNIT_MASK_PUPPET;
+ break;
+ case SUMMON_CATEGORY_VEHICLE:
+ mask = UNIT_MASK_MINION;
+ break;
+ case SUMMON_CATEGORY_WILD:
+ case SUMMON_CATEGORY_ALLY:
+ case SUMMON_CATEGORY_UNK:
+ {
+ switch (properties->Type)
+ {
+ case SUMMON_TYPE_MINION:
+ case SUMMON_TYPE_GUARDIAN:
+ case SUMMON_TYPE_GUARDIAN2:
+ mask = UNIT_MASK_GUARDIAN;
+ break;
+ case SUMMON_TYPE_TOTEM:
+ case SUMMON_TYPE_LIGHTWELL:
+ mask = UNIT_MASK_TOTEM;
+ break;
+ case SUMMON_TYPE_VEHICLE:
+ case SUMMON_TYPE_VEHICLE2:
+ mask = UNIT_MASK_SUMMON;
+ break;
+ case SUMMON_TYPE_MINIPET:
+ mask = UNIT_MASK_MINION;
+ break;
+ default:
+ if (properties->Flags & 512) // Mirror Image, Summon Gargoyle
+ mask = UNIT_MASK_GUARDIAN;
+ break;
+ }
+ break;
+ }
+ default:
+ return NULL;
+ }
+ }
+
+ uint32 phase = PHASEMASK_NORMAL;
+ if (summoner)
+ phase = summoner->GetPhaseMask();
+
+ TempSummon* summon = NULL;
+ switch (mask)
+ {
+ case UNIT_MASK_SUMMON:
+ summon = new TempSummon(properties, summoner, false);
+ break;
+ case UNIT_MASK_GUARDIAN:
+ summon = new Guardian(properties, summoner, false);
+ break;
+ case UNIT_MASK_PUPPET:
+ summon = new Puppet(properties, summoner);
+ break;
+ case UNIT_MASK_TOTEM:
+ summon = new Totem(properties, summoner);
+ break;
+ case UNIT_MASK_MINION:
+ summon = new Minion(properties, summoner, false);
+ break;
+ }
+
+ float x, y, z, o;
+ pos.GetPosition(x, y, z, o);
+ CalculatePassengerPosition(x, y, z, &o);
+
+ if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, phase, entry, x, y, z, o, nullptr, vehId))
+ {
+ delete summon;
+ return NULL;
+ }
+
+ summon->SetUInt32Value(UNIT_CREATED_BY_SPELL, spellId);
+
+ summon->SetTransport(this);
+ summon->m_movementInfo.transport.guid = GetGUID();
+ summon->m_movementInfo.transport.pos.Relocate(pos);
+ summon->Relocate(x, y, z, o);
+ summon->SetHomePosition(x, y, z, o);
+ summon->SetTransportHomePosition(pos);
+
+ /// @HACK - transport models are not added to map's dynamic LoS calculations
+ /// because the current GameObjectModel cannot be moved without recreating
+ summon->AddUnitState(UNIT_STATE_IGNORE_PATHFINDING);
+
+ summon->InitStats(duration);
+
+ if (!map->AddToMap<Creature>(summon))
+ {
+ delete summon;
+ return NULL;
+ }
+
+ _staticPassengers.insert(summon);
+
+ summon->InitSummon();
+ summon->SetTempSummonType(summonType);
+
+ return summon;
+}
+
void Transport::UpdatePosition(float x, float y, float z, float o)
{
bool newActive = GetMap()->IsGridLoaded(x, y);
+ Cell oldCell(GetPositionX(), GetPositionY());
Relocate(x, y, z, o);
+ UpdateModelPosition();
UpdatePassengerPositions(_passengers);
@@ -323,7 +468,7 @@ void Transport::UpdatePosition(float x, float y, float z, float o)
*/
if (_staticPassengers.empty() && newActive) // 1.
LoadStaticPassengers();
- else if (!_staticPassengers.empty() && !newActive && Cell(x, y).DiffGrid(Cell(GetPositionX(), GetPositionY()))) // 3.
+ else if (!_staticPassengers.empty() && !newActive && oldCell.DiffGrid(Cell(GetPositionX(), GetPositionY()))) // 3.
UnloadStaticPassengers();
else
UpdatePassengerPositions(_staticPassengers);
@@ -449,12 +594,16 @@ bool Transport::TeleportTransport(uint32 newMapid, float x, float y, float z, fl
if (!obj->ToPlayer()->TeleportTo(newMapid, destX, destY, destZ, destO, TELE_TO_NOT_LEAVE_TRANSPORT))
_passengers.erase(obj);
break;
+ case TYPEID_DYNAMICOBJECT:
+ obj->AddObjectToRemoveList();
+ break;
default:
break;
}
}
Relocate(x, y, z, o);
+ UpdateModelPosition();
GetMap()->AddToMap<Transport>(this);
return true;
}
@@ -517,6 +666,9 @@ void Transport::UpdatePassengerPositions(std::set<WorldObject*>& passengers)
case TYPEID_GAMEOBJECT:
GetMap()->GameObjectRelocation(passenger->ToGameObject(), x, y, z, o, false);
break;
+ case TYPEID_DYNAMICOBJECT:
+ GetMap()->DynamicObjectRelocation(passenger->ToDynObject(), x, y, z, o);
+ break;
default:
break;
}
diff --git a/src/server/game/Entities/Transport/Transport.h b/src/server/game/Entities/Transport/Transport.h
index 55f4daddecc..293d4334a2e 100644
--- a/src/server/game/Entities/Transport/Transport.h
+++ b/src/server/game/Entities/Transport/Transport.h
@@ -34,9 +34,11 @@ class Transport : public GameObject, public TransportBase
~Transport();
bool Create(uint32 guidlow, uint32 entry, uint32 mapid, float x, float y, float z, float ang, uint32 animprogress);
- void Update(uint32 diff);
+ void CleanupsBeforeDelete(bool finalCleanup = true) override;
- void BuildUpdate(UpdateDataMapType& data_map);
+ void Update(uint32 diff) override;
+
+ void BuildUpdate(UpdateDataMapType& data_map) override;
void AddPassenger(WorldObject* passenger);
void RemovePassenger(WorldObject* passenger);
@@ -45,14 +47,32 @@ class Transport : public GameObject, public TransportBase
Creature* CreateNPCPassenger(uint32 guid, CreatureData const* data);
GameObject* CreateGOPassenger(uint32 guid, GameObjectData const* data);
+ /**
+ * @fn bool Transport::SummonPassenger(uint64, Position const&, TempSummonType, SummonPropertiesEntry const*, uint32, Unit*, uint32, uint32)
+ *
+ * @brief Temporarily summons a creature as passenger on this transport.
+ *
+ * @param entry Id of the creature from creature_template table
+ * @param pos Initial position of the creature (transport offsets)
+ * @param summonType
+ * @param properties
+ * @param duration Determines how long the creauture will exist in world depending on @summonType (in milliseconds)
+ * @param summoner Summoner of the creature (for AI purposes)
+ * @param spellId
+ * @param vehId If set, this value overrides vehicle id from creature_template that the creature will use
+ *
+ * @return Summoned creature.
+ */
+ TempSummon* SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties = NULL, uint32 duration = 0, Unit* summoner = NULL, uint32 spellId = 0, uint32 vehId = 0);
+
/// This method transforms supplied transport offsets into global coordinates
- void CalculatePassengerPosition(float& x, float& y, float& z, float* o /*= NULL*/) const
+ void CalculatePassengerPosition(float& x, float& y, float& z, float* o = NULL) const override
{
TransportBase::CalculatePassengerPosition(x, y, z, o, GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation());
}
/// This method transforms supplied global coordinates into local offsets
- void CalculatePassengerOffset(float& x, float& y, float& z, float* o /*= NULL*/) const
+ void CalculatePassengerOffset(float& x, float& y, float& z, float* o = NULL) const override
{
TransportBase::CalculatePassengerOffset(x, y, z, o, GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation());
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 7ff01c84ff9..afc2856fb32 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -155,11 +155,6 @@ ProcEventInfo::ProcEventInfo(Unit* actor, Unit* actionTarget, Unit* procTarget,
_damageInfo(damageInfo), _healInfo(healInfo)
{ }
-// we can disable this warning for this since it only
-// causes undefined behavior when passed to the base class constructor
-#ifdef _MSC_VER
-#pragma warning(disable:4355)
-#endif
Unit::Unit(bool isWorldObject) :
WorldObject(isWorldObject), m_movedPlayer(NULL), m_lastSanctuaryTime(0),
IsAIEnabled(false), NeedChangeAI(false), LastCharmerGUID(0),
@@ -169,9 +164,6 @@ Unit::Unit(bool isWorldObject) :
m_vehicle(NULL), m_vehicleKit(NULL), m_unitTypeMask(UNIT_MASK_NONE),
m_HostileRefManager(this), _lastDamagedTime(0)
{
-#ifdef _MSC_VER
-#pragma warning(default:4355)
-#endif
m_objectType |= TYPEMASK_UNIT;
m_objectTypeId = TYPEID_UNIT;
@@ -4255,10 +4247,13 @@ uint32 Unit::GetDoTsByCaster(uint64 casterGUID) const
int32 Unit::GetTotalAuraModifier(AuraType auratype) const
{
+ AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype);
+ if (mTotalAuraList.empty())
+ return 0;
+
std::map<SpellGroup, int32> SameEffectSpellGroup;
int32 modifier = 0;
- AuraEffectList const& mTotalAuraList = GetAuraEffectsByType(auratype);
for (AuraEffectList::const_iterator i = mTotalAuraList.begin(); i != mTotalAuraList.end(); ++i)
if (!sSpellMgr->AddSameEffectStackRuleSpellGroups((*i)->GetSpellInfo(), (*i)->GetAmount(), SameEffectSpellGroup))
modifier += (*i)->GetAmount();
@@ -7207,6 +7202,9 @@ bool Unit::HandleOverrideClassScriptAuraProc(Unit* victim, uint32 /*damage*/, Au
void Unit::setPowerType(Powers new_powertype)
{
+ if (getPowerType() == new_powertype)
+ return;
+
SetByteValue(UNIT_FIELD_BYTES_0, 3, new_powertype);
if (GetTypeId() == TYPEID_PLAYER)
@@ -7280,7 +7278,7 @@ ReputationRank Unit::GetReactionTo(Unit const* target) const
Player const* targetPlayerOwner = target->GetAffectingPlayer();
// check forced reputation to support SPELL_AURA_FORCE_REACTION
- if (selfPlayerOwner)
+ if (selfPlayerOwner)
{
if (FactionTemplateEntry const* targetFactionTemplateEntry = target->GetFactionTemplateEntry())
if (ReputationRank const* repRank = selfPlayerOwner->GetReputationMgr().GetForcedRankIfAny(targetFactionTemplateEntry))
@@ -8852,7 +8850,7 @@ bool Unit::isSpellCrit(Unit* victim, SpellInfo const* spellProto, SpellSchoolMas
default:
return false;
}
- break;
+ // Do not add a break here, case fallthrough is intentional! Adding a break will make above spells unable to crit.
case SPELL_DAMAGE_CLASS_MAGIC:
{
if (schoolMask & SPELL_SCHOOL_MASK_NORMAL)
@@ -11245,6 +11243,8 @@ float Unit::GetSpellMaxRangeForTarget(Unit const* target, SpellInfo const* spell
return 0;
if (spellInfo->RangeEntry->maxRangeFriend == spellInfo->RangeEntry->maxRangeHostile)
return spellInfo->GetMaxRange();
+ if (target == NULL)
+ return spellInfo->GetMaxRange(true);
return spellInfo->GetMaxRange(!IsHostileTo(target));
}
@@ -11306,9 +11306,35 @@ bool Unit::IsInFeralForm() const
bool Unit::IsInDisallowedMountForm() const
{
- ShapeshiftForm form = GetShapeshiftForm();
- return form != FORM_NONE && form != FORM_BATTLESTANCE && form != FORM_BERSERKERSTANCE && form != FORM_DEFENSIVESTANCE &&
- form != FORM_SHADOW && form != FORM_STEALTH && form != FORM_UNDEAD;
+ if (ShapeshiftForm form = GetShapeshiftForm())
+ {
+ SpellShapeshiftFormEntry const* shapeshift = sSpellShapeshiftFormStore.LookupEntry(form);
+ if (!shapeshift)
+ return true;
+
+ if (!(shapeshift->flags1 & 0x1))
+ return true;
+ }
+
+ if (GetDisplayId() == GetNativeDisplayId())
+ return false;
+
+ CreatureDisplayInfoEntry const* display = sCreatureDisplayInfoStore.LookupEntry(GetDisplayId());
+ if (!display)
+ return true;
+
+ CreatureDisplayInfoExtraEntry const* displayExtra = sCreatureDisplayInfoExtraStore.LookupEntry(display->ExtraId);
+ if (!displayExtra)
+ return true;
+
+ CreatureModelDataEntry const* model = sCreatureModelDataStore.LookupEntry(display->ModelId);
+ ChrRacesEntry const* race = sChrRacesStore.LookupEntry(displayExtra->Race);
+
+ if (model && !(model->Flags & 0x80))
+ if (race && !(race->Flags & 0x4))
+ return true;
+
+ return false;
}
/*#######################################
@@ -13272,7 +13298,7 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit* victim, Aura* aura, SpellInfo const
}
// Check spellProcEvent data requirements
- if (!sSpellMgr->IsSpellProcEventCanTriggeredBy(spellProcEvent, EventProcFlag, procSpell, procFlag, procExtra, active))
+ if (!sSpellMgr->IsSpellProcEventCanTriggeredBy(spellProto, spellProcEvent, EventProcFlag, procSpell, procFlag, procExtra, active))
return false;
// In most cases req get honor or XP from kill
if (EventProcFlag & PROC_FLAG_KILL && GetTypeId() == TYPEID_PLAYER)
@@ -13486,8 +13512,10 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
data << uint64(victim->GetGUID()); // victim
Player* looter = player;
+ Group* group = player->GetGroup();
+ bool hasLooterGuid = false;
- if (Group* group = player->GetGroup())
+ if (group)
{
group->BroadcastPacket(&data, group->GetMemberGroup(player->GetGUID()));
@@ -13499,16 +13527,10 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
looter = ObjectAccessor::FindPlayer(group->GetLooterGuid());
if (looter)
{
+ hasLooterGuid = true;
creature->SetLootRecipient(looter); // update creature loot recipient to the allowed looter.
- group->SendLooter(creature, looter);
}
- else
- group->SendLooter(creature, NULL);
}
- else
- group->SendLooter(creature, NULL);
-
- group->UpdateLooterGuid(creature);
}
}
else
@@ -13525,6 +13547,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
}
}
+ // Generate loot before updating looter
if (creature)
{
Loot* loot = &creature->loot;
@@ -13536,6 +13559,18 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
loot->FillLoot(lootid, LootTemplates_Creature, looter, false, false, creature->GetLootMode());
loot->generateMoneyLoot(creature->GetCreatureTemplate()->mingold, creature->GetCreatureTemplate()->maxgold);
+
+ if (group)
+ {
+ if (hasLooterGuid)
+ group->SendLooter(creature, looter);
+ else
+ group->SendLooter(creature, NULL);
+
+ // Update round robin looter only if the creature had loot
+ if (!creature->loot.empty())
+ group->UpdateLooterGuid(creature);
+ }
}
player->RewardPlayerAndGroupAtKill(victim, false);
@@ -13854,7 +13889,7 @@ void Unit::SetStunned(bool apply)
else
{
if (IsAlive() && GetVictim())
- SetTarget(GetVictim()->GetGUID());
+ SetTarget(EnsureVictim()->GetGUID());
// don't remove UNIT_FLAG_STUNNED for pet when owner is mounted (disabled pet's interface)
Unit* owner = GetOwner();
@@ -13909,7 +13944,7 @@ void Unit::SetFeared(bool apply)
if (GetMotionMaster()->GetCurrentMovementGeneratorType() == FLEEING_MOTION_TYPE)
GetMotionMaster()->MovementExpired();
if (GetVictim())
- SetTarget(GetVictim()->GetGUID());
+ SetTarget(EnsureVictim()->GetGUID());
}
}
@@ -13931,7 +13966,7 @@ void Unit::SetConfused(bool apply)
if (GetMotionMaster()->GetCurrentMovementGeneratorType() == CONFUSED_MOTION_TYPE)
GetMotionMaster()->MovementExpired();
if (GetVictim())
- SetTarget(GetVictim()->GetGUID());
+ SetTarget(EnsureVictim()->GetGUID());
}
}
@@ -14208,10 +14243,7 @@ void Unit::RestoreFaction()
}
if (CreatureTemplate const* cinfo = ToCreature()->GetCreatureTemplate()) // normal creature
- {
- FactionTemplateEntry const* faction = GetFactionTemplateEntry();
- setFaction((faction && faction->friendlyMask & 0x004) ? cinfo->faction_H : cinfo->faction_A);
- }
+ setFaction(cinfo->faction);
}
}
@@ -15307,7 +15339,7 @@ void Unit::_ExitVehicle(Position const* exitPosition)
Position pos;
if (!exitPosition) // Exit position not specified
- vehicle->GetBase()->GetPosition(&pos); // This should use passenger's current position, leaving it as it is now
+ pos = vehicle->GetBase()->GetPosition(); // This should use passenger's current position, leaving it as it is now
// because we calculate positions incorrect (sometimes under map)
else
pos = *exitPosition;
@@ -15938,7 +15970,12 @@ bool CharmInfo::IsCommandFollow()
void CharmInfo::SaveStayPosition()
{
//! At this point a new spline destination is enabled because of Unit::StopMoving()
- G3D::Vector3 const stayPos = _unit->movespline->FinalDestination();
+ G3D::Vector3 stayPos = _unit->movespline->FinalDestination();
+
+ if (_unit->movespline->onTransport)
+ if (TransportBase* transport = _unit->GetDirectTransport())
+ transport->CalculatePassengerPosition(stayPos.x, stayPos.y, stayPos.z);
+
_stayX = stayPos.x;
_stayY = stayPos.y;
_stayZ = stayPos.z;
@@ -16413,3 +16450,24 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target)
updateMask.AppendToPacket(data);
data->append(fieldBuffer);
}
+
+void Unit::BuildCooldownPacket(WorldPacket& data, uint8 flags, uint32 spellId, uint32 cooldown)
+{
+ data.Initialize(SMSG_SPELL_COOLDOWN, 8 + 1 + 4 + 4);
+ data << uint64(GetGUID());
+ data << uint8(flags);
+ data << uint32(spellId);
+ data << uint32(cooldown);
+}
+
+void Unit::BuildCooldownPacket(WorldPacket& data, uint8 flags, PacketCooldowns const& cooldowns)
+{
+ data.Initialize(SMSG_SPELL_COOLDOWN, 8 + 1 + (4 + 4) * cooldowns.size());
+ data << uint64(GetGUID());
+ data << uint8(flags);
+ for (std::unordered_map<uint32, uint32>::const_iterator itr = cooldowns.begin(); itr != cooldowns.end(); ++itr)
+ {
+ data << uint32(itr->first);
+ data << uint32(itr->second);
+ }
+}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index ac892373a86..1cf44bb5ca7 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -524,6 +524,12 @@ enum UnitState
UNIT_STATE_CHASE_MOVE = 0x04000000,
UNIT_STATE_FOLLOW_MOVE = 0x08000000,
UNIT_STATE_IGNORE_PATHFINDING = 0x10000000, // do not use pathfinding in any MovementGenerator
+ UNIT_STATE_ALL_STATE_SUPPORTED = UNIT_STATE_DIED | UNIT_STATE_MELEE_ATTACKING | UNIT_STATE_STUNNED | UNIT_STATE_ROAMING | UNIT_STATE_CHASE
+ | UNIT_STATE_FLEEING | UNIT_STATE_IN_FLIGHT | UNIT_STATE_FOLLOW | UNIT_STATE_ROOT | UNIT_STATE_CONFUSED
+ | UNIT_STATE_DISTRACTED | UNIT_STATE_ISOLATED | UNIT_STATE_ATTACK_PLAYER | UNIT_STATE_CASTING
+ | UNIT_STATE_POSSESSED | UNIT_STATE_CHARGING | UNIT_STATE_JUMPING | UNIT_STATE_MOVE | UNIT_STATE_ROTATING
+ | UNIT_STATE_EVADE | UNIT_STATE_ROAMING_MOVE | UNIT_STATE_CONFUSED_MOVE | UNIT_STATE_FLEEING_MOVE
+ | UNIT_STATE_CHASE_MOVE | UNIT_STATE_FOLLOW_MOVE | UNIT_STATE_IGNORE_PATHFINDING,
UNIT_STATE_UNATTACKABLE = UNIT_STATE_IN_FLIGHT,
// for real move using movegen check and stop (except unstoppable flight)
UNIT_STATE_MOVING = UNIT_STATE_ROAMING_MOVE | UNIT_STATE_CONFUSED_MOVE | UNIT_STATE_FLEEING_MOVE | UNIT_STATE_CHASE_MOVE | UNIT_STATE_FOLLOW_MOVE,
@@ -1050,7 +1056,7 @@ struct GlobalCooldown
uint32 cast_time;
};
-typedef UNORDERED_MAP<uint32 /*category*/, GlobalCooldown> GlobalCooldownList;
+typedef std::unordered_map<uint32 /*category*/, GlobalCooldown> GlobalCooldownList;
class GlobalCooldownMgr // Shared by Player and CharmInfo
{
@@ -1250,6 +1256,16 @@ enum PlayerTotemType
SUMMON_TYPE_TOTEM_AIR = 83
};
+/// Spell cooldown flags sent in SMSG_SPELL_COOLDOWN
+enum SpellCooldownFlags
+{
+ SPELL_COOLDOWN_FLAG_NONE = 0x0,
+ SPELL_COOLDOWN_FLAG_INCLUDE_GCD = 0x1, ///< Starts GCD in addition to normal cooldown specified in the packet
+ SPELL_COOLDOWN_FLAG_INCLUDE_EVENT_COOLDOWNS = 0x2 ///< Starts GCD for spells that should start their cooldown on events, requires SPELL_COOLDOWN_FLAG_INCLUDE_GCD set
+};
+
+typedef std::unordered_map<uint32, uint32> PacketCooldowns;
+
// delay time next attack to prevent client attack animation problems
#define ATTACK_DISPLAY_DELAY 200
#define MAX_PLAYER_STEALTH_DETECT_RANGE 30.0f // max distance for detection targets by player
@@ -1329,6 +1345,12 @@ class Unit : public WorldObject
AttackerSet const& getAttackers() const { return m_attackers; }
bool isAttackingPlayer() const;
Unit* GetVictim() const { return m_attacking; }
+ // Use this only when 100% sure there is a victim
+ Unit* EnsureVictim() const
+ {
+ ASSERT(m_attacking);
+ return m_attacking;
+ }
void CombatStop(bool includingCast = false);
void CombatStopWithPets(bool includingCast = false);
@@ -1574,6 +1596,8 @@ class Unit : public WorldObject
Aura* AddAura(SpellInfo const* spellInfo, uint8 effMask, Unit* target);
void SetAuraStack(uint32 spellId, Unit* target, uint32 stack);
void SendPlaySpellVisualKit(uint32 id, uint32 unkParam);
+ void BuildCooldownPacket(WorldPacket& data, uint8 flags, uint32 spellId, uint32 cooldown);
+ void BuildCooldownPacket(WorldPacket& data, uint8 flags, PacketCooldowns const& cooldowns);
void DeMorph();
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 4404f8036af..175524d7208 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -1621,7 +1621,7 @@ uint16 GameEventMgr::GetEventIdForQuest(Quest const* quest) const
if (!quest)
return 0;
- UNORDERED_MAP<uint32, uint16>::const_iterator itr = _questToEventLinks.find(quest->GetQuestId());
+ std::unordered_map<uint32, uint16>::const_iterator itr = _questToEventLinks.find(quest->GetQuestId());
if (itr == _questToEventLinks.end())
return 0;
diff --git a/src/server/game/Events/GameEventMgr.h b/src/server/game/Events/GameEventMgr.h
index b30ea8fc0ef..4b63402caa8 100644
--- a/src/server/game/Events/GameEventMgr.h
+++ b/src/server/game/Events/GameEventMgr.h
@@ -174,7 +174,7 @@ class GameEventMgr
QuestIdToEventConditionMap mQuestToEventConditions;
GameEventNPCFlagMap mGameEventNPCFlags;
ActiveEvents m_ActiveEvents;
- UNORDERED_MAP<uint32, uint16> _questToEventLinks;
+ std::unordered_map<uint32, uint16> _questToEventLinks;
bool isSystemInit;
public:
GameEventGuidMap mGameEventCreatureGuids;
diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp
index af2c1ef290a..7de319df07f 100644
--- a/src/server/game/Globals/ObjectAccessor.cpp
+++ b/src/server/game/Globals/ObjectAccessor.cpp
@@ -440,7 +440,7 @@ void ObjectAccessor::UnloadAll()
/// Define the static members of HashMapHolder
-template <class T> UNORDERED_MAP< uint64, T* > HashMapHolder<T>::m_objectMap;
+template <class T> std::unordered_map< uint64, T* > HashMapHolder<T>::m_objectMap;
template <class T> typename HashMapHolder<T>::LockType HashMapHolder<T>::i_lock;
/// Global definitions for the hashmap storage
diff --git a/src/server/game/Globals/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h
index 1fa8c7dff0c..f65486850ac 100644
--- a/src/server/game/Globals/ObjectAccessor.h
+++ b/src/server/game/Globals/ObjectAccessor.h
@@ -22,7 +22,7 @@
#include "Define.h"
#include <ace/Singleton.h>
#include <ace/Thread_Mutex.h>
-#include "UnorderedMap.h"
+#include <unordered_map>
#include "UpdateData.h"
@@ -47,7 +47,7 @@ class HashMapHolder
{
public:
- typedef UNORDERED_MAP<uint64, T*> MapType;
+ typedef std::unordered_map<uint64, T*> MapType;
typedef ACE_RW_Thread_Mutex LockType;
static void Insert(T* o)
@@ -223,8 +223,8 @@ class ObjectAccessor
static void _buildPacket(Player*, Object*, UpdateDataMapType&);
void _update();
- typedef UNORDERED_MAP<uint64, Corpse*> Player2CorpsesMapType;
- typedef UNORDERED_MAP<Player*, UpdateData>::value_type UpdateDataValueType;
+ typedef std::unordered_map<uint64, Corpse*> Player2CorpsesMapType;
+ typedef std::unordered_map<Player*, UpdateData>::value_type UpdateDataValueType;
std::set<Object*> i_objects;
Player2CorpsesMapType i_player2corpse;
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 2936c31e1ae..454d79a0ee1 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -20,6 +20,7 @@
#include "AchievementMgr.h"
#include "ArenaTeam.h"
#include "ArenaTeamMgr.h"
+#include "BattlegroundMgr.h"
#include "Chat.h"
#include "Common.h"
#include "DatabaseEnv.h"
@@ -380,7 +381,8 @@ void ObjectMgr::LoadGossipMenuItemsLocales()
AddLocaleString(fields[2 + 2 * (i - 1)].GetString(), locale, data.OptionText);
AddLocaleString(fields[2 + 2 * (i - 1) + 1].GetString(), locale, data.BoxText);
}
- } while (result->NextRow());
+ }
+ while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %lu gossip_menu_option locale strings in %u ms", (unsigned long)_gossipMenuItemsLocaleStore.size(), GetMSTimeDiffToNow(oldMSTime));
}
@@ -417,19 +419,19 @@ void ObjectMgr::LoadCreatureTemplates()
// 0 1 2 3 4 5 6 7 8
QueryResult result = WorldDatabase.Query("SELECT entry, difficulty_entry_1, difficulty_entry_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3, "
- // 9 10 11 12 13 14 15 16 17 18 19 20 21
- "modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, exp_unk, faction_A, faction_H, npcflag, speed_walk, "
- // 22 23 24 25 26 27 28 29 30 31 32 33 34
- "speed_run, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, "
- // 35 36 37 38 39 40 41 42 43
+ // 9 10 11 12 13 14 15 16 17 18 19 20 21
+ "modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, exp_unk, faction, npcflag, speed_walk, speed_run, "
+ // 22 23 24 25 26 27 28 29 30 31 32 33
+ "scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, unit_flags2, "
+ // 34 35 36 37 38 39 40 41 42
"dynamicflags, family, trainer_type, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, "
- // 44 45 46 47 48 49 50 51 52 53 54
+ // 43 44 45 46 47 48 49 50 51 52 53
"type_flags, type_flags2, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, "
- // 55 56 57 58 59 60 61 62 63 64 65 66 67 68
+ // 54 55 56 57 58 59 60 61 62 63 64 65 66 67
"spell1, spell2, spell3, spell4, spell5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName, MovementType, "
- // 69 70 71 72 73 74 75 76 77 78 79 80
+ // 68 69 70 71 72 73 74 75 76 77 78 79
"InhabitType, HoverHeight, Health_mod, Mana_mod, Mana_mod_extra, Armor_mod, RacialLeader, questItem1, questItem2, questItem3, questItem4, questItem5, "
- // 81 82 83 84 85 86
+ // 80 81 82 83 84 85
" questItem6, movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName "
"FROM creature_template;");
@@ -470,66 +472,65 @@ void ObjectMgr::LoadCreatureTemplates()
creatureTemplate.maxlevel = fields[15].GetUInt8();
creatureTemplate.expansion = uint32(fields[16].GetInt16());
creatureTemplate.expansionUnknown = uint32(fields[17].GetUInt16());
- creatureTemplate.faction_A = uint32(fields[18].GetUInt16());
- creatureTemplate.faction_H = uint32(fields[19].GetUInt16());
- creatureTemplate.npcflag = fields[20].GetUInt32();
- creatureTemplate.speed_walk = fields[21].GetFloat();
- creatureTemplate.speed_run = fields[22].GetFloat();
- creatureTemplate.scale = fields[23].GetFloat();
- creatureTemplate.rank = uint32(fields[24].GetUInt8());
- creatureTemplate.mindmg = fields[25].GetFloat();
- creatureTemplate.maxdmg = fields[26].GetFloat();
- creatureTemplate.dmgschool = uint32(fields[27].GetInt8());
- creatureTemplate.attackpower = fields[28].GetUInt32();
- creatureTemplate.dmg_multiplier = fields[29].GetFloat();
- creatureTemplate.baseattacktime = fields[30].GetUInt32();
- creatureTemplate.rangeattacktime = fields[31].GetUInt32();
- creatureTemplate.unit_class = uint32(fields[32].GetUInt8());
- creatureTemplate.unit_flags = fields[33].GetUInt32();
- creatureTemplate.unit_flags2 = fields[34].GetUInt32();
- creatureTemplate.dynamicflags = fields[35].GetUInt32();
- creatureTemplate.family = uint32(fields[36].GetUInt8());
- creatureTemplate.trainer_type = uint32(fields[37].GetUInt8());
- creatureTemplate.trainer_class = uint32(fields[38].GetUInt8());
- creatureTemplate.trainer_race = uint32(fields[39].GetUInt8());
- creatureTemplate.minrangedmg = fields[40].GetFloat();
- creatureTemplate.maxrangedmg = fields[41].GetFloat();
- creatureTemplate.rangedattackpower = uint32(fields[42].GetUInt16());
- creatureTemplate.type = uint32(fields[43].GetUInt8());
- creatureTemplate.type_flags = fields[44].GetUInt32();
- creatureTemplate.type_flags2 = fields[45].GetUInt32();
- creatureTemplate.lootid = fields[46].GetUInt32();
- creatureTemplate.pickpocketLootId = fields[47].GetUInt32();
- creatureTemplate.SkinLootId = fields[48].GetUInt32();
+ creatureTemplate.faction = uint32(fields[18].GetUInt16());
+ creatureTemplate.npcflag = fields[19].GetUInt32();
+ creatureTemplate.speed_walk = fields[20].GetFloat();
+ creatureTemplate.speed_run = fields[21].GetFloat();
+ creatureTemplate.scale = fields[22].GetFloat();
+ creatureTemplate.rank = uint32(fields[23].GetUInt8());
+ creatureTemplate.mindmg = fields[24].GetFloat();
+ creatureTemplate.maxdmg = fields[25].GetFloat();
+ creatureTemplate.dmgschool = uint32(fields[26].GetInt8());
+ creatureTemplate.attackpower = fields[27].GetUInt32();
+ creatureTemplate.dmg_multiplier = fields[28].GetFloat();
+ creatureTemplate.baseattacktime = fields[29].GetUInt32();
+ creatureTemplate.rangeattacktime = fields[30].GetUInt32();
+ creatureTemplate.unit_class = uint32(fields[31].GetUInt8());
+ creatureTemplate.unit_flags = fields[32].GetUInt32();
+ creatureTemplate.unit_flags2 = fields[33].GetUInt32();
+ creatureTemplate.dynamicflags = fields[34].GetUInt32();
+ creatureTemplate.family = uint32(fields[35].GetUInt8());
+ creatureTemplate.trainer_type = uint32(fields[36].GetUInt8());
+ creatureTemplate.trainer_class = uint32(fields[37].GetUInt8());
+ creatureTemplate.trainer_race = uint32(fields[38].GetUInt8());
+ creatureTemplate.minrangedmg = fields[39].GetFloat();
+ creatureTemplate.maxrangedmg = fields[40].GetFloat();
+ creatureTemplate.rangedattackpower = uint32(fields[41].GetUInt16());
+ creatureTemplate.type = uint32(fields[42].GetUInt8());
+ creatureTemplate.type_flags = fields[43].GetUInt32();
+ creatureTemplate.type_flags2 = fields[44].GetUInt32();
+ creatureTemplate.lootid = fields[45].GetUInt32();
+ creatureTemplate.pickpocketLootId = fields[46].GetUInt32();
+ creatureTemplate.SkinLootId = fields[47].GetUInt32();
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
- creatureTemplate.resistance[i] = fields[49 + i - 1].GetInt16();
+ creatureTemplate.resistance[i] = fields[48 + i - 1].GetInt16();
for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i)
- creatureTemplate.spells[i] = fields[55 + i].GetUInt32();
-
- creatureTemplate.PetSpellDataId = fields[63].GetUInt32();
- creatureTemplate.VehicleId = fields[64].GetUInt32();
- creatureTemplate.mingold = fields[65].GetUInt32();
- creatureTemplate.maxgold = fields[66].GetUInt32();
- creatureTemplate.AIName = fields[67].GetString();
- creatureTemplate.MovementType = uint32(fields[68].GetUInt8());
- creatureTemplate.InhabitType = uint32(fields[69].GetUInt8());
- creatureTemplate.HoverHeight = fields[70].GetFloat();
- creatureTemplate.ModHealth = fields[71].GetFloat();
- creatureTemplate.ModMana = fields[72].GetFloat();
- creatureTemplate.ModManaExtra = fields[73].GetFloat();
- creatureTemplate.ModArmor = fields[74].GetFloat();
- creatureTemplate.RacialLeader = fields[75].GetBool();
+ creatureTemplate.spells[i] = fields[54 + i].GetUInt32();
+
+ creatureTemplate.PetSpellDataId = fields[62].GetUInt32();
+ creatureTemplate.VehicleId = fields[63].GetUInt32();
+ creatureTemplate.mingold = fields[64].GetUInt32();
+ creatureTemplate.maxgold = fields[65].GetUInt32();
+ creatureTemplate.AIName = fields[66].GetString();
+ creatureTemplate.MovementType = uint32(fields[67].GetUInt8());
+ creatureTemplate.InhabitType = uint32(fields[68].GetUInt8());
+ creatureTemplate.HoverHeight = fields[69].GetFloat();
+ creatureTemplate.ModHealth = fields[70].GetFloat();
+ creatureTemplate.ModMana = fields[71].GetFloat();
+ creatureTemplate.ModManaExtra = fields[72].GetFloat();
+ creatureTemplate.ModArmor = fields[73].GetFloat();
+ creatureTemplate.RacialLeader = fields[74].GetBool();
for (uint8 i = 0; i < MAX_CREATURE_QUEST_ITEMS; ++i)
- creatureTemplate.questItems[i] = fields[76 + i].GetUInt32();
+ creatureTemplate.questItems[i] = fields[75 + i].GetUInt32();
- creatureTemplate.movementId = fields[82].GetUInt32();
- creatureTemplate.RegenHealth = fields[83].GetBool();
- creatureTemplate.MechanicImmuneMask = fields[84].GetUInt32();
- creatureTemplate.flags_extra = fields[85].GetUInt32();
- creatureTemplate.ScriptID = GetScriptId(fields[86].GetCString());
+ creatureTemplate.movementId = fields[81].GetUInt32();
+ creatureTemplate.RegenHealth = fields[82].GetBool();
+ creatureTemplate.MechanicImmuneMask = fields[83].GetUInt32();
+ creatureTemplate.flags_extra = fields[84].GetUInt32();
+ creatureTemplate.ScriptID = GetScriptId(fields[85].GetCString());
++count;
}
@@ -661,37 +662,51 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
}
ok2 = true;
}
+
if (!ok2)
continue;
if (cInfo->expansion > difficultyInfo->expansion)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, expansion %u) has different `expansion` in difficulty %u mode (Entry: %u, expansion %u).",
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, exp %u) has different `exp` in difficulty %u mode (Entry: %u, exp %u).",
cInfo->Entry, cInfo->expansion, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->expansion);
}
- if (cInfo->faction_A != difficultyInfo->faction_A)
+ if (cInfo->minlevel > difficultyInfo->minlevel)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, faction_A %u) has different `faction_A` in difficulty %u mode (Entry: %u, faction_A %u).",
- cInfo->Entry, cInfo->faction_A, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->faction_A);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, minlevel %u) has different `minlevel` in difficulty %u mode (Entry: %u, minlevel %u).",
+ cInfo->Entry, cInfo->minlevel, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->minlevel);
}
- if (cInfo->faction_H != difficultyInfo->faction_H)
+ if (cInfo->maxlevel > difficultyInfo->maxlevel)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, faction_H %u) has different `faction_H` in difficulty %u mode (Entry: %u, faction_H %u).",
- cInfo->Entry, cInfo->faction_H, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->faction_H);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, maxlevel %u) has different `maxlevel` in difficulty %u mode (Entry: %u, maxlevel %u).",
+ cInfo->Entry, cInfo->maxlevel, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->maxlevel);
+ }
+
+ if (cInfo->faction != difficultyInfo->faction)
+ {
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, faction %u) has different `faction` in difficulty %u mode (Entry: %u, faction %u).",
+ cInfo->Entry, cInfo->faction, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->faction);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `faction`=%u WHERE `entry`=%u;",
+ cInfo->faction, cInfo->DifficultyEntry[diff]);
}
if (cInfo->unit_class != difficultyInfo->unit_class)
{
TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, class %u) has different `unit_class` in difficulty %u mode (Entry: %u, class %u).",
cInfo->Entry, cInfo->unit_class, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->unit_class);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `unit_class`=%u WHERE `entry`=%u;",
+ cInfo->unit_class, cInfo->DifficultyEntry[diff]);
continue;
}
if (cInfo->npcflag != difficultyInfo->npcflag)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has different `npcflag` in difficulty %u mode (Entry: %u).", cInfo->Entry, diff + 1, cInfo->DifficultyEntry[diff]);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, `npcflag`: %u) has different `npcflag` in difficulty %u mode (Entry: %u, `npcflag`: %u).",
+ cInfo->Entry, cInfo->npcflag, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->npcflag);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `npcflag`=%u WHERE `entry`=%u;",
+ cInfo->npcflag, cInfo->DifficultyEntry[diff]);
continue;
}
@@ -699,23 +714,34 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
{
TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, family %u) has different `family` in difficulty %u mode (Entry: %u, family %u).",
cInfo->Entry, cInfo->family, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->family);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `family`=%u WHERE `entry`=%u;",
+ cInfo->family, cInfo->DifficultyEntry[diff]);
}
if (cInfo->trainer_class != difficultyInfo->trainer_class)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has different `trainer_class` in difficulty %u mode (Entry: %u).", cInfo->Entry, diff + 1, cInfo->DifficultyEntry[diff]);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, trainer_class: %u) has different `trainer_class` in difficulty %u mode (Entry: %u, trainer_class: %u).",
+ cInfo->Entry, cInfo->trainer_class, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->trainer_class);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `trainer_class`=%u WHERE `entry`=%u;",
+ cInfo->trainer_class, cInfo->DifficultyEntry[diff]);
continue;
}
if (cInfo->trainer_race != difficultyInfo->trainer_race)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has different `trainer_race` in difficulty %u mode (Entry: %u).", cInfo->Entry, diff + 1, cInfo->DifficultyEntry[diff]);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, trainer_race: %u) has different `trainer_race` in difficulty %u mode (Entry: %u, trainer_race: %u).",
+ cInfo->Entry, cInfo->trainer_race, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->trainer_race);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `trainer_race`=%u WHERE `entry`=%u;",
+ cInfo->trainer_race, cInfo->DifficultyEntry[diff]);
continue;
}
if (cInfo->trainer_type != difficultyInfo->trainer_type)
{
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has different `trainer_type` in difficulty %u mode (Entry: %u).", cInfo->Entry, diff + 1, cInfo->DifficultyEntry[diff]);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, trainer_type: %u) has different `trainer_type` in difficulty %u mode (Entry: %u, trainer_type: %u).",
+ cInfo->Entry, cInfo->trainer_type, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->trainer_type);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `trainer_type`=%u WHERE `entry`=%u;",
+ cInfo->trainer_type, cInfo->DifficultyEntry[diff]);
continue;
}
@@ -723,6 +749,8 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
{
TC_LOG_ERROR("sql.sql", "Creature (Entry: %u, type %u) has different `type` in difficulty %u mode (Entry: %u, type %u).",
cInfo->Entry, cInfo->type, diff + 1, cInfo->DifficultyEntry[diff], difficultyInfo->type);
+ TC_LOG_ERROR("sql.sql", "Possible FIX: UPDATE `creature_template` SET `type`=%u WHERE `entry`=%u;",
+ cInfo->type, cInfo->DifficultyEntry[diff]);
}
if (!cInfo->VehicleId && difficultyInfo->VehicleId)
@@ -750,13 +778,9 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
ok = true;
}
- FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction_A);
- if (!factionTemplate)
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has non-existing faction_A template (%u).", cInfo->Entry, cInfo->faction_A);
-
- factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction_H);
+ FactionTemplateEntry const* factionTemplate = sFactionTemplateStore.LookupEntry(cInfo->faction);
if (!factionTemplate)
- TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has non-existing faction_H template (%u).", cInfo->Entry, cInfo->faction_H);
+ TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has non-existing faction template (%u).", cInfo->Entry, cInfo->faction);
// used later for scale
CreatureDisplayInfoEntry const* displayScaleEntry = NULL;
@@ -1112,6 +1136,11 @@ void ObjectMgr::LoadEquipmentTemplates()
}
uint8 id = fields[1].GetUInt8();
+ if (!id)
+ {
+ TC_LOG_ERROR("sql.sql", "Creature equipment template with id 0 found for creature %u, skipped.", entry);
+ continue;
+ }
EquipmentInfo& equipmentInfo = _equipmentInfoStore[entry][id];
@@ -1462,6 +1491,7 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guidLow, uint32 linkedGuidLow)
return false;
const CreatureData* master = GetCreatureData(guidLow);
+ ASSERT(master);
uint64 guid = MAKE_NEW_GUID(guidLow, master->id, HIGHGUID_UNIT);
if (!linkedGuidLow) // we're removing the linking
@@ -1659,13 +1689,13 @@ void ObjectMgr::LoadCreatures()
MapEntry const* mapEntry = sMapStore.LookupEntry(data.mapid);
if (!mapEntry)
{
- TC_LOG_ERROR("sql.sql", "Table `creature` have creature (GUID: %u) that spawned at not existed map (Id: %u), skipped.", guid, data.mapid);
+ TC_LOG_ERROR("sql.sql", "Table `creature` have creature (GUID: %u Entry: %u) that spawned at not existed map (Id: %u), skipped.", guid, data.id, data.mapid);
continue;
}
// Skip spawnMask check for transport maps
if (!_transportMaps.count(data.mapid) && data.spawnMask & ~spawnMasks[data.mapid])
- TC_LOG_ERROR("sql.sql", "Table `creature` have creature (GUID: %u) that have wrong spawn mask %u including not supported difficulty modes for map (Id: %u) spawnMasks[data.mapid]: %u.", guid, data.spawnMask, data.mapid, spawnMasks[data.mapid]);
+ TC_LOG_ERROR("sql.sql", "Table `creature` have creature (GUID: %u Entry: %u) that have wrong spawn mask %u including not supported difficulty modes for map (Id: %u) spawnMasks[data.mapid]: %u.", guid, data.id, data.spawnMask, data.mapid, spawnMasks[data.mapid]);
bool ok = true;
for (uint32 diff = 0; diff < MAX_DIFFICULTY - 1 && ok; ++diff)
@@ -1846,7 +1876,7 @@ bool ObjectMgr::MoveCreData(uint32 guid, uint32 mapId, const Position& pos)
return true;
}
-uint32 ObjectMgr::AddCreData(uint32 entry, uint32 /*team*/, uint32 mapId, float x, float y, float z, float o, uint32 spawntimedelay)
+uint32 ObjectMgr::AddCreData(uint32 entry, uint32 mapId, float x, float y, float z, float o, uint32 spawntimedelay /*= 0*/)
{
CreatureTemplate const* cInfo = GetCreatureTemplate(entry);
if (!cInfo)
@@ -3627,8 +3657,8 @@ void ObjectMgr::LoadQuests()
"QuestGiverTextWindow, QuestGiverTargetName, QuestTurnTextWindow, QuestTurnTargetName, SoundAccept, SoundTurnIn, "
// 150 151 152 153 154 155 156 157 158 159
"DetailsEmote1, DetailsEmote2, DetailsEmote3, DetailsEmote4, DetailsEmoteDelay1, DetailsEmoteDelay2, DetailsEmoteDelay3, DetailsEmoteDelay4, EmoteOnIncomplete, EmoteOnComplete, "
- // 160 161 162 163 164 165 166 167 168
- "OfferRewardEmote1, OfferRewardEmote2, OfferRewardEmote3, OfferRewardEmote4, OfferRewardEmoteDelay1, OfferRewardEmoteDelay2, OfferRewardEmoteDelay3, OfferRewardEmoteDelay4, WDBVerified"
+ // 160 161 162 163 164 165 166 167
+ "OfferRewardEmote1, OfferRewardEmote2, OfferRewardEmote3, OfferRewardEmote4, OfferRewardEmoteDelay1, OfferRewardEmoteDelay2, OfferRewardEmoteDelay3, OfferRewardEmoteDelay4"
" FROM quest_template");
if (!result)
{
@@ -5179,17 +5209,28 @@ void ObjectMgr::LoadGossipText()
{
uint32 oldMSTime = getMSTime();
- QueryResult result = WorldDatabase.Query("SELECT * FROM npc_text");
+ QueryResult result = WorldDatabase.Query("SELECT ID, "
+ "text0_0, text0_1, BroadcastTextID0, lang0, prob0, em0_0, em0_1, em0_2, em0_3, em0_4, em0_5, "
+ "text1_0, text1_1, BroadcastTextID1, lang1, prob1, em1_0, em1_1, em1_2, em1_3, em1_4, em1_5, "
+ "text2_0, text2_1, BroadcastTextID2, lang2, prob2, em2_0, em2_1, em2_2, em2_3, em2_4, em2_5, "
+ "text3_0, text3_1, BroadcastTextID3, lang3, prob3, em3_0, em3_1, em3_2, em3_3, em3_4, em3_5, "
+ "text4_0, text4_1, BroadcastTextID4, lang4, prob4, em4_0, em4_1, em4_2, em4_3, em4_4, em4_5, "
+ "text5_0, text5_1, BroadcastTextID5, lang5, prob5, em5_0, em5_1, em5_2, em5_3, em5_4, em5_5, "
+ "text6_0, text6_1, BroadcastTextID6, lang6, prob6, em6_0, em6_1, em6_2, em6_3, em6_4, em6_5, "
+ "text7_0, text7_1, BroadcastTextID7, lang7, prob7, em7_0, em7_1, em7_2, em7_3, em7_4, em7_5 "
+ "FROM npc_text");
+
- int count = 0;
if (!result)
{
- TC_LOG_INFO("server.loading", ">> Loaded %u npc texts", count);
+ TC_LOG_INFO("server.loading", ">> Loaded 0 npc texts, table is empty!");
return;
}
+
_gossipTextStore.rehash(result->GetRowCount());
- int cic;
+ uint32 count = 0;
+ uint8 cic;
do
{
@@ -5198,30 +5239,44 @@ void ObjectMgr::LoadGossipText()
Field* fields = result->Fetch();
- uint32 Text_ID = fields[cic++].GetUInt32();
- if (!Text_ID)
+ uint32 id = fields[cic++].GetUInt32();
+ if (!id)
{
- TC_LOG_ERROR("sql.sql", "Table `npc_text` has record wit reserved id 0, ignore.");
+ TC_LOG_ERROR("sql.sql", "Table `npc_text` has record with reserved id 0, ignore.");
continue;
}
- GossipText& gText = _gossipTextStore[Text_ID];
+ GossipText& gText = _gossipTextStore[id];
- for (int i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; i++)
+ for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
{
gText.Options[i].Text_0 = fields[cic++].GetString();
gText.Options[i].Text_1 = fields[cic++].GetString();
-
+ gText.Options[i].BroadcastTextID = fields[cic++].GetUInt32();
gText.Options[i].Language = fields[cic++].GetUInt8();
gText.Options[i].Probability = fields[cic++].GetFloat();
- for (uint8 j=0; j < MAX_GOSSIP_TEXT_EMOTES; ++j)
+ for (uint8 j = 0; j < MAX_GOSSIP_TEXT_EMOTES; ++j)
{
- gText.Options[i].Emotes[j]._Delay = fields[cic++].GetUInt16();
- gText.Options[i].Emotes[j]._Emote = fields[cic++].GetUInt16();
+ gText.Options[i].Emotes[j]._Delay = fields[cic++].GetUInt16();
+ gText.Options[i].Emotes[j]._Emote = fields[cic++].GetUInt16();
+ }
+ }
+
+ for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; i++)
+ {
+ if (gText.Options[i].BroadcastTextID)
+ {
+ if (!sObjectMgr->GetBroadcastText(gText.Options[i].BroadcastTextID))
+ {
+ TC_LOG_ERROR("sql.sql", "GossipText (Id: %u) in table `npc_text` has non-existing or incompatible BroadcastTextID%u %u.", id, i, gText.Options[i].BroadcastTextID);
+ gText.Options[i].BroadcastTextID = 0;
+ }
}
}
- } while (result->NextRow());
+
+ }
+ while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u npc texts in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
}
@@ -7518,6 +7573,10 @@ void ObjectMgr::LoadGameObjectForQuests()
{
switch (itr->second.type)
{
+ case GAMEOBJECT_TYPE_QUESTGIVER:
+ _gameObjectForQuestStore.insert(itr->second.entry);
+ ++count;
+ break;
case GAMEOBJECT_TYPE_CHEST:
{
// scan GO chest with loot including quest items
@@ -8266,8 +8325,8 @@ void ObjectMgr::LoadGossipMenuItems()
_gossipMenuItemsStore.clear();
QueryResult result = WorldDatabase.Query(
- // 0 1 2 3 4 5 6 7 8 9 10
- "SELECT menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text "
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12
+ "SELECT menu_id, id, option_icon, option_text, OptionBroadcastTextID, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text, BoxBroadcastTextID "
"FROM gossip_menu_option ORDER BY menu_id, id");
if (!result)
@@ -8288,29 +8347,49 @@ void ObjectMgr::LoadGossipMenuItems()
gMenuItem.OptionIndex = fields[1].GetUInt16();
gMenuItem.OptionIcon = fields[2].GetUInt32();
gMenuItem.OptionText = fields[3].GetString();
- gMenuItem.OptionType = fields[4].GetUInt8();
- gMenuItem.OptionNpcflag = fields[5].GetUInt32();
- gMenuItem.ActionMenuId = fields[6].GetUInt32();
- gMenuItem.ActionPoiId = fields[7].GetUInt32();
- gMenuItem.BoxCoded = fields[8].GetBool();
- gMenuItem.BoxMoney = fields[9].GetUInt32();
- gMenuItem.BoxText = fields[10].GetString();
+ gMenuItem.OptionBroadcastTextId = fields[4].GetUInt32();
+ gMenuItem.OptionType = fields[5].GetUInt8();
+ gMenuItem.OptionNpcflag = fields[6].GetUInt32();
+ gMenuItem.ActionMenuId = fields[7].GetUInt32();
+ gMenuItem.ActionPoiId = fields[8].GetUInt32();
+ gMenuItem.BoxCoded = fields[9].GetBool();
+ gMenuItem.BoxMoney = fields[10].GetUInt32();
+ gMenuItem.BoxText = fields[11].GetString();
+ gMenuItem.BoxBroadcastTextId = fields[12].GetUInt32();
if (gMenuItem.OptionIcon >= GOSSIP_ICON_MAX)
{
- TC_LOG_ERROR("sql.sql", "Table gossip_menu_option for menu %u, id %u has unknown icon id %u. Replacing with GOSSIP_ICON_CHAT", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionIcon);
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown icon id %u. Replacing with GOSSIP_ICON_CHAT", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionIcon);
gMenuItem.OptionIcon = GOSSIP_ICON_CHAT;
}
+ if (gMenuItem.OptionBroadcastTextId)
+ {
+ if (!GetBroadcastText(gMenuItem.OptionBroadcastTextId))
+ {
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible OptionBroadcastTextId %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionBroadcastTextId);
+ gMenuItem.OptionBroadcastTextId = 0;
+ }
+ }
+
if (gMenuItem.OptionType >= GOSSIP_OPTION_MAX)
- TC_LOG_ERROR("sql.sql", "Table gossip_menu_option for menu %u, id %u has unknown option id %u. Option will not be used", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionType);
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has unknown option id %u. Option will not be used", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.OptionType);
if (gMenuItem.ActionPoiId && !GetPointOfInterest(gMenuItem.ActionPoiId))
{
- TC_LOG_ERROR("sql.sql", "Table gossip_menu_option for menu %u, id %u use non-existing action_poi_id %u, ignoring", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.ActionPoiId);
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u use non-existing action_poi_id %u, ignoring", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.ActionPoiId);
gMenuItem.ActionPoiId = 0;
}
+ if (gMenuItem.BoxBroadcastTextId)
+ {
+ if (!GetBroadcastText(gMenuItem.BoxBroadcastTextId))
+ {
+ TC_LOG_ERROR("sql.sql", "Table `gossip_menu_option` for menu %u, id %u has non-existing or incompatible BoxBroadcastTextId %u, ignoring.", gMenuItem.MenuId, gMenuItem.OptionIndex, gMenuItem.BoxBroadcastTextId);
+ gMenuItem.BoxBroadcastTextId = 0;
+ }
+ }
+
_gossipMenuItemsStore.insert(GossipMenuItemsContainer::value_type(gMenuItem.MenuId, gMenuItem));
++count;
}
@@ -8540,6 +8619,141 @@ void ObjectMgr::CheckScripts(ScriptsType type, std::set<int32>& ids)
}
}
+void ObjectMgr::LoadBroadcastTexts()
+{
+ uint32 oldMSTime = getMSTime();
+
+ _broadcastTextStore.clear(); // for reload case
+
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12
+ QueryResult result = WorldDatabase.Query("SELECT ID, Language, MaleText, FemaleText, EmoteID0, EmoteID1, EmoteID2, EmoteDelay0, EmoteDelay1, EmoteDelay2, SoundId, Unk1, Unk2 FROM broadcast_text");
+ if (!result)
+ {
+ TC_LOG_INFO("server.loading", ">> Loaded 0 broadcast texts. DB table `broadcast_text` is empty.");
+ return;
+ }
+
+ _broadcastTextStore.rehash(result->GetRowCount());
+ uint32 count = 0;
+
+ do
+ {
+ Field* fields = result->Fetch();
+
+ BroadcastText bct;
+
+ bct.Id = fields[0].GetUInt32();
+ bct.Language = fields[1].GetUInt32();
+ bct.MaleText[DEFAULT_LOCALE] = fields[2].GetString();
+ bct.FemaleText[DEFAULT_LOCALE] = fields[3].GetString();
+ bct.EmoteId0 = fields[4].GetUInt32();
+ bct.EmoteId1 = fields[5].GetUInt32();
+ bct.EmoteId2 = fields[6].GetUInt32();
+ bct.EmoteDelay0 = fields[7].GetUInt32();
+ bct.EmoteDelay1 = fields[8].GetUInt32();
+ bct.EmoteDelay2 = fields[9].GetUInt32();
+ bct.SoundId = fields[10].GetUInt32();
+ bct.Unk1 = fields[11].GetUInt32();
+ bct.Unk2 = fields[12].GetUInt32();
+
+ if (bct.SoundId)
+ {
+ if (!sSoundEntriesStore.LookupEntry(bct.SoundId))
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has SoundId %u but sound does not exist. Skipped.", bct.Id, bct.SoundId);
+ // don't load bct of higher expansions
+ continue;
+ }
+ }
+
+ if (!GetLanguageDescByID(bct.Language))
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` using Language %u but Language does not exist. Skipped.", bct.Id, bct.Language);
+ // don't load bct of higher expansions
+ continue;
+ }
+
+ if (bct.EmoteId0)
+ {
+ if (!sEmotesStore.LookupEntry(bct.EmoteId0))
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId0 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId0);
+ // don't load bct of higher expansions
+ continue;
+ }
+ }
+
+ if (bct.EmoteId1)
+ {
+ if (!sEmotesStore.LookupEntry(bct.EmoteId1))
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId1 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId1);
+ // don't load bct of higher expansions
+ continue;
+ }
+ }
+
+ if (bct.EmoteId2)
+ {
+ if (!sEmotesStore.LookupEntry(bct.EmoteId2))
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `broadcast_text` has EmoteId2 %u but emote does not exist. Skipped.", bct.Id, bct.EmoteId2);
+ // don't load bct of higher expansions
+ continue;
+ }
+ }
+
+ _broadcastTextStore[bct.Id] = bct;
+
+ ++count;
+ }
+ while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded %u broadcast texts in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
+void ObjectMgr::LoadBroadcastTextLocales()
+{
+ uint32 oldMSTime = getMSTime();
+
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ QueryResult result = WorldDatabase.Query("SELECT Id, MaleText_loc1, MaleText_loc2, MaleText_loc3, MaleText_loc4, MaleText_loc5, MaleText_loc6, MaleText_loc7, MaleText_loc8, FemaleText_loc1, FemaleText_loc2, FemaleText_loc3, FemaleText_loc4, FemaleText_loc5, FemaleText_loc6, FemaleText_loc7, FemaleText_loc8 FROM locales_broadcast_text");
+
+ if (!result)
+ {
+ TC_LOG_INFO("server.loading", ">> Loaded 0 broadcast text locales. DB table `locales_broadcast_text` is empty.");
+ return;
+ }
+
+ uint32 count = 0;
+
+ do
+ {
+ Field* fields = result->Fetch();
+
+ uint32 id = fields[0].GetUInt32();
+ BroadcastTextContainer::iterator bct = _broadcastTextStore.find(id);
+ if (bct == _broadcastTextStore.end())
+ {
+ TC_LOG_INFO("sql.sql", "BroadcastText (Id: %u) in table `locales_broadcast_text` does not exist or is incompatible. Skipped!", id);
+ // don't load bct of higher expansions
+ continue;
+ }
+
+ for (uint8 i = 1; i < TOTAL_LOCALES; ++i)
+ {
+ LocaleConstant locale = LocaleConstant(i);
+ ObjectMgr::AddLocaleString(fields[1 + (i - 1)].GetString(), locale, bct->second.MaleText);
+ ObjectMgr::AddLocaleString(fields[9 + (i - 1)].GetString(), locale, bct->second.FemaleText);
+ }
+
+ ++count;
+ }
+ while (result->NextRow());
+
+ TC_LOG_INFO("server.loading", ">> Loaded %u broadcast text locales in %u ms", count, GetMSTimeDiffToNow(oldMSTime));
+}
+
void ObjectMgr::LoadDbScriptStrings()
{
LoadTrinityStrings("db_script_string", MIN_DB_SCRIPT_STRING_ID, MAX_DB_SCRIPT_STRING_ID);
@@ -8557,19 +8771,6 @@ void ObjectMgr::LoadDbScriptStrings()
TC_LOG_ERROR("sql.sql", "Table `db_script_string` has unused string id %u", *itr);
}
-bool LoadTrinityStrings(const char* table, int32 start_value, int32 end_value)
-{
- // MAX_DB_SCRIPT_STRING_ID is max allowed negative value for scripts (scrpts can use only more deep negative values
- // start/end reversed for negative values
- if (start_value > MAX_DB_SCRIPT_STRING_ID || end_value >= start_value)
- {
- TC_LOG_ERROR("sql.sql", "Table '%s' load attempted with range (%d - %d) reserved by Trinity, strings not loaded.", table, start_value, end_value+1);
- return false;
- }
-
- return sObjectMgr->LoadTrinityStrings(table, start_value, end_value);
-}
-
CreatureBaseStats const* ObjectMgr::GetCreatureBaseStats(uint8 level, uint8 unitClass)
{
CreatureBaseStatsContainer::const_iterator it = _creatureBaseStatsStore.find(MAKE_PAIR16(level, unitClass));
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index bddf73408fa..9008e7415da 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -126,11 +126,11 @@ enum ScriptCommands
SCRIPT_COMMAND_PLAYMOVIE = 34 // source = Player, datalong = movie id
};
-// Benchmarked: Faster than UNORDERED_MAP (insert/find)
+// Benchmarked: Faster than std::unordered_map (insert/find)
typedef std::map<uint32, PageText> PageTextContainer;
// Benchmarked: Faster than std::map (insert/find)
-typedef UNORDERED_MAP<uint16, InstanceTemplate> InstanceTemplateContainer;
+typedef std::unordered_map<uint16, InstanceTemplate> InstanceTemplateContainer;
struct GameTele
{
@@ -143,7 +143,7 @@ struct GameTele
std::wstring wnameLow;
};
-typedef UNORDERED_MAP<uint32, GameTele > GameTeleContainer;
+typedef std::unordered_map<uint32, GameTele > GameTeleContainer;
enum ScriptsType
{
@@ -411,6 +411,49 @@ struct AreaTriggerStruct
float target_Orientation;
};
+struct BroadcastText
+{
+ BroadcastText() : Id(0), Language(0), EmoteId0(0), EmoteId1(0), EmoteId2(0),
+ EmoteDelay0(0), EmoteDelay1(0), EmoteDelay2(0), SoundId(0), Unk1(0), Unk2(0)
+ {
+ MaleText.resize(DEFAULT_LOCALE + 1);
+ FemaleText.resize(DEFAULT_LOCALE + 1);
+ }
+
+ uint32 Id;
+ uint32 Language;
+ StringVector MaleText;
+ StringVector FemaleText;
+ uint32 EmoteId0;
+ uint32 EmoteId1;
+ uint32 EmoteId2;
+ uint32 EmoteDelay0;
+ uint32 EmoteDelay1;
+ uint32 EmoteDelay2;
+ uint32 SoundId;
+ uint32 Unk1;
+ uint32 Unk2;
+ // uint32 VerifiedBuild;
+
+ std::string const& GetText(LocaleConstant locale = DEFAULT_LOCALE, uint8 gender = GENDER_MALE, bool forceGender = false) const
+ {
+ if (gender == GENDER_FEMALE && (forceGender || !FemaleText[DEFAULT_LOCALE].empty()))
+ {
+ if (FemaleText.size() > size_t(locale) && !FemaleText[locale].empty())
+ return FemaleText[locale];
+ return FemaleText[DEFAULT_LOCALE];
+ }
+ // else if (gender == GENDER_MALE)
+ {
+ if (MaleText.size() > size_t(locale) && !MaleText[locale].empty())
+ return MaleText[locale];
+ return MaleText[DEFAULT_LOCALE];
+ }
+ }
+};
+
+typedef std::unordered_map<uint32, BroadcastText> BroadcastTextContainer;
+
typedef std::set<uint32> CellGuidSet;
typedef std::map<uint32/*player guid*/, uint32/*instance*/> CellCorpseSet;
struct CellObjectGuids
@@ -419,16 +462,14 @@ struct CellObjectGuids
CellGuidSet gameobjects;
CellCorpseSet corpses;
};
-typedef UNORDERED_MAP<uint32/*cell_id*/, CellObjectGuids> CellObjectGuidsMap;
-typedef UNORDERED_MAP<uint32/*(mapid, spawnMode) pair*/, CellObjectGuidsMap> MapObjectGuids;
+typedef std::unordered_map<uint32/*cell_id*/, CellObjectGuids> CellObjectGuidsMap;
+typedef std::unordered_map<uint32/*(mapid, spawnMode) pair*/, CellObjectGuidsMap> MapObjectGuids;
// Trinity string ranges
#define MIN_TRINITY_STRING_ID 1 // 'trinity_string'
#define MAX_TRINITY_STRING_ID 2000000000
#define MIN_DB_SCRIPT_STRING_ID MAX_TRINITY_STRING_ID // 'db_script_string'
#define MAX_DB_SCRIPT_STRING_ID 2000010000
-#define MIN_CREATURE_AI_TEXT_STRING_ID (-1) // 'creature_ai_texts'
-#define MAX_CREATURE_AI_TEXT_STRING_ID (-1000000)
// Trinity Trainer Reference start range
#define TRINITY_TRAINER_START_REF 200000
@@ -439,18 +480,18 @@ struct TrinityStringLocale
};
typedef std::map<uint64, uint64> LinkedRespawnContainer;
-typedef UNORDERED_MAP<uint32, CreatureData> CreatureDataContainer;
-typedef UNORDERED_MAP<uint32, GameObjectData> GameObjectDataContainer;
+typedef std::unordered_map<uint32, CreatureData> CreatureDataContainer;
+typedef std::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;
-typedef UNORDERED_MAP<uint32, QuestLocale> QuestLocaleContainer;
-typedef UNORDERED_MAP<uint32, NpcTextLocale> NpcTextLocaleContainer;
-typedef UNORDERED_MAP<uint32, PageTextLocale> PageTextLocaleContainer;
-typedef UNORDERED_MAP<int32, TrinityStringLocale> TrinityStringLocaleContainer;
-typedef UNORDERED_MAP<uint32, GossipMenuItemsLocale> GossipMenuItemsLocaleContainer;
-typedef UNORDERED_MAP<uint32, PointOfInterestLocale> PointOfInterestLocaleContainer;
+typedef std::unordered_map<uint32, CreatureLocale> CreatureLocaleContainer;
+typedef std::unordered_map<uint32, GameObjectLocale> GameObjectLocaleContainer;
+typedef std::unordered_map<uint32, ItemLocale> ItemLocaleContainer;
+typedef std::unordered_map<uint32, QuestLocale> QuestLocaleContainer;
+typedef std::unordered_map<uint32, NpcTextLocale> NpcTextLocaleContainer;
+typedef std::unordered_map<uint32, PageTextLocale> PageTextLocaleContainer;
+typedef std::unordered_map<int32, TrinityStringLocale> TrinityStringLocaleContainer;
+typedef std::unordered_map<uint32, GossipMenuItemsLocale> GossipMenuItemsLocaleContainer;
+typedef std::unordered_map<uint32, PointOfInterestLocale> PointOfInterestLocaleContainer;
typedef std::multimap<uint32, uint32> QuestRelations;
typedef std::pair<QuestRelations::const_iterator, QuestRelations::const_iterator> QuestRelationBounds;
@@ -476,7 +517,7 @@ struct MailLevelReward
};
typedef std::list<MailLevelReward> MailLevelRewardList;
-typedef UNORDERED_MAP<uint8, MailLevelRewardList> MailLevelRewardContainer;
+typedef std::unordered_map<uint8, MailLevelRewardList> MailLevelRewardContainer;
// We assume the rate is in general the same for all three types below, but chose to keep three for scalability and customization
struct RepRewardRate
@@ -527,6 +568,7 @@ struct GossipMenuItems
uint32 OptionIndex;
uint8 OptionIcon;
std::string OptionText;
+ uint32 OptionBroadcastTextId;
uint32 OptionType;
uint32 OptionNpcflag;
uint32 ActionMenuId;
@@ -534,6 +576,7 @@ struct GossipMenuItems
bool BoxCoded;
uint32 BoxMoney;
std::string BoxText;
+ uint32 BoxBroadcastTextId;
ConditionList Conditions;
};
@@ -576,7 +619,7 @@ struct QuestPOI
};
typedef std::vector<QuestPOI> QuestPOIVector;
-typedef UNORDERED_MAP<uint32, QuestPOIVector> QuestPOIContainer;
+typedef std::unordered_map<uint32, QuestPOIVector> QuestPOIContainer;
struct GraveYardData
{
@@ -585,12 +628,12 @@ struct GraveYardData
};
typedef std::multimap<uint32, GraveYardData> GraveYardContainer;
-typedef UNORDERED_MAP<uint32 /* graveyard Id */, float /* orientation */> GraveyardOrientationContainer;
+typedef std::unordered_map<uint32 /* graveyard Id */, float /* orientation */> GraveyardOrientationContainer;
typedef std::pair<GraveYardContainer::const_iterator, GraveYardContainer::const_iterator> GraveYardMapBounds;
typedef std::pair<GraveYardContainer::iterator, GraveYardContainer::iterator> GraveYardMapBoundsNonConst;
-typedef UNORDERED_MAP<uint32, VendorItemData> CacheVendorItemContainer;
-typedef UNORDERED_MAP<uint32, TrainerSpellData> CacheTrainerSpellContainer;
+typedef std::unordered_map<uint32, VendorItemData> CacheVendorItemContainer;
+typedef std::unordered_map<uint32, TrainerSpellData> CacheTrainerSpellContainer;
enum SkillRangeType
{
@@ -638,7 +681,7 @@ struct DungeonEncounter
};
typedef std::list<DungeonEncounter const*> DungeonEncounterList;
-typedef UNORDERED_MAP<uint32, DungeonEncounterList> DungeonEncounterContainer;
+typedef std::unordered_map<uint32, DungeonEncounterList> DungeonEncounterContainer;
struct HotfixInfo
{
@@ -661,21 +704,21 @@ class ObjectMgr
~ObjectMgr();
public:
- typedef UNORDERED_MAP<uint32, Item*> ItemMap;
+ typedef std::unordered_map<uint32, Item*> ItemMap;
- typedef UNORDERED_MAP<uint32, Quest*> QuestMap;
+ typedef std::unordered_map<uint32, Quest*> QuestMap;
- typedef UNORDERED_MAP<uint32, AreaTriggerStruct> AreaTriggerContainer;
+ typedef std::unordered_map<uint32, AreaTriggerStruct> AreaTriggerContainer;
- typedef UNORDERED_MAP<uint32, uint32> AreaTriggerScriptContainer;
+ typedef std::unordered_map<uint32, uint32> AreaTriggerScriptContainer;
- typedef UNORDERED_MAP<uint32, AccessRequirement*> AccessRequirementContainer;
+ typedef std::unordered_map<uint32, AccessRequirement*> AccessRequirementContainer;
- typedef UNORDERED_MAP<uint32, RepRewardRate > RepRewardRateContainer;
- typedef UNORDERED_MAP<uint32, ReputationOnKillEntry> RepOnKillContainer;
- typedef UNORDERED_MAP<uint32, RepSpilloverTemplate> RepSpilloverTemplateContainer;
+ typedef std::unordered_map<uint32, RepRewardRate > RepRewardRateContainer;
+ typedef std::unordered_map<uint32, ReputationOnKillEntry> RepOnKillContainer;
+ typedef std::unordered_map<uint32, RepSpilloverTemplate> RepSpilloverTemplateContainer;
- typedef UNORDERED_MAP<uint32, PointOfInterest> PointOfInterestContainer;
+ typedef std::unordered_map<uint32, PointOfInterest> PointOfInterestContainer;
typedef std::vector<std::string> ScriptNameContainer;
@@ -841,7 +884,7 @@ class ObjectMgr
DungeonEncounterList const* GetDungeonEncounterList(uint32 mapId, Difficulty difficulty)
{
- UNORDERED_MAP<uint32, DungeonEncounterList>::const_iterator itr = _dungeonEncounterStore.find(MAKE_PAIR32(mapId, difficulty));
+ std::unordered_map<uint32, DungeonEncounterList>::const_iterator itr = _dungeonEncounterStore.find(MAKE_PAIR32(mapId, difficulty));
if (itr != _dungeonEncounterStore.end())
return &itr->second;
return NULL;
@@ -901,6 +944,8 @@ class ObjectMgr
void LoadSpellScriptNames();
void ValidateSpellScripts();
+ void LoadBroadcastTexts();
+ void LoadBroadcastTextLocales();
bool LoadTrinityStrings(char const* table, int32 min_value, int32 max_value);
bool LoadTrinityStrings() { return LoadTrinityStrings("trinity_string", MIN_TRINITY_STRING_ID, MAX_TRINITY_STRING_ID); }
void LoadDbScriptStrings();
@@ -1046,6 +1091,14 @@ class ObjectMgr
return NULL;
}
+ BroadcastText const* GetBroadcastText(uint32 id) const
+ {
+ BroadcastTextContainer::const_iterator itr = _broadcastTextStore.find(id);
+ if (itr != _broadcastTextStore.end())
+ return &itr->second;
+ return NULL;
+ }
+
CreatureData const* GetCreatureData(uint32 guid) const
{
CreatureDataContainer::const_iterator itr = _creatureDataStore.find(guid);
@@ -1138,7 +1191,7 @@ class ObjectMgr
void AddGameobjectToGrid(uint32 guid, GameObjectData const* data);
void RemoveGameobjectFromGrid(uint32 guid, GameObjectData const* data);
uint32 AddGOData(uint32 entry, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0, float rotation0 = 0, float rotation1 = 0, float rotation2 = 0, float rotation3 = 0);
- uint32 AddCreData(uint32 entry, uint32 team, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
+ uint32 AddCreData(uint32 entry, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
bool MoveCreData(uint32 guid, uint32 map, const Position& pos);
// reserved names
@@ -1286,8 +1339,8 @@ class ObjectMgr
QuestMap _questTemplates;
- typedef UNORDERED_MAP<uint32, GossipText> GossipTextContainer;
- typedef UNORDERED_MAP<uint32, uint32> QuestAreaTriggerContainer;
+ typedef std::unordered_map<uint32, GossipText> GossipTextContainer;
+ typedef std::unordered_map<uint32, uint32> QuestAreaTriggerContainer;
typedef std::set<uint32> TavernAreaTriggerContainer;
typedef std::set<uint32> GameObjectForQuestContainer;
@@ -1384,6 +1437,7 @@ class ObjectMgr
/// Stores temp summon data grouped by summoner's entry, summoner's type and group id
TempSummonDataContainer _tempSummonDataStore;
+ BroadcastTextContainer _broadcastTextStore;
ItemTemplateContainer _itemTemplateStore;
ItemLocaleContainer _itemLocaleStore;
QuestLocaleContainer _questLocaleStore;
@@ -1415,7 +1469,4 @@ class ObjectMgr
#define sObjectMgr ACE_Singleton<ObjectMgr, ACE_Null_Mutex>::instance()
-// scripting access functions
-bool LoadTrinityStrings(char const* table, int32 start_value = MAX_CREATURE_AI_TEXT_STRING_ID, int32 end_value = std::numeric_limits<int32>::min());
-
#endif
diff --git a/src/server/game/Grids/GridStates.cpp b/src/server/game/Grids/GridStates.cpp
index 8b57c382cd7..3e085f1f381 100644
--- a/src/server/game/Grids/GridStates.cpp
+++ b/src/server/game/Grids/GridStates.cpp
@@ -20,18 +20,6 @@
#include "GridNotifiers.h"
#include "Log.h"
-#ifdef TRINITY_DEBUG
-bool GridState::checkMagic()
-{
- if (i_Magic != MAGIC_TESTVAL)
- {
- TC_LOG_ERROR("misc", "!!! GridState: Magic value gone !!!");
- return false;
- }
- return true;
-}
-#endif
-
void InvalidState::Update(Map&, NGridType&, GridInfo&, uint32) const
{ }
diff --git a/src/server/game/Grids/GridStates.h b/src/server/game/Grids/GridStates.h
index 016df4dc3d4..af11ab08d5e 100644
--- a/src/server/game/Grids/GridStates.h
+++ b/src/server/game/Grids/GridStates.h
@@ -27,13 +27,6 @@ class Map;
class GridState
{
public:
-#ifdef TRINITY_DEBUG
-#define MAGIC_TESTVAL 0xFBE823BA
- GridState() { i_Magic = MAGIC_TESTVAL; }
- bool checkMagic();
- void setMagic() { i_Magic = MAGIC_TESTVAL; }
- unsigned int i_Magic;
-#endif
virtual ~GridState() { };
virtual void Update(Map &, NGridType&, GridInfo &, uint32 t_diff) const = 0;
};
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index be18852ce8e..f0ddd714657 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -56,7 +56,7 @@ Loot* Roll::getLoot()
Group::Group() : m_leaderGuid(0), m_leaderName(""), m_groupType(GROUPTYPE_NORMAL),
m_dungeonDifficulty(DUNGEON_DIFFICULTY_NORMAL), m_raidDifficulty(RAID_DIFFICULTY_10MAN_NORMAL),
m_bgGroup(NULL), m_bfGroup(NULL), m_lootMethod(FREE_FOR_ALL), m_lootThreshold(ITEM_QUALITY_UNCOMMON), m_looterGuid(0),
-m_subGroupsCounts(NULL), m_guid(0), m_counter(0), m_maxEnchantingLevel(0), m_dbStoreId(0)
+m_masterLooterGuid(0), m_subGroupsCounts(NULL), m_guid(0), m_counter(0), m_maxEnchantingLevel(0), m_dbStoreId(0)
{
for (uint8 i = 0; i < TARGETICONCOUNT; ++i)
m_targetIcons[i] = 0;
@@ -112,6 +112,7 @@ bool Group::Create(Player* leader)
m_lootThreshold = ITEM_QUALITY_UNCOMMON;
m_looterGuid = leaderGuid;
+ m_masterLooterGuid = 0;
m_dungeonDifficulty = DUNGEON_DIFFICULTY_NORMAL;
m_raidDifficulty = RAID_DIFFICULTY_10MAN_NORMAL;
@@ -146,6 +147,7 @@ bool Group::Create(Player* leader)
stmt->setUInt8(index++, uint8(m_groupType));
stmt->setUInt32(index++, uint8(m_dungeonDifficulty));
stmt->setUInt32(index++, uint8(m_raidDifficulty));
+ stmt->setUInt32(index++, GUID_LOPART(m_masterLooterGuid));
CharacterDatabase.Execute(stmt);
@@ -162,7 +164,7 @@ bool Group::Create(Player* leader)
void Group::LoadGroupFromDB(Field* fields)
{
- m_dbStoreId = fields[15].GetUInt32();
+ m_dbStoreId = fields[16].GetUInt32();
m_guid = MAKE_NEW_GUID(sGroupMgr->GenerateGroupId(), 0, HIGHGUID_GROUP);
m_leaderGuid = MAKE_NEW_GUID(fields[0].GetUInt32(), 0, HIGHGUID_PLAYER);
@@ -193,6 +195,8 @@ void Group::LoadGroupFromDB(Field* fields)
else
m_raidDifficulty = Difficulty(r_diff);
+ m_masterLooterGuid = MAKE_NEW_GUID(fields[15].GetUInt32(), 0, HIGHGUID_PLAYER);
+
if (m_groupType & GROUPTYPE_LFG)
sLFGMgr->_LoadFromDB(fields, GetGUID());
}
@@ -923,7 +927,11 @@ void Group::SendLooter(Creature* creature, Player* groupLooter)
WorldPacket data(SMSG_LOOT_LIST, (8+8));
data << uint64(creature->GetGUID());
- data << uint8(0); // unk1
+
+ if (GetLootMethod() == MASTER_LOOT && creature->loot.hasOverThresholdItem())
+ data.appendPackGUID(GetMasterLooterGuid());
+ else
+ data << uint8(0);
if (groupLooter)
data.append(groupLooter->GetPackGUID());
@@ -1229,10 +1237,26 @@ void Group::NeedBeforeGreed(Loot* loot, WorldObject* lootedObject)
}
}
-void Group::MasterLoot(Loot* /*loot*/, WorldObject* pLootedObject)
+void Group::MasterLoot(Loot* loot, WorldObject* pLootedObject)
{
TC_LOG_DEBUG("network", "Group::MasterLoot (SMSG_LOOT_MASTER_LIST)");
+ for (std::vector<LootItem>::iterator i = loot->items.begin(); i != loot->items.end(); ++i)
+ {
+ if (i->freeforall)
+ continue;
+
+ i->is_blocked = !i->is_underthreshold;
+ }
+
+ for (std::vector<LootItem>::iterator i = loot->quest_items.begin(); i != loot->quest_items.end(); ++i)
+ {
+ if (!i->follow_loot_rules)
+ continue;
+
+ i->is_blocked = !i->is_underthreshold;
+ }
+
uint32 real_count = 0;
WorldPacket data(SMSG_LOOT_MASTER_LIST, 1 + GetMembersCount() * 8);
@@ -1539,7 +1563,7 @@ void Group::SendUpdateToPlayer(uint64 playerGUID, MemberSlot* slot)
Player* member = ObjectAccessor::FindPlayer(citr->guid);
- uint8 onlineState = member ? MEMBER_STATUS_ONLINE : MEMBER_STATUS_OFFLINE;
+ uint8 onlineState = (member && !member->GetSession()->PlayerLogout()) ? MEMBER_STATUS_ONLINE : MEMBER_STATUS_OFFLINE;
onlineState = onlineState | ((isBGGroup() || isBFGroup()) ? MEMBER_STATUS_PVP : 0);
data << citr->name;
@@ -1555,7 +1579,12 @@ void Group::SendUpdateToPlayer(uint64 playerGUID, MemberSlot* slot)
if (GetMembersCount() - 1)
{
data << uint8(m_lootMethod); // loot method
- data << uint64(m_looterGuid); // looter guid
+
+ if (m_lootMethod == MASTER_LOOT)
+ data << uint64(m_masterLooterGuid); // master looter guid
+ else
+ data << uint64(0);
+
data << uint8(m_lootThreshold); // loot threshold
data << uint8(m_dungeonDifficulty); // Dungeon Difficulty
data << uint8(m_raidDifficulty); // Raid Difficulty
@@ -1725,7 +1754,7 @@ void Group::ChangeMembersGroup(uint64 guid, uint8 group)
// Retrieve the next Round-Roubin player for the group
//
-// No update done if loot method is Master or FFA.
+// No update done if loot method is FFA.
//
// If the RR player is not yet set for the group, the first group member becomes the round-robin player.
// If the RR player is set, the next player in group becomes the round-robin player.
@@ -1736,16 +1765,10 @@ void Group::ChangeMembersGroup(uint64 guid, uint8 group)
// if not, he loses his turn.
void Group::UpdateLooterGuid(WorldObject* pLootedObject, bool ifneed)
{
- switch (GetLootMethod())
- {
- case MASTER_LOOT:
- case FREE_FOR_ALL:
- return;
- default:
- // round robin style looting applies for all low
- // quality items in each loot method except free for all and master loot
- break;
- }
+ // round robin style looting applies for all low
+ // quality items in each loot method except free for all
+ if (GetLootMethod() == FREE_FOR_ALL)
+ return;
uint64 oldLooterGUID = GetLooterGuid();
member_citerator guid_itr = _getMemberCSlot(oldLooterGUID);
@@ -2169,6 +2192,11 @@ void Group::SetLooterGuid(uint64 guid)
m_looterGuid = guid;
}
+void Group::SetMasterLooterGuid(uint64 guid)
+{
+ m_masterLooterGuid = guid;
+}
+
void Group::SetLootThreshold(ItemQualities threshold)
{
m_lootThreshold = threshold;
@@ -2244,6 +2272,11 @@ uint64 Group::GetLooterGuid() const
return m_looterGuid;
}
+uint64 Group::GetMasterLooterGuid() const
+{
+ return m_masterLooterGuid;
+}
+
ItemQualities Group::GetLootThreshold() const
{
return m_lootThreshold;
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h
index d2981cf56bd..2929c05cace 100644
--- a/src/server/game/Groups/Group.h
+++ b/src/server/game/Groups/Group.h
@@ -175,7 +175,7 @@ class Group
typedef std::list<MemberSlot> MemberSlotList;
typedef MemberSlotList::const_iterator member_citerator;
- typedef UNORDERED_MAP< uint32 /*mapId*/, InstanceGroupBind> BoundInstancesMap;
+ typedef std::unordered_map< uint32 /*mapId*/, InstanceGroupBind> BoundInstancesMap;
protected:
typedef MemberSlotList::iterator member_witerator;
typedef std::set<Player*> InvitesList;
@@ -199,6 +199,7 @@ class Group
void ChangeLeader(uint64 guid);
void SetLootMethod(LootMethod method);
void SetLooterGuid(uint64 guid);
+ void SetMasterLooterGuid(uint64 guid);
void UpdateLooterGuid(WorldObject* pLootedObject, bool ifneed = false);
void SetLootThreshold(ItemQualities threshold);
void Disband(bool hideDestroy=false);
@@ -217,6 +218,7 @@ class Group
const char * GetLeaderName() const;
LootMethod GetLootMethod() const;
uint64 GetLooterGuid() const;
+ uint64 GetMasterLooterGuid() const;
ItemQualities GetLootThreshold() const;
uint32 GetDbStoreId() const { return m_dbStoreId; };
@@ -338,6 +340,7 @@ class Group
LootMethod m_lootMethod;
ItemQualities m_lootThreshold;
uint64 m_looterGuid;
+ uint64 m_masterLooterGuid;
Rolls RollId;
BoundInstancesMap m_boundInstances[MAX_DIFFICULTY];
uint8* m_subGroupsCounts;
diff --git a/src/server/game/Groups/GroupMgr.cpp b/src/server/game/Groups/GroupMgr.cpp
index 20e6a0671a5..39735f5dce3 100644
--- a/src/server/game/Groups/GroupMgr.cpp
+++ b/src/server/game/Groups/GroupMgr.cpp
@@ -123,8 +123,8 @@ void GroupMgr::LoadGroups()
// 0 1 2 3 4 5 6 7 8 9
QueryResult result = CharacterDatabase.Query("SELECT g.leaderGuid, g.lootMethod, g.looterGuid, g.lootThreshold, g.icon1, g.icon2, g.icon3, g.icon4, g.icon5, g.icon6"
- // 10 11 12 13 14 15 16 17
- ", g.icon7, g.icon8, g.groupType, g.difficulty, g.raiddifficulty, g.guid, lfg.dungeon, lfg.state FROM groups g LEFT JOIN lfg_data lfg ON lfg.guid = g.guid ORDER BY g.guid ASC");
+ // 10 11 12 13 14 15 16 17 18
+ ", g.icon7, g.icon8, g.groupType, g.difficulty, g.raiddifficulty, g.masterLooterGuid, g.guid, lfg.dungeon, lfg.state FROM groups g LEFT JOIN lfg_data lfg ON lfg.guid = g.guid ORDER BY g.guid ASC");
if (!result)
{
TC_LOG_INFO("server.loading", ">> Loaded 0 group definitions. DB table `groups` is empty!");
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index 2d9d9085917..d62907ddde5 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -744,7 +744,7 @@ private:
void CanStoreItemInTab(Item* pItem, uint8 skipSlotId, bool merge, uint32& count);
};
- typedef UNORDERED_MAP<uint32, Member*> Members;
+ typedef std::unordered_map<uint32, Member*> Members;
typedef std::vector<RankInfo> Ranks;
typedef std::vector<BankTab*> BankTabs;
diff --git a/src/server/game/Guilds/GuildMgr.cpp b/src/server/game/Guilds/GuildMgr.cpp
index 6794369f375..bdb0b7dce52 100644
--- a/src/server/game/Guilds/GuildMgr.cpp
+++ b/src/server/game/Guilds/GuildMgr.cpp
@@ -488,7 +488,7 @@ void GuildMgr::LoadGuildXpForLevel()
Field* fields = result->Fetch();
uint32 level = fields[0].GetUInt8();
- uint32 requiredXP = fields[1].GetUInt64();
+ uint32 requiredXP = fields[1].GetUInt32();
if (level >= sWorld->getIntConfig(CONFIG_GUILD_MAX_LEVEL))
{
diff --git a/src/server/game/Guilds/GuildMgr.h b/src/server/game/Guilds/GuildMgr.h
index 1a400a50f5c..2dcc0202993 100644
--- a/src/server/game/Guilds/GuildMgr.h
+++ b/src/server/game/Guilds/GuildMgr.h
@@ -54,7 +54,7 @@ public:
void ResetTimes(bool week);
protected:
- typedef UNORDERED_MAP<uint32, Guild*> GuildContainer;
+ typedef std::unordered_map<uint32, Guild*> GuildContainer;
uint32 NextGuildId;
GuildContainer GuildStore;
std::vector<uint64> GuildXPperLevel;
diff --git a/src/server/game/Handlers/AddonHandler.cpp b/src/server/game/Handlers/AddonHandler.cpp
index 3c9a66bedb5..806cbd1c7fc 100644
--- a/src/server/game/Handlers/AddonHandler.cpp
+++ b/src/server/game/Handlers/AddonHandler.cpp
@@ -49,7 +49,7 @@ bool AddonHandler::BuildAddonPacket(WorldPacket* source, WorldPacket* target)
AddOnPacked.resize(AddonRealSize); // resize target for zlib action
- if (!uncompress(AddOnPacked.contents(), &AddonRealSize, source->contents() + CurrentPosition, source->size() - CurrentPosition)!= Z_OK)
+ if (uncompress(AddOnPacked.contents(), &AddonRealSize, source->contents() + CurrentPosition, source->size() - CurrentPosition) == Z_OK)
{
target->Initialize(SMSG_ADDON_INFO);
diff --git a/src/server/game/Handlers/ArenaTeamHandler.cpp b/src/server/game/Handlers/ArenaTeamHandler.cpp
index 2f27abc4814..b2db2fff6c2 100644
--- a/src/server/game/Handlers/ArenaTeamHandler.cpp
+++ b/src/server/game/Handlers/ArenaTeamHandler.cpp
@@ -37,15 +37,23 @@ void WorldSession::HandleInspectArenaTeamsOpcode(WorldPacket& recvData)
recvData >> guid;
TC_LOG_DEBUG("network", "Inspect Arena stats (GUID: %u TypeId: %u)", GUID_LOPART(guid), GuidHigh2TypeId(GUID_HIPART(guid)));
- if (Player* player = ObjectAccessor::FindPlayer(guid))
+ Player* player = ObjectAccessor::FindPlayer(guid);
+
+ if (!player)
+ return;
+
+ if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false))
+ return;
+
+ if (GetPlayer()->IsValidAttackTarget(player))
+ return;
+
+ for (uint8 i = 0; i < MAX_ARENA_SLOT; ++i)
{
- for (uint8 i = 0; i < MAX_ARENA_SLOT; ++i)
+ if (uint32 a_id = player->GetArenaTeamId(i))
{
- if (uint32 a_id = player->GetArenaTeamId(i))
- {
- if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(a_id))
- arenaTeam->Inspect(this, player->GetGUID());
- }
+ if (ArenaTeam* arenaTeam = sArenaTeamMgr->GetArenaTeamById(a_id))
+ arenaTeam->Inspect(this, player->GetGUID());
}
}
}
@@ -167,6 +175,12 @@ void WorldSession::HandleArenaTeamInviteOpcode(WorldPacket& recvData)
return;
}
+ if (GetPlayer()->GetArenaTeamId(arenaTeam->GetSlot()) != arenaTeamId)
+ {
+ SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
+ return;
+ }
+
// OK result but don't send invite
if (player->GetSocial()->HasIgnore(GetPlayer()->GetGUIDLow()))
return;
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index fddbfac0a5e..12bc18298b7 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -143,7 +143,9 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
recvData >> itemsCount;
uint64 itemGUIDs[MAX_AUCTION_ITEMS]; // 160 slot = 4x 36 slot bag + backpack 16 slot
+ memset(itemGUIDs, 0, sizeof(itemGUIDs));
uint32 count[MAX_AUCTION_ITEMS];
+ memset(count, 0, sizeof(count));
if (itemsCount > MAX_AUCTION_ITEMS)
{
@@ -211,6 +213,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
Item* items[MAX_AUCTION_ITEMS];
uint32 finalCount = 0;
+ uint32 itemEntry = 0;
for (uint32 i = 0; i < itemsCount; ++i)
{
@@ -222,9 +225,12 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
return;
}
+ if (itemEntry == 0)
+ itemEntry = item->GetTemplate()->ItemId;
+
if (sAuctionMgr->GetAItem(item->GetGUIDLow()) || !item->CanBeTraded() || item->IsNotEmptyBag() ||
item->GetTemplate()->Flags & ITEM_PROTO_FLAG_CONJURED || item->GetUInt32Value(ITEM_FIELD_DURATION) ||
- item->GetCount() < count[i])
+ item->GetCount() < count[i] || itemEntry != item->GetTemplate()->ItemId)
{
SendAuctionCommandResult(NULL, AUCTION_SELL_ITEM, ERR_AUCTION_DATABASE_ERROR);
return;
@@ -240,6 +246,19 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData)
return;
}
+ // check if there are 2 identical guids, in this case user is most likely cheating
+ for (uint32 i = 0; i < itemsCount - 1; ++i)
+ {
+ for (uint32 j = i + 1; j < itemsCount; ++j)
+ {
+ if (itemGUIDs[i] == itemGUIDs[j])
+ {
+ SendAuctionCommandResult(0, AUCTION_SELL_ITEM, ERR_AUCTION_DATABASE_ERROR);
+ return;
+ }
+ }
+ }
+
for (uint32 i = 0; i < itemsCount; ++i)
{
Item* item = items[i];
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index e81506678ef..97433fc53c3 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -92,19 +92,19 @@ bool LoginQueryHolder::Initialize()
stmt->setUInt32(0, lowGuid);
res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOAD_QUEST_STATUS, stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_DAILYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_DAILY);
stmt->setUInt32(0, lowGuid);
res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOAD_DAILY_QUEST_STATUS, stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_WEEKLY);
stmt->setUInt32(0, lowGuid);
res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOAD_WEEKLY_QUEST_STATUS, stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_MONTHLYQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_MONTHLY);
stmt->setUInt32(0, lowGuid);
res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOAD_MONTHLY_QUEST_STATUS, stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_SEASONAL);
stmt->setUInt32(0, lowGuid);
res &= SetPreparedQuery(PLAYER_LOGIN_QUERY_LOAD_SEASONAL_QUEST_STATUS, stmt);
@@ -1141,6 +1141,9 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
m_playerLoading = false;
+ // Handle Login-Achievements (should be handled after loading)
+ _player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN, 1);
+
sScriptMgr->OnPlayerLogin(pCurrChar);
delete holder;
}
@@ -1872,6 +1875,9 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
}
}
+ // resurrect the character in case he's dead
+ sObjectAccessor->ConvertCorpseForPlayer(guid);
+
CharacterDatabase.EscapeString(newname);
Player::Customize(guid, gender, skin, face, hairStyle, hairColor, facialHair);
SQLTransaction trans = CharacterDatabase.BeginTransaction();
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 8cac59dfd9b..214a77ed6ef 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -156,20 +156,12 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
case CHAT_MSG_GUILD:
case CHAT_MSG_BATTLEGROUND:
case CHAT_MSG_WHISPER:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- {
- std::string msg = "";
- recvData >> msg;
-
- if (msg.empty())
- return;
-
- sScriptMgr->OnPlayerChat(sender, uint32(CHAT_MSG_ADDON), lang, msg);
- }
-
- // Disabled addon channel?
+ // check if addon messages are disabled
if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL))
+ {
+ recvData.rfinish();
return;
+ }
break;
default:
TC_LOG_ERROR("network", "Player %s (GUID: %u) sent a chatmessage with an invalid language/message type combination",
@@ -616,19 +608,12 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData)
if (prefix.empty() || prefix.length() > 16)
return;
- // Logging enabled?
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- {
- if (message.empty())
- return;
-
- // Weird way to log stuff...
- sScriptMgr->OnPlayerChat(sender, uint32(CHAT_MSG_ADDON), uint32(LANG_ADDON), message);
- }
-
// Disabled addon channel?
if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL))
+ {
+ recvData.rfinish();
return;
+ }
switch (type)
{
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index 8fb3935e74c..dcaa2727b5e 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -626,11 +626,20 @@ void WorldSession::HandleLootMethodOpcode(WorldPacket& recvData)
/** error handling **/
if (!group->IsLeader(GetPlayer()->GetGUID()))
return;
+
+ if (lootMethod > NEED_BEFORE_GREED)
+ return;
+
+ if (lootThreshold < ITEM_QUALITY_UNCOMMON || lootThreshold > ITEM_QUALITY_ARTIFACT)
+ return;
+
+ if (lootMethod == MASTER_LOOT && !group->IsMember(lootMaster))
+ return;
/********************/
// everything's fine, do it
group->SetLootMethod((LootMethod)lootMethod);
- group->SetLooterGuid(lootMaster);
+ group->SetMasterLooterGuid(lootMaster);
group->SetLootThreshold((ItemQualities)lootThreshold);
group->SendUpdate();
}
@@ -733,11 +742,20 @@ void WorldSession::HandleRaidTargetUpdateOpcode(WorldPacket& recvData)
group->SendTargetIconList(this);
else // target icon update
{
- if (!group->IsLeader(GetPlayer()->GetGUID()) && !group->IsAssistant(GetPlayer()->GetGUID()))
+ if (group->isRaidGroup() && !group->IsLeader(GetPlayer()->GetGUID()) && !group->IsAssistant(GetPlayer()->GetGUID()))
return;
uint64 guid;
recvData >> guid;
+
+ if (IS_PLAYER_GUID(guid))
+ {
+ Player* target = ObjectAccessor::FindPlayer(guid);
+
+ if (!target || target->IsHostileTo(GetPlayer()))
+ return;
+ }
+
group->SetTargetIcon(x, _player->GetGUID(), guid);
}
}
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 323d5f5e489..b72d79539aa 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -1068,6 +1068,11 @@ void WorldSession::HandleSocketOpcode(WorldPacket& recvData)
for (int i = 0; i < MAX_GEM_SOCKETS; ++i) //get geminfo from dbc storage
GemProps[i] = (Gems[i]) ? sGemPropertiesStore.LookupEntry(Gems[i]->GetTemplate()->GemProperties) : NULL;
+ // Find first prismatic socket
+ int32 firstPrismatic = 0;
+ while (firstPrismatic < MAX_GEM_SOCKETS && itemProto->Socket[firstPrismatic].Color)
+ ++firstPrismatic;
+
for (int i = 0; i < MAX_GEM_SOCKETS; ++i) //check for hack maybe
{
if (!GemProps[i])
@@ -1080,11 +1085,8 @@ void WorldSession::HandleSocketOpcode(WorldPacket& recvData)
if (!itemTarget->GetEnchantmentId(PRISMATIC_ENCHANTMENT_SLOT))
return;
- // not first not-colored (not normaly used) socket
- if (i != 0 && !itemProto->Socket[i-1].Color && (i+1 >= MAX_GEM_SOCKETS || itemProto->Socket[i+1].Color))
+ if (i != firstPrismatic)
return;
-
- // ok, this is first not colored socket for item with prismatic socket
}
// tried to put normal gem in meta socket
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index 72d3fd5a746..b1132efd6a1 100644
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -306,17 +306,7 @@ void WorldSession::DoLootRelease(uint64 lguid)
// if the round robin player release, reset it.
if (player->GetGUID() == loot->roundRobinPlayer)
- {
- if (Group* group = player->GetGroup())
- {
- if (group->GetLootMethod() != MASTER_LOOT)
- {
- loot->roundRobinPlayer = 0;
- }
- }
- else
- loot->roundRobinPlayer = 0;
- }
+ loot->roundRobinPlayer = 0;
}
}
else if (IS_CORPSE_GUID(lguid)) // ONLY remove insignia at BG
@@ -385,19 +375,15 @@ void WorldSession::DoLootRelease(uint64 lguid)
// if the round robin player release, reset it.
if (player->GetGUID() == loot->roundRobinPlayer)
{
+ loot->roundRobinPlayer = 0;
+
if (Group* group = player->GetGroup())
{
- if (group->GetLootMethod() != MASTER_LOOT)
- {
- loot->roundRobinPlayer = 0;
- group->SendLooter(creature, NULL);
-
- // force update of dynamic flags, otherwise other group's players still not able to loot.
- creature->ForceValuesUpdateAtIndex(UNIT_DYNAMIC_FLAGS);
- }
+ group->SendLooter(creature, NULL);
+
+ // force update of dynamic flags, otherwise other group's players still not able to loot.
+ creature->ForceValuesUpdateAtIndex(UNIT_DYNAMIC_FLAGS);
}
- else
- loot->roundRobinPlayer = 0;
}
}
}
@@ -413,7 +399,7 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData)
recvData >> lootguid >> slotid >> target_playerguid;
- if (!_player->GetGroup() || _player->GetGroup()->GetLooterGuid() != _player->GetGUID())
+ if (!_player->GetGroup() || _player->GetGroup()->GetMasterLooterGuid() != _player->GetGUID() || _player->GetGroup()->GetLootMethod() != MASTER_LOOT)
{
_player->SendLootRelease(GetPlayer()->GetLootGUID());
return;
@@ -434,7 +420,6 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPacket& recvData)
return;
}
-
Loot* loot = NULL;
if (IS_CRE_OR_VEH_GUID(GetPlayer()->GetLootGUID()))
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index b0514467667..866a99bcfb7 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -98,9 +98,19 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket& recvData)
recvData >> guid >> menuId >> gossipListId;
+ if (!_player->PlayerTalkClass->GetGossipMenu().GetItem(gossipListId))
+ {
+ recvData.rfinish();
+ return;
+ }
+
if (_player->PlayerTalkClass->IsGossipOptionCoded(gossipListId))
recvData >> code;
+ // Prevent cheating on C++ scripted menus
+ if (_player->PlayerTalkClass->GetGossipMenu().GetSenderGUID() != guid)
+ return;
+
Creature* unit = NULL;
GameObject* go = NULL;
if (IS_CRE_OR_VEH_GUID(guid))
@@ -152,7 +162,8 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket& recvData)
else
{
go->AI()->GossipSelectCode(_player, menuId, gossipListId, code.c_str());
- sScriptMgr->OnGossipSelectCode(_player, go, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId), code.c_str());
+ if (!sScriptMgr->OnGossipSelectCode(_player, go, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId), code.c_str()))
+ _player->OnGossipSelect(go, gossipListId, menuId);
}
}
else
@@ -1202,6 +1213,12 @@ void WorldSession::HandleInspectOpcode(WorldPacket& recvData)
return;
}
+ if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false))
+ return;
+
+ if (GetPlayer()->IsValidAttackTarget(player))
+ return;
+
uint32 talent_points = 41;
WorldPacket data(SMSG_INSPECT_TALENT, 8 + 4 + 1 + 1 + talent_points + 8 + 4 + 8 + 4);
data << player->GetGUID();
@@ -1247,13 +1264,18 @@ void WorldSession::HandleInspectHonorStatsOpcode(WorldPacket& recvData)
recvData.ReadByteSeq(guid[2]);
recvData.ReadByteSeq(guid[3]);
Player* player = ObjectAccessor::FindPlayer(guid);
-
if (!player)
{
TC_LOG_DEBUG("network", "CMSG_INSPECT_HONOR_STATS: No player found from GUID: " UI64FMTD, (uint64)guid);
return;
}
+ if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false))
+ return;
+
+ if (GetPlayer()->IsValidAttackTarget(player))
+ return;
+
ObjectGuid playerGuid = player->GetGUID();
WorldPacket data(SMSG_INSPECT_HONOR_STATS, 8+1+4+4);
data.WriteBit(playerGuid[4]);
@@ -1697,6 +1719,12 @@ void WorldSession::HandleQueryInspectAchievements(WorldPacket& recvData)
if (!player)
return;
+ if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false))
+ return;
+
+ if (GetPlayer()->IsValidAttackTarget(player))
+ return;
+
player->SendRespondInspectAchievements(_player);
}
diff --git a/src/server/game/Handlers/NPCHandler.h b/src/server/game/Handlers/NPCHandler.h
index 8aa34eaafa7..7210d9a53b5 100644
--- a/src/server/game/Handlers/NPCHandler.h
+++ b/src/server/game/Handlers/NPCHandler.h
@@ -31,6 +31,7 @@ struct GossipTextOption
{
std::string Text_0;
std::string Text_1;
+ uint32 BroadcastTextID;
uint32 Language;
float Probability;
QEmote Emotes[MAX_GOSSIP_TEXT_EMOTES];
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 78fbd318a11..974f06975fa 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -633,9 +633,8 @@ void WorldSession::HandlePetRename(WorldPacket& recvData)
pet->SetName(name);
- Player* owner = pet->GetOwner();
- if (owner && owner->GetGroup())
- owner->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_NAME);
+ if (pet->GetOwner()->GetGroup())
+ pet->GetOwner()->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_NAME);
pet->RemoveByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED);
@@ -664,7 +663,7 @@ void WorldSession::HandlePetRename(WorldPacket& recvData)
stmt->setUInt32(0, pet->GetCharmInfo()->GetPetNumber());
trans->Append(stmt);
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_ADD_CHAR_PET_DECLINEDNAME);
+ stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_PET_DECLINEDNAME);
stmt->setUInt32(0, _player->GetGUIDLow());
for (uint8 i = 0; i < 5; i++)
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index c3ac98aa76a..b2eb89efb31 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -270,18 +270,18 @@ void WorldSession::HandleNpcTextQueryOpcode(WorldPacket& recvData)
uint64 guid;
recvData >> textID;
- TC_LOG_DEBUG("network", "WORLD: CMSG_NPC_TEXT_QUERY ID '%u'", textID);
+ TC_LOG_DEBUG("network", "WORLD: CMSG_NPC_TEXT_QUERY TextId: %u", textID);
recvData >> guid;
- GossipText const* pGossip = sObjectMgr->GetGossipText(textID);
+ GossipText const* gossip = sObjectMgr->GetGossipText(textID);
WorldPacket data(SMSG_NPC_TEXT_UPDATE, 100); // guess size
data << textID;
- if (!pGossip)
+ if (!gossip)
{
- for (uint32 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
+ for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
{
data << float(0);
data << "Greetings $N";
@@ -297,46 +297,50 @@ void WorldSession::HandleNpcTextQueryOpcode(WorldPacket& recvData)
}
else
{
- std::string Text_0[MAX_LOCALES], Text_1[MAX_LOCALES];
- for (int i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
- {
- Text_0[i]=pGossip->Options[i].Text_0;
- Text_1[i]=pGossip->Options[i].Text_1;
- }
+ std::string text0[MAX_GOSSIP_TEXT_OPTIONS], text1[MAX_GOSSIP_TEXT_OPTIONS];
+ LocaleConstant locale = GetSessionDbLocaleIndex();
- int loc_idx = GetSessionDbLocaleIndex();
- if (loc_idx >= 0)
+ for (uint8 i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
{
- if (NpcTextLocale const* nl = sObjectMgr->GetNpcTextLocale(textID))
+ BroadcastText const* bct = sObjectMgr->GetBroadcastText(gossip->Options[i].BroadcastTextID);
+ if (bct)
+ {
+ text0[i] = bct->GetText(locale, GENDER_MALE, true);
+ text1[i] = bct->GetText(locale, GENDER_FEMALE, true);
+ }
+ else
+ {
+ text0[i] = gossip->Options[i].Text_0;
+ text1[i] = gossip->Options[i].Text_1;
+ }
+
+ if (locale != DEFAULT_LOCALE && !bct)
{
- for (int i = 0; i < MAX_LOCALES; ++i)
+ if (NpcTextLocale const* npcTextLocale = sObjectMgr->GetNpcTextLocale(textID))
{
- ObjectMgr::GetLocaleString(nl->Text_0[i], loc_idx, Text_0[i]);
- ObjectMgr::GetLocaleString(nl->Text_1[i], loc_idx, Text_1[i]);
+ ObjectMgr::GetLocaleString(npcTextLocale->Text_0[i], locale, text0[i]);
+ ObjectMgr::GetLocaleString(npcTextLocale->Text_1[i], locale, text1[i]);
}
}
- }
- for (int i = 0; i < MAX_GOSSIP_TEXT_OPTIONS; ++i)
- {
- data << pGossip->Options[i].Probability;
+ data << gossip->Options[i].Probability;
- if (Text_0[i].empty())
- data << Text_1[i];
+ if (text0[i].empty())
+ data << text1[i];
else
- data << Text_0[i];
+ data << text0[i];
- if (Text_1[i].empty())
- data << Text_0[i];
+ if (text1[i].empty())
+ data << text0[i];
else
- data << Text_1[i];
+ data << text1[i];
- data << pGossip->Options[i].Language;
+ data << gossip->Options[i].Language;
- for (int j = 0; j < MAX_GOSSIP_TEXT_EMOTES; ++j)
+ for (uint8 j = 0; j < MAX_GOSSIP_TEXT_EMOTES; ++j)
{
- data << pGossip->Options[i].Emotes[j]._Delay;
- data << pGossip->Options[i].Emotes[j]._Emote;
+ data << gossip->Options[i].Emotes[j]._Delay;
+ data << gossip->Options[i].Emotes[j]._Emote;
}
}
}
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 7e7c8326a65..206238cbea2 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -38,38 +38,30 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPacket& recvData)
recvData >> guid;
uint32 questStatus = DIALOG_STATUS_NONE;
- Object* questgiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT);
- if (!questgiver)
+ Object* questGiver = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
+ if (!questGiver)
{
TC_LOG_INFO("network", "Error in CMSG_QUESTGIVER_STATUS_QUERY, called for non-existing questgiver (Typeid: %u GUID: %u)", GuidHigh2TypeId(GUID_HIPART(guid)), GUID_LOPART(guid));
return;
}
- switch (questgiver->GetTypeId())
+ switch (questGiver->GetTypeId())
{
case TYPEID_UNIT:
{
- TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", questgiver->GetGUIDLow());
- Creature* cr_questgiver = questgiver->ToCreature();
- if (!cr_questgiver->IsHostileTo(_player)) // do not show quest status to enemies
- {
- questStatus = sScriptMgr->GetDialogStatus(_player, cr_questgiver);
- if (questStatus == DIALOG_STATUS_SCRIPTED_NO_STATUS)
- questStatus = getDialogStatus(_player, cr_questgiver);
- }
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for npc, guid = %u", questGiver->GetGUIDLow());
+ if (!questGiver->ToCreature()->IsHostileTo(_player)) // do not show quest status to enemies
+ questStatus = _player->GetQuestDialogStatus(questGiver);
break;
}
case TYPEID_GAMEOBJECT:
{
- TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", questgiver->GetGUIDLow());
- GameObject* go_questgiver = questgiver->ToGameObject();
- questStatus = sScriptMgr->GetDialogStatus(_player, go_questgiver);
- if (questStatus == DIALOG_STATUS_SCRIPTED_NO_STATUS)
- questStatus = getDialogStatus(_player, go_questgiver);
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u", questGiver->GetGUIDLow());
+ questStatus = _player->GetQuestDialogStatus(questGiver);
break;
}
default:
- TC_LOG_ERROR("network", "QuestGiver called for unexpected type %u", questgiver->GetTypeId());
+ TC_LOG_ERROR("network", "QuestGiver called for unexpected type %u", questGiver->GetTypeId());
break;
}
@@ -174,7 +166,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
if (_player->CanAddQuest(quest, true))
{
- _player->AddQuest(quest, object);
+ _player->AddQuestAndCheckCompletion(quest, object);
if (quest->HasFlag(QUEST_FLAGS_PARTY_ACCEPT))
{
@@ -191,7 +183,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
{
player->SetDivider(_player->GetGUID());
- //need confirmation that any gossip window will close
+ // need confirmation that any gossip window will close
player->PlayerTalkClass->SendCloseGossip();
_player->SendQuestConfirmAccept(quest, player);
@@ -200,45 +192,6 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
}
}
- if (_player->CanCompleteQuest(questId))
- _player->CompleteQuest(questId);
-
- switch (object->GetTypeId())
- {
- case TYPEID_UNIT:
- sScriptMgr->OnQuestAccept(_player, (object->ToCreature()), quest);
- object->ToCreature()->AI()->sQuestAccept(_player, quest);
- break;
- case TYPEID_ITEM:
- case TYPEID_CONTAINER:
- {
- Item* item = (Item*)object;
- sScriptMgr->OnQuestAccept(_player, item, quest);
-
- // destroy not required for quest finish quest starting item
- bool destroyItem = true;
- for (int i = 0; i < QUEST_ITEM_OBJECTIVES_COUNT; ++i)
- {
- if (quest->RequiredItemId[i] == item->GetEntry() && item->GetTemplate()->MaxCount > 0)
- {
- destroyItem = false;
- break;
- }
- }
-
- if (destroyItem)
- _player->DestroyItem(item->GetBagSlot(), item->GetSlot(), true);
-
- break;
- }
- case TYPEID_GAMEOBJECT:
- sScriptMgr->OnQuestAccept(_player, object->ToGameObject(), quest);
- object->ToGameObject()->AI()->QuestAccept(_player, quest);
- break;
- default:
- break;
- }
-
_player->PlayerTalkClass->SendCloseGossip();
if (quest->GetSrcSpell() > 0)
@@ -372,7 +325,9 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket& recvData)
break;
}
case TYPEID_GAMEOBJECT:
- if (!sScriptMgr->OnQuestReward(_player, ((GameObject*)object), quest, reward))
+ {
+ GameObject* questGiver = object->ToGameObject();
+ if (!sScriptMgr->OnQuestReward(_player, questGiver, quest, reward))
{
// Send next quest
if (Quest const* nextQuest = _player->GetNextQuest(guid, quest))
@@ -388,9 +343,10 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket& recvData)
_player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true);
}
- object->ToGameObject()->AI()->QuestReward(_player, quest, reward);
+ questGiver->AI()->QuestReward(_player, quest, reward);
}
break;
+ }
default:
break;
}
@@ -407,7 +363,7 @@ void WorldSession::HandleQuestgiverRequestRewardOpcode(WorldPacket& recvData)
TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_REQUEST_REWARD npc = %u, quest = %u", uint32(GUID_LOPART(guid)), questId);
- Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT);
+ Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
if (!object || !object->hasInvolvedQuest(questId))
return;
@@ -491,17 +447,16 @@ void WorldSession::HandleQuestConfirmAccept(WorldPacket& recvData)
TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUEST_CONFIRM_ACCEPT questId = %u", questId);
- if (const Quest* quest = sObjectMgr->GetQuestTemplate(questId))
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
{
if (!quest->HasFlag(QUEST_FLAGS_PARTY_ACCEPT))
return;
- Player* pOriginalPlayer = ObjectAccessor::FindPlayer(_player->GetDivider());
-
- if (!pOriginalPlayer)
+ Player* originalPlayer = ObjectAccessor::FindPlayer(_player->GetDivider());
+ if (!originalPlayer)
return;
- if (!_player->IsInSameRaidWith(pOriginalPlayer))
+ if (!_player->IsInSameRaidWith(originalPlayer))
return;
if (_player->CanAddQuest(quest, true))
@@ -664,104 +619,6 @@ void WorldSession::HandleQuestPushResult(WorldPacket& recvPacket)
}
}
-uint32 WorldSession::getDialogStatus(Player* player, Object* questgiver)
-{
- uint32 result = DIALOG_STATUS_NONE;
-
- QuestRelationBounds qr;
- QuestRelationBounds qir;
-
- switch (questgiver->GetTypeId())
- {
- case TYPEID_GAMEOBJECT:
- {
- qr = sObjectMgr->GetGOQuestRelationBounds(questgiver->GetEntry());
- qir = sObjectMgr->GetGOQuestInvolvedRelationBounds(questgiver->GetEntry());
- break;
- }
- case TYPEID_UNIT:
- {
- qr = sObjectMgr->GetCreatureQuestRelationBounds(questgiver->GetEntry());
- qir = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(questgiver->GetEntry());
- break;
- }
- default:
- //its imposible, but check ^)
- TC_LOG_ERROR("network", "Warning: GetDialogStatus called for unexpected type %u", questgiver->GetTypeId());
- return DIALOG_STATUS_NONE;
- }
-
- for (QuestRelations::const_iterator i = qir.first; i != qir.second; ++i)
- {
- uint32 result2 = 0;
- uint32 quest_id = i->second;
- Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id);
- if (!quest)
- continue;
-
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
- if (!sConditionMgr->IsObjectMeetToConditions(player, conditions))
- continue;
-
- QuestStatus status = player->GetQuestStatus(quest_id);
- if ((status == QUEST_STATUS_COMPLETE && !player->GetQuestRewardStatus(quest_id)) ||
- (quest->IsAutoComplete() && player->CanTakeQuest(quest, false)))
- {
- if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly())
- result2 = DIALOG_STATUS_REWARD_REP;
- else
- result2 = DIALOG_STATUS_REWARD;
- }
- else if (status == QUEST_STATUS_INCOMPLETE)
- result2 = DIALOG_STATUS_INCOMPLETE;
-
- if (result2 > result)
- result = result2;
- }
-
- for (QuestRelations::const_iterator i = qr.first; i != qr.second; ++i)
- {
- uint32 result2 = 0;
- uint32 quest_id = i->second;
- Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id);
- if (!quest)
- continue;
-
- ConditionList conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_QUEST_SHOW_MARK, quest->GetQuestId());
- if (!sConditionMgr->IsObjectMeetToConditions(player, conditions))
- continue;
-
- QuestStatus status = player->GetQuestStatus(quest_id);
- if (status == QUEST_STATUS_NONE)
- {
- if (player->CanSeeStartQuest(quest))
- {
- if (player->SatisfyQuestLevel(quest, false))
- {
- if (quest->IsAutoComplete())
- result2 = DIALOG_STATUS_REWARD_REP;
- else if (player->getLevel() <= ((player->GetQuestLevel(quest) == -1) ? player->getLevel() : player->GetQuestLevel(quest) + sWorld->getIntConfig(CONFIG_QUEST_LOW_LEVEL_HIDE_DIFF)))
- {
- if (quest->IsDaily())
- result2 = DIALOG_STATUS_AVAILABLE_REP;
- else
- result2 = DIALOG_STATUS_AVAILABLE;
- }
- else
- result2 = DIALOG_STATUS_LOW_LEVEL_AVAILABLE;
- }
- else
- result2 = DIALOG_STATUS_UNAVAILABLE;
- }
- }
-
- if (result2 > result)
- result = result2;
- }
-
- return result;
-}
-
void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket*/)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY");
@@ -784,9 +641,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
if (!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
continue;
- questStatus = sScriptMgr->GetDialogStatus(_player, questgiver);
- if (questStatus == DIALOG_STATUS_SCRIPTED_NO_STATUS)
- questStatus = getDialogStatus(_player, questgiver);
+ questStatus = _player->GetQuestDialogStatus(questgiver);
data << uint64(questgiver->GetGUID());
data << uint32(questStatus);
@@ -798,9 +653,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
if (!questgiver || questgiver->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
continue;
- questStatus = sScriptMgr->GetDialogStatus(_player, questgiver);
- if (questStatus == DIALOG_STATUS_SCRIPTED_NO_STATUS)
- questStatus = getDialogStatus(_player, questgiver);
+ questStatus = _player->GetQuestDialogStatus(questgiver);
data << uint64(questgiver->GetGUID());
data << uint32(questStatus);
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index 726685044f3..fc6062773a1 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -337,6 +337,13 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/)
// set before checks for propertly undo at problems (it already set in to client)
my_trade->SetAccepted(true);
+ if (!_player->IsWithinDistInMap(trader, TRADE_DISTANCE, false))
+ {
+ SendTradeStatus(TRADE_STATUS_TARGET_TO_FAR);
+ my_trade->SetAccepted(false);
+ return;
+ }
+
// not accept case incorrect money amount
if (!_player->HasEnoughMoney(my_trade->GetMoney()))
{
@@ -726,7 +733,7 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket)
return;
}
- if (!pOther->IsWithinDistInMap(_player, 10.0f, false))
+ if (!pOther->IsWithinDistInMap(_player, TRADE_DISTANCE, false))
{
SendTradeStatus(TRADE_STATUS_TARGET_TO_FAR);
return;
@@ -778,7 +785,6 @@ void WorldSession::HandleSetTradeGoldOpcode(WorldPacket& recvPacket)
if (!my_trade)
return;
- // gold can be incorrect, but this is checked at trade finished.
my_trade->SetMoney(gold);
}
diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h
index 7a89e6488f0..cf852b7c952 100644
--- a/src/server/game/Instances/InstanceSaveMgr.h
+++ b/src/server/game/Instances/InstanceSaveMgr.h
@@ -24,7 +24,7 @@
#include <ace/Thread_Mutex.h>
#include <list>
#include <map>
-#include "UnorderedMap.h"
+#include <unordered_map>
#include "DatabaseEnv.h"
#include "DBCEnums.h"
#include "ObjectDefines.h"
@@ -140,7 +140,7 @@ class InstanceSave
ACE_Thread_Mutex _lock;
};
-typedef UNORDERED_MAP<uint32 /*PAIR32(map, difficulty)*/, time_t /*resetTime*/> ResetTimeByMapDifficultyMap;
+typedef std::unordered_map<uint32 /*PAIR32(map, difficulty)*/, time_t /*resetTime*/> ResetTimeByMapDifficultyMap;
class InstanceSaveManager
{
@@ -152,7 +152,7 @@ class InstanceSaveManager
~InstanceSaveManager();
public:
- typedef UNORDERED_MAP<uint32 /*InstanceId*/, InstanceSave*> InstanceSaveHashMap;
+ typedef std::unordered_map<uint32 /*InstanceId*/, InstanceSave*> InstanceSaveHashMap;
/* resetTime is a global propery of each (raid/heroic) map
all instances of that map reset at the same time */
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp
index 899637a7615..60475382d5e 100644
--- a/src/server/game/Loot/LootMgr.cpp
+++ b/src/server/game/Loot/LootMgr.cpp
@@ -555,7 +555,7 @@ QuestItemList* Loot::FillQuestLoot(Player* player)
{
LootItem &item = quest_items[i];
- if (!item.is_looted && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((player->GetGroup()->GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetLooterGuid() == player->GetGUID()) || player->GetGroup()->GetLootMethod() != MASTER_LOOT ))))
+ if (!item.is_looted && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((player->GetGroup()->GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetMasterLooterGuid() == player->GetGUID()) || player->GetGroup()->GetLootMethod() != MASTER_LOOT))))
{
ql->push_back(QuestItem(i));
@@ -589,7 +589,7 @@ QuestItemList* Loot::FillNonQuestNonFFAConditionalLoot(Player* player, bool pres
for (uint8 i = 0; i < items.size(); ++i)
{
LootItem &item = items[i];
- if (!item.is_looted && !item.freeforall && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((player->GetGroup()->GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetLooterGuid() == player->GetGUID()) || player->GetGroup()->GetLootMethod() != MASTER_LOOT ))))
+ if (!item.is_looted && !item.freeforall && (item.AllowedForPlayer(player) || (item.follow_loot_rules && player->GetGroup() && ((player->GetGroup()->GetLootMethod() == MASTER_LOOT && player->GetGroup()->GetMasterLooterGuid() == player->GetGUID()) || player->GetGroup()->GetLootMethod() != MASTER_LOOT))))
{
if (presentAtLooting)
item.AddAllowedLooter(player);
@@ -883,6 +883,8 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
switch (lv.permission)
{
case GROUP_PERMISSION:
+ case MASTER_PERMISSION:
+ case RESTRICTED_PERMISSION:
{
// if you are not the round-robin group looter, you can only see
// blocked rolled items and quest items, and !ffa items
@@ -892,9 +894,24 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
{
uint8 slot_type;
- if (l.items[i].is_blocked)
- slot_type = LOOT_SLOT_TYPE_ROLL_ONGOING;
- else if (l.roundRobinPlayer == 0 || !l.items[i].is_underthreshold || lv.viewer->GetGUID() == l.roundRobinPlayer)
+ if (l.items[i].is_blocked) // for ML & restricted is_blocked = !is_underthreshold
+ {
+ switch (lv.permission)
+ {
+ case GROUP_PERMISSION:
+ slot_type = LOOT_SLOT_TYPE_ROLL_ONGOING;
+ break;
+ case MASTER_PERMISSION:
+ slot_type = LOOT_SLOT_TYPE_MASTER;
+ break;
+ case RESTRICTED_PERMISSION:
+ slot_type = LOOT_SLOT_TYPE_LOCKED;
+ break;
+ default:
+ continue;
+ }
+ }
+ else if (l.roundRobinPlayer == 0 || lv.viewer->GetGUID() == l.roundRobinPlayer || !l.items[i].is_underthreshold)
{
// no round robin owner or he has released the loot
// or it IS the round robin group owner
@@ -930,22 +947,9 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
break;
}
case ALL_PERMISSION:
- case MASTER_PERMISSION:
case OWNER_PERMISSION:
{
- uint8 slot_type = LOOT_SLOT_TYPE_ALLOW_LOOT;
- switch (lv.permission)
- {
- case MASTER_PERMISSION:
- slot_type = LOOT_SLOT_TYPE_MASTER;
- break;
- case OWNER_PERMISSION:
- slot_type = LOOT_SLOT_TYPE_OWNER;
- break;
- default:
- break;
- }
-
+ uint8 slot_type = lv.permission == OWNER_PERMISSION ? LOOT_SLOT_TYPE_OWNER : LOOT_SLOT_TYPE_ALLOW_LOOT;
for (uint8 i = 0; i < l.items.size(); ++i)
{
if (!l.items[i].is_looted && !l.items[i].freeforall && l.items[i].conditions.empty() && l.items[i].AllowedForPlayer(lv.viewer))
@@ -981,6 +985,9 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
case MASTER_PERMISSION:
b << uint8(LOOT_SLOT_TYPE_MASTER);
break;
+ case RESTRICTED_PERMISSION:
+ b << (item.is_blocked ? uint8(LOOT_SLOT_TYPE_LOCKED) : uint8(slotType));
+ break;
case GROUP_PERMISSION:
case ROUND_ROBIN_PERMISSION:
if (!item.is_blocked)
@@ -1037,6 +1044,9 @@ ByteBuffer& operator<<(ByteBuffer& b, LootView const& lv)
case MASTER_PERMISSION:
b << uint8(LOOT_SLOT_TYPE_MASTER);
break;
+ case RESTRICTED_PERMISSION:
+ b << (item.is_blocked ? uint8(LOOT_SLOT_TYPE_LOCKED) : uint8(slotType));
+ break;
case GROUP_PERMISSION:
case ROUND_ROBIN_PERMISSION:
if (!item.is_blocked)
diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h
index 96af1919e90..ed0f3b9717b 100644
--- a/src/server/game/Loot/LootMgr.h
+++ b/src/server/game/Loot/LootMgr.h
@@ -68,9 +68,10 @@ enum PermissionTypes
ALL_PERMISSION = 0,
GROUP_PERMISSION = 1,
MASTER_PERMISSION = 2,
- ROUND_ROBIN_PERMISSION = 3,
- OWNER_PERMISSION = 4,
- NONE_PERMISSION = 5
+ RESTRICTED_PERMISSION = 3,
+ ROUND_ROBIN_PERMISSION = 4,
+ OWNER_PERMISSION = 5,
+ NONE_PERMISSION = 6
};
enum LootType
@@ -177,7 +178,7 @@ typedef std::vector<QuestItem> QuestItemList;
typedef std::vector<LootItem> LootItemList;
typedef std::map<uint32, QuestItemList*> QuestItemMap;
typedef std::list<LootStoreItem*> LootStoreItemList;
-typedef UNORDERED_MAP<uint32, LootTemplate*> LootTemplateMap;
+typedef std::unordered_map<uint32, LootTemplate*> LootTemplateMap;
typedef std::set<uint32> LootIdSet;
diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp
index 8c82ef8f45b..2c65e363dd5 100644
--- a/src/server/game/Mails/Mail.cpp
+++ b/src/server/game/Mails/Mail.cpp
@@ -193,10 +193,12 @@ void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver,
expire_delay = DAY;
// default case: expire time if COD 3 days, if no COD 30 days (or 90 days if sender is a game master)
else
+ {
if (m_COD)
expire_delay = 3 * DAY;
else
expire_delay = pSender && pSender->IsGameMaster() ? 90 * DAY : 30 * DAY;
+ }
time_t expire_time = deliver_time + expire_delay;
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 79e63cf2035..22c0b332f33 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -217,13 +217,13 @@ void Map::DeleteStateMachine()
}
Map::Map(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode, Map* _parent):
-_creatureToMoveLock(false), _gameObjectsToMoveLock(false),
+_creatureToMoveLock(false), _gameObjectsToMoveLock(false), _dynamicObjectsToMoveLock(false),
i_mapEntry(sMapStore.LookupEntry(id)), i_spawnMode(SpawnMode), i_InstanceId(InstanceId),
m_unloadTimer(0), m_VisibleDistance(DEFAULT_VISIBILITY_DISTANCE),
m_VisibilityNotifyPeriod(DEFAULT_VISIBILITY_NOTIFY_PERIOD),
m_activeNonPlayersIter(m_activeNonPlayers.end()), _transportsUpdateIter(_transports.end()),
i_gridExpiry(expiry),
-i_scriptLock(false)
+i_scriptLock(false), _defaultLight(GetDefaultMapLight(id))
{
m_parentMap = (_parent ? _parent : this);
for (unsigned int idx=0; idx < MAX_NUMBER_OF_GRIDS; ++idx)
@@ -281,6 +281,15 @@ void Map::AddToGrid(GameObject* obj, Cell const& cell)
obj->SetCurrentCell(cell);
}
+template<>
+void Map::AddToGrid(DynamicObject* obj, Cell const& cell)
+{
+ NGridType* grid = getNGrid(cell.GridX(), cell.GridY());
+ grid->GetGridType(cell.CellX(), cell.CellY()).AddGridObject(obj);
+
+ obj->SetCurrentCell(cell);
+}
+
template<class T>
void Map::SwitchGridContainers(T* /*obj*/, bool /*on*/) { }
@@ -468,6 +477,7 @@ bool Map::AddPlayerToMap(Player* player)
SendInitSelf(player);
SendInitTransports(player);
+ SendZoneDynamicInfo(player);
player->m_clientGUIDs.clear();
player->UpdateObjectVisibility(false);
@@ -944,6 +954,7 @@ void Map::GameObjectRelocation(GameObject* go, float x, float y, float z, float
else
{
go->Relocate(x, y, z, orientation);
+ go->UpdateModelPosition();
go->UpdateObjectVisibility(false);
RemoveGameObjectFromMoveList(go);
}
@@ -953,6 +964,38 @@ void Map::GameObjectRelocation(GameObject* go, float x, float y, float z, float
ASSERT(integrity_check == old_cell);
}
+void Map::DynamicObjectRelocation(DynamicObject* dynObj, float x, float y, float z, float orientation)
+{
+ Cell integrity_check(dynObj->GetPositionX(), dynObj->GetPositionY());
+ Cell old_cell = dynObj->GetCurrentCell();
+
+ ASSERT(integrity_check == old_cell);
+ Cell new_cell(x, y);
+
+ if (!getNGrid(new_cell.GridX(), new_cell.GridY()))
+ return;
+
+ // delay creature move for grid/cell to grid/cell moves
+ if (old_cell.DiffCell(new_cell) || old_cell.DiffGrid(new_cell))
+ {
+#ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "GameObject (GUID: %u) added to moving list from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", dynObj->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+#endif
+ AddDynamicObjectToMoveList(dynObj, x, y, z, orientation);
+ // in diffcell/diffgrid case notifiers called at finishing move dynObj in Map::MoveAllGameObjectsInMoveList
+ }
+ else
+ {
+ dynObj->Relocate(x, y, z, orientation);
+ dynObj->UpdateObjectVisibility(false);
+ RemoveDynamicObjectFromMoveList(dynObj);
+ }
+
+ old_cell = dynObj->GetCurrentCell();
+ integrity_check = Cell(dynObj->GetPositionX(), dynObj->GetPositionY());
+ ASSERT(integrity_check == old_cell);
+}
+
void Map::AddCreatureToMoveList(Creature* c, float x, float y, float z, float ang)
{
if (_creatureToMoveLock) //can this happen?
@@ -991,6 +1034,25 @@ void Map::RemoveGameObjectFromMoveList(GameObject* go)
go->_moveState = MAP_OBJECT_CELL_MOVE_INACTIVE;
}
+void Map::AddDynamicObjectToMoveList(DynamicObject* dynObj, float x, float y, float z, float ang)
+{
+ if (_dynamicObjectsToMoveLock) //can this happen?
+ return;
+
+ if (dynObj->_moveState == MAP_OBJECT_CELL_MOVE_NONE)
+ _dynamicObjectsToMove.push_back(dynObj);
+ dynObj->SetNewCellPosition(x, y, z, ang);
+}
+
+void Map::RemoveDynamicObjectFromMoveList(DynamicObject* dynObj)
+{
+ if (_dynamicObjectsToMoveLock) //can this happen?
+ return;
+
+ if (dynObj->_moveState == MAP_OBJECT_CELL_MOVE_ACTIVE)
+ dynObj->_moveState = MAP_OBJECT_CELL_MOVE_INACTIVE;
+}
+
void Map::MoveAllCreaturesInMoveList()
{
_creatureToMoveLock = true;
@@ -1071,6 +1133,7 @@ void Map::MoveAllGameObjectsInMoveList()
{
// update pos
go->Relocate(go->_newPosition);
+ go->UpdateModelPosition();
go->UpdateObjectVisibility(false);
}
else
@@ -1091,6 +1154,44 @@ void Map::MoveAllGameObjectsInMoveList()
_gameObjectsToMoveLock = false;
}
+void Map::MoveAllDynamicObjectsInMoveList()
+{
+ _dynamicObjectsToMoveLock = true;
+ for (std::vector<DynamicObject*>::iterator itr = _dynamicObjectsToMove.begin(); itr != _dynamicObjectsToMove.end(); ++itr)
+ {
+ DynamicObject* dynObj = *itr;
+ if (dynObj->FindMap() != this) //transport is teleported to another map
+ continue;
+
+ if (dynObj->_moveState != MAP_OBJECT_CELL_MOVE_ACTIVE)
+ {
+ dynObj->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
+ continue;
+ }
+
+ dynObj->_moveState = MAP_OBJECT_CELL_MOVE_NONE;
+ if (!dynObj->IsInWorld())
+ continue;
+
+ // do move or do move to respawn or remove creature if previous all fail
+ if (DynamicObjectCellRelocation(dynObj, Cell(dynObj->_newPosition.m_positionX, dynObj->_newPosition.m_positionY)))
+ {
+ // update pos
+ dynObj->Relocate(dynObj->_newPosition);
+ dynObj->UpdateObjectVisibility(false);
+ }
+ else
+ {
+#ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "DynamicObject (GUID: %u) cannot be moved to unloaded grid.", dynObj->GetGUIDLow());
+#endif
+ }
+ }
+
+ _dynamicObjectsToMove.clear();
+ _dynamicObjectsToMoveLock = false;
+}
+
bool Map::CreatureCellRelocation(Creature* c, Cell new_cell)
{
Cell const& old_cell = c->GetCurrentCell();
@@ -1213,6 +1314,67 @@ bool Map::GameObjectCellRelocation(GameObject* go, Cell new_cell)
return false;
}
+bool Map::DynamicObjectCellRelocation(DynamicObject* go, Cell new_cell)
+{
+ Cell const& old_cell = go->GetCurrentCell();
+ if (!old_cell.DiffGrid(new_cell)) // in same grid
+ {
+ // if in same cell then none do
+ if (old_cell.DiffCell(new_cell))
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "DynamicObject (GUID: %u) moved in grid[%u, %u] from cell[%u, %u] to cell[%u, %u].", go->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ AddToGrid(go, new_cell);
+ }
+ else
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "DynamicObject (GUID: %u) moved in same grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY());
+ #endif
+ }
+
+ return true;
+ }
+
+ // in diff. grids but active GameObject
+ if (go->isActiveObject())
+ {
+ EnsureGridLoadedForActiveObject(new_cell, go);
+
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "Active DynamicObject (GUID: %u) moved from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ AddToGrid(go, new_cell);
+
+ return true;
+ }
+
+ // in diff. loaded grid normal GameObject
+ if (IsGridLoaded(GridCoord(new_cell.GridX(), new_cell.GridY())))
+ {
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "DynamicObject (GUID: %u) moved from grid[%u, %u]cell[%u, %u] to grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+
+ go->RemoveFromGrid();
+ EnsureGridCreated(GridCoord(new_cell.GridX(), new_cell.GridY()));
+ AddToGrid(go, new_cell);
+
+ return true;
+ }
+
+ // fail to move: normal GameObject attempt move to unloaded grid
+ #ifdef TRINITY_DEBUG
+ TC_LOG_DEBUG("maps", "DynamicObject (GUID: %u) attempted to move from grid[%u, %u]cell[%u, %u] to unloaded grid[%u, %u]cell[%u, %u].", go->GetGUIDLow(), old_cell.GridX(), old_cell.GridY(), old_cell.CellX(), old_cell.CellY(), new_cell.GridX(), new_cell.GridY(), new_cell.CellX(), new_cell.CellY());
+ #endif
+ return false;
+}
+
bool Map::CreatureRespawnRelocation(Creature* c, bool diffGridOnly)
{
float resp_x, resp_y, resp_z, resp_o;
@@ -1382,11 +1544,8 @@ void Map::UnloadAll()
Transport* transport = *itr;
++itr;
- transport->RemoveFromWorld();
- delete transport;
+ RemoveFromMap<Transport>(transport, true);
}
-
- _transports.clear();
}
// *****************************
@@ -2486,24 +2645,30 @@ void Map::RemoveAllObjectsInRemoveList()
RemoveFromMap(corpse, true);
break;
}
- case TYPEID_DYNAMICOBJECT:
- RemoveFromMap((DynamicObject*)obj, true);
- break;
- case TYPEID_AREATRIGGER:
- RemoveFromMap((AreaTrigger*)obj, true);
- break;
- case TYPEID_GAMEOBJECT:
- RemoveFromMap((GameObject*)obj, true);
- break;
- case TYPEID_UNIT:
- // in case triggered sequence some spell can continue casting after prev CleanupsBeforeDelete call
- // make sure that like sources auras/etc removed before destructor start
- obj->ToCreature()->CleanupsBeforeDelete();
- RemoveFromMap(obj->ToCreature(), true);
- break;
- default:
- TC_LOG_ERROR("maps", "Non-grid object (TypeId: %u) is in grid object remove list, ignored.", obj->GetTypeId());
- break;
+ case TYPEID_DYNAMICOBJECT:
+ RemoveFromMap(obj->ToDynObject(), true);
+ break;
+ case TYPEID_AREATRIGGER:
+ RemoveFromMap((AreaTrigger*)obj, true);
+ break;
+ case TYPEID_GAMEOBJECT:
+ {
+ GameObject* go = obj->ToGameObject();
+ if (Transport* transport = go->ToTransport())
+ RemoveFromMap(transport, true);
+ else
+ RemoveFromMap(go, true);
+ break;
+ }
+ case TYPEID_UNIT:
+ // in case triggered sequence some spell can continue casting after prev CleanupsBeforeDelete call
+ // make sure that like sources auras/etc removed before destructor start
+ obj->ToCreature()->CleanupsBeforeDelete();
+ RemoveFromMap(obj->ToCreature(), true);
+ break;
+ default:
+ TC_LOG_ERROR("maps", "Non-grid object (TypeId: %u) is in grid object remove list, ignored.", obj->GetTypeId());
+ break;
}
i_objectsToRemove.erase(itr);
@@ -3024,18 +3189,11 @@ MapDifficulty const* Map::GetMapDifficulty() const
uint32 InstanceMap::GetMaxPlayers() const
{
- if (MapDifficulty const* mapDiff = GetMapDifficulty())
- {
- if (mapDiff->maxPlayers || IsRegularDifficulty()) // Normal case (expect that regular difficulty always have correct maxplayers)
- return mapDiff->maxPlayers;
- else // DBC have 0 maxplayers for heroic instances with expansion < 2
- { // The heroic entry exists, so we don't have to check anything, simply return normal max players
- MapDifficulty const* normalDiff = GetMapDifficultyData(GetId(), REGULAR_DIFFICULTY);
- return normalDiff ? normalDiff->maxPlayers : 0;
- }
- }
- else // I'd rather ASSERT(false);
- return 0;
+ MapDifficulty const* mapDiff = GetMapDifficulty();
+ if (mapDiff && mapDiff->maxPlayers)
+ return mapDiff->maxPlayers;
+
+ return GetEntry()->maxPlayers;
}
uint32 InstanceMap::GetMaxResetDelay() const
@@ -3280,3 +3438,118 @@ time_t Map::GetLinkedRespawnTime(uint64 guid) const
return time_t(0);
}
+void Map::SendZoneDynamicInfo(Player* player)
+{
+ uint32 zoneId = GetZoneId(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
+ ZoneDynamicInfoMap::const_iterator itr = _zoneDynamicInfo.find(zoneId);
+ if (itr == _zoneDynamicInfo.end())
+ return;
+
+ if (uint32 music = itr->second.MusicId)
+ {
+ WorldPacket data(SMSG_PLAY_MUSIC, 4);
+ data << uint32(music);
+ data << uint64(player->GetGUID());
+ player->SendDirectMessage(&data);
+ }
+
+ if (uint32 weather = itr->second.WeatherId)
+ {
+ WorldPacket data(SMSG_WEATHER, 4 + 4 + 1);
+ data << uint32(weather);
+ data << float(itr->second.WeatherGrade);
+ data << uint8(0);
+ player->SendDirectMessage(&data);
+ }
+
+ if (uint32 overrideLight = itr->second.OverrideLightId)
+ {
+ WorldPacket data(SMSG_OVERRIDE_LIGHT, 4 + 4 + 1);
+ data << uint32(_defaultLight);
+ data << uint32(overrideLight);
+ data << uint32(itr->second.LightFadeInTime);
+ player->SendDirectMessage(&data);
+ }
+}
+
+void Map::SetZoneMusic(uint32 zoneId, uint32 musicId)
+{
+ if (_zoneDynamicInfo.find(zoneId) == _zoneDynamicInfo.end())
+ _zoneDynamicInfo.insert(ZoneDynamicInfoMap::value_type(zoneId, ZoneDynamicInfo()));
+
+ _zoneDynamicInfo[zoneId].MusicId = musicId;
+
+ Map::PlayerList const& players = GetPlayers();
+ if (!players.isEmpty())
+ {
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ if (Player* player = itr->GetSource())
+ if (player->GetZoneId() == zoneId)
+ {
+ WorldPacket data(SMSG_PLAY_MUSIC, 4);
+ data << uint32(musicId);
+ data << uint64(player->GetGUID());
+ player->SendDirectMessage(&data);
+ }
+ }
+}
+
+void Map::SetZoneWeather(uint32 zoneId, uint32 weatherId, float weatherGrade)
+{
+ if (_zoneDynamicInfo.find(zoneId) == _zoneDynamicInfo.end())
+ _zoneDynamicInfo.insert(ZoneDynamicInfoMap::value_type(zoneId, ZoneDynamicInfo()));
+
+ ZoneDynamicInfo& info = _zoneDynamicInfo[zoneId];
+ info.WeatherId = weatherId;
+ info.WeatherGrade = weatherGrade;
+ Map::PlayerList const& players = GetPlayers();
+
+ if (!players.isEmpty())
+ {
+ WorldPacket data(SMSG_WEATHER, 4 + 4 + 1);
+ data << uint32(weatherId);
+ data << float(weatherGrade);
+ data << uint8(0);
+
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ if (Player* player = itr->GetSource())
+ if (player->GetZoneId() == zoneId)
+ player->SendDirectMessage(&data);
+ }
+}
+
+void Map::SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime)
+{
+ if (_zoneDynamicInfo.find(zoneId) == _zoneDynamicInfo.end())
+ _zoneDynamicInfo.insert(ZoneDynamicInfoMap::value_type(zoneId, ZoneDynamicInfo()));
+
+ ZoneDynamicInfo& info = _zoneDynamicInfo[zoneId];
+ info.OverrideLightId = lightId;
+ info.LightFadeInTime = fadeInTime;
+ Map::PlayerList const& players = GetPlayers();
+
+ if (!players.isEmpty())
+ {
+ WorldPacket data(SMSG_OVERRIDE_LIGHT, 4 + 4 + 1);
+ data << uint32(_defaultLight);
+ data << uint32(lightId);
+ data << uint32(fadeInTime);
+
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ if (Player* player = itr->GetSource())
+ if (player->GetZoneId() == zoneId)
+ player->SendDirectMessage(&data);
+ }
+}
+
+void Map::UpdateAreaDependentAuras()
+{
+ Map::PlayerList const& players = GetPlayers();
+ for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ if (Player* player = itr->GetSource())
+ if (player->IsInWorld())
+ {
+ player->UpdateAreaDependentAuras(player->GetAreaId());
+ player->UpdateZoneDependentAuras(player->GetZoneId());
+ }
+}
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 01e8760f85f..c160d7a0f91 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -51,6 +51,7 @@ struct ScriptAction;
struct Position;
class Battleground;
class MapInstanced;
+class BattlegroundMap;
class InstanceMap;
class Transport;
namespace Trinity { struct ObjectUpdater; }
@@ -229,6 +230,18 @@ enum LevelRequirementVsMode
LEVELREQUIREMENT_HEROIC = 70
};
+struct ZoneDynamicInfo
+{
+ ZoneDynamicInfo() : MusicId(0), WeatherId(0), WeatherGrade(0.0f),
+ OverrideLightId(0), LightFadeInTime(0) { }
+
+ uint32 MusicId;
+ uint32 WeatherId;
+ float WeatherGrade;
+ uint32 OverrideLightId;
+ uint32 LightFadeInTime;
+};
+
#if defined(__GNUC__)
#pragma pack()
#else
@@ -243,6 +256,8 @@ enum LevelRequirementVsMode
typedef std::map<uint32/*leaderDBGUID*/, CreatureGroup*> CreatureGroupHolderType;
+typedef std::unordered_map<uint32 /*zoneId*/, ZoneDynamicInfo> ZoneDynamicInfoMap;
+
class Map : public GridRefManager<NGridType>
{
friend class MapReference;
@@ -280,6 +295,7 @@ class Map : public GridRefManager<NGridType>
void PlayerRelocation(Player*, float x, float y, float z, float orientation);
void CreatureRelocation(Creature* creature, float x, float y, float z, float ang, bool respawnRelocationOnFail = true);
void GameObjectRelocation(GameObject* go, float x, float y, float z, float orientation, bool respawnRelocationOnFail = true);
+ void DynamicObjectRelocation(DynamicObject* go, float x, float y, float z, float orientation);
template<class T, class CONTAINER> void Visit(const Cell& cell, TypeContainerVisitor<T, CONTAINER> &visitor);
@@ -353,6 +369,7 @@ class Map : public GridRefManager<NGridType>
void MoveAllCreaturesInMoveList();
void MoveAllGameObjectsInMoveList();
+ void MoveAllDynamicObjectsInMoveList();
void RemoveAllObjectsInRemoveList();
virtual void RemoveAllPlayers();
@@ -441,11 +458,15 @@ class Map : public GridRefManager<NGridType>
Transport* GetTransport(uint64 guid);
DynamicObject* GetDynamicObject(uint64 guid);
- MapInstanced* ToMapInstanced(){ if (Instanceable()) return reinterpret_cast<MapInstanced*>(this); else return NULL; }
- const MapInstanced* ToMapInstanced() const { if (Instanceable()) return (const MapInstanced*)((MapInstanced*)this); else return NULL; }
+ MapInstanced* ToMapInstanced() { if (Instanceable()) return reinterpret_cast<MapInstanced*>(this); return NULL; }
+ MapInstanced const* ToMapInstanced() const { if (Instanceable()) return reinterpret_cast<MapInstanced const*>(this); return NULL; }
+
+ InstanceMap* ToInstanceMap() { if (IsDungeon()) return reinterpret_cast<InstanceMap*>(this); else return NULL; }
+ InstanceMap const* ToInstanceMap() const { if (IsDungeon()) return reinterpret_cast<InstanceMap const*>(this); return NULL; }
+
+ BattlegroundMap* ToBattlegroundMap() { if (IsBattlegroundOrArena()) return reinterpret_cast<BattlegroundMap*>(this); else return NULL; }
+ BattlegroundMap const* ToBattlegroundMap() const { if (IsBattlegroundOrArena()) return reinterpret_cast<BattlegroundMap const*>(this); return NULL; }
- InstanceMap* ToInstanceMap(){ if (IsDungeon()) return reinterpret_cast<InstanceMap*>(this); else return NULL; }
- const InstanceMap* ToInstanceMap() const { if (IsDungeon()) return (const InstanceMap*)((InstanceMap*)this); else return NULL; }
float GetWaterOrGroundLevel(float x, float y, float z, float* ground = NULL, bool swim = false) const;
float GetHeight(uint32 phasemask, float x, float y, float z, bool vmap = true, float maxSearchDist = DEFAULT_HEIGHT_SEARCH) const;
bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask) const;
@@ -462,7 +483,7 @@ class Map : public GridRefManager<NGridType>
time_t GetLinkedRespawnTime(uint64 guid) const;
time_t GetCreatureRespawnTime(uint32 dbGuid) const
{
- UNORDERED_MAP<uint32 /*dbGUID*/, time_t>::const_iterator itr = _creatureRespawnTimes.find(dbGuid);
+ std::unordered_map<uint32 /*dbGUID*/, time_t>::const_iterator itr = _creatureRespawnTimes.find(dbGuid);
if (itr != _creatureRespawnTimes.end())
return itr->second;
@@ -471,7 +492,7 @@ class Map : public GridRefManager<NGridType>
time_t GetGORespawnTime(uint32 dbGuid) const
{
- UNORDERED_MAP<uint32 /*dbGUID*/, time_t>::const_iterator itr = _goRespawnTimes.find(dbGuid);
+ std::unordered_map<uint32 /*dbGUID*/, time_t>::const_iterator itr = _goRespawnTimes.find(dbGuid);
if (itr != _goRespawnTimes.end())
return itr->second;
@@ -489,6 +510,13 @@ class Map : public GridRefManager<NGridType>
void SendInitTransports(Player* player);
void SendRemoveTransports(Player* player);
+ void SendZoneDynamicInfo(Player* player);
+
+ void SetZoneMusic(uint32 zoneId, uint32 musicId);
+ void SetZoneWeather(uint32 zoneId, uint32 weatherId, float weatherGrade);
+ void SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime);
+
+ void UpdateAreaDependentAuras();
private:
void LoadMapAndVMap(int gx, int gy);
@@ -503,12 +531,15 @@ class Map : public GridRefManager<NGridType>
bool CreatureCellRelocation(Creature* creature, Cell new_cell);
bool GameObjectCellRelocation(GameObject* go, Cell new_cell);
+ bool DynamicObjectCellRelocation(DynamicObject* go, Cell new_cell);
template<class T> void InitializeObject(T* obj);
void AddCreatureToMoveList(Creature* c, float x, float y, float z, float ang);
void RemoveCreatureFromMoveList(Creature* c);
void AddGameObjectToMoveList(GameObject* go, float x, float y, float z, float ang);
void RemoveGameObjectFromMoveList(GameObject* go);
+ void AddDynamicObjectToMoveList(DynamicObject* go, float x, float y, float z, float ang);
+ void RemoveDynamicObjectFromMoveList(DynamicObject* go);
bool _creatureToMoveLock;
std::vector<Creature*> _creaturesToMove;
@@ -516,6 +547,9 @@ class Map : public GridRefManager<NGridType>
bool _gameObjectsToMoveLock;
std::vector<GameObject*> _gameObjectsToMove;
+ bool _dynamicObjectsToMoveLock;
+ std::vector<DynamicObject*> _dynamicObjectsToMove;
+
bool IsGridLoaded(const GridCoord &) const;
void EnsureGridCreated(const GridCoord &);
void EnsureGridCreated_i(const GridCoord &);
@@ -625,8 +659,11 @@ class Map : public GridRefManager<NGridType>
m_activeNonPlayers.erase(obj);
}
- UNORDERED_MAP<uint32 /*dbGUID*/, time_t> _creatureRespawnTimes;
- UNORDERED_MAP<uint32 /*dbGUID*/, time_t> _goRespawnTimes;
+ std::unordered_map<uint32 /*dbGUID*/, time_t> _creatureRespawnTimes;
+ std::unordered_map<uint32 /*dbGUID*/, time_t> _goRespawnTimes;
+
+ ZoneDynamicInfoMap _zoneDynamicInfo;
+ uint32 _defaultLight;
};
enum InstanceResetMethod
diff --git a/src/server/game/Maps/MapInstanced.h b/src/server/game/Maps/MapInstanced.h
index aa2b5f95d3f..30aec43cc21 100644
--- a/src/server/game/Maps/MapInstanced.h
+++ b/src/server/game/Maps/MapInstanced.h
@@ -27,7 +27,7 @@ class MapInstanced : public Map
{
friend class MapManager;
public:
- typedef UNORDERED_MAP< uint32, Map*> InstancedMaps;
+ typedef std::unordered_map< uint32, Map*> InstancedMaps;
MapInstanced(uint32 id, time_t expiry);
~MapInstanced() { }
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp
index 8ecb9979706..d03358c821c 100644
--- a/src/server/game/Maps/MapManager.cpp
+++ b/src/server/game/Maps/MapManager.cpp
@@ -122,7 +122,7 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
{
MapEntry const* entry = sMapStore.LookupEntry(mapid);
if (!entry)
- return false;
+ return false;
if (!entry->IsDungeon())
return true;
@@ -220,12 +220,12 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
// players are only allowed to enter 5 instances per hour
if (entry->IsDungeon() && (!player->GetGroup() || (player->GetGroup() && !player->GetGroup()->isLFGGroup())))
{
- uint32 instaceIdToCheck = 0;
+ uint32 instanceIdToCheck = 0;
if (InstanceSave* save = player->GetInstanceSave(mapid, entry->IsRaid()))
- instaceIdToCheck = save->GetInstanceId();
+ instanceIdToCheck = save->GetInstanceId();
// instanceId can never be 0 - will not be found
- if (!player->CheckInstanceCount(instaceIdToCheck) && !player->isDead())
+ if (!player->CheckInstanceCount(instanceIdToCheck) && !player->isDead())
{
player->SendTransferAborted(mapid, TRANSFER_ABORT_TOO_MANY_INSTANCES);
return false;
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h
index 98a5f8c7180..b7fb0617a46 100644
--- a/src/server/game/Maps/MapManager.h
+++ b/src/server/game/Maps/MapManager.h
@@ -126,7 +126,7 @@ class MapManager
MapUpdater * GetMapUpdater() { return &m_updater; }
private:
- typedef UNORDERED_MAP<uint32, Map*> MapMapType;
+ typedef std::unordered_map<uint32, Map*> MapMapType;
typedef std::vector<bool> InstanceIds;
MapManager();
diff --git a/src/server/game/Maps/PhaseMgr.h b/src/server/game/Maps/PhaseMgr.h
index 3d23a8584ec..a2f51722e26 100644
--- a/src/server/game/Maps/PhaseMgr.h
+++ b/src/server/game/Maps/PhaseMgr.h
@@ -59,7 +59,7 @@ struct PhaseDefinition
};
typedef std::list<PhaseDefinition> PhaseDefinitionContainer;
-typedef UNORDERED_MAP<uint32 /*zoneId*/, PhaseDefinitionContainer> PhaseDefinitionStore;
+typedef std::unordered_map<uint32 /*zoneId*/, PhaseDefinitionContainer> PhaseDefinitionStore;
struct SpellPhaseInfo
{
@@ -68,7 +68,7 @@ struct SpellPhaseInfo
uint32 terrainswapmap;
};
-typedef UNORDERED_MAP<uint32 /*spellId*/, SpellPhaseInfo> SpellPhaseStore;
+typedef std::unordered_map<uint32 /*spellId*/, SpellPhaseInfo> SpellPhaseStore;
struct PhaseInfo
{
@@ -82,7 +82,7 @@ struct PhaseInfo
bool NeedsClientSideUpdate() const { return terrainswapmap || phaseId; }
};
-typedef UNORDERED_MAP<uint32 /*spellId*/, PhaseInfo> PhaseInfoContainer;
+typedef std::unordered_map<uint32 /*spellId*/, PhaseInfo> PhaseInfoContainer;
struct PhaseData
{
diff --git a/src/server/game/Maps/TransportMgr.h b/src/server/game/Maps/TransportMgr.h
index a207522c4df..5da856b185c 100644
--- a/src/server/game/Maps/TransportMgr.h
+++ b/src/server/game/Maps/TransportMgr.h
@@ -31,10 +31,10 @@ class Map;
typedef Movement::Spline<double> TransportSpline;
typedef std::vector<KeyFrame> KeyFrameVec;
-typedef UNORDERED_MAP<uint32, TransportTemplate> TransportTemplates;
+typedef std::unordered_map<uint32, TransportTemplate> TransportTemplates;
typedef std::set<Transport*> TransportSet;
-typedef UNORDERED_MAP<uint32, TransportSet> TransportMap;
-typedef UNORDERED_MAP<uint32, std::set<uint32> > TransportInstanceMap;
+typedef std::unordered_map<uint32, TransportSet> TransportMap;
+typedef std::unordered_map<uint32, std::set<uint32> > TransportInstanceMap;
struct KeyFrame
{
diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h
index 2e4d831288a..cbb76ba4612 100644
--- a/src/server/game/Miscellaneous/Language.h
+++ b/src/server/game/Miscellaneous/Language.h
@@ -19,6 +19,13 @@
#ifndef __TRINITY_LANGUAGE_H
#define __TRINITY_LANGUAGE_H
+enum BroadcastTextIds
+{
+ BROADCAST_TEXT_ACHIEVEMENT_EARNED = 29245,
+ BROADCAST_TEXT_CALL_FOR_HELP = 2541,
+ BROADCAST_TEXT_FLEE_FOR_ASSIST = 1150
+};
+
enum TrinityStrings
{
// for chat commands
@@ -761,7 +768,7 @@ enum TrinityStrings
LANG_NEED_CHARACTER_NAME = 807,
LANG_PLAYER_NOT_EXIST_OR_OFFLINE = 808,
LANG_ACCOUNT_FOR_PLAYER_NOT_FOUND = 809,
- LANG_ACHIEVEMENT_EARNED = 810,
+ // unused = 810,
LANG_GUILD_MASTER = 811,
LANG_GUILD_OFFICER = 812,
LANG_GUILD_VETERAN = 813,
@@ -1082,12 +1089,12 @@ enum TrinityStrings
LANG_GOINFO_NAME = 5027,
LANG_GOINFO_LOOTID = 5028,
LANG_COMMAND_LOOKUP_MAX_RESULTS = 5029,
- LANG_FLEE = 5030,
+ // unused = 5030,
LANG_NPCINFO_AIINFO = 5031,
LANG_COMMAND_NO_BATTLEGROUND_FOUND = 5032,
LANG_COMMAND_NO_ACHIEVEMENT_CRITERIA_FOUND = 5033,
LANG_COMMAND_NO_OUTDOOR_PVP_FORUND = 5034,
- LANG_CALL_FOR_HELP = 5035,
+ // unused = 5035,
LANG_NPCINFO_EQUIPMENT = 5036,
LANG_NPCINFO_MECHANIC_IMMUNE = 5037,
LANG_NPCINFO_UNIT_FIELD_FLAGS = 5038,
@@ -1203,21 +1210,11 @@ enum TrinityStrings
LANG_BG_SA_START_TWO_MINUTES = 10056,
LANG_BG_SA_START_ONE_MINUTE = 10057,
LANG_BG_SA_START_HALF_MINUTE = 10058,
- LANG_BG_SA_HAS_BEGUN = 10059,
- LANG_BG_SA_IS_UNDER_ATTACK = 10060, //The %s is under attack!
- LANG_BG_SA_WAS_DESTROYED = 10061, //The %s was destroyed!
- LANG_BG_SA_ROUND_ONE_END = 10062, //Round 1 - finished!
+ // unused 10059-10062
LANG_BG_SA_ALLIANCE_CAPTURED_RELIC = 10063, //The Alliance captured the titan portal!
LANG_BG_SA_HORDE_CAPTURED_RELIC = 10064, //The Horde captured the titan portal!
LANG_BG_SA_ROUND_TWO_ONE_MINUTE = 10065, //Round 2 of the Battle for the Strand of the Ancients begins in 1 minute.
LANG_BG_SA_ROUND_TWO_START_HALF_MINUTE = 10066, //Round 2 begins in 30 seconds. Prepare yourselves!
- LANG_BG_SA_CHAMBER_BREACHED = 10067, //The chamber has been breached! The titan relic is vulnerable!
- LANG_BG_SA_A_GY_SOUTH = 10068, //The Alliance captured the South Graveyard!
- LANG_BG_SA_A_GY_WEST = 10069, //The Alliance captured the West Graveyard!
- LANG_BG_SA_A_GY_EAST = 10070, //The Alliance captured the East Graveyard!
- LANG_BG_SA_H_GY_SOUTH = 10071, //The Horde captured the South Graveyard!
- LANG_BG_SA_H_GY_WEST = 10072, //The Horde captured the West Graveyard!
- LANG_BG_SA_H_GY_EAST = 10073, //The Horde captured the East Graveyard!
// Use for custom patches 11000-11999
LANG_AUTO_BROADCAST = 11000,
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 75e190ed20d..cd57789ed60 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -3772,20 +3772,20 @@ enum BanReturn
// indexes of BattlemasterList.dbc
enum BattlegroundTypeId
{
- BATTLEGROUND_TYPE_NONE = 0, // None
- BATTLEGROUND_AV = 1, // Alterac Valley
- BATTLEGROUND_WS = 2, // Warsong Gulch
- BATTLEGROUND_AB = 3, // Arathi Basin
- BATTLEGROUND_NA = 4, // Nagrand Arena
- BATTLEGROUND_BE = 5, // Blade's Edge Arena
- BATTLEGROUND_AA = 6, // All Arenas
- BATTLEGROUND_EY = 7, // Eye of the Storm
- BATTLEGROUND_RL = 8, // Ruins of Lordaernon
- BATTLEGROUND_SA = 9, // Strand of the Ancients
- BATTLEGROUND_DS = 10, // Dalaran Sewers
- BATTLEGROUND_RV = 11, // Ring of Valor
- BATTLEGROUND_IC = 30, // Isle of Conquest
- BATTLEGROUND_RB = 32, // Random Battleground
+ BATTLEGROUND_TYPE_NONE = 0, // None
+ BATTLEGROUND_AV = 1, // Alterac Valley
+ BATTLEGROUND_WS = 2, // Warsong Gulch
+ BATTLEGROUND_AB = 3, // Arathi Basin
+ BATTLEGROUND_NA = 4, // Nagrand Arena
+ BATTLEGROUND_BE = 5, // Blade's Edge Arena
+ BATTLEGROUND_AA = 6, // All Arenas
+ BATTLEGROUND_EY = 7, // Eye of the Storm
+ BATTLEGROUND_RL = 8, // Ruins of Lordaernon
+ BATTLEGROUND_SA = 9, // Strand of the Ancients
+ BATTLEGROUND_DS = 10, // Dalaran Sewers
+ BATTLEGROUND_RV = 11, // Ring of Valor
+ BATTLEGROUND_IC = 30, // Isle of Conquest
+ BATTLEGROUND_RB = 32, // Random Battleground
BATTLEGROUND_RATED_10_VS_10 = 100, // Rated BG 10 vs 10
BATTLEGROUND_RATED_15_VS_15 = 101, // Rated BG 15 vs 15
BATTLEGROUND_RATED_25_VS_25 = 102, // Rated BG 25 vs 25
@@ -4068,7 +4068,7 @@ enum PartyResult
};
const uint32 MMAP_MAGIC = 0x4d4d4150; // 'MMAP'
-#define MMAP_VERSION 4
+#define MMAP_VERSION 5
struct MmapTileHeader
{
diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
index 61f3a04bc5d..2ab408965c1 100755
--- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
@@ -118,7 +118,7 @@ void ConfusedMovementGenerator<Creature>::DoFinalize(Creature* unit)
unit->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
unit->ClearUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_CONFUSED_MOVE);
if (unit->GetVictim())
- unit->SetTarget(unit->GetVictim()->GetGUID());
+ unit->SetTarget(unit->EnsureVictim()->GetGUID());
}
template void ConfusedMovementGenerator<Player>::DoInitialize(Player*);
diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
index 572d65b07c7..95320865d0b 100644
--- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
@@ -45,8 +45,7 @@ void FleeingMovementGenerator<T>::_setTargetLocation(T* owner)
_getPoint(owner, x, y, z);
// Add LOS check for target point
- Position mypos;
- owner->GetPosition(&mypos);
+ Position mypos = owner->GetPosition();
bool isInLOS = VMAP::VMapFactory::createOrGetVMapManager()->isInLineOfSight(owner->GetMapId(),
mypos.m_positionX,
mypos.m_positionY,
@@ -109,8 +108,7 @@ void FleeingMovementGenerator<T>::_getPoint(T* owner, float &x, float &y, float
angle = frand(0, 2*static_cast<float>(M_PI));
}
- Position pos;
- owner->GetFirstCollisionPosition(pos, dist, angle);
+ Position pos = owner->GetFirstCollisionPosition(dist, angle);
x = pos.m_positionX;
y = pos.m_positionY;
z = pos.m_positionZ;
@@ -141,7 +139,7 @@ void FleeingMovementGenerator<Creature>::DoFinalize(Creature* owner)
owner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING);
owner->ClearUnitState(UNIT_STATE_FLEEING|UNIT_STATE_FLEEING_MOVE);
if (owner->GetVictim())
- owner->SetTarget(owner->GetVictim()->GetGUID());
+ owner->SetTarget(owner->EnsureVictim()->GetGUID());
}
template<class T>
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
index f1656592000..c59762066ae 100755
--- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
@@ -25,6 +25,7 @@
#include "MoveSplineInit.h"
#include "MoveSpline.h"
#include "Player.h"
+#include "VehicleDefines.h"
template<class T, typename D>
void TargetedMovementGeneratorMedium<T, D>::_setTargetLocation(T* owner, bool updateDestination)
@@ -154,11 +155,19 @@ bool TargetedMovementGeneratorMedium<T, D>::DoUpdate(T* owner, uint32 time_diff)
//More distance let have better performance, less distance let have more sensitive reaction at target move.
float allowed_dist = owner->GetCombatReach() + sWorld->getRate(RATE_TARGET_POS_RECALCULATION_RANGE);
G3D::Vector3 dest = owner->movespline->FinalDestination();
+ if (owner->movespline->onTransport)
+ if (TransportBase* transport = owner->GetDirectTransport())
+ transport->CalculatePassengerPosition(dest.x, dest.y, dest.z);
+ // First check distance
if (owner->GetTypeId() == TYPEID_UNIT && owner->ToCreature()->CanFly())
targetMoved = !i_target->IsWithinDist3d(dest.x, dest.y, dest.z, allowed_dist);
else
targetMoved = !i_target->IsWithinDist2d(dest.x, dest.y, allowed_dist);
+
+ // then, if the target is in range, check also Line of Sight.
+ if (!targetMoved)
+ targetMoved = !i_target->IsWithinLOSInMap(owner);
}
if (i_recalculateTravel || targetMoved)
diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp
index d8a300a2bab..4de47036b59 100644
--- a/src/server/game/Movement/PathGenerator.cpp
+++ b/src/server/game/Movement/PathGenerator.cpp
@@ -30,7 +30,7 @@
////////////////// PathGenerator //////////////////
PathGenerator::PathGenerator(const Unit* owner) :
_polyLength(0), _type(PATHFIND_BLANK), _useStraightPath(false),
- _forceDestination(false), _pointPathLimit(MAX_POINT_PATH_LENGTH),
+ _forceDestination(false), _pointPathLimit(MAX_POINT_PATH_LENGTH), _straightLine(false),
_endPosition(G3D::Vector3::zero()), _sourceUnit(owner), _navMesh(NULL),
_navMeshQuery(NULL)
{
@@ -54,7 +54,7 @@ PathGenerator::~PathGenerator()
TC_LOG_DEBUG("maps", "++ PathGenerator::~PathGenerator() for %u \n", _sourceUnit->GetGUIDLow());
}
-bool PathGenerator::CalculatePath(float destX, float destY, float destZ, bool forceDest)
+bool PathGenerator::CalculatePath(float destX, float destY, float destZ, bool forceDest, bool straightLine)
{
float x, y, z;
_sourceUnit->GetPosition(x, y, z);
@@ -69,6 +69,7 @@ bool PathGenerator::CalculatePath(float destX, float destY, float destZ, bool fo
SetStartPosition(start);
_forceDestination = forceDest;
+ _straightLine = straightLine;
TC_LOG_DEBUG("maps", "++ PathGenerator::CalculatePath() for %u \n", _sourceUnit->GetGUIDLow());
@@ -100,7 +101,7 @@ dtPolyRef PathGenerator::GetPathPolyByPosition(dtPolyRef const* polyPath, uint32
for (uint32 i = 0; i < polyPathSize; ++i)
{
float closestPoint[VERTEX_SIZE];
- if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(polyPath[i], point, closestPoint)))
+ if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(polyPath[i], point, closestPoint, NULL)))
continue;
float d = dtVdist2DSqr(point, closestPoint);
@@ -231,7 +232,7 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
{
float closestPoint[VERTEX_SIZE];
// we may want to use closestPointOnPolyBoundary instead
- if (dtStatusSucceed(_navMeshQuery->closestPointOnPoly(endPoly, endPoint, closestPoint)))
+ if (dtStatusSucceed(_navMeshQuery->closestPointOnPoly(endPoly, endPoint, closestPoint, NULL)))
{
dtVcopy(endPoint, closestPoint);
SetActualEndPosition(G3D::Vector3(endPoint[2], endPoint[0], endPoint[1]));
@@ -270,8 +271,16 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
{
for (; pathStartIndex < _polyLength; ++pathStartIndex)
{
- // here to carch few bugs
- ASSERT(_pathPolyRefs[pathStartIndex] != INVALID_POLYREF);
+ // here to catch few bugs
+ if (_pathPolyRefs[pathStartIndex] == INVALID_POLYREF)
+ {
+ TC_LOG_ERROR("maps", "Invalid poly ref in BuildPolyPath. _polyLength: %u, pathStartIndex: %u,"
+ " startPos: %s, endPos: %s, mapid: %u",
+ _polyLength, pathStartIndex, startPos.toString().c_str(), endPos.toString().c_str(),
+ _sourceUnit->GetMapId());
+
+ break;
+ }
if (_pathPolyRefs[pathStartIndex] == startPoly)
{
@@ -322,13 +331,13 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
// we need any point on our suffix start poly to generate poly-path, so we need last poly in prefix data
float suffixEndPoint[VERTEX_SIZE];
- if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(suffixStartPoly, endPoint, suffixEndPoint)))
+ if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(suffixStartPoly, endPoint, suffixEndPoint, NULL)))
{
// we can hit offmesh connection as last poly - closestPointOnPoly() don't like that
// try to recover by using prev polyref
--prefixPolyLength;
suffixStartPoly = _pathPolyRefs[prefixPolyLength-1];
- if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(suffixStartPoly, endPoint, suffixEndPoint)))
+ if (dtStatusFailed(_navMeshQuery->closestPointOnPoly(suffixStartPoly, endPoint, suffixEndPoint, NULL)))
{
// suffixStartPoly is still invalid, error state
BuildShortcut();
@@ -339,15 +348,45 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
// generate suffix
uint32 suffixPolyLength = 0;
- dtStatus dtResult = _navMeshQuery->findPath(
- suffixStartPoly, // start polygon
- endPoly, // end polygon
- suffixEndPoint, // start position
- endPoint, // end position
- &_filter, // polygon search filter
- _pathPolyRefs + prefixPolyLength - 1, // [out] path
- (int*)&suffixPolyLength,
- MAX_PATH_LENGTH-prefixPolyLength); // max number of polygons in output path
+
+ dtStatus dtResult;
+ if (_straightLine)
+ {
+ float hit = 0;
+ float hitNormal[3];
+ memset(hitNormal, 0, sizeof(hitNormal));
+
+ dtResult = _navMeshQuery->raycast(
+ suffixStartPoly,
+ suffixEndPoint,
+ endPoint,
+ &_filter,
+ &hit,
+ hitNormal,
+ _pathPolyRefs + prefixPolyLength - 1,
+ (int*)&suffixPolyLength,
+ MAX_PATH_LENGTH - prefixPolyLength);
+
+ // raycast() sets hit to FLT_MAX if there is a ray between start and end
+ if (hit != FLT_MAX)
+ {
+ // the ray hit something, return no path instead of the incomplete one
+ _type = PATHFIND_NOPATH;
+ return;
+ }
+ }
+ else
+ {
+ dtResult = _navMeshQuery->findPath(
+ suffixStartPoly, // start polygon
+ endPoly, // end polygon
+ suffixEndPoint, // start position
+ endPoint, // end position
+ &_filter, // polygon search filter
+ _pathPolyRefs + prefixPolyLength - 1, // [out] path
+ (int*)&suffixPolyLength,
+ MAX_PATH_LENGTH - prefixPolyLength); // max number of polygons in output path
+ }
if (!suffixPolyLength || dtStatusFailed(dtResult))
{
@@ -373,15 +412,44 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
// free and invalidate old path data
Clear();
- dtStatus dtResult = _navMeshQuery->findPath(
- startPoly, // start polygon
- endPoly, // end polygon
- startPoint, // start position
- endPoint, // end position
- &_filter, // polygon search filter
- _pathPolyRefs, // [out] path
- (int*)&_polyLength,
- MAX_PATH_LENGTH); // max number of polygons in output path
+ dtStatus dtResult;
+ if (_straightLine)
+ {
+ float hit = 0;
+ float hitNormal[3];
+ memset(hitNormal, 0, sizeof(hitNormal));
+
+ dtResult = _navMeshQuery->raycast(
+ startPoly,
+ startPoint,
+ endPoint,
+ &_filter,
+ &hit,
+ hitNormal,
+ _pathPolyRefs,
+ (int*)&_polyLength,
+ MAX_PATH_LENGTH);
+
+ // raycast() sets hit to FLT_MAX if there is a ray between start and end
+ if (hit != FLT_MAX)
+ {
+ // the ray hit something, return no path instead of the incomplete one
+ _type = PATHFIND_NOPATH;
+ return;
+ }
+ }
+ else
+ {
+ dtResult = _navMeshQuery->findPath(
+ startPoly, // start polygon
+ endPoly, // end polygon
+ startPoint, // start position
+ endPoint, // end position
+ &_filter, // polygon search filter
+ _pathPolyRefs, // [out] path
+ (int*)&_polyLength,
+ MAX_PATH_LENGTH); // max number of polygons in output path
+ }
if (!_polyLength || dtStatusFailed(dtResult))
{
@@ -408,7 +476,15 @@ void PathGenerator::BuildPointPath(const float *startPoint, const float *endPoin
float pathPoints[MAX_POINT_PATH_LENGTH*VERTEX_SIZE];
uint32 pointCount = 0;
dtStatus dtResult = DT_FAILURE;
- if (_useStraightPath)
+ if (_straightLine)
+ {
+ // if the path is a straight line then start and end position are enough
+ dtResult = DT_SUCCESS;
+ pointCount = 2;
+ memcpy(&pathPoints[0], startPoint, sizeof(float)* 3);
+ memcpy(&pathPoints[3], endPoint, sizeof(float)* 3);
+ }
+ else if (_useStraightPath)
{
dtResult = _navMeshQuery->findStraightPath(
startPoint, // start position
diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h
index ac66b7cec57..6e0d72ec8da 100644
--- a/src/server/game/Movement/PathGenerator.h
+++ b/src/server/game/Movement/PathGenerator.h
@@ -57,7 +57,7 @@ class PathGenerator
// Calculate the path from owner to given destination
// return: true if new path was calculated, false otherwise (no change needed)
- bool CalculatePath(float destX, float destY, float destZ, bool forceDest = false);
+ bool CalculatePath(float destX, float destY, float destZ, bool forceDest = false, bool straightLine = false);
// option setters - use optional
void SetUseStraightPath(bool useStraightPath) { _useStraightPath = useStraightPath; }
@@ -83,6 +83,7 @@ class PathGenerator
bool _useStraightPath; // type of path will be generated
bool _forceDestination; // when set, we will always arrive at given point
uint32 _pointPathLimit; // limit point path size; min(this, MAX_POINT_PATH_LENGTH)
+ bool _straightLine; // use raycast if true for a straight line path
G3D::Vector3 _startPosition; // {x, y, z} of current location
G3D::Vector3 _endPosition; // {x, y, z} of the destination
diff --git a/src/server/game/Movement/Spline/MovementTypedefs.h b/src/server/game/Movement/Spline/MovementTypedefs.h
index 1a0f3d54d27..57958f604d2 100644
--- a/src/server/game/Movement/Spline/MovementTypedefs.h
+++ b/src/server/game/Movement/Spline/MovementTypedefs.h
@@ -47,12 +47,6 @@ namespace Movement
float computeFallTime(float path_length, bool isSafeFall);
float computeFallElevation(float t_passed, bool isSafeFall, float start_velocity = 0.0f);
-#ifndef static_assert
- #define CONCAT(x, y) CONCAT1 (x, y)
- #define CONCAT1(x, y) x##y
- #define static_assert(expr, msg) typedef char CONCAT(static_assert_failed_at_line_, __LINE__) [(expr) ? 1 : -1]
-#endif
-
template<class T, T limit>
class counter
{
diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h
index 1444b2872d1..6e8a5a0281d 100644
--- a/src/server/game/Movement/Spline/Spline.h
+++ b/src/server/game/Movement/Spline/Spline.h
@@ -56,7 +56,7 @@ protected:
// client's value is 20, blizzs use 2-3 steps to compute length
STEPS_PER_SEGMENT = 3
};
- static_assert(STEPS_PER_SEGMENT > 0, "shouldn't be lesser than 1");
+ static_assert(STEPS_PER_SEGMENT > 0, "STEPS_PER_SEGMENT shouldn't be lesser than 1");
protected:
void EvaluateLinear(index_type, float, Vector3&) const;
diff --git a/src/server/game/Movement/Waypoints/WaypointManager.h b/src/server/game/Movement/Waypoints/WaypointManager.h
index fe7ca5ec931..bafc6322e71 100644
--- a/src/server/game/Movement/Waypoints/WaypointManager.h
+++ b/src/server/game/Movement/Waypoints/WaypointManager.h
@@ -34,7 +34,7 @@ struct WaypointData
};
typedef std::vector<WaypointData*> WaypointPath;
-typedef UNORDERED_MAP<uint32, WaypointPath> WaypointPathContainer;
+typedef std::unordered_map<uint32, WaypointPath> WaypointPathContainer;
class WaypointMgr
{
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
index 01ee5238789..cacec14d5e6 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
@@ -103,9 +103,9 @@ bool OPvPCapturePoint::AddObject(uint32 type, uint32 entry, uint32 map, float x,
return false;
}
-bool OPvPCapturePoint::AddCreature(uint32 type, uint32 entry, uint32 team, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay)
+bool OPvPCapturePoint::AddCreature(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, TeamId /*teamId = TEAM_NEUTRAL*/, uint32 spawntimedelay /*= 0*/)
{
- if (uint32 guid = sObjectMgr->AddCreData(entry, team, map, x, y, z, o, spawntimedelay))
+ if (uint32 guid = sObjectMgr->AddCreData(entry, map, x, y, z, o, spawntimedelay))
{
AddCre(type, guid, entry);
return true;
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.h b/src/server/game/OutdoorPvP/OutdoorPvP.h
index c2248c72fd0..577d70021a6 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.h
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.h
@@ -67,7 +67,6 @@ struct go_type
struct creature_type
{
uint32 entry;
- uint32 teamval;
uint32 map;
float x;
float y;
@@ -144,7 +143,7 @@ class OPvPCapturePoint
bool AddObject(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o,
float rotation0, float rotation1, float rotation2, float rotation3);
- bool AddCreature(uint32 type, uint32 entry, uint32 teamval, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
+ virtual bool AddCreature(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL, uint32 spawntimedelay = 0);
bool DelCreature(uint32 type);
bool DelObject(uint32 type);
@@ -248,6 +247,19 @@ class OutdoorPvP : public ZoneScript
void TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2 = 0);
+ static TeamId GetTeamIdByTeam(uint32 team)
+ {
+ switch (team)
+ {
+ case ALLIANCE:
+ return TEAM_ALLIANCE;
+ case HORDE:
+ return TEAM_HORDE;
+ default:
+ return TEAM_NEUTRAL;
+ }
+ }
+
protected:
// the map of the objectives belonging to this outdoorpvp
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp
index 0f54e0af6c1..9a17175b1a8 100644
--- a/src/server/game/Quests/QuestDef.cpp
+++ b/src/server/game/Quests/QuestDef.cpp
@@ -162,7 +162,7 @@ Quest::Quest(Field* questRecord)
for (int i = 0; i < QUEST_EMOTE_COUNT; ++i)
OfferRewardEmoteDelay[i] = questRecord[164+i].GetInt32();
- // int32 WDBVerified = questRecord[168].GetInt32();
+ //int32 VerifiedBuild = questRecord[168].GetInt32();
if (SpecialFlags & QUEST_SPECIAL_FLAGS_AUTO_ACCEPT)
Flags |= QUEST_FLAGS_AUTO_ACCEPT;
diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp
index e4d2922cb6c..a744915a25a 100644
--- a/src/server/game/Scripting/ScriptLoader.cpp
+++ b/src/server/game/Scripting/ScriptLoader.cpp
@@ -525,6 +525,7 @@ void AddSC_boss_falric();
void AddSC_boss_marwyn();
void AddSC_boss_lord_marrowgar(); // Icecrown Citadel
void AddSC_boss_lady_deathwhisper();
+void AddSC_boss_icecrown_gunship_battle();
void AddSC_boss_deathbringer_saurfang();
void AddSC_boss_festergut();
void AddSC_boss_rotface();
@@ -1373,6 +1374,7 @@ void AddNorthrendScripts()
AddSC_boss_marwyn();
AddSC_boss_lord_marrowgar(); // Icecrown Citadel
AddSC_boss_lady_deathwhisper();
+ AddSC_boss_icecrown_gunship_battle();
AddSC_boss_deathbringer_saurfang();
AddSC_boss_festergut();
AddSC_boss_rotface();
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index f035810eca3..d99975e72d8 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -691,6 +691,15 @@ bool ScriptMgr::OnItemExpire(Player* player, ItemTemplate const* proto)
return tmpscript->OnExpire(player, proto);
}
+bool ScriptMgr::OnItemRemove(Player* player, Item* item)
+{
+ ASSERT(player);
+ ASSERT(item);
+
+ GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, false);
+ return tmpscript->OnRemove(player, item);
+}
+
bool ScriptMgr::OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, Creature* target)
{
ASSERT(caster);
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index ada1953c305..a8c7b899916 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -182,6 +182,8 @@ template<class TObject> class UpdatableScript
{
}
+ virtual ~UpdatableScript() { }
+
public:
virtual void OnUpdate(TObject* /*obj*/, uint32 /*diff*/) { }
@@ -195,7 +197,7 @@ class SpellScriptLoader : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Should return a fully valid SpellScript pointer.
virtual SpellScript* GetSpellScript() const { return NULL; }
@@ -353,7 +355,7 @@ class InstanceMapScript : public ScriptObject, public MapScript<InstanceMap>
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Gets an InstanceScript object for this instance.
virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return NULL; }
@@ -374,7 +376,7 @@ class ItemScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when a dummy spell effect is triggered on the item.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Item* /*target*/) { return false; }
@@ -387,6 +389,9 @@ class ItemScript : public ScriptObject
// Called when the item expires (is destroyed).
virtual bool OnExpire(Player* /*player*/, ItemTemplate const* /*proto*/) { return false; }
+
+ // Called when the item is destroyed.
+ virtual bool OnRemove(Player* /*player*/, Item* /*item*/) { return false; }
};
class UnitScript : public ScriptObject
@@ -420,7 +425,7 @@ class CreatureScript : public UnitScript, public UpdatableScript<Creature>
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when a dummy spell effect is triggered on the creature.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Creature* /*target*/) { return false; }
@@ -461,7 +466,7 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when a dummy spell effect is triggered on the gameobject.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, GameObject* /*target*/) { return false; }
@@ -508,7 +513,7 @@ class AreaTriggerScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when the area trigger is activated by a player.
virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) { return false; }
@@ -522,7 +527,7 @@ class BattlegroundScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Should return a fully valid Battleground object for the type ID.
virtual Battleground* GetBattleground() const = 0;
@@ -536,7 +541,7 @@ class OutdoorPvPScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Should return a fully valid OutdoorPvP object for the type ID.
virtual OutdoorPvP* GetOutdoorPvP() const = 0;
@@ -562,7 +567,7 @@ class WeatherScript : public ScriptObject, public UpdatableScript<Weather>
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when the weather changes in the zone this script is associated with.
virtual void OnChange(Weather* /*weather*/, WeatherState /*state*/, float /*grade*/) { }
@@ -597,7 +602,7 @@ class ConditionScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when a single condition is checked for a player.
virtual bool OnConditionCheck(Condition* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
@@ -645,7 +650,7 @@ class TransportScript : public ScriptObject, public UpdatableScript<Transport>
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when a player boards the transport.
virtual void OnAddPassenger(Transport* /*transport*/, Player* /*player*/) { }
@@ -668,7 +673,7 @@ class AchievementCriteriaScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return true; }
+ bool IsDatabaseBound() const final { return true; }
// Called when an additional criteria is checked.
virtual bool OnCheck(Player* source, Unit* target) = 0;
@@ -770,7 +775,7 @@ class GuildScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return false; }
+ bool IsDatabaseBound() const final { return false; }
// Called when a member is added to the guild.
virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8& /*plRank*/) { }
@@ -813,7 +818,7 @@ class GroupScript : public ScriptObject
public:
- bool IsDatabaseBound() const FINAL { return false; }
+ bool IsDatabaseBound() const final { return false; }
// Called when a member is added to a group.
virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { }
@@ -917,6 +922,7 @@ class ScriptMgr
bool OnQuestAccept(Player* player, Item* item, Quest const* quest);
bool OnItemUse(Player* player, Item* item, SpellCastTargets const& targets);
bool OnItemExpire(Player* player, ItemTemplate const* proto);
+ bool OnItemRemove(Player* player, Item* item);
public: /* CreatureScript */
diff --git a/src/server/game/Scripting/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h
index af2e50bae36..11120f3031b 100644
--- a/src/server/game/Scripting/ScriptSystem.h
+++ b/src/server/game/Scripting/ScriptSystem.h
@@ -53,7 +53,7 @@ class SystemMgr
~SystemMgr() { }
public:
- typedef UNORDERED_MAP<uint32, ScriptPointVector> PointMoveMap;
+ typedef std::unordered_map<uint32, ScriptPointVector> PointMoveMap;
//Database
void LoadScriptWaypoints();
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 336e28ea0fe..2453104c80e 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -145,6 +145,10 @@ public:
protected:
WorldSession* const m_pSession;
+
+private:
+ PacketFilter(PacketFilter const& right) = delete;
+ PacketFilter& operator=(PacketFilter const& right) = delete;
};
//process only thread-safe packets in Map::Update()
class MapSessionFilter : public PacketFilter
@@ -365,7 +369,6 @@ class WorldSession
uint32 GetLatency() const { return m_latency; }
void SetLatency(uint32 latency) { m_latency = latency; }
void ResetClientTimeDelay() { m_clientTimeDelay = 0; }
- uint32 getDialogStatus(Player* player, Object* questgiver);
ACE_Atomic_Op<ACE_Thread_Mutex, time_t> m_timeOutTime;
void UpdateTimeOutTime(uint32 diff)
@@ -1004,9 +1007,12 @@ class WorldSession
WorldSession* Session;
private:
- typedef UNORDERED_MAP<uint16, bool> OpcodeStatusMap;
+ typedef std::unordered_map<uint16, bool> OpcodeStatusMap;
OpcodeStatusMap _isOpcodeAllowed; // could be bool array, but wouldn't be practical for game versions with non-linear opcodes
Policy _policy;
+
+ DosProtection(DosProtection const& right) = delete;
+ DosProtection& operator=(DosProtection const& right) = delete;
} AntiDOS;
private:
@@ -1063,6 +1069,9 @@ class WorldSession
time_t timeLastWhoCommand;
z_stream_s* _compressionStream;
rbac::RBACData* _RBACData;
+
+ WorldSession(WorldSession const& right) = delete;
+ WorldSession& operator=(WorldSession const& right) = delete;
};
#endif
/// @}
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 161fd61796f..737a2f8cbf1 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -835,8 +835,12 @@ int WorldSocket::HandleAuthSession(WorldPacket& recvPacket)
recvPacket >> digest[13];
recvPacket >> addonSize;
- addonsData.resize(addonSize);
- recvPacket.read((uint8*)addonsData.contents(), addonSize);
+
+ if (addonSize)
+ {
+ addonsData.resize(addonSize);
+ recvPacket.read((uint8*)addonsData.contents(), addonSize);
+ }
recvPacket.ReadBit();
uint32 accountNameLength = recvPacket.ReadBits(12);
diff --git a/src/server/game/Server/WorldSocket.h b/src/server/game/Server/WorldSocket.h
index 830029c4a88..4ccacd05c7e 100644
--- a/src/server/game/Server/WorldSocket.h
+++ b/src/server/game/Server/WorldSocket.h
@@ -209,6 +209,8 @@ class WorldSocket : public WorldHandler
uint32 m_Seed;
+ WorldSocket(WorldSocket const& right) = delete;
+ WorldSocket& operator=(WorldSocket const& right) = delete;
};
#endif /* _WORLDSOCKET_H */
diff --git a/src/server/game/Skills/SkillDiscovery.cpp b/src/server/game/Skills/SkillDiscovery.cpp
index 5e272edb531..e8a89039031 100644
--- a/src/server/game/Skills/SkillDiscovery.cpp
+++ b/src/server/game/Skills/SkillDiscovery.cpp
@@ -40,7 +40,7 @@ struct SkillDiscoveryEntry
};
typedef std::list<SkillDiscoveryEntry> SkillDiscoveryList;
-typedef UNORDERED_MAP<int32, SkillDiscoveryList> SkillDiscoveryMap;
+typedef std::unordered_map<int32, SkillDiscoveryList> SkillDiscoveryMap;
static SkillDiscoveryMap SkillDiscoveryStore;
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index abd4a5c1d1e..a4210d2dad5 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -1868,6 +1868,7 @@ void AuraEffect::HandleAuraModShapeshift(AuraApplication const* aurApp, uint8 mo
if (target->GetTypeId() == TYPEID_PLAYER)
{
SpellShapeshiftFormEntry const* shapeInfo = sSpellShapeshiftFormStore.LookupEntry(form);
+ ASSERT(shapeInfo);
// Learn spells for shapeshift form - no need to send action bars or add spells to spellbook
for (uint8 i = 0; i < MAX_SHAPESHIFT_SPELLS; ++i)
{
@@ -4748,7 +4749,7 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
uint32 spellId = 24659;
if (apply && caster)
{
- SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellId);
+ SpellInfo const* spell = sSpellMgr->EnsureSpellInfo(spellId);
for (uint32 i = 0; i < spell->StackAmount; ++i)
caster->CastSpell(target, spell->Id, true, NULL, NULL, GetCasterGUID());
@@ -4763,7 +4764,7 @@ void AuraEffect::HandleAuraDummy(AuraApplication const* aurApp, uint8 mode, bool
uint32 spellId = 24662;
if (apply && caster)
{
- SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellId);
+ SpellInfo const* spell = sSpellMgr->EnsureSpellInfo(spellId);
for (uint32 i = 0; i < spell->StackAmount; ++i)
caster->CastSpell(target, spell->Id, true, NULL, NULL, GetCasterGUID());
break;
@@ -5337,12 +5338,12 @@ void AuraEffect::HandlePeriodicDummyAuraTick(Unit* target, Unit* caster) const
{
// Feeding Frenzy Rank 1
case 53511:
- if (target->GetVictim() && target->GetVictim()->HealthBelowPct(35))
+ if (target->GetVictim() && target->EnsureVictim()->HealthBelowPct(35))
target->CastSpell(target, 60096, true, 0, this);
return;
// Feeding Frenzy Rank 2
case 53512:
- if (target->GetVictim() && target->GetVictim()->HealthBelowPct(35))
+ if (target->GetVictim() && target->EnsureVictim()->HealthBelowPct(35))
target->CastSpell(target, 60097, true, 0, this);
return;
default:
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 44b2be40fec..05b4ebfc258 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -1305,17 +1305,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
if (target->HasAura(61988) && !target->HasAura(25771))
target->RemoveAura(61988);
break;
- case 72368: // Shared Suffering
- case 72369:
- if (caster)
- {
- if (AuraEffect* aurEff = GetEffect(0))
- {
- int32 remainingDamage = aurEff->GetAmount() * (aurEff->GetTotalTicks() - aurEff->GetTickNumber());
- if (remainingDamage > 0)
- caster->CastCustomSpell(caster, 72373, NULL, &remainingDamage, NULL, true);
- }
- }
+ default:
break;
}
break;
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index edf9271df1a..6ec5e5d5f8f 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -573,6 +573,7 @@ m_caster((info->AttributesEx6 & SPELL_ATTR6_CAST_BY_CHARMER && caster->GetCharme
m_CastItem = NULL;
m_castItemGUID = 0;
+ m_castItemEntry = 0;
unitTarget = NULL;
itemTarget = NULL;
@@ -958,7 +959,7 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa
case TARGET_UNIT_CHANNEL_TARGET:
{
WorldObject* target = ObjectAccessor::GetUnit(*m_caster, m_originalCaster->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT));
- CallScriptObjectTargetSelectHandlers(target, effIndex);
+ CallScriptObjectTargetSelectHandlers(target, effIndex, targetType);
// unit target may be no longer avalible - teleported out of map for example
if (target && target->ToUnit())
AddUnitTarget(target->ToUnit(), 1 << effIndex);
@@ -971,7 +972,7 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa
m_targets.SetDst(channeledSpell->m_targets);
else if (WorldObject* target = ObjectAccessor::GetWorldObject(*m_caster, m_originalCaster->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT)))
{
- CallScriptObjectTargetSelectHandlers(target, effIndex);
+ CallScriptObjectTargetSelectHandlers(target, effIndex, targetType);
if (target)
m_targets.SetDst(*target);
}
@@ -1052,17 +1053,34 @@ void Spell::SelectImplicitNearbyTargets(SpellEffIndex effIndex, SpellImplicitTar
return;
}
- CallScriptObjectTargetSelectHandlers(target, effIndex);
+ CallScriptObjectTargetSelectHandlers(target, effIndex, targetType);
+ if (!target)
+ {
+ TC_LOG_DEBUG("spells", "Spell::SelectImplicitNearbyTargets: OnObjectTargetSelect script hook for spell Id %u set NULL target, effect %u", m_spellInfo->Id, effIndex);
+ return;
+ }
switch (targetType.GetObjectType())
{
case TARGET_OBJECT_TYPE_UNIT:
+ {
if (Unit* unitTarget = target->ToUnit())
AddUnitTarget(unitTarget, effMask, true, false);
+ else
+ {
+ TC_LOG_DEBUG("spells", "Spell::SelectImplicitNearbyTargets: OnObjectTargetSelect script hook for spell Id %u set object of wrong type, expected unit, got %s, effect %u", m_spellInfo->Id, GetLogNameForGuid(target->GetGUID()), effMask);
+ return;
+ }
break;
+ }
case TARGET_OBJECT_TYPE_GOBJ:
if (GameObject* gobjTarget = target->ToGameObject())
AddGOTarget(gobjTarget, effMask);
+ else
+ {
+ TC_LOG_DEBUG("spells", "Spell::SelectImplicitNearbyTargets: OnObjectTargetSelect script hook for spell Id %u set object of wrong type, expected gameobject, got %s, effect %u", m_spellInfo->Id, GetLogNameForGuid(target->GetGUID()), effMask);
+ return;
+ }
break;
case TARGET_OBJECT_TYPE_DEST:
m_targets.SetDst(*target);
@@ -1095,7 +1113,7 @@ void Spell::SelectImplicitConeTargets(SpellEffIndex effIndex, SpellImplicitTarge
Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellConeTargetCheck> searcher(m_caster, targets, check, containerTypeMask);
SearchTargets<Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellConeTargetCheck> >(searcher, containerTypeMask, m_caster, m_caster, radius);
- CallScriptObjectAreaTargetSelectHandlers(targets, effIndex);
+ CallScriptObjectAreaTargetSelectHandlers(targets, effIndex, targetType);
if (!targets.empty())
{
@@ -1171,7 +1189,7 @@ void Spell::SelectImplicitAreaTargets(SpellEffIndex effIndex, SpellImplicitTarge
float radius = m_spellInfo->Effects[effIndex].CalcRadius(m_caster) * m_spellValue->RadiusMod;
SearchAreaTargets(targets, radius, center, referer, targetType.GetObjectType(), targetType.GetCheckType(), m_spellInfo->Effects[effIndex].ImplicitTargetConditions);
- CallScriptObjectAreaTargetSelectHandlers(targets, effIndex);
+ CallScriptObjectAreaTargetSelectHandlers(targets, effIndex, targetType);
if (!targets.empty())
{
@@ -1226,8 +1244,12 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
float angle = float(rand_norm()) * static_cast<float>(M_PI * 35.0f / 180.0f) - static_cast<float>(M_PI * 17.5f / 180.0f);
m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE, dist, angle);
- float ground = z;
- float liquidLevel = m_caster->GetMap()->GetWaterOrGroundLevel(x, y, z, &ground);
+ float ground = m_caster->GetMap()->GetHeight(m_caster->GetPhaseMask(), x, y, z, true, 50.0f);
+ float liquidLevel = VMAP_INVALID_HEIGHT_VALUE;
+ LiquidData liquidData;
+ if (m_caster->GetMap()->getLiquidStatus(x, y, z, MAP_ALL_LIQUIDS, &liquidData))
+ liquidLevel = liquidData.level;
+
if (liquidLevel <= ground) // When there is no liquid Map::GetWaterOrGroundLevel returns ground level
{
SendCastResult(SPELL_FAILED_NOT_HERE);
@@ -1273,7 +1295,7 @@ void Spell::SelectImplicitCasterDestTargets(SpellEffIndex effIndex, SpellImplici
}
}
- CallScriptDestinationTargetSelectHandlers(dest, effIndex);
+ CallScriptDestinationTargetSelectHandlers(dest, effIndex, targetType);
m_targets.SetDst(dest);
}
@@ -1306,7 +1328,7 @@ void Spell::SelectImplicitTargetDestTargets(SpellEffIndex effIndex, SpellImplici
}
}
- CallScriptDestinationTargetSelectHandlers(dest, effIndex);
+ CallScriptDestinationTargetSelectHandlers(dest, effIndex, targetType);
m_targets.SetDst(dest);
}
@@ -1345,7 +1367,7 @@ void Spell::SelectImplicitDestDestTargets(SpellEffIndex effIndex, SpellImplicitT
}
}
- CallScriptDestinationTargetSelectHandlers(dest, effIndex);
+ CallScriptDestinationTargetSelectHandlers(dest, effIndex, targetType);
m_targets.ModDst(dest);
}
@@ -1388,7 +1410,7 @@ void Spell::SelectImplicitCasterObjectTargets(SpellEffIndex effIndex, SpellImpli
break;
}
- CallScriptObjectTargetSelectHandlers(target, effIndex);
+ CallScriptObjectTargetSelectHandlers(target, effIndex, targetType);
if (target && target->ToUnit())
AddUnitTarget(target->ToUnit(), 1 << effIndex, checkIfValid);
@@ -1400,7 +1422,7 @@ void Spell::SelectImplicitTargetObjectTargets(SpellEffIndex effIndex, SpellImpli
WorldObject* target = m_targets.GetObjectTarget();
- CallScriptObjectTargetSelectHandlers(target, effIndex);
+ CallScriptObjectTargetSelectHandlers(target, effIndex, targetType);
if (target)
{
@@ -1435,7 +1457,7 @@ void Spell::SelectImplicitChainTargets(SpellEffIndex effIndex, SpellImplicitTarg
, m_spellInfo->Effects[effIndex].ImplicitTargetConditions, targetType.GetTarget() == TARGET_UNIT_TARGET_CHAINHEAL_ALLY);
// Chain primary target is added earlier
- CallScriptObjectAreaTargetSelectHandlers(targets, effIndex);
+ CallScriptObjectAreaTargetSelectHandlers(targets, effIndex, targetType);
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
if (Unit* unitTarget = (*itr)->ToUnit())
@@ -1589,7 +1611,7 @@ void Spell::SelectImplicitTrajTargets(SpellEffIndex effIndex)
SpellDestination dest(*m_targets.GetDst());
dest.Relocate(trajDst);
- CallScriptDestinationTargetSelectHandlers(dest, effIndex);
+ CallScriptDestinationTargetSelectHandlers(dest, effIndex, SpellImplicitTargetInfo(TARGET_DEST_TRAJ));
m_targets.ModDst(dest);
}
@@ -1609,7 +1631,7 @@ void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
{
WorldObject* target = ObjectAccessor::FindPlayer(m_caster->GetTarget());
- CallScriptObjectTargetSelectHandlers(target, SpellEffIndex(effIndex));
+ CallScriptObjectTargetSelectHandlers(target, SpellEffIndex(effIndex), SpellImplicitTargetInfo());
if (target && target->ToPlayer())
AddUnitTarget(target->ToUnit(), 1 << effIndex, false);
@@ -1669,7 +1691,7 @@ void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
break;
}
- CallScriptObjectTargetSelectHandlers(target, SpellEffIndex(effIndex));
+ CallScriptObjectTargetSelectHandlers(target, SpellEffIndex(effIndex), SpellImplicitTargetInfo());
if (target)
{
@@ -2791,9 +2813,15 @@ bool Spell::UpdateChanneledTargetList()
void Spell::prepare(SpellCastTargets const* targets, AuraEffect const* triggeredByAura)
{
if (m_CastItem)
+ {
m_castItemGUID = m_CastItem->GetGUID();
+ m_castItemEntry = m_CastItem->GetEntry();
+ }
else
+ {
m_castItemGUID = 0;
+ m_castItemEntry = 0;
+ }
InitExplicitTargets(*targets);
@@ -3007,7 +3035,12 @@ void Spell::cancel()
void Spell::cast(bool skipCheck)
{
// update pointers base at GUIDs to prevent access to non-existed already object
- UpdatePointers();
+ if (!UpdatePointers())
+ {
+ // cancel the spell if UpdatePointers() returned false, something wrong happened there
+ cancel();
+ return;
+ }
// cancel at lost explicit target during cast
if (m_targets.GetObjectTargetGUID() && !m_targets.GetObjectTarget())
@@ -3028,7 +3061,7 @@ void Spell::cast(bool skipCheck)
if (this->GetSpellInfo()->DmgClass != SPELL_DAMAGE_CLASS_NONE)
if (Pet* playerPet = playerCaster->GetPet())
if (playerPet->IsAlive() && playerPet->isControlled() && (m_targets.GetTargetMask() & TARGET_FLAG_UNIT))
- playerPet->AI()->OwnerAttacked(m_targets.GetObjectTarget()->ToUnit());
+ playerPet->AI()->OwnerAttacked(m_targets.GetUnitTarget());
}
SetExecutedCurrently(true);
@@ -3257,7 +3290,12 @@ void Spell::handle_immediate()
uint64 Spell::handle_delayed(uint64 t_offset)
{
- UpdatePointers();
+ if (!UpdatePointers())
+ {
+ // finish the spell if UpdatePointers() returned false, something wrong happened there
+ finish(false);
+ return 0;
+ }
if (m_caster->GetTypeId() == TYPEID_PLAYER)
m_caster->ToPlayer()->SetSpellModTakingSpell(this, true);
@@ -3412,7 +3450,12 @@ void Spell::SendSpellCooldown()
void Spell::update(uint32 difftime)
{
// update pointers based at it's GUIDs
- UpdatePointers();
+ if (!UpdatePointers())
+ {
+ // cancel the spell if UpdatePointers() returned false, something wrong happened there
+ cancel();
+ return;
+ }
if (m_targets.GetUnitTargetGUID() && !m_targets.GetUnitTarget())
{
@@ -4266,6 +4309,8 @@ void Spell::TakeCastItem()
m_targets.SetItemTarget(NULL);
m_CastItem = NULL;
+ m_castItemGUID = 0;
+ m_castItemEntry = 0;
}
}
@@ -4504,6 +4549,8 @@ void Spell::TakeReagents()
}
m_CastItem = NULL;
+ m_castItemGUID = 0;
+ m_castItemEntry = 0;
}
// if GetItemTarget is also spell reagent
@@ -5057,12 +5104,11 @@ SpellCastResult Spell::CheckCast(bool strict)
if (!target)
return SPELL_FAILED_DONT_REPORT;
- Position pos;
- target->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
- target->GetFirstCollisionPosition(pos, CONTACT_DISTANCE, target->GetRelativeAngle(m_caster));
+ //target->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
+ Position pos = target->GetFirstCollisionPosition(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());
+ bool result = m_preGeneratedPath.CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ + target->GetObjectSize(), false, true);
if (m_preGeneratedPath.GetPathType() & PATHFIND_SHORT)
return SPELL_FAILED_OUT_OF_RANGE;
else if (!result || m_preGeneratedPath.GetPathType() & PATHFIND_NOPATH)
@@ -5182,6 +5228,7 @@ SpellCastResult Spell::CheckCast(bool strict)
case SUMMON_CATEGORY_PET:
if (m_caster->GetPetGUID())
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
+ // intentional missing break, check both GetPetGUID() and GetCharmGUID for SUMMON_CATEGORY_PET
case SUMMON_CATEGORY_PUPPET:
if (m_caster->GetCharmGUID())
return SPELL_FAILED_ALREADY_HAVE_CHARM;
@@ -6319,7 +6366,7 @@ void Spell::DelayedChannel()
SendChannelUpdate(m_timer);
}
-void Spell::UpdatePointers()
+bool Spell::UpdatePointers()
{
if (m_originalCasterGUID == m_caster->GetGUID())
m_originalCaster = m_caster;
@@ -6331,13 +6378,22 @@ void Spell::UpdatePointers()
}
if (m_castItemGUID && m_caster->GetTypeId() == TYPEID_PLAYER)
+ {
m_CastItem = m_caster->ToPlayer()->GetItemByGuid(m_castItemGUID);
+ // cast item not found, somehow the item is no longer where we expected
+ if (!m_CastItem)
+ return false;
+
+ // check if the item is really the same, in case it has been wrapped for example
+ if (m_castItemEntry != m_CastItem->GetEntry())
+ return false;
+ }
m_targets.Update(m_caster);
// further actions done only for dest targets
if (!m_targets.HasDst())
- return;
+ return true;
// cache last transport
WorldObject* transport = NULL;
@@ -6358,6 +6414,8 @@ void Spell::UpdatePointers()
dest._position.RelocateOffset(dest._transportOffset);
}
}
+
+ return true;
}
CurrentSpellTypes Spell::GetCurrentContainer() const
@@ -6996,42 +7054,42 @@ void Spell::CallScriptAfterHitHandlers()
}
}
-void Spell::CallScriptObjectAreaTargetSelectHandlers(std::list<WorldObject*>& targets, SpellEffIndex effIndex)
+void Spell::CallScriptObjectAreaTargetSelectHandlers(std::list<WorldObject*>& targets, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType)
{
for (std::list<SpellScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end(); ++scritr)
{
(*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_OBJECT_AREA_TARGET_SELECT);
std::list<SpellScript::ObjectAreaTargetSelectHandler>::iterator hookItrEnd = (*scritr)->OnObjectAreaTargetSelect.end(), hookItr = (*scritr)->OnObjectAreaTargetSelect.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- if ((*hookItr).IsEffectAffected(m_spellInfo, effIndex))
- (*hookItr).Call(*scritr, targets);
+ if (hookItr->IsEffectAffected(m_spellInfo, effIndex) && targetType.GetTarget() == hookItr->GetTarget())
+ hookItr->Call(*scritr, targets);
(*scritr)->_FinishScriptCall();
}
}
-void Spell::CallScriptObjectTargetSelectHandlers(WorldObject*& target, SpellEffIndex effIndex)
+void Spell::CallScriptObjectTargetSelectHandlers(WorldObject*& target, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType)
{
for (std::list<SpellScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end(); ++scritr)
{
(*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_OBJECT_TARGET_SELECT);
std::list<SpellScript::ObjectTargetSelectHandler>::iterator hookItrEnd = (*scritr)->OnObjectTargetSelect.end(), hookItr = (*scritr)->OnObjectTargetSelect.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- if ((*hookItr).IsEffectAffected(m_spellInfo, effIndex))
- (*hookItr).Call(*scritr, target);
+ if (hookItr->IsEffectAffected(m_spellInfo, effIndex) && targetType.GetTarget() == hookItr->GetTarget())
+ hookItr->Call(*scritr, target);
(*scritr)->_FinishScriptCall();
}
}
-void Spell::CallScriptDestinationTargetSelectHandlers(SpellDestination& target, SpellEffIndex effIndex)
+void Spell::CallScriptDestinationTargetSelectHandlers(SpellDestination& target, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType)
{
for (std::list<SpellScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end(); ++scritr)
{
(*scritr)->_PrepareScriptCall(SPELL_SCRIPT_HOOK_DESTINATION_TARGET_SELECT);
std::list<SpellScript::DestinationTargetSelectHandler>::iterator hookItrEnd = (*scritr)->OnDestinationTargetSelect.end(), hookItr = (*scritr)->OnDestinationTargetSelect.begin();
for (; hookItr != hookItrEnd; ++hookItr)
- if (hookItr->IsEffectAffected(m_spellInfo, effIndex))
+ if (hookItr->IsEffectAffected(m_spellInfo, effIndex) && targetType.GetTarget() == hookItr->GetTarget())
hookItr->Call(*scritr, target);
(*scritr)->_FinishScriptCall();
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h
index 0fa162f06c7..2b026b77160 100644
--- a/src/server/game/Spells/Spell.h
+++ b/src/server/game/Spells/Spell.h
@@ -456,6 +456,7 @@ class Spell
SpellInfo const* const m_spellInfo;
Item* m_CastItem;
uint64 m_castItemGUID;
+ uint32 m_castItemEntry;
uint8 m_cast_count;
uint32 m_glyphIndex;
uint32 m_preCastSpell;
@@ -491,7 +492,7 @@ class Spell
SpellInfo const* GetSpellInfo() const { return m_spellInfo; }
int32 GetPowerCost() const { return m_powerCost; }
- void UpdatePointers(); // must be used at call Spell code after time delay (non triggered spell cast/update spell call/etc)
+ bool UpdatePointers(); // must be used at call Spell code after time delay (non triggered spell cast/update spell call/etc)
void CleanupTargetList();
@@ -644,9 +645,9 @@ class Spell
void CallScriptBeforeHitHandlers();
void CallScriptOnHitHandlers();
void CallScriptAfterHitHandlers();
- void CallScriptObjectAreaTargetSelectHandlers(std::list<WorldObject*>& targets, SpellEffIndex effIndex);
- void CallScriptObjectTargetSelectHandlers(WorldObject*& target, SpellEffIndex effIndex);
- void CallScriptDestinationTargetSelectHandlers(SpellDestination& target, SpellEffIndex effIndex);
+ void CallScriptObjectAreaTargetSelectHandlers(std::list<WorldObject*>& targets, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType);
+ void CallScriptObjectTargetSelectHandlers(WorldObject*& target, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType);
+ void CallScriptDestinationTargetSelectHandlers(SpellDestination& target, SpellEffIndex effIndex, SpellImplicitTargetInfo const& targetType);
bool CheckScriptEffectImplicitTargets(uint32 effIndex, uint32 effIndexToCheck);
std::list<SpellScript*> m_loadedScripts;
@@ -693,6 +694,9 @@ class Spell
double rand_norm() { return m_caster->GetMap()->mtRand.randExc(); }
double rand_chance() { return m_caster->GetMap()->mtRand.randExc(100.0); }
#endif
+
+ Spell(Spell const& right) = delete;
+ Spell& operator=(Spell const& right) = delete;
};
namespace Trinity
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index ba8fd63f853..9c6b69ef7d7 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1666,7 +1666,7 @@ void Spell::EffectEnergize(SpellEffIndex effIndex)
sSpellMgr->GetSetOfSpellsInSpellGroup(SPELL_GROUP_ELIXIR_BATTLE, avalibleElixirs);
for (std::set<uint32>::iterator itr = avalibleElixirs.begin(); itr != avalibleElixirs.end();)
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(*itr);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(*itr);
if (spellInfo->SpellLevel < m_spellInfo->SpellLevel || spellInfo->SpellLevel > unitTarget->getLevel())
avalibleElixirs.erase(itr++);
else if (sSpellMgr->IsSpellMemberOfSpellGroup(*itr, SPELL_GROUP_ELIXIR_SHATTRATH))
@@ -1933,6 +1933,8 @@ void Spell::EffectSummonChangeItem(SpellEffIndex effIndex)
m_targets.SetItemTarget(NULL);
m_CastItem = NULL;
+ m_castItemGUID = 0;
+ m_castItemEntry = 0;
player->StoreItem(dest, pNewItem, true);
return;
@@ -1951,6 +1953,8 @@ void Spell::EffectSummonChangeItem(SpellEffIndex effIndex)
m_targets.SetItemTarget(NULL);
m_CastItem = NULL;
+ m_castItemGUID = 0;
+ m_castItemEntry = 0;
player->BankItem(dest, pNewItem, true);
return;
@@ -1973,6 +1977,8 @@ void Spell::EffectSummonChangeItem(SpellEffIndex effIndex)
m_targets.SetItemTarget(NULL);
m_CastItem = NULL;
+ m_castItemGUID = 0;
+ m_castItemEntry = 0;
player->EquipItem(dest, pNewItem, true);
player->AutoUnequipOffhandIfNeed();
@@ -2129,7 +2135,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex)
pos = *destTarget;
else
// randomize position for multiple summons
- m_caster->GetRandomPoint(*destTarget, radius, pos);
+ pos = m_caster->GetRandomPoint(*destTarget, radius);
summon = m_originalCaster->SummonCreature(entry, pos, summonType, duration);
if (!summon)
@@ -3294,9 +3300,6 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
}
return;
}
- case 45204: // Clone Me!
- m_caster->CastSpell(unitTarget, damage, true);
- break;
case 55693: // Remove Collapsing Cave Aura
if (!unitTarget)
return;
@@ -4308,9 +4311,8 @@ void Spell::EffectLeap(SpellEffIndex /*effIndex*/)
if (!m_targets.HasDst())
return;
- Position pos;
- destTarget->GetPosition(&pos);
- unitTarget->GetFirstCollisionPosition(pos, unitTarget->GetDistance(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 2.0f), 0.0f);
+ Position pos = destTarget->GetPosition();
+ pos = unitTarget->GetFirstCollisionPosition(unitTarget->GetDistance(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 2.0f), 0.0f);
unitTarget->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), unitTarget == m_caster);
}
@@ -4448,9 +4450,8 @@ void Spell::EffectCharge(SpellEffIndex /*effIndex*/)
// 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);
- unitTarget->GetFirstCollisionPosition(pos, unitTarget->GetObjectSize(), unitTarget->GetRelativeAngle(m_caster));
+ //unitTarget->GetContactPoint(m_caster, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
+ Position pos = unitTarget->GetFirstCollisionPosition(unitTarget->GetObjectSize(), unitTarget->GetRelativeAngle(m_caster));
m_caster->GetMotionMaster()->MoveCharge(pos.m_positionX, pos.m_positionY, pos.m_positionZ);
}
else
@@ -4472,11 +4473,10 @@ void Spell::EffectChargeDest(SpellEffIndex /*effIndex*/)
if (m_targets.HasDst())
{
- Position pos;
- destTarget->GetPosition(&pos);
+ Position pos = destTarget->GetPosition();
float angle = m_caster->GetRelativeAngle(pos.GetPositionX(), pos.GetPositionY());
float dist = m_caster->GetDistance(pos);
- m_caster->GetFirstCollisionPosition(pos, dist, angle);
+ pos = m_caster->GetFirstCollisionPosition(dist, angle);
m_caster->GetMotionMaster()->MoveCharge(pos.m_positionX, pos.m_positionY, pos.m_positionZ);
}
@@ -4577,7 +4577,7 @@ void Spell::EffectQuestClear(SpellEffIndex effIndex)
}
}
- player->RemoveActiveQuest(quest_id);
+ player->RemoveActiveQuest(quest_id, false);
player->RemoveRewardedQuest(quest_id);
}
@@ -5184,13 +5184,23 @@ void Spell::EffectQuestStart(SpellEffIndex effIndex)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
+ if (!unitTarget)
return;
Player* player = unitTarget->ToPlayer();
- if (Quest const* qInfo = sObjectMgr->GetQuestTemplate(m_spellInfo->Effects[effIndex].MiscValue))
- if (player->CanTakeQuest(qInfo, false) && player->CanAddQuest(qInfo, false))
- player->AddQuestAndCheckCompletion(qInfo, NULL);
+ if (!player)
+ return;
+
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(m_spellInfo->Effects[effIndex].MiscValue))
+ {
+ if (!player->CanTakeQuest(quest, false))
+ return;
+
+ if (quest->IsAutoAccept() && player->CanAddQuest(quest, false))
+ player->AddQuestAndCheckCompletion(quest, player);
+
+ player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, player->GetGUID(), true);
+ }
}
void Spell::EffectActivateRune(SpellEffIndex effIndex)
@@ -5399,7 +5409,7 @@ void Spell::SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const*
pos = *destTarget;
else
// randomize position for multiple summons
- m_caster->GetRandomPoint(*destTarget, radius, pos);
+ pos = m_caster->GetRandomPoint(*destTarget, radius);
TempSummon* summon = map->SummonCreature(entry, pos, properties, duration, caster, m_spellInfo->Id);
if (!summon)
@@ -5643,10 +5653,7 @@ void Spell::EffectBind(SpellEffIndex effIndex)
if (m_targets.HasDst())
homeLoc.WorldRelocate(*destTarget);
else
- {
- player->GetPosition(&homeLoc);
- homeLoc.m_mapId = player->GetMapId();
- }
+ homeLoc = player->GetWorldLocation();
player->SetHomebind(homeLoc, areaId);
@@ -5730,9 +5737,9 @@ void Spell::EffectCreateAreaTrigger(SpellEffIndex effIndex)
Position pos;
if (!m_targets.HasDst())
- GetCaster()->GetPosition(&pos);
+ pos = GetCaster()->GetPosition();
else
- destTarget->GetPosition(&pos);
+ pos = destTarget->GetPosition();
// trigger entry/miscvalue relation is currently unknown, for now use MiscValue as trigger entry
uint32 triggerEntry = GetSpellInfo()->Effects[effIndex].MiscValue;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 49bab7946a1..33a2bd2d41a 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -776,7 +776,7 @@ SpellProcEventEntry const* SpellMgr::GetSpellProcEvent(uint32 spellId) const
return NULL;
}
-bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellProcEvent, uint32 EventProcFlag, SpellInfo const* procSpell, uint32 procFlags, uint32 procExtra, bool active) const
+bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellInfo const* spellProto, SpellProcEventEntry const* spellProcEvent, uint32 EventProcFlag, SpellInfo const* procSpell, uint32 procFlags, uint32 procExtra, bool active) const
{
// No extra req need
uint32 procEvent_procEx = PROC_EX_NONE;
@@ -787,43 +787,71 @@ bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellPr
bool hasFamilyMask = false;
- /* Check Periodic Auras
+ /**
+
+ * @brief Check auras procced by periodics
- *Dots can trigger if spell has no PROC_FLAG_SUCCESSFUL_NEGATIVE_MAGIC_SPELL
- nor PROC_FLAG_TAKEN_POSITIVE_MAGIC_SPELL
+ *Only damaging Dots can proc auras with PROC_FLAG_TAKEN_DAMAGE
- *Only Hots can trigger if spell has PROC_FLAG_TAKEN_POSITIVE_MAGIC_SPELL
+ *Only Dots can proc if ONLY has PROC_FLAG_DONE_PERIODIC or PROC_FLAG_TAKEN_PERIODIC.
+
+ *Hots can proc if ONLY has PROC_FLAG_DONE_PERIODIC and spellfamily != 0
- *Only dots can trigger if spell has both positivity flags or PROC_FLAG_SUCCESSFUL_NEGATIVE_MAGIC_SPELL
+ *Only Dots can proc auras with PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG or PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG
- *Aura has to have PROC_FLAG_TAKEN_POSITIVE_MAGIC_SPELL or spellfamily specified to trigger from Hot
+ *Only Hots can proc auras with PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS or PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS
+
+ *Only Dots can proc auras with PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG or PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG
+
+ *Only Hots can proc auras with PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS or PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS
+
+ * @param procSpell the spell proccing the aura
+ * @param procFlags proc_flags of spellProc
+ * @param procExtra proc_EX of procSpell
+ * @param EventProcFlag proc_flags of aura to be procced
+ * @param spellProto SpellInfo of aura to be procced
*/
- if (procFlags & PROC_FLAG_DONE_PERIODIC)
- {
- if (EventProcFlag & PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG)
+ /// Quick Check - If PROC_FLAG_TAKEN_DAMAGE is set for aura and procSpell dealt damage, proc no matter what kind of spell that deals the damage.
+ if (procFlags & PROC_FLAG_TAKEN_DAMAGE && EventProcFlag & PROC_FLAG_TAKEN_DAMAGE)
+ return true;
+
+ if (procFlags & PROC_FLAG_DONE_PERIODIC && EventProcFlag & PROC_FLAG_DONE_PERIODIC)
+ {
+ if (procExtra & PROC_EX_INTERNAL_HOT)
{
- if (!(procExtra & PROC_EX_INTERNAL_DOT))
+ if (EventProcFlag == PROC_FLAG_DONE_PERIODIC)
+ {
+ /// no aura with only PROC_FLAG_DONE_PERIODIC and spellFamilyName == 0 can proc from a HOT.
+ if (!spellProto->SpellFamilyName)
+ return false;
+ }
+ /// Aura must have positive procflags for a HOT to proc
+ else if (!(EventProcFlag & (PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_POS)))
return false;
}
- else if (procExtra & PROC_EX_INTERNAL_HOT)
- procExtra |= PROC_EX_INTERNAL_REQ_FAMILY;
- else if (EventProcFlag & PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS)
- return false;
+ /// Aura must have negative or neutral(PROC_FLAG_DONE_PERIODIC only) procflags for a DOT to proc
+ else if (EventProcFlag != PROC_FLAG_DONE_PERIODIC)
+ if (!(EventProcFlag & (PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG | PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG)))
+ return false;
}
- if (procFlags & PROC_FLAG_TAKEN_PERIODIC)
- {
- if (EventProcFlag & PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS)
+ if (procFlags & PROC_FLAG_TAKEN_PERIODIC && EventProcFlag & PROC_FLAG_TAKEN_PERIODIC)
+ {
+ if (procExtra & PROC_EX_INTERNAL_HOT)
{
- if (!(procExtra & PROC_EX_INTERNAL_HOT))
+ /// No aura that only has PROC_FLAG_TAKEN_PERIODIC can proc from a HOT.
+ if (EventProcFlag == PROC_FLAG_TAKEN_PERIODIC)
+ return false;
+ /// Aura must have positive procflags for a HOT to proc
+ if (!(EventProcFlag & (PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_POS | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS)))
return false;
}
- else if (procExtra & PROC_EX_INTERNAL_HOT)
- procExtra |= PROC_EX_INTERNAL_REQ_FAMILY;
- else if (EventProcFlag & PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_POS)
- return false;
+ /// Aura must have negative or neutral(PROC_FLAG_TAKEN_PERIODIC only) procflags for a DOT to proc
+ else if (EventProcFlag != PROC_FLAG_TAKEN_PERIODIC)
+ if (!(EventProcFlag & (PROC_FLAG_TAKEN_SPELL_MAGIC_DMG_CLASS_NEG | PROC_FLAG_TAKEN_SPELL_NONE_DMG_CLASS_NEG)))
+ return false;
}
// Trap casts are active by default
if (procFlags & PROC_FLAG_DONE_TRAP_ACTIVATION)
@@ -2989,15 +3017,9 @@ void SpellMgr::LoadSpellInfoCorrections()
switch (spellInfo->Id)
{
- case 42730: // Woe Strike
- spellInfo->Effects[EFFECT_1].TriggerSpell = 42739;
- break;
case 42436: // Drink! (Brewfest)
spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(TARGET_UNIT_TARGET_ANY);
break;
- case 59735: // Woe Strike
- spellInfo->Effects[EFFECT_1].TriggerSpell = 59736;
- break;
case 52611: // Summon Skeletons
case 52612: // Summon Skeletons
spellInfo->Effects[EFFECT_0].MiscValueB = 64;
@@ -3363,6 +3385,18 @@ void SpellMgr::LoadSpellInfoCorrections()
break;
// ENDOF TRIAL OF THE CRUSADER SPELLS
//
+ // HALLS OF REFLECTION SPELLS
+ //
+ case 72435: // Defiling Horror
+ case 72452: // Defiling Horror
+ spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_60_YARDS); // 60yd
+ spellInfo->Effects[EFFECT_1].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_60_YARDS); // 60yd
+ break;
+ case 72900: // Start Halls of Reflection Quest AE
+ spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS); // 200yd
+ break;
+ // ENDOF HALLS OF REFLECTION SPELLS
+ //
// ICECROWN CITADEL SPELLS
//
// THESE SPELLS ARE WORKING CORRECTLY EVEN WITHOUT THIS HACK
@@ -3390,6 +3424,15 @@ void SpellMgr::LoadSpellInfoCorrections()
case 71169: // Shadow's Fate
spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS;
break;
+ case 72347: // Lock Players and Tap Chest
+ spellInfo->AttributesEx3 &= ~SPELL_ATTR3_NO_INITIAL_AGGRO;
+ break;
+ case 73843: // Award Reputation - Boss Kill
+ case 73844: // Award Reputation - Boss Kill
+ case 73845: // Award Reputation - Boss Kill
+ case 73846: // Award Reputation - Boss Kill
+ spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_50000_YARDS); // 50000yd
+ break;
case 72378: // Blood Nova (Deathbringer Saurfang)
case 73058: // Blood Nova (Deathbringer Saurfang)
spellInfo->Effects[EFFECT_0].RadiusEntry = sSpellRadiusStore.LookupEntry(EFFECT_RADIUS_200_YARDS);
diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h
index 184b3ad0cb2..29bfd33f704 100644
--- a/src/server/game/Spells/SpellMgr.h
+++ b/src/server/game/Spells/SpellMgr.h
@@ -23,14 +23,15 @@
#include <ace/Singleton.h>
+#include "Define.h"
#include "DBCStructure.h"
#include "SharedDefines.h"
-#include "UnorderedMap.h"
#include "Util.h"
#include <map>
#include <set>
#include <vector>
+#include <unordered_map>
class SpellInfo;
class Player;
@@ -285,7 +286,7 @@ struct SpellProcEventEntry
uint32 cooldown; // hidden cooldown used for some spell proc events, applied to _triggered_spell_
};
-typedef UNORDERED_MAP<uint32, SpellProcEventEntry> SpellProcEventMap;
+typedef std::unordered_map<uint32, SpellProcEventEntry> SpellProcEventMap;
struct SpellProcEntry
{
@@ -303,7 +304,7 @@ struct SpellProcEntry
uint32 charges; // if nonzero - owerwrite procCharges field for given Spell.dbc entry, defines how many times proc can occur before aura remove, 0 - infinite
};
-typedef UNORDERED_MAP<uint32, SpellProcEntry> SpellProcMap;
+typedef std::unordered_map<uint32, SpellProcEntry> SpellProcMap;
struct SpellEnchantProcEntry
{
@@ -312,7 +313,7 @@ struct SpellEnchantProcEntry
uint32 procEx;
};
-typedef UNORDERED_MAP<uint32, SpellEnchantProcEntry> SpellEnchantProcEventMap;
+typedef std::unordered_map<uint32, SpellEnchantProcEntry> SpellEnchantProcEventMap;
struct SpellBonusEntry
{
@@ -322,7 +323,7 @@ struct SpellBonusEntry
float ap_dot_bonus;
};
-typedef UNORDERED_MAP<uint32, SpellBonusEntry> SpellBonusMap;
+typedef std::unordered_map<uint32, SpellBonusEntry> SpellBonusMap;
enum SpellGroup
{
@@ -443,7 +444,7 @@ enum EffectRadiusIndex
class PetAura
{
private:
- typedef UNORDERED_MAP<uint32, uint32> PetAuraMap;
+ typedef std::unordered_map<uint32, uint32> PetAuraMap;
public:
PetAura() : removeOnChangePet(false), damage(0) { }
@@ -523,7 +524,7 @@ struct SpellChainNode
uint8 rank;
};
-typedef UNORDERED_MAP<uint32, SpellChainNode> SpellChainMap;
+typedef std::unordered_map<uint32, SpellChainNode> SpellChainMap;
// spell_id req_spell
typedef std::multimap<uint32, uint32> SpellRequiredMap;
@@ -657,7 +658,7 @@ class SpellMgr
// Spell proc event table
SpellProcEventEntry const* GetSpellProcEvent(uint32 spellId) const;
- bool IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const* spellProcEvent, uint32 EventProcFlag, SpellInfo const* procSpell, uint32 procFlags, uint32 procExtra, bool active) const;
+ bool IsSpellProcEventCanTriggeredBy(SpellInfo const* spellProto, SpellProcEventEntry const* spellProcEvent, uint32 EventProcFlag, SpellInfo const* procSpell, uint32 procFlags, uint32 procExtra, bool active) const;
// Spell proc table
SpellProcEntry const* GetSpellProcEntry(uint32 spellId) const;
@@ -690,6 +691,14 @@ class SpellMgr
// SpellInfo object management
SpellInfo const* GetSpellInfo(uint32 spellId) const { return spellId < GetSpellInfoStoreSize() ? mSpellInfoMap[spellId] : NULL; }
+ // Use this only with 100% valid spellIds
+ SpellInfo const* EnsureSpellInfo(uint32 spellId) const
+ {
+ ASSERT(spellId < GetSpellInfoStoreSize());
+ SpellInfo const* spellInfo = mSpellInfoMap[spellId];
+ ASSERT(spellInfo);
+ return spellInfo;
+ }
uint32 GetSpellInfoStoreSize() const { return mSpellInfoMap.size(); }
private:
diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h
index 6378a8bed9b..75a191a9801 100644
--- a/src/server/game/Spells/SpellScript.h
+++ b/src/server/game/Spells/SpellScript.h
@@ -208,6 +208,7 @@ class SpellScript : public _SpellScript
TargetHook(uint8 _effectIndex, uint16 _targetType, bool _area, bool _dest);
bool CheckEffect(SpellInfo const* spellInfo, uint8 effIndex);
std::string ToString();
+ uint16 GetTarget() const { return targetType; }
protected:
uint16 targetType;
bool area;
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index da2fbaf0ece..35f5cb82036 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -28,19 +28,19 @@
class CreatureTextBuilder
{
public:
- CreatureTextBuilder(WorldObject* obj, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
- : _source(obj), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target)
- {
- }
+ CreatureTextBuilder(WorldObject const* obj, uint8 gender, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
+ : _source(obj), _gender(gender), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target) { }
size_t operator()(WorldPacket* data, LocaleConstant locale) const
{
- std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _textGroup, _textId, locale);
+ std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _gender, _textGroup, _textId, locale);
return ChatHandler::BuildChatPacket(*data, _msgType, Language(_language), _source, _target, text, 0, "", locale);
}
- WorldObject* _source;
+ private:
+ WorldObject const* _source;
+ uint8 _gender;
ChatMsg _msgType;
uint8 _textGroup;
uint32 _textId;
@@ -51,20 +51,20 @@ class CreatureTextBuilder
class PlayerTextBuilder
{
public:
- PlayerTextBuilder(WorldObject* obj, WorldObject* speaker, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
- : _source(obj), _talker(speaker), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target)
- {
- }
+ PlayerTextBuilder(WorldObject const* obj, WorldObject const* speaker, uint8 gender, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
+ : _source(obj), _talker(speaker), _gender(gender), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target) { }
size_t operator()(WorldPacket* data, LocaleConstant locale) const
{
- std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _textGroup, _textId, locale);
+ std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _gender, _textGroup, _textId, locale);
return ChatHandler::BuildChatPacket(*data, _msgType, Language(_language), _talker, _target, text, 0, "", locale);
}
- WorldObject* _source;
- WorldObject* _talker;
+ private:
+ WorldObject const* _source;
+ WorldObject const* _talker;
+ uint8 _gender;
ChatMsg _msgType;
uint8 _textGroup;
uint32 _textId;
@@ -84,7 +84,7 @@ void CreatureTextMgr::LoadCreatureTexts()
if (!result)
{
- TC_LOG_INFO("server.loading", ">> Loaded 0 ceature texts. DB table `creature_texts` is empty.");
+ TC_LOG_INFO("server.loading", ">> Loaded 0 ceature texts. DB table `creature_text` is empty.");
return;
}
@@ -97,54 +97,69 @@ void CreatureTextMgr::LoadCreatureTexts()
Field* fields = result->Fetch();
CreatureTextEntry temp;
- temp.entry = fields[0].GetUInt32();
- temp.group = fields[1].GetUInt8();
- temp.id = fields[2].GetUInt8();
- temp.text = fields[3].GetString();
- temp.type = ChatMsg(fields[4].GetUInt8());
- temp.lang = Language(fields[5].GetUInt8());
- temp.probability = fields[6].GetFloat();
- temp.emote = Emote(fields[7].GetUInt32());
- temp.duration = fields[8].GetUInt32();
- temp.sound = fields[9].GetUInt32();
+ temp.entry = fields[0].GetUInt32();
+ temp.group = fields[1].GetUInt8();
+ temp.id = fields[2].GetUInt8();
+ temp.text = fields[3].GetString();
+ temp.type = ChatMsg(fields[4].GetUInt8());
+ temp.lang = Language(fields[5].GetUInt8());
+ temp.probability = fields[6].GetFloat();
+ temp.emote = Emote(fields[7].GetUInt32());
+ temp.duration = fields[8].GetUInt32();
+ temp.sound = fields[9].GetUInt32();
+ temp.BroadcastTextId = fields[10].GetUInt32();
if (temp.sound)
{
- if (!sSoundEntriesStore.LookupEntry(temp.sound)){
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_texts` has Sound %u but sound does not exist.", temp.entry, temp.group, temp.sound);
+ if (!sSoundEntriesStore.LookupEntry(temp.sound))
+ {
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Sound %u but sound does not exist.", temp.entry, temp.group, temp.sound);
temp.sound = 0;
}
}
+
if (!GetLanguageDescByID(temp.lang))
{
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_texts` using Language %u but Language does not exist.", temp.entry, temp.group, uint32(temp.lang));
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` using Language %u but Language does not exist.", temp.entry, temp.group, uint32(temp.lang));
temp.lang = LANG_UNIVERSAL;
}
+
if (temp.type >= MAX_CHAT_MSG_TYPE)
{
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_texts` has Type %u but this Chat Type does not exist.", temp.entry, temp.group, uint32(temp.type));
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Type %u but this Chat Type does not exist.", temp.entry, temp.group, uint32(temp.type));
temp.type = CHAT_MSG_SAY;
}
+
if (temp.emote)
{
if (!sEmotesStore.LookupEntry(temp.emote))
{
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_texts` has Emote %u but emote does not exist.", temp.entry, temp.group, uint32(temp.emote));
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u in table `creature_text` has Emote %u but emote does not exist.", temp.entry, temp.group, uint32(temp.emote));
temp.emote = EMOTE_ONESHOT_NONE;
}
}
- //entry not yet added, add empty TextHolder (list of groups)
+
+ if (temp.BroadcastTextId)
+ {
+ if (!sObjectMgr->GetBroadcastText(temp.BroadcastTextId))
+ {
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Entry %u, Group %u, Id %u in table `creature_text` has non-existing or incompatible BroadcastTextId %u.", temp.entry, temp.group, temp.id, temp.BroadcastTextId);
+ temp.BroadcastTextId = 0;
+ }
+ }
+
+ // entry not yet added, add empty TextHolder (list of groups)
if (mTextMap.find(temp.entry) == mTextMap.end())
++creatureCount;
- //add the text into our entry's group
+ // add the text into our entry's group
mTextMap[temp.entry][temp.group].push_back(temp);
++textCount;
- } while (result->NextRow());
+ }
+ while (result->NextRow());
TC_LOG_INFO("server.loading", ">> Loaded %u creature texts for %u creatures in %u ms", textCount, creatureCount, GetMSTimeDiffToNow(oldMSTime));
-
}
void CreatureTextMgr::LoadCreatureTextLocales()
@@ -185,7 +200,7 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject
CreatureTextMap::const_iterator sList = mTextMap.find(source->GetEntry());
if (sList == mTextMap.end())
{
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Could not find Text for Creature(%s) Entry %u in 'creature_text' table. Ignoring.", source->GetName().c_str(), source->GetEntry());
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Could not find Text for Creature %s (Entry %u, GUID %u) in 'creature_text' table. Ignoring.", source->GetName().c_str(), source->GetEntry(), source->GetGUIDLow());
return 0;
}
@@ -193,7 +208,7 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject
CreatureTextHolder::const_iterator itr = textHolder.find(textGroup);
if (itr == textHolder.end())
{
- TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Could not find TextGroup %u for Creature(%s) GuidLow %u Entry %u. Ignoring.", uint32(textGroup), source->GetName().c_str(), source->GetGUIDLow(), source->GetEntry());
+ TC_LOG_ERROR("sql.sql", "CreatureTextMgr: Could not find TextGroup %u for Creature %s (Entry %u, GUID %u) in 'creature_text' table. Ignoring.", uint32(textGroup), source->GetName().c_str(), source->GetEntry(), source->GetGUIDLow());
return 0;
}
@@ -270,14 +285,15 @@ uint32 CreatureTextMgr::SendChat(Creature* source, uint8 textGroup, WorldObject
if (srcPlr)
{
- PlayerTextBuilder builder(source, finalSource, finalType, iter->group, iter->id, finalLang, whisperTarget);
+ PlayerTextBuilder builder(source, finalSource, finalSource->getGender(), finalType, iter->group, iter->id, finalLang, whisperTarget);
SendChatPacket(finalSource, builder, finalType, whisperTarget, range, team, gmOnly);
}
else
{
- CreatureTextBuilder builder(finalSource, finalType, iter->group, iter->id, finalLang, whisperTarget);
+ CreatureTextBuilder builder(finalSource, finalSource->getGender(), finalType, iter->group, iter->id, finalLang, whisperTarget);
SendChatPacket(finalSource, builder, finalType, whisperTarget, range, team, gmOnly);
}
+
if (isEqualChanced || (!isEqualChanced && totalChance == 100.0f))
SetRepeatId(source, textGroup, iter->id);
@@ -316,14 +332,12 @@ void CreatureTextMgr::SendSound(Creature* source, uint32 sound, ChatMsg msgType,
void CreatureTextMgr::SendNonChatPacket(WorldObject* source, WorldPacket* data, ChatMsg msgType, WorldObject const* whisperTarget, CreatureTextRange range, Team team, bool gmOnly) const
{
- float dist = GetRangeForChatType(msgType);
-
switch (msgType)
{
case CHAT_MSG_MONSTER_WHISPER:
case CHAT_MSG_RAID_BOSS_WHISPER:
{
- if (range == TEXT_RANGE_NORMAL)//ignores team and gmOnly
+ if (range == TEXT_RANGE_NORMAL) // ignores team and gmOnly
{
if (!whisperTarget || whisperTarget->GetTypeId() != TYPEID_PLAYER)
return;
@@ -379,6 +393,7 @@ void CreatureTextMgr::SendNonChatPacket(WorldObject* source, WorldPacket* data,
break;
}
+ float dist = GetRangeForChatType(msgType);
source->SendMessageToSetInRange(data, dist, true);
}
@@ -440,7 +455,7 @@ bool CreatureTextMgr::TextExist(uint32 sourceEntry, uint8 textGroup)
return true;
}
-std::string CreatureTextMgr::GetLocalizedChatString(uint32 entry, uint8 textGroup, uint32 id, LocaleConstant locale) const
+std::string CreatureTextMgr::GetLocalizedChatString(uint32 entry, uint8 gender, uint8 textGroup, uint32 id, LocaleConstant locale) const
{
CreatureTextMap::const_iterator mapitr = mTextMap.find(entry);
if (mapitr == mTextMap.end())
@@ -458,18 +473,23 @@ std::string CreatureTextMgr::GetLocalizedChatString(uint32 entry, uint8 textGrou
if (groupItr == holderItr->second.end())
return "";
- std::string baseText = groupItr->text;
- if (locale == DEFAULT_LOCALE)
- return baseText;
-
if (locale > MAX_LOCALES)
- return baseText;
+ locale = DEFAULT_LOCALE;
+
+ std::string baseText = "";
+ BroadcastText const* bct = sObjectMgr->GetBroadcastText(groupItr->BroadcastTextId);
- LocaleCreatureTextMap::const_iterator locItr = mLocaleTextMap.find(CreatureTextId(entry, uint32(textGroup), id));
- if (locItr == mLocaleTextMap.end())
- return baseText;
+ if (bct)
+ baseText = bct->GetText(locale, gender);
+ else
+ baseText = groupItr->text;
- ObjectMgr::GetLocaleString(locItr->second.Text, locale, baseText);
+ if (locale != DEFAULT_LOCALE && !bct)
+ {
+ LocaleCreatureTextMap::const_iterator locItr = mLocaleTextMap.find(CreatureTextId(entry, uint32(textGroup), id));
+ if (locItr != mLocaleTextMap.end())
+ ObjectMgr::GetLocaleString(locItr->second.Text, locale, baseText);
+ }
return baseText;
}
diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h
index 6ef983e18e5..28722ae70f4 100644
--- a/src/server/game/Texts/CreatureTextMgr.h
+++ b/src/server/game/Texts/CreatureTextMgr.h
@@ -36,6 +36,7 @@ struct CreatureTextEntry
Emote emote;
uint32 duration;
uint32 sound;
+ uint32 BroadcastTextId;
};
enum CreatureTextRange
@@ -69,15 +70,15 @@ struct CreatureTextId
};
typedef std::vector<CreatureTextEntry> CreatureTextGroup; //texts in a group
-typedef UNORDERED_MAP<uint8, CreatureTextGroup> CreatureTextHolder; //groups for a creature by groupid
-typedef UNORDERED_MAP<uint32, CreatureTextHolder> CreatureTextMap; //all creatures by entry
+typedef std::unordered_map<uint8, CreatureTextGroup> CreatureTextHolder; //groups for a creature by groupid
+typedef std::unordered_map<uint32, CreatureTextHolder> CreatureTextMap; //all creatures by entry
typedef std::map<CreatureTextId, CreatureTextLocale> LocaleCreatureTextMap;
//used for handling non-repeatable random texts
typedef std::vector<uint8> CreatureTextRepeatIds;
-typedef UNORDERED_MAP<uint8, CreatureTextRepeatIds> CreatureTextRepeatGroup;
-typedef UNORDERED_MAP<uint64, CreatureTextRepeatGroup> CreatureTextRepeatMap;//guid based
+typedef std::unordered_map<uint8, CreatureTextRepeatIds> CreatureTextRepeatGroup;
+typedef std::unordered_map<uint64, CreatureTextRepeatGroup> CreatureTextRepeatMap;//guid based
class CreatureTextMgr
{
@@ -96,7 +97,7 @@ class CreatureTextMgr
//if sent, returns the 'duration' of the text else 0 if error
uint32 SendChat(Creature* source, uint8 textGroup, WorldObject const* whisperTarget = NULL, ChatMsg msgType = CHAT_MSG_ADDON, Language language = LANG_ADDON, CreatureTextRange range = TEXT_RANGE_NORMAL, uint32 sound = 0, Team team = TEAM_OTHER, bool gmOnly = false, Player* srcPlr = NULL);
bool TextExist(uint32 sourceEntry, uint8 textGroup);
- std::string GetLocalizedChatString(uint32 entry, uint8 textGroup, uint32 id, LocaleConstant locale) const;
+ std::string GetLocalizedChatString(uint32 entry, uint8 gender, uint8 textGroup, uint32 id, LocaleConstant locale) const;
template<class Builder> void SendChatPacket(WorldObject* source, Builder const& builder, ChatMsg msgType, WorldObject const* whisperTarget = NULL, CreatureTextRange range = TEXT_RANGE_NORMAL, Team team = TEAM_OTHER, bool gmOnly = false) const;
@@ -186,7 +187,7 @@ void CreatureTextMgr::SendChatPacket(WorldObject* source, Builder const& builder
case CHAT_MSG_MONSTER_WHISPER:
case CHAT_MSG_RAID_BOSS_WHISPER:
{
- if (range == TEXT_RANGE_NORMAL) //ignores team and gmOnly
+ if (range == TEXT_RANGE_NORMAL) // ignores team and gmOnly
{
if (!whisperTarget || whisperTarget->GetTypeId() != TYPEID_PLAYER)
return;
diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp
index e9f8748e6d9..77fbe92400d 100644
--- a/src/server/game/Tickets/TicketMgr.cpp
+++ b/src/server/game/Tickets/TicketMgr.cpp
@@ -36,7 +36,9 @@ GmTicket::GmTicket() : _id(0), _playerGuid(0), _posX(0), _posY(0), _posZ(0), _ma
_closedBy(0), _assignedTo(0), _completed(false), _escalatedStatus(TICKET_UNASSIGNED), _viewed(false),
_needResponse(false), _needMoreHelp(false) { }
-GmTicket::GmTicket(Player* player) : _createTime(time(NULL)), _lastModifiedTime(time(NULL)), _closedBy(0), _assignedTo(0), _completed(false), _escalatedStatus(TICKET_UNASSIGNED), _viewed(false), _needResponse(false), _needMoreHelp(false)
+GmTicket::GmTicket(Player* player) : _posX(0), _posY(0), _posZ(0), _mapId(0), _createTime(time(NULL)), _lastModifiedTime(time(NULL)),
+ _closedBy(0), _assignedTo(0), _completed(false), _escalatedStatus(TICKET_UNASSIGNED), _viewed(false),
+ _needResponse(false), _needMoreHelp(false)
{
_id = sTicketMgr->GenerateTicketId();
_playerName = player->GetName();
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp
index 821d2c568a5..3cde5a6d70f 100644
--- a/src/server/game/Tools/PlayerDump.cpp
+++ b/src/server/game/Tools/PlayerDump.cpp
@@ -43,7 +43,6 @@ static DumpTable dumpTables[DUMP_TABLE_COUNT] =
{ "character_cuf_profiles", DTT_CHAR_TABLE },
{ "character_declinedname", DTT_CHAR_TABLE },
{ "character_equipmentsets", DTT_EQSET_TABLE},
- { "character_gifts", DTT_ITEM_GIFT },
{ "character_glyphs", DTT_CHAR_TABLE },
{ "character_homebind", DTT_CHAR_TABLE },
{ "character_inventory", DTT_INVENTORY },
@@ -56,12 +55,13 @@ static DumpTable dumpTables[DUMP_TABLE_COUNT] =
{ "character_spell", DTT_CHAR_TABLE },
{ "character_spell_cooldown", DTT_CHAR_TABLE },
{ "character_talent", DTT_CHAR_TABLE },
- { "item_instance", DTT_ITEM },
{ "mail", DTT_MAIL },
- { "mail_items", DTT_MAIL_ITEM },
- { "pet_aura", DTT_PET_TABLE },
- { "pet_spell", DTT_PET_TABLE },
- { "pet_spell_cooldown", DTT_PET_TABLE },
+ { "mail_items", DTT_MAIL_ITEM }, // must be after mail
+ { "pet_aura", DTT_PET_TABLE }, // must be after character_pet
+ { "pet_spell", DTT_PET_TABLE }, // must be after character_pet
+ { "pet_spell_cooldown", DTT_PET_TABLE }, // must be after character_pet
+ { "item_instance", DTT_ITEM }, // must be after character_inventory and mail_items
+ { "character_gifts", DTT_ITEM_GIFT }, // must be after item_instance
};
// Low level functions
diff --git a/src/server/game/Warden/Warden.cpp b/src/server/game/Warden/Warden.cpp
index 4611a4da884..42872bba22e 100644
--- a/src/server/game/Warden/Warden.cpp
+++ b/src/server/game/Warden/Warden.cpp
@@ -223,6 +223,9 @@ std::string Warden::Penalty(WardenCheck* check /*= NULL*/)
void WorldSession::HandleWardenDataOpcode(WorldPacket& recvData)
{
+ if (!_warden)
+ return;
+
_warden->DecryptData(recvData.contents(), recvData.size());
uint8 opcode;
recvData >> opcode;
diff --git a/src/server/game/Weather/WeatherMgr.cpp b/src/server/game/Weather/WeatherMgr.cpp
index 9faecdf7c99..7a48d935a21 100644
--- a/src/server/game/Weather/WeatherMgr.cpp
+++ b/src/server/game/Weather/WeatherMgr.cpp
@@ -35,8 +35,8 @@ namespace WeatherMgr
namespace
{
- typedef UNORDERED_MAP<uint32, Trinity::AutoPtr<Weather, ACE_Null_Mutex> > WeatherMap;
- typedef UNORDERED_MAP<uint32, WeatherData> WeatherZoneMap;
+ typedef std::unordered_map<uint32, Trinity::AutoPtr<Weather, ACE_Null_Mutex> > WeatherMap;
+ typedef std::unordered_map<uint32, WeatherData> WeatherZoneMap;
WeatherMap m_weathers;
WeatherZoneMap mWeatherZoneMap;
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 5f6fb683e8f..a9507b174b6 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1214,17 +1214,6 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_NUMTHREADS] = sConfigMgr->GetIntDefault("MapUpdate.Threads", 1);
m_int_configs[CONFIG_MAX_RESULTS_LOOKUP_COMMANDS] = sConfigMgr->GetIntDefault("Command.LookupMaxResults", 0);
- // chat logging
- m_bool_configs[CONFIG_CHATLOG_CHANNEL] = sConfigMgr->GetBoolDefault("ChatLogs.Channel", false);
- m_bool_configs[CONFIG_CHATLOG_WHISPER] = sConfigMgr->GetBoolDefault("ChatLogs.Whisper", false);
- m_bool_configs[CONFIG_CHATLOG_SYSCHAN] = sConfigMgr->GetBoolDefault("ChatLogs.SysChan", false);
- m_bool_configs[CONFIG_CHATLOG_PARTY] = sConfigMgr->GetBoolDefault("ChatLogs.Party", false);
- m_bool_configs[CONFIG_CHATLOG_RAID] = sConfigMgr->GetBoolDefault("ChatLogs.Raid", false);
- m_bool_configs[CONFIG_CHATLOG_GUILD] = sConfigMgr->GetBoolDefault("ChatLogs.Guild", false);
- m_bool_configs[CONFIG_CHATLOG_PUBLIC] = sConfigMgr->GetBoolDefault("ChatLogs.Public", false);
- m_bool_configs[CONFIG_CHATLOG_ADDON] = sConfigMgr->GetBoolDefault("ChatLogs.Addon", false);
- m_bool_configs[CONFIG_CHATLOG_BGROUND] = sConfigMgr->GetBoolDefault("ChatLogs.Battleground", false);
-
// Warden
m_bool_configs[CONFIG_WARDEN_ENABLED] = sConfigMgr->GetBoolDefault("Warden.Enabled", false);
m_int_configs[CONFIG_WARDEN_NUM_MEM_CHECKS] = sConfigMgr->GetIntDefault("Warden.NumMemChecks", 3);
@@ -1407,6 +1396,10 @@ void World::SetInitialWorldSettings()
TC_LOG_INFO("server.loading", "Loading instances...");
sInstanceSaveMgr->LoadInstances();
+ TC_LOG_INFO("server.loading", "Loading Broadcast texts...");
+ sObjectMgr->LoadBroadcastTexts();
+ sObjectMgr->LoadBroadcastTextLocales();
+
TC_LOG_INFO("server.loading", "Loading Localization strings...");
uint32 oldMSTime = getMSTime();
sObjectMgr->LoadCreatureLocales();
@@ -1693,7 +1686,7 @@ void World::SetInitialWorldSettings()
sObjectMgr->LoadGameObjectForQuests();
TC_LOG_INFO("server.loading", "Loading BattleMasters...");
- sBattlegroundMgr->LoadBattleMastersEntry();
+ sBattlegroundMgr->LoadBattleMastersEntry(); // must be after load CreatureTemplate
TC_LOG_INFO("server.loading", "Loading GameTeleports...");
sObjectMgr->LoadGameTele();
@@ -2942,7 +2935,7 @@ void World::ResetDailyQuests()
{
TC_LOG_INFO("misc", "Daily quests reset for all characters.");
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_DAILY);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_DAILY);
CharacterDatabase.Execute(stmt);
for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
@@ -2988,7 +2981,7 @@ void World::ResetWeeklyQuests()
{
TC_LOG_INFO("misc", "Weekly quests reset for all characters.");
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_WEEKLY);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_WEEKLY);
CharacterDatabase.Execute(stmt);
for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
@@ -3006,7 +2999,7 @@ void World::ResetMonthlyQuests()
{
TC_LOG_INFO("misc", "Monthly quests reset for all characters.");
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_MONTHLY);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_MONTHLY);
CharacterDatabase.Execute(stmt);
for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
@@ -3048,7 +3041,9 @@ void World::ResetMonthlyQuests()
void World::ResetEventSeasonalQuests(uint16 event_id)
{
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_SEASONAL);
+ TC_LOG_INFO("misc", "Seasonal quests reset for all characters.");
+
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_SEASONAL_BY_EVENT);
stmt->setUInt16(0, event_id);
CharacterDatabase.Execute(stmt);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index c8937a062b6..7495939887a 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -146,15 +146,6 @@ enum WorldBoolConfigs
CONFIG_SHOW_KICK_IN_WORLD,
CONFIG_SHOW_MUTE_IN_WORLD,
CONFIG_SHOW_BAN_IN_WORLD,
- CONFIG_CHATLOG_CHANNEL,
- CONFIG_CHATLOG_WHISPER,
- CONFIG_CHATLOG_SYSCHAN,
- CONFIG_CHATLOG_PARTY,
- CONFIG_CHATLOG_RAID,
- CONFIG_CHATLOG_GUILD,
- CONFIG_CHATLOG_PUBLIC,
- CONFIG_CHATLOG_ADDON,
- CONFIG_CHATLOG_BGROUND,
CONFIG_AUTOBROADCAST,
CONFIG_ALLOW_TICKETS,
CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES,
@@ -519,17 +510,18 @@ struct CliCommandHolder
CommandFinished* m_commandFinished;
CliCommandHolder(void* callbackArg, const char *command, Print* zprint, CommandFinished* commandFinished)
- : m_callbackArg(callbackArg), m_print(zprint), m_commandFinished(commandFinished)
+ : m_callbackArg(callbackArg), m_command(strdup(command)), m_print(zprint), m_commandFinished(commandFinished)
{
- size_t len = strlen(command)+1;
- m_command = new char[len];
- memcpy(m_command, command, len);
}
- ~CliCommandHolder() { delete[] m_command; }
+ ~CliCommandHolder() { free(m_command); }
+
+private:
+ CliCommandHolder(CliCommandHolder const& right) = delete;
+ CliCommandHolder& operator=(CliCommandHolder const& right) = delete;
};
-typedef UNORDERED_MAP<uint32, WorldSession*> SessionMap;
+typedef std::unordered_map<uint32, WorldSession*> SessionMap;
struct CharacterNameData
{
@@ -804,7 +796,7 @@ class World
uint32 m_currentTime;
SessionMap m_sessions;
- typedef UNORDERED_MAP<uint32, time_t> DisconnectMap;
+ typedef std::unordered_map<uint32, time_t> DisconnectMap;
DisconnectMap m_disconnects;
uint32 m_maxActiveSessionCount;
uint32 m_maxQueuedSessionCount;
diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp
index ec3d34332b0..3c9714ca55a 100644
--- a/src/server/scripts/Commands/cs_account.cpp
+++ b/src/server/scripts/Commands/cs_account.cpp
@@ -33,7 +33,7 @@ class account_commandscript : public CommandScript
public:
account_commandscript() : CommandScript("account_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand accountSetSecTable[] =
{
diff --git a/src/server/scripts/Commands/cs_achievement.cpp b/src/server/scripts/Commands/cs_achievement.cpp
index 041b6c86881..edcdb553be0 100644
--- a/src/server/scripts/Commands/cs_achievement.cpp
+++ b/src/server/scripts/Commands/cs_achievement.cpp
@@ -33,7 +33,7 @@ class achievement_commandscript : public CommandScript
public:
achievement_commandscript() : CommandScript("achievement_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand achievementCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp
index e3e726eb348..5658701bd54 100644
--- a/src/server/scripts/Commands/cs_arena.cpp
+++ b/src/server/scripts/Commands/cs_arena.cpp
@@ -34,7 +34,7 @@ class arena_commandscript : public CommandScript
public:
arena_commandscript() : CommandScript("arena_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand arenaCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp
index aa90c21c995..afaf5f651bc 100644
--- a/src/server/scripts/Commands/cs_ban.cpp
+++ b/src/server/scripts/Commands/cs_ban.cpp
@@ -35,7 +35,7 @@ class ban_commandscript : public CommandScript
public:
ban_commandscript() : CommandScript("ban_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand unbanCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_bf.cpp b/src/server/scripts/Commands/cs_bf.cpp
index 2bc962f0768..b74bb733822 100644
--- a/src/server/scripts/Commands/cs_bf.cpp
+++ b/src/server/scripts/Commands/cs_bf.cpp
@@ -31,7 +31,7 @@ class bf_commandscript : public CommandScript
public:
bf_commandscript() : CommandScript("bf_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand battlefieldcommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_cast.cpp b/src/server/scripts/Commands/cs_cast.cpp
index 545ae405c20..9bc79c3f8f9 100644
--- a/src/server/scripts/Commands/cs_cast.cpp
+++ b/src/server/scripts/Commands/cs_cast.cpp
@@ -33,7 +33,7 @@ class cast_commandscript : public CommandScript
public:
cast_commandscript() : CommandScript("cast_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand castCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp
index 2a127175648..ffdc9deeae3 100644
--- a/src/server/scripts/Commands/cs_character.cpp
+++ b/src/server/scripts/Commands/cs_character.cpp
@@ -35,7 +35,7 @@ class character_commandscript : public CommandScript
public:
character_commandscript() : CommandScript("character_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand pdumpCommandTable[] =
{
@@ -217,7 +217,7 @@ public:
return;
}
- PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UDP_RESTORE_DELETE_INFO);
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_RESTORE_DELETE_INFO);
stmt->setString(0, delInfo.name);
stmt->setUInt32(1, delInfo.accountId);
stmt->setUInt32(2, delInfo.lowGuid);
@@ -277,7 +277,7 @@ public:
if (titleInfo && target->HasTitle(titleInfo))
{
- std::string name = titleInfo->name;
+ std::string name = target->getGender() == GENDER_MALE ? titleInfo->nameMale : titleInfo->nameFemale;
if (name.empty())
continue;
diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp
index ee35b16c061..1fe7c6adf5b 100644
--- a/src/server/scripts/Commands/cs_cheat.cpp
+++ b/src/server/scripts/Commands/cs_cheat.cpp
@@ -33,7 +33,7 @@ class cheat_commandscript : public CommandScript
public:
cheat_commandscript() : CommandScript("cheat_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand cheatCommandTable[] =
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 6186e0d3ddc..d0a005f356e 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -41,7 +41,7 @@ class debug_commandscript : public CommandScript
public:
debug_commandscript() : CommandScript("debug_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand debugPlayCommandTable[] =
{
@@ -928,7 +928,7 @@ public:
Map* map = handler->GetSession()->GetPlayer()->GetMap();
- if (!v->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_VEHICLE), map, handler->GetSession()->GetPlayer()->GetPhaseMask(), entry, id, handler->GetSession()->GetPlayer()->GetTeam(), x, y, z, o))
+ if (!v->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_VEHICLE), map, handler->GetSession()->GetPlayer()->GetPhaseMask(), entry, x, y, z, o, nullptr, id))
{
delete v;
return false;
@@ -1376,8 +1376,7 @@ public:
}
else
{
- Position pos;
- transport->GetPosition(&pos);
+ Position pos = transport->GetPosition();
handler->PSendSysMessage("Transport %s is %s", transport->GetName().c_str(), transport->GetGoState() == GO_STATE_READY ? "stopped" : "moving");
handler->PSendSysMessage("Transport position: %s", pos.ToString().c_str());
return true;
diff --git a/src/server/scripts/Commands/cs_deserter.cpp b/src/server/scripts/Commands/cs_deserter.cpp
index 5a9c799a4a8..9dcecba05ef 100644
--- a/src/server/scripts/Commands/cs_deserter.cpp
+++ b/src/server/scripts/Commands/cs_deserter.cpp
@@ -43,7 +43,7 @@ public:
* @brief Returns the command structure for the system.
*/
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand deserterInstanceCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_disable.cpp b/src/server/scripts/Commands/cs_disable.cpp
index 5d7296ca495..8cf60e4bb28 100644
--- a/src/server/scripts/Commands/cs_disable.cpp
+++ b/src/server/scripts/Commands/cs_disable.cpp
@@ -37,7 +37,7 @@ class disable_commandscript : public CommandScript
public:
disable_commandscript() : CommandScript("disable_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand removeDisableCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_event.cpp b/src/server/scripts/Commands/cs_event.cpp
index 849a8b5634e..b89c5686511 100644
--- a/src/server/scripts/Commands/cs_event.cpp
+++ b/src/server/scripts/Commands/cs_event.cpp
@@ -33,7 +33,7 @@ class event_commandscript : public CommandScript
public:
event_commandscript() : CommandScript("event_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand eventCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index 5b58ccf6474..eebb1b80002 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -36,7 +36,7 @@ class gm_commandscript : public CommandScript
public:
gm_commandscript() : CommandScript("gm_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand gmCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp
index 691055d536d..f639fdbdd10 100644
--- a/src/server/scripts/Commands/cs_go.cpp
+++ b/src/server/scripts/Commands/cs_go.cpp
@@ -35,7 +35,7 @@ class go_commandscript : public CommandScript
public:
go_commandscript() : CommandScript("go_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand goCommandTable[] =
{
@@ -441,6 +441,7 @@ public:
// update to parent zone if exist (client map show only zones without parents)
AreaTableEntry const* zoneEntry = areaEntry->zone ? GetAreaEntryByAreaID(areaEntry->zone) : areaEntry;
+ ASSERT(zoneEntry);
Map const* map = sMapMgr->CreateBaseMap(zoneEntry->mapid);
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index 2aa78964ffd..e556854c2ab 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -166,7 +166,11 @@ public:
// fill the gameobject data and save to the db
object->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), player->GetPhaseMgr().GetPhaseMaskForSpawn());
+ // delete the old object and do a clean load from DB with a fresh new GameObject instance.
+ // this is required to avoid weird behavior and memory leaks
+ delete object;
+ object = new GameObject();
// this will generate a new guid if the object is in an instance
if (!object->LoadGameObjectFromDB(guidLow, map))
{
@@ -209,6 +213,13 @@ public:
uint32 objectId = atoi(id);
+ if (!sObjectMgr->GetGameObjectTemplate(objectId))
+ {
+ handler->PSendSysMessage(LANG_GAMEOBJECT_NOT_EXIST, objectId);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
player->SummonGameObject(objectId, x, y, z, ang, 0, 0, rot2, rot3, spawntm);
return true;
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index c236af40e45..477eb3649b7 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -28,7 +28,7 @@ class group_commandscript : public CommandScript
public:
group_commandscript() : CommandScript("group_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand groupCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_honor.cpp b/src/server/scripts/Commands/cs_honor.cpp
index 40663ca5a10..6b76f753403 100644
--- a/src/server/scripts/Commands/cs_honor.cpp
+++ b/src/server/scripts/Commands/cs_honor.cpp
@@ -33,7 +33,7 @@ class honor_commandscript : public CommandScript
public:
honor_commandscript() : CommandScript("honor_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand honorAddCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp
index 93cabaeeca7..b8d69c250bb 100644
--- a/src/server/scripts/Commands/cs_instance.cpp
+++ b/src/server/scripts/Commands/cs_instance.cpp
@@ -35,7 +35,7 @@ class instance_commandscript : public CommandScript
public:
instance_commandscript() : CommandScript("instance_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand instanceCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp
index 722c863ac6c..41d740de3c2 100644
--- a/src/server/scripts/Commands/cs_learn.cpp
+++ b/src/server/scripts/Commands/cs_learn.cpp
@@ -36,7 +36,7 @@ class learn_commandscript : public CommandScript
public:
learn_commandscript() : CommandScript("learn_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand learnAllMyCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp
index 2c6534be8a2..2bb2ff24aae 100644
--- a/src/server/scripts/Commands/cs_lfg.cpp
+++ b/src/server/scripts/Commands/cs_lfg.cpp
@@ -41,7 +41,7 @@ class lfg_commandscript : public CommandScript
public:
lfg_commandscript() : CommandScript("lfg_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand lfgCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp
index 0021f96c7a2..d3f1e6bb092 100644
--- a/src/server/scripts/Commands/cs_list.cpp
+++ b/src/server/scripts/Commands/cs_list.cpp
@@ -36,7 +36,7 @@ class list_commandscript : public CommandScript
public:
list_commandscript() : CommandScript("list_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand listCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp
index 0a382b794e5..15d065f127e 100644
--- a/src/server/scripts/Commands/cs_lookup.cpp
+++ b/src/server/scripts/Commands/cs_lookup.cpp
@@ -37,7 +37,7 @@ class lookup_commandscript : public CommandScript
public:
lookup_commandscript() : CommandScript("lookup_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand lookupPlayerCommandTable[] =
{
@@ -1072,7 +1072,8 @@ public:
CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id);
if (titleInfo)
{
- std::string name = titleInfo->name;
+ std::string name = target->getGender() == GENDER_MALE ? titleInfo->nameMale : titleInfo->nameFemale;
+
if (name.empty())
continue;
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 2be40b03a3d..bff12d4330e 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -42,7 +42,7 @@ class misc_commandscript : public CommandScript
public:
misc_commandscript() : CommandScript("misc_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand commandTable[] =
{
@@ -808,10 +808,13 @@ public:
if (handler->HasLowerSecurity(target, 0))
return false;
- char const* kickReason = strtok(NULL, "\r");
std::string kickReasonStr = "No reason";
- if (kickReason != NULL)
- kickReasonStr = kickReason;
+ if (*args != '\0')
+ {
+ char const* kickReason = strtok(NULL, "\r");
+ if (kickReason != NULL)
+ kickReasonStr = kickReason;
+ }
if (sWorld->getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD))
sWorld->SendWorldText(LANG_COMMAND_KICKMESSAGE_WORLD, (handler->GetSession() ? handler->GetSession()->GetPlayerName().c_str() : "Server"), playerName.c_str(), kickReasonStr.c_str());
@@ -1014,7 +1017,6 @@ public:
int32 area = GetAreaFlagByAreaID(atoi((char*)args));
int32 offset = area / 32;
- uint32 val = uint32((1 << (area % 32)));
if (area<0 || offset >= PLAYER_EXPLORED_ZONES_SIZE)
{
@@ -1023,6 +1025,7 @@ public:
return false;
}
+ uint32 val = uint32((1 << (area % 32)));
uint32 currFields = playerTarget->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset);
playerTarget->SetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset, uint32((currFields | val)));
@@ -1045,7 +1048,6 @@ public:
int32 area = GetAreaFlagByAreaID(atoi((char*)args));
int32 offset = area / 32;
- uint32 val = uint32((1 << (area % 32)));
if (area < 0 || offset >= PLAYER_EXPLORED_ZONES_SIZE)
{
@@ -1054,6 +1056,7 @@ public:
return false;
}
+ uint32 val = uint32((1 << (area % 32)));
uint32 currFields = playerTarget->GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset);
playerTarget->SetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset, uint32((currFields ^ val)));
diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp
index 37e7177cbc6..19a276fbbc0 100644
--- a/src/server/scripts/Commands/cs_mmaps.cpp
+++ b/src/server/scripts/Commands/cs_mmaps.cpp
@@ -41,7 +41,7 @@ class mmaps_commandscript : public CommandScript
public:
mmaps_commandscript() : CommandScript("mmaps_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand mmapCommandTable[] =
{
@@ -127,8 +127,8 @@ public:
int32 gx = 32 - player->GetPositionX() / SIZE_OF_GRIDS;
int32 gy = 32 - player->GetPositionY() / SIZE_OF_GRIDS;
- handler->PSendSysMessage("%03u%02i%02i.mmtile", player->GetMapId(), gy, gx);
- handler->PSendSysMessage("gridloc [%i, %i]", gx, gy);
+ handler->PSendSysMessage("%03u%02i%02i.mmtile", player->GetMapId(), gx, gy);
+ handler->PSendSysMessage("gridloc [%i, %i]", gy, gx);
// calculate navmesh tile location
dtNavMesh const* navmesh = MMAP::MMapFactory::createOrGetMMapManager()->GetNavMesh(handler->GetSession()->GetPlayer()->GetMapId());
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 98b1f688867..e4b9737a544 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -37,7 +37,7 @@ class modify_commandscript : public CommandScript
public:
modify_commandscript() : CommandScript("modify_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand modifyspeedCommandTable[] =
{
@@ -476,7 +476,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -524,7 +524,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -569,7 +569,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -614,7 +614,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
@@ -659,7 +659,7 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Player* target = handler->getSelectedPlayerOrSelf();
if (!target)
{
handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 9bfa4f0334f..e7aeb289833 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -150,7 +150,7 @@ class npc_commandscript : public CommandScript
public:
npc_commandscript() : CommandScript("npc_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand npcAddCommandTable[] =
{
@@ -227,14 +227,6 @@ public:
if (!charID)
return false;
- char* team = strtok(NULL, " ");
- int32 teamval = 0;
- if (team)
- teamval = atoi(team);
-
- if (teamval < 0)
- teamval = 0;
-
uint32 id = atoi(charID);
if (!sObjectMgr->GetCreatureTemplate(id))
return false;
@@ -266,7 +258,7 @@ public:
}
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, 0, (uint32)teamval, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, x, y, z, o))
{
delete creature;
return false;
@@ -601,17 +593,13 @@ public:
// Update in memory..
if (CreatureTemplate const* cinfo = creature->GetCreatureTemplate())
- {
- const_cast<CreatureTemplate*>(cinfo)->faction_A = factionId;
- const_cast<CreatureTemplate*>(cinfo)->faction_H = factionId;
- }
+ const_cast<CreatureTemplate*>(cinfo)->faction = factionId;
// ..and DB
PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_FACTION);
stmt->setUInt16(0, uint16(factionId));
- stmt->setUInt16(1, uint16(factionId));
- stmt->setUInt32(2, creature->GetEntry());
+ stmt->setUInt32(1, creature->GetEntry());
WorldDatabase.Execute(stmt);
diff --git a/src/server/scripts/Commands/cs_pet.cpp b/src/server/scripts/Commands/cs_pet.cpp
index 1a5df88f144..82f99501a58 100644
--- a/src/server/scripts/Commands/cs_pet.cpp
+++ b/src/server/scripts/Commands/cs_pet.cpp
@@ -27,7 +27,7 @@ class pet_commandscript : public CommandScript
public:
pet_commandscript() : CommandScript("pet_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand petCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp
index 01e28b0910d..6004cd0bc89 100644
--- a/src/server/scripts/Commands/cs_quest.cpp
+++ b/src/server/scripts/Commands/cs_quest.cpp
@@ -33,7 +33,7 @@ class quest_commandscript : public CommandScript
public:
quest_commandscript() : CommandScript("quest_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand questCommandTable[] =
{
@@ -91,13 +91,8 @@ public:
// ok, normal (creature/GO starting) quest
if (player->CanAddQuest(quest, true))
- {
player->AddQuestAndCheckCompletion(quest, NULL);
- if (player->CanCompleteQuest(entry))
- player->CompleteQuest(entry);
- }
-
return true;
}
@@ -147,7 +142,7 @@ public:
}
}
- player->RemoveActiveQuest(entry);
+ player->RemoveActiveQuest(entry, false);
player->RemoveRewardedQuest(entry);
handler->SendSysMessage(LANG_COMMAND_QUEST_REMOVED);
diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp
index df4ce993433..47fa01837f6 100644
--- a/src/server/scripts/Commands/cs_rbac.cpp
+++ b/src/server/scripts/Commands/cs_rbac.cpp
@@ -320,7 +320,7 @@ public:
handler->PSendSysMessage(LANG_RBAC_LIST_ELEMENT, permission->GetId(), permission->GetName().c_str());
}
}
- handler->PSendSysMessage(LANG_RBAC_LIST_HEADER_DENIED, command->rbac->GetId(), command->rbac->GetName().c_str());
+ handler->PSendSysMessage(LANG_RBAC_LIST_HEADER_BY_SEC_LEVEL, command->rbac->GetId(), command->rbac->GetName().c_str(), command->rbac->GetSecurityLevel());
rbac::RBACPermissionContainer const& defaultPermissions = sAccountMgr->GetRBACDefaultPermissions(command->rbac->GetSecurityLevel());
if (defaultPermissions.empty())
handler->PSendSysMessage("%s", handler->GetTrinityString(LANG_RBAC_LIST_EMPTY));
diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp
index 4b2b0480a72..0274de02ae0 100644
--- a/src/server/scripts/Commands/cs_reload.cpp
+++ b/src/server/scripts/Commands/cs_reload.cpp
@@ -50,115 +50,116 @@ public:
{
static ChatCommand reloadAllCommandTable[] =
{
- { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "", NULL },
- { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "", NULL },
- { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "", NULL },
- { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "", NULL },
- { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "", NULL },
- { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "", NULL },
- { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "", NULL },
- { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "", NULL },
- { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "", NULL },
- { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "", NULL },
- { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "achievement", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ACHIEVEMENT, true, &HandleReloadAllAchievementCommand, "", NULL },
+ { "area", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_AREA, true, &HandleReloadAllAreaCommand, "", NULL },
+ { "gossips", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_GOSSIP, true, &HandleReloadAllGossipsCommand, "", NULL },
+ { "item", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_ITEM, true, &HandleReloadAllItemCommand, "", NULL },
+ { "locales", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOCALES, true, &HandleReloadAllLocalesCommand, "", NULL },
+ { "loot", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_LOOT, true, &HandleReloadAllLootCommand, "", NULL },
+ { "npc", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_NPC, true, &HandleReloadAllNpcCommand, "", NULL },
+ { "quest", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_QUEST, true, &HandleReloadAllQuestCommand, "", NULL },
+ { "scripts", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SCRIPTS, true, &HandleReloadAllScriptsCommand, "", NULL },
+ { "spell", rbac::RBAC_PERM_COMMAND_RELOAD_ALL_SPELL, true, &HandleReloadAllSpellCommand, "", NULL },
+ { "", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, &HandleReloadAllCommand, "", NULL },
+ { NULL, 0, false, NULL, "", NULL }
};
static ChatCommand reloadCommandTable[] =
{
- { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "", NULL },
- { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "", NULL },
- { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL },
- { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "", NULL },
- { "all", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, NULL, "", reloadAllCommandTable },
- { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "", NULL },
- { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "", NULL },
- { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL },
- { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "", NULL },
- { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "", NULL },
- { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "", NULL },
- { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "", NULL },
- { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "", NULL },
- { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "", NULL },
- { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "", NULL },
- { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL },
- { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "", NULL },
- { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "", NULL },
- { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL },
- { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "", NULL },
- //{ "db_script_string", rbac::RBAC_PERM_COMMAND_RELOAD_, true, &HandleReloadDbScriptStringCommand, "", NULL },
- { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "", NULL },
- { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL },
- { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "", NULL },
- { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "", NULL },
- { "game_graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "", NULL },
- { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "", NULL },
- { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "", NULL },
- { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL },
- { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "", NULL },
- { "gm_tickets", rbac::RBAC_PERM_COMMAND_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "", NULL },
- { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "", NULL },
- { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "", NULL },
- { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "", NULL },
- { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "", NULL },
- { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "", NULL },
- { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL },
- { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "", NULL },
- { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "", NULL },
- { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "", NULL },
- { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL },
- { "locales_item", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "", NULL },
- { "locales_npc_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "", NULL },
- { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "", NULL },
- { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL },
- { "locales_quest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "", NULL },
- { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "", NULL },
- { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "", NULL },
- { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "", NULL },
- { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "", NULL},
- { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "", NULL },
- { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "", NULL },
- { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "", NULL },
- { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL},
- { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "", NULL },
- { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL },
- { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "", NULL },
- { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "", NULL },
- { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "", NULL },
- { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL },
- { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "", NULL },
- { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
- { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
- { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL },
- { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL },
- { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL },
- { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL },
- { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "", NULL },
- { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "", NULL },
- { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "", NULL },
- { "spell_bonus_data", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_BONUS_DATA, true, &HandleReloadSpellBonusesCommand, "", NULL },
- { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "", NULL },
- { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "", NULL },
- { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "", NULL },
- { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "", NULL },
- { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "", NULL },
- { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "", NULL },
- { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "", NULL },
- { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "", NULL },
- { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "", NULL },
- { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "", NULL },
- { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL },
- { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "", NULL },
- { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "", NULL },
- { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "", NULL },
- { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "", NULL },
- { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "", NULL },
- { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL },
- { NULL, 0, false, NULL, "", NULL }
+ { "auctions", rbac::RBAC_PERM_COMMAND_RELOAD_AUCTIONS, true, &HandleReloadAuctionsCommand, "", NULL },
+ { "access_requirement", rbac::RBAC_PERM_COMMAND_RELOAD_ACCESS_REQUIREMENT, true, &HandleReloadAccessRequirementCommand, "", NULL },
+ { "achievement_criteria_data", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_CRITERIA_DATA, true, &HandleReloadAchievementCriteriaDataCommand, "", NULL },
+ { "achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_ACHIEVEMENT_REWARD, true, &HandleReloadAchievementRewardCommand, "", NULL },
+ { "all", rbac::RBAC_PERM_COMMAND_RELOAD_ALL, true, NULL, "", reloadAllCommandTable },
+ { "areatrigger_involvedrelation", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_INVOLVEDRELATION, true, &HandleReloadQuestAreaTriggersCommand, "", NULL },
+ { "areatrigger_tavern", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TAVERN, true, &HandleReloadAreaTriggerTavernCommand, "", NULL },
+ { "areatrigger_teleport", rbac::RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TELEPORT, true, &HandleReloadAreaTriggerTeleportCommand, "", NULL },
+ { "autobroadcast", rbac::RBAC_PERM_COMMAND_RELOAD_AUTOBROADCAST, true, &HandleReloadAutobroadcastCommand, "", NULL },
+ { "broadcast_text", rbac::RBAC_PERM_COMMAND_RELOAD_BROADCAST_TEXT, true, &HandleReloadBroadcastTextCommand, "", NULL },
+ { "command", rbac::RBAC_PERM_COMMAND_RELOAD_COMMAND, true, &HandleReloadCommandCommand, "", NULL },
+ { "conditions", rbac::RBAC_PERM_COMMAND_RELOAD_CONDITIONS, true, &HandleReloadConditions, "", NULL },
+ { "config", rbac::RBAC_PERM_COMMAND_RELOAD_CONFIG, true, &HandleReloadConfigCommand, "", NULL },
+ { "creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEXT, true, &HandleReloadCreatureText, "", NULL },
+ { "creature_questender", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTENDER, true, &HandleReloadCreatureQuestEnderCommand, "", NULL },
+ { "creature_linked_respawn", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LINKED_RESPAWN, true, &HandleReloadLinkedRespawnCommand, "", NULL },
+ { "creature_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL },
+ { "creature_onkill_reputation", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_ONKILL_REPUTATION, true, &HandleReloadOnKillReputationCommand, "", NULL },
+ { "creature_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_QUESTSTARTER, true, &HandleReloadCreatureQuestStarterCommand, "", NULL },
+ { "creature_summon_groups", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_SUMMON_GROUPS, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL },
+ { "creature_template", rbac::RBAC_PERM_COMMAND_RELOAD_CREATURE_TEMPLATE, true, &HandleReloadCreatureTemplateCommand, "", NULL },
+ //{ "db_script_string", rbac::RBAC_PERM_COMMAND_RELOAD_, true, &HandleReloadDbScriptStringCommand, "", NULL },
+ { "disables", rbac::RBAC_PERM_COMMAND_RELOAD_DISABLES, true, &HandleReloadDisablesCommand, "", NULL },
+ { "disenchant_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_DISENCHANT_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesDisenchantCommand, "", NULL },
+ { "event_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_EVENT_SCRIPTS, true, &HandleReloadEventScriptsCommand, "", NULL },
+ { "fishing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_FISHING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesFishingCommand, "", NULL },
+ { "game_graveyard_zone", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_GRAVEYARD_ZONE, true, &HandleReloadGameGraveyardZoneCommand, "", NULL },
+ { "game_tele", rbac::RBAC_PERM_COMMAND_RELOAD_GAME_TELE, true, &HandleReloadGameTeleCommand, "", NULL },
+ { "gameobject_questender", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTENDER, true, &HandleReloadGOQuestEnderCommand, "", NULL },
+ { "gameobject_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUEST_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesGameobjectCommand, "", NULL },
+ { "gameobject_queststarter", rbac::RBAC_PERM_COMMAND_RELOAD_GAMEOBJECT_QUESTSTARTER, true, &HandleReloadGOQuestStarterCommand, "", NULL },
+ { "gm_tickets", rbac::RBAC_PERM_COMMAND_RELOAD_GM_TICKETS, true, &HandleReloadGMTicketsCommand, "", NULL },
+ { "gossip_menu", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU, true, &HandleReloadGossipMenuCommand, "", NULL },
+ { "gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_GOSSIP_MENU_OPTION, true, &HandleReloadGossipMenuOptionCommand, "", NULL },
+ { "item_enchantment_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_ENCHANTMENT_TEMPLATE, true, &HandleReloadItemEnchantementsCommand, "", NULL },
+ { "item_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_ITEM_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesItemCommand, "", NULL },
+ { "lfg_dungeon_rewards", rbac::RBAC_PERM_COMMAND_RELOAD_LFG_DUNGEON_REWARDS, true, &HandleReloadLfgRewardsCommand, "", NULL },
+ { "locales_achievement_reward", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ACHIEVEMENT_REWARD, true, &HandleReloadLocalesAchievementRewardCommand, "", NULL },
+ { "locales_creature", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE, true, &HandleReloadLocalesCreatureCommand, "", NULL },
+ { "locales_creature_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_CRETURE_TEXT, true, &HandleReloadLocalesCreatureTextCommand, "", NULL },
+ { "locales_gameobject", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GAMEOBJECT, true, &HandleReloadLocalesGameobjectCommand, "", NULL },
+ { "locales_gossip_menu_option", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_GOSSIP_MENU_OPTION, true, &HandleReloadLocalesGossipMenuOptionCommand, "", NULL },
+ { "locales_item", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_ITEM, true, &HandleReloadLocalesItemCommand, "", NULL },
+ { "locales_npc_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_NPC_TEXT, true, &HandleReloadLocalesNpcTextCommand, "", NULL },
+ { "locales_page_text", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_PAGE_TEXT, true, &HandleReloadLocalesPageTextCommand, "", NULL },
+ { "locales_points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_POINTS_OF_INTEREST, true, &HandleReloadLocalesPointsOfInterestCommand, "", NULL },
+ { "locales_quest", rbac::RBAC_PERM_COMMAND_RELOAD_LOCALES_QUEST, true, &HandleReloadLocalesQuestCommand, "", NULL },
+ { "mail_level_reward", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LEVEL_REWARD, true, &HandleReloadMailLevelRewardCommand, "", NULL },
+ { "mail_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MAIL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMailCommand, "", NULL },
+ { "milling_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_MILLING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesMillingCommand, "", NULL },
+ { "npc_spellclick_spells", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_SPELLCLICK_SPELLS, true, &HandleReloadSpellClickSpellsCommand, "", NULL },
+ { "npc_trainer", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_TRAINER, true, &HandleReloadNpcTrainerCommand, "", NULL },
+ { "npc_vendor", rbac::RBAC_PERM_COMMAND_RELOAD_NPC_VENDOR, true, &HandleReloadNpcVendorCommand, "", NULL },
+ { "page_text", rbac::RBAC_PERM_COMMAND_RELOAD_PAGE_TEXT, true, &HandleReloadPageTextsCommand, "", NULL },
+ { "pickpocketing_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PICKPOCKETING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesPickpocketingCommand, "", NULL },
+ { "points_of_interest", rbac::RBAC_PERM_COMMAND_RELOAD_POINTS_OF_INTEREST, true, &HandleReloadPointsOfInterestCommand, "", NULL },
+ { "prospecting_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_PROSPECTING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL },
+ { "quest_poi", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_POI, true, &HandleReloadQuestPOICommand, "", NULL },
+ { "quest_template", rbac::RBAC_PERM_COMMAND_RELOAD_QUEST_TEMPLATE, true, &HandleReloadQuestTemplateCommand, "", NULL },
+ { "rbac", rbac::RBAC_PERM_COMMAND_RELOAD_RBAC, true, &HandleReloadRBACCommand, "", NULL },
+ { "reference_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_REFERENCE_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL },
+ { "reserved_name", rbac::RBAC_PERM_COMMAND_RELOAD_RESERVED_NAME, true, &HandleReloadReservedNameCommand, "", NULL },
+ { "reputation_reward_rate", rbac::RBAC_PERM_COMMAND_RELOAD_REPUTATION_REWARD_RATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
+ { "reputation_spillover_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPILLOVER_TEMPLATE, true, &HandleReloadReputationRewardRateCommand, "", NULL },
+ { "skill_discovery_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_DISCOVERY_TEMPLATE, true, &HandleReloadSkillDiscoveryTemplateCommand, "", NULL },
+ { "skill_extra_item_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_EXTRA_ITEM_TEMPLATE, true, &HandleReloadSkillExtraItemTemplateCommand, "", NULL },
+ { "skill_fishing_base_level", rbac::RBAC_PERM_COMMAND_RELOAD_SKILL_FISHING_BASE_LEVEL, true, &HandleReloadSkillFishingBaseLevelCommand, "", NULL },
+ { "skinning_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SKINNING_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSkinningCommand, "", NULL },
+ { "smart_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SMART_SCRIPTS, true, &HandleReloadSmartScripts, "", NULL },
+ { "spell_required", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_REQUIRED, true, &HandleReloadSpellRequiredCommand, "", NULL },
+ { "spell_area", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_AREA, true, &HandleReloadSpellAreaCommand, "", NULL },
+ { "spell_bonus_data", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_BONUS_DATA, true, &HandleReloadSpellBonusesCommand, "", NULL },
+ { "spell_group", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP, true, &HandleReloadSpellGroupsCommand, "", NULL },
+ { "spell_learn_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LEARN_SPELL, true, &HandleReloadSpellLearnSpellCommand, "", NULL },
+ { "spell_loot_template", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LOOT_TEMPLATE, true, &HandleReloadLootTemplatesSpellCommand, "", NULL },
+ { "spell_linked_spell", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_LINKED_SPELL, true, &HandleReloadSpellLinkedSpellCommand, "", NULL },
+ { "spell_pet_auras", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PET_AURAS, true, &HandleReloadSpellPetAurasCommand, "", NULL },
+ { "spell_proc_event", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC_EVENT, true, &HandleReloadSpellProcEventCommand, "", NULL },
+ { "spell_proc", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_PROC, true, &HandleReloadSpellProcsCommand, "", NULL },
+ { "spell_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_SCRIPTS, true, &HandleReloadSpellScriptsCommand, "", NULL },
+ { "spell_target_position", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_TARGET_POSITION, true, &HandleReloadSpellTargetPositionCommand, "", NULL },
+ { "spell_threats", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_THREATS, true, &HandleReloadSpellThreatsCommand, "", NULL },
+ { "spell_group_stack_rules", rbac::RBAC_PERM_COMMAND_RELOAD_SPELL_GROUP_STACK_RULES, true, &HandleReloadSpellGroupStackRulesCommand, "", NULL },
+ { "trinity_string", rbac::RBAC_PERM_COMMAND_RELOAD_TRINITY_STRING, true, &HandleReloadTrinityStringCommand, "", NULL },
+ { "warden_action", rbac::RBAC_PERM_COMMAND_RELOAD_WARDEN_ACTION, true, &HandleReloadWardenactionCommand, "", NULL },
+ { "waypoint_scripts", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_SCRIPTS, true, &HandleReloadWpScriptsCommand, "", NULL },
+ { "waypoint_data", rbac::RBAC_PERM_COMMAND_RELOAD_WAYPOINT_DATA, true, &HandleReloadWpCommand, "", NULL },
+ { "vehicle_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_ACCESORY, true, &HandleReloadVehicleAccessoryCommand, "", NULL },
+ { "vehicle_template_accessory", rbac::RBAC_PERM_COMMAND_RELOAD_VEHICLE_TEMPLATE_ACCESSORY, true, &HandleReloadVehicleTemplateAccessoryCommand, "", NULL },
+ { NULL, 0, false, NULL, "", NULL }
};
static ChatCommand commandTable[] =
{
- { "reload", rbac::RBAC_PERM_COMMAND_RELOAD, true, NULL, "", reloadCommandTable },
- { NULL, 0, false, NULL, "", NULL }
+ { "reload", rbac::RBAC_PERM_COMMAND_RELOAD, true, NULL, "", reloadCommandTable },
+ { NULL, 0, false, NULL, "", NULL }
};
return commandTable;
}
@@ -373,6 +374,15 @@ public:
return true;
}
+ static bool HandleReloadBroadcastTextCommand(ChatHandler* handler, const char* /*args*/)
+ {
+ TC_LOG_INFO("misc", "Re-Loading Broadcast texts...");
+ sObjectMgr->LoadBroadcastTexts();
+ sObjectMgr->LoadBroadcastTextLocales();
+ handler->SendGlobalGMSysMessage("DB table `broadcast_text` reloaded.");
+ return true;
+ }
+
static bool HandleReloadCommandCommand(ChatHandler* handler, const char* /*args*/)
{
handler->SetLoadCommandTable(true);
@@ -446,66 +456,65 @@ public:
cInfo->maxlevel = fields[14].GetUInt8();
cInfo->expansion = fields[15].GetUInt16();
cInfo->expansionUnknown = fields[16].GetUInt16();
- cInfo->faction_A = fields[17].GetUInt16();
- cInfo->faction_H = fields[18].GetUInt16();
- cInfo->npcflag = fields[19].GetUInt32();
- cInfo->speed_walk = fields[20].GetFloat();
- cInfo->speed_run = fields[21].GetFloat();
- cInfo->scale = fields[22].GetFloat();
- cInfo->rank = fields[23].GetUInt8();
- cInfo->mindmg = fields[24].GetFloat();
- cInfo->maxdmg = fields[25].GetFloat();
- cInfo->dmgschool = fields[26].GetUInt8();
- cInfo->attackpower = fields[27].GetUInt32();
- cInfo->dmg_multiplier = fields[28].GetFloat();
- cInfo->baseattacktime = fields[29].GetUInt32();
- cInfo->rangeattacktime = fields[30].GetUInt32();
- cInfo->unit_class = fields[31].GetUInt8();
- cInfo->unit_flags = fields[32].GetUInt32();
- cInfo->unit_flags2 = fields[33].GetUInt32();
- cInfo->dynamicflags = fields[34].GetUInt32();
- cInfo->family = fields[35].GetUInt8();
- cInfo->trainer_type = fields[36].GetUInt8();
- cInfo->trainer_class = fields[37].GetUInt8();
- cInfo->trainer_race = fields[38].GetUInt8();
- cInfo->minrangedmg = fields[39].GetFloat();
- cInfo->maxrangedmg = fields[40].GetFloat();
- cInfo->rangedattackpower = fields[41].GetUInt16();
- cInfo->type = fields[42].GetUInt8();
- cInfo->type_flags = fields[43].GetUInt32();
- cInfo->type_flags2 = fields[44].GetUInt32();
- cInfo->lootid = fields[45].GetUInt32();
- cInfo->pickpocketLootId = fields[46].GetUInt32();
- cInfo->SkinLootId = fields[47].GetUInt32();
+ cInfo->faction = fields[17].GetUInt16();
+ cInfo->npcflag = fields[18].GetUInt32();
+ cInfo->speed_walk = fields[19].GetFloat();
+ cInfo->speed_run = fields[20].GetFloat();
+ cInfo->scale = fields[21].GetFloat();
+ cInfo->rank = fields[22].GetUInt8();
+ cInfo->mindmg = fields[23].GetFloat();
+ cInfo->maxdmg = fields[24].GetFloat();
+ cInfo->dmgschool = fields[25].GetUInt8();
+ cInfo->attackpower = fields[26].GetUInt32();
+ cInfo->dmg_multiplier = fields[27].GetFloat();
+ cInfo->baseattacktime = fields[28].GetUInt32();
+ cInfo->rangeattacktime = fields[29].GetUInt32();
+ cInfo->unit_class = fields[30].GetUInt8();
+ cInfo->unit_flags = fields[31].GetUInt32();
+ cInfo->unit_flags2 = fields[32].GetUInt32();
+ cInfo->dynamicflags = fields[33].GetUInt32();
+ cInfo->family = fields[34].GetUInt8();
+ cInfo->trainer_type = fields[35].GetUInt8();
+ cInfo->trainer_class = fields[36].GetUInt8();
+ cInfo->trainer_race = fields[37].GetUInt8();
+ cInfo->minrangedmg = fields[38].GetFloat();
+ cInfo->maxrangedmg = fields[39].GetFloat();
+ cInfo->rangedattackpower = fields[40].GetUInt16();
+ cInfo->type = fields[41].GetUInt8();
+ cInfo->type_flags = fields[42].GetUInt32();
+ cInfo->type_flags2 = fields[43].GetUInt32();
+ cInfo->lootid = fields[44].GetUInt32();
+ cInfo->pickpocketLootId = fields[45].GetUInt32();
+ cInfo->SkinLootId = fields[46].GetUInt32();
for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i)
- cInfo->resistance[i] = fields[48 + i -1].GetUInt16();
+ cInfo->resistance[i] = fields[47 + i -1].GetUInt16();
for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i)
- cInfo->spells[i] = fields[54 + i].GetUInt32();
-
- cInfo->PetSpellDataId = fields[62].GetUInt32();
- cInfo->VehicleId = fields[63].GetUInt32();
- cInfo->mingold = fields[64].GetUInt32();
- cInfo->maxgold = fields[65].GetUInt32();
- cInfo->AIName = fields[66].GetString();
- cInfo->MovementType = fields[67].GetUInt8();
- cInfo->InhabitType = fields[68].GetUInt8();
- cInfo->HoverHeight = fields[69].GetFloat();
- cInfo->ModHealth = fields[70].GetFloat();
- cInfo->ModMana = fields[71].GetFloat();
- cInfo->ModManaExtra = fields[72].GetFloat();
- cInfo->ModArmor = fields[73].GetFloat();
- cInfo->RacialLeader = fields[74].GetBool();
+ cInfo->spells[i] = fields[53 + i].GetUInt32();
+
+ cInfo->PetSpellDataId = fields[61].GetUInt32();
+ cInfo->VehicleId = fields[62].GetUInt32();
+ cInfo->mingold = fields[63].GetUInt32();
+ cInfo->maxgold = fields[64].GetUInt32();
+ cInfo->AIName = fields[65].GetString();
+ cInfo->MovementType = fields[66].GetUInt8();
+ cInfo->InhabitType = fields[67].GetUInt8();
+ cInfo->HoverHeight = fields[68].GetFloat();
+ cInfo->ModHealth = fields[69].GetFloat();
+ cInfo->ModMana = fields[70].GetFloat();
+ cInfo->ModManaExtra = fields[71].GetFloat();
+ cInfo->ModArmor = fields[72].GetFloat();
+ cInfo->RacialLeader = fields[73].GetBool();
for (uint8 i = 0; i < MAX_CREATURE_QUEST_ITEMS; ++i)
- cInfo->questItems[i] = fields[75 + i].GetUInt32();
+ cInfo->questItems[i] = fields[74 + i].GetUInt32();
- cInfo->movementId = fields[81].GetUInt32();
- cInfo->RegenHealth = fields[82].GetBool();
- cInfo->MechanicImmuneMask = fields[83].GetUInt32();
- cInfo->flags_extra = fields[84].GetUInt32();
- cInfo->ScriptID = sObjectMgr->GetScriptId(fields[85].GetCString());
+ cInfo->movementId = fields[80].GetUInt32();
+ cInfo->RegenHealth = fields[81].GetBool();
+ cInfo->MechanicImmuneMask = fields[82].GetUInt32();
+ cInfo->flags_extra = fields[83].GetUInt32();
+ cInfo->ScriptID = sObjectMgr->GetScriptId(fields[84].GetCString());
sObjectMgr->CheckCreatureTemplate(cInfo);
}
diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp
index 2251677bd57..e23a9d81787 100644
--- a/src/server/scripts/Commands/cs_reset.cpp
+++ b/src/server/scripts/Commands/cs_reset.cpp
@@ -35,7 +35,7 @@ class reset_commandscript : public CommandScript
public:
reset_commandscript() : CommandScript("reset_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand resetCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp
index 58970a91e20..486645df290 100644
--- a/src/server/scripts/Commands/cs_send.cpp
+++ b/src/server/scripts/Commands/cs_send.cpp
@@ -27,7 +27,7 @@ class send_commandscript : public CommandScript
public:
send_commandscript() : CommandScript("send_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand sendCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp
index 4cd5e1f6274..04cc9ae4ad5 100644
--- a/src/server/scripts/Commands/cs_server.cpp
+++ b/src/server/scripts/Commands/cs_server.cpp
@@ -35,7 +35,7 @@ class server_commandscript : public CommandScript
public:
server_commandscript() : CommandScript("server_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand serverIdleRestartCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp
index f6618227ae6..ad77464b6e1 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -35,7 +35,7 @@ class tele_commandscript : public CommandScript
public:
tele_commandscript() : CommandScript("tele_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand teleCommandTable[] =
{
diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp
index bed09cf3c22..b1e5bd0ca98 100644
--- a/src/server/scripts/Commands/cs_titles.cpp
+++ b/src/server/scripts/Commands/cs_titles.cpp
@@ -33,7 +33,7 @@ class titles_commandscript : public CommandScript
public:
titles_commandscript() : CommandScript("titles_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand titlesSetCommandTable[] =
{
@@ -96,8 +96,7 @@ public:
target->SetTitle(titleInfo); // to be sure that title now known
target->SetUInt32Value(PLAYER_CHOSEN_TITLE, titleInfo->bit_index);
- handler->PSendSysMessage(LANG_TITLE_CURRENT_RES, id, titleInfo->name, tNameLink.c_str());
-
+ handler->PSendSysMessage(LANG_TITLE_CURRENT_RES, id, target->getGender() == GENDER_MALE ? titleInfo->nameMale : titleInfo->nameFemale, tNameLink.c_str());
return true;
}
@@ -139,7 +138,7 @@ public:
std::string tNameLink = handler->GetNameLink(target);
char titleNameStr[80];
- snprintf(titleNameStr, 80, titleInfo->name, target->GetName().c_str());
+ snprintf(titleNameStr, 80, target->getGender() == GENDER_MALE ? titleInfo->nameMale : titleInfo->nameFemale, target->GetName().c_str());
target->SetTitle(titleInfo);
handler->PSendSysMessage(LANG_TITLE_ADD_RES, id, titleNameStr, tNameLink.c_str());
@@ -187,7 +186,7 @@ public:
std::string tNameLink = handler->GetNameLink(target);
char titleNameStr[80];
- snprintf(titleNameStr, 80, titleInfo->name, target->GetName().c_str());
+ snprintf(titleNameStr, 80, target->getGender() == GENDER_MALE ? titleInfo->nameMale : titleInfo->nameFemale, target->GetName().c_str());
handler->PSendSysMessage(LANG_TITLE_REMOVE_RES, id, titleNameStr, tNameLink.c_str());
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index 041823896ba..5306e0e1d9e 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -34,7 +34,7 @@ class wp_commandscript : public CommandScript
public:
wp_commandscript() : CommandScript("wp_commandscript") { }
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand wpCommandTable[] =
{
@@ -565,7 +565,7 @@ public:
// Check
// Remember: "show" must also be the name of a column!
if ((show != "delay") && (show != "action") && (show != "action_chance")
- && (show != "move_flag") && (show != "del") && (show != "move") && (show != "wpadd")
+ && (show != "move_flag") && (show != "del") && (show != "move")
)
{
return false;
@@ -694,7 +694,7 @@ public:
}
// re-create
Creature* wpCreature2 = new Creature();
- if (!wpCreature2->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), VISUAL_WAYPOINT, 0, 0, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
+ if (!wpCreature2->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
delete wpCreature2;
@@ -918,7 +918,7 @@ public:
float o = chr->GetOrientation();
Creature* wpCreature = new Creature();
- if (!wpCreature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!wpCreature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete wpCreature;
@@ -982,7 +982,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete creature;
@@ -1031,7 +1031,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMgr().GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_NOTCREATED, id);
delete creature;
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
index 3859555a90c..6f8b93bbdba 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/alterac_valley.cpp
@@ -86,7 +86,7 @@ class npc_av_marshal_or_warmaster : public CreatureScript
{
npc_av_marshal_or_warmasterAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_CHARGE_TARGET, urand(2 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
@@ -99,12 +99,12 @@ class npc_av_marshal_or_warmaster : public CreatureScript
_hasAura = false;
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// I have a feeling this isn't blizzlike, but owell, I'm only passing by and cleaning up.
if (!_hasAura)
@@ -170,7 +170,7 @@ class npc_av_marshal_or_warmaster : public CreatureScript
bool _hasAura;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_av_marshal_or_warmasterAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index ab135a2fd78..83b716728ea 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -50,20 +50,25 @@ public:
struct npc_water_elementalAI : public ScriptedAI
{
- npc_water_elementalAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_water_elementalAI(Creature* creature) : ScriptedAI(creature)
+ {
+ waterBoltTimer = 3 * IN_MILLISECONDS;
+ resetTimer = 5 * IN_MILLISECONDS;
+ balindaGUID = 0;
+ }
uint32 waterBoltTimer;
uint64 balindaGUID;
uint32 resetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
waterBoltTimer = 3 * IN_MILLISECONDS;
resetTimer = 5 * IN_MILLISECONDS;
balindaGUID = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -87,7 +92,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_water_elementalAI(creature);
}
@@ -111,7 +116,7 @@ public:
SummonList summons;
- void Reset() OVERRIDE
+ void Reset() override
{
arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS);
coneOfColdTimer = 8 * IN_MILLISECONDS;
@@ -123,17 +128,17 @@ public:
summons.DespawnAll();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_AGGRO);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
CAST_AI(npc_water_elemental::npc_water_elementalAI, summoned->AI())->balindaGUID = me->GetGUID();
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
@@ -141,12 +146,12 @@ public:
summons.Summon(summoned);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
summons.DespawnAll();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -197,7 +202,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_balindaAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
index 2f48ca4a3b6..4ecb57177a6 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_drekthar.cpp
@@ -54,7 +54,7 @@ public:
uint32 YellTimer;
uint32 ResetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
WhirlwindTimer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
Whirlwind2Timer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
@@ -64,18 +64,18 @@ public:
YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); //20 to 30 seconds
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_AGGRO);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
Talk(YELL_RESPAWN);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -125,7 +125,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_drektharAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
index aa852ffd30c..c00b7db2ce7 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_galvangar.cpp
@@ -49,7 +49,7 @@ public:
uint32 MortalStrikeTimer;
uint32 ResetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CleaveTimer = urand(1 * IN_MILLISECONDS, 9 * IN_MILLISECONDS);
FrighteningShoutTimer = urand(2 * IN_MILLISECONDS, 19 * IN_MILLISECONDS);
@@ -59,17 +59,17 @@ public:
ResetTimer = 5 * IN_MILLISECONDS;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_AGGRO);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -119,7 +119,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_galvangarAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
index 4e7c2abcdcc..076607a5672 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_vanndar.cpp
@@ -50,7 +50,7 @@ public:
uint32 ResetTimer;
uint32 YellTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
AvatarTimer = 3 * IN_MILLISECONDS;
ThunderclapTimer = 4 * IN_MILLISECONDS;
@@ -59,12 +59,12 @@ public:
YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -108,7 +108,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_vanndarAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
index e80a1e37bb0..52eac77cd46 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
@@ -86,14 +86,14 @@ class boss_alizabal : public CreatureScript
_intro = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_hate = false;
_skewer = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -101,27 +101,27 @@ class boss_alizabal : public CreatureScript
events.ScheduleEvent(EVENT_RANDOM_CAST, 10000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->GetMotionMaster()->MoveTargetedHome();
_DespawnAtEvade();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -135,7 +135,7 @@ class boss_alizabal : public CreatureScript
}
}
- void MovementInform(uint32 /*type*/, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 pointId) override
{
switch (pointId)
{
@@ -145,7 +145,7 @@ class boss_alizabal : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -257,7 +257,7 @@ class boss_alizabal : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBaradinHoldAI<boss_alizabalAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
index fbd7ec6bc6e..ca2679b042a 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
@@ -63,7 +63,7 @@ class boss_occuthar : public CreatureScript
ASSERT(_vehicle);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
@@ -73,20 +73,20 @@ class boss_occuthar : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 5 * MINUTE * IN_MILLISECONDS);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
BossAI::EnterEvadeMode();
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_DespawnAtEvade();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
@@ -102,7 +102,7 @@ class boss_occuthar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -144,7 +144,7 @@ class boss_occuthar : public CreatureScript
Vehicle* _vehicle;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBaradinHoldAI<boss_occutharAI>(creature);
}
@@ -163,20 +163,20 @@ class npc_eyestalk : public CreatureScript
_damageCount = 0;
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
// player is the spellcaster so register summon manually
if (Creature* occuthar = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_OCCUTHAR)))
occuthar->AI()->JustSummoned(me);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FOCUSED_FIRE_FIRST_DAMAGE, 0);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -188,7 +188,7 @@ class npc_eyestalk : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE { } // Never evade
+ void EnterEvadeMode() override { } // Never evade
private:
InstanceScript* _instance;
@@ -196,7 +196,7 @@ class npc_eyestalk : public CreatureScript
uint8 _damageCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBaradinHoldAI<npc_eyestalkAI>(creature);
}
@@ -243,13 +243,13 @@ class spell_occuthar_focused_fire : public SpellScriptLoader
targets.push_back(target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_occuthar_focused_fire_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_occuthar_focused_fire_SpellScript();
}
@@ -265,14 +265,14 @@ class spell_occuthar_eyes_of_occuthar : public SpellScriptLoader
{
PrepareSpellScript(spell_occuthar_eyes_of_occuthar_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -292,14 +292,14 @@ class spell_occuthar_eyes_of_occuthar : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), GetEffectValue(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_occuthar_eyes_of_occuthar_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_occuthar_eyes_of_occuthar_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_occuthar_eyes_of_occuthar_SpellScript();
}
@@ -315,15 +315,14 @@ class spell_occuthar_eyes_of_occuthar_vehicle : public SpellScriptLoader
{
PrepareSpellScript(spell_occuthar_eyes_of_occuthar_vehicle_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetInstanceScript() != NULL;
}
void HandleScript()
{
- Position pos;
- GetHitUnit()->GetPosition(&pos);
+ Position pos = GetHitUnit()->GetPosition();
if (Creature* occuthar = ObjectAccessor::GetCreature(*GetCaster(), GetCaster()->GetInstanceScript()->GetData64(DATA_OCCUTHAR)))
{
@@ -332,13 +331,13 @@ class spell_occuthar_eyes_of_occuthar_vehicle : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_occuthar_eyes_of_occuthar_vehicle_SpellScript::HandleScript);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_occuthar_eyes_of_occuthar_vehicle_SpellScript();
}
@@ -354,7 +353,7 @@ class spell_occuthar_occuthars_destruction : public SpellScriptLoader
{
PrepareAuraScript(spell_occuthar_occuthars_destruction_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -370,13 +369,13 @@ class spell_occuthar_occuthars_destruction : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_occuthar_occuthars_destruction_AuraScript::OnRemove, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_occuthar_occuthars_destruction_AuraScript();
}
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
index 1be012590b5..008803f9a52 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
@@ -49,7 +49,7 @@ class boss_pit_lord_argaloth : public CreatureScript
{
boss_pit_lord_argalothAI(Creature* creature) : BossAI(creature, DATA_ARGALOTH) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
@@ -58,14 +58,14 @@ class boss_pit_lord_argaloth : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 5 * MINUTE * IN_MILLISECONDS);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->GetMotionMaster()->MoveTargetedHome();
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_DespawnAtEvade();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(33, damage) ||
me->HealthBelowPctDamaged(66, damage))
@@ -74,13 +74,13 @@ class boss_pit_lord_argaloth : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -114,7 +114,7 @@ class boss_pit_lord_argaloth : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBaradinHoldAI<boss_pit_lord_argalothAI>(creature);
}
@@ -135,13 +135,13 @@ class spell_argaloth_consuming_darkness : public SpellScriptLoader
Trinity::Containers::RandomResizeList(targets, GetCaster()->GetMap()->Is25ManRaid() ? 8 : 3);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_argaloth_consuming_darkness_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_argaloth_consuming_darkness_SpellScript();
}
@@ -157,7 +157,7 @@ class spell_argaloth_meteor_slash : public SpellScriptLoader
{
PrepareSpellScript(spell_argaloth_meteor_slash_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_targetCount = 0;
return true;
@@ -176,7 +176,7 @@ class spell_argaloth_meteor_slash : public SpellScriptLoader
SetHitDamage(GetHitDamage() / _targetCount);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_argaloth_meteor_slash_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_CONE_ENEMY_104);
OnHit += SpellHitFn(spell_argaloth_meteor_slash_SpellScript::SplitDamage);
@@ -186,7 +186,7 @@ class spell_argaloth_meteor_slash : public SpellScriptLoader
uint32 _targetCount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_argaloth_meteor_slash_SpellScript();
}
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
index 2030cca170b..f1fec5f1453 100644
--- a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
+++ b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
@@ -44,7 +44,7 @@ class instance_baradin_hold: public InstanceMapScript
AlizabalGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch(creature->GetEntry())
{
@@ -60,7 +60,7 @@ class instance_baradin_hold: public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch(go->GetEntry())
{
@@ -72,7 +72,7 @@ class instance_baradin_hold: public InstanceMapScript
}
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -89,7 +89,7 @@ class instance_baradin_hold: public InstanceMapScript
return 0;
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch(go->GetEntry())
{
@@ -101,7 +101,7 @@ class instance_baradin_hold: public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -112,7 +112,7 @@ class instance_baradin_hold: public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
index 55a89d062e8..1ab2d746aa5 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
@@ -29,7 +29,7 @@ class go_shadowforge_brazier : public GameObjectScript
public:
go_shadowforge_brazier() : GameObjectScript("go_shadowforge_brazier") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
{
@@ -82,7 +82,7 @@ class at_ring_of_law : public AreaTriggerScript
public:
at_ring_of_law() : AreaTriggerScript("at_ring_of_law") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
{
@@ -115,7 +115,7 @@ class npc_grimstone : public CreatureScript
public:
npc_grimstone() : CreatureScript("npc_grimstone") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_grimstoneAI>(creature);
}
@@ -142,7 +142,7 @@ public:
bool CanWalk;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -181,7 +181,7 @@ public:
MobDeath_Timer = 2500;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -219,7 +219,7 @@ public:
instance->HandleGameObject(instance->GetData64(id), open);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (MobDeath_Timer)
{
@@ -346,7 +346,7 @@ class npc_phalanx : public CreatureScript
public:
npc_phalanx() : CreatureScript("npc_phalanx") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_phalanxAI(creature);
}
@@ -359,14 +359,14 @@ public:
uint32 FireballVolley_Timer;
uint32 MightyBlow_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ThunderClap_Timer = 12000;
FireballVolley_Timer = 0;
MightyBlow_Timer = 15000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -424,7 +424,7 @@ class npc_kharan_mighthammer : public CreatureScript
public:
npc_kharan_mighthammer() : CreatureScript("npc_kharan_mighthammer") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -473,7 +473,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -518,7 +518,7 @@ class npc_lokhtos_darkbargainer : public CreatureScript
public:
npc_lokhtos_darkbargainer() : CreatureScript("npc_lokhtos_darkbargainer") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -532,7 +532,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -571,7 +571,7 @@ class npc_dughal_stormwing : public CreatureScript
public:
npc_dughal_stormwing() : CreatureScript("npc_dughal_stormwing") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
npc_dughal_stormwingAI* dughal_stormwingAI = new npc_dughal_stormwingAI(creature);
@@ -582,7 +582,7 @@ public:
return dughal_stormwingAI;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -595,7 +595,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS)
{
@@ -609,7 +609,7 @@ public:
{
npc_dughal_stormwingAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -628,10 +628,10 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE { }
- void Reset() OVERRIDE { }
+ void EnterCombat(Unit* who) override { }
+ void Reset() override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (IsBeingEscorted && killer == me)
{
@@ -642,7 +642,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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)
@@ -687,7 +687,7 @@ class npc_marshal_windsor : public CreatureScript
public:
npc_marshal_windsor() : CreatureScript("npc_marshal_windsor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
npc_marshal_windsorAI* marshal_windsorAI = new npc_marshal_windsorAI(creature);
@@ -715,7 +715,7 @@ public:
return marshal_windsorAI;
}
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == 4322)
{
@@ -737,7 +737,7 @@ public:
instance = creature->GetInstanceScript();
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -782,7 +782,7 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
switch (urand(0, 2))
{
@@ -798,14 +798,14 @@ public:
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void JustDied(Unit* slayer) OVERRIDE
+ void JustDied(Unit* slayer) override
{
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -871,7 +871,7 @@ class npc_marshal_reginald_windsor : public CreatureScript
public:
npc_marshal_reginald_windsor() : CreatureScript("npc_marshal_reginald_windsor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
npc_marshal_reginald_windsorAI* marshal_reginald_windsorAI = new npc_marshal_reginald_windsorAI(creature);
@@ -920,7 +920,7 @@ public:
{
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
wp = waypointId;
switch (waypointId)
@@ -978,7 +978,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
@@ -998,7 +998,7 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
switch (urand(0, 2))
{
@@ -1013,14 +1013,14 @@ public:
break;
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void JustDied(Unit* slayer) OVERRIDE
+ void JustDied(Unit* slayer) override
{
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1081,7 +1081,7 @@ class npc_tobias_seecher : public CreatureScript
public:
npc_tobias_seecher() : CreatureScript("npc_tobias_seecher") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
npc_tobias_seecherAI* tobias_seecherAI = new npc_tobias_seecherAI(creature);
@@ -1094,7 +1094,7 @@ public:
return tobias_seecherAI;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -1107,7 +1107,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS)
{
@@ -1121,10 +1121,10 @@ public:
{
npc_tobias_seecherAI(Creature* creature) : npc_escortAI(creature) { }
- void EnterCombat(Unit* who) OVERRIDE { }
- void Reset() OVERRIDE { }
+ void EnterCombat(Unit* who) override { }
+ void Reset() override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (IsBeingEscorted && killer == me)
{
@@ -1135,7 +1135,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -1154,7 +1154,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1199,7 +1199,7 @@ class npc_rocknot : public CreatureScript
public:
npc_rocknot() : CreatureScript("npc_rocknot") { }
- bool OnQuestReward(Player* /*player*/, Creature* creature, Quest const* quest, uint32 /*item*/) OVERRIDE
+ bool OnQuestReward(Player* /*player*/, Creature* creature, Quest const* quest, uint32 /*item*/) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (!instance)
@@ -1229,7 +1229,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_rocknotAI>(creature);
}
@@ -1246,7 +1246,7 @@ public:
uint32 BreakKeg_Timer;
uint32 BreakDoor_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -1261,7 +1261,7 @@ public:
go->SetGoState((GOState)state);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -1284,7 +1284,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (BreakKeg_Timer)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
index 5201e06aa17..4ac039e9138 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
@@ -29,7 +29,7 @@ class boss_ambassador_flamelash : public CreatureScript
public:
boss_ambassador_flamelash() : CreatureScript("boss_ambassador_flamelash") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ambassador_flamelashAI(creature);
}
@@ -41,13 +41,13 @@ public:
uint32 FireBlast_Timer;
uint32 Spirit_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
FireBlast_Timer = 2000;
Spirit_Timer = 24000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void SummonSpirits(Unit* victim)
{
@@ -55,7 +55,7 @@ public:
Spirit->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
index 33e0484c0d5..fd8b77ea8d4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_anubshiah.cpp
@@ -33,7 +33,7 @@ class boss_anubshiah : public CreatureScript
public:
boss_anubshiah() : CreatureScript("boss_anubshiah") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_anubshiahAI(creature);
}
@@ -48,7 +48,7 @@ public:
uint32 DemonArmor_Timer;
uint32 EnvelopingWeb_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBolt_Timer = 7000;
CurseOfTongues_Timer = 24000;
@@ -57,9 +57,9 @@ public:
EnvelopingWeb_Timer = 16000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
index 1edb1100289..fffdf9c7514 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
@@ -37,7 +37,7 @@ class boss_emperor_dagran_thaurissan : public CreatureScript
public:
boss_emperor_dagran_thaurissan() : CreatureScript("boss_emperor_dagran_thaurissan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_draganthaurissanAI>(creature);
}
@@ -54,25 +54,25 @@ public:
uint32 AvatarOfFlame_Timer;
//uint32 Counter;
- void Reset() OVERRIDE
+ void Reset() override
{
HandOfThaurissan_Timer = 4000;
AvatarOfFlame_Timer = 25000;
//Counter= 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
me->CallForHelp(VISIBLE_RANGE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Moira = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOIRA)))
{
@@ -81,7 +81,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
index 258dfd5db07..34ce2276a54 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
@@ -31,7 +31,7 @@ class boss_general_angerforge : public CreatureScript
public:
boss_general_angerforge() : CreatureScript("boss_general_angerforge") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_general_angerforgeAI(creature);
}
@@ -46,7 +46,7 @@ public:
uint32 Adds_Timer;
bool Medics;
- void Reset() OVERRIDE
+ void Reset() override
{
MightyBlow_Timer = 8000;
HamString_Timer = 12000;
@@ -55,7 +55,7 @@ public:
Medics = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void SummonAdds(Unit* victim)
{
@@ -69,7 +69,7 @@ public:
SummonedMedic->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
index acc739425ee..b5998576f24 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_gorosh_the_dervish.cpp
@@ -30,7 +30,7 @@ class boss_gorosh_the_dervish : public CreatureScript
public:
boss_gorosh_the_dervish() : CreatureScript("boss_gorosh_the_dervish") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gorosh_the_dervishAI(creature);
}
@@ -42,17 +42,17 @@ public:
uint32 WhirlWind_Timer;
uint32 MortalStrike_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
WhirlWind_Timer = 12000;
MortalStrike_Timer = 22000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
index 9bd36203dd2..c4277c2447e 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_grizzle.cpp
@@ -31,7 +31,7 @@ class boss_grizzle : public CreatureScript
public:
boss_grizzle() : CreatureScript("boss_grizzle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_grizzleAI(creature);
}
@@ -43,15 +43,15 @@ public:
uint32 GroundTremor_Timer;
uint32 Frenzy_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
GroundTremor_Timer = 12000;
Frenzy_Timer =0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
index 65a3fd35d48..6aa89aa491d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
@@ -32,7 +32,7 @@ class boss_high_interrogator_gerstahn : public CreatureScript
public:
boss_high_interrogator_gerstahn() : CreatureScript("boss_high_interrogator_gerstahn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_high_interrogator_gerstahnAI(creature);
}
@@ -46,7 +46,7 @@ public:
uint32 PsychicScream_Timer;
uint32 ShadowShield_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowWordPain_Timer = 4000;
ManaBurn_Timer = 14000;
@@ -54,9 +54,9 @@ public:
ShadowShield_Timer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index ce3a11d817b..4cf968ad3b7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
@@ -35,7 +35,7 @@ class boss_magmus : public CreatureScript
public:
boss_magmus() : CreatureScript("boss_magmus") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_magmusAI(creature);
}
@@ -47,15 +47,15 @@ public:
uint32 FieryBurst_Timer;
uint32 WarStomp_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
FieryBurst_Timer = 5000;
WarStomp_Timer =0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -81,7 +81,7 @@ public:
DoMeleeAttackIfReady();
}
// When he die open door to last chamber
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (InstanceScript* instance = killer->GetInstanceScript())
instance->HandleGameObject(instance->GetData64(DATA_THRONE_DOOR), true);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
index 21c887ac7d6..98f5f75ae3f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
@@ -34,7 +34,7 @@ class boss_moira_bronzebeard : public CreatureScript
public:
boss_moira_bronzebeard() : CreatureScript("boss_moira_bronzebeard") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_moira_bronzebeardAI(creature);
}
@@ -48,7 +48,7 @@ public:
uint32 ShadowWordPain_Timer;
uint32 Smite_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Heal_Timer = 12000; //These times are probably wrong
MindBlast_Timer = 16000;
@@ -56,9 +56,9 @@ public:
Smite_Timer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
index f432d71ff68..cbcafa32a89 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
@@ -48,7 +48,7 @@ class boss_gloomrel : public CreatureScript
public:
boss_gloomrel() : CreatureScript("boss_gloomrel") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -77,7 +77,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestRewardStatus(QUEST_SPECTRAL_CHALICE) == 1 && player->GetSkillValue(SKILL_MINING) >= DATA_SKILLPOINT_MIN && !player->HasSpell(SPELL_SMELT_DARK_IRON))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
@@ -107,7 +107,7 @@ class boss_doomrel : public CreatureScript
public:
boss_doomrel() : CreatureScript("boss_doomrel") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -130,7 +130,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_CHALLENGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(2601, creature->GetGUID());
@@ -138,7 +138,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_doomrelAI>(creature);
}
@@ -157,7 +157,7 @@ public:
uint32 DemonArmor_Timer;
bool Voidwalkers;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowVolley_Timer = 10000;
Immolate_Timer = 18000;
@@ -176,11 +176,11 @@ public:
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->RemoveAllAuras();
me->DeleteThreatList();
@@ -192,12 +192,12 @@ public:
instance->SetData64(DATA_EVENSTARTER, 0);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_GHOSTKILL, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
index 42c7c046d48..f51a2a95c81 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -69,7 +69,7 @@ class instance_blackrock_depths : public InstanceMapScript
public:
instance_blackrock_depths() : InstanceMapScript("instance_blackrock_depths", 230) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_blackrock_depths_InstanceMapScript(map);
}
@@ -115,7 +115,7 @@ public:
uint32 TombTimer;
uint32 TombEventCounter;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&encounter, 0, sizeof(encounter));
@@ -156,7 +156,7 @@ public:
TombBossGUIDs[i] = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -178,7 +178,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -212,7 +212,7 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
TC_LOG_DEBUG("scripts", "Instance Blackrock Depths: SetData64 update (Type: %u Data " UI64FMTD ")", type, data);
@@ -228,7 +228,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
TC_LOG_DEBUG("scripts", "Instance Blackrock Depths: SetData update (Type: %u Data %u)", type, data);
@@ -275,7 +275,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -300,7 +300,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -342,12 +342,12 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -429,7 +429,7 @@ public:
TombEventStarterGUID = 0;
SetData(TYPE_TOMB_OF_SEVEN, DONE);
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (TombEventStarterGUID && GhostKillCount < 7)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
index 32b87a94ae4..6a56ce363f4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
@@ -45,12 +45,12 @@ public:
{
boss_drakkisathAI(Creature* creature) : BossAI(creature, DATA_GENERAL_DRAKKISATH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FIRE_NOVA, 6000);
@@ -59,12 +59,12 @@ public:
events.ScheduleEvent(EVENT_THUNDERCLAP, 17000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_drakkisathAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
index 1c6c0a5aa62..e92409555da 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
@@ -48,29 +48,29 @@ public:
{
boss_gizrul_the_slavenerAI(Creature* creature) : BossAI(creature, DATA_GIZRUL_THE_SLAVENER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
me->GetMotionMaster()->MovePath(GIZRUL_PATH, false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FATAL_BITE, urand(17000,20000));
events.ScheduleEvent(EVENT_INFECTED_BITE, urand(10000,12000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gizrul_the_slavenerAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
index 96582fdf6fe..ed62e26075c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
@@ -57,7 +57,7 @@ public:
bool SummonedRend;
- void Reset() OVERRIDE
+ void Reset() override
{
SummonedRend = false;
if (instance->GetBossState(DATA_GYTH) == IN_PROGRESS)
@@ -67,7 +67,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -77,12 +77,12 @@ public:
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(12000, 18000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_GYTH, DONE);
}
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
@@ -94,7 +94,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!SummonedRend && HealthBelowPct(5))
@@ -160,7 +160,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gythAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
index 482cc9cf81a..d5f7a4ce34b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
@@ -47,20 +47,20 @@ public:
{
boss_halyconAI(Creature* creature) : BossAI(creature, DATA_HALYCON) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
Summoned = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_REND, urand(17000,20000));
events.ScheduleEvent(EVENT_THRASH, urand(10000,12000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SummonCreature(NPC_GIZRUL_THE_SLAVENER, SummonLocation, TEMPSUMMON_TIMED_DESPAWN, 300000);
Talk(EMOTE_DEATH);
@@ -68,7 +68,7 @@ public:
Summoned = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -99,7 +99,7 @@ public:
bool Summoned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_halyconAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
index 590c025388b..25e8014639f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
@@ -37,7 +37,7 @@ class boss_highlord_omokk : public CreatureScript
public:
boss_highlord_omokk() : CreatureScript("boss_highlord_omokk") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_highlordomokkAI(creature);
}
@@ -46,24 +46,24 @@ public:
{
boss_highlordomokkAI(Creature* creature) : BossAI(creature, DATA_HIGHLORD_OMOKK) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FRENZY, 20000);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 18000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
index 41e0fb61018..23593442e86 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
@@ -48,26 +48,26 @@ public:
{
boss_lord_valthalakAI(Creature* creature) : BossAI(creature, DATA_LORD_VALTHALAK) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
frenzy40 = false;
frenzy15 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, urand(6000,8000));
events.ScheduleEvent(EVENT_SHADOW_WRATH, urand(9000,18000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_LORD_VALTHALAK, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -125,7 +125,7 @@ public:
bool frenzy15;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lord_valthalakAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
index ed1916b90d6..87ecd00609d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -38,7 +38,7 @@ class boss_mother_smolderweb : public CreatureScript
public:
boss_mother_smolderweb() : CreatureScript("boss_mother_smolderweb") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_mothersmolderwebAI(creature);
}
@@ -47,30 +47,30 @@ public:
{
boss_mothersmolderwebAI(Creature* creature) : BossAI(creature, DATA_MOTHER_SMOLDERWEB) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_CRYSTALIZE, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_MOTHERS_MILK, 10 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (me->GetHealth() <= damage)
DoCast(me, SPELL_SUMMON_SPIRE_SPIDERLING, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index 8db2065b3ea..cc6911b5da7 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
@@ -50,7 +50,7 @@ class boss_overlord_wyrmthalak : public CreatureScript
public:
boss_overlord_wyrmthalak() : CreatureScript("boss_overlord_wyrmthalak") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_overlordwyrmthalakAI(creature);
}
@@ -61,13 +61,13 @@ public:
bool Summoned;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
Summoned = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS);
@@ -76,12 +76,12 @@ public:
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
index 7f5cd93a5b1..4be139c2ee9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -77,7 +77,7 @@ public:
{
boss_pyroguard_emberseerAI(Creature* creature) : BossAI(creature, DATA_PYROGAURD_EMBERSEER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
events.Reset();
@@ -95,7 +95,7 @@ public:
OpenDoors(false); // Opens 2 entrance doors
}
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
@@ -119,7 +119,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
// ### TODO Check combat timing ###
events.ScheduleEvent(EVENT_FIRENOVA, 6000);
@@ -127,7 +127,7 @@ public:
events.ScheduleEvent(EVENT_PYROBLAST, 14000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// Activate all the runes
UpdateRunes(GO_STATE_READY);
@@ -137,7 +137,7 @@ public:
instance->SetBossState(DATA_PYROGAURD_EMBERSEER, DONE);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ENCAGE_EMBERSEER)
{
@@ -196,7 +196,7 @@ public:
rune7->SetGoState(state);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -305,7 +305,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_pyroguard_emberseerAI>(creature);
}
@@ -333,19 +333,19 @@ public:
{
npc_blackhand_incarceratorAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC);
if (Creature* Emberseer = me->FindNearestCreature(NPC_PYROGAURD_EMBERSEER, 30.0f, true))
Emberseer->AI()->SetData(1, 3);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(10000);
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data == 1 && value == 1)
{
@@ -360,7 +360,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
// Used to close doors
if (Creature* Emberseer = me->FindNearestCreature(NPC_PYROGAURD_EMBERSEER, 30.0f, true))
@@ -379,7 +379,7 @@ public:
_events.ScheduleEvent(EVENT_ENCAGE, urand(10000, 20000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
@@ -431,7 +431,7 @@ public:
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_blackhand_incarceratorAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
index 27229b6ba71..e431bebcf02 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
@@ -42,24 +42,24 @@ public:
{
boss_quatermasterzigrisAI(Creature* creature) : BossAI(creature, DATA_QUARTERMASTER_ZIGRIS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SHOOT, 1000);
events.ScheduleEvent(EVENT_STUN_BOMB, 16000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -87,7 +87,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_quatermasterzigrisAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
index 8989a8065dc..ab065f62bbb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
@@ -164,9 +164,14 @@ public:
struct boss_rend_blackhandAI : public BossAI
{
- boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND) { }
+ boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND)
+ {
+ gythEvent = false;
+ victorGUID = 0;
+ portcullisGUID = 0;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
gythEvent = false;
@@ -174,7 +179,7 @@ public:
portcullisGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_WHIRLWIND, urand(13000, 15000));
@@ -182,14 +187,14 @@ public:
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(17000, 19000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
if (Creature* victor = me->FindNearestCreature(NPC_LORD_VICTOR_NEFARIUS, 75.0f, true))
victor->AI()->SetData(1, 2);
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == AREATRIGGER && data == AREATRIGGER_BLACKROCK_STADIUM)
{
@@ -209,7 +214,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE)
{
@@ -227,7 +232,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (gythEvent)
{
@@ -436,7 +441,7 @@ public:
uint64 portcullisGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_rend_blackhandAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index dac7e8f50ba..f70864c0ebe 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
@@ -39,7 +39,7 @@ class boss_shadow_hunter_voshgajin : public CreatureScript
public:
boss_shadow_hunter_voshgajin() : CreatureScript("boss_shadow_hunter_voshgajin") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_shadowvoshAI(creature);
}
@@ -48,13 +48,13 @@ public:
{
boss_shadowvoshAI(Creature* creature) : BossAI(creature, DATA_SHADOW_HUNTER_VOSHGAJIN) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
//DoCast(me, SPELL_ICEARMOR, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 2 * IN_MILLISECONDS);
@@ -62,12 +62,12 @@ public:
events.ScheduleEvent(EVENT_CLEAVE, 14 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
index 0c9c66b83f3..51e84359707 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
@@ -39,7 +39,7 @@ class boss_the_beast : public CreatureScript
public:
boss_the_beast() : CreatureScript("boss_the_beast") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_thebeastAI(creature);
}
@@ -48,12 +48,12 @@ public:
{
boss_thebeastAI(Creature* creature) : BossAI(creature, DATA_THE_BEAST) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FLAME_BREAK, 12 * IN_MILLISECONDS);
@@ -61,12 +61,12 @@ public:
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
index a525e0395d1..412844b8709 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
@@ -48,12 +48,12 @@ public:
{
boss_urok_doomhowlAI(Creature* creature) : BossAI(creature, DATA_UROK_DOOMHOWL) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(SPELL_REND, urand(17000,20000));
@@ -61,12 +61,12 @@ public:
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -96,7 +96,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_urok_doomhowlAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
index dc84aba0ee3..756f8d22511 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
@@ -49,12 +49,12 @@ public:
{
boss_warmastervooneAI(Creature* creature) : BossAI(creature, DATA_WARMASTER_VOONE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SNAP_KICK, 8 * IN_MILLISECONDS);
@@ -65,12 +65,12 @@ public:
events.ScheduleEvent(EVENT_THROW_AXE, 1 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -114,7 +114,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_warmastervooneAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
index d335ebccb6c..e645dd383f2 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -77,7 +77,7 @@ public:
memset(go_emberseerrunes, 0, sizeof(go_emberseerrunes));
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -135,7 +135,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -242,7 +242,7 @@ public:
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -272,7 +272,7 @@ public:
return true;
}
- void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
switch (eventId)
{
@@ -294,7 +294,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -309,7 +309,7 @@ public:
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -385,7 +385,7 @@ public:
return 0;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
Events.Update(diff);
@@ -502,7 +502,7 @@ public:
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -513,7 +513,7 @@ public:
return saveStream.str();
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
@@ -574,7 +574,7 @@ public:
uint64 go_portcullis_tobossrooms;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_blackrock_spireMapScript(map);
}
@@ -589,7 +589,7 @@ class at_dragonspire_hall : public AreaTriggerScript
public:
at_dragonspire_hall() : AreaTriggerScript("at_dragonspire_hall") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
if (player && player->IsAlive())
{
@@ -613,7 +613,7 @@ class at_blackrock_stadium : public AreaTriggerScript
public:
at_blackrock_stadium() : AreaTriggerScript("at_blackrock_stadium") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
if (player && player->IsAlive())
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
index 307f5e24619..491d8cbd512 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
@@ -52,7 +52,7 @@ public:
{
boss_broodlordAI(Creature* creature) : BossAI(creature, BOSS_BROODLORD) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (instance->GetBossState(BOSS_VAELASTRAZ) != DONE)
{
@@ -70,7 +70,7 @@ public:
events.ScheduleEvent(EVENT_CHECK, 1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -114,7 +114,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_broodlordAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
index 3930656f0e1..efe0a0e2a78 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
@@ -173,7 +173,7 @@ public:
EnterEvadeMode();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -181,7 +181,7 @@ public:
Enraged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (instance->GetBossState(BOSS_FLAMEGOR) != DONE)
{
@@ -197,7 +197,7 @@ public:
events.ScheduleEvent(EVENT_FRENZY, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -280,7 +280,7 @@ public:
bool Enraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_chromaggusAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
index 8d25fe117fe..158ffce8cea 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
@@ -43,7 +43,7 @@ public:
{
boss_ebonrocAI(Creature* creature) : BossAI(creature, BOSS_EBONROC) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -57,7 +57,7 @@ public:
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, urand(8000, 10000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -90,7 +90,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ebonrocAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
index cbd625e852a..4814a1a98d1 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
@@ -43,7 +43,7 @@ public:
{
boss_firemawAI(Creature* creature) : BossAI(creature, BOSS_FIREMAW) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -57,7 +57,7 @@ public:
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -92,7 +92,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_firemawAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
index 390bcaa3c9d..98bf146c9c9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
@@ -48,7 +48,7 @@ public:
{
boss_flamegorAI(Creature* creature) : BossAI(creature, BOSS_FLAMEGOR) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -62,7 +62,7 @@ public:
events.ScheduleEvent(EVENT_FRENZY, 10000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_flamegorAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
index f3bcbb2526a..f7aedb42561 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
@@ -168,7 +168,7 @@ public:
{
boss_victor_nefariusAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN) { }
- void Reset() OVERRIDE
+ void Reset() override
{
SpawnedAdds = 0;
@@ -186,7 +186,7 @@ public:
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
Reset();
}
@@ -208,7 +208,7 @@ public:
events.ScheduleEvent(EVENT_SPAWN_ADD, 10000);
}
- void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
{
if (summon->GetEntry() != NPC_NEFARIAN)
{
@@ -219,9 +219,9 @@ public:
}
}
- void JustSummoned(Creature* /*summon*/) OVERRIDE { }
+ void JustSummoned(Creature* /*summon*/) override { }
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if ( type == 1 && data == 1)
{
@@ -233,7 +233,7 @@ public:
events.ScheduleEvent(EVENT_SUCCESS_1, 5000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -342,7 +342,7 @@ public:
nefarian->setActive(true);
nefarian->SetCanFly(true);
nefarian->SetDisableGravity(true);
- nefarian->AI()->DoCastAOE(SPELL_SHADOWFLAME_INITIAL);
+ nefarian->CastSpell((Unit*)NULL, SPELL_SHADOWFLAME_INITIAL);
nefarian->GetMotionMaster()->MovePoint(1, NefarianLoc[1]);
}
events.CancelEvent(EVENT_MIND_CONTROL);
@@ -359,7 +359,7 @@ public:
}
}
- void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 action) override
{
if (sender == GOSSIP_ID && action == GOSSIP_OPTION_ID)
{
@@ -373,7 +373,7 @@ public:
uint32 SpawnedAdds;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_victor_nefariusAI>(creature);
}
@@ -388,19 +388,19 @@ public:
{
boss_nefarianAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN) { }
- void Reset() OVERRIDE
+ void Reset() override
{
Phase3 = false;
canDespawn = false;
DespawnTimer = 30000;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
canDespawn = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SHADOWFLAME, 12000);
events.ScheduleEvent(EVENT_FEAR, urand(25000, 35000));
@@ -411,13 +411,13 @@ public:
Talk(SAY_RANDOM);
}
- void JustDied(Unit* /*Killer*/) OVERRIDE
+ void JustDied(Unit* /*Killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (rand()%5)
return;
@@ -425,7 +425,7 @@ public:
Talk(SAY_SLAY, victim);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -438,7 +438,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (canDespawn && DespawnTimer <= diff)
{
@@ -568,7 +568,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nefarianAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index b1bc34b0437..ea4784bb5a4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
@@ -70,7 +70,7 @@ public:
{
boss_razorgoreAI(Creature* creature) : BossAI(creature, BOSS_RAZORGORE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -78,7 +78,7 @@ public:
instance->SetData(DATA_EGG_EVENT, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -98,19 +98,19 @@ public:
me->SetHealth(me->GetMaxHealth());
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_PHASE_TWO)
DoChangePhase();
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
if (!secondPhase)
damage = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -138,7 +138,7 @@ public:
break;
case EVENT_CONFLAGRATION:
DoCastVictim(SPELL_CONFLAGRATION);
- if (me->GetVictim() && me->GetVictim()->HasAura(SPELL_CONFLAGRATION))
+ if (me->GetVictim() && me->EnsureVictim()->HasAura(SPELL_CONFLAGRATION))
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true))
me->TauntApply(target);
events.ScheduleEvent(EVENT_CONFLAGRATION, 30000);
@@ -152,7 +152,7 @@ public:
bool secondPhase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_razorgoreAI>(creature);
}
@@ -163,7 +163,7 @@ class go_orb_of_domination : public GameObjectScript
public:
go_orb_of_domination() : GameObjectScript("go_orb_of_domination") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetData(DATA_EGG_EVENT) != DONE)
@@ -191,13 +191,13 @@ class spell_egg_event : public SpellScriptLoader
instance->SetData(DATA_EGG_EVENT, SPECIAL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_egg_eventSpellScript::HandleOnHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_egg_eventSpellScript();
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
index 71c4a7469d9..652bdbb7d4a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
@@ -75,7 +75,7 @@ public:
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -85,7 +85,7 @@ public:
HasYelled = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -109,7 +109,7 @@ public:
events.ScheduleEvent(EVENT_SPEECH_1, 1000);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (rand()%5)
return;
@@ -117,7 +117,7 @@ public:
Talk(SAY_KILLTARGET, victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -200,7 +200,7 @@ public:
break;
case EVENT_BURNINGADRENALINE_TANK:
// have the victim cast the spell on himself otherwise the third effect aura will be applied to Vael instead of the player
- me->GetVictim()->CastSpell(me->GetVictim(), SPELL_BURNINGADRENALINE, true);
+ me->EnsureVictim()->CastSpell(me->GetVictim(), SPELL_BURNINGADRENALINE, true);
events.ScheduleEvent(EVENT_BURNINGADRENALINE_TANK, 45000);
break;
}
@@ -216,7 +216,7 @@ public:
DoMeleeAttackIfReady();
}
- void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 action) override
{
if (sender == GOSSIP_ID && action == 0)
{
@@ -230,7 +230,7 @@ public:
bool HasYelled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_vaelAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index 39d2a6d87d5..be8bc34acf1 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -56,10 +56,32 @@ public:
{
instance_blackwing_lair_InstanceMapScript(Map* map) : InstanceScript(map)
{
+ // Razorgore
+ EggCount = 0;
+ EggEvent = 0;
+ RazorgoreTheUntamedGUID = 0;
+ RazorgoreDoorGUID = 0;
+ // Vaelastrasz the Corrupt
+ VaelastraszTheCorruptGUID = 0;
+ VaelastraszDoorGUID = 0;
+ // Broodlord Lashlayer
+ BroodlordLashlayerGUID = 0;
+ BroodlordDoorGUID = 0;
+ // 3 Dragons
+ FiremawGUID = 0;
+ EbonrocGUID = 0;
+ FlamegorGUID = 0;
+ ChrommagusDoorGUID = 0;
+ // Chormaggus
+ ChromaggusGUID = 0;
+ NefarianDoorGUID = 0;
+ // Nefarian
+ LordVictorNefariusGUID = 0;
+ NefarianGUID = 0;
SetBossNumber(EncounterCount);
}
- void Initialize() OVERRIDE
+ void Initialize() override
{
// Razorgore
EggCount = 0;
@@ -86,7 +108,7 @@ public:
NefarianGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -127,7 +149,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -160,13 +182,13 @@ public:
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
if (go->GetEntry() == 177807) // Egg
EggList.remove(go->GetGUID());
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -216,7 +238,7 @@ public:
return true;
}
- uint64 GetData64(uint32 id) const OVERRIDE
+ uint64 GetData64(uint32 id) const override
{
switch (id)
{
@@ -234,7 +256,7 @@ public:
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_EGG_EVENT)
{
@@ -269,14 +291,14 @@ public:
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
//! HACK, needed because of buggy CreatureAI after charm
if (unit->GetEntry() == NPC_RAZORGORE && GetBossState(BOSS_RAZORGORE) != DONE)
SetBossState(BOSS_RAZORGORE, DONE);
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (_events.Empty())
return;
@@ -344,7 +366,7 @@ public:
uint64 NefarianGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_blackwing_lair_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
index 334f055b748..81731fabeb0 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
@@ -59,7 +59,7 @@ class boss_baron_geddon : public CreatureScript
{
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_INFERNO, 45000);
@@ -67,7 +67,7 @@ class boss_baron_geddon : public CreatureScript
events.ScheduleEvent(EVENT_LIVING_BOMB, 35000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -113,7 +113,7 @@ class boss_baron_geddon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_baron_geddonAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
index da72f9f5b5c..2a1309dc097 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
@@ -57,14 +57,14 @@ class boss_garr : public CreatureScript
{
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_ANTIMAGIC_PULSE, 25000);
events.ScheduleEvent(EVENT_MAGMA_SHACKLES, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -95,7 +95,7 @@ class boss_garr : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_garrAI(creature);
}
@@ -112,12 +112,12 @@ class npc_firesworn : public CreatureScript
uint32 immolateTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
immolateTimer = 4000; //These times are probably wrong
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
uint32 const health10pct = me->CountPctFromMaxHealth(10);
uint32 health = me->GetHealth();
@@ -129,7 +129,7 @@ class npc_firesworn : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -147,7 +147,7 @@ class npc_firesworn : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fireswornAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
index b1ee30b1cf2..39dc0f11248 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
@@ -53,7 +53,7 @@ class boss_gehennas : public CreatureScript
{
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_GEHENNAS_CURSE, 12000);
@@ -61,7 +61,7 @@ class boss_gehennas : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_BOLT, 6000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_gehennas : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gehennasAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
index 57922d7f7d9..2a473754ce6 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
@@ -63,19 +63,19 @@ class boss_golemagg : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
BossAI::Reset();
DoCast(me, SPELL_MAGMASPLASH, true);
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_PYROBLAST, 7000);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!HealthBelowPct(10) || me->HasAura(SPELL_ENRAGE))
return;
@@ -84,7 +84,7 @@ class boss_golemagg : public CreatureScript
events.ScheduleEvent(EVENT_EARTHQUAKE, 3000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -116,7 +116,7 @@ class boss_golemagg : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_golemaggAI(creature);
}
@@ -134,12 +134,12 @@ class npc_core_rager : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
mangleTimer = 7*IN_MILLISECONDS; // These times are probably wrong
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (HealthAbovePct(50) || !instance)
return;
@@ -155,7 +155,7 @@ class npc_core_rager : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -177,7 +177,7 @@ class npc_core_rager : public CreatureScript
uint32 mangleTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_core_ragerAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
index fa6f5bab928..e61b6f2cbf9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
@@ -53,7 +53,7 @@ class boss_lucifron : public CreatureScript
{
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_IMPENDING_DOOM, 10000);
@@ -61,7 +61,7 @@ class boss_lucifron : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_SHOCK, 6000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -96,7 +96,7 @@ class boss_lucifron : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lucifronAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
index d674ab876f0..4a3b6cc16e4 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
@@ -59,13 +59,13 @@ class boss_magmadar : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
BossAI::Reset();
DoCast(me, SPELL_MAGMA_SPIT, true);
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_FRENZY, 30000);
@@ -73,7 +73,7 @@ class boss_magmadar : public CreatureScript
events.ScheduleEvent(EVENT_LAVA_BOMB, 12000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -110,7 +110,7 @@ class boss_magmadar : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_magmadarAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
index d2bd82447dc..80f907d4803 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
@@ -78,13 +78,13 @@ class boss_majordomo : public CreatureScript
{
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (urand(0, 99) < 25)
Talk(SAY_SLAY);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
BossAI::EnterCombat(who);
Talk(SAY_AGGRO);
@@ -94,7 +94,7 @@ class boss_majordomo : public CreatureScript
events.ScheduleEvent(EVENT_TELEPORT, 20000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetBossState(BOSS_MAJORDOMO_EXECUTUS) != DONE)
{
@@ -107,7 +107,7 @@ class boss_majordomo : public CreatureScript
{
instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, me->GetEntry(), me);
me->setFaction(35);
- me->AI()->EnterEvadeMode();
+ EnterEvadeMode();
Talk(SAY_DEFEAT);
_JustDied();
events.ScheduleEvent(EVENT_OUTRO_1, 32000);
@@ -173,7 +173,7 @@ class boss_majordomo : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_RAGNAROS)
{
@@ -190,21 +190,21 @@ class boss_majordomo : public CreatureScript
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(GOSSIP_HELLO, creature->GetGUID());
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
creature->AI()->DoAction(ACTION_START_RAGNAROS);
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_majordomoAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
index 4d22ba6abb3..048e6149b4b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
@@ -87,7 +87,7 @@ class boss_ragnaros : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
BossAI::Reset();
_emergeTimer = 90000;
@@ -97,7 +97,7 @@ class boss_ragnaros : public CreatureScript
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_ERUPTION, 15000);
@@ -109,13 +109,13 @@ class boss_ragnaros : public CreatureScript
events.ScheduleEvent(EVENT_SUBMERGE, 180000);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (urand(0, 99) < 25)
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_introState != 2)
{
@@ -300,7 +300,7 @@ class boss_ragnaros : public CreatureScript
bool _isBanished;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ragnarosAI>(creature);
}
@@ -318,12 +318,12 @@ class npc_son_of_flame : public CreatureScript
instance = me->GetInstanceScript();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_RAGNAROS_ADDS, 1);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -335,7 +335,7 @@ class npc_son_of_flame : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_son_of_flameAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
index 4ca66a1c856..fcabf3d1b18 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
@@ -56,7 +56,7 @@ class boss_shazzrah : public CreatureScript
{
}
- void EnterCombat(Unit* target) OVERRIDE
+ void EnterCombat(Unit* target) override
{
BossAI::EnterCombat(target);
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, 6000);
@@ -66,7 +66,7 @@ class boss_shazzrah : public CreatureScript
events.ScheduleEvent(EVENT_BLINK, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -117,7 +117,7 @@ class boss_shazzrah : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_shazzrahAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
index ddb079b7b3d..dfe7a1527cd 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
@@ -67,7 +67,7 @@ class boss_sulfuron : public CreatureScript
{
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_DARK_STRIKE, 10000);
@@ -77,7 +77,7 @@ class boss_sulfuron : public CreatureScript
events.ScheduleEvent(EVENT_FLAMESPEAR, 2000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -127,7 +127,7 @@ class boss_sulfuron : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_sulfuronAI(creature);
}
@@ -144,17 +144,17 @@ class npc_flamewaker_priest : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
events.Reset();
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
ScriptedAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_HEAL, urand(15000, 30000));
@@ -162,7 +162,7 @@ class npc_flamewaker_priest : public CreatureScript
events.ScheduleEvent(EVENT_IMMOLATE, 8000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -203,7 +203,7 @@ class npc_flamewaker_priest : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_flamewaker_priestAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
index 587ea51fc76..7dee91bfb6f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
@@ -79,7 +79,7 @@ class instance_molten_core : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -94,7 +94,7 @@ class instance_molten_core : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -106,7 +106,7 @@ class instance_molten_core : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_RAGNAROS_ADDS)
{
@@ -117,7 +117,7 @@ class instance_molten_core : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -128,7 +128,7 @@ class instance_molten_core : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -183,7 +183,7 @@ class instance_molten_core : public InstanceMapScript
summon->AI()->DoAction(ACTION_START_RAGNAROS_ALT);
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -252,7 +252,7 @@ class instance_molten_core : public InstanceMapScript
bool _summonedExecutus;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_molten_core_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
index af8d1253dd8..ffb3c02d101 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
@@ -43,7 +43,7 @@ class boss_mr_smite : public CreatureScript
public:
boss_mr_smite() : CreatureScript("boss_mr_smite") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_mr_smiteAI>(creature);
}
@@ -66,7 +66,7 @@ public:
uint32 uiPhase;
uint32 uiTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiTrashTimer = urand(5000, 9000);
uiSlamTimer = 9000;
@@ -80,7 +80,7 @@ public:
SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
@@ -94,7 +94,7 @@ public:
return true;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -165,7 +165,7 @@ public:
DoMeleeAttackIfReady();
}
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 30dc2d89142..2124e72d9ee 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -72,7 +72,7 @@ class instance_deadmines : public InstanceMapScript
uint32 PiratesDelay_Timer;
uint64 uiSmiteChestGUID;
- void Initialize() OVERRIDE
+ void Initialize() override
{
FactoryDoorGUID = 0;
IronCladDoorGUID = 0;
@@ -86,7 +86,7 @@ class instance_deadmines : public InstanceMapScript
uiSmiteChestGUID = 0;
}
- virtual void Update(uint32 diff) OVERRIDE
+ virtual void Update(uint32 diff) override
{
if (!IronCladDoorGUID || !DefiasCannonGUID || !DoorLeverGUID)
return;
@@ -188,7 +188,7 @@ class instance_deadmines : public InstanceMapScript
pDoorLever->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -200,7 +200,7 @@ class instance_deadmines : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -216,7 +216,7 @@ class instance_deadmines : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -227,7 +227,7 @@ class instance_deadmines : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -247,7 +247,7 @@ class instance_deadmines : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_deadmines_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index 2b50c525f78..1398f959e46 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -24,17 +24,13 @@ Script Data End */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "gnomeregan.h"
#include "ScriptedEscortAI.h"
+#include "ScriptedGossip.h"
#include "Player.h"
-
-#define GOSSIP_START_EVENT "I am ready to being"
+#include "gnomeregan.h"
enum BlastmasterEmi
{
- GOSSIP_TEXT_EMI = 1693,
-
SAY_BLASTMASTER_0 = 0,
SAY_BLASTMASTER_1 = 1,
SAY_BLASTMASTER_2 = 2,
@@ -88,39 +84,11 @@ class npc_blastmaster_emi_shortfuse : public CreatureScript
public:
npc_blastmaster_emi_shortfuse() : CreatureScript("npc_blastmaster_emi_shortfuse") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_blastmaster_emi_shortfuseAI>(creature);
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF+1)
- {
- if (npc_escortAI* pEscortAI = CAST_AI(npc_blastmaster_emi_shortfuse::npc_blastmaster_emi_shortfuseAI, creature->AI()))
- pEscortAI->Start(true, false, player->GetGUID());
-
- creature->setFaction(player->getFaction());
- creature->AI()->SetData(1, 0);
-
- player->CLOSE_GOSSIP_MENU();
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- InstanceScript* instance = creature->GetInstanceScript();
-
- if (instance && instance->GetData(TYPE_EVENT) == NOT_STARTED)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
-
- player->SEND_GOSSIP_MENU(GOSSIP_TEXT_EMI, creature->GetGUID());
-
- return true;
- }
-
struct npc_blastmaster_emi_shortfuseAI : public npc_escortAI
{
npc_blastmaster_emi_shortfuseAI(Creature* creature) : npc_escortAI(creature)
@@ -138,7 +106,7 @@ public:
std::list<uint64> SummonList;
std::list<uint64> GoSummonList;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -152,6 +120,19 @@ public:
}
}
+ void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
+ {
+ if (gossipListId == 0)
+ {
+ Start(true, false, player->GetGUID());
+
+ me->setFaction(player->getFaction());
+ SetData(1, 0);
+
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+ }
+
void NextStep(uint32 uiTimerStep, bool bNextStep = true, uint8 uiPhaseStep = 0)
{
uiTimer = uiTimerStep;
@@ -251,7 +232,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
//just in case
if (GetPlayerForEscort())
@@ -295,7 +276,7 @@ public:
}
}
- void SetData(uint32 uiI, uint32 uiValue) OVERRIDE
+ void SetData(uint32 uiI, uint32 uiValue) override
{
switch (uiI)
{
@@ -392,7 +373,7 @@ public:
}
}
- void UpdateEscortAI(const uint32 uiDiff) OVERRIDE
+ void UpdateEscortAI(const uint32 uiDiff) override
{
if (uiPhase)
{
@@ -519,7 +500,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
SummonList.push_back(summon->GetGUID());
AggroAllPlayers(summon);
@@ -533,7 +514,7 @@ class boss_grubbis : public CreatureScript
public:
boss_grubbis() : CreatureScript("boss_grubbis") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_grubbisAI(creature);
}
@@ -555,7 +536,7 @@ public:
creature->AI()->SetData(2, 1);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -563,7 +544,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!me->IsSummon())
return;
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
index 9dde2d91d1a..b35601fcc6c 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
@@ -27,7 +27,7 @@ class instance_gnomeregan : public InstanceMapScript
public:
instance_gnomeregan() : InstanceMapScript("instance_gnomeregan", 90) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_gnomeregan_InstanceMapScript(map);
}
@@ -45,7 +45,7 @@ public:
uint64 uiBastmasterEmiShortfuseGUID;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -55,7 +55,7 @@ public:
uiBastmasterEmiShortfuseGUID = 0;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -77,7 +77,7 @@ public:
OUT_LOAD_INST_DATA_COMPLETE;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -85,7 +85,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -102,7 +102,7 @@ public:
}
}
- void SetData(uint32 uiType, uint32 uiData) OVERRIDE
+ void SetData(uint32 uiType, uint32 uiData) override
{
switch (uiType)
{
@@ -114,7 +114,7 @@ public:
}
}
- uint32 GetData(uint32 uiType) const OVERRIDE
+ uint32 GetData(uint32 uiType) const override
{
switch (uiType)
{
@@ -123,7 +123,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiType) const OVERRIDE
+ uint64 GetData64(uint32 uiType) const override
{
switch (uiType)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
index a16cec93da7..06c523dfabb 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_curator.cpp
@@ -53,7 +53,7 @@ class boss_curator : public CreatureScript
public:
boss_curator() : CreatureScript("boss_curator") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_curatorAI(creature);
}
@@ -69,7 +69,7 @@ public:
bool Enraged;
bool Evocating;
- void Reset() OVERRIDE
+ void Reset() override
{
AddTimer = 10000;
HatefulBoltTimer = 15000; //This time may be wrong
@@ -80,22 +80,22 @@ public:
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ARCANE, true);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 5ac7cedd6af..2e29c68e2ce 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
@@ -45,7 +45,7 @@ class boss_maiden_of_virtue : public CreatureScript
public:
boss_maiden_of_virtue() : CreatureScript("boss_maiden_of_virtue") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_maiden_of_virtueAI(creature);
}
@@ -62,7 +62,7 @@ public:
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
Repentance_Timer = 25000+(rand()%15000);
Holyfire_Timer = 8000+(rand()%17000);
@@ -73,23 +73,23 @@ public:
Enraged = false;
}
- void KilledUnit(Unit* /*Victim*/) OVERRIDE
+ void KilledUnit(Unit* /*Victim*/) override
{
if (urand(0, 1) == 0)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index 14cc3083d59..59a04d6a457 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -53,7 +53,7 @@ class boss_attumen : public CreatureScript
public:
boss_attumen() : CreatureScript("boss_attumen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_attumenAI(creature);
}
@@ -79,35 +79,35 @@ public:
uint32 ChargeTimer; //only when mounted
uint32 ResetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ResetTimer = 0;
Midnight = 0;
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
ResetTimer = 2000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
if (Unit* midnight = Unit::GetUnit(*me, Midnight))
midnight->Kill(midnight);
}
- void UpdateAI(uint32 diff) OVERRIDE;
+ void UpdateAI(uint32 diff) override;
- void SpellHit(Unit* /*source*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*source*/, const SpellInfo* spell) override
{
if (spell->Mechanic == MECHANIC_DISARM)
Talk(SAY_DISARMED);
@@ -120,7 +120,7 @@ class boss_midnight : public CreatureScript
public:
boss_midnight() : CreatureScript("boss_midnight") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_midnightAI(creature);
}
@@ -133,7 +133,7 @@ public:
uint8 Phase;
uint32 Mount_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Phase = 1;
Attumen = 0;
@@ -143,9 +143,9 @@ public:
me->SetVisible(true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (Phase == 2)
{
@@ -154,7 +154,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -191,7 +191,7 @@ public:
if (pAttumen->GetVictim())
{
pAttumen->GetMotionMaster()->MoveChase(pAttumen->GetVictim());
- pAttumen->SetTarget(pAttumen->GetVictim()->GetGUID());
+ pAttumen->SetTarget(pAttumen->EnsureVictim()->GetGUID());
}
pAttumen->SetObjectScale(1);
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 2dff776c35a..5d52cc62f8a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -96,7 +96,7 @@ class boss_moroes : public CreatureScript
public:
boss_moroes() : CreatureScript("boss_moroes") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_moroesAI>(creature);
}
@@ -125,7 +125,7 @@ public:
bool InVanish;
bool Enrage;
- void Reset() OVERRIDE
+ void Reset() override
{
Vanish_Timer = 30000;
Blind_Timer = 35000;
@@ -148,7 +148,7 @@ public:
DoZoneInCombat();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
StartEvent();
@@ -157,12 +157,12 @@ public:
DoZoneInCombat();
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -247,7 +247,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -343,7 +343,7 @@ struct boss_moroes_guestAI : public ScriptedAI
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetData(TYPE_MOROES, NOT_STARTED);
}
@@ -369,7 +369,7 @@ struct boss_moroes_guestAI : public ScriptedAI
return me;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!instance->GetData(TYPE_MOROES))
EnterEvadeMode();
@@ -383,7 +383,7 @@ class boss_baroness_dorothea_millstipe : public CreatureScript
public:
boss_baroness_dorothea_millstipe() : CreatureScript("boss_baroness_dorothea_millstipe") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_baroness_dorothea_millstipeAI>(creature);
}
@@ -397,7 +397,7 @@ public:
uint32 MindFlay_Timer;
uint32 ShadowWordPain_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ManaBurn_Timer = 7000;
MindFlay_Timer = 1000;
@@ -408,7 +408,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -446,7 +446,7 @@ class boss_baron_rafe_dreuger : public CreatureScript
public:
boss_baron_rafe_dreuger() : CreatureScript("boss_baron_rafe_dreuger") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_baron_rafe_dreugerAI>(creature);
}
@@ -460,7 +460,7 @@ public:
uint32 SealOfCommand_Timer;
uint32 JudgementOfCommand_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
HammerOfJustice_Timer = 1000;
SealOfCommand_Timer = 7000;
@@ -469,7 +469,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -503,7 +503,7 @@ class boss_lady_catriona_von_indi : public CreatureScript
public:
boss_lady_catriona_von_indi() : CreatureScript("boss_lady_catriona_von_indi") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lady_catriona_von_indiAI>(creature);
}
@@ -518,7 +518,7 @@ public:
uint32 HolyFire_Timer;
uint32 PowerWordShield_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
DispelMagic_Timer = 11000;
GreaterHeal_Timer = 1500;
@@ -530,7 +530,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -573,7 +573,7 @@ class boss_lady_keira_berrybuck : public CreatureScript
public:
boss_lady_keira_berrybuck() : CreatureScript("boss_lady_keira_berrybuck") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lady_keira_berrybuckAI>(creature);
}
@@ -588,7 +588,7 @@ public:
uint32 HolyLight_Timer;
uint32 DivineShield_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Cleanse_Timer = 13000;
GreaterBless_Timer = 1000;
@@ -600,7 +600,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -647,7 +647,7 @@ class boss_lord_robin_daris : public CreatureScript
public:
boss_lord_robin_daris() : CreatureScript("boss_lord_robin_daris") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lord_robin_darisAI>(creature);
}
@@ -661,7 +661,7 @@ public:
uint32 MortalStrike_Timer;
uint32 WhirlWind_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Hamstring_Timer = 7000;
MortalStrike_Timer = 10000;
@@ -670,7 +670,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -703,7 +703,7 @@ class boss_lord_crispin_ference : public CreatureScript
public:
boss_lord_crispin_ference() : CreatureScript("boss_lord_crispin_ference") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lord_crispin_ferenceAI>(creature);
}
@@ -718,7 +718,7 @@ public:
uint32 ShieldBash_Timer;
uint32 ShieldWall_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Disarm_Timer = 6000;
HeroicStrike_Timer = 10000;
@@ -728,7 +728,7 @@ public:
boss_moroes_guestAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
index ebd8762e9be..33ea71f81e1 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
@@ -69,7 +69,7 @@ class boss_netherspite : public CreatureScript
public:
boss_netherspite() : CreatureScript("boss_netherspite") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_netherspiteAI>(creature);
}
@@ -127,7 +127,7 @@ public:
return sqrt((xa-xb)*(xa-xb) + (ya-yb)*(ya-yb));
}
- void Reset() OVERRIDE
+ void Reset() override
{
Berserk = false;
NetherInfusionTimer = 540000;
@@ -257,19 +257,19 @@ public:
Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
HandleDoors(false);
SwitchToPortalPhase();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
HandleDoors(true);
DestroyPortals();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index fe0bd23c755..c8df08937b9 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -69,7 +69,7 @@ class boss_nightbane : public CreatureScript
public:
boss_nightbane() : CreatureScript("boss_nightbane") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nightbaneAI>(creature);
}
@@ -109,7 +109,7 @@ public:
uint32 WaitTimer;
uint32 MovePhase;
- void Reset() OVERRIDE
+ void Reset() override
{
BellowingRoarTimer = 30000;
CharredEarthTimer = 15000;
@@ -154,7 +154,7 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_MASTERS_TERRACE_DOOR_2), open);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(TYPE_NIGHTBANE, IN_PROGRESS);
@@ -162,27 +162,27 @@ public:
Talk(YELL_AGGRO);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!Intro && !Flying)
ScriptedAI::AttackStart(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_NIGHTBANE, DONE);
HandleTerraceDoors(true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Intro && !Flying)
ScriptedAI::MoveInLineOfSight(who);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -228,7 +228,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me->GetVictim());
}
@@ -253,7 +253,7 @@ public:
Skeletons = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
/* 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 bde326a5c37..cf13863f84b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -102,7 +102,7 @@ class netherspite_infernal : public CreatureScript
public:
netherspite_infernal() : CreatureScript("netherspite_infernal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new netherspite_infernalAI(creature);
}
@@ -117,12 +117,12 @@ public:
uint64 malchezaar;
InfernalPoint *point;
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (HellfireTimer)
{
@@ -144,14 +144,14 @@ public:
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (Unit* unit = Unit::GetUnit(*me, malchezaar))
if (Creature* creature = unit->ToCreature())
creature->AI()->KilledUnit(who);
}
- void SpellHit(Unit* /*who*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*who*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_INFERNAL_RELAY)
{
@@ -162,7 +162,7 @@ public:
}
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetGUID() != malchezaar)
damage = 0;
@@ -177,7 +177,7 @@ class boss_malchezaar : public CreatureScript
public:
boss_malchezaar() : CreatureScript("boss_malchezaar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_malchezaarAI>(creature);
}
@@ -211,7 +211,7 @@ public:
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
AxesCleanup();
ClearWeapons();
@@ -242,12 +242,12 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -262,7 +262,7 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -353,7 +353,7 @@ public:
InfernalPoint *point = NULL;
Position pos;
if ((me->GetMapId() != 532) || positions.empty())
- me->GetRandomNearPosition(pos, 60);
+ pos = me->GetRandomNearPosition(60);
else
{
point = Trinity::Containers::SelectRandomContainerElement(positions);
@@ -377,7 +377,7 @@ public:
Talk(SAY_SUMMON);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -391,8 +391,8 @@ public:
if (me->HasUnitState(UNIT_STATE_STUNNED)) // While shifting to phase 2 malchezaar stuns himself
return;
- if (me->GetUInt64Value(UNIT_FIELD_TARGET) != me->GetVictim()->GetGUID())
- me->SetTarget(me->GetVictim()->GetGUID());
+ if (me->GetVictim() && me->GetUInt64Value(UNIT_FIELD_TARGET) != me->EnsureVictim()->GetGUID())
+ me->SetTarget(me->EnsureVictim()->GetGUID());
if (phase == 1)
{
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 69f852f158c..0a3a697c6a7 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -84,7 +84,7 @@ class boss_shade_of_aran : public CreatureScript
public:
boss_shade_of_aran() : CreatureScript("boss_shade_of_aran") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_aranAI>(creature);
}
@@ -123,7 +123,7 @@ public:
bool Drinking;
bool DrinkInturrupted;
- void Reset() OVERRIDE
+ void Reset() override
{
SecondarySpellTimer = 5000;
NormalCastTimer = 0;
@@ -152,12 +152,12 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -165,7 +165,7 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -208,7 +208,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -466,13 +466,13 @@ public:
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) override
{
if (!DrinkInturrupted && Drinking && damage)
DrinkInturrupted = true;
}
- void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell) override
{
//We only care about interrupt effects and only if they are durring a spell currently being cast
if ((Spell->Effects[0].Effect != SPELL_EFFECT_INTERRUPT_CAST &&
@@ -501,7 +501,7 @@ class npc_aran_elemental : public CreatureScript
public:
npc_aran_elemental() : CreatureScript("npc_aran_elemental") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new water_elementalAI(creature);
}
@@ -512,14 +512,14 @@ public:
uint32 CastTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CastTimer = 2000 + (rand()%3000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 12a8cfc69ae..24ea77c5c93 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -69,7 +69,7 @@ class npc_kilrek : public CreatureScript
public:
npc_kilrek() : CreatureScript("npc_kilrek") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_kilrekAI>(creature);
}
@@ -87,17 +87,17 @@ public:
uint32 AmplifyTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
TerestianGUID = 0;
AmplifyTimer = 2000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
uint64 TerestianGUID = instance->GetData64(DATA_TERESTIAN);
if (TerestianGUID)
@@ -108,7 +108,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -132,7 +132,7 @@ class npc_demon_chain : public CreatureScript
public:
npc_demon_chain() : CreatureScript("npc_demon_chain") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_demon_chainAI(creature);
}
@@ -143,17 +143,17 @@ public:
uint64 SacrificeGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
SacrificeGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (SacrificeGUID)
{
@@ -170,7 +170,7 @@ class npc_fiendish_portal : public CreatureScript
public:
npc_fiendish_portal() : CreatureScript("npc_fiendish_portal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fiendish_portalAI(creature);
}
@@ -181,12 +181,12 @@ public:
SummonList summons;
- void Reset() OVERRIDE
+ void Reset() override
{
DespawnAllImp();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
DoZoneInCombat(summon);
@@ -204,7 +204,7 @@ class npc_fiendish_imp : public CreatureScript
public:
npc_fiendish_imp() : CreatureScript("npc_fiendish_imp") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fiendish_impAI(creature);
}
@@ -215,16 +215,16 @@ public:
uint32 FireboltTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
FireboltTimer = 2000;
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -246,7 +246,7 @@ class boss_terestian_illhoof : public CreatureScript
public:
boss_terestian_illhoof() : CreatureScript("boss_terestian_illhoof") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_terestianAI>(creature);
}
@@ -273,7 +273,7 @@ public:
bool SummonedPortals;
bool Berserk;
- void Reset() OVERRIDE
+ void Reset() override
{
for (uint8 i = 0; i < 2; ++i)
{
@@ -313,12 +313,12 @@ public:
else DoCast(me, SPELL_SUMMON_IMP, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_PORTAL)
{
@@ -333,12 +333,12 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (uint8 i = 0; i < 2; ++i)
{
@@ -356,7 +356,7 @@ public:
instance->SetData(TYPE_TERESTIAN, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 108aceebb90..010e06d67cb 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -116,7 +116,7 @@ class boss_dorothee : public CreatureScript
public:
boss_dorothee() : CreatureScript("boss_dorothee") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_dorotheeAI>(creature);
}
@@ -139,7 +139,7 @@ public:
bool SummonedTito;
bool TitoDied;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTimer = 500;
@@ -151,26 +151,26 @@ public:
TitoDied = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_DOROTHEE_AGGRO);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
void SummonTito();
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DOROTHEE_DEATH);
SummonCroneIfReady(instance, me);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -178,7 +178,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -187,7 +187,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AggroTimer)
{
@@ -230,7 +230,7 @@ class npc_tito : public CreatureScript
public:
npc_tito() : CreatureScript("npc_tito") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_titoAI(creature);
}
@@ -242,15 +242,15 @@ public:
uint64 DorotheeGUID;
uint32 YipTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
DorotheeGUID = 0;
YipTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (DorotheeGUID)
{
@@ -263,7 +263,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -296,7 +296,7 @@ class boss_strawman : public CreatureScript
public:
boss_strawman() : CreatureScript("boss_strawman") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_strawmanAI>(creature);
}
@@ -314,14 +314,14 @@ public:
uint32 BrainBashTimer;
uint32 BrainWipeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTimer = 13000;
BrainBashTimer = 5000;
BrainWipeTimer = 7000;
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -329,7 +329,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -338,17 +338,17 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_STRAWMAN_AGGRO);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
{
if ((Spell->SchoolMask == SPELL_SCHOOL_MASK_FIRE) && (!(rand()%10)))
{
@@ -361,19 +361,19 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_STRAWMAN_DEATH);
SummonCroneIfReady(instance, me);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_STRAWMAN_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AggroTimer)
{
@@ -410,7 +410,7 @@ class boss_tinhead : public CreatureScript
public:
boss_tinhead() : CreatureScript("boss_tinhead") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_tinheadAI>(creature);
}
@@ -430,7 +430,7 @@ public:
uint8 RustCount;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTimer = 15000;
CleaveTimer = 5000;
@@ -439,17 +439,17 @@ public:
RustCount = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_TINHEAD_AGGRO);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -457,7 +457,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -466,19 +466,19 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_TINHEAD_DEATH);
SummonCroneIfReady(instance, me);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_TINHEAD_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AggroTimer)
{
@@ -519,7 +519,7 @@ class boss_roar : public CreatureScript
public:
boss_roar() : CreatureScript("boss_roar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_roarAI>(creature);
}
@@ -538,7 +538,7 @@ public:
uint32 ShredTimer;
uint32 ScreamTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTimer = 20000;
MangleTimer = 5000;
@@ -546,7 +546,7 @@ public:
ScreamTimer = 15000;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -555,7 +555,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -563,29 +563,29 @@ public:
ScriptedAI::AttackStart(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_ROAR_AGGRO);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_ROAR_DEATH);
SummonCroneIfReady(instance, me);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ROAR_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AggroTimer)
{
@@ -627,7 +627,7 @@ class boss_crone : public CreatureScript
public:
boss_crone() : CreatureScript("boss_crone") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_croneAI>(creature);
}
@@ -644,30 +644,30 @@ public:
uint32 CycloneTimer;
uint32 ChainLightningTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CycloneTimer = 30000;
ChainLightningTimer = 10000;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_CRONE_SLAY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_CRONE_AGGRO);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_CRONE_DEATH);
@@ -679,7 +679,7 @@ public:
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -710,7 +710,7 @@ class npc_cyclone : public CreatureScript
public:
npc_cyclone() : CreatureScript("npc_cyclone") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_cycloneAI(creature);
}
@@ -721,27 +721,26 @@ public:
uint32 MoveTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
MoveTimer = 1000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->HasAura(SPELL_KNOCKBACK))
DoCast(me, SPELL_KNOCKBACK, true);
if (MoveTimer <= diff)
{
- Position pos;
- me->GetRandomNearPosition(pos, 10);
+ Position pos = me->GetRandomNearPosition(10);
me->GetMotionMaster()->MovePoint(0, pos);
MoveTimer = urand(5000, 8000);
} else MoveTimer -= diff;
@@ -776,7 +775,7 @@ class npc_grandmother : public CreatureScript
public:
npc_grandmother() : CreatureScript("npc_grandmother") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -790,7 +789,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GRANDMA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(8990, creature->GetGUID());
@@ -804,7 +803,7 @@ class boss_bigbadwolf : public CreatureScript
public:
boss_bigbadwolf() : CreatureScript("boss_bigbadwolf") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_bigbadwolfAI>(creature);
}
@@ -827,7 +826,7 @@ public:
bool IsChasing;
- void Reset() OVERRIDE
+ void Reset() override
{
ChaseTimer = 30000;
FearTimer = urand(25000, 35000);
@@ -839,22 +838,22 @@ public:
IsChasing = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_WOLF_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_WOLF_SLAY);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoPlaySoundToSet(me, SOUND_WOLF_DEATH);
@@ -866,7 +865,7 @@ public:
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1003,7 +1002,7 @@ class boss_julianne : public CreatureScript
public:
boss_julianne() : CreatureScript("boss_julianne") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_julianneAI>(creature);
}
@@ -1040,7 +1039,7 @@ public:
bool SummonedRomulo;
bool RomuloDead;
- void Reset() OVERRIDE
+ void Reset() override
{
RomuloGUID = 0;
Phase = PHASE_JULIANNE;
@@ -1063,9 +1062,9 @@ public:
RomuloDead = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1073,7 +1072,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -1082,12 +1081,12 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
{
if (Spell->Id == SPELL_DRINK_POISON)
{
@@ -1096,9 +1095,9 @@ public:
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE;
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_JULIANNE_DEATH02);
@@ -1109,12 +1108,12 @@ public:
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_JULIANNE_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE;
+ void UpdateAI(uint32 diff) override;
};
};
@@ -1123,7 +1122,7 @@ class boss_romulo : public CreatureScript
public:
boss_romulo() : CreatureScript("boss_romulo") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_romuloAI>(creature);
}
@@ -1153,7 +1152,7 @@ public:
bool IsFakingDeath;
bool JulianneDead;
- void Reset() OVERRIDE
+ void Reset() override
{
JulianneGUID = 0;
Phase = PHASE_ROMULO;
@@ -1168,12 +1167,12 @@ public:
JulianneDead = false;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->DespawnOrUnsummon();
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage < me->GetHealth())
return;
@@ -1227,7 +1226,7 @@ public:
TC_LOG_ERROR("scripts", "boss_romuloAI: DamageTaken reach end of code, that should not happen.");
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_ROMULO_AGGRO);
if (JulianneGUID)
@@ -1241,7 +1240,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -1250,7 +1249,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_ROMULO_DEATH);
@@ -1262,12 +1261,12 @@ public:
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ROMULO_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || IsFakingDeath)
return;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 2e4f1eaca10..3300e92869b 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -49,7 +49,7 @@ class instance_karazhan : public InstanceMapScript
public:
instance_karazhan() : InstanceMapScript("instance_karazhan", 532) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_karazhan_InstanceMapScript(map);
}
@@ -80,7 +80,7 @@ public:
uint64 ImageGUID;
uint64 DustCoveredChest;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -108,7 +108,7 @@ public:
DustCoveredChest = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -117,7 +117,7 @@ public:
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -127,7 +127,7 @@ public:
}
}
- void SetData(uint32 type, uint32 uiData) OVERRIDE
+ void SetData(uint32 type, uint32 uiData) override
{
switch (type)
{
@@ -182,7 +182,7 @@ public:
}
}
- void SetData64(uint32 identifier, uint64 data) OVERRIDE
+ void SetData64(uint32 identifier, uint64 data) override
{
switch (identifier)
{
@@ -190,7 +190,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -236,12 +236,12 @@ public:
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return strSaveData;
}
- uint32 GetData(uint32 uiData) const OVERRIDE
+ uint32 GetData(uint32 uiData) const override
{
switch (uiData)
{
@@ -264,7 +264,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiData) const OVERRIDE
+ uint64 GetData64(uint32 uiData) const override
{
switch (uiData)
{
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 241ac85faa2..9db4c4b2bfa 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -148,7 +148,7 @@ public:
bool PerformanceReady;
bool RaidWiped;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiSpotlightGUID = 0;
@@ -172,9 +172,9 @@ public:
Start(false, false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -276,7 +276,7 @@ public:
RaidWiped = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -336,7 +336,7 @@ public:
}
};
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, creature->AI());
@@ -371,7 +371,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -403,7 +403,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_barnesAI>(creature);
}
@@ -420,7 +420,7 @@ class npc_berthold : public CreatureScript
public:
npc_berthold() : CreatureScript("npc_berthold") { }
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -430,7 +430,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -467,7 +467,7 @@ class npc_image_of_medivh : public CreatureScript
public:
npc_image_of_medivh() : CreatureScript("npc_image_of_medivh") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_image_of_medivhAI>(creature);
}
@@ -490,7 +490,7 @@ public:
bool EventStarted;
- void Reset() OVERRIDE
+ void Reset() override
{
ArcanagosGUID = 0;
EventStarted = false;
@@ -508,9 +508,9 @@ public:
me->RemoveCorpse();
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -584,10 +584,13 @@ public:
arca->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, NULL);
return 5000;
case 12:
- arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
- arca->setActive(true);
- arca->InterruptNonMeleeSpells(true);
- arca->SetSpeed(MOVE_FLIGHT, 2.0f);
+ if (arca)
+ {
+ arca->GetMotionMaster()->MovePoint(0, -11010.82f, -1761.18f, 156.47f);
+ arca->setActive(true);
+ arca->InterruptNonMeleeSpells(true);
+ arca->SetSpeed(MOVE_FLIGHT, 2.0f);
+ }
return 10000;
case 13:
me->MonsterYell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL, NULL);
@@ -617,7 +620,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 0601c69e96d..e0c902427c2 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -94,7 +94,7 @@ class boss_felblood_kaelthas : public CreatureScript
public:
boss_felblood_kaelthas() : CreatureScript("boss_felblood_kaelthas") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return GetInstanceAI<boss_felblood_kaelthasAI>(c);
}
@@ -132,7 +132,7 @@ public:
// 1 = Fireball; Summon Phoenix; Flamestrike
// 2 = Gravity Lapses
- void Reset() OVERRIDE
+ void Reset() override
{
/// @todo Timers
FireballTimer = 0;
@@ -153,7 +153,7 @@ public:
instance->SetData(DATA_KAELTHAS_EVENT, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -164,18 +164,18 @@ public:
escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage > me->GetHealth())
RemoveGravityLapse(); // Remove Gravity Lapse so that players fall to ground if they kill him when in air.
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_KAELTHAS_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!HasTaunted && me->IsWithinDistInMap(who, 40.0f))
@@ -274,7 +274,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -430,7 +430,7 @@ class npc_felkael_flamestrike : public CreatureScript
public:
npc_felkael_flamestrike() : CreatureScript("npc_felkael_flamestrike") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_felkael_flamestrikeAI(c);
}
@@ -443,7 +443,7 @@ public:
uint32 FlameStrikeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
FlameStrikeTimer = 5000;
@@ -453,10 +453,10 @@ public:
DoCast(me, SPELL_FLAMESTRIKE2, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (FlameStrikeTimer <= diff)
{
@@ -472,7 +472,7 @@ class npc_felkael_phoenix : public CreatureScript
public:
npc_felkael_phoenix() : CreatureScript("npc_felkael_phoenix") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return GetInstanceAI<npc_felkael_phoenixAI>(c);
}
@@ -490,7 +490,7 @@ public:
bool Rebirth;
bool FakeDeath;
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE);
me->SetDisableGravity(true);
@@ -501,9 +501,9 @@ public:
FakeDeath = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (damage < me->GetHealth())
return;
@@ -537,12 +537,12 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SummonCreature(CREATURE_PHOENIX_EGG, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//If we are fake death, we cast revbirth and after that we kill the phoenix to spawn the egg.
if (FakeDeath)
@@ -585,7 +585,7 @@ class npc_felkael_phoenix_egg : public CreatureScript
public:
npc_felkael_phoenix_egg() : CreatureScript("npc_felkael_phoenix_egg") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_felkael_phoenix_eggAI(c);
}
@@ -596,16 +596,16 @@ public:
uint32 HatchTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
HatchTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (HatchTimer <= diff)
{
@@ -621,7 +621,7 @@ class npc_arcane_sphere : public CreatureScript
public:
npc_arcane_sphere() : CreatureScript("npc_arcane_sphere") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_arcane_sphereAI(c);
}
@@ -633,7 +633,7 @@ public:
uint32 DespawnTimer;
uint32 ChangeTargetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
DespawnTimer = 30000;
ChangeTargetTimer = urand(6000, 12000);
@@ -644,9 +644,9 @@ public:
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 4bc0ee68cc3..046db7fc654 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -108,7 +108,7 @@ class boss_priestess_delrissa : public CreatureScript
public:
boss_priestess_delrissa() : CreatureScript("boss_priestess_delrissa") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_priestess_delrissaAI>(creature);
}
@@ -136,7 +136,7 @@ public:
uint32 DispelTimer;
uint32 ResetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayersKilled = 0;
@@ -151,12 +151,12 @@ public:
}
//this mean she at some point evaded
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SetData(DATA_DELRISSA_EVENT, FAIL);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_AGGRO);
@@ -224,7 +224,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -235,7 +235,7 @@ public:
++PlayersKilled;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -248,7 +248,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -365,7 +365,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
bool UsedPotion;
- void Reset() OVERRIDE
+ void Reset() override
{
UsedPotion = false;
@@ -383,7 +383,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!who)
return;
@@ -410,7 +410,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Creature* pDelrissa = Unit::GetCreature(*me, instance->GetData64(DATA_DELRISSA));
uint32 uiLackeyDeathCount = instance->GetData(DATA_DELRISSA_DEATH_COUNT);
@@ -439,7 +439,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (Creature* Delrissa = Unit::GetCreature(*me, instance->GetData64(DATA_DELRISSA)))
Delrissa->AI()->KilledUnit(victim);
@@ -454,7 +454,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UsedPotion && HealthBelowPct(25))
{
@@ -485,7 +485,7 @@ class boss_kagani_nightstrike : public CreatureScript
public:
boss_kagani_nightstrike() : CreatureScript("boss_kagani_nightstrike") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kagani_nightstrikeAI>(creature);
}
@@ -502,7 +502,7 @@ public:
uint32 Wait_Timer;
bool InVanish;
- void Reset() OVERRIDE
+ void Reset() override
{
Gouge_Timer = 5500;
Kick_Timer = 7000;
@@ -515,7 +515,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -589,7 +589,7 @@ class boss_ellris_duskhallow : public CreatureScript
public:
boss_ellris_duskhallow() : CreatureScript("boss_ellris_duskhallow") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ellris_duskhallowAI>(creature);
}
@@ -605,7 +605,7 @@ public:
uint32 Curse_of_Agony_Timer;
uint32 Fear_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Immolate_Timer = 6000;
Shadow_Bolt_Timer = 3000;
@@ -616,12 +616,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_SUMMON_IMP);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -680,7 +680,7 @@ class boss_eramas_brightblaze : public CreatureScript
public:
boss_eramas_brightblaze() : CreatureScript("boss_eramas_brightblaze") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_eramas_brightblazeAI>(creature);
}
@@ -693,7 +693,7 @@ public:
uint32 Knockdown_Timer;
uint32 Snap_Kick_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Knockdown_Timer = 6000;
Snap_Kick_Timer = 4500;
@@ -701,7 +701,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -741,7 +741,7 @@ class boss_yazzai : public CreatureScript
public:
boss_yazzai() : CreatureScript("boss_yazzai") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_yazzaiAI>(creature);
}
@@ -762,7 +762,7 @@ public:
uint32 Frostbolt_Timer;
uint32 Blink_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
HasIceBlocked = false;
@@ -778,7 +778,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -871,7 +871,7 @@ class boss_warlord_salaris : public CreatureScript
public:
boss_warlord_salaris() : CreatureScript("boss_warlord_salaris") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_warlord_salarisAI>(creature);
}
@@ -888,7 +888,7 @@ public:
uint32 Hamstring_Timer;
uint32 Mortal_Strike_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Intercept_Stun_Timer = 500;
Disarm_Timer = 6000;
@@ -900,12 +900,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_BATTLE_SHOUT);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -991,7 +991,7 @@ class boss_garaxxas : public CreatureScript
public:
boss_garaxxas() : CreatureScript("boss_garaxxas") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_garaxxasAI>(creature);
}
@@ -1013,7 +1013,7 @@ public:
uint32 Wing_Clip_Timer;
uint32 Freezing_Trap_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Aimed_Shot_Timer = 6000;
Shoot_Timer = 2500;
@@ -1029,12 +1029,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
m_uiPetGUID = summoned->GetGUID();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1102,7 +1102,7 @@ class boss_apoko : public CreatureScript
public:
boss_apoko() : CreatureScript("boss_apoko") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_apokoAI>(creature);
}
@@ -1119,7 +1119,7 @@ public:
uint32 Healing_Wave_Timer;
uint32 Frost_Shock_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Totem_Timer = 2000;
Totem_Amount = 1;
@@ -1131,7 +1131,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1200,7 +1200,7 @@ class boss_zelfan : public CreatureScript
public:
boss_zelfan() : CreatureScript("boss_zelfan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_zelfanAI>(creature);
}
@@ -1216,7 +1216,7 @@ public:
uint32 High_Explosive_Sheep_Timer;
uint32 Fel_Iron_Bomb_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Goblin_Dragon_Gun_Timer = 20000;
Rocket_Launch_Timer = 7000;
@@ -1227,7 +1227,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1285,7 +1285,7 @@ class npc_high_explosive_sheep : public CreatureScript
public:
npc_high_explosive_sheep() : CreatureScript("npc_high_explosive_sheep") { }
- //CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ //CreatureAI* GetAI(Creature* creature) const override
//{
// return new npc_high_explosive_sheepAI(creature);
//};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index 758ecb996f4..74e9321d08c 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -64,7 +64,7 @@ class boss_selin_fireheart : public CreatureScript
public:
boss_selin_fireheart() : CreatureScript("boss_selin_fireheart") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_selin_fireheartAI>(creature);
};
@@ -102,7 +102,7 @@ public:
uint64 CrystalGUID; // This will help us create a pointer to the crystal we are draining. We store GUIDs, never units in case unit is deleted/offline (offline if player of course).
- void Reset() OVERRIDE
+ void Reset() override
{
//for (uint8 i = 0; i < CRYSTALS_NUMBER; ++i)
for (std::list<uint64>::const_iterator itr = Crystals.begin(); itr != Crystals.end(); ++itr)
@@ -191,18 +191,18 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_SELIN_EVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == 1)
{
@@ -224,7 +224,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -232,7 +232,7 @@ public:
ShatterRemainingCrystals();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -315,7 +315,7 @@ class npc_fel_crystal : public CreatureScript
public:
npc_fel_crystal() : CreatureScript("npc_fel_crystal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fel_crystalAI(creature);
};
@@ -324,14 +324,14 @@ public:
{
npc_fel_crystalAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (InstanceScript* instance = me->GetInstanceScript())
{
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
index 95bfcb93878..58b9ef12095 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
@@ -74,7 +74,7 @@ class boss_vexallus : public CreatureScript
public:
boss_vexallus() : CreatureScript("boss_vexallus") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_vexallusAI>(creature);
};
@@ -94,7 +94,7 @@ public:
uint32 IntervalHealthAmount;
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
summons.DespawnAll();
ChainLightningTimer = 8000;
@@ -106,25 +106,25 @@ public:
instance->SetData(DATA_VEXALLUS_EVENT, NOT_STARTED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
summons.DespawnAll();
instance->SetData(DATA_VEXALLUS_EVENT, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_VEXALLUS_EVENT, IN_PROGRESS);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Unit* temp = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->GetMotionMaster()->MoveFollow(temp, 0, 0);
@@ -133,7 +133,7 @@ public:
summoned->CastSpell(summoned, SPELL_ENERGY_BOLT, false, 0, 0, me->GetGUID());
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -207,7 +207,7 @@ class npc_pure_energy : public CreatureScript
public:
npc_pure_energy() : CreatureScript("npc_pure_energy") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pure_energyAI(creature);
};
@@ -219,9 +219,9 @@ public:
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void JustDied(Unit* slayer) OVERRIDE
+ void JustDied(Unit* slayer) override
{
if (Unit* temp = me->GetOwner())
{
@@ -230,10 +230,10 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index 5183efea521..daea647609d 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -81,7 +81,7 @@ public:
uint32 StatuesState;
uint8 felCristalIndex;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&Encounter, 0, sizeof(Encounter));
@@ -103,7 +103,7 @@ public:
felCristalIndex = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (Encounter[i] == IN_PROGRESS)
@@ -183,7 +183,7 @@ public:
SaveToDB();
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -199,7 +199,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -230,7 +230,7 @@ public:
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -241,7 +241,7 @@ public:
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -307,7 +307,7 @@ public:
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_magisters_terrace_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index ed5d9d4ec6f..28f4800b6cf 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -68,7 +68,7 @@ class npc_kalecgos : public CreatureScript
public:
npc_kalecgos() : CreatureScript("npc_kalecgos") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -97,7 +97,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -108,7 +108,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kalecgosAI(creature);
}
@@ -119,7 +119,7 @@ public:
uint32 m_uiTransformTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiTransformTimer = 0;
@@ -128,7 +128,7 @@ public:
me->GetMotionMaster()->MovePoint(POINT_ID_LAND, afKaelLandPoint[0], afKaelLandPoint[1], afKaelLandPoint[2]);
}
- void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiPointId) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -162,7 +162,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (m_uiTransformTimer)
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 96386462c44..8bc136a1a1d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -92,7 +92,7 @@ class npc_unworthy_initiate : public CreatureScript
public:
npc_unworthy_initiate() : CreatureScript("npc_unworthy_initiate") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unworthy_initiateAI(creature);
}
@@ -114,7 +114,7 @@ public:
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
anchorGUID = 0;
phase = PHASE_CHAINED;
@@ -125,7 +125,7 @@ public:
me->LoadEquipment(0, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_ICY_TOUCH, 1000, GCD_CAST);
events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 3000, GCD_CAST);
@@ -133,7 +133,7 @@ public:
events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -166,7 +166,7 @@ public:
Talk(SAY_EVENT_START);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
switch (phase)
{
@@ -281,7 +281,7 @@ class npc_unworthy_initiate_anchor : public CreatureScript
public:
npc_unworthy_initiate_anchor() : CreatureScript("npc_unworthy_initiate_anchor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unworthy_initiate_anchorAI(creature);
}
@@ -292,13 +292,13 @@ public:
uint64 prisonerGUID;
- void SetGUID(uint64 guid, int32 /*id*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*id*/) override
{
if (!prisonerGUID)
prisonerGUID = guid;
}
- uint64 GetGUID(int32 /*id*/) const OVERRIDE
+ uint64 GetGUID(int32 /*id*/) const override
{
return prisonerGUID;
}
@@ -310,7 +310,7 @@ class go_acherus_soul_prison : public GameObjectScript
public:
go_acherus_soul_prison() : GameObjectScript("go_acherus_soul_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (Creature* anchor = go->FindNearestCreature(29521, 15))
if (uint64 prisonerGUID = anchor->AI()->GetGUID())
@@ -352,7 +352,7 @@ class npc_death_knight_initiate : public CreatureScript
public:
npc_death_knight_initiate() : CreatureScript("npc_death_knight_initiate") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -379,7 +379,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_DEATH_CHALLENGE) == QUEST_STATUS_INCOMPLETE && creature->IsFullHealth())
{
@@ -395,7 +395,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_death_knight_initiateAI(creature);
}
@@ -412,7 +412,7 @@ public:
uint32 m_uiDuelTimer;
bool m_bIsDuelInProgress;
- void Reset() OVERRIDE
+ void Reset() override
{
lose = false;
me->RestoreFaction();
@@ -425,7 +425,7 @@ public:
m_bIsDuelInProgress = false;
}
- void SpellHit(Unit* pCaster, const SpellInfo* pSpell) OVERRIDE
+ void SpellHit(Unit* pCaster, const SpellInfo* pSpell) override
{
if (!m_bIsDuelInProgress && pSpell->Id == SPELL_DUEL)
{
@@ -434,7 +434,7 @@ public:
}
}
- void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) OVERRIDE
+ void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override
{
if (m_bIsDuelInProgress && pDoneBy->IsControlledByPlayer())
{
@@ -457,7 +457,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
{
@@ -484,10 +484,10 @@ public:
EnterEvadeMode();
return;
}
- else if (me->GetVictim()->GetTypeId() == TYPEID_PLAYER && me->GetVictim()->HealthBelowPct(10))
+ else if (me->GetVictim() && me->EnsureVictim()->GetTypeId() == TYPEID_PLAYER && me->EnsureVictim()->HealthBelowPct(10))
{
- me->GetVictim()->CastSpell(me->GetVictim(), 7267, true); // beg
- me->GetVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true);
+ me->EnsureVictim()->CastSpell(me->GetVictim(), 7267, true); // beg
+ me->EnsureVictim()->RemoveGameObject(SPELL_DUEL_FLAG, true);
EnterEvadeMode();
return;
}
@@ -520,7 +520,7 @@ class npc_dark_rider_of_acherus : public CreatureScript
{
npc_dark_rider_of_acherusAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
PhaseTimer = 4000;
Phase = 0;
@@ -528,7 +528,7 @@ class npc_dark_rider_of_acherus : public CreatureScript
TargetGUID = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Intro || !TargetGUID)
return;
@@ -584,7 +584,7 @@ class npc_dark_rider_of_acherus : public CreatureScript
uint64 TargetGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dark_rider_of_acherusAI(creature);
}
@@ -608,7 +608,7 @@ class npc_salanar_the_horseman : public CreatureScript
public:
npc_salanar_the_horseman() : CreatureScript("npc_salanar_the_horseman") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_salanar_the_horsemanAI(creature);
}
@@ -617,7 +617,7 @@ public:
{
npc_salanar_the_horsemanAI(Creature* creature) : ScriptedAI(creature) { }
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DELIVER_STOLEN_HORSE)
{
@@ -639,7 +639,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
@@ -680,7 +680,7 @@ class npc_ros_dark_rider : public CreatureScript
public:
npc_ros_dark_rider() : CreatureScript("npc_ros_dark_rider") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ros_dark_riderAI(creature);
}
@@ -689,12 +689,12 @@ public:
{
npc_ros_dark_riderAI(Creature* creature) : ScriptedAI(creature) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->ExitVehicle();
}
- void Reset() OVERRIDE
+ void Reset() override
{
Creature* deathcharger = me->FindNearestCreature(28782, 30);
if (!deathcharger)
@@ -707,7 +707,7 @@ public:
me->EnterVehicle(deathcharger);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Creature* deathcharger = me->FindNearestCreature(28782, 30);
if (!deathcharger)
@@ -735,7 +735,7 @@ class npc_dkc1_gothik : public CreatureScript
public:
npc_dkc1_gothik() : CreatureScript("npc_dkc1_gothik") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dkc1_gothikAI(creature);
}
@@ -744,7 +744,7 @@ public:
{
npc_dkc1_gothikAI(Creature* creature) : ScriptedAI(creature) { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
@@ -779,7 +779,7 @@ class npc_scarlet_ghoul : public CreatureScript
public:
npc_scarlet_ghoul() : CreatureScript("npc_scarlet_ghoul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_ghoulAI(creature);
}
@@ -815,7 +815,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->IsInCombat())
{
@@ -832,12 +832,12 @@ public:
}
}
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
return;
//ScriptedAI::UpdateAI(diff);
//Check if we have a current target
- if (me->GetVictim()->GetEntry() == NPC_GHOSTS)
+ if (me->EnsureVictim()->GetEntry() == NPC_GHOSTS)
{
if (me->isAttackReady())
{
@@ -881,7 +881,7 @@ class npc_scarlet_miner_cart : public CreatureScript
me->SetDisplayId(me->GetCreatureTemplate()->Modelid1); // Modelid2 is a horse.
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_MINER)
{
@@ -890,13 +890,13 @@ class npc_scarlet_miner_cart : public CreatureScript
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->GetEntry() == NPC_MINER)
_minerGUID = 0;
}
- void DoAction(int32 /*param*/) OVERRIDE
+ void DoAction(int32 /*param*/) override
{
if (Creature* miner = ObjectAccessor::GetCreature(*me, _minerGUID))
{
@@ -910,7 +910,7 @@ class npc_scarlet_miner_cart : public CreatureScript
}
}
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
{
if (apply)
{
@@ -930,7 +930,7 @@ class npc_scarlet_miner_cart : public CreatureScript
uint64 _playerGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_miner_cartAI(creature);
}
@@ -962,14 +962,14 @@ class npc_scarlet_miner : public CreatureScript
uint32 IntroPhase;
uint64 carGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
carGUID = 0;
IntroTimer = 0;
IntroPhase = 0;
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
carGUID = summoner->GetGUID();
}
@@ -1007,14 +1007,14 @@ class npc_scarlet_miner : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 /*id = 0*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*id = 0*/) override
{
InitWaypoint();
Start(false, false, guid);
SetDespawnAtFar(false);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -1041,7 +1041,7 @@ class npc_scarlet_miner : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IntroPhase)
{
@@ -1068,7 +1068,7 @@ class npc_scarlet_miner : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_minerAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 153e995e590..88c30efdf71 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -44,7 +44,7 @@ class npc_crusade_persuaded : public CreatureScript
public:
npc_crusade_persuaded() : CreatureScript("npc_crusade_persuaded") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_crusade_persuadedAI(creature);
}
@@ -57,7 +57,7 @@ public:
uint32 speechCounter;
uint64 playerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
speechTimer = 0;
speechCounter = 0;
@@ -66,7 +66,7 @@ public:
me->RestoreFaction();
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->IsAlive() && !speechCounter)
{
@@ -90,7 +90,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (speechCounter)
{
@@ -191,7 +191,7 @@ class npc_koltira_deathweaver : public CreatureScript
public:
npc_koltira_deathweaver() : CreatureScript("npc_koltira_deathweaver") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_BREAKOUT)
{
@@ -210,7 +210,7 @@ public:
me->SetReactState(REACT_DEFENSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -224,7 +224,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -258,7 +258,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Player* player = GetPlayerForEscort())
summoned->AI()->AttackStart(player);
@@ -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(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -347,7 +347,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_koltira_deathweaverAI(creature);
}
@@ -368,7 +368,7 @@ class npc_scarlet_courier : public CreatureScript
public:
npc_scarlet_courier() : CreatureScript("npc_scarlet_courier") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_courierAI(creature);
}
@@ -380,21 +380,21 @@ public:
uint32 uiStage;
uint32 uiStage_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->Mount(14338); // not sure about this id
uiStage = 1;
uiStage_timer = 3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_TREE2);
me->Dismount();
uiStage = 0;
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -403,7 +403,7 @@ public:
uiStage = 2;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiStage && !me->IsInCombat())
{
@@ -460,7 +460,7 @@ class npc_high_inquisitor_valroth : public CreatureScript
public:
npc_high_inquisitor_valroth() : CreatureScript("npc_high_inquisitor_valroth") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_high_inquisitor_valrothAI(creature);
}
@@ -473,20 +473,20 @@ public:
uint32 uiInquisitor_Penance_timer;
uint32 uiValroth_Smite_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiRenew_timer = 1000;
uiInquisitor_Penance_timer = 2000;
uiValroth_Smite_timer = 1000;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_VALROTH_AGGRO);
DoCast(who, SPELL_VALROTH_SMITE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiRenew_timer <= diff)
{
@@ -518,7 +518,7 @@ public:
Talk(SAY_VALROTH_RAND);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Talk(SAY_VALROTH_DEATH);
killer->CastSpell(me, SPELL_SUMMON_VALROTH_REMAINS, true);
@@ -596,7 +596,7 @@ class npc_a_special_surprise : public CreatureScript
public:
npc_a_special_surprise() : CreatureScript("npc_a_special_surprise") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_a_special_surpriseAI(creature);
}
@@ -609,7 +609,7 @@ public:
uint32 ExecuteSpeech_Counter;
uint64 PlayerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
ExecuteSpeech_Timer = 0;
ExecuteSpeech_Counter = 0;
@@ -667,7 +667,7 @@ public:
return false;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (PlayerGUID || who->GetTypeId() != TYPEID_PLAYER || !who->IsWithinDist(me, INTERACTION_DISTANCE))
@@ -677,7 +677,7 @@ public:
PlayerGUID = who->GetGUID();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 75ed7b82406..8d5e10679ec 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -275,7 +275,7 @@ class npc_highlord_darion_mograine : public CreatureScript
public:
npc_highlord_darion_mograine() : CreatureScript("npc_highlord_darion_mograine") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -289,7 +289,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -302,7 +302,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_highlord_darion_mograineAI(creature);
}
@@ -370,7 +370,7 @@ public:
uint64 uiGhoulGUID[ENCOUNTER_GHOUL_NUMBER];
uint64 uiWarriorGUID[ENCOUNTER_WARRIOR_NUMBER];
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -470,7 +470,7 @@ public:
}
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -487,7 +487,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who)
@@ -503,7 +503,7 @@ public:
SetEscortPaused(bOnHold);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -618,13 +618,13 @@ public:
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!bIsBattle)//do not reset self if we are in battle
npc_escortAI::EnterEvadeMode();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -1670,7 +1670,7 @@ class npc_the_lich_king_tirion_dawn : public CreatureScript
public:
npc_the_lich_king_tirion_dawn() : CreatureScript("npc_the_lich_king_tirion_dawn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_the_lich_king_tirion_dawnAI(creature);
}
@@ -1678,10 +1678,10 @@ public:
struct npc_the_lich_king_tirion_dawnAI : public ScriptedAI
{
npc_the_lich_king_tirion_dawnAI(Creature* creature) : ScriptedAI(creature) { Reset(); }
- void Reset() OVERRIDE { }
- void AttackStart(Unit* /*who*/) { } // very sample, just don't make them aggreesive OVERRIDE
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
- void JustDied(Unit* /*killer*/) OVERRIDE { }
+ void Reset() override { }
+ void AttackStart(Unit* /*who*/) { } // very sample, just don't make them aggreesive override
+ void UpdateAI(uint32 /*diff*/) override { }
+ void JustDied(Unit* /*killer*/) override { }
};
};
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 4fbcfac08ee..f47a3bc3a86 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
@@ -39,7 +39,7 @@ class npc_valkyr_battle_maiden : public CreatureScript
public:
npc_valkyr_battle_maiden() : CreatureScript("npc_valkyr_battle_maiden") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_valkyr_battle_maidenAI(creature);
}
@@ -52,7 +52,7 @@ public:
float x, y, z;
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
me->setActive(true);
me->SetVisible(false);
@@ -69,7 +69,7 @@ public:
me->SetPosition(x, y, z, 0.0f);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 5370adf8384..787bf7584e5 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
@@ -46,7 +46,7 @@ class boss_arcanist_doan : public CreatureScript
public:
boss_arcanist_doan() : CreatureScript("boss_arcanist_doan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_arcanist_doanAI(creature);
}
@@ -61,7 +61,7 @@ public:
bool bCanDetonate;
bool bShielded;
- void Reset() OVERRIDE
+ void Reset() override
{
Polymorph_Timer = 20000;
AoESilence_Timer = 15000;
@@ -70,12 +70,12 @@ public:
bShielded = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 edcc78ca8fe..dd173c75232 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
@@ -38,7 +38,7 @@ class boss_azshir_the_sleepless : public CreatureScript
public:
boss_azshir_the_sleepless() : CreatureScript("boss_azshir_the_sleepless") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_azshir_the_sleeplessAI(creature);
}
@@ -51,16 +51,16 @@ public:
uint32 CallOftheGrave_Timer;
uint32 Terrify_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
SoulSiphon_Timer = 1;
CallOftheGrave_Timer = 30000;
Terrify_Timer = 20000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 a7db667ecfd..207c12f608a 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
@@ -46,7 +46,7 @@ class boss_bloodmage_thalnos : public CreatureScript
public:
boss_bloodmage_thalnos() : CreatureScript("boss_bloodmage_thalnos") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_bloodmage_thalnosAI(creature);
}
@@ -61,7 +61,7 @@ public:
uint32 FlameSpike_Timer;
uint32 FireNova_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
HpYell = false;
FlameShock_Timer = 10000;
@@ -70,17 +70,17 @@ public:
FireNova_Timer = 40000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*Victim*/) OVERRIDE
+ void KilledUnit(Unit* /*Victim*/) override
{
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 31219e18121..423f8f26130 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -146,7 +146,7 @@ class npc_wisp_invis : public CreatureScript
public:
npc_wisp_invis() : CreatureScript("npc_wisp_invis") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wisp_invisAI(creature);
}
@@ -162,8 +162,8 @@ public:
uint32 delay;
uint32 spell;
uint32 spell2;
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
void SetType(uint32 _type)
{
switch (Creaturetype = _type)
@@ -189,13 +189,13 @@ public:
DoCast(me, spell);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_WISP_FLIGHT_PORT && Creaturetype == 4)
me->SetDisplayId(2027);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || Creaturetype != 1 || !who->isTargetableForAttack())
@@ -205,7 +205,7 @@ public:
DoCast(who, SPELL_SQUASH_SOUL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (delay)
{
@@ -226,7 +226,7 @@ class npc_head : public CreatureScript
public:
npc_head() : CreatureScript("npc_head") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_headAI(creature);
}
@@ -244,7 +244,7 @@ public:
bool withbody;
bool die;
- void Reset() OVERRIDE
+ void Reset() override
{
Phase = 0;
bodyGUID = 0;
@@ -254,7 +254,7 @@ public:
laugh = urand(15000, 30000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void SaySound(uint8 textEntry, Unit* target = 0)
{
@@ -266,7 +266,7 @@ public:
laugh += 3000;
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (withbody)
return;
@@ -297,7 +297,7 @@ public:
}
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (!withbody)
return;
@@ -323,7 +323,7 @@ public:
}
void Disappear();
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!withbody)
{
@@ -372,7 +372,7 @@ class boss_headless_horseman : public CreatureScript
public:
boss_headless_horseman() : CreatureScript("boss_headless_horseman") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_headless_horsemanAI>(creature);
}
@@ -409,7 +409,7 @@ public:
bool wp_reached;
bool burned;
- void Reset() OVERRIDE
+ void Reset() override
{
Phase = 1;
conflagrate = 15000;
@@ -451,7 +451,7 @@ public:
Phase = 0;
}
- void MovementInform(uint32 type, uint32 i) OVERRIDE
+ void MovementInform(uint32 type, uint32 i) override
{
if (type != POINT_MOTION_TYPE || !IsFlying || i != id)
return;
@@ -491,25 +491,25 @@ public:
++id;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_HORSEMAN_EVENT, IN_PROGRESS);
DoZoneInCombat();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (withhead && Phase != 0)
ScriptedAI::MoveInLineOfSight(who);
}
- void KilledUnit(Unit* player) OVERRIDE
+ void KilledUnit(Unit* player) override
{
if (player->GetTypeId() == TYPEID_PLAYER)
{
@@ -552,13 +552,13 @@ public:
return NULL;
}
- void SpellHitTarget(Unit* unit, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* unit, const SpellInfo* spell) override
{
if (spell->Id == SPELL_CONFLAGRATION && unit->HasAura(SPELL_CONFLAGRATION))
SaySound(SAY_CONFLAGRATION, unit);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->StopMoving();
//me->GetMotionMaster()->MoveIdle();
@@ -578,7 +578,7 @@ public:
}
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (withhead)
return;
@@ -608,7 +608,7 @@ public:
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage >= me->GetHealth() && withhead)
{
@@ -637,7 +637,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (withhead)
{
@@ -780,19 +780,23 @@ class npc_pulsing_pumpkin : public CreatureScript
public:
npc_pulsing_pumpkin() : CreatureScript("npc_pulsing_pumpkin") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pulsing_pumpkinAI(creature);
}
struct npc_pulsing_pumpkinAI : public ScriptedAI
{
- npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature)
+ {
+ sprouted = false;
+ debuffGUID = 0;
+ }
bool sprouted;
uint64 debuffGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
float x, y, z;
me->GetPosition(x, y, z); //this visual aura some under ground
@@ -813,9 +817,9 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_SPROUTING)
{
@@ -841,13 +845,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!sprouted)
Despawn();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || !me->IsValidAttackTarget(who) || me->GetVictim())
@@ -858,7 +862,7 @@ public:
DoStartMovement(who);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (sprouted && UpdateVictim())
DoMeleeAttackIfReady();
@@ -871,7 +875,7 @@ class go_loosely_turned_soil : public GameObjectScript
public:
go_loosely_turned_soil() : GameObjectScript("go_loosely_turned_soil") { }
- bool OnGossipHello(Player* player, GameObject* soil) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* soil) override
{
InstanceScript* instance = player->GetInstanceScript();
if (instance)
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
index da9d8345e77..480b354fe29 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
@@ -55,7 +55,7 @@ class boss_herod : public CreatureScript
public:
boss_herod() : CreatureScript("boss_herod") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_herodAI(creature);
}
@@ -69,31 +69,31 @@ public:
uint32 Cleave_Timer;
uint32 Whirlwind_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Enrage = false;
Cleave_Timer = 12000;
Whirlwind_Timer = 60000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoCast(me, SPELL_RUSHINGCHARGE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (uint8 i = 0; i < 20; ++i)
me->SummonCreature(ENTRY_SCARLET_TRAINEE, 1939.18f, -431.58f, 17.09f, 6.22f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 600000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -134,7 +134,7 @@ class npc_scarlet_trainee : public CreatureScript
public:
npc_scarlet_trainee() : CreatureScript("npc_scarlet_trainee") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_scarlet_traineeAI(creature);
}
@@ -148,11 +148,11 @@ public:
uint32 Start_Timer;
- void Reset() OVERRIDE { }
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void WaypointReached(uint32 /*waypointId*/) override { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 ee5ac9b0620..f58ab1519e4 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -41,7 +41,7 @@ class boss_high_inquisitor_fairbanks : public CreatureScript
public:
boss_high_inquisitor_fairbanks() : CreatureScript("boss_high_inquisitor_fairbanks") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_high_inquisitor_fairbanksAI(creature);
}
@@ -58,7 +58,7 @@ public:
uint32 Dispel_Timer;
bool PowerWordShield;
- void Reset() OVERRIDE
+ void Reset() override
{
CurseOfBlood_Timer = 10000;
DispelMagic_Timer = 30000;
@@ -71,13 +71,13 @@ public:
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 7);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 c8afa26ca4f..5aa9729a7e8 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
@@ -42,7 +42,7 @@ class boss_houndmaster_loksey : public CreatureScript
public:
boss_houndmaster_loksey() : CreatureScript("boss_houndmaster_loksey") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_houndmaster_lokseyAI(creature);
}
@@ -53,17 +53,17 @@ public:
uint32 BloodLust_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
BloodLust_Timer = 20000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 60164977735..e345dc60074 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -46,7 +46,7 @@ class boss_interrogator_vishas : public CreatureScript
public:
boss_interrogator_vishas() : CreatureScript("boss_interrogator_vishas") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_interrogator_vishasAI>(creature);
}
@@ -64,31 +64,31 @@ public:
bool Yell60;
uint32 ShadowWordPain_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowWordPain_Timer = 5000;
Yell60 = false;
Yell30 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*Victim*/) OVERRIDE
+ void KilledUnit(Unit* /*Victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
//Any other Actions to do with vorrel? setStandState?
if (Creature* vorrel = Creature::GetCreature(*me, instance->GetData64(DATA_VORREL)))
vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 a78dce47784..a8d1f91c443 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -63,7 +63,7 @@ class boss_scarlet_commander_mograine : public CreatureScript
public:
boss_scarlet_commander_mograine() : CreatureScript("boss_scarlet_commander_mograine") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_scarlet_commander_mograineAI>(creature);
}
@@ -84,7 +84,7 @@ public:
bool _bHeal;
bool _bFakeDeath;
- void Reset() OVERRIDE
+ void Reset() override
{
CrusaderStrike_Timer = 10000;
HammerOfJustice_Timer = 10000;
@@ -102,13 +102,13 @@ public:
_bFakeDeath = false;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
if (instance->GetData(TYPE_MOGRAINE_AND_WHITE_EVENT) != NOT_STARTED)
instance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT, FAIL);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_MO_AGGRO);
DoCast(me, SPELL_RETRIBUTIONAURA);
@@ -116,12 +116,12 @@ public:
me->CallForHelp(VISIBLE_RANGE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_MO_KILL);
}
- void DamageTaken(Unit* /*doneBy*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*doneBy*/, uint32 &damage) override
{
if (damage < me->GetHealth() || _bHasDied || _bFakeDeath)
return;
@@ -155,7 +155,7 @@ public:
}
}
- void SpellHit(Unit* /*who*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*who*/, const SpellInfo* spell) override
{
//When hit with ressurection say text
if (spell->Id == SPELL_SCARLETRESURRECTION)
@@ -167,7 +167,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -221,7 +221,7 @@ class boss_high_inquisitor_whitemane : public CreatureScript
public:
boss_high_inquisitor_whitemane() : CreatureScript("boss_high_inquisitor_whitemane") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_high_inquisitor_whitemaneAI>(creature);
}
@@ -243,7 +243,7 @@ public:
bool _bCanResurrectCheck;
bool _bCanResurrect;
- void Reset() OVERRIDE
+ void Reset() override
{
Wait_Timer = 7000;
Heal_Timer = 10000;
@@ -257,7 +257,7 @@ public:
instance->SetData(TYPE_MOGRAINE_AND_WHITE_EVENT, NOT_STARTED);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (instance->GetData(TYPE_MOGRAINE_AND_WHITE_EVENT) == NOT_STARTED)
return;
@@ -265,23 +265,23 @@ public:
ScriptedAI::AttackStart(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_WH_INTRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_WH_KILL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (!_bCanResurrectCheck && damage >= me->GetHealth())
damage = me->GetHealth() - 1;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
index 5215fbda633..3ed32b71cbb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_scorn.cpp
@@ -39,7 +39,7 @@ class boss_scorn : public CreatureScript
public:
boss_scorn() : CreatureScript("boss_scorn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_scornAI(creature);
}
@@ -53,7 +53,7 @@ public:
uint32 MindFlay_Timer;
uint32 FrostNova_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
LichSlap_Timer = 45000;
FrostboltVolley_Timer = 30000;
@@ -61,9 +61,9 @@ public:
FrostNova_Timer = 30000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index 4de9c2c80bf..dc564e43af5 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -42,7 +42,7 @@ class instance_scarlet_monastery : public InstanceMapScript
public:
instance_scarlet_monastery() : InstanceMapScript("instance_scarlet_monastery", 189) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_scarlet_monastery_InstanceMapScript(map);
}
@@ -63,7 +63,7 @@ public:
uint32 encounter[MAX_ENCOUNTER];
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&encounter, 0, sizeof(encounter));
@@ -78,7 +78,7 @@ public:
DoorHighInquisitorGUID = 0;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -87,7 +87,7 @@ public:
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -100,7 +100,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -132,7 +132,7 @@ public:
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -147,7 +147,7 @@ public:
return 0;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == TYPE_MOGRAINE_AND_WHITE_EVENT)
return encounter[0];
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
index 37484f1c210..9a1f8f14557 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
@@ -56,21 +56,21 @@ class boss_darkmaster_gandling : public CreatureScript
{
boss_darkmaster_gandlingAI(Creature* creature) : BossAI(creature, DATA_DARKMASTERGANDLING) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_ARCANEMISSILES, 4500);
@@ -82,13 +82,13 @@ class boss_darkmaster_gandling : public CreatureScript
gate->SetGoState(GO_STATE_READY);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
Talk(YELL_SUMMONED);
me->GetMotionMaster()->MoveRandom(5);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -126,7 +126,7 @@ class boss_darkmaster_gandling : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_darkmaster_gandlingAI>(creature);
}
@@ -211,13 +211,13 @@ class spell_shadow_portal : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_shadow_portal_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_shadow_portal_SpellScript();
}
@@ -341,13 +341,13 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_shadow_portal_rooms_SpellScript::HandleSendEvent, EFFECT_1, SPELL_EFFECT_SEND_EVENT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_shadow_portal_rooms_SpellScript();
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
index d2e4601c244..a4f53b9e082 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
@@ -31,7 +31,7 @@ class boss_death_knight_darkreaver : public CreatureScript
public:
boss_death_knight_darkreaver() : CreatureScript("boss_death_knight_darkreaver") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_death_knight_darkreaverAI(creature);
}
@@ -40,17 +40,17 @@ public:
{
boss_death_knight_darkreaverAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (me->GetHealth() <= damage)
DoCast(me, 23261, true); //Summon Darkreaver's Fallen Charger
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
};
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 931e21f98bf..82c7e6cea78 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
@@ -53,7 +53,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
{
boss_theolenkrastinovAI(Creature* creature) : BossAI(creature, DATA_DOCTORTHEOLENKRASTINOV) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_REND, 8000);
@@ -61,7 +61,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
events.ScheduleEvent(EVENT_FRENZY, 1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -97,7 +97,7 @@ class boss_doctor_theolen_krastinov : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_theolenkrastinovAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
index 9d3c862a3ad..e8e69c5c8b1 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_illucia_barov.cpp
@@ -50,7 +50,7 @@ class boss_illucia_barov : public CreatureScript
{
boss_illuciabarovAI(Creature* creature) : BossAI(creature, DATA_LADYILLUCIABAROV) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_CURSEOFAGONY, 18000);
@@ -59,7 +59,7 @@ class boss_illucia_barov : public CreatureScript
events.ScheduleEvent(EVENT_FEAR, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_illucia_barov : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_illuciabarovAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
index 6e0c2aab115..84ada04a989 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
@@ -55,14 +55,14 @@ class boss_instructor_malicia : public CreatureScript
uint32 FlashCounter;
uint32 TouchCounter;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
FlashCounter = 0;
TouchCounter = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_CALLOFGRAVES, 4000);
@@ -72,7 +72,7 @@ class boss_instructor_malicia : public CreatureScript
events.ScheduleEvent(EVENT_HEALINGTOUCH, 45000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -135,7 +135,7 @@ class boss_instructor_malicia : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_instructormaliciaAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
index 448ceaa3371..57331d84b82 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
@@ -40,7 +40,7 @@ class boss_jandice_barov : public CreatureScript
public:
boss_jandice_barov() : CreatureScript("boss_jandice_barov") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_jandicebarovAI(creature);
}
@@ -55,7 +55,7 @@ public:
uint32 Invisible_Timer;
bool Invisible;
- void Reset() OVERRIDE
+ void Reset() override
{
CurseOfBlood_Timer = 15000;
Illusion_Timer = 30000;
@@ -63,7 +63,7 @@ public:
Invisible = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
@@ -73,7 +73,7 @@ public:
Illusion->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Invisible && Invisible_Timer <= diff)
{
@@ -162,7 +162,7 @@ class npc_illusionofjandicebarov : public CreatureScript
public:
npc_illusionofjandicebarov() : CreatureScript("npc_illusionofjandicebarov") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_illusionofjandicebarovAI(creature);
}
@@ -173,17 +173,17 @@ public:
uint32 Cleave_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Cleave_Timer = urand(2000, 8000);
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 369ee3842d9..3b423134f2a 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
@@ -78,12 +78,12 @@ class boss_kirtonos_the_herald : public CreatureScript
{
boss_kirtonos_the_heraldAI(Creature* creature) : BossAI(creature, DATA_KIRTONOS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SWOOP, urand(8000, 8000));
events.ScheduleEvent(EVENT_WING_FLAP, urand(15000, 15000));
@@ -96,7 +96,7 @@ class boss_kirtonos_the_herald : public CreatureScript
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
@@ -108,7 +108,7 @@ class boss_kirtonos_the_herald : public CreatureScript
_JustDied();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
@@ -120,7 +120,7 @@ class boss_kirtonos_the_herald : public CreatureScript
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
events.ScheduleEvent(INTRO_1, 500);
me->SetDisableGravity(true);
@@ -129,12 +129,12 @@ class boss_kirtonos_the_herald : public CreatureScript
Talk(EMOTE_SUMMONED);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
BossAI::JustSummoned(summon);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
{
@@ -142,7 +142,7 @@ class boss_kirtonos_the_herald : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -251,7 +251,7 @@ class boss_kirtonos_the_herald : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kirtonos_the_heraldAI>(creature);
}
@@ -277,7 +277,7 @@ class go_brazier_of_the_herald : public GameObjectScript
public:
go_brazier_of_the_herald() : GameObjectScript("go_brazier_of_the_herald") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
go->PlayDirectSound(SOUND_SCREECH, 0);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
index 334e7935183..b88954bd1b7 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kormok.cpp
@@ -37,7 +37,7 @@ class boss_kormok : public CreatureScript
public:
boss_kormok() : CreatureScript("boss_kormok") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_kormokAI(creature);
}
@@ -52,7 +52,7 @@ public:
uint32 Mage_Timer;
bool Mages;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowVolley_Timer = 10000;
BoneShield_Timer = 2000;
@@ -61,7 +61,7 @@ public:
Mages = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
@@ -77,7 +77,7 @@ public:
SummonedMage->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 c167f7d8641..cbe707a353e 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
@@ -47,7 +47,7 @@ class boss_lord_alexei_barov : public CreatureScript
{
boss_lordalexeibarovAI(Creature* creature) : BossAI(creature, DATA_LORDALEXEIBAROV) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -55,14 +55,14 @@ class boss_lord_alexei_barov : public CreatureScript
DoCast(me, SPELL_UNHOLY_AURA);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_IMMOLATE, 7000);
events.ScheduleEvent(EVENT_VEILOFSHADOW, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -93,7 +93,7 @@ class boss_lord_alexei_barov : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lordalexeibarovAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
index 2005ac58446..7c82520959b 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
@@ -50,7 +50,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
{
boss_lorekeeperpolkeltAI(Creature* creature) : BossAI(creature, DATA_LOREKEEPERPOLKELT) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_VOLATILEINFECTION, 38000);
@@ -59,7 +59,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
events.ScheduleEvent(EVENT_NOXIOUSCATALYST, 35000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_lorekeeper_polkelt : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lorekeeperpolkeltAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
index 68d70e63ca6..2aecc8bd491 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
@@ -41,7 +41,7 @@ class boss_boss_ras_frostwhisper : public CreatureScript
public:
boss_boss_ras_frostwhisper() : CreatureScript("boss_boss_ras_frostwhisper") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_rasfrostAI(creature);
}
@@ -57,7 +57,7 @@ public:
uint32 ChillNova_Timer;
uint32 FrostVolley_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
IceArmor_Timer = 2000;
Frostbolt_Timer = 8000;
@@ -69,9 +69,9 @@ public:
DoCast(me, SPELL_ICEARMOR, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 3df675edd3e..51eb42cd7ab 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_the_ravenian.cpp
@@ -50,7 +50,7 @@ class boss_the_ravenian : public CreatureScript
{
boss_theravenianAI(Creature* creature) : BossAI(creature, DATA_THERAVENIAN) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_TRAMPLE, 24000);
@@ -59,7 +59,7 @@ class boss_the_ravenian : public CreatureScript
events.ScheduleEvent(EVENT_KNOCKAWAY, 32000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_the_ravenian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_theravenianAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index a91b1aef13c..c111eb103b4 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -44,7 +44,7 @@ class boss_vectus : public CreatureScript
public:
boss_vectus() : CreatureScript("boss_vectus") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_vectusAI(creature);
}
@@ -57,14 +57,14 @@ public:
uint32 m_uiBlastWave_Timer;
uint32 m_uiFrenzy_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiFireShield_Timer = 2000;
m_uiBlastWave_Timer = 14000;
m_uiFrenzy_Timer = 0;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
index a3d9ff4bb22..6bb8e301e86 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
@@ -27,7 +27,7 @@ class instance_scholomance : public InstanceMapScript
public:
instance_scholomance() : InstanceMapScript("instance_scholomance", 289) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_scholomance_InstanceMapScript(map);
}
@@ -48,7 +48,7 @@ class instance_scholomance : public InstanceMapScript
BrazierOfTheHeraldGUID = 0;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -84,7 +84,7 @@ class instance_scholomance : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -106,7 +106,7 @@ class instance_scholomance : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -168,7 +168,7 @@ class instance_scholomance : public InstanceMapScript
instance->SummonCreature(NPC_DARKMASTER_GANDLING, GandlingLoc);
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -179,7 +179,7 @@ class instance_scholomance : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index 6f0ea518fd2..c76637224ae 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -71,7 +71,7 @@ class instance_shadowfang_keep : public InstanceMapScript
public:
instance_shadowfang_keep() : InstanceMapScript("instance_shadowfang_keep", 33) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_shadowfang_keep_InstanceMapScript(map);
}
@@ -94,7 +94,7 @@ public:
uint8 uiPhase;
uint16 uiTimer;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -110,7 +110,7 @@ public:
uiTimer = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -120,7 +120,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -154,7 +154,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -202,7 +202,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -218,12 +218,12 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
index 76ae6b06058..fb839650b86 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
@@ -70,12 +70,12 @@ class npc_shadowfang_prisoner : public CreatureScript
public:
npc_shadowfang_prisoner() : CreatureScript("npc_shadowfang_prisoner") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_shadowfang_prisonerAI>(creature);
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -88,7 +88,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
@@ -109,7 +109,7 @@ public:
InstanceScript* instance;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -144,8 +144,8 @@ public:
}
}
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
};
};
@@ -155,7 +155,7 @@ class npc_arugal_voidwalker : public CreatureScript
public:
npc_arugal_voidwalker() : CreatureScript("npc_arugal_voidwalker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_arugal_voidwalkerAI>(creature);
}
@@ -171,12 +171,12 @@ public:
uint32 uiDarkOffering;
- void Reset() OVERRIDE
+ void Reset() override
{
uiDarkOffering = urand(200, 1000);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -193,7 +193,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_FENRUS, instance->GetData(TYPE_FENRUS) + 1);
}
@@ -226,7 +226,7 @@ class spell_shadowfang_keep_haunting_spirits : public SpellScriptLoader
aurEff->CalculatePeriodic(GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_shadowfang_keep_haunting_spirits_AuraScript::CalcPeriodic, EFFECT_0, SPELL_AURA_DUMMY);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_shadowfang_keep_haunting_spirits_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_DUMMY);
@@ -234,7 +234,7 @@ class spell_shadowfang_keep_haunting_spirits : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_shadowfang_keep_haunting_spirits_AuraScript();
}
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
index f4663c0f8ec..916d321a7f0 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
@@ -66,7 +66,7 @@ class boss_baron_rivendare : public CreatureScript
public:
boss_baron_rivendare() : CreatureScript("boss_baron_rivendare") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_baron_rivendareAI>(creature);
}
@@ -86,7 +86,7 @@ public:
// uint32 RaiseDead_Timer;
uint32 SummonSkeletons_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBolt_Timer = 5000;
Cleave_Timer = 8000;
@@ -97,25 +97,25 @@ public:
instance->SetData(TYPE_BARON, NOT_STARTED);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
//can't use entercombat(), boss' dmg aura sets near players in combat, before entering the room's door
instance->SetData(TYPE_BARON, IN_PROGRESS);
ScriptedAI::AttackStart(who);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->AI()->AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_BARON, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 6a0794ec586..5f9c5075250 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
@@ -40,7 +40,7 @@ class boss_baroness_anastari : public CreatureScript
public:
boss_baroness_anastari() : CreatureScript("boss_baroness_anastari") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_baroness_anastariAI>(creature);
}
@@ -59,7 +59,7 @@ public:
uint32 Silence_Timer;
//uint32 Possess_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
BansheeWail_Timer = 1000;
BansheeCurse_Timer = 11000;
@@ -67,16 +67,16 @@ public:
//Possess_Timer = 35000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_BARONESS, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 dd5d2f7347c..65b2fb25525 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
@@ -85,7 +85,7 @@ class boss_cannon_master_willey : public CreatureScript
public:
boss_cannon_master_willey() : CreatureScript("boss_cannon_master_willey") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_cannon_master_willeyAI(creature);
}
@@ -99,7 +99,7 @@ public:
uint32 Shoot_Timer;
uint32 SummonRifleman_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Shoot_Timer = 1000;
Pummel_Timer = 7000;
@@ -107,7 +107,7 @@ public:
SummonRifleman_Timer = 15000;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SummonCreature(11054, ADD_1X, ADD_1Y, ADD_1Z, ADD_1O, TEMPSUMMON_TIMED_DESPAWN, 240000);
me->SummonCreature(11054, ADD_2X, ADD_2Y, ADD_2Z, ADD_2O, TEMPSUMMON_TIMED_DESPAWN, 240000);
@@ -118,11 +118,11 @@ public:
me->SummonCreature(11054, ADD_9X, ADD_9Y, ADD_9Z, ADD_9O, TEMPSUMMON_TIMED_DESPAWN, 240000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 44e641bc9b8..f0a8c5c418f 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
@@ -74,7 +74,7 @@ class boss_dathrohan_balnazzar : public CreatureScript
public:
boss_dathrohan_balnazzar() : CreatureScript("boss_dathrohan_balnazzar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_dathrohan_balnazzarAI(creature);
}
@@ -93,7 +93,7 @@ public:
uint32 m_uiMindControl_Timer;
bool m_bTransformed;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiCrusadersHammer_Timer = 8000;
m_uiCrusaderStrike_Timer = 12000;
@@ -109,7 +109,7 @@ public:
me->UpdateEntry(NPC_DATHROHAN);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
static uint32 uiCount = sizeof(m_aSummonPoint)/sizeof(SummonDef);
@@ -119,11 +119,11 @@ public:
TEMPSUMMON_TIMED_DESPAWN, HOUR*IN_MILLISECONDS);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
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 eb552c503eb..8b6f2da87e4 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
@@ -46,7 +46,7 @@ class boss_magistrate_barthilas : public CreatureScript
public:
boss_magistrate_barthilas() : CreatureScript("boss_magistrate_barthilas") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_magistrate_barthilasAI(creature);
}
@@ -61,7 +61,7 @@ public:
uint32 FuriousAnger_Timer;
uint32 AngerCount;
- void Reset() OVERRIDE
+ void Reset() override
{
DrainingBlow_Timer = 20000;
CrowdPummel_Timer = 15000;
@@ -75,7 +75,7 @@ public:
me->SetDisplayId(MODEL_HUMAN);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
//nothing to see here yet
@@ -83,16 +83,16 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SetDisplayId(MODEL_HUMAN);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 ae07d5347b9..5910905b6b5 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
@@ -41,7 +41,7 @@ class boss_maleki_the_pallid : public CreatureScript
public:
boss_maleki_the_pallid() : CreatureScript("boss_maleki_the_pallid") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_maleki_the_pallidAI>(creature);
}
@@ -59,23 +59,23 @@ public:
uint32 IceTomb_Timer;
uint32 DrainLife_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Frostbolt_Timer = 1000;
IceTomb_Timer = 16000;
DrainLife_Timer = 31000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_PALLID, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 9bc263f36e7..1b5127a5e1c 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
@@ -40,7 +40,7 @@ class boss_nerubenkan : public CreatureScript
public:
boss_nerubenkan() : CreatureScript("boss_nerubenkan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nerubenkanAI>(creature);
}
@@ -59,7 +59,7 @@ public:
uint32 CryptScarabs_Timer;
uint32 RaiseUndeadScarab_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
CryptScarabs_Timer = 3000;
EncasingWebs_Timer = 7000;
@@ -67,11 +67,11 @@ public:
RaiseUndeadScarab_Timer = 3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_NERUB, IN_PROGRESS);
}
@@ -83,7 +83,7 @@ public:
pUndeadScarab->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 c26754c483b..dfc3e570e1b 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
@@ -56,7 +56,7 @@ class boss_silver_hand_bosses : public CreatureScript
public:
boss_silver_hand_bosses() : CreatureScript("boss_silver_hand_bosses") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_silver_hand_bossesAI>(creature);
}
@@ -73,7 +73,7 @@ public:
uint32 HolyLight_Timer;
uint32 DivineShield_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
HolyLight_Timer = 20000;
DivineShield_Timer = 20000;
@@ -98,11 +98,11 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
switch (me->GetEntry())
{
@@ -130,7 +130,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 1f6b823de70..9c129984ae4 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
@@ -61,9 +61,9 @@ class boss_postmaster_malown : public CreatureScript
{
boss_postmaster_malownAI(Creature* creature) : BossAI(creature, TYPE_MALOWN) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_WAILINGDEAD, 19000); // lasts 6 sec
events.ScheduleEvent(EVENT_BACKHAND, 8000); // 2 sec stun
@@ -72,12 +72,12 @@ class boss_postmaster_malown : public CreatureScript
events.ScheduleEvent(EVENT_CALLOFTHEGRAVE, 25000);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -124,7 +124,7 @@ class boss_postmaster_malown : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_postmaster_malownAI(creature);
}
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 ad4d8787f01..df9b6a04af4 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
@@ -43,7 +43,7 @@ class boss_ramstein_the_gorger : public CreatureScript
public:
boss_ramstein_the_gorger() : CreatureScript("boss_ramstein_the_gorger") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ramstein_the_gorgerAI>(creature);
}
@@ -60,17 +60,17 @@ public:
uint32 Trample_Timer;
uint32 Knockout_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Trample_Timer = 3000;
Knockout_Timer = 12000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (uint8 i = 0; i < 30; ++i)
{
@@ -81,7 +81,7 @@ public:
instance->SetData(TYPE_RAMSTEIN, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 f0e3bdf7668..a45b3594da0 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
@@ -41,7 +41,7 @@ class boss_timmy_the_cruel : public CreatureScript
public:
boss_timmy_the_cruel() : CreatureScript("boss_timmy_the_cruel") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_timmy_the_cruelAI(creature);
}
@@ -53,13 +53,13 @@ public:
uint32 RavenousClaw_Timer;
bool HasYelled;
- void Reset() OVERRIDE
+ void Reset() override
{
RavenousClaw_Timer = 10000;
HasYelled = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!HasYelled)
{
@@ -68,7 +68,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
index d8518085b26..ecdc66d3e0f 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -72,7 +72,7 @@ class instance_stratholme : public InstanceMapScript
std::set<uint64> abomnationGUID;
EventMap events;
- void Initialize() OVERRIDE
+ void Initialize() override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
EncounterState[i] = NOT_STARTED;
@@ -126,7 +126,7 @@ class instance_stratholme : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -146,7 +146,7 @@ class instance_stratholme : public InstanceMapScript
}
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -160,7 +160,7 @@ class instance_stratholme : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -213,7 +213,7 @@ class instance_stratholme : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -235,8 +235,7 @@ class instance_stratholme : public InstanceMapScript
EncounterState[0] = data;
if (Creature* ysidaTrigger = instance->GetCreature(ysidaTriggerGUID))
{
- Position ysidaPos;
- ysidaTrigger->GetPosition(&ysidaPos);
+ Position ysidaPos = ysidaTrigger->GetPosition();
ysidaTrigger->SummonCreature(NPC_YSIDA, ysidaPos, TEMPSUMMON_TIMED_DESPAWN, 1800000);
}
events.CancelEvent(EVENT_BARON_RUN);
@@ -310,6 +309,15 @@ class instance_stratholme : public InstanceMapScript
{
HandleGameObject(ziggurat4GUID, false);
HandleGameObject(ziggurat5GUID, false);
+ }
+ if (data == DONE || data == NOT_STARTED)
+ {
+ HandleGameObject(ziggurat4GUID, true);
+ HandleGameObject(ziggurat5GUID, true);
+ }
+ if (data == DONE)
+ {
+ HandleGameObject(portGauntletGUID, true);
if (GetData(TYPE_BARON_RUN) == IN_PROGRESS)
{
DoRemoveAurasDueToSpellOnPlayers(SPELL_BARON_ULTIMATUM);
@@ -318,18 +326,13 @@ class instance_stratholme : public InstanceMapScript
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
if (Player* player = itr->GetSource())
if (player->GetQuestStatus(QUEST_DEAD_MAN_PLEA) == QUEST_STATUS_INCOMPLETE)
+ {
player->AreaExploredOrEventHappens(QUEST_DEAD_MAN_PLEA);
-
+ player->KilledMonsterCredit(NPC_YSIDA);
+ }
SetData(TYPE_BARON_RUN, DONE);
}
}
- if (data == DONE || data == NOT_STARTED)
- {
- HandleGameObject(ziggurat4GUID, true);
- HandleGameObject(ziggurat5GUID, true);
- }
- if (data == DONE)
- HandleGameObject(portGauntletGUID, true);
EncounterState[5] = data;
break;
case TYPE_SH_AELMAR:
@@ -353,7 +356,7 @@ class instance_stratholme : public InstanceMapScript
SaveToDB();
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -365,7 +368,7 @@ class instance_stratholme : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -390,7 +393,7 @@ class instance_stratholme : public InstanceMapScript
OUT_LOAD_INST_DATA_COMPLETE;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -414,7 +417,7 @@ class instance_stratholme : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -426,7 +429,7 @@ class instance_stratholme : public InstanceMapScript
return 0;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
events.Update(diff);
@@ -457,7 +460,7 @@ class instance_stratholme : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_stratholme_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 3b622885ce7..9bcf67bce8c 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -46,7 +46,7 @@ class go_gauntlet_gate : public GameObjectScript
public:
go_gauntlet_gate() : GameObjectScript("go_gauntlet_gate") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
@@ -93,7 +93,7 @@ class npc_freed_soul : public CreatureScript
public:
npc_freed_soul() : CreatureScript("npc_freed_soul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_freed_soulAI(creature);
}
@@ -102,12 +102,12 @@ public:
{
npc_freed_soulAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
Talk(SAY_ZAPPED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
};
};
@@ -135,7 +135,7 @@ class npc_restless_soul : public CreatureScript
public:
npc_restless_soul() : CreatureScript("npc_restless_soul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_restless_soulAI(creature);
}
@@ -148,16 +148,16 @@ public:
uint32 Die_Timer;
bool Tagged;
- void Reset() OVERRIDE
+ void Reset() override
{
Tagger = 0;
Die_Timer = 5000;
Tagged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (Tagged || spell->Id != SPELL_EGAN_BLASTER)
return;
@@ -170,18 +170,18 @@ public:
Tagger = caster->GetGUID();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->CastSpell(summoned, SPELL_SOUL_FREED, false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Tagged)
me->SummonCreature(NPC_FREED, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 300000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Tagged)
{
@@ -217,7 +217,7 @@ class npc_spectral_ghostly_citizen : public CreatureScript
public:
npc_spectral_ghostly_citizen() : CreatureScript("npc_spectral_ghostly_citizen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_spectral_ghostly_citizenAI(creature);
}
@@ -229,21 +229,21 @@ public:
uint32 Die_Timer;
bool Tagged;
- void Reset() OVERRIDE
+ void Reset() override
{
Die_Timer = 5000;
Tagged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (!Tagged && spell->Id == SPELL_EGAN_BLASTER)
Tagged = true;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Tagged)
{
@@ -256,7 +256,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Tagged)
{
@@ -271,7 +271,7 @@ public:
DoMeleeAttackIfReady();
}
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
switch (emote)
{
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index d395bfd6e0c..0f33103fc2c 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -51,7 +51,7 @@ class instance_sunken_temple : public InstanceMapScript
public:
instance_sunken_temple() : InstanceMapScript("instance_sunken_temple", 109) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_sunken_temple_InstanceMapScript(map);
}
@@ -79,7 +79,7 @@ public:
bool s5;
bool s6;
- void Initialize() OVERRIDE
+ void Initialize() override
{
GOAtalaiStatue1 = 0;
GOAtalaiStatue2 = 0;
@@ -99,7 +99,7 @@ public:
s6 = false;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -193,13 +193,13 @@ public:
}
*/
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == EVENT_STATE)
State = data;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == EVENT_STATE)
return State;
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
index 80a9f1600b6..327fc0cace3 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.cpp
@@ -41,7 +41,7 @@ class at_malfurion_stormrage : public AreaTriggerScript
public:
at_malfurion_stormrage() : AreaTriggerScript("at_malfurion_stormrage") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
if (player->GetInstanceScript() && !player->FindNearestCreature(15362, 15))
player->SummonCreature(15362, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), -1.52f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 100000);
@@ -58,7 +58,7 @@ class go_atalai_statue : public GameObjectScript
public:
go_atalai_statue() : GameObjectScript("go_atalai_statue") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (InstanceScript* instance = player->GetInstanceScript())
instance->SetData(EVENT_STATE, go->GetEntry());
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index 9dcbed211bb..eb9b6c2a1df 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -89,7 +89,7 @@ public:
bool IsIntro;
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
SlashTimer = 11000;
StompTimer = 30000;
@@ -108,19 +108,19 @@ public:
instance->SetBossState(DATA_BRUTALLUS, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_AGGRO);
instance->SetBossState(DATA_BRUTALLUS, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(YELL_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(YELL_DEATH);
@@ -130,7 +130,7 @@ public:
me->SummonCreature(NPC_FELMYST, x, y, z + 30, me->GetOrientation(), TEMPSUMMON_MANUAL_DESPAWN, 0);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!Intro)
ScriptedAI::EnterEvadeMode();
@@ -167,7 +167,7 @@ public:
IsIntro = false;
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || Intro || IsIntro)
return;
@@ -252,7 +252,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->IsValidAttackTarget(who))
return;
@@ -267,7 +267,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsIntro)
{
@@ -335,7 +335,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_brutallusAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index 73e218a6e35..8fc749dc43b 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -97,7 +97,7 @@ public:
uint32 ConflagrationTimer;
uint32 EnrageTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
Enraged = false;
@@ -123,7 +123,7 @@ public:
instance->SetBossState(DATA_EREDAR_TWINS, NOT_STARTED);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoZoneInCombat();
@@ -134,13 +134,13 @@ public:
instance->SetBossState(DATA_EREDAR_TWINS, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (rand()%4 == 0)
Talk(YELL_SAC_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// only if ALY death
if (SisterDeath)
@@ -153,7 +153,7 @@ public:
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
switch (spell->Id)
{
@@ -196,7 +196,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!SisterDeath)
{
@@ -304,7 +304,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_sacrolashAI>(creature);
};
@@ -340,7 +340,7 @@ public:
uint32 FlamesearTimer;
uint32 EnrageTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
Enraged = false;
@@ -368,7 +368,7 @@ public:
instance->SetBossState(DATA_EREDAR_TWINS, NOT_STARTED);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoZoneInCombat();
@@ -379,13 +379,13 @@ public:
instance->SetBossState(DATA_EREDAR_TWINS, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!me->IsInCombat())
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || me->GetVictim())
return;
@@ -405,13 +405,13 @@ public:
IntroStepCounter = 0;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (rand()%4 == 0)
Talk(YELL_ALY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (SisterDeath)
{
@@ -422,7 +422,7 @@ public:
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
switch (spell->Id)
{
@@ -509,7 +509,7 @@ public:
return 10000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IntroStepCounter < 9)
{
@@ -617,7 +617,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_alythessAI>(creature);
};
@@ -628,7 +628,7 @@ class npc_shadow_image : public CreatureScript
public:
npc_shadow_image() : CreatureScript("npc_shadow_image") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_shadow_imageAI(creature);
};
@@ -641,7 +641,7 @@ public:
uint32 KillTimer;
uint32 DarkstrikeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
ShadowfuryTimer = 5000 + (rand()%15000);
@@ -649,9 +649,9 @@ public:
KillTimer = 15000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
switch (spell->Id)
{
@@ -669,7 +669,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 02913f361e5..5bca936d5b4 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -128,7 +128,7 @@ public:
float breathX, breathY;
- void Reset() OVERRIDE
+ void Reset() override
{
phase = PHASE_NONE;
@@ -146,7 +146,7 @@ public:
instance->SetBossState(DATA_FELMYST, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_BERSERK, 600000);
@@ -159,36 +159,36 @@ public:
instance->SetBossState(DATA_FELMYST, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (phase != PHASE_FLIGHT)
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (phase != PHASE_FLIGHT)
ScriptedAI::MoveInLineOfSight(who);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(YELL_KILL);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Talk(YELL_BIRTH);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(YELL_DEATH);
instance->SetBossState(DATA_FELMYST, DONE);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
// workaround for linked aura
/*if (spell->Id == SPELL_VAPOR_FORCE)
@@ -211,7 +211,7 @@ public:
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_DEAD)
{
@@ -221,13 +221,13 @@ public:
}
}
- void MovementInform(uint32, uint32) OVERRIDE
+ void MovementInform(uint32, uint32) override
{
if (phase == PHASE_FLIGHT)
events.ScheduleEvent(EVENT_FLIGHT_SEQUENCE, 1);
}
- void DamageTaken(Unit*, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit*, uint32 &damage) override
{
if (phase != PHASE_GROUND && damage >= me->GetHealth())
damage = 0;
@@ -393,7 +393,7 @@ public:
++uiFlightCount;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -501,7 +501,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_felmystAI>(creature);
}
@@ -512,7 +512,7 @@ class npc_felmyst_vapor : public CreatureScript
public:
npc_felmyst_vapor() : CreatureScript("npc_felmyst_vapor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_felmyst_vaporAI(creature);
}
@@ -525,14 +525,14 @@ public:
me->SetSpeed(MOVE_RUN, 0.8f);
}
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
//DoCast(me, SPELL_VAPOR_FORCE, true); core bug
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->GetVictim())
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
@@ -546,7 +546,7 @@ class npc_felmyst_trail : public CreatureScript
public:
npc_felmyst_trail() : CreatureScript("npc_felmyst_trail") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_felmyst_trailAI(creature);
}
@@ -561,12 +561,12 @@ public:
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 0.01f); // core bug
}
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
};
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 294443da0e7..5562559786d 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -134,7 +134,7 @@ public:
uint64 SathGUID;
uint64 DoorGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
SathGUID = instance->GetData64(DATA_SATHROVARR);
instance->SetBossState(DATA_KALECGOS, NOT_STARTED);
@@ -166,7 +166,7 @@ public:
isBanished = false;
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
bJustReset = true;
me->SetVisible(false);
@@ -174,7 +174,7 @@ public:
ScriptedAI::EnterEvadeMode();
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
switch (param)
{
@@ -189,7 +189,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (TalkTimer)
{
@@ -234,7 +234,7 @@ public:
{
if (me->GetDistance(CENTER_X, CENTER_Y, DRAGON_REALM_Z) >= 75)
{
- me->AI()->EnterEvadeMode();
+ EnterEvadeMode();
return;
}
if (HealthBelowPct(10) && !isEnraged)
@@ -298,7 +298,7 @@ public:
Unit* target = (*itr)->getTarget();
if (target
&& target->GetTypeId() == TYPEID_PLAYER
- && target->GetGUID() != me->GetVictim()->GetGUID()
+ && (!target->GetVictim() || target->GetGUID() != me->EnsureVictim()->GetGUID())
&& target->GetPositionZ() > me->GetPositionZ() - 5
&& !target->HasAura(AURA_SPECTRAL_EXHAUSTION))
{
@@ -324,7 +324,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (bJustReset)//boss is invisible, don't attack
return;
@@ -337,13 +337,13 @@ public:
}
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (damage >= me->GetHealth() && done_by != me)
damage = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->SetStandState(UNIT_STAND_STATE_STAND);
Talk(SAY_EVIL_AGGRO);
@@ -352,12 +352,12 @@ public:
instance->SetBossState(DATA_KALECGOS, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_EVIL_SLAY);
}
- void MovementInform(uint32 type, uint32 /*id*/) OVERRIDE
+ void MovementInform(uint32 type, uint32 /*id*/) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -428,7 +428,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_kalecgosAI>(creature);
}
@@ -439,7 +439,7 @@ class boss_kalec : public CreatureScript
public:
boss_kalec() : CreatureScript("boss_kalec") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kalecAI>(creature);
}
@@ -462,7 +462,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
SathGUID = instance->GetData64(DATA_SATHROVARR);
@@ -474,7 +474,7 @@ public:
isEnraged = false;
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetGUID() != SathGUID)
damage = 0;
@@ -482,7 +482,7 @@ public:
damage *= 3;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->HasAura(AURA_SPECTRAL_INVISIBILITY))
me->CastSpell(me, AURA_SPECTRAL_INVISIBILITY, true);
@@ -540,7 +540,7 @@ class kalecgos_teleporter : public GameObjectScript
public:
kalecgos_teleporter() : GameObjectScript("kalecgos_teleporter") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
Map* map = go->GetMap();
if (!map->IsDungeon())
@@ -572,7 +572,7 @@ class boss_sathrovarr : public CreatureScript
public:
boss_sathrovarr() : CreatureScript("boss_sathrovarr") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_sathrovarrAI>(creature);
}
@@ -600,7 +600,7 @@ public:
bool isEnraged;
bool isBanished;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFullHealth();//dunno why it does not resets health at evade..
me->setActive(true);
@@ -625,7 +625,7 @@ public:
TeleportAllPlayersBack();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Creature* Kalec = me->SummonCreature(NPC_KALEC, me->GetPositionX() + 10, me->GetPositionY() + 5, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 0))
{
@@ -637,13 +637,13 @@ public:
Talk(SAY_SATH_AGGRO);
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (damage >= me->GetHealth() && done_by != me)
damage = 0;
}
- void KilledUnit(Unit* target) OVERRIDE
+ void KilledUnit(Unit* target) override
{
if (target->GetGUID() == KalecGUID)
{
@@ -659,7 +659,7 @@ public:
Talk(SAY_SATH_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_SATH_DEATH);
me->SetPosition(me->GetPositionX(), me->GetPositionY(), DRAGON_REALM_Z, me->GetOrientation());
@@ -690,7 +690,7 @@ public:
}
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
switch (param)
{
@@ -705,7 +705,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->HasAura(AURA_SPECTRAL_INVISIBILITY))
me->CastSpell(me, AURA_SPECTRAL_INVISIBILITY, true);
@@ -733,7 +733,7 @@ public:
Creature* Kalecgos = ObjectAccessor::GetCreature(*me, KalecgosGUID);
if (Kalecgos && !Kalecgos->IsInCombat())
{
- me->AI()->EnterEvadeMode();
+ EnterEvadeMode();
return;
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index e8b112aa1cd..179a649aab4 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -234,7 +234,7 @@ class boss_kalecgos_kj : public CreatureScript
public:
boss_kalecgos_kj() : CreatureScript("boss_kalecgos_kj") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kalecgos_kjAI>(creature);
}
@@ -250,7 +250,7 @@ public:
uint8 OrbsEmpowered;
uint8 EmpowerCount;
- void Reset() OVERRIDE
+ void Reset() override
{
OrbsEmpowered = 0;
EmpowerCount = 0;
@@ -332,7 +332,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
}
@@ -360,7 +360,7 @@ class go_orb_of_the_blue_flight : public GameObjectScript
public:
go_orb_of_the_blue_flight() : GameObjectScript("go_orb_of_the_blue_flight") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetUInt32Value(GAMEOBJECT_FACTION) == 35)
{
@@ -384,7 +384,7 @@ class npc_kiljaeden_controller : public CreatureScript
public:
npc_kiljaeden_controller() : CreatureScript("npc_kiljaeden_controller") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_kiljaeden_controllerAI>(creature);
}
@@ -408,7 +408,7 @@ public:
uint32 phase;
uint8 deceiverDeathCount;
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -417,7 +417,7 @@ public:
ScriptedAI::InitializeAI();
}
- void Reset() OVERRIDE
+ void Reset() override
{
phase = PHASE_DECEIVERS;
@@ -430,7 +430,7 @@ public:
summons.DespawnAll();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -450,7 +450,7 @@ public:
summons.Summon(summoned);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiRandomSayTimer < diff)
{
@@ -513,12 +513,12 @@ public:
bool OrbActivated;
bool SpeechBegins;
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
// Scripted_NoMovementAI::InitializeAI();
}
- void Reset() OVERRIDE
+ void Reset() override
{
TimerIsDeactivated[TIMER_SPEECH] = false;
Timer[TIMER_SPEECH] = 0;
@@ -577,7 +577,7 @@ public:
TimerIsDeactivated[TIMER_SUMMON_SHILEDORB] = true;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_ARMAGEDDON_TARGET)
{
@@ -592,19 +592,19 @@ public:
summons.Summon(summoned);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_KJ_DEATH);
summons.DespawnAll();
instance->SetBossState(DATA_KILJAEDEN, DONE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KJ_SLAY);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
@@ -615,7 +615,7 @@ public:
CAST_AI(npc_kiljaeden_controller::npc_kiljaeden_controllerAI, pControl->AI())->Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
@@ -650,7 +650,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || Phase < PHASE_NORMAL)
return;
@@ -874,7 +874,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_kiljaedenAI>(creature);
}
@@ -898,7 +898,7 @@ public:
uint32 ShadowBoltVolleyTimer;
uint32 FelfirePortalTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
/// @todo Timers!
ShadowBoltVolleyTimer = urand(8000, 14000); // So they don't all cast it in the same moment.
@@ -906,13 +906,13 @@ public:
instance->SetBossState(DATA_KILJAEDEN, NOT_STARTED);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->setFaction(me->getFaction());
summoned->SetLevel(me->getLevel());
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
instance->SetBossState(DATA_KILJAEDEN, IN_PROGRESS);
if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KILJAEDEN_CONTROLLER)))
@@ -921,13 +921,13 @@ public:
me->InterruptNonMeleeSpells(true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KILJAEDEN_CONTROLLER)))
++(CAST_AI(npc_kiljaeden_controller::npc_kiljaeden_controllerAI, pControl->AI())->deceiverDeathCount);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
DoCast(me, SPELL_SHADOW_CHANNELING);
@@ -968,7 +968,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<npc_hand_of_the_deceiverAI>(creature);
}
@@ -980,7 +980,7 @@ class npc_felfire_portal : public CreatureScript
public:
npc_felfire_portal() : CreatureScript("npc_felfire_portal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_felfire_portalAI(creature);
}
@@ -994,19 +994,19 @@ public:
uint32 uiSpawnFiendTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiSpawnFiendTimer = 5000;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NON_ATTACKABLE);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->setFaction(me->getFaction());
summoned->SetLevel(me->getLevel());
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1027,7 +1027,7 @@ class npc_volatile_felfire_fiend : public CreatureScript
public:
npc_volatile_felfire_fiend() : CreatureScript("npc_volatile_felfire_fiend") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_volatile_felfire_fiendAI(creature);
}
@@ -1040,19 +1040,19 @@ public:
bool bLockedTarget;
- void Reset() OVERRIDE
+ void Reset() override
{
uiExplodeTimer = 2000;
bLockedTarget = false;
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage > me->GetHealth())
DoCast(me, SPELL_FELFIRE_FISSION, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1084,7 +1084,7 @@ class npc_armageddon : public CreatureScript
public:
npc_armageddon() : CreatureScript("npc_armageddon") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_armageddonAI(creature);
}
@@ -1099,13 +1099,13 @@ public:
uint8 spell;
uint32 uiTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
spell = 0;
uiTimer = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiTimer <= diff)
{
@@ -1141,7 +1141,7 @@ class npc_shield_orb : public CreatureScript
public:
npc_shield_orb() : CreatureScript("npc_shield_orb") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_shield_orbAI>(creature);
}
@@ -1161,7 +1161,7 @@ public:
uint32 uiCheckTimer;
float x, y, r, c, mx, my;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetDisableGravity(true);
bPointReached = true;
@@ -1174,7 +1174,7 @@ public:
bClockwise = urand(0, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bPointReached)
{
@@ -1212,7 +1212,7 @@ public:
} else uiTimer -= diff;
}
- void MovementInform(uint32 type, uint32 /*id*/) OVERRIDE
+ void MovementInform(uint32 type, uint32 /*id*/) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -1228,7 +1228,7 @@ class npc_sinster_reflection : public CreatureScript
public:
npc_sinster_reflection() : CreatureScript("npc_sinster_reflection") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_sinster_reflectionAI(creature);
}
@@ -1240,7 +1240,7 @@ public:
uint8 victimClass;
uint32 uiTimer[3];
- void Reset() OVERRIDE
+ void Reset() override
{
uiTimer[0] = 0;
uiTimer[1] = 0;
@@ -1248,14 +1248,14 @@ public:
victimClass = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
if ((victimClass == 0) && me->GetVictim())
{
- victimClass = me->GetVictim()->getClass();
+ victimClass = me->EnsureVictim()->getClass();
switch (victimClass)
{
case CLASS_DRUID:
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index 6980dbfb9c2..9d9232b774d 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -123,7 +123,7 @@ public:
uint32 BlackHoleSummonTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
BlackHoleSummonTimer = 15000;
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, false);
@@ -133,7 +133,7 @@ public:
instance->SetBossState(DATA_MURU, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCastAOE(SPELL_NEGATIVE_ENERGY_E, true);
DoCast(me, SPELL_ENTROPIUS_SPAWN, false);
@@ -141,7 +141,7 @@ public:
instance->SetBossState(DATA_MURU, IN_PROGRESS);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -159,13 +159,13 @@ public:
Summons.Summon(summoned);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Summons.DespawnAll();
instance->SetBossState(DATA_MURU, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -195,7 +195,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_entropiusAI>(creature);
}
@@ -222,7 +222,7 @@ public:
bool DarkFiend;
- void Reset() OVERRIDE
+ void Reset() override
{
DarkFiend = false;
Phase = 1;
@@ -240,13 +240,13 @@ public:
instance->SetBossState(DATA_MURU, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCastAOE(SPELL_NEGATIVE_ENERGY, false);
instance->SetBossState(DATA_MURU, IN_PROGRESS);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage > me->GetHealth() && Phase == 1)
{
@@ -260,7 +260,7 @@ public:
damage = 0;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -275,7 +275,7 @@ public:
Summons.Summon(summoned);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -358,7 +358,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSunwellPlateauAI<boss_muruAI>(creature);
}
@@ -369,7 +369,7 @@ class npc_muru_portal : public CreatureScript
public:
npc_muru_portal() : CreatureScript("npc_muru_portal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_muru_portalAI>(creature);
}
@@ -391,7 +391,7 @@ public:
uint32 SummonTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
SummonTimer = 5000;
@@ -403,7 +403,7 @@ public:
Summons.DespawnAll();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Player* Target = ObjectAccessor::GetPlayer(*me, instance->GetData64(DATA_PLAYER_GUID)))
summoned->AI()->AttackStart(Target);
@@ -411,7 +411,7 @@ public:
Summons.Summon(summoned);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
{
float x, y, z, o;
me->GetHomePosition(x, y, z, o);
@@ -429,7 +429,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!SummonSentinel)
{
@@ -453,7 +453,7 @@ class npc_dark_fiend : public CreatureScript
public:
npc_dark_fiend() : CreatureScript("npc_dark_fiend") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dark_fiendAI(creature);
}
@@ -465,7 +465,7 @@ public:
uint32 WaitTimer;
bool InAction;
- void Reset() OVERRIDE
+ void Reset() override
{
WaitTimer = 2000;
InAction = false;
@@ -473,14 +473,14 @@ public:
me->AddUnitState(UNIT_STATE_STUNNED);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) override
{
for (uint8 i = 0; i < 3; ++i)
if (Spell->Effects[i].Effect == 38)
me->DisappearAndDie();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -514,7 +514,7 @@ class npc_void_sentinel : public CreatureScript
public:
npc_void_sentinel() : CreatureScript("npc_void_sentinel") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_void_sentinelAI(creature);
}
@@ -526,7 +526,7 @@ public:
uint32 PulseTimer;
uint32 VoidBlastTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
PulseTimer = 3000;
VoidBlastTimer = 45000; //is this a correct timer?
@@ -536,13 +536,13 @@ public:
DoTeleportTo(x, y, 71);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (uint8 i = 0; i < 8; ++i)
me->SummonCreature(NPC_VOID_SPAWN, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), float(rand()%6), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 180000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -569,7 +569,7 @@ class npc_blackhole : public CreatureScript
public:
npc_blackhole() : CreatureScript("npc_blackhole") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_blackholeAI>(creature);
}
@@ -588,7 +588,7 @@ public:
uint8 Phase;
uint8 NeedForAHack;
- void Reset() OVERRIDE
+ void Reset() override
{
DespawnTimer = 15000;
SpellTimer = 5000;
@@ -599,7 +599,7 @@ public:
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (SpellTimer <= diff)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
index 38f63d106ee..5a411d504aa 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
@@ -89,7 +89,7 @@ class instance_sunwell_plateau : public InstanceMapScript
return NULL;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -137,7 +137,7 @@ class instance_sunwell_plateau : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -154,7 +154,7 @@ class instance_sunwell_plateau : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -171,7 +171,7 @@ class instance_sunwell_plateau : public InstanceMapScript
}
}
- uint64 GetData64(uint32 id) const OVERRIDE
+ uint64 GetData64(uint32 id) const override
{
switch (id)
{
@@ -212,7 +212,7 @@ class instance_sunwell_plateau : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -223,7 +223,7 @@ class instance_sunwell_plateau : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -275,7 +275,7 @@ class instance_sunwell_plateau : public InstanceMapScript
std::vector<uint64> SpectralRealmList;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_sunwell_plateau_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
index 6d5d9ab4939..53602e866ad 100644
--- a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
+++ b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp
@@ -30,7 +30,7 @@ class instance_the_stockade : public InstanceMapScript
public:
instance_the_stockade() : InstanceMapScript("instance_the_stockade", 34) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_stockade_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index 496be57932e..9134f15959f 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -76,7 +76,7 @@ class boss_archaedas : public CreatureScript
bool bVaultWalkersAwake;
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiTremorTimer = 60000;
iAwakenTimer = 0;
@@ -106,14 +106,14 @@ class boss_archaedas : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->setFaction(14);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
// Being woken up from the altar, start the awaken sequence
if (spell == sSpellMgr->GetSpellInfo(SPELL_ARCHAEDAS_AWAKEN))
@@ -124,12 +124,12 @@ class boss_archaedas : public CreatureScript
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
// we're still doing awaken animation
if (bWakingUp && iAwakenTimer >= 0)
@@ -198,7 +198,7 @@ class boss_archaedas : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_archaedasAI>(creature);
}
@@ -234,7 +234,7 @@ class npc_archaedas_minions : public CreatureScript
bool bAmIAwake;
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcing_Timer = 3000;
iAwakenTimer = 0;
@@ -248,7 +248,7 @@ class npc_archaedas_minions : public CreatureScript
me->RemoveAllAuras();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->setFaction (14);
me->RemoveAllAuras();
@@ -257,7 +257,7 @@ class npc_archaedas_minions : public CreatureScript
bAmIAwake = true;
}
- void SpellHit(Unit * /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit * /*caster*/, const SpellInfo* spell) override
{
// time to wake up, start animation
if (spell == sSpellMgr->GetSpellInfo(SPELL_ARCHAEDAS_AWAKEN))
@@ -267,14 +267,14 @@ class npc_archaedas_minions : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (bAmIAwake)
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
// we're still in the awaken animation
if (bWakingUp && iAwakenTimer >= 0)
@@ -297,7 +297,7 @@ class npc_archaedas_minions : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_archaedas_minionsAI>(creature);
}
@@ -328,7 +328,7 @@ class npc_stonekeepers : public CreatureScript
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
me->setFaction(35);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -336,14 +336,14 @@ class npc_stonekeepers : public CreatureScript
me->RemoveAllAuras();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->setFaction(14);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -352,14 +352,14 @@ class npc_stonekeepers : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*attacker*/) OVERRIDE
+ void JustDied(Unit* /*attacker*/) override
{
DoCast (me, SPELL_SELF_DESTRUCT, true);
instance->SetData(DATA_STONE_KEEPERS, IN_PROGRESS); // activate next stonekeeper
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_stonekeepersAI>(creature);
}
@@ -381,7 +381,7 @@ class go_altar_of_archaedas : public GameObjectScript
{
}
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
InstanceScript* instance = player->GetInstanceScript();
if (!instance)
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
index d883cc136eb..13a475604a7 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
@@ -51,19 +51,19 @@ class boss_ironaya : public CreatureScript
bool bHasCastWstomp;
bool bHasCastKnockaway;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcingTimer = 3000;
bHasCastKnockaway = false;
bHasCastWstomp = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -104,7 +104,7 @@ class boss_ironaya : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ironayaAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 39e47d109c6..717406e6750 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -47,7 +47,7 @@ class instance_uldaman : public InstanceMapScript
{
instance_uldaman_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -67,7 +67,7 @@ class instance_uldaman : public InstanceMapScript
keystoneCheck = false;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -99,7 +99,7 @@ class instance_uldaman : public InstanceMapScript
uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data;
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -308,7 +308,7 @@ class instance_uldaman : public InstanceMapScript
}
}
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (!keystoneCheck)
return;
@@ -327,7 +327,7 @@ class instance_uldaman : public InstanceMapScript
ironayaSealDoorTimer -= diff;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -393,7 +393,7 @@ class instance_uldaman : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
// Archaedas
if (type == 0)
@@ -403,12 +403,12 @@ class instance_uldaman : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -430,7 +430,7 @@ class instance_uldaman : public InstanceMapScript
OUT_LOAD_INST_DATA_COMPLETE;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -469,7 +469,7 @@ class instance_uldaman : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -494,7 +494,7 @@ class instance_uldaman : public InstanceMapScript
return 0;
} // end GetData64
- void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) override
{
switch (eventId)
{
@@ -507,7 +507,7 @@ class instance_uldaman : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_uldaman_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
index cd79f90cf58..fdb71cbbf83 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/uldaman.cpp
@@ -58,16 +58,16 @@ class npc_jadespine_basilisk : public CreatureScript
uint32 uiCslumberTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiCslumberTimer = 2000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -96,7 +96,7 @@ class npc_jadespine_basilisk : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_jadespine_basiliskAI(creature);
}
@@ -111,7 +111,7 @@ class go_keystone_chamber : public GameObjectScript
public:
go_keystone_chamber() : GameObjectScript("go_keystone_chamber") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
instance->SetData(DATA_IRONAYA_SEAL, IN_PROGRESS); //door animation and save state.
@@ -135,7 +135,7 @@ class AreaTrigger_at_map_chamber : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (player->GetQuestStatus(QUEST_HIDDEN_CHAMBER) == QUEST_STATUS_INCOMPLETE)
player->AreaExploredOrEventHappens(QUEST_HIDDEN_CHAMBER);
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index 41dd499f5c3..f67e8d2712e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -39,30 +39,30 @@ class boss_akilzon : public CreatureScript
{
boss_akilzonAI(Creature* creature) : BossAI(creature, DATA_AKILZON) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -86,7 +86,7 @@ class boss_akilzon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_akilzonAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp
index 63d2abe8c92..dd5fdf989fd 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp
@@ -54,30 +54,30 @@ class boss_daakara : public CreatureScript
{
boss_daakaraAI(Creature* creature) : BossAI(creature, DATA_DAAKARA) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -101,7 +101,7 @@ class boss_daakara : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulAmanAI<boss_daakaraAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index 07a6f249a5f..d10d749be81 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -47,30 +47,30 @@ class boss_halazzi : public CreatureScript
{
boss_halazziAI(Creature* creature) : BossAI(creature, DATA_HALAZZI) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -94,7 +94,7 @@ class boss_halazzi : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulAmanAI<boss_halazziAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
index 93a0e4e6f05..7219d6e5f9e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
@@ -51,30 +51,30 @@ class boss_hexlord_malacrass : public CreatureScript
{
boss_hex_lord_malacrassAI(Creature* creature) : BossAI(creature, DATA_HEXLORD) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_hexlord_malacrass : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_hex_lord_malacrassAI>(creature);
}
@@ -113,7 +113,7 @@ class spell_hexlord_unstable_affliction : public SpellScriptLoader
{
PrepareAuraScript(spell_hexlord_unstable_affliction_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WL_UNSTABLE_AFFL_DISPEL))
return false;
@@ -126,13 +126,13 @@ class spell_hexlord_unstable_affliction : public SpellScriptLoader
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_WL_UNSTABLE_AFFL_DISPEL, true, NULL, GetEffect(EFFECT_0));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterDispel += AuraDispelFn(spell_hexlord_unstable_affliction_AuraScript::HandleDispel);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hexlord_unstable_affliction_AuraScript();
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index b0c008d897a..61955d7ae5a 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -48,30 +48,30 @@ class boss_janalai : public CreatureScript
{
boss_janalaiAI(Creature* creature) : BossAI(creature, DATA_JANALAI) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -95,7 +95,7 @@ class boss_janalai : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_janalaiAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index ea97f44b829..89ee0cfd8d4 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -53,30 +53,30 @@ class boss_nalorakk : public CreatureScript
{
boss_nalorakkAI(Creature* creature) : BossAI(creature, DATA_NALORAKK) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ class boss_nalorakk : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nalorakkAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index 351596300d7..d5cfb7b4851 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -44,13 +44,13 @@ class instance_zulaman : public InstanceMapScript
ZulAmanBossCount = 0;
}
- void FillInitialWorldStates(WorldPacket& packet) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& packet) override
{
packet << uint32(WORLD_STATE_ZULAMAN_TIMER_ENABLED) << uint32(ZulAmanState ? 1 : 0);
packet << uint32(WORLD_STATE_ZULAMAN_TIMER) << uint32(SpeedRunTimer);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -83,7 +83,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -101,7 +101,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -113,7 +113,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -142,7 +142,7 @@ class instance_zulaman : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -164,7 +164,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -177,7 +177,7 @@ class instance_zulaman : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -221,7 +221,7 @@ class instance_zulaman : public InstanceMapScript
return true;
}
- void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
switch (eventId)
{
@@ -266,7 +266,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -278,7 +278,7 @@ class instance_zulaman : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -339,7 +339,7 @@ class instance_zulaman : public InstanceMapScript
uint32 ZulAmanBossCount;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_zulaman_InstanceScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index 4f15efb5ea3..d4b4cb3ea6b 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -92,12 +92,12 @@ class npc_voljin_zulaman : public CreatureScript
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_gongCount = 0;
}
- void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 action) override
{
if (_instance->GetData(DATA_ZULAMAN_STATE) != NOT_STARTED)
return;
@@ -114,7 +114,7 @@ class npc_voljin_zulaman : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_ZULAMAN)
{
@@ -123,7 +123,7 @@ class npc_voljin_zulaman : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
@@ -183,7 +183,7 @@ class npc_voljin_zulaman : public CreatureScript
}
}
- void MovementInform(uint32 movementType, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -211,7 +211,7 @@ class npc_voljin_zulaman : public CreatureScript
uint8 _gongCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_voljin_zulamanAI>(creature);
}
@@ -233,13 +233,13 @@ class spell_banging_the_gong : public SpellScriptLoader
GetHitGObj()->SendCustomAnim(0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_banging_the_gong_SpellScript::Activate, EFFECT_1, SPELL_EFFECT_ACTIVATE_OBJECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_banging_the_gong_SpellScript();
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
index 7d336d49b62..fccaf768704 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
@@ -44,19 +44,19 @@ class boss_grilek : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -80,7 +80,7 @@ class boss_grilek : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_grilekAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
index 00f09bfdd6e..14d5f301241 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
@@ -44,19 +44,19 @@ class boss_hazzarah : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -80,7 +80,7 @@ class boss_hazzarah : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_hazzarahAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
index ed8eb0ec817..d06fdb2840e 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
@@ -57,22 +57,22 @@ class boss_jindo_the_godbreaker : public CreatureScript
{
boss_jindo_the_godbreakerAI(Creature* creature) : BossAI(creature, DATA_JINDO) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -96,7 +96,7 @@ class boss_jindo_the_godbreaker : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<boss_jindo_the_godbreakerAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
index e249abccea6..b42b6d29731 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
@@ -48,30 +48,30 @@ class boss_kilnara : public CreatureScript
{
boss_kilnaraAI(Creature* creature) : BossAI(creature, DATA_KILNARA) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -95,7 +95,7 @@ class boss_kilnara : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<boss_kilnaraAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index a217d97ee98..bb355be52a9 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -109,7 +109,7 @@ class boss_mandokir : public CreatureScript
{
boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_MANDOKIR) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCastAOE(SPELL_SPIRIT_VENGEANCE_CANCEL);
@@ -121,7 +121,7 @@ class boss_mandokir : public CreatureScript
_reviveGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -144,14 +144,14 @@ class boss_mandokir : public CreatureScript
events.ScheduleEvent(EVENT_DEVASTATING_SLAM, 25000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCastAOE(SPELL_SPIRIT_VENGEANCE_CANCEL);
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
{
@@ -162,7 +162,7 @@ class boss_mandokir : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(20, damage) && !me->HasAura(SPELL_FRENZY))
{
@@ -172,7 +172,7 @@ class boss_mandokir : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -207,7 +207,7 @@ class boss_mandokir : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_OHGANOT_SO_FAST)
return _ohganotSoFast;
@@ -215,12 +215,12 @@ class boss_mandokir : public CreatureScript
return 0;
}
- void SetGUID(uint64 guid, int32 /*type = 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*type = 0 */) override
{
_reviveGUID = guid;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -283,7 +283,7 @@ class boss_mandokir : public CreatureScript
uint64 _reviveGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<boss_mandokirAI>(creature);
}
@@ -301,12 +301,12 @@ class npc_ohgan : public CreatureScript
_instance = me->GetInstanceScript();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCastAOE(SPELL_OHGAN_ORDERS, true);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -322,7 +322,7 @@ class npc_ohgan : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (Creature* creature = victim->ToCreature())
{
@@ -331,7 +331,7 @@ class npc_ohgan : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -343,7 +343,7 @@ class npc_ohgan : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<npc_ohganAI>(creature);
}
@@ -363,17 +363,17 @@ class npc_chained_spirit : public CreatureScript
me->SetReactState(REACT_PASSIVE); // correct?
}
- void Reset() OVERRIDE
+ void Reset() override
{
_revivePlayerGUID = 0;
}
- void SetGUID(uint64 guid, int32 /*type = 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*type = 0 */) override
{
_revivePlayerGUID = guid;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_REVIVE)
{
@@ -386,7 +386,7 @@ class npc_chained_spirit : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE || !_revivePlayerGUID)
return;
@@ -400,7 +400,7 @@ class npc_chained_spirit : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Player* target = ObjectAccessor::GetPlayer(*me, _revivePlayerGUID);
if (!target || target->IsAlive())
@@ -415,14 +415,14 @@ class npc_chained_spirit : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
InstanceScript* _instance;
uint64 _revivePlayerGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<npc_chained_spiritAI>(creature);
}
@@ -454,14 +454,14 @@ class spell_mandokir_decapitate : public SpellScriptLoader
caster->CastSpell(target, uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mandokir_decapitate_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_mandokir_decapitate_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mandokir_decapitate_SpellScript();
}
@@ -476,7 +476,7 @@ class spell_mandokir_bloodletting : public SpellScriptLoader
{
PrepareAuraScript(spell_mandokir_bloodletting_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BLOODLETTING_DAMAGE))
return false;
@@ -498,13 +498,13 @@ class spell_mandokir_bloodletting : public SpellScriptLoader
target->CastCustomSpell(caster, SPELL_BLOODLETTING_HEAL, &damage, 0, 0, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mandokir_bloodletting_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mandokir_bloodletting_AuraScript();
}
@@ -525,14 +525,14 @@ class spell_mandokir_spirit_vengeance_cancel : public SpellScriptLoader
target->RemoveAura(uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_mandokir_spirit_vengeance_cancel_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHitTarget += SpellEffectFn(spell_mandokir_spirit_vengeance_cancel_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mandokir_spirit_vengeance_cancel_SpellScript();
}
@@ -603,14 +603,14 @@ class spell_mandokir_devastating_slam : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mandokir_devastating_slam_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_mandokir_devastating_slam_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mandokir_devastating_slam_SpellScript();
}
@@ -642,14 +642,14 @@ class spell_mandokir_ohgan_orders : public SpellScriptLoader
caster->CastSpell(target, uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mandokir_ohgan_orders_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_mandokir_ohgan_orders_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mandokir_ohgan_orders_SpellScript();
}
@@ -678,13 +678,13 @@ class spell_mandokir_ohgan_orders_trigger : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_mandokir_ohgan_orders_trigger_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mandokir_ohgan_orders_trigger_AuraScript();
}
@@ -709,13 +709,13 @@ class spell_mandokir_reanimate_ohgan : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_mandokir_reanimate_ohgan_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mandokir_reanimate_ohgan_SpellScript();
}
@@ -736,13 +736,13 @@ class spell_clear_all : public SpellScriptLoader
caster->RemoveAllAurasOnDeath();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_clear_all_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_clear_all_SpellScript();
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
index 220ff5787d2..66955db8163 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
@@ -44,19 +44,19 @@ class boss_renataki : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -80,7 +80,7 @@ class boss_renataki : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_renatakiAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
index 2e6f569dbb0..b334c611528 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
@@ -51,30 +51,30 @@ class boss_venoxis : public CreatureScript
{
boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_venoxis : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<boss_venoxisAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
index 3f7d15e67b9..997e4ec3077 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
@@ -44,19 +44,19 @@ class boss_wushoolay : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -80,7 +80,7 @@ class boss_wushoolay : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_wushoolayAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_zanzil.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_zanzil.cpp
index 303fc2e49ad..6d22284ef62 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_zanzil.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_zanzil.cpp
@@ -50,30 +50,30 @@ class boss_zanzil : public CreatureScript
{
boss_zanzilAI(Creature* creature) : BossAI(creature, DATA_ZANZIL) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -97,7 +97,7 @@ class boss_zanzil : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetZulGurubAI<boss_zanzilAI>(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index 6483eab20e6..1f65805ea71 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -53,7 +53,7 @@ class instance_zulgurub : public InstanceMapScript
jindoTiggerGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -92,7 +92,7 @@ class instance_zulgurub : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -108,7 +108,7 @@ class instance_zulgurub : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -124,7 +124,7 @@ class instance_zulgurub : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -149,14 +149,14 @@ class instance_zulgurub : public InstanceMapScript
}
/*
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -166,7 +166,7 @@ class instance_zulgurub : public InstanceMapScript
}
*/
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -197,7 +197,7 @@ class instance_zulgurub : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -208,7 +208,7 @@ class instance_zulgurub : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -254,7 +254,7 @@ class instance_zulgurub : public InstanceMapScript
uint64 jindoTiggerGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_zulgurub_InstanceMapScript(map);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
index ddb6575d72f..d34dc053fc5 100644
--- a/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
@@ -70,7 +70,7 @@ class npc_professor_phizzlethorpe : public CreatureScript
{
npc_professor_phizzlethorpeAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -98,12 +98,12 @@ class npc_professor_phizzlethorpe : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
@@ -118,7 +118,7 @@ class npc_professor_phizzlethorpe : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -150,7 +150,7 @@ class npc_professor_phizzlethorpe : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_professor_phizzlethorpeAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
index 3fcd3c093b7..293a6b90915 100644
--- a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
@@ -17,11 +17,7 @@
/*
Blasted_Lands
-Quest support: 3628. Teleporter to Rise of the Defiler.
-*/
-
-/*
-npc_deathly_usher
+Quest support: 3628.
*/
#include "ScriptMgr.h"
@@ -31,10 +27,6 @@ npc_deathly_usher
#include "Player.h"
#include "Group.h"
-/*######
-## npc_deathly_usher
-######*/
-
enum DeathlyUsher
{
SPELL_TELEPORT_SINGLE = 12885,
@@ -42,28 +34,6 @@ enum DeathlyUsher
SPELL_TELEPORT_GROUP = 27686
};
-class npc_deathly_usher : public CreatureScript
-{
-public:
- npc_deathly_usher() : CreatureScript("npc_deathly_usher") { }
-
- struct npc_deathly_usherAI : public ScriptedAI
- {
- npc_deathly_usherAI(Creature* creature) : ScriptedAI(creature) { }
-
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
- {
- player->CLOSE_GOSSIP_MENU();
- me->CastSpell(player, SPELL_TELEPORT_GROUP, true);
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_deathly_usherAI(creature);
- }
-};
-
/*#####
# spell_razelikh_teleport_group
#####*/
@@ -76,7 +46,7 @@ class spell_razelikh_teleport_group : public SpellScriptLoader
{
PrepareSpellScript(spell_razelikh_teleport_group_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE) && !sSpellMgr->GetSpellInfo(SPELL_TELEPORT_SINGLE_IN_GROUP))
return false;
@@ -99,13 +69,13 @@ class spell_razelikh_teleport_group : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_razelikh_teleport_group_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_razelikh_teleport_group_SpellScript();
}
@@ -113,6 +83,5 @@ class spell_razelikh_teleport_group : public SpellScriptLoader
void AddSC_blasted_lands()
{
- new npc_deathly_usher();
new spell_razelikh_teleport_group();
}
diff --git a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
index 0332727fa4c..4eaf98d0a0e 100644
--- a/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_duskwood.cpp
@@ -29,18 +29,19 @@ EndScriptData */
enum TwilightCorrupter
{
- ITEM_FRAGMENT = 21149,
NPC_TWILIGHT_CORRUPTER = 15625,
- YELL_TWILIGHTCORRUPTOR_RESPAWN = 0,
- YELL_TWILIGHTCORRUPTOR_AGGRO = 1,
- YELL_TWILIGHTCORRUPTOR_KILL = 2,
+ YELL_TWILIGHT_CORRUPTOR_RESPAWN = 0,
+ YELL_TWILIGHT_CORRUPTOR_AGGRO = 1,
+ YELL_TWILIGHT_CORRUPTOR_KILL = 2,
+
SPELL_SOUL_CORRUPTION = 25805,
SPELL_CREATURE_OF_NIGHTMARE = 25806,
SPELL_LEVEL_UP = 24312,
EVENT_SOUL_CORRUPTION = 1,
EVENT_CREATURE_OF_NIGHTMARE = 2,
- FACTION_HOSTILE = 14
+
+ QUEST_NIGHTMARES_CORRUPTION = 8735
};
/*######
@@ -56,24 +57,25 @@ public:
{
boss_twilight_corrupterAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
- KillCount = 0;
+ _events.Reset();
+ KillCount = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
- Talk(YELL_TWILIGHTCORRUPTOR_AGGRO);
+ Talk(YELL_TWILIGHT_CORRUPTOR_AGGRO);
_events.ScheduleEvent(EVENT_SOUL_CORRUPTION, 15000);
_events.ScheduleEvent(EVENT_CREATURE_OF_NIGHTMARE, 30000);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
{
++KillCount;
- Talk(YELL_TWILIGHTCORRUPTOR_KILL, victim);
+ Talk(YELL_TWILIGHT_CORRUPTOR_KILL, victim);
if (KillCount == 3)
{
@@ -83,29 +85,34 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
_events.Update(diff);
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
while (uint32 eventId = _events.ExecuteEvent())
{
switch (eventId)
{
case EVENT_SOUL_CORRUPTION:
- DoCastVictim(SPELL_SOUL_CORRUPTION);
- _events.ScheduleEvent(EVENT_SOUL_CORRUPTION, rand()%4000+15000);
+ DoCastAOE(SPELL_SOUL_CORRUPTION);
+ _events.ScheduleEvent(EVENT_SOUL_CORRUPTION, urand(15000, 19000));
break;
case EVENT_CREATURE_OF_NIGHTMARE:
- DoCastVictim(SPELL_CREATURE_OF_NIGHTMARE);
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
+ DoCast(target, SPELL_CREATURE_OF_NIGHTMARE);
_events.ScheduleEvent(EVENT_CREATURE_OF_NIGHTMARE, 45000);
break;
default:
break;
}
}
+
DoMeleeAttackIfReady();
}
@@ -114,7 +121,7 @@ public:
uint8 KillCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_twilight_corrupterAI(creature);
}
@@ -124,27 +131,22 @@ public:
# at_twilight_grove
######*/
+Position const TwillightCorrupter = { -10328.16f, -489.57f, 49.95f, 0.0f };
+
class at_twilight_grove : public AreaTriggerScript
{
-public:
- at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { }
+ public:
+ at_twilight_grove() : AreaTriggerScript("at_twilight_grove") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
- {
- if (player->HasQuestForItem(ITEM_FRAGMENT))
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
- if (Unit* corrupter = player->SummonCreature(NPC_TWILIGHT_CORRUPTER, -10328.16f, -489.57f, 49.95f, 0, TEMPSUMMON_MANUAL_DESPAWN, 60000))
- corrupter->setFaction(FACTION_HOSTILE);
+ if (player->GetQuestStatus(QUEST_NIGHTMARES_CORRUPTION) == QUEST_STATUS_INCOMPLETE)
+ if (!player->FindNearestCreature(NPC_TWILIGHT_CORRUPTER, 500.0f, true))
+ if (Creature* corrupter = player->SummonCreature(NPC_TWILIGHT_CORRUPTER, TwillightCorrupter, TEMPSUMMON_MANUAL_DESPAWN, 60000))
+ corrupter->AI()->Talk(YELL_TWILIGHT_CORRUPTOR_RESPAWN, player);
- if (Creature* CorrupterSpeaker = player->SummonCreature(1, player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()-1, 0, TEMPSUMMON_TIMED_DESPAWN, 15000))
- {
- CorrupterSpeaker->SetName("Twilight Corrupter");
- CorrupterSpeaker->SetVisible(true);
- CorrupterSpeaker->AI()->Talk(YELL_TWILIGHTCORRUPTOR_RESPAWN, player);
- }
- }
- return false;
- };
+ return false;
+ };
};
void AddSC_duskwood()
diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
index 23b218897b7..81b0491f48d 100644
--- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp
@@ -45,18 +45,18 @@ public:
{
npc_ghoul_flayerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer->GetTypeId() == TYPEID_PLAYER)
me->SummonCreature(11064, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 60000);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ghoul_flayerAI(creature);
}
@@ -71,7 +71,7 @@ class npc_augustus_the_touched : public CreatureScript
public:
npc_augustus_the_touched() : CreatureScript("npc_augustus_the_touched") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -79,7 +79,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -106,7 +106,7 @@ class npc_darrowshire_spirit : public CreatureScript
public:
npc_darrowshire_spirit() : CreatureScript("npc_darrowshire_spirit") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->SEND_GOSSIP_MENU(3873, creature->GetGUID());
player->TalkedToCreature(creature->GetEntry(), creature->GetGUID());
@@ -114,7 +114,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_darrowshire_spiritAI(creature);
}
@@ -123,13 +123,13 @@ public:
{
npc_darrowshire_spiritAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_SPIRIT_SPAWNIN);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
};
};
@@ -147,7 +147,7 @@ class npc_tirion_fordring : public CreatureScript
public:
npc_tirion_fordring() : CreatureScript("npc_tirion_fordring") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -172,7 +172,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
index dcfa576e7fe..8c612a11621 100644
--- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
@@ -76,7 +76,7 @@ public:
SummonList Summons;
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
SetCombatMovement(false);
KillCount = 0;
@@ -84,7 +84,7 @@ public:
Summons.DespawnAll();
}
- void sQuestReward(Player* /*player*/, Quest const* quest, uint32 /*opt*/) OVERRIDE
+ void sQuestReward(Player* /*player*/, Quest const* quest, uint32 /*opt*/) override
{
if (quest->GetQuestId() == QUEST_CORRUPTED_SOIL)
{
@@ -93,7 +93,7 @@ public:
}
}
- void sQuestAccept(Player* player, Quest const* quest) OVERRIDE
+ void sQuestAccept(Player* player, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_UNEXPECTED_RESULT)
{
@@ -104,12 +104,12 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_FIREBALL, 1000);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
// This is the best I can do because AttackStart does nothing
summoned->GetMotionMaster()->MovePoint(1, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
@@ -117,13 +117,13 @@ public:
Summons.Summon(summoned);
}
- void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) override
{
Summons.Despawn(summoned);
++KillCount;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->setFaction(FACTION_NORMAL);
@@ -132,7 +132,7 @@ public:
player->FailQuest(QUEST_UNEXPECTED_RESULT);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (KillCount >= 3 && PlayerGUID)
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
@@ -175,7 +175,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_apprentice_mirvedaAI(creature);
}
@@ -219,7 +219,7 @@ class npc_infused_crystal : public CreatureScript
public:
npc_infused_crystal() : CreatureScript("npc_infused_crystal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_infused_crystalAI(creature);
}
@@ -237,7 +237,7 @@ public:
bool Progress;
uint64 PlayerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
EndTimer = 0;
Completed = false;
@@ -246,7 +246,7 @@ public:
WaveTimer = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Progress && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 10.0f))
@@ -261,19 +261,19 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (PlayerGUID && !Completed)
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
player->FailQuest(QUEST_POWERING_OUR_DEFENSES);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (EndTimer < diff && Progress)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
index a6e9e8d0342..db7f027d53d 100644
--- a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
@@ -65,7 +65,7 @@ public:
{
npc_ranger_lilathaAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -96,7 +96,7 @@ public:
Summ1->Attack(me, true);
Summ2->Attack(player, true);
}
- me->AI()->AttackStart(Summ1);
+ AttackStart(Summ1);
}
break;
case 19:
@@ -122,14 +122,14 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
Cage->SetGoState(GO_STATE_READY);
}
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE_FROM_THE_CATACOMBS)
{
@@ -141,7 +141,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ranger_lilathaAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
index b89d651d8c2..8888b662ff6 100644
--- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
@@ -59,9 +59,9 @@ public:
{
npc_oox09hlAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (who->GetEntry() == NPC_MARAUDING_OWL || who->GetEntry() == NPC_VILE_AMBUSHER)
return;
@@ -69,7 +69,7 @@ public:
Talk(SAY_OOX_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
}
@@ -103,7 +103,7 @@ public:
}
}
- void WaypointStart(uint32 pointId) OVERRIDE
+ void WaypointStart(uint32 pointId) override
{
switch (pointId)
{
@@ -111,8 +111,7 @@ public:
for (uint8 i = 0; i < 3; ++i)
{
const Position src = {147.927444f, -3851.513428f, 130.893f, 0};
- Position dst;
- me->GetRandomPoint(src, 7.0f, dst);
+ Position dst = me->GetRandomPoint(src, 7.0f);
DoSummon(NPC_MARAUDING_OWL, dst, 25000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
}
break;
@@ -120,8 +119,7 @@ public:
for (uint8 i = 0; i < 3; ++i)
{
const Position src = {-141.151581f, -4291.213867f, 120.130f, 0};
- Position dst;
- me->GetRandomPoint(src, 7.0f, dst);
+ Position dst = me->GetRandomPoint(src, 7.0f);
me->SummonCreature(NPC_VILE_AMBUSHER, dst, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 25000);
}
break;
@@ -129,7 +127,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_oox09hlAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
index 28d5546ae89..25ee8bc1702 100644
--- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
@@ -49,7 +49,7 @@ class npc_converted_sentry : public CreatureScript
public:
npc_converted_sentry() : CreatureScript("npc_converted_sentry") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_converted_sentryAI(creature);
}
@@ -61,17 +61,17 @@ public:
bool Credit;
uint32 Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Credit = false;
Timer = 2500;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Credit)
{
@@ -103,7 +103,7 @@ class npc_greengill_slave : public CreatureScript
public:
npc_greengill_slave() : CreatureScript("npc_greengill_slave") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_greengill_slaveAI(creature);
}
@@ -112,9 +112,9 @@ public:
{
npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, SpellInfo const* spellInfo) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
{
Player* player = caster->ToPlayer();
if (!player)
@@ -135,7 +135,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
DoMeleeAttackIfReady();
}
diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
index 8f87dec114a..1d68ac01f6d 100644
--- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
@@ -107,7 +107,7 @@ public:
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
void EnterCombat(Unit* who)
{
@@ -128,7 +128,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_deathstalker_erlandAI(creature);
}
diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
index 6cfef015450..b52cb9fa1bf 100644
--- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp
@@ -41,7 +41,7 @@ class npc_yenniku : public CreatureScript
public:
npc_yenniku() : CreatureScript("npc_yenniku") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_yennikuAI(creature);
}
@@ -56,13 +56,13 @@ public:
uint32 Reset_Timer;
bool bReset;
- void Reset() OVERRIDE
+ void Reset() override
{
Reset_Timer = 0;
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (bReset || spell->Id != 3607)
return;
@@ -82,9 +82,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bReset)
{
@@ -100,7 +100,7 @@ public:
if (me->IsInCombat() && me->GetVictim())
{
- if (Player* player = me->GetVictim()->ToPlayer())
+ if (Player* player = me->EnsureVictim()->ToPlayer())
{
if (player->GetTeam() == HORDE)
{
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index 652189a8eea..07cdcefcbbb 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -77,7 +77,7 @@ class npc_lady_sylvanas_windrunner : public CreatureScript
public:
npc_lady_sylvanas_windrunner() : CreatureScript("npc_lady_sylvanas_windrunner") { }
- bool OnQuestReward(Player* /*player*/, Creature* creature, const Quest *_Quest, uint32 /*slot*/) OVERRIDE
+ bool OnQuestReward(Player* /*player*/, Creature* creature, const Quest *_Quest, uint32 /*slot*/) override
{
if (_Quest->GetQuestId() == QUEST_JOURNEY_TO_UNDERCITY)
{
@@ -92,7 +92,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lady_sylvanas_windrunnerAI(creature);
}
@@ -111,7 +111,7 @@ public:
uint32 ShotTimer;
uint32 MultiShotTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
LamentEventTimer = 5000;
LamentEvent = false;
@@ -124,9 +124,9 @@ public:
MultiShotTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == ENTRY_HIGHBORNE_BUNNY)
{
@@ -142,7 +142,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (LamentEvent)
{
@@ -224,7 +224,7 @@ class npc_highborne_lamenter : public CreatureScript
public:
npc_highborne_lamenter() : CreatureScript("npc_highborne_lamenter") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_highborne_lamenterAI(creature);
}
@@ -238,7 +238,7 @@ public:
bool EventMove;
bool EventCast;
- void Reset() OVERRIDE
+ void Reset() override
{
EventMoveTimer = 10000;
EventCastTimer = 17500;
@@ -246,9 +246,9 @@ public:
EventCast = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (EventMove)
{
@@ -290,7 +290,7 @@ class npc_parqual_fintallas : public CreatureScript
public:
npc_parqual_fintallas() : CreatureScript("npc_parqual_fintallas") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -306,7 +306,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index 56961d2fb02..43a66c813a3 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -53,7 +53,7 @@ class npcs_dithers_and_arbington : public CreatureScript
public:
npcs_dithers_and_arbington() : CreatureScript("npcs_dithers_and_arbington") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -85,7 +85,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -126,7 +126,7 @@ class npc_myranda_the_hag : public CreatureScript
public:
npc_myranda_the_hag() : CreatureScript("npc_myranda_the_hag") { }
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -137,7 +137,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -165,7 +165,7 @@ class npc_the_scourge_cauldron : public CreatureScript
public:
npc_the_scourge_cauldron() : CreatureScript("npc_the_scourge_cauldron") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_the_scourge_cauldronAI(creature);
}
@@ -174,9 +174,9 @@ public:
{
npc_the_scourge_cauldronAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void DoDie()
{
@@ -188,7 +188,7 @@ public:
me->SetRespawnDelay(600);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who)
return;
@@ -250,7 +250,7 @@ class npc_andorhal_tower : public CreatureScript
public:
npc_andorhal_tower() : CreatureScript("npc_andorhal_tower") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_andorhal_towerAI(creature);
}
@@ -262,7 +262,7 @@ public:
SetCombatMovement(false);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || who->GetTypeId() != TYPEID_PLAYER)
@@ -301,7 +301,7 @@ class npc_anchorite_truuen : public CreatureScript
public:
npc_anchorite_truuen() : CreatureScript("npc_anchorite_truuen") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
npc_escortAI* pEscortAI = CAST_AI(npc_anchorite_truuen::npc_anchorite_truuenAI, creature->AI());
@@ -310,7 +310,7 @@ public:
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_anchorite_truuenAI(creature);
}
@@ -327,18 +327,18 @@ public:
Creature* Ughost;
Creature* Theldanis;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiChatTimer = 7000;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_GHOUL)
summoned->AI()->AttackStart(me);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
@@ -392,15 +392,15 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_TOMB_LIGHTBRINGER);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
DoMeleeAttackIfReady();
diff --git a/src/server/scripts/EasternKingdoms/zone_westfall.cpp b/src/server/scripts/EasternKingdoms/zone_westfall.cpp
index 350ceead706..7f0fbd8f97b 100644
--- a/src/server/scripts/EasternKingdoms/zone_westfall.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_westfall.cpp
@@ -19,13 +19,12 @@
/* ScriptData
SDName: Westfall
SD%Complete: 90
-SDComment: Quest support: 155, 1651
+SDComment: Quest support: 1651
SDCategory: Westfall
EndScriptData */
/* ContentData
npc_daphne_stilwell
-npc_defias_traitor
EndContentData */
#include "ScriptMgr.h"
@@ -64,7 +63,7 @@ class npc_daphne_stilwell : public CreatureScript
public:
npc_daphne_stilwell() : CreatureScript("npc_daphne_stilwell") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_TOME_VALOR)
{
@@ -77,7 +76,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_daphne_stilwellAI(creature);
}
@@ -89,7 +88,7 @@ public:
uint32 uiWPHolder;
uint32 uiShootTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -112,7 +111,7 @@ public:
uiShootTimer = 0;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -164,7 +163,7 @@ public:
}
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -179,7 +178,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -202,79 +201,7 @@ public:
};
};
-/*######
-## npc_defias_traitor
-######*/
-enum DefiasSays
-{
- SAY_START = 0,
- SAY_PROGRESS = 1,
- SAY_END = 2,
- SAY_AGGRO = 3
-};
-
-
-#define QUEST_DEFIAS_BROTHERHOOD 155
-
-class npc_defias_traitor : public CreatureScript
-{
-public:
- npc_defias_traitor() : CreatureScript("npc_defias_traitor") { }
-
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
- {
- if (quest->GetQuestId() == QUEST_DEFIAS_BROTHERHOOD)
- {
- if (npc_escortAI* pEscortAI = CAST_AI(npc_defias_traitor::npc_defias_traitorAI, creature->AI()))
- pEscortAI->Start(true, true, player->GetGUID());
-
- creature->AI()->Talk(SAY_START, player);
- }
-
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_defias_traitorAI(creature);
- }
-
- struct npc_defias_traitorAI : public npc_escortAI
- {
- npc_defias_traitorAI(Creature* creature) : npc_escortAI(creature) { Reset(); }
-
- void WaypointReached(uint32 waypointId) OVERRIDE
- {
- Player* player = GetPlayerForEscort();
- if (!player)
- return;
-
- switch (waypointId)
- {
- case 35:
- SetRun(false);
- break;
- case 36:
- Talk(SAY_PROGRESS, player);
- break;
- case 44:
- Talk(SAY_END, player);
- player->GroupEventHappens(QUEST_DEFIAS_BROTHERHOOD, me);
- break;
- }
- }
-
- void EnterCombat(Unit* who) OVERRIDE
- {
- Talk(SAY_AGGRO, who);
- }
-
- void Reset() OVERRIDE { }
- };
-};
-
void AddSC_westfall()
{
new npc_daphne_stilwell();
- new npc_defias_traitor();
}
diff --git a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
index a7feb2b7c43..e6c844b1b1e 100644
--- a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp
@@ -52,7 +52,7 @@ class npc_tapoke_slim_jahn : public CreatureScript
public:
npc_tapoke_slim_jahn() : CreatureScript("npc_tapoke_slim_jahn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_tapoke_slim_jahnAI(creature);
}
@@ -63,13 +63,13 @@ public:
bool IsFriendSummoned;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
IsFriendSummoned = false;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -82,7 +82,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING) && !IsFriendSummoned && GetPlayerForEscort())
{
@@ -93,13 +93,13 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Player* player = GetPlayerForEscort())
summoned->AI()->AttackStart(player);
}
- void AttackedBy(Unit* pAttacker) OVERRIDE
+ void AttackedBy(Unit* pAttacker) override
{
if (me->GetVictim())
return;
@@ -110,7 +110,7 @@ public:
AttackStart(pAttacker);
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override
{
if (HealthBelowPct(20))
{
@@ -141,7 +141,7 @@ class npc_mikhail : public CreatureScript
public:
npc_mikhail() : CreatureScript("npc_mikhail") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_MISSING_DIPLO_PT11)
{
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index b1b51a10dc4..65b21520102 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -152,7 +152,7 @@ class npc_winterfin_playmate : public CreatureScript
{
npc_winterfin_playmateAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -160,7 +160,7 @@ class npc_winterfin_playmate : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -174,7 +174,7 @@ class npc_winterfin_playmate : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -233,7 +233,7 @@ class npc_winterfin_playmate : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_winterfin_playmateAI(creature);
}
@@ -251,7 +251,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
{
npc_snowfall_glade_playmateAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -259,7 +259,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -273,7 +273,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -308,7 +308,7 @@ class npc_snowfall_glade_playmate : public CreatureScript
break;
case 4:
orphan->AI()->Talk(TEXT_WOLVAR_ORPHAN_2);
- orphan->AI()->DoCast(me, SPELL_SNOWBALL);
+ orphan->CastSpell(me, SPELL_SNOWBALL);
timer = 5000;
break;
case 5:
@@ -352,7 +352,7 @@ class npc_the_biggest_tree : public CreatureScript
me->SetDisplayId(DISPLAY_INVISIBLE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 1000;
phase = 0;
@@ -360,7 +360,7 @@ class npc_the_biggest_tree : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -374,7 +374,7 @@ class npc_the_biggest_tree : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -421,7 +421,7 @@ class npc_the_biggest_tree : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_the_biggest_treeAI(creature);
}
@@ -439,7 +439,7 @@ class npc_high_oracle_soo_roo : public CreatureScript
{
npc_high_oracle_soo_rooAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -447,7 +447,7 @@ class npc_high_oracle_soo_roo : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -461,7 +461,7 @@ class npc_high_oracle_soo_roo : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -510,7 +510,7 @@ class npc_high_oracle_soo_roo : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_high_oracle_soo_rooAI(creature);
}
@@ -528,7 +528,7 @@ class npc_elder_kekek : public CreatureScript
{
npc_elder_kekekAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -536,7 +536,7 @@ class npc_elder_kekek : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -550,7 +550,7 @@ class npc_elder_kekek : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -598,7 +598,7 @@ class npc_elder_kekek : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_elder_kekekAI(creature);
}
@@ -617,7 +617,7 @@ class npc_the_etymidian : public CreatureScript
{
npc_the_etymidianAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -625,7 +625,7 @@ class npc_the_etymidian : public CreatureScript
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -639,7 +639,7 @@ class npc_the_etymidian : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -695,7 +695,7 @@ class npc_the_etymidian : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_the_etymidianAI(creature);
}
@@ -713,7 +713,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
{
npc_alexstraza_the_lifebinderAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
timer = 0;
phase = 0;
@@ -721,7 +721,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
orphanGUID = 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
// Existing SmartAI
if (type == 0)
@@ -738,7 +738,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
@@ -761,7 +761,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -856,7 +856,7 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_alexstraza_the_lifebinderAI(creature);
}
@@ -933,7 +933,7 @@ class npc_cw_area_trigger : public CreatureScript
me->SetDisplayId(DISPLAY_INVISIBLE);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who && me->GetDistance2d(who) < 20.0f)
@@ -1009,7 +1009,7 @@ class npc_cw_area_trigger : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_cw_area_triggerAI(creature);
}
@@ -1030,7 +1030,7 @@ class npc_grizzlemaw_cw_trigger : public CreatureScript
me->SetDisplayId(DISPLAY_INVISIBLE);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who && who->GetDistance2d(me) < 10.0f)
@@ -1044,7 +1044,7 @@ class npc_grizzlemaw_cw_trigger : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_grizzlemaw_cw_triggerAI(creature);
}
diff --git a/src/server/scripts/Examples/example_commandscript.cpp b/src/server/scripts/Examples/example_commandscript.cpp
index eb87a58be77..8b7003c6666 100644
--- a/src/server/scripts/Examples/example_commandscript.cpp
+++ b/src/server/scripts/Examples/example_commandscript.cpp
@@ -43,7 +43,7 @@ class example_commandscript : public CommandScript
return true;
}
- ChatCommand* GetCommands() const OVERRIDE
+ ChatCommand* GetCommands() const override
{
static ChatCommand HelloWorldCommandTable[] =
{
diff --git a/src/server/scripts/Examples/example_creature.cpp b/src/server/scripts/Examples/example_creature.cpp
index 1ef0290af53..d573241137f 100644
--- a/src/server/scripts/Examples/example_creature.cpp
+++ b/src/server/scripts/Examples/example_creature.cpp
@@ -111,7 +111,7 @@ class example_creature : public CreatureScript
// *** HANDLED FUNCTION ***
//This is called after spawn and whenever the core decides we need to evade
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiPhase = 1; // Start in phase 1
m_uiPhaseTimer = 60000; // 60 seconds
@@ -125,7 +125,7 @@ class example_creature : public CreatureScript
// *** HANDLED FUNCTION ***
// Enter Combat called once per combat
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
//Say some stuff
Talk(SAY_AGGRO, who);
@@ -134,21 +134,21 @@ class example_creature : public CreatureScript
// *** HANDLED FUNCTION ***
// Attack Start is called when victim change (including at start of combat)
// By default, attack who and start movement toward the victim.
- //void AttackStart(Unit* who) OVERRIDE
+ //void AttackStart(Unit* who) override
//{
// ScriptedAI::AttackStart(who);
//}
// *** HANDLED FUNCTION ***
// Called when going out of combat. Reset is called just after.
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
Talk(SAY_EVADE);
}
// *** HANDLED FUNCTION ***
//Our Receive emote function
- void ReceiveEmote(Player* /*player*/, uint32 uiTextEmote) OVERRIDE
+ void ReceiveEmote(Player* /*player*/, uint32 uiTextEmote) override
{
me->HandleEmoteCommand(uiTextEmote);
@@ -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(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Out of combat timers
if (!me->GetVictim())
@@ -262,12 +262,12 @@ class example_creature : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new example_creatureAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(907, creature->GetGUID());
@@ -275,7 +275,7 @@ class example_creature : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
diff --git a/src/server/scripts/Examples/example_escort.cpp b/src/server/scripts/Examples/example_escort.cpp
index 57fe27ad041..88188a45296 100644
--- a/src/server/scripts/Examples/example_escort.cpp
+++ b/src/server/scripts/Examples/example_escort.cpp
@@ -79,13 +79,13 @@ class example_escort : public CreatureScript
uint32 m_uiDeathCoilTimer;
uint32 m_uiChatTimer;
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
// Pure Virtual Functions (Have to be implemented)
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -108,7 +108,7 @@ class example_escort : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -119,13 +119,13 @@ class example_escort : public CreatureScript
Talk(SAY_AGGRO2);
}
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiDeathCoilTimer = 4000;
m_uiChatTimer = 4000;
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -142,7 +142,7 @@ class example_escort : public CreatureScript
Talk(SAY_DEATH_3);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Must update npc_escortAI
npc_escortAI::UpdateAI(uiDiff);
@@ -186,12 +186,12 @@ class example_escort : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new example_escortAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->TalkedToCreature(creature->GetEntry(), creature->GetGUID());
player->PrepareGossipMenu(creature, 0);
@@ -205,7 +205,7 @@ class example_escort : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
npc_escortAI* pEscortAI = CAST_AI(example_escort::example_escortAI, creature->AI());
diff --git a/src/server/scripts/Examples/example_gossip_codebox.cpp b/src/server/scripts/Examples/example_gossip_codebox.cpp
index 4ab39f429b1..801159ff6ae 100644
--- a/src/server/scripts/Examples/example_gossip_codebox.cpp
+++ b/src/server/scripts/Examples/example_gossip_codebox.cpp
@@ -55,7 +55,7 @@ class example_gossip_codebox : public CreatureScript
{
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
@@ -65,7 +65,7 @@ class example_gossip_codebox : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+2)
@@ -78,7 +78,7 @@ class example_gossip_codebox : public CreatureScript
return true;
}
- bool OnGossipSelectCode(Player* player, Creature* creature, uint32 sender, uint32 action, char const* code) OVERRIDE
+ bool OnGossipSelectCode(Player* player, Creature* creature, uint32 sender, uint32 action, char const* code) override
{
player->PlayerTalkClass->ClearMenus();
if (sender == GOSSIP_SENDER_MAIN)
diff --git a/src/server/scripts/Examples/example_misc.cpp b/src/server/scripts/Examples/example_misc.cpp
index 938a5f9e623..1cf0d1375be 100644
--- a/src/server/scripts/Examples/example_misc.cpp
+++ b/src/server/scripts/Examples/example_misc.cpp
@@ -35,7 +35,7 @@ class AT_example_areatrigger : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
player->Kill(player);
return true;
@@ -51,7 +51,7 @@ class ItemUse_example_item : public ItemScript
{
}
- bool OnUse(Player* /*player*/, Item* /*item*/, SpellCastTargets const& /*targets*/) OVERRIDE
+ bool OnUse(Player* /*player*/, Item* /*item*/, SpellCastTargets const& /*targets*/) override
{
sScriptMgr->LoadDatabase();
return true;
@@ -67,7 +67,7 @@ class GOHello_example_go_teleporter : public GameObjectScript
{
}
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
player->TeleportTo(0, 1807.07f, 336.105f, 70.3975f, 0.0f);
return false;
diff --git a/src/server/scripts/Examples/example_spell.cpp b/src/server/scripts/Examples/example_spell.cpp
index 9bf91d08ac0..9097f7cd650 100644
--- a/src/server/scripts/Examples/example_spell.cpp
+++ b/src/server/scripts/Examples/example_spell.cpp
@@ -50,7 +50,7 @@ class spell_ex_5581 : public SpellScriptLoader
// function called on server startup
// checks if script has data required for it to work
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
// check if spellid 70522 exists in dbc, we will trigger it later
if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGERED))
@@ -60,7 +60,7 @@ class spell_ex_5581 : public SpellScriptLoader
// function called just after script is added to spell
// we initialize local variables if needed
- bool Load() OVERRIDE
+ bool Load() override
{
localVariable = "we're using local variable";
localVariable2 = new char();
@@ -73,7 +73,7 @@ class spell_ex_5581 : public SpellScriptLoader
// function called just before script delete
// we free allocated memory
- void Unload() OVERRIDE
+ void Unload() override
{
delete localVariable2;
}
@@ -159,7 +159,7 @@ class spell_ex_5581 : public SpellScriptLoader
}
// register functions used in spell script - names of these functions do not matter
- void Register() OVERRIDE
+ void Register() override
{
// we're registering our functions here
BeforeCast += SpellCastFn(spell_ex_5581SpellScript::HandleBeforeCast);
@@ -192,7 +192,7 @@ class spell_ex_5581 : public SpellScriptLoader
};
// function which creates SpellScript
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ex_5581SpellScript();
}
@@ -208,7 +208,7 @@ class spell_ex_66244 : public SpellScriptLoader
PrepareAuraScript(spell_ex_66244AuraScript);
// function called on server startup
// checks if script has data required for it to work
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
// check if spellid exists in dbc, we will trigger it later
if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGERED))
@@ -218,7 +218,7 @@ class spell_ex_66244 : public SpellScriptLoader
// function called in aura constructor
// we initialize local variables if needed
- bool Load() OVERRIDE
+ bool Load() override
{
// do not load script if aura is cast by player or caster not avalible
if (Unit* caster = GetCaster())
@@ -316,7 +316,7 @@ class spell_ex_66244 : public SpellScriptLoader
}
// function registering
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_ex_66244AuraScript::HandleOnEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_ex_66244AuraScript::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -347,7 +347,7 @@ class spell_ex_66244 : public SpellScriptLoader
};
// function which creates AuraScript
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ex_66244AuraScript();
}
@@ -379,7 +379,7 @@ class spell_ex_absorb_aura : public SpellScriptLoader
}
// function registering
- void Register() OVERRIDE
+ void Register() override
{
OnEffectAbsorb += AuraEffectAbsorbFn(spell_ex_absorb_auraAuraScript::HandleOnEffectAbsorb, EFFECT_0);
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_ex_absorb_auraAuraScript::HandleAfterEffectAbsorb, EFFECT_0);
@@ -387,7 +387,7 @@ class spell_ex_absorb_aura : public SpellScriptLoader
};
// function which creates AuraScript
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ex_absorb_auraAuraScript();
}
@@ -408,14 +408,14 @@ class spell_ex_463 : public SpellScriptLoader
// in our script we allow only players to be affected
return target->GetTypeId() == TYPEID_PLAYER;
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_ex_463AuraScript::CheckAreaTarget);
}
};
// function which creates AuraScript
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ex_463AuraScript();
}
@@ -440,18 +440,18 @@ class spell_ex : public SpellScriptLoader
{
PrepareSpellScript(spell_ex_SpellScript);
- //bool Validate(SpellInfo const* spellEntry){return true;} OVERRIDE
+ //bool Validate(SpellInfo const* spellEntry){return true;} override
//bool Load(){return true;}
//void Unload(){ }
//void Function(SpellEffIndex effIndex) //OnEffect += SpellEffectFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_EFFECT_ANY);
//void Function() //OnHit += SpellEffectFn(spell_ex_SpellScript::Function);
- void Register() OVERRIDE
+ void Register() override
{
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ex_SpellScript();
}
@@ -467,7 +467,7 @@ class spell_ex : public SpellScriptLoader
class spell_ex_AuraScript : public AuraScript
{
PrepareAuraScript(spell_ex)
- //bool Validate(SpellInfo const* spellEntry){return true;} OVERRIDE
+ //bool Validate(SpellInfo const* spellEntry){return true;} override
//bool Load(){return true;}
//void Unload(){ }
@@ -478,12 +478,12 @@ class spell_ex : public SpellScriptLoader
//void spell_ex_SpellScript::Function(AuraEffect const* aurEff, int32& amount, bool& canBeRecalculated) //DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_AURA_ANY);
//void spell_ex_SpellScript::Function(AuraEffect const* aurEff, bool& isPeriodic, int32& amplitude) //OnEffectCalcPeriodic += AuraEffectCalcPeriodicFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_AURA_ANY);
//void spell_ex_SpellScript::Function(AuraEffect const* aurEff, SpellModifier*& spellMod) //OnEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_ex_SpellScript::Function, EFFECT_ANY, SPELL_AURA_ANY);
- void Register() OVERRIDE
+ void Register() override
{
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ex_AuraScript();
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index c7ef191cf8f..e7beb4cf454 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -38,7 +38,7 @@ class go_blackfathom_altar : public GameObjectScript
public:
go_blackfathom_altar() : GameObjectScript("go_blackfathom_altar") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (!player->HasAura(SPELL_BLESSING_OF_BLACKFATHOM))
player->AddAura(SPELL_BLESSING_OF_BLACKFATHOM, player);
@@ -51,7 +51,7 @@ class go_blackfathom_fire : public GameObjectScript
public:
go_blackfathom_fire() : GameObjectScript("go_blackfathom_fire") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
@@ -71,7 +71,7 @@ class npc_blackfathom_deeps_event : public CreatureScript
public:
npc_blackfathom_deeps_event() : CreatureScript("npc_blackfathom_deeps_event") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_blackfathom_deeps_eventAI>(creature);
}
@@ -97,7 +97,7 @@ public:
bool Flee;
- void Reset() OVERRIDE
+ void Reset() override
{
Flee = false;
@@ -130,7 +130,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -179,7 +179,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->IsSummon()) //we are not a normal spawn.
instance->SetData(DATA_EVENT, instance->GetData(DATA_EVENT) + 1);
@@ -207,7 +207,7 @@ public:
Start(false, false, 0);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -220,13 +220,13 @@ public:
}
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
DoCast(player, SPELL_TELEPORT_DARNASSUS);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_morriduneAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
index dfff92b8f05..f6c34c6b555 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
@@ -40,24 +40,24 @@ public:
{
boss_aku_maiAI(Creature* creature) : BossAI(creature, TYPE_AKU_MAI) { }
- void Reset() OVERRIDE
+ void Reset() override
{
IsEnraged = false;
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_POISON_CLOUD, urand(5000, 9000));
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -90,7 +90,7 @@ public:
bool IsEnraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_aku_maiAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
index 8d2ced59276..9e25de817fa 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
@@ -29,7 +29,7 @@ class boss_gelihast : public CreatureScript
public:
boss_gelihast() : CreatureScript("boss_gelihast") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gelihastAI>(creature);
}
@@ -45,23 +45,23 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
netTimer = urand(2000, 4000);
instance->SetData(TYPE_GELIHAST, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(TYPE_GELIHAST, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_GELIHAST, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
index 3ded27bd42a..37fac0fa7de 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
@@ -34,7 +34,7 @@ class boss_kelris : public CreatureScript
public:
boss_kelris() : CreatureScript("boss_kelris") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kelrisAI>(creature);
}
@@ -51,26 +51,26 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
mindBlastTimer = urand(2000, 5000);
sleepTimer = urand(9000, 12000);
instance->SetData(TYPE_KELRIS, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(TYPE_KELRIS, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(TYPE_KELRIS, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 2c9c94d9724..940da4fcf52 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -57,7 +57,7 @@ class instance_blackfathom_deeps : public InstanceMapScript
public:
instance_blackfathom_deeps() : InstanceMapScript("instance_blackfathom_deeps", 48) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_blackfathom_deeps_InstanceMapScript(map);
}
@@ -79,7 +79,7 @@ public:
uint8 countFires;
uint8 deathTimes;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&encounter, 0, sizeof(encounter));
@@ -95,7 +95,7 @@ public:
deathTimes = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -108,7 +108,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -142,7 +142,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -212,7 +212,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -233,7 +233,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
diff --git a/src/server/scripts/Kalimdor/CMakeLists.txt b/src/server/scripts/Kalimdor/CMakeLists.txt
index 26a57727d73..d52a9aca48b 100644
--- a/src/server/scripts/Kalimdor/CMakeLists.txt
+++ b/src/server/scripts/Kalimdor/CMakeLists.txt
@@ -106,7 +106,6 @@ set(scripts_STAT_SRCS
Kalimdor/WailingCaverns/wailing_caverns.cpp
Kalimdor/zone_durotar.cpp
Kalimdor/zone_felwood.cpp
- Kalimdor/boss_azuregos.cpp
Kalimdor/zone_tanaris.cpp
Kalimdor/zone_dustwallow_marsh.cpp
Kalimdor/zone_winterspring.cpp
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index c7803f23e1b..ebe9939390f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -45,7 +45,7 @@ class boss_anetheron : public CreatureScript
public:
boss_anetheron() : CreatureScript("boss_anetheron") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_anetheronAI>(creature);
}
@@ -64,7 +64,7 @@ public:
uint32 InfernoTimer;
bool go;
- void Reset() OVERRIDE
+ void Reset() override
{
damageTaken = 0;
SwarmTimer = 45000;
@@ -76,7 +76,7 @@ public:
instance->SetData(DATA_ANETHERONEVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (IsEvent)
instance->SetData(DATA_ANETHERONEVENT, IN_PROGRESS);
@@ -84,13 +84,13 @@ public:
Talk(SAY_ONAGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_ONSLAY);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7)
{
@@ -100,7 +100,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
hyjal_trashAI::JustDied(killer);
if (IsEvent)
@@ -108,7 +108,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsEvent)
{
@@ -176,7 +176,7 @@ class npc_towering_infernal : public CreatureScript
public:
npc_towering_infernal() : CreatureScript("npc_towering_infernal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_towering_infernalAI>(creature);
}
@@ -185,6 +185,8 @@ public:
{
npc_towering_infernalAI(Creature* creature) : ScriptedAI(creature)
{
+ ImmolationTimer = 5000;
+ CheckTimer = 5000;
instance = creature->GetInstanceScript();
AnetheronGUID = instance->GetData64(DATA_ANETHERON);
}
@@ -194,33 +196,33 @@ public:
uint64 AnetheronGUID;
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_INFERNO_EFFECT);
ImmolationTimer = 5000;
CheckTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->IsWithinDist(who, 50) && !me->IsInCombat() && me->IsValidAttackTarget(who))
AttackStart(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 4fa9af466b1..c0f3ea35004 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -81,7 +81,7 @@ class npc_ancient_wisp : public CreatureScript
public:
npc_ancient_wisp() : CreatureScript("npc_ancient_wisp") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ancient_wispAI>(creature);
}
@@ -98,7 +98,7 @@ public:
uint64 ArchimondeGUID;
uint32 CheckTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CheckTimer = 1000;
@@ -107,14 +107,14 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
damage = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CheckTimer <= diff)
{
@@ -138,7 +138,7 @@ class npc_doomfire : public CreatureScript
public:
npc_doomfire() : CreatureScript("npc_doomfire") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_doomfireAI(creature);
}
@@ -147,13 +147,13 @@ public:
{
npc_doomfireAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
damage = 0;
}
@@ -167,7 +167,7 @@ class npc_doomfire_targetting : public CreatureScript
public:
npc_doomfire_targetting() : CreatureScript("npc_doomfire_targetting") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_doomfire_targettingAI(creature);
}
@@ -179,13 +179,13 @@ public:
uint64 TargetGUID;
uint32 ChangeTargetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
TargetGUID = 0;
ChangeTargetTimer = 5000;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
//will update once TargetGUID is 0. In case noone actually moves(not likely) and this is 0
@@ -194,14 +194,14 @@ public:
TargetGUID = who->GetGUID();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
damage = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (ChangeTargetTimer <= diff)
{
@@ -212,8 +212,7 @@ public:
}
else
{
- Position pos;
- me->GetRandomNearPosition(pos, 40);
+ Position pos = me->GetRandomNearPosition(40);
me->GetMotionMaster()->MovePoint(0, pos.m_positionX, pos.m_positionY, pos.m_positionZ);
}
@@ -236,7 +235,7 @@ class boss_archimonde : public CreatureScript
public:
boss_archimonde() : CreatureScript("boss_archimonde") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_archimondeAI>(creature);
}
@@ -272,7 +271,7 @@ public:
bool HasProtected;
bool IsChanneling;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetData(DATA_ARCHIMONDEEVENT, NOT_STARTED);
@@ -300,7 +299,7 @@ public:
IsChanneling = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
Talk(SAY_AGGRO);
@@ -309,7 +308,7 @@ public:
instance->SetData(DATA_ARCHIMONDEEVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
Talk(SAY_SLAY);
@@ -342,7 +341,7 @@ public:
++SoulChargeCount;
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
hyjal_trashAI::JustDied(killer);
Talk(SAY_DEATH);
@@ -386,7 +385,7 @@ public:
return false;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == CREATURE_ANCIENT_WISP)
summoned->AI()->AttackStart(me);
@@ -463,7 +462,7 @@ public:
SoulChargeTimer = urand(2000, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
{
@@ -631,7 +630,7 @@ public:
DoMeleeAttackIfReady();
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE { }
+ void WaypointReached(uint32 /*waypointId*/) override { }
};
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index 4decce7482f..d7c48541315 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -46,7 +46,7 @@ class boss_azgalor : public CreatureScript
public:
boss_azgalor() : CreatureScript("boss_azgalor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_azgalorAI>(creature);
}
@@ -68,7 +68,7 @@ public:
bool go;
- void Reset() OVERRIDE
+ void Reset() override
{
damageTaken = 0;
RainTimer = 20000;
@@ -82,7 +82,7 @@ public:
instance->SetData(DATA_AZGALOREVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (IsEvent)
instance->SetData(DATA_AZGALOREVENT, IN_PROGRESS);
@@ -90,12 +90,12 @@ public:
Talk(SAY_ONAGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ONSLAY);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && instance)
{
@@ -105,7 +105,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
hyjal_trashAI::JustDied(killer);
if (IsEvent)
@@ -113,7 +113,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsEvent)
{
@@ -182,7 +182,7 @@ class npc_lesser_doomguard : public CreatureScript
public:
npc_lesser_doomguard() : CreatureScript("npc_lesser_doomguard") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_lesser_doomguardAI>(creature);
}
@@ -191,6 +191,9 @@ public:
{
npc_lesser_doomguardAI(Creature* creature) : hyjal_trashAI(creature)
{
+ CrippleTimer = 50000;
+ WarstompTimer = 10000;
+ CheckTimer = 5000;
instance = creature->GetInstanceScript();
AzgalorGUID = instance->GetData64(DATA_AZGALOR);
}
@@ -201,7 +204,7 @@ public:
uint64 AzgalorGUID;
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
CrippleTimer = 50000;
WarstompTimer = 10000;
@@ -209,30 +212,30 @@ public:
CheckTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE
+ void WaypointReached(uint32 /*waypointId*/) override
{
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->IsWithinDist(who, 50) && !me->IsInCombat() && me->IsValidAttackTarget(who))
AttackStart(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 6a9f34d4fc2..235b27dfb10 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -47,7 +47,7 @@ class boss_kazrogal : public CreatureScript
public:
boss_kazrogal() : CreatureScript("boss_kazrogal") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kazrogalAI>(creature);
}
@@ -66,7 +66,7 @@ public:
uint32 MarkTimerBase;
bool go;
- void Reset() OVERRIDE
+ void Reset() override
{
damageTaken = 0;
CleaveTimer = 5000;
@@ -78,19 +78,19 @@ public:
instance->SetData(DATA_KAZROGALEVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (IsEvent)
instance->SetData(DATA_KAZROGALEVENT, IN_PROGRESS);
Talk(SAY_ONAGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ONSLAY);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && instance)
{
@@ -100,7 +100,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
hyjal_trashAI::JustDied(killer);
if (IsEvent)
@@ -108,7 +108,7 @@ public:
DoPlaySoundToSet(me, SOUND_ONDEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsEvent)
{
@@ -188,7 +188,7 @@ class spell_mark_of_kazrogal : public SpellScriptLoader
targets.remove_if(MarkTargetFilter());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mark_of_kazrogal_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
@@ -198,7 +198,7 @@ class spell_mark_of_kazrogal : public SpellScriptLoader
{
PrepareAuraScript(spell_mark_of_kazrogal_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MARK_DAMAGE))
return false;
@@ -217,18 +217,18 @@ class spell_mark_of_kazrogal : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mark_of_kazrogal_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_MANA_LEECH);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mark_of_kazrogal_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mark_of_kazrogal_AuraScript();
}
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 691207a4682..21fe3ab946b 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
@@ -42,7 +42,7 @@ class boss_rage_winterchill : public CreatureScript
public:
boss_rage_winterchill() : CreatureScript("boss_rage_winterchill") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_rage_winterchillAI>(creature);
}
@@ -61,7 +61,7 @@ public:
uint32 IceboltTimer;
bool go;
- void Reset() OVERRIDE
+ void Reset() override
{
damageTaken = 0;
FrostArmorTimer = 37000;
@@ -73,19 +73,19 @@ public:
instance->SetData(DATA_RAGEWINTERCHILLEVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (IsEvent)
instance->SetData(DATA_RAGEWINTERCHILLEVENT, IN_PROGRESS);
Talk(SAY_ONAGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ONSLAY);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && instance)
{
@@ -95,7 +95,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
hyjal_trashAI::JustDied(killer);
if (IsEvent)
@@ -103,7 +103,7 @@ public:
Talk(SAY_ONDEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsEvent)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
index 4419973902a..ede038863fc 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
@@ -53,7 +53,7 @@ class npc_jaina_proudmoore : public CreatureScript
public:
npc_jaina_proudmoore() : CreatureScript("npc_jaina_proudmoore") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
hyjalAI* ai = CAST_AI(hyjalAI, creature->AI());
@@ -78,7 +78,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
hyjalAI* ai = CAST_AI(hyjalAI, creature->AI());
if (ai->EventBegun)
@@ -100,7 +100,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
if (!creature->GetInstanceScript())
return NULL;
@@ -132,7 +132,7 @@ class npc_thrall : public CreatureScript
public:
npc_thrall() : CreatureScript("npc_thrall") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
hyjalAI* ai = CAST_AI(hyjalAI, creature->AI());
@@ -158,7 +158,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
hyjalAI* ai = CAST_AI(hyjalAI, creature->AI());
if (ai->EventBegun)
@@ -185,7 +185,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
if (!creature->GetInstanceScript())
return NULL;
@@ -213,7 +213,7 @@ class npc_tyrande_whisperwind : public CreatureScript
public:
npc_tyrande_whisperwind() : CreatureScript("npc_tyrande_whisperwind") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
if (!creature->GetInstanceScript())
return NULL;
@@ -224,7 +224,7 @@ public:
return ai;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -240,7 +240,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
hyjalAI* ai = CAST_AI(hyjalAI, creature->AI());
uint32 AzgalorEvent = ai->GetInstanceData(DATA_AZGALOREVENT);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index cbace6df028..038b7ab69ce 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -432,16 +432,16 @@ public:
uint32 FlameBuffetTimer;
bool imol;
- void Reset() OVERRIDE
+ void Reset() override
{
spawnTimer = 2000;
FlameBuffetTimer= 2000;
imol = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 0 && !IsOverrun)
{
@@ -454,7 +454,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Delay <= diff)
{
@@ -525,7 +525,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_giant_infernalAI>(creature);
}
@@ -536,7 +536,7 @@ class npc_abomination : public CreatureScript
public:
npc_abomination() : CreatureScript("npc_abomination") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_abominationAI>(creature);
}
@@ -552,12 +552,12 @@ public:
bool go;
uint32 KnockDownTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
KnockDownTimer = 10000;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -584,9 +584,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -631,7 +631,7 @@ class npc_ghoul : public CreatureScript
public:
npc_ghoul() : CreatureScript("npc_ghoul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ghoulAI>(creature);
}
@@ -649,14 +649,14 @@ public:
uint32 FrenzyTimer;
uint32 MoveTimer;
bool RandomMove;
- void Reset() OVERRIDE
+ void Reset() override
{
FrenzyTimer = 5000+rand()%5000;
MoveTimer = 2000;
RandomMove = false;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -684,9 +684,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -730,7 +730,7 @@ class npc_necromancer : public CreatureScript
public:
npc_necromancer() : CreatureScript("npc_necromancer") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_necromancerAI>(creature);
}
@@ -748,13 +748,13 @@ public:
bool go;
uint32 ShadowBoltTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBoltTimer = 1000+rand()%5000;
summons.DespawnAll();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30, true);
if (target)
@@ -762,12 +762,12 @@ public:
summons.Summon(summon);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
summons.Despawn(summon);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -786,7 +786,7 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
switch (urand(0, 2))
{
@@ -804,9 +804,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
@@ -854,7 +854,7 @@ class npc_banshee : public CreatureScript
public:
npc_banshee() : CreatureScript("npc_banshee") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_bansheeAI>(creature);
}
@@ -873,14 +873,14 @@ public:
uint32 WailTimer;
uint32 ShellTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CourseTimer = 20000+rand()%5000;
WailTimer = 15000+rand()%5000;
ShellTimer = 50000+rand()%10000;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -899,9 +899,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -954,7 +954,7 @@ class npc_crypt_fiend : public CreatureScript
public:
npc_crypt_fiend() : CreatureScript("npc_crypt_fiend") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_crypt_fiendAI>(creature);
}
@@ -971,12 +971,12 @@ public:
bool go;
uint32 WebTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
WebTimer = 20000+rand()%5000;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -995,9 +995,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1040,7 +1040,7 @@ class npc_fel_stalker : public CreatureScript
public:
npc_fel_stalker() : CreatureScript("npc_fel_stalker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_fel_stalkerAI>(creature);
}
@@ -1057,12 +1057,12 @@ public:
bool go;
uint32 ManaBurnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ManaBurnTimer = 9000+rand()%5000;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 7 && !IsOverrun)
{
@@ -1081,9 +1081,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
if (IsEvent || IsOverrun)
@@ -1126,7 +1126,7 @@ class npc_frost_wyrm : public CreatureScript
public:
npc_frost_wyrm() : CreatureScript("npc_frost_wyrm") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_frost_wyrmAI>(creature);
}
@@ -1144,14 +1144,14 @@ public:
uint32 FrostBreathTimer;
uint32 MoveTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
FrostBreathTimer = 5000;
MoveTimer = 0;
me->SetDisableGravity(true);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 2 && !IsOverrun)
{
@@ -1164,7 +1164,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (IsEvent)
instance->SetData(DATA_TRASH, 0);//signal trash is dead
@@ -1176,9 +1176,9 @@ public:
me->SetPosition(x, y, z, 0);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
@@ -1241,7 +1241,7 @@ class npc_gargoyle : public CreatureScript
public:
npc_gargoyle() : CreatureScript("npc_gargoyle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_gargoyleAI>(creature);
}
@@ -1263,7 +1263,7 @@ public:
float Zpos;
bool forcemove;
- void Reset() OVERRIDE
+ void Reset() override
{
forcemove = true;
Zpos = 10.0f;
@@ -1272,7 +1272,7 @@ public:
me->SetDisableGravity(true);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 2 && !IsOverrun)
{
@@ -1285,7 +1285,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
float x, y, z;
me->GetPosition(x, y, z);
@@ -1295,7 +1295,7 @@ public:
hyjal_trashAI::JustDied(killer);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
hyjal_trashAI::UpdateAI(diff);
@@ -1351,7 +1351,7 @@ public:
if (MoveTimer <= diff)
{
float x, y, z;
- me->GetVictim()->GetPosition(x, y, z);
+ me->EnsureVictim()->GetPosition(x, y, z);
me->GetMotionMaster()->MovePoint(0, x, y, z+Zpos);
Zpos -= 1.0f;
if (Zpos <= 0)
@@ -1379,7 +1379,7 @@ class alliance_rifleman : public CreatureScript
public:
alliance_rifleman() : CreatureScript("alliance_rifleman") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new alliance_riflemanAI(creature);
}
@@ -1393,16 +1393,16 @@ public:
uint32 ExplodeTimer;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
ExplodeTimer = 5000+rand()%5000;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || me->GetVictim())
@@ -1416,11 +1416,11 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index 52a5f0bc0ed..b0a1856f45f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -49,7 +49,7 @@ class instance_hyjal : public InstanceMapScript
public:
instance_hyjal() : InstanceMapScript("instance_hyjal", 534) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_mount_hyjal_InstanceMapScript(map);
}
@@ -58,7 +58,7 @@ public:
{
instance_mount_hyjal_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -82,7 +82,7 @@ public:
ArchiYell = false;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < EncounterCount; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -91,7 +91,7 @@ public:
return false;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -115,7 +115,7 @@ public:
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -130,7 +130,7 @@ public:
}
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -147,7 +147,7 @@ public:
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -268,7 +268,7 @@ public:
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -285,12 +285,12 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
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 a03bfb3082b..44e1067498d 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
@@ -50,7 +50,7 @@ class boss_epoch : public CreatureScript
public:
boss_epoch() : CreatureScript("boss_epoch") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_epochAI>(creature);
}
@@ -72,7 +72,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiStep = 1;
uiStepTimer = 26000;
@@ -84,14 +84,14 @@ public:
instance->SetData(DATA_EPOCH_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_EPOCH_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -126,14 +126,14 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_EPOCH_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
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 c3427c99fbb..f3333c0b0b6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
@@ -37,7 +37,7 @@ class boss_infinite_corruptor : public CreatureScript
public:
boss_infinite_corruptor() : CreatureScript("boss_infinite_corruptor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_infinite_corruptorAI>(creature);
}
@@ -51,18 +51,18 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetData(DATA_INFINITE_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_INFINITE_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -71,7 +71,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_INFINITE_EVENT, DONE);
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 7c0169cda95..6d36a933687 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -64,7 +64,7 @@ class boss_mal_ganis : public CreatureScript
public:
boss_mal_ganis() : CreatureScript("boss_mal_ganis") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_mal_ganisAI>(creature);
}
@@ -91,7 +91,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
bYelled = false;
bYelled2 = false;
@@ -105,19 +105,19 @@ public:
instance->SetData(DATA_MAL_GANIS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_MAL_GANIS_EVENT, IN_PROGRESS);
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (damage >= me->GetHealth() && done_by != me)
damage = me->GetHealth()-1;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
switch (Phase)
{
@@ -223,7 +223,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_MAL_GANIS_EVENT, DONE);
DoCastAOE(SPELL_MAL_GANIS_KILL_CREDIT);
@@ -231,7 +231,7 @@ public:
DoCastAOE(SPELL_KILL_CREDIT);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index b4bf6a30140..4c26b30947f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -49,7 +49,7 @@ class boss_meathook : public CreatureScript
public:
boss_meathook() : CreatureScript("boss_meathook") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_meathookAI>(creature);
}
@@ -68,7 +68,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChainTimer = urand(12000, 17000); //seen on video 13, 17, 15, 12, 16
uiDiseaseTimer = urand(2000, 4000); //approx 3s
@@ -77,14 +77,14 @@ public:
instance->SetData(DATA_MEATHOOK_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_MEATHOOK_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -112,14 +112,14 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_MEATHOOK_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
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 5d9477a1b45..7c299b1feaa 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
@@ -54,7 +54,7 @@ class boss_salramm : public CreatureScript
public:
boss_salramm() : CreatureScript("boss_salramm") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_salrammAI>(creature);
}
@@ -75,7 +75,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiCurseFleshTimer = 30000; //30s DBM
uiExplodeGhoulTimer = urand(25000, 28000); //approx 6 sec after summon ghouls
@@ -86,14 +86,14 @@ public:
instance->SetData(DATA_SALRAMM_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_SALRAMM_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -135,14 +135,14 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_SALRAMM_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
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 60352f7d55c..0e6d60395d8 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -255,7 +255,7 @@ class npc_arthas : public CreatureScript
public:
npc_arthas() : CreatureScript("npc_arthas") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
npc_arthasAI* ai = CAST_AI(npc_arthas::npc_arthasAI, creature->AI());
@@ -298,7 +298,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
npc_arthasAI* ai = CAST_AI(npc_arthas::npc_arthasAI, creature->AI());
@@ -342,7 +342,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_arthasAI>(creature);
}
@@ -379,7 +379,7 @@ public:
uint32 exorcismTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
utherGUID = 0;
jainaGUID = 0;
@@ -415,12 +415,12 @@ public:
wave = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_ARTHAS_AURA);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ARTHAS_EVENT, FAIL);
}
@@ -467,7 +467,7 @@ public:
++step;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -585,7 +585,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -856,7 +856,7 @@ public:
if (!pZombie)
pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN2, 100.0f);
if (pZombie)
- pZombie->UpdateEntry(NPC_ZOMBIE, 0);
+ pZombie->UpdateEntry(NPC_ZOMBIE);
else //There's no one else to transform
step++;
}
@@ -1017,7 +1017,7 @@ public:
case 68:
if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2]))
{
- disguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0);
+ disguised2->UpdateEntry(NPC_INFINITE_HUNTER);
//Make them unattackable
disguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised2->SetReactState(REACT_PASSIVE);
@@ -1027,7 +1027,7 @@ public:
case 69:
if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1]))
{
- disguised1->UpdateEntry(NPC_INFINITE_AGENT, 0);
+ disguised1->UpdateEntry(NPC_INFINITE_AGENT);
//Make them unattackable
disguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised1->SetReactState(REACT_PASSIVE);
@@ -1037,7 +1037,7 @@ public:
case 70:
if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
{
- disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0);
+ disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY);
//Make them unattackable
disguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised0->SetReactState(REACT_PASSIVE);
@@ -1222,7 +1222,7 @@ class npc_crate_helper : public CreatureScript
_marked = false;
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ARCANE_DISRUPTION && !_marked)
{
@@ -1241,7 +1241,7 @@ class npc_crate_helper : public CreatureScript
bool _marked;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_crate_helperAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
index 9e192d2e1a2..dbd844aa34c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
@@ -45,7 +45,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
public:
instance_culling_of_stratholme() : InstanceMapScript("instance_culling_of_stratholme", 595) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_culling_of_stratholme_InstanceMapScript(map);
}
@@ -70,7 +70,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
_crateCount = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (_encounterState[i] == IN_PROGRESS)
@@ -79,7 +79,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
return false;
}
- void FillInitialWorldStates(WorldPacket& data) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& data) override
{
data << uint32(WORLDSTATE_SHOW_CRATES) << uint32(1);
data << uint32(WORLDSTATE_CRATES_REVEALED) << uint32(_crateCount);
@@ -88,7 +88,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
data << uint32(WORLDSTATE_TIME_GUARDIAN_SHOW) << uint32(0);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -116,7 +116,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -143,7 +143,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -197,7 +197,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
SaveToDB();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -217,7 +217,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -247,7 +247,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -259,7 +259,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
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 5b1db051a56..b63075b681a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
@@ -52,7 +52,7 @@ class boss_captain_skarloc : public CreatureScript
public:
boss_captain_skarloc() : CreatureScript("boss_captain_skarloc") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_captain_skarlocAI>(creature);
}
@@ -73,7 +73,7 @@ public:
uint32 DevotionAura_Timer;
uint32 Consecration_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Holy_Light_Timer = urand(20000, 30000);
Cleanse_Timer = 10000;
@@ -83,19 +83,19 @@ public:
Consecration_Timer = 8000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
//This is not correct. Should taunt Thrall before engage in combat
Talk(SAY_TAUNT1);
Talk(SAY_TAUNT2);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -103,7 +103,7 @@ public:
instance->SetData(TYPE_THRALL_PART1, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 4d75bc0545c..4192feb52a7 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
@@ -50,7 +50,7 @@ class boss_epoch_hunter : public CreatureScript
public:
boss_epoch_hunter() : CreatureScript("boss_epoch_hunter") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_epoch_hunterAI>(creature);
}
@@ -69,7 +69,7 @@ public:
uint32 WingBuffet_Timer;
uint32 Mda_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
SandBreath_Timer = urand(8000, 16000);
ImpendingDeath_Timer = urand(25000, 30000);
@@ -77,17 +77,17 @@ public:
Mda_Timer = 40000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -95,7 +95,7 @@ public:
instance->SetData(TYPE_THRALL_PART4, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 7ca850e8754..a6f1cdd5b0b 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
@@ -37,7 +37,7 @@ class go_barrel_old_hillsbrad : public GameObjectScript
public:
go_barrel_old_hillsbrad() : GameObjectScript("go_barrel_old_hillsbrad") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
{
@@ -107,7 +107,7 @@ class boss_lieutenant_drake : public CreatureScript
public:
boss_lieutenant_drake() : CreatureScript("boss_lieutenant_drake") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lieutenant_drakeAI(creature);
}
@@ -124,7 +124,7 @@ public:
uint32 MortalStrike_Timer;
uint32 ExplodingShout_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
CanPatrol = true;
wpId = 0;
@@ -135,22 +135,22 @@ public:
ExplodingShout_Timer = 25000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
/// @todo make this work
if (CanPatrol && wpId == 0)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
index 47317b0a13e..6fc36663c2a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
@@ -45,7 +45,7 @@ class instance_old_hillsbrad : public InstanceMapScript
public:
instance_old_hillsbrad() : InstanceMapScript("instance_old_hillsbrad", 560) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_old_hillsbrad_InstanceMapScript(map);
}
@@ -62,7 +62,7 @@ public:
uint64 TarethaGUID;
uint64 EpochGUID;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -104,7 +104,7 @@ public:
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -120,7 +120,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
Player* player = GetPlayerInMap();
@@ -203,7 +203,7 @@ public:
}
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
switch (data)
{
@@ -223,7 +223,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index bf902ba403c..f6ff1719391 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -56,7 +56,7 @@ class npc_erozion : public CreatureScript
public:
npc_erozion() : CreatureScript("npc_erozion") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -76,7 +76,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -185,12 +185,12 @@ class npc_thrall_old_hillsbrad : public CreatureScript
public:
npc_thrall_old_hillsbrad() : CreatureScript("npc_thrall_old_hillsbrad") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_thrall_old_hillsbradAI>(creature);
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
InstanceScript* instance = creature->GetInstanceScript();
@@ -240,7 +240,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
{
@@ -288,7 +288,7 @@ public:
bool LowHp;
bool HadMount;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -454,7 +454,7 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
LowHp = false;
@@ -489,7 +489,7 @@ public:
me->Dismount();
me->SetSpeed(MOVE_RUN, SPEED_RUN);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_TH_RANDOM_AGGRO);
if (me->IsMounted())
@@ -499,7 +499,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -516,11 +516,11 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_TH_RANDOM_KILL);
}
- void JustDied(Unit* slayer) OVERRIDE
+ void JustDied(Unit* slayer) override
{
instance->SetData(TYPE_THRALL_EVENT, FAIL);
@@ -531,7 +531,7 @@ public:
Talk(SAY_TH_RANDOM_DIE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -566,12 +566,12 @@ class npc_taretha : public CreatureScript
public:
npc_taretha() : CreatureScript("npc_taretha") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_tarethaAI>(creature);
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
InstanceScript* instance = creature->GetInstanceScript();
@@ -597,7 +597,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (instance->GetData(TYPE_THRALL_PART3) == DONE && instance->GetData(TYPE_THRALL_PART4) == NOT_STARTED)
@@ -617,7 +617,7 @@ public:
InstanceScript* instance;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -630,10 +630,10 @@ public:
}
}
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
index bf11d781a0c..4a2b3d650d6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
@@ -59,9 +59,9 @@ public:
{
boss_aeonusAI(Creature* creature) : BossAI(creature, TYPE_AEONUS) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SANDBREATH, urand(15000, 30000));
events.ScheduleEvent(EVENT_TIMESTOP, urand(10000, 15000));
@@ -70,7 +70,7 @@ public:
Talk(SAY_AGGRO);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
//Despawn Time Keeper
@@ -86,7 +86,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -94,13 +94,13 @@ public:
instance->SetData(TYPE_MEDIVH, DONE); // FIXME: later should be removed
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -136,7 +136,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_aeonusAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
index 251c1b14e9b..4c69efa6ca7 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
@@ -60,9 +60,9 @@ public:
{
boss_chrono_lord_dejaAI(Creature* creature) : BossAI(creature, TYPE_CRONO_LORD_DEJA) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_ARCANE_BLAST, urand(18000, 23000));
events.ScheduleEvent(EVENT_TIME_LAPSE, urand(10000, 15000));
@@ -73,7 +73,7 @@ public:
Talk(SAY_AGGRO);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
//Despawn Time Keeper
@@ -89,19 +89,19 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(TYPE_RIFT, SPECIAL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -142,7 +142,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_chrono_lord_dejaAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
index fcd3cc92604..e83c290e010 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
@@ -59,9 +59,9 @@ public:
{
boss_temporusAI(Creature* creature) : BossAI(creature, TYPE_TEMPORUS) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_HASTE, urand(15000, 23000));
events.ScheduleEvent(EVENT_MORTAL_WOUND, 8000);
@@ -72,19 +72,19 @@ public:
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(TYPE_RIFT, SPECIAL);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
//Despawn Time Keeper
@@ -101,7 +101,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -140,7 +140,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_temporusAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
index e5920084033..cf3eff4732c 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
@@ -73,7 +73,7 @@ class instance_the_black_morass : public InstanceMapScript
public:
instance_the_black_morass() : InstanceMapScript("instance_the_black_morass", 269) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_black_morass_InstanceMapScript(map);
}
@@ -92,7 +92,7 @@ public:
uint64 _medivhGUID;
uint8 _currentRiftId;
- void Initialize() OVERRIDE
+ void Initialize() override
{
_medivhGUID = 0;
Clear();
@@ -117,7 +117,7 @@ public:
DoUpdateWorldState(WORLD_STATE_BM_RIFT, 0);
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
if (GetData(TYPE_MEDIVH) == IN_PROGRESS)
return true;
@@ -125,7 +125,7 @@ public:
return false;
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (GetData(TYPE_MEDIVH) == IN_PROGRESS)
return;
@@ -133,7 +133,7 @@ public:
player->SendUpdateWorldState(WORLD_STATE_BM, 0);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (creature->GetEntry() == NPC_MEDIVH)
_medivhGUID = creature->GetGUID();
@@ -165,7 +165,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -236,7 +236,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -252,7 +252,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
if (data == DATA_MEDIVH)
return _medivhGUID;
@@ -269,8 +269,7 @@ public:
TC_LOG_DEBUG("scripts", "Instance The Black Morass: Summoning rift boss entry %u.", entry);
- Position pos;
- me->GetRandomNearPosition(pos, 10.0f);
+ Position pos = me->GetRandomNearPosition(10.0f);
//normalize Z-level if we can, if rift is not at ground level.
pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY));
@@ -317,7 +316,7 @@ public:
}
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (m_auiEncounter[1] != IN_PROGRESS)
return;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
index 58bda23fb36..a1c4f057161 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -68,7 +68,7 @@ class npc_medivh_bm : public CreatureScript
public:
npc_medivh_bm() : CreatureScript("npc_medivh_bm") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_medivh_bmAI>(creature);
}
@@ -89,7 +89,7 @@ public:
bool Life50;
bool Life25;
- void Reset() OVERRIDE
+ void Reset() override
{
SpellCorrupt_Timer = 0;
Check_Timer = 0;
@@ -105,7 +105,7 @@ public:
DoCast(me, SPELL_PORTAL_RUNE, true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 10.0f))
{
@@ -136,7 +136,7 @@ public:
}
}
- void AttackStart(Unit* /*who*/) OVERRIDE
+ void AttackStart(Unit* /*who*/) override
{
//if (instance->GetData(TYPE_MEDIVH) == IN_PROGRESS)
// return;
@@ -144,9 +144,9 @@ public:
//ScriptedAI::AttackStart(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (SpellCorrupt_Timer)
return;
@@ -158,7 +158,7 @@ public:
SpellCorrupt_Timer = 3000;
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer->GetEntry() == me->GetEntry())
return;
@@ -166,7 +166,7 @@ public:
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (SpellCorrupt_Timer)
{
@@ -256,7 +256,7 @@ class npc_time_rift : public CreatureScript
public:
npc_time_rift() : CreatureScript("npc_time_rift") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_time_riftAI>(creature);
}
@@ -275,7 +275,7 @@ public:
uint8 mPortalCount;
uint8 mWaveId;
- void Reset() OVERRIDE
+ void Reset() override
{
TimeRiftWave_Timer = 15000;
@@ -290,7 +290,7 @@ public:
else mWaveId = 1;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void DoSummonAtRift(uint32 creature_entry)
{
@@ -304,8 +304,7 @@ public:
return;
}
- Position pos;
- me->GetRandomNearPosition(pos, 10.0f);
+ Position pos = me->GetRandomNearPosition(10.0f);
//normalize Z-level if we can, if rift is not at ground level.
pos.m_positionZ = std::max(me->GetMap()->GetHeight(pos.m_positionX, pos.m_positionY, MAX_HEIGHT), me->GetMap()->GetWaterLevel(pos.m_positionX, pos.m_positionY));
@@ -334,7 +333,7 @@ public:
} else DoSummonAtRift(entry);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (TimeRiftWave_Timer <= diff)
{
@@ -368,7 +367,7 @@ class npc_saat : public CreatureScript
public:
npc_saat() : CreatureScript("npc_saat") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -379,7 +378,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
index 160495a8dc2..ff4c0e7578b 100644
--- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
+++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp
@@ -30,7 +30,7 @@ class instance_dire_maul : public InstanceMapScript
public:
instance_dire_maul() : InstanceMapScript("instance_dire_maul", 429) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_dire_maul_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp
index 02f4d34c1de..100d14b756b 100644
--- a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp
+++ b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp
@@ -188,12 +188,12 @@ class npc_harbinger_of_flame : public CreatureScript
_events.ScheduleEvent(EVENT_FIEROCLAST_BARRAGE, 6000);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
AlysrazorTrashEvaded(me);
}
- void MoveInLineOfSight(Unit* unit) OVERRIDE
+ void MoveInLineOfSight(Unit* unit) override
{
if (me->IsInCombat())
return;
@@ -204,7 +204,7 @@ class npc_harbinger_of_flame : public CreatureScript
ScriptedAI::MoveInLineOfSight(unit);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
if (!me->GetCurrentSpell(CURRENT_CHANNELED_SPELL))
@@ -242,7 +242,7 @@ class npc_harbinger_of_flame : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_harbinger_of_flameAI(creature);
}
@@ -259,20 +259,20 @@ class npc_blazing_monstrosity : public CreatureScript
{
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
_summons.DespawnAll();
_events.Reset();
PassiveAI::EnterEvadeMode();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_summons.DespawnAll();
_events.Reset();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
AlysrazorTrashEvaded(me);
}
@@ -287,7 +287,7 @@ class npc_blazing_monstrosity : public CreatureScript
_events.ScheduleEvent(EVENT_CONTINUE_SPITTING, 9000);
}
- void PassengerBoarded(Unit* passenger, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* passenger, int8 /*seat*/, bool apply) override
{
if (!apply)
return;
@@ -305,17 +305,17 @@ class npc_blazing_monstrosity : public CreatureScript
init.Launch();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
_summons.Summon(summon);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
_summons.Despawn(summon);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -344,7 +344,7 @@ class npc_blazing_monstrosity : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_blazing_monstrosityAI(creature);
}
@@ -361,20 +361,20 @@ class npc_molten_barrage : public CreatureScript
{
}
- void AttackStart(Unit* target) OVERRIDE
+ void AttackStart(Unit* target) override
{
if (target)
me->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f, MOTION_SLOT_IDLE);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCastAOE(SPELL_AGGRO_CLOSEST, true);
DoCast(me, SPELL_MOLTEN_BARRAGE_VISUAL);
DoCast(me, SPELL_INVISIBILITY_AND_STEALTH_DETECTION, true);
}
- void MovementInform(uint32 movementType, uint32 /*pointId*/) OVERRIDE
+ void MovementInform(uint32 movementType, uint32 /*pointId*/) override
{
if (movementType != EFFECT_MOTION_TYPE)
return;
@@ -384,7 +384,7 @@ class npc_molten_barrage : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_molten_barrageAI(creature);
}
@@ -401,16 +401,16 @@ class npc_egg_pile : public CreatureScript
{
}
- void AttackStart(Unit* /*target*/) OVERRIDE { }
+ void AttackStart(Unit* /*target*/) override { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
_events.Reset();
_callHatchlingSpell = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
std::list<Creature*> eggs;
@@ -421,12 +421,12 @@ class npc_egg_pile : public CreatureScript
DoCast(me, SPELL_ALYSRAZOR_COSMETIC_EGG_XPLOSION, true);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
AlysrazorTrashEvaded(me);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != NPC_BLAZING_MONSTROSITY_LEFT &&
action != NPC_BLAZING_MONSTROSITY_RIGHT)
@@ -441,7 +441,7 @@ class npc_egg_pile : public CreatureScript
_events.ScheduleEvent(EVENT_SUMMON_SMOULDERING_HATCHLING, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -487,7 +487,7 @@ class npc_egg_pile : public CreatureScript
uint32 _callHatchlingSpell;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_egg_pileAI(creature);
}
@@ -502,7 +502,7 @@ class spell_alysrazor_cosmetic_egg_xplosion : public SpellScriptLoader
{
PrepareSpellScript(spell_alysrazor_cosmetic_egg_xplosion_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sCreatureDisplayInfoStore.LookupEntry(MODEL_INVISIBLE_STALKER))
return false;
@@ -517,13 +517,13 @@ class spell_alysrazor_cosmetic_egg_xplosion : public SpellScriptLoader
creature->DespawnOrUnsummon(4000);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_alysrazor_cosmetic_egg_xplosion_SpellScript::HandleExplosion, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alysrazor_cosmetic_egg_xplosion_SpellScript();
}
@@ -538,7 +538,7 @@ class spell_alysrazor_turn_monstrosity : public SpellScriptLoader
{
PrepareSpellScript(spell_alysrazor_turn_monstrosity_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GENERIC_DUMMY_CAST))
return false;
@@ -605,14 +605,14 @@ class spell_alysrazor_turn_monstrosity : public SpellScriptLoader
GetHitUnit()->PlayOneShotAnimKit(ANIM_KIT_BIRD_TURN);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_alysrazor_turn_monstrosity_SpellScript::KnockBarrage, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHitTarget += SpellEffectFn(spell_alysrazor_turn_monstrosity_SpellScript::TurnBird, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alysrazor_turn_monstrosity_SpellScript();
}
@@ -627,7 +627,7 @@ class spell_alysrazor_aggro_closest : public SpellScriptLoader
{
PrepareSpellScript(spell_alysrazor_aggro_closest_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -645,14 +645,14 @@ class spell_alysrazor_aggro_closest : public SpellScriptLoader
GetCaster()->GetAI()->AttackStart(GetCaster()->ToCreature()->SelectVictim());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_alysrazor_aggro_closest_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
AfterCast += SpellCastFn(spell_alysrazor_aggro_closest_SpellScript::UpdateThreat);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alysrazor_aggro_closest_SpellScript();
}
@@ -667,7 +667,7 @@ class spell_alysrazor_fieroblast : public SpellScriptLoader
{
PrepareSpellScript(spell_alysrazor_fieroblast_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FIRE_IT_UP))
return false;
@@ -679,13 +679,13 @@ class spell_alysrazor_fieroblast : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_FIRE_IT_UP, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterCast += SpellCastFn(spell_alysrazor_fieroblast_SpellScript::FireItUp);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alysrazor_fieroblast_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
index 9ad179e9795..f53a749c777 100644
--- a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
+++ b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
@@ -30,12 +30,12 @@ class instance_firelands : public InstanceMapScript
{
}
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(EncounterCount);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -47,7 +47,7 @@ class instance_firelands : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_firelands_InstanceScript(map);
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
index e9ddc6ffeff..c8963331702 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
@@ -141,7 +141,7 @@ public:
events.ScheduleEvent(EVENT_ANRAPHET_OMEGA_STANCE, 35000, 0, PHASE_COMBAT);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetWalk(false);
@@ -156,14 +156,14 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1);
Talk(ANRAPHET_SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
Talk(ANRAPHET_SAY_DEATH);
@@ -174,26 +174,26 @@ public:
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(ANRAPHET_SAY_KILL);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_JustReachedHome();
instance->SetBossState(DATA_ANRAPHET, FAIL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_ANRAPHET_INTRO)
events.ScheduleEvent(EVENT_ANRAPHET_APPEAR, 6000, 0, PHASE_INTRO);
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -205,7 +205,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((events.GetPhaseMask() & PHASE_MASK_COMBAT) && (!UpdateVictim() || !CheckInRoom()))
return;
@@ -264,7 +264,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfOriginationAI<boss_anraphetAI>(creature);
}
@@ -279,15 +279,15 @@ class npc_omega_stance : public CreatureScript
{
npc_omega_stanceAI(Creature* creature) : ScriptedAI(creature) { }
- void IsSummonedBy(Unit* /*who*/) OVERRIDE
+ void IsSummonedBy(Unit* /*who*/) override
{
DoCast(me, SPELL_OMEGA_STANCE_SPIDER_TRIGGER, true);
}
- void EnterEvadeMode() OVERRIDE { }
+ void EnterEvadeMode() override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_omega_stanceAI(creature);
}
@@ -302,19 +302,19 @@ class npc_alpha_beam : public CreatureScript
{
npc_alpha_beamAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* anraphet = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ANRAPHET_GUID)))
anraphet->CastSpell(me, SPELL_ALPHA_BEAMS_BACK_CAST);
}
- void EnterEvadeMode() OVERRIDE { } // Never evade
+ void EnterEvadeMode() override { } // Never evade
private:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfOriginationAI<npc_alpha_beamAI>(creature);
}
@@ -329,7 +329,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript
{
npc_brann_bronzebeard_anraphetAI(Creature* creature) : CreatureAI(creature), _currentPoint(0), _instance(creature->GetInstanceScript()) { }
- void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) override
{
if (_instance->GetBossState(DATA_VAULT_OF_LIGHTS) == DONE)
return;
@@ -346,7 +346,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -369,7 +369,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -419,7 +419,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript
}
}
- void MovementInform(uint32 movementType, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -457,7 +457,7 @@ class npc_brann_bronzebeard_anraphet : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfOriginationAI<npc_brann_bronzebeard_anraphetAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
index a547e9683a0..e444d6793e6 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
@@ -132,7 +132,7 @@ public:
player->GetSession()->SendPacket(data);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_summonDeaths = 0;
_hasDispersed = false;
@@ -144,7 +144,7 @@ public:
events.ScheduleEvent(EVENT_EARTH_SPIKE, urand(16000, 21000), 0, PHASE_NORMAL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(50, damage) && (events.GetPhaseMask() & PHASE_MASK_NORMAL) && !_hasDispersed)
{
@@ -178,7 +178,7 @@ public:
}
}
- void SetData(uint32 index, uint32 /*value*/) OVERRIDE
+ void SetData(uint32 index, uint32 /*value*/) override
{
if (index == DATA_SUMMON_DEATHS)
{
@@ -195,14 +195,14 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1);
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
Talk(SAY_DEATH);
@@ -210,14 +210,14 @@ public:
Cleanup();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_JustReachedHome();
instance->SetBossState(DATA_EARTHRAGER_PTAH, FAIL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -266,7 +266,7 @@ public:
bool _hasDispersed;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfOriginationAI<boss_earthrager_ptahAI>(creature);
}
@@ -286,13 +286,13 @@ class spell_earthrager_ptah_flame_bolt : public SpellScriptLoader
Trinity::Containers::RandomResizeList(targets, GetCaster()->GetMap()->IsHeroic() ? 3 : 2);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_earthrager_ptah_flame_bolt_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_earthrager_ptah_flame_bolt_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
index a6127aa907f..7aed7a66a00 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
@@ -93,7 +93,7 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
_phase = PHASE_FIRST_SHIELD;
_oldPhase = PHASE_FIRST_SHIELD;
@@ -105,7 +105,7 @@ public:
events.ScheduleEvent(EVENT_BURNING_LIGHT, 12000);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if ((me->HealthBelowPctDamaged(66, damage) && _phase == PHASE_FIRST_SHIELD) ||
(me->HealthBelowPctDamaged(33, damage) && _phase == PHASE_SECOND_SHIELD))
@@ -151,7 +151,7 @@ public:
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_DISABLE_BEACON)
{
@@ -165,34 +165,34 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1);
Talk(SAY_AGGRO);
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_JustReachedHome();
instance->SetBossState(DATA_TEMPLE_GUARDIAN_ANHUUR, FAIL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom() || me->GetCurrentSpell(CURRENT_CHANNELED_SPELL) || _phase == PHASE_SHIELDED)
return;
@@ -257,7 +257,7 @@ public:
uint8 _beacons;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfOriginationAI<boss_temple_guardian_anhuurAI>(creature);
}
@@ -289,13 +289,13 @@ class spell_anhuur_shield_of_light : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_anhuur_shield_of_light_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_anhuur_shield_of_light_SpellScript();
}
@@ -323,14 +323,14 @@ class spell_anhuur_disable_beacon_beams : public SpellScriptLoader
anhuur->AI()->DoAction(ACTION_DISABLE_BEACON);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_anhuur_disable_beacon_beams_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHit += SpellEffectFn(spell_anhuur_disable_beacon_beams_SpellScript::Notify, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_anhuur_disable_beacon_beams_SpellScript();
}
@@ -351,13 +351,13 @@ class spell_anhuur_activate_beacons : public SpellScriptLoader
GetHitGObj()->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_anhuur_activate_beacons_SpellScript::Activate, EFFECT_0, SPELL_EFFECT_ACTIVATE_OBJECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_anhuur_activate_beacons_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
index 5a7b6489c94..a8c1c4f6108 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
@@ -67,7 +67,7 @@ class instance_halls_of_origination : public InstanceMapScript
_deadElementals = 0;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -104,7 +104,7 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -125,7 +125,7 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -141,7 +141,7 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
switch (data)
{
@@ -154,7 +154,7 @@ class instance_halls_of_origination : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 index) const OVERRIDE
+ uint64 GetData64(uint32 index) const override
{
switch (index)
{
@@ -189,7 +189,7 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
Creature* creature = unit->ToCreature();
if (!creature)
@@ -211,7 +211,7 @@ class instance_halls_of_origination : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -222,7 +222,7 @@ class instance_halls_of_origination : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -270,7 +270,7 @@ class instance_halls_of_origination : public InstanceMapScript
uint32 _deadElementals;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_halls_of_origination_InstanceMapScript(map);
}
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 ec8596e4fc0..15330643bd3 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
@@ -38,7 +38,7 @@ class celebras_the_cursed : public CreatureScript
public:
celebras_the_cursed() : CreatureScript("celebras_the_cursed") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new celebras_the_cursedAI(creature);
}
@@ -51,21 +51,21 @@ public:
uint32 EntanglingRootsTimer;
uint32 CorruptForcesTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
WrathTimer = 8000;
EntanglingRootsTimer = 2000;
CorruptForcesTimer = 30000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SummonCreature(13716, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
index 3b9ad0bfb79..12016d2223a 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
@@ -38,7 +38,7 @@ class boss_landslide : public CreatureScript
public:
boss_landslide() : CreatureScript("boss_landslide") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_landslideAI(creature);
}
@@ -51,18 +51,18 @@ public:
uint32 TrampleTimer;
uint32 LandslideTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
KnockAwayTimer = 8000;
TrampleTimer = 2000;
LandslideTimer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
index 6b425c4c0fe..8c7197b2942 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp
@@ -37,7 +37,7 @@ class boss_noxxion : public CreatureScript
public:
boss_noxxion() : CreatureScript("boss_noxxion") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_noxxionAI(creature);
}
@@ -52,7 +52,7 @@ public:
uint32 InvisibleTimer;
bool Invisible;
- void Reset() OVERRIDE
+ void Reset() override
{
ToxicVolleyTimer = 7000;
UppercutTimer = 16000;
@@ -61,7 +61,7 @@ public:
Invisible = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void SummonAdds(Unit* victim)
{
@@ -69,7 +69,7 @@ public:
Add->AI()->AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 035ababd3b9..0d48d8f43c6 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_princess_theradras.cpp
@@ -40,7 +40,7 @@ class boss_princess_theradras : public CreatureScript
public:
boss_princess_theradras() : CreatureScript("boss_princess_theradras") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ptheradrasAI(creature);
}
@@ -54,7 +54,7 @@ public:
uint32 ThrashTimer;
uint32 RepulsiveGazeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
DustfieldTimer = 8000;
BoulderTimer = 2000;
@@ -62,14 +62,14 @@ public:
RepulsiveGazeTimer = 23000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SummonCreature(12238, 28.067f, 61.875f, -123.405f, 4.67f, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
index e5653df8f64..be71fdebe3e 100644
--- a/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/instance_maraudon.cpp
@@ -30,7 +30,7 @@ class instance_maraudon : public InstanceMapScript
public:
instance_maraudon() : InstanceMapScript("instance_maraudon", 349) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_maraudon_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index 29e08699a0f..f04b5634616 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -133,7 +133,7 @@ public:
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!IsCombatMovementAllowed())
SetCombatMovement(true);
@@ -150,7 +150,7 @@ public:
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
me->SetInCombatWithZone();
@@ -164,14 +164,14 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_ONYXIA, DONE);
Summons.DespawnAll();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->SetInCombatWithZone();
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -189,17 +189,17 @@ public:
Summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
Summons.Despawn(summon);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void SpellHit(Unit* /*pCaster*/, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* /*pCaster*/, const SpellInfo* Spell) override
{
if (Spell->Id == SPELL_BREATH_EAST_TO_WEST ||
Spell->Id == SPELL_BREATH_WEST_TO_EAST ||
@@ -216,7 +216,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -256,7 +256,7 @@ public:
}
}
- void SpellHitTarget(Unit* target, const SpellInfo* Spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* Spell) override
{
//Workaround - Couldn't find a way to group this spells (All Eruption)
if (((Spell->Id >= 17086 && Spell->Id <= 17095) ||
@@ -301,7 +301,7 @@ public:
MovePoint = iTemp;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -455,7 +455,7 @@ public:
bool IsMoving;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_onyxiaAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index e028fab67e5..e6a08ade87f 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -36,7 +36,7 @@ class instance_onyxias_lair : public InstanceMapScript
public:
instance_onyxias_lair() : InstanceMapScript("instance_onyxias_lair", 249) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_onyxias_lair_InstanceMapScript(map);
}
@@ -48,7 +48,7 @@ public:
//Eruption is a BFS graph problem
//One map to remember all floor, one map to keep floor that still need to erupt and one queue to know what needs to be removed
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(EncounterCount);
@@ -61,7 +61,7 @@ public:
achievSheDeepBreathMore = true;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -71,7 +71,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
if ((go->GetGOInfo()->displayId == 4392 || go->GetGOInfo()->displayId == 4472) && go->GetGOInfo()->trap.spellId == 17731)
{
@@ -82,8 +82,7 @@ public:
switch (go->GetEntry())
{
case GO_WHELP_SPAWNER:
- Position goPos;
- go->GetPosition(&goPos);
+ Position goPos = go->GetPosition();
if (Creature* temp = go->SummonCreature(NPC_WHELP, goPos, TEMPSUMMON_CORPSE_DESPAWN))
{
temp->SetInCombatWithZone();
@@ -93,7 +92,7 @@ public:
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
if ((go->GetGOInfo()->displayId == 4392 || go->GetGOInfo()->displayId == 4472) && go->GetGOInfo()->trap.spellId == 17731)
{
@@ -133,7 +132,7 @@ public:
FloorEruptionGUID[1].erase(floorEruptedGUID);
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -148,7 +147,7 @@ public:
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -173,7 +172,7 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
switch (type)
{
@@ -185,7 +184,7 @@ public:
}
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -196,7 +195,7 @@ public:
return 0;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (GetBossState(DATA_ONYXIA) == IN_PROGRESS)
{
@@ -212,13 +211,24 @@ public:
{
if (eruptTimer <= diff)
{
- uint32 treeHeight = 0;
- do
+ uint64 frontGuid = FloorEruptionGUIDQueue.front();
+ std::map<uint64, uint32>::iterator itr = FloorEruptionGUID[1].find(frontGuid);
+ if (itr != FloorEruptionGUID[1].end())
{
- treeHeight = (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second;
- FloorEruption(FloorEruptionGUIDQueue.front());
- FloorEruptionGUIDQueue.pop();
- } while (!FloorEruptionGUIDQueue.empty() && (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second == treeHeight);
+ uint32 treeHeight = itr->second;
+
+ do
+ {
+ FloorEruption(frontGuid);
+ FloorEruptionGUIDQueue.pop();
+ if (FloorEruptionGUIDQueue.empty())
+ break;
+
+ frontGuid = FloorEruptionGUIDQueue.front();
+ itr = FloorEruptionGUID[1].find(frontGuid);
+ } while (itr != FloorEruptionGUID[1].end() && itr->second == treeHeight);
+ }
+
eruptTimer = 1000;
}
else
@@ -226,7 +236,7 @@ public:
}
}
- bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* /*source*/, Unit const* /*target = NULL*/, uint32 /*miscValue1 = 0*/) OVERRIDE
+ bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const* /*source*/, Unit const* /*target = NULL*/, uint32 /*miscValue1 = 0*/) override
{
switch (criteriaId)
{
@@ -240,7 +250,7 @@ public:
return false;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -251,7 +261,7 @@ public:
return saveStream.str();
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
diff --git a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
index 8d5173ff266..f5f63910b1a 100644
--- a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
+++ b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
@@ -30,7 +30,7 @@ class instance_ragefire_chasm : public InstanceMapScript
public:
instance_ragefire_chasm() : InstanceMapScript("instance_ragefire_chasm", 389) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ragefire_chasm_InstanceMapScript(map);
}
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 bfc8c468af6..e0a30eba2c9 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -52,7 +52,7 @@ public:
{
boss_amnennar_the_coldbringerAI(Creature* creature) : BossAI(creature, DATA_AMNENNAR_THE_COLD_BRINGER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
hp60Spectrals = false;
@@ -60,7 +60,7 @@ public:
hp50 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_AMNENNARSWRATH, 8000);
@@ -69,18 +69,18 @@ public:
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -138,7 +138,7 @@ public:
bool hp50;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_amnennar_the_coldbringerAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp
index 830c3fed382..b1bce6ff38c 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_glutton.cpp
@@ -42,33 +42,34 @@ public:
{
boss_gluttonAI(Creature* creature) : BossAI(creature, DATA_GLUTTON)
{
+ hp50 = false;
hp15 = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
hp50 = false;
hp15 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -94,7 +95,7 @@ public:
bool hp15;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gluttonAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp
index 6026991f253..c2b94b7c7ae 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp
@@ -52,13 +52,13 @@ public:
{
boss_mordresh_fire_eyeAI(Creature* creature) : BossAI(creature, DATA_MORDRESH_FIRE_EYE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_OOC_1, 10000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.Reset();
@@ -67,12 +67,12 @@ public:
events.ScheduleEvent(EVENT_FIRE_NOVA, urand(8000, 12000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -124,7 +124,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_mordresh_fire_eyeAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
index 0c76da22625..8370d856524 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
@@ -42,7 +42,7 @@ public:
{
boss_tuten_kashAI(Creature* creature) : BossAI(creature, DATA_TUTEN_KASH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (!me->HasAura(SPELL_THRASH))
@@ -51,19 +51,19 @@ public:
DoCast(me, SPELL_VIRULENT_POISON);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_WEB_SPRAY, urand(3000, 5000));
events.ScheduleEvent(EVENT_CURSE_OF_TUTENKASH, urand(9000, 14000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -95,7 +95,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_tuten_kashAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index a4ab03d6611..f7f4b035614 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -56,7 +56,7 @@ public:
SetBossNumber(EncounterCount);
}
- void Initialize() OVERRIDE
+ void Initialize() override
{
goGongGUID = 0;
gongWave = 0;
@@ -67,7 +67,7 @@ public:
summonCreature = 0;
}
- void OnGameObjectCreate(GameObject* gameObject) OVERRIDE
+ void OnGameObjectCreate(GameObject* gameObject) override
{
switch (gameObject->GetEntry())
{
@@ -87,7 +87,7 @@ public:
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -108,7 +108,7 @@ public:
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_WAVE)
{
@@ -172,7 +172,7 @@ public:
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -183,7 +183,7 @@ public:
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -225,7 +225,7 @@ public:
uint32 summonCreature;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_razorfen_downs_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
index b9605794074..a8df690f726 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
@@ -64,7 +64,7 @@ public:
{
npc_henry_sternAI(Creature* creature) : ScriptedAI(creature) { }
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) override
{
if (action == 0)
{
@@ -98,7 +98,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_henry_sternAI(creature);
}
@@ -158,10 +158,12 @@ public:
{
instance = creature->GetInstanceScript();
eventInProgress = false;
+ channeling = false;
+ eventProgress = 0;
spawnerCount = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!eventInProgress)
{
@@ -175,7 +177,7 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (channeling)
Talk(SAY_WATCH_OUT, who);
@@ -188,13 +190,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_EXTINGUISHING_THE_IDOL, DONE);
me->DespawnOrUnsummon(5000);
}
- void sQuestAccept(Player* /*player*/, Quest const* quest) OVERRIDE
+ void sQuestAccept(Player* /*player*/, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_EXTINGUISHING_THE_IDOL)
{
@@ -206,7 +208,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_REACH_IDOL)
{
@@ -215,7 +217,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!eventInProgress)
return;
@@ -318,7 +320,7 @@ public:
uint8 spawnerCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_belnistraszAI>(creature);
}
@@ -336,9 +338,9 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
if (data < 7)
{
@@ -356,7 +358,7 @@ public:
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_idol_room_spawnerAI>(creature);
}
@@ -382,7 +384,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!me->HasAura(SPELL_POISON_PROC) && me->GetEntry() == NPC_TOMB_FIEND)
DoCast(me, SPELL_POISON_PROC);
@@ -391,17 +393,17 @@ public:
DoCast(me, SPELL_VIRULENT_POISON_PROC);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_WAVE, me->GetEntry());
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_WEB, urand(5000, 8000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -426,7 +428,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_tomb_creatureAI>(creature);
}
@@ -441,7 +443,7 @@ class go_gong : public GameObjectScript
public:
go_gong() : GameObjectScript("go_gong") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index 9900ba9e3b3..705b0231e82 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -35,7 +35,7 @@ class instance_razorfen_kraul : public InstanceMapScript
public:
instance_razorfen_kraul() : InstanceMapScript("instance_razorfen_kraul", 47) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_razorfen_kraul_InstanceMapScript(map);
}
@@ -47,7 +47,7 @@ public:
uint64 DoorWardGUID;
int WardKeeperDeath;
- void Initialize() OVERRIDE
+ void Initialize() override
{
WardKeeperDeath = 0;
DoorWardGUID = 0;
@@ -69,7 +69,7 @@ public:
return NULL;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -88,7 +88,7 @@ public:
}
}
- void SetData(uint32 type, uint32 /*data*/) OVERRIDE
+ void SetData(uint32 type, uint32 /*data*/) override
{
switch (type)
{
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index f04b71d1da9..835fd6228e1 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -47,7 +47,7 @@ class npc_willix : public CreatureScript
public:
npc_willix() : CreatureScript("npc_willix") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_WILLIX_THE_IMPORTER)
{
@@ -59,7 +59,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_willixAI(creature);
}
@@ -68,7 +68,7 @@ public:
{
npc_willixAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -118,19 +118,19 @@ public:
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO1);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_WILLIX_THE_IMPORTER);
@@ -164,22 +164,26 @@ struct npc_snufflenose_gopher : public CreatureScript
public:
npc_snufflenose_gopher() : CreatureScript("npc_snufflenose_gopher") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_snufflenose_gopherAI(creature);
}
struct npc_snufflenose_gopherAI : public PetAI
{
- npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature) { }
+ npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature)
+ {
+ IsMovementActive = false;
+ TargetTubberGUID = 0;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
IsMovementActive = false;
TargetTubberGUID = 0;
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == POINT_TUBBER)
{
@@ -228,13 +232,13 @@ public:
IsMovementActive = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!IsMovementActive)
PetAI::UpdateAI(diff);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_FIND_NEW_TUBBER)
DoFindNewTubber();
@@ -255,7 +259,7 @@ class spell_snufflenose_command : public SpellScriptLoader
{
PrepareSpellScript(spell_snufflenose_commandSpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -267,13 +271,13 @@ class spell_snufflenose_command : public SpellScriptLoader
target->ToCreature()->AI()->DoAction(ACTION_FIND_NEW_TUBBER);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterCast += SpellCastFn(spell_snufflenose_commandSpellScript::HandleAfterCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_snufflenose_commandSpellScript();
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index e0771b0ebe2..162ce9b5359 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -82,7 +82,7 @@ class boss_ayamiss : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_phase = PHASE_AIR;
@@ -90,7 +90,7 @@ class boss_ayamiss : public CreatureScript
SetCombatMovement(false);
}
- void JustSummoned(Creature* who) OVERRIDE
+ void JustSummoned(Creature* who) override
{
switch (who->GetEntry())
{
@@ -107,7 +107,7 @@ class boss_ayamiss : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -123,13 +123,13 @@ class boss_ayamiss : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->ClearUnitState(UNIT_STATE_ROOT);
BossAI::EnterEvadeMode();
}
- void EnterCombat(Unit* attacker) OVERRIDE
+ void EnterCombat(Unit* attacker) override
{
BossAI::EnterCombat(attacker);
@@ -144,7 +144,7 @@ class boss_ayamiss : public CreatureScript
me->GetMotionMaster()->MovePoint(POINT_AIR, AyamissAirPos);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -156,9 +156,11 @@ class boss_ayamiss : public CreatureScript
_phase = PHASE_GROUND;
SetCombatMovement(true);
me->SetCanFly(false);
- Position VictimPos;
- me->GetVictim()->GetPosition(&VictimPos);
- me->GetMotionMaster()->MovePoint(POINT_GROUND, VictimPos);
+ if (me->GetVictim())
+ {
+ Position VictimPos = me->EnsureVictim()->GetPosition();
+ me->GetMotionMaster()->MovePoint(POINT_GROUND, VictimPos);
+ }
DoResetThreat();
events.ScheduleEvent(EVENT_LASH, urand(5000, 8000));
events.ScheduleEvent(EVENT_TRASH, urand(3000, 6000));
@@ -208,11 +210,12 @@ class boss_ayamiss : public CreatureScript
events.ScheduleEvent(EVENT_SWARMER_ATTACK, 60000);
break;
case EVENT_SUMMON_SWARMER:
- Position Pos;
- me->GetRandomPoint(SwarmerPos, 80.0f, Pos);
+ {
+ Position Pos = me->GetRandomPoint(SwarmerPos, 80.0f);
me->SummonCreature(NPC_SWARMER, Pos);
events.ScheduleEvent(EVENT_SUMMON_SWARMER, 5000);
break;
+ }
case EVENT_TRASH:
DoCastVictim(SPELL_TRASH);
events.ScheduleEvent(EVENT_TRASH, urand(5000, 7000));
@@ -230,7 +233,7 @@ class boss_ayamiss : public CreatureScript
bool _enraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ayamissAI>(creature);
}
@@ -248,7 +251,7 @@ class npc_hive_zara_larva : public CreatureScript
_instance = me->GetInstanceScript();
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE)
if (id == POINT_PARALYZE)
@@ -256,7 +259,7 @@ class npc_hive_zara_larva : public CreatureScript
DoCast(target, SPELL_FEED); // Omnomnom
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (_instance->GetBossState(DATA_AYAMISS) == IN_PROGRESS)
@@ -265,7 +268,7 @@ class npc_hive_zara_larva : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
if (_instance->GetBossState(DATA_AYAMISS) == IN_PROGRESS)
return;
@@ -273,7 +276,7 @@ class npc_hive_zara_larva : public CreatureScript
ScriptedAI::AttackStart(victim);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_instance->GetBossState(DATA_AYAMISS) == IN_PROGRESS)
return;
@@ -284,7 +287,7 @@ class npc_hive_zara_larva : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_hive_zara_larvaAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
index e62f1781f13..ac490b1440d 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
@@ -71,7 +71,7 @@ class boss_buru : public CreatureScript
{
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
BossAI::EnterEvadeMode();
@@ -82,7 +82,7 @@ class boss_buru : public CreatureScript
Eggs.clear();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_EnterCombat();
Talk(EMOTE_TARGET, who);
@@ -95,14 +95,14 @@ class boss_buru : public CreatureScript
_phase = PHASE_EGG;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_EXPLODE)
if (_phase == PHASE_EGG)
me->DealDamage(me, 45000);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
ChaseNewVictim();
@@ -133,7 +133,7 @@ class boss_buru : public CreatureScript
events.ScheduleEvent(EVENT_RESPAWN_EGG, 100000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -186,7 +186,7 @@ class boss_buru : public CreatureScript
std::list<uint64> Eggs;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_buruAI(creature);
}
@@ -205,14 +205,14 @@ class npc_buru_egg : public CreatureScript
SetCombatMovement(false);
}
- void EnterCombat(Unit* attacker) OVERRIDE
+ void EnterCombat(Unit* attacker) override
{
if (Creature* buru = me->GetMap()->GetCreature(_instance->GetData64(DATA_BURU)))
if (!buru->IsInCombat())
buru->AI()->AttackStart(attacker);
}
- void JustSummoned(Creature* who) OVERRIDE
+ void JustSummoned(Creature* who) override
{
if (who->GetEntry() == NPC_HATCHLING)
if (Creature* buru = me->GetMap()->GetCreature(_instance->GetData64(DATA_BURU)))
@@ -220,7 +220,7 @@ class npc_buru_egg : public CreatureScript
who->AI()->AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCastAOE(SPELL_EXPLODE, true);
DoCastAOE(SPELL_EXPLODE_2, true); // Unknown purpose
@@ -234,7 +234,7 @@ class npc_buru_egg : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_buru_eggAI>(creature);
}
@@ -261,14 +261,14 @@ class spell_egg_explosion : public SpellScriptLoader
GetCaster()->DealDamage(target, -16 * GetCaster()->GetDistance(target) + 500);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterCast += SpellCastFn(spell_egg_explosion_SpellScript::HandleAfterCast);
OnEffectHitTarget += SpellEffectFn(spell_egg_explosion_SpellScript::HandleDummyHitTarget, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_egg_explosion_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index 84003576a2a..f0e582dee95 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -55,7 +55,7 @@ class boss_kurinnaxx : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_enraged = false;
@@ -65,7 +65,7 @@ class boss_kurinnaxx : public CreatureScript
events.ScheduleEvent(EVENT_WIDE_SLASH, 11000);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!_enraged && HealthBelowPct(30))
{
@@ -74,14 +74,14 @@ class boss_kurinnaxx : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
if (Creature* Ossirian = me->GetMap()->GetCreature(instance->GetData64(DATA_OSSIRIAN)))
sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -125,7 +125,7 @@ class boss_kurinnaxx : public CreatureScript
bool _enraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kurinnaxxAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
index 9dd82bf157e..e123a84f88e 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
@@ -62,7 +62,7 @@ class boss_moam : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetPower(POWER_MANA, 0);
@@ -71,7 +71,7 @@ class boss_moam : public CreatureScript
//events.ScheduleEvent(EVENT_WIDE_SLASH, 11000);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!_isStonePhase && HealthBelowPct(45))
{
@@ -80,7 +80,7 @@ class boss_moam : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -105,7 +105,7 @@ class boss_moam : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -175,7 +175,7 @@ class boss_moam : public CreatureScript
bool _isStonePhase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_moamAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index 3852802f43d..256f76337b4 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -96,7 +96,7 @@ class boss_ossirian : public CreatureScript
uint8 CrystalIterator;
bool SaidIntro;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
CrystalIterator = 0;
@@ -104,7 +104,7 @@ class boss_ossirian : public CreatureScript
CrystalGUID = 0;
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
for (uint8 i = 0; i < NUM_WEAKNESS; ++i)
{
@@ -117,7 +117,7 @@ class boss_ossirian : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_TRIGGER_WEAKNESS)
if (Creature* Trigger = me->GetMap()->GetCreature(TriggerGUID))
@@ -125,7 +125,7 @@ class boss_ossirian : public CreatureScript
Trigger->CastSpell(Trigger, SpellWeakness[urand(0, 4)], false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.Reset();
@@ -146,8 +146,7 @@ class boss_ossirian : public CreatureScript
for (uint8 i = 0; i < NUM_TORNADOS; ++i)
{
- Position Point;
- me->GetRandomPoint(RoomCenter, RoomRadius, Point);
+ Position Point = me->GetRandomPoint(RoomCenter, RoomRadius);
if (Creature* Tornado = me->GetMap()->SummonCreature(NPC_SAND_VORTEX, Point))
Tornado->CastSpell(Tornado, SPELL_SAND_STORM, true);
}
@@ -155,19 +154,19 @@ class boss_ossirian : public CreatureScript
SpawnNextCrystal();
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
Cleanup();
summons.DespawnAll();
BossAI::EnterEvadeMode();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Cleanup();
_JustDied();
@@ -199,7 +198,7 @@ class boss_ossirian : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!SaidIntro)
@@ -210,7 +209,7 @@ class boss_ossirian : public CreatureScript
BossAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -268,7 +267,7 @@ class boss_ossirian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ossirianAI>(creature);
}
@@ -279,7 +278,7 @@ class go_ossirian_crystal : public GameObjectScript
public:
go_ossirian_crystal() : GameObjectScript("go_ossirian_crystal") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
InstanceScript* Instance = player->GetInstanceScript();
if (!Instance)
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
index b2aedfb5c99..0bb35f3842a 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
@@ -67,7 +67,7 @@ class boss_rajaxx : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
enraged = false;
@@ -75,18 +75,18 @@ class boss_rajaxx : public CreatureScript
events.ScheduleEvent(EVENT_THUNDERCRASH, 12000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
//SAY_DEATH
_JustDied();
}
- void EnterCombat(Unit* /*victim*/) OVERRIDE
+ void EnterCombat(Unit* /*victim*/) override
{
_EnterCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -119,7 +119,7 @@ class boss_rajaxx : public CreatureScript
bool enraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_rajaxxAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
index 761ca60f714..3da7e5b833f 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
@@ -39,7 +39,7 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
_paralyzedGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -72,13 +72,13 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
return true;
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
if (type == DATA_PARALYZED)
_paralyzedGUID = data;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -101,7 +101,7 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -154,7 +154,7 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
uint64 _paralyzedGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ruins_of_ahnqiraj_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index 433193bd703..b904ed44b47 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -46,7 +46,7 @@ class boss_kri : public CreatureScript
public:
boss_kri() : CreatureScript("boss_kri") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kriAI>(creature);
}
@@ -67,7 +67,7 @@ public:
bool VemDead;
bool Death;
- void Reset() OVERRIDE
+ void Reset() override
{
Cleave_Timer = urand(4000, 8000);
ToxicVolley_Timer = urand(6000, 12000);
@@ -77,18 +77,18 @@ public:
Death = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
instance->SetData(DATA_BUG_TRIO_DEATH, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -139,7 +139,7 @@ class boss_vem : public CreatureScript
public:
boss_vem() : CreatureScript("boss_vem") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_vemAI>(creature);
}
@@ -159,7 +159,7 @@ public:
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
Charge_Timer = urand(15000, 27000);
KnockBack_Timer = urand(8000, 20000);
@@ -168,7 +168,7 @@ public:
Enraged = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_VEM_DEATH, 0);
if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death
@@ -176,11 +176,11 @@ public:
instance->SetData(DATA_BUG_TRIO_DEATH, 1);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -228,7 +228,7 @@ class boss_yauj : public CreatureScript
public:
boss_yauj() : CreatureScript("boss_yauj") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_yaujAI>(creature);
}
@@ -248,7 +248,7 @@ public:
bool VemDead;
- void Reset() OVERRIDE
+ void Reset() override
{
Heal_Timer = urand(25000, 40000);
Fear_Timer = urand(12000, 24000);
@@ -257,7 +257,7 @@ public:
VemDead = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);
@@ -273,11 +273,11 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 9e3244cccdb..35086afa42e 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -151,7 +151,7 @@ class boss_eye_of_cthun : public CreatureScript
public:
boss_eye_of_cthun() : CreatureScript("boss_eye_of_cthun") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<eye_of_cthunAI>(creature);
}
@@ -181,7 +181,7 @@ public:
float DarkGlareAngle;
bool ClockWise;
- void Reset() OVERRIDE
+ void Reset() override
{
//Phase information
PhaseTimer = 50000; //First dark glare in 50 seconds
@@ -212,7 +212,7 @@ public:
pPortal->SetReactState(REACT_PASSIVE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetData(DATA_CTHUN_PHASE, PHASE_EYE_GREEN_BEAM);
@@ -226,7 +226,7 @@ public:
Spawned->AI()->AttackStart(target);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -394,7 +394,7 @@ public:
}
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
switch (instance->GetData(DATA_CTHUN_PHASE))
{
@@ -445,7 +445,7 @@ class boss_cthun : public CreatureScript
public:
boss_cthun() : CreatureScript("boss_cthun") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<cthunAI>(creature);
}
@@ -483,9 +483,9 @@ public:
uint64 StomachEnterTarget;
//Stomach map, bool = true then in stomach
- UNORDERED_MAP<uint64, bool> Stomach_Map;
+ std::unordered_map<uint64, bool> Stomach_Map;
- void Reset() OVERRIDE
+ void Reset() override
{
//One random wisper every 90 - 300 seconds
WisperTimer = 90000;
@@ -517,7 +517,7 @@ public:
instance->SetData(DATA_CTHUN_PHASE, PHASE_NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
@@ -536,7 +536,7 @@ public:
if (Stomach_Map.empty())
return NULL;
- UNORDERED_MAP<uint64, bool>::const_iterator i = Stomach_Map.begin();
+ std::unordered_map<uint64, bool>::const_iterator i = Stomach_Map.begin();
std::list<Unit*> temp;
std::list<Unit*>::const_iterator j;
@@ -566,7 +566,7 @@ public:
return (*j);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -680,7 +680,7 @@ public:
DoCast(me, SPELL_PURPLE_COLORATION, true);
- UNORDERED_MAP<uint64, bool>::iterator i = Stomach_Map.begin();
+ std::unordered_map<uint64, bool>::iterator i = Stomach_Map.begin();
//Kick all players out of stomach
while (i != Stomach_Map.end())
@@ -712,7 +712,7 @@ public:
if (StomachAcidTimer <= diff)
{
//Apply aura to all players in stomach
- UNORDERED_MAP<uint64, bool>::iterator i = Stomach_Map.begin();
+ std::unordered_map<uint64, bool>::iterator i = Stomach_Map.begin();
while (i != Stomach_Map.end())
{
@@ -840,12 +840,12 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_DONE);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
switch (instance->GetData(DATA_CTHUN_PHASE))
{
@@ -871,7 +871,7 @@ public:
}
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
switch (param)
{
@@ -889,7 +889,7 @@ class npc_eye_tentacle : public CreatureScript
public:
npc_eye_tentacle() : CreatureScript("npc_eye_tentacle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new eye_tentacleAI(creature);
}
@@ -898,6 +898,9 @@ public:
{
eye_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
+ MindflayTimer = 500;
+ KillSelfTimer = 35000;
+
Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
@@ -912,13 +915,13 @@ public:
uint32 KillSelfTimer;
uint64 Portal;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* p = Unit::GetUnit(*me, Portal))
p->Kill(p);
}
- void Reset() OVERRIDE
+ void Reset() override
{
//Mind flay half a second after we spawn
MindflayTimer = 500;
@@ -927,12 +930,12 @@ public:
KillSelfTimer = 35000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -965,7 +968,7 @@ class npc_claw_tentacle : public CreatureScript
public:
npc_claw_tentacle() : CreatureScript("npc_claw_tentacle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new claw_tentacleAI(creature);
}
@@ -974,6 +977,10 @@ public:
{
claw_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
+ GroundRuptureTimer = 500;
+ HamstringTimer = 2000;
+ EvadeTimer = 5000;
+
SetCombatMovement(false);
Portal = 0;
@@ -989,13 +996,13 @@ public:
uint32 EvadeTimer;
uint64 Portal;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* p = Unit::GetUnit(*me, Portal))
p->Kill(p);
}
- void Reset() OVERRIDE
+ void Reset() override
{
//First rupture should happen half a second after we spawn
GroundRuptureTimer = 500;
@@ -1003,12 +1010,12 @@ public:
EvadeTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -1076,7 +1083,7 @@ class npc_giant_claw_tentacle : public CreatureScript
public:
npc_giant_claw_tentacle() : CreatureScript("npc_giant_claw_tentacle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new giant_claw_tentacleAI(creature);
}
@@ -1085,6 +1092,11 @@ public:
{
giant_claw_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
+ GroundRuptureTimer = 500;
+ HamstringTimer = 2000;
+ ThrashTimer = 5000;
+ EvadeTimer = 5000;
+
SetCombatMovement(false);
Portal = 0;
@@ -1101,13 +1113,13 @@ public:
uint32 EvadeTimer;
uint64 Portal;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* p = Unit::GetUnit(*me, Portal))
p->Kill(p);
}
- void Reset() OVERRIDE
+ void Reset() override
{
//First rupture should happen half a second after we spawn
GroundRuptureTimer = 500;
@@ -1116,12 +1128,12 @@ public:
EvadeTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -1196,7 +1208,7 @@ class npc_giant_eye_tentacle : public CreatureScript
public:
npc_giant_eye_tentacle() : CreatureScript("npc_giant_eye_tentacle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new giant_eye_tentacleAI(creature);
}
@@ -1205,6 +1217,8 @@ public:
{
giant_eye_tentacleAI(Creature* creature) : ScriptedAI(creature)
{
+ BeamTimer = 500;
+
SetCombatMovement(false);
Portal = 0;
@@ -1218,24 +1232,24 @@ public:
uint32 BeamTimer;
uint64 Portal;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* p = Unit::GetUnit(*me, Portal))
p->Kill(p);
}
- void Reset() OVERRIDE
+ void Reset() override
{
//Green Beam half a second after we spawn
BeamTimer = 500;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check if we have a target
if (!UpdateVictim())
@@ -1261,7 +1275,7 @@ class npc_giant_flesh_tentacle : public CreatureScript
public:
npc_giant_flesh_tentacle() : CreatureScript("npc_giant_flesh_tentacle") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new flesh_tentacleAI(creature);
}
@@ -1273,7 +1287,7 @@ public:
SetCombatMovement(false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (TempSummon* summon = me->ToTempSummon())
if (Unit* summoner = summon->GetSummoner())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
index 910b09ec278..5eced848b47 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
@@ -46,7 +46,7 @@ class boss_fankriss : public CreatureScript
public:
boss_fankriss() : CreatureScript("boss_fankriss") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_fankrissAI(creature);
}
@@ -65,7 +65,7 @@ public:
Creature* Hatchling;
Creature* Spawn;
- void Reset() OVERRIDE
+ void Reset() override
{
MortalWound_Timer = urand(10000, 15000);
SpawnHatchlings_Timer = urand(6000, 12000);
@@ -96,11 +96,11 @@ public:
Spawn->AI()->AttackStart(victim);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 34dc224214e..5cc1670d8fb 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
@@ -44,7 +44,7 @@ class boss_huhuran : public CreatureScript
public:
boss_huhuran() : CreatureScript("boss_huhuran") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_huhuranAI(creature);
}
@@ -63,7 +63,7 @@ public:
bool Frenzy;
bool Berserk;
- void Reset() OVERRIDE
+ void Reset() override
{
Frenzy_Timer = urand(25000, 35000);
Wyvern_Timer = urand(18000, 28000);
@@ -76,11 +76,11 @@ public:
Berserk = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 233dc12de4f..26866de9aa8 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
@@ -41,7 +41,7 @@ class boss_ouro : public CreatureScript
public:
boss_ouro() : CreatureScript("boss_ouro") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ouroAI(creature);
}
@@ -60,7 +60,7 @@ public:
bool Enrage;
bool Submerged;
- void Reset() OVERRIDE
+ void Reset() override
{
Sweep_Timer = urand(5000, 10000);
SandBlast_Timer = urand(20000, 35000);
@@ -73,12 +73,12 @@ public:
Submerged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCastVictim(SPELL_BIRTH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 b8042e8e106..e9eb9d58ca8 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -46,7 +46,7 @@ class boss_sartura : public CreatureScript
public:
boss_sartura() : CreatureScript("boss_sartura") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_sarturaAI(creature);
}
@@ -67,7 +67,7 @@ public:
bool WhirlWind;
bool AggroReset;
- void Reset() OVERRIDE
+ void Reset() override
{
WhirlWind_Timer = 30000;
WhirlWindRandom_Timer = urand(3000, 7000);
@@ -83,22 +83,22 @@ public:
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -189,7 +189,7 @@ class npc_sartura_royal_guard : public CreatureScript
public:
npc_sartura_royal_guard() : CreatureScript("npc_sartura_royal_guard") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_sartura_royal_guardAI(creature);
}
@@ -208,7 +208,7 @@ public:
bool WhirlWind;
bool AggroReset;
- void Reset() OVERRIDE
+ void Reset() override
{
WhirlWind_Timer = 30000;
WhirlWindRandom_Timer = urand(3000, 7000);
@@ -221,11 +221,11 @@ public:
AggroReset = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 4708a563098..51384cc117d 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -57,26 +57,26 @@ class boss_skeram : public CreatureScript
{
boss_skeramAI(Creature* creature) : BossAI(creature, DATA_SKERAM) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_flag = 0;
_hpct = 75.0f;
me->SetVisible(true);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
if (me->IsSummon())
((TempSummon*)me)->UnSummon();
}
- void JustSummoned(Creature* creature) OVERRIDE
+ void JustSummoned(Creature* creature) override
{
// Shift the boss and images (Get it? *Shift*?)
uint8 rand = 0;
@@ -113,7 +113,7 @@ class boss_skeram : public CreatureScript
creature->SetHealth(creature->GetMaxHealth() * (me->GetHealthPct() / 100.0f));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!me->IsSummon())
Talk(SAY_DEATH);
@@ -121,7 +121,7 @@ class boss_skeram : public CreatureScript
me->RemoveCorpse();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.Reset();
@@ -134,7 +134,7 @@ class boss_skeram : public CreatureScript
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -189,7 +189,7 @@ class boss_skeram : public CreatureScript
uint8 _flag;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_skeramAI(creature);
}
@@ -222,13 +222,13 @@ class spell_skeram_arcane_explosion : public SpellScriptLoader
targets.remove_if(PlayerOrPetCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_skeram_arcane_explosion_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_skeram_arcane_explosion_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index d84279f1e8b..6775d84d435 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -106,7 +106,7 @@ struct boss_twinemperorsAI : public ScriptedAI
return Unit::GetCreature(*me, instance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
Unit* pOtherBoss = GetOtherBoss();
if (pOtherBoss)
@@ -123,7 +123,7 @@ struct boss_twinemperorsAI : public ScriptedAI
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Creature* pOtherBoss = GetOtherBoss();
if (pOtherBoss)
@@ -137,12 +137,12 @@ struct boss_twinemperorsAI : public ScriptedAI
DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_DEATH : SOUND_VN_DEATH);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
DoPlaySoundToSet(me, IAmVeklor() ? SOUND_VL_KILL : SOUND_VN_KILL);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoZoneInCombat();
Creature* pOtherBoss = GetOtherBoss();
@@ -160,7 +160,7 @@ struct boss_twinemperorsAI : public ScriptedAI
}
}
- void SpellHit(Unit* caster, const SpellInfo* entry) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* entry) override
{
if (caster == me)
return;
@@ -286,7 +286,7 @@ struct boss_twinemperorsAI : public ScriptedAI
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || me->GetVictim())
@@ -386,7 +386,7 @@ class boss_veknilash : public CreatureScript
public:
boss_veknilash() : CreatureScript("boss_veknilash") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_veknilashAI>(creature);
}
@@ -405,7 +405,7 @@ public:
Creature* Summoned;
- void Reset() OVERRIDE
+ void Reset() override
{
TwinReset();
UpperCut_Timer = urand(14000, 29000);
@@ -424,7 +424,7 @@ public:
target->SetFullHealth();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -472,7 +472,7 @@ class boss_veklor : public CreatureScript
public:
boss_veklor() : CreatureScript("boss_veklor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_veklorAI>(creature);
}
@@ -492,7 +492,7 @@ public:
Creature* Summoned;
- void Reset() OVERRIDE
+ void Reset() override
{
TwinReset();
ShadowBolt_Timer = 0;
@@ -511,7 +511,7 @@ public:
target->SetFullHealth();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -572,7 +572,7 @@ public:
//DoMeleeAttackIfReady();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index 44c70075a94..d49a6a312da 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -93,14 +93,14 @@ class boss_viscidus : public CreatureScript
{
boss_viscidusAI(Creature* creature) : BossAI(creature, DATA_VISCIDUS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_hitcounter = 0;
_phase = PHASE_FROST;
}
- void DamageTaken(Unit* attacker, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& /*damage*/) override
{
if (_phase != PHASE_MELEE)
return;
@@ -139,7 +139,7 @@ class boss_viscidus : public CreatureScript
Talk(EMOTE_CRACK);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if ((spell->GetSchoolMask() & SPELL_SCHOOL_MASK_FROST) && _phase == PHASE_FROST && me->GetHealthPct() > 5.0f)
{
@@ -168,7 +168,7 @@ class boss_viscidus : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.Reset();
@@ -182,19 +182,19 @@ class boss_viscidus : public CreatureScript
events.ScheduleEvent(EVENT_POISON_SHOCK, urand(7000, 12000));
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
summons.DespawnAll();
ScriptedAI::EnterEvadeMode();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_VISCIDUS_SUICIDE);
summons.DespawnAll();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -245,7 +245,7 @@ class boss_viscidus : public CreatureScript
Phases _phase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_viscidusAI(creature);
}
@@ -260,7 +260,7 @@ class npc_glob_of_viscidus : public CreatureScript
{
npc_glob_of_viscidusAI(Creature* creature) : ScriptedAI(creature) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
InstanceScript* Instance = me->GetInstanceScript();
@@ -272,7 +272,8 @@ class npc_glob_of_viscidus : public CreatureScript
if (Viscidus->IsAlive() && Viscidus->GetHealthPct() < 5.0f)
{
Viscidus->SetVisible(true);
- Viscidus->GetVictim()->Kill(Viscidus);
+ if (Viscidus->GetVictim())
+ Viscidus->EnsureVictim()->Kill(Viscidus);
}
else
{
@@ -282,7 +283,7 @@ class npc_glob_of_viscidus : public CreatureScript
}
}
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 id) override
{
if (id == ROOM_CENTER)
{
@@ -293,7 +294,7 @@ class npc_glob_of_viscidus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_glob_of_viscidusAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
index b1402f95135..5780da5e759 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
@@ -32,7 +32,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
public:
instance_temple_of_ahnqiraj() : InstanceMapScript("instance_temple_of_ahnqiraj", 531) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_temple_of_ahnqiraj_InstanceMapScript(map);
}
@@ -56,7 +56,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
uint32 CthunPhase;
- void Initialize() OVERRIDE
+ void Initialize() override
{
IsBossDied[0] = false;
IsBossDied[1] = false;
@@ -74,7 +74,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
CthunPhase = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -99,13 +99,13 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
}
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
//not active in AQ40
return false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -133,7 +133,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -153,7 +153,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
return 0;
} // end GetData64
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
index 7fc6af08d9d..aa9180d79c2 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
@@ -64,7 +64,7 @@ class npc_anubisath_sentinel : public CreatureScript
public:
npc_anubisath_sentinel() : CreatureScript("npc_anubisath_sentinel") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new aqsentinelAI(creature);
}
@@ -213,7 +213,7 @@ public:
bool gatherOthersWhenAggro;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!me->isDead())
{
@@ -237,7 +237,7 @@ public:
me->AddAura(id, me);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (gatherOthersWhenAggro)
GetOtherSentinels(who);
@@ -246,7 +246,7 @@ public:
DoZoneInCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (int ni=0; ni<3; ++ni)
{
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
index f903d1b6da8..9b8397ec6cd 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
@@ -34,7 +34,7 @@ class instance_wailing_caverns : public InstanceMapScript
public:
instance_wailing_caverns() : InstanceMapScript("instance_wailing_caverns", 43) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_wailing_caverns_InstanceMapScript(map);
}
@@ -48,7 +48,7 @@ public:
bool yelled;
uint64 NaralexGUID;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -56,13 +56,13 @@ public:
NaralexGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (creature->GetEntry() == DATA_NARALEX)
NaralexGUID = creature->GetGUID();
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -80,7 +80,7 @@ public:
if (data == DONE)SaveToDB();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -98,13 +98,13 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
if (data == DATA_NARALEX)return NaralexGUID;
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -117,7 +117,7 @@ public:
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
index 72ced3d3399..516da307bfd 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
@@ -79,12 +79,12 @@ class npc_disciple_of_naralex : public CreatureScript
public:
npc_disciple_of_naralex() : CreatureScript("npc_disciple_of_naralex") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_disciple_of_naralexAI>(creature);
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
InstanceScript* instance = creature->GetInstanceScript();
@@ -106,7 +106,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
@@ -150,7 +150,7 @@ public:
uint32 eventProgress;
InstanceScript* instance;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -179,17 +179,17 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_ATTACKED, who);
}
- void JustDied(Unit* /*slayer*/) OVERRIDE
+ void JustDied(Unit* /*slayer*/) override
{
instance->SetData(TYPE_NARALEX_EVENT, FAIL);
instance->SetData(TYPE_NARALEX_PART1, FAIL);
@@ -197,12 +197,12 @@ public:
instance->SetData(TYPE_NARALEX_PART3, FAIL);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (currentEvent != TYPE_NARALEX_PART3)
npc_escortAI::UpdateAI(diff);
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
index 2ddd60ca442..f0035cc921c 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
@@ -61,7 +61,7 @@ public:
{
boss_zum_rahAI(Creature* creature) : BossAI(creature, DATA_ZUM_RAH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->setFaction(ZUMRAH_FRIENDLY_FACTION); // areatrigger sets faction to enemy
_ward80 = false;
@@ -69,24 +69,24 @@ public:
_heal30 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_SANCT_INVADE);
events.ScheduleEvent(EVENT_SHADOW_BOLT, 1000);
events.ScheduleEvent(EVENT_SHADOWBOLT_VOLLEY, 10000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ZUM_RAH, DONE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -147,7 +147,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_zum_rahAI>(creature);
}
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 8a7b5effa67..8139f45bf46 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -101,7 +101,7 @@ class instance_zulfarrak : public InstanceMapScript
public:
instance_zulfarrak() : InstanceMapScript("instance_zulfarrak", 209) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_zulfarrak_InstanceMapScript(map);
}
@@ -124,7 +124,7 @@ public:
uint32 addGroupSize;
uint32 waypoint;
- void Initialize() OVERRIDE
+ void Initialize() override
{
GahzRillaEncounter = NOT_STARTED;
ZumrahGUID = 0;
@@ -141,7 +141,7 @@ public:
waypoint = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -177,7 +177,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -187,7 +187,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -197,7 +197,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -219,7 +219,7 @@ public:
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 4b95d33a81e..ecb28a5b0cb 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -64,7 +64,7 @@ class npc_sergeant_bly : public CreatureScript
public:
npc_sergeant_bly() : CreatureScript("npc_sergeant_bly") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -76,7 +76,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -95,7 +95,7 @@ public:
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_sergeant_blyAI>(creature);
}
@@ -116,7 +116,7 @@ public:
uint32 Revenge_Timer; //this is wrong, spell should never be used unless me->GetVictim() dodge, parry or block attack. Trinity support required.
uint64 PlayerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
ShieldBash_Timer = 5000;
Revenge_Timer = 8000;
@@ -124,7 +124,7 @@ public:
me->setFaction(FACTION_FRIENDLY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (postGossipStep>0 && postGossipStep<4)
{
@@ -179,7 +179,7 @@ public:
DoMeleeAttackIfReady();
}
- void DoAction(int32 /*param*/) OVERRIDE
+ void DoAction(int32 /*param*/) override
{
postGossipStep=1;
Text_Timer = 0;
@@ -204,7 +204,7 @@ class go_troll_cage : public GameObjectScript
public:
go_troll_cage() : GameObjectScript("go_troll_cage") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
{
@@ -258,7 +258,7 @@ class npc_weegli_blastfuse : public CreatureScript
public:
npc_weegli_blastfuse() : CreatureScript("npc_weegli_blastfuse") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -270,7 +270,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -291,7 +291,7 @@ public:
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_weegli_blastfuseAI>(creature);
}
@@ -311,22 +311,22 @@ public:
bool destroyingDoor;
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
/*instance->SetData(0, NOT_STARTED);*/
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
AttackStartCaster(victim, 10);//keep back & toss bombs/shoot
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
/*instance->SetData(0, DONE);*/
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -351,7 +351,7 @@ public:
}
}
- void MovementInform(uint32 /*type*/, uint32 /*id*/) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 /*id*/) override
{
if (instance->GetData(EVENT_PYRAMID) == PYRAMID_CAGES_OPEN)
{
@@ -368,7 +368,7 @@ public:
};
}
- void DoAction(int32 /*param*/) OVERRIDE
+ void DoAction(int32 /*param*/) override
{
DestroyDoor();
}
@@ -405,7 +405,7 @@ class go_shallow_grave : public GameObjectScript
public:
go_shallow_grave() : GameObjectScript("go_shallow_grave") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
// randomly summon a zombie or dead hero the first time a grave is used
if (go->GetUseCount() == 0)
@@ -437,7 +437,7 @@ class at_zumrah : public AreaTriggerScript
public:
at_zumrah() : AreaTriggerScript("at_zumrah") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
Creature* pZumrah = player->FindNearestCreature(ZUMRAH_ID, 30.0f);
diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp
deleted file mode 100644
index 3eceb2adcf7..00000000000
--- a/src/server/scripts/Kalimdor/boss_azuregos.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* ScriptData
-SDName: Boss_Azuregos
-SD%Complete: 90
-SDComment: Teleport not included, spell reflect not effecting dots (Core problem)
-SDCategory: Azshara
-EndScriptData */
-
-#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-
-enum Say
-{
- SAY_TELEPORT = 0
-};
-
-enum Spells
-{
- SPELL_MARKOFFROST = 23182,
- SPELL_MANASTORM = 21097,
- SPELL_CHILL = 21098,
- SPELL_FROSTBREATH = 21099,
- SPELL_REFLECT = 22067,
- SPELL_CLEAVE = 8255, //Perhaps not right ID
- SPELL_ENRAGE = 23537
-};
-
-class boss_azuregos : public CreatureScript
-{
-public:
- boss_azuregos() : CreatureScript("boss_azuregos") { }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new boss_azuregosAI(creature);
- }
-
- struct boss_azuregosAI : public ScriptedAI
- {
- boss_azuregosAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint32 MarkOfFrostTimer;
- uint32 ManaStormTimer;
- uint32 ChillTimer;
- uint32 BreathTimer;
- uint32 TeleportTimer;
- uint32 ReflectTimer;
- uint32 CleaveTimer;
- uint32 EnrageTimer;
- bool Enraged;
-
- void Reset() OVERRIDE
- {
- MarkOfFrostTimer = 35000;
- ManaStormTimer = urand(5000, 17000);
- ChillTimer = urand(10000, 30000);
- BreathTimer = urand(2000, 8000);
- TeleportTimer = 30000;
- ReflectTimer = urand(15000, 30000);
- CleaveTimer = 7000;
- EnrageTimer = 0;
- Enraged = false;
- }
-
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
-
- void UpdateAI(uint32 diff) OVERRIDE
- {
- //Return since we have no target
- if (!UpdateVictim())
- return;
-
- if (TeleportTimer <= diff)
- {
- Talk(SAY_TELEPORT);
- ThreatContainer::StorageType threatlist = me->getThreatManager().getThreatList();
- ThreatContainer::StorageType::const_iterator i = threatlist.begin();
- for (i = threatlist.begin(); i != threatlist.end(); ++i)
- {
- Unit* unit = Unit::GetUnit(*me, (*i)->getUnitGuid());
- if (unit && (unit->GetTypeId() == TYPEID_PLAYER))
- {
- DoTeleportPlayer(unit, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()+3, unit->GetOrientation());
- }
- }
-
- DoResetThreat();
- TeleportTimer = 30000;
- } else TeleportTimer -= diff;
-
- // //MarkOfFrostTimer
- // if (MarkOfFrostTimer <= diff)
- // {
- // DoCastVictim(SPELL_MARKOFFROST);
- // MarkOfFrostTimer = 25000;
- // } else MarkOfFrostTimer -= diff;
-
- //ChillTimer
- if (ChillTimer <= diff)
- {
- DoCastVictim(SPELL_CHILL);
- ChillTimer = urand(13000, 25000);
- } else ChillTimer -= diff;
-
- //BreathTimer
- if (BreathTimer <= diff)
- {
- DoCastVictim(SPELL_FROSTBREATH);
- BreathTimer = urand(10000, 15000);
- } else BreathTimer -= diff;
-
- //ManaStormTimer
- if (ManaStormTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_MANASTORM);
- ManaStormTimer = urand(7500, 12500);
- } else ManaStormTimer -= diff;
-
- //ReflectTimer
- if (ReflectTimer <= diff)
- {
- DoCast(me, SPELL_REFLECT);
- ReflectTimer = urand(20000, 35000);
- } else ReflectTimer -= diff;
-
- //CleaveTimer
- if (CleaveTimer <= diff)
- {
- DoCastVictim(SPELL_CLEAVE);
- CleaveTimer = 7000;
- } else CleaveTimer -= diff;
-
- //EnrageTimer
- if (HealthBelowPct(26) && !Enraged)
- {
- DoCast(me, SPELL_ENRAGE);
- Enraged = true;
- }
-
- DoMeleeAttackIfReady();
- }
- };
-};
-
-void AddSC_boss_azuregos()
-{
- new boss_azuregos();
-}
diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
index ec28ee42625..2b8dbdaab6c 100644
--- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp
+++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp
@@ -63,16 +63,16 @@ public:
{
npc_torekAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
rend_Timer = 5000;
thunderclap_Timer = 8000;
_completed = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -88,7 +88,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (Player* player = GetPlayerForEscort())
{
@@ -118,7 +118,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -145,7 +145,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_torekAI(creature);
}
@@ -183,15 +183,15 @@ public:
{
npc_ruul_snowhoofAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
Cage->SetGoState(GO_STATE_READY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -205,7 +205,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -234,13 +234,13 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ruul_snowhoofAI(creature);
}
@@ -300,14 +300,14 @@ public:
{
npc_muglashAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
eventTimer = 10000;
waveId = 0;
_isBrazierExtinguished = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Player* player = GetPlayerForEscort())
if (HasEscortState(STATE_ESCORT_PAUSED))
@@ -318,14 +318,14 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_VORSHA);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -340,7 +340,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (Player* player = GetPlayerForEscort())
{
@@ -396,7 +396,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -426,7 +426,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_muglashAI(creature);
}
@@ -437,7 +437,7 @@ class go_naga_brazier : public GameObjectScript
public:
go_naga_brazier() : GameObjectScript("go_naga_brazier") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (Creature* creature = GetClosestCreatureWithEntry(go, NPC_MUGLASH, INTERACTION_DISTANCE*2))
{
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index 57043699c13..51e97b43554 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -70,7 +70,7 @@ public:
bool CanSayHelp;
- void Reset() OVERRIDE
+ void Reset() override
{
pCaster = 0;
@@ -88,9 +88,9 @@ public:
me->SetStandState(UNIT_STAND_STATE_SLEEP);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (CanSayHelp && who->GetTypeId() == TYPEID_PLAYER && me->IsFriendlyTo(who) && me->IsWithinDistInMap(who, 25.0f))
{
@@ -102,7 +102,7 @@ public:
}
}
- void SpellHit(Unit* Caster, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* Caster, const SpellInfo* Spell) override
{
if (Spell->SpellFamilyFlags[2] & 0x080000000)
{
@@ -117,7 +117,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (SayThanksTimer)
{
@@ -160,7 +160,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_draenei_survivorAI(creature);
}
@@ -199,7 +199,7 @@ public:
IsTreeEvent = true;
}
- void Reset() OVERRIDE
+ void Reset() override
{
DynamiteTimer = 8000;
EmoteTimer = urand(120000, 150000);
@@ -210,19 +210,19 @@ public:
IsTreeEvent = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(ATTACK_YELL, who);
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
me->setFaction(FACTION_HOSTILE);
me->Attack(player, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat() && !IsTreeEvent)
{
@@ -256,7 +256,7 @@ public:
bool IsTreeEvent;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_engineer_spark_overgrindAI(creature);
}
@@ -275,7 +275,7 @@ public:
{
npc_injured_draeneiAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
me->SetHealth(me->CountPctFromMaxHealth(15));
@@ -291,14 +291,14 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_injured_draeneiAI(creature);
}
@@ -329,9 +329,9 @@ public:
{
npc_magwinAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_AGGRO, who);
}
@@ -345,7 +345,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (Player* player = GetPlayerForEscort())
{
@@ -370,7 +370,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_magwinAI(creature);
}
@@ -418,14 +418,14 @@ public:
bool EventStarted;
- void Reset() OVERRIDE
+ void Reset() override
{
SparkGUID = 0;
Step = 0;
StartEvent();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void StartEvent()
{
@@ -525,7 +525,7 @@ public:
TC_LOG_ERROR("scripts", "SD2 ERROR: FlagList is empty!");
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (SayTimer <= diff)
{
@@ -537,7 +537,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_geezleAI(creature);
}
@@ -558,7 +558,7 @@ class go_ravager_cage : public GameObjectScript
public:
go_ravager_cage() : GameObjectScript("go_ravager_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_STRENGTH_ONE) == QUEST_STATUS_INCOMPLETE)
@@ -586,7 +586,7 @@ public:
uint32 RendTimer;
uint32 EnragingBiteTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
RendTimer = 30000;
EnragingBiteTimer = 20000;
@@ -595,7 +595,7 @@ public:
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -618,7 +618,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_death_ravagerAI(creature);
}
@@ -649,7 +649,7 @@ class npc_stillpine_capitive : public CreatureScript
{
npc_stillpine_capitiveAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
if (GameObject* cage = me->FindNearestGameObject(GO_BRISTELIMB_CAGE, 5.0f))
{
@@ -668,12 +668,11 @@ class npc_stillpine_capitive : public CreatureScript
Talk(CAPITIVE_SAY, owner);
_player = owner;
}
- Position pos;
- me->GetNearPosition(pos, 3.0f, 0.0f);
+ Position pos = me->GetNearPosition(3.0f, 0.0f);
me->GetMotionMaster()->MovePoint(POINT_INIT, pos);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE || id != POINT_INIT)
return;
@@ -685,7 +684,7 @@ class npc_stillpine_capitive : public CreatureScript
_events.ScheduleEvent(EVENT_DESPAWN, 3500);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_movementComplete)
return;
@@ -702,7 +701,7 @@ class npc_stillpine_capitive : public CreatureScript
bool _movementComplete;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_stillpine_capitiveAI(creature);
}
@@ -713,7 +712,7 @@ class go_bristlelimb_cage : public GameObjectScript
public:
go_bristlelimb_cage() : GameObjectScript("go_bristlelimb_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->SetGoState(GO_STATE_READY);
if (player->GetQuestStatus(QUEST_THE_PROPHECY_OF_AKIDA) == QUEST_STATUS_INCOMPLETE)
diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
index c935a83b3ee..05aab1ef723 100644
--- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
@@ -54,11 +54,11 @@ public:
{
npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
uint32 spawnCreatureID = 0;
@@ -79,7 +79,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_webbed_creatureAI(creature);
}
@@ -103,7 +103,7 @@ class go_princess_stillpines_cage : public GameObjectScript
public:
go_princess_stillpines_cage() : GameObjectScript("go_princess_stillpines_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->SetGoState(GO_STATE_READY);
if (Creature* stillpine = go->FindNearestCreature(NPC_PRINCESS_STILLPINE, 25, true))
@@ -124,7 +124,7 @@ public:
{
npc_princess_stillpineAI(Creature* creature) : ScriptedAI(creature) { }
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == 1)
{
@@ -134,7 +134,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_princess_stillpineAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp
index e49ee99fdfa..1799709c7af 100644
--- a/src/server/scripts/Kalimdor/zone_darkshore.cpp
+++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp
index 106362cd677..5cb58058151 100644
--- a/src/server/scripts/Kalimdor/zone_desolace.cpp
+++ b/src/server/scripts/Kalimdor/zone_desolace.cpp
@@ -96,7 +96,7 @@ public:
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->HasAura(SPELL_KODO_KOMBO_PLAYER_BUFF) && creature->HasAura(SPELL_KODO_KOMBO_DESPAWN_BUFF))
{
@@ -108,7 +108,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_aged_dying_ancient_kodoAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index e587c98445b..ca4bafdd453 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -43,7 +43,7 @@ class npc_lazy_peon : public CreatureScript
public:
npc_lazy_peon() : CreatureScript("npc_lazy_peon") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lazy_peonAI(creature);
}
@@ -57,7 +57,7 @@ public:
uint32 RebuffTimer;
bool work;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
RebuffTimer = 0;
@@ -86,7 +86,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (work == true)
me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_CHOPWOOD);
@@ -125,7 +125,7 @@ class spell_voodoo : public SpellScriptLoader
{
PrepareSpellScript(spell_voodoo_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BREW) || !sSpellMgr->GetSpellInfo(SPELL_GHOSTLY) ||
!sSpellMgr->GetSpellInfo(SPELL_HEX1) || !sSpellMgr->GetSpellInfo(SPELL_HEX2) ||
@@ -142,13 +142,13 @@ class spell_voodoo : public SpellScriptLoader
GetCaster()->CastSpell(target, spellid, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_voodoo_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_voodoo_SpellScript();
}
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index 8894a1378f9..91c481a3a9d 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -71,7 +71,7 @@ class npc_risen_husk_spirit : public CreatureScript
{
npc_risen_husk_spiritAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
if (me->GetEntry() == NPC_RISEN_HUSK)
@@ -80,7 +80,7 @@ class npc_risen_husk_spirit : public CreatureScript
events.ScheduleEvent(EVENT_INTANGIBLE_PRESENCE, 5000);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer->GetTypeId() == TYPEID_PLAYER)
{
@@ -92,7 +92,7 @@ class npc_risen_husk_spirit : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -123,7 +123,7 @@ class npc_risen_husk_spirit : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_risen_husk_spiritAI(creature);
}
@@ -154,7 +154,7 @@ class npc_theramore_guard : public CreatureScript
public:
npc_theramore_guard() : CreatureScript("npc_theramore_guard") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_DISCREDITING_THE_DESERTERS) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_THERAMORE_GUARD, GOSSIP_SENDER_MAIN, GOSSIP_SENDER_INFO);
@@ -164,7 +164,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
@@ -182,7 +182,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_theramore_guardAI(creature);
}
@@ -195,13 +195,13 @@ public:
uint32 Step;
bool bYellTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
bYellTimer = false;
Step = 0;
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!me->HasAura(SPELL_PROPAGANDIZED))
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -246,7 +246,7 @@ class npc_lady_jaina_proudmoore : public CreatureScript
public:
npc_lady_jaina_proudmoore() : CreatureScript("npc_lady_jaina_proudmoore") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_SENDER_INFO)
@@ -257,7 +257,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -286,7 +286,7 @@ class npc_nat_pagle : public CreatureScript
public:
npc_nat_pagle() : CreatureScript("npc_nat_pagle") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -295,7 +295,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -339,7 +339,7 @@ class npc_private_hendel : public CreatureScript
public:
npc_private_hendel() : CreatureScript("npc_private_hendel") { }
- bool OnQuestAccept(Player* /*player*/, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* /*player*/, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_MISSING_DIPLO_PT16)
creature->setFaction(FACTION_HOSTILE);
@@ -347,7 +347,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_private_hendelAI(creature);
}
@@ -356,12 +356,12 @@ public:
{
npc_private_hendelAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
}
- void AttackedBy(Unit* pAttacker) OVERRIDE
+ void AttackedBy(Unit* pAttacker) override
{
if (me->GetVictim())
return;
@@ -372,7 +372,7 @@ public:
AttackStart(pAttacker);
}
- void DamageTaken(Unit* pDoneBy, uint32 &Damage) OVERRIDE
+ void DamageTaken(Unit* pDoneBy, uint32 &Damage) override
{
if (Damage > me->GetHealth() || me->HealthBelowPctDamaged(20, Damage))
{
@@ -406,7 +406,7 @@ class npc_zelfrax : public CreatureScript
public:
npc_zelfrax() : CreatureScript("npc_zelfrax") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_zelfraxAI(creature);
}
@@ -418,7 +418,7 @@ public:
MoveToDock();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -433,7 +433,7 @@ public:
}
}
- void MovementInform(uint32 Type, uint32 /*Id*/) OVERRIDE
+ void MovementInform(uint32 Type, uint32 /*Id*/) override
{
if (Type != POINT_MOTION_TYPE)
return;
@@ -455,7 +455,7 @@ public:
Talk(SAY_ZELFRAX2);
}
- void UpdateAI(uint32 /*Diff*/) OVERRIDE
+ void UpdateAI(uint32 /*Diff*/) override
{
if (!UpdateVictim())
return;
@@ -491,12 +491,12 @@ class npc_stinky : public CreatureScript
public:
npc_stinky() : CreatureScript("npc_stinky") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_stinkyAI(creature);
}
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_STINKYS_ESCAPE_H || quest->GetQuestId() == QUEST_STINKYS_ESCAPE_A)
{
@@ -515,7 +515,7 @@ public:
{
npc_stinkyAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -560,14 +560,14 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_ATTACKED_1, who);
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Player* player = GetPlayerForEscort();
if (player && HasEscortState(STATE_ESCORT_ESCORTING))
@@ -580,7 +580,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -609,7 +609,7 @@ class spell_ooze_zap : public SpellScriptLoader
{
PrepareSpellScript(spell_ooze_zap_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_OOZE_ZAP))
return false;
@@ -634,14 +634,14 @@ class spell_ooze_zap : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ooze_zap_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_ooze_zap_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ooze_zap_SpellScript();
}
@@ -656,7 +656,7 @@ class spell_ooze_zap_channel_end : public SpellScriptLoader
{
PrepareSpellScript(spell_ooze_zap_channel_end_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_OOZE_ZAP_CHANNEL_END))
return false;
@@ -671,13 +671,13 @@ class spell_ooze_zap_channel_end : public SpellScriptLoader
GetHitUnit()->Kill(GetHitUnit());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ooze_zap_channel_end_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ooze_zap_channel_end_SpellScript();
}
@@ -692,7 +692,7 @@ class spell_energize_aoe : public SpellScriptLoader
{
PrepareSpellScript(spell_energize_aoe_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ENERGIZED))
return false;
@@ -717,7 +717,7 @@ class spell_energize_aoe : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_energize_aoe_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_energize_aoe_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
@@ -725,7 +725,7 @@ class spell_energize_aoe : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_energize_aoe_SpellScript();
}
@@ -746,7 +746,7 @@ class go_blackhoof_cage : public GameObjectScript
public:
go_blackhoof_cage() : GameObjectScript("go_blackhoof_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (Creature* prisoner = go->FindNearestCreature(NPC_THERAMORE_PRISONER, 1.0f))
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index 9c07e55707a..901946df74b 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -62,7 +62,7 @@ public:
EventMap events;
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -76,19 +76,19 @@ public:
}
}
- void EnterCombat(Unit* /*attacker*/) OVERRIDE
+ void EnterCombat(Unit* /*attacker*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_CAST_CLEAVE, urand(3000, 5000));
events.ScheduleEvent(EVENT_CAST_STARFALL, urand(8000, 10000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(SPELL_OMEN_SUMMON_SPOTLIGHT);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_ELUNE_CANDLE)
{
@@ -99,7 +99,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -123,7 +123,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_omenAI(creature);
}
@@ -140,13 +140,13 @@ public:
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_DESPAWN, 5*MINUTE*IN_MILLISECONDS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -166,7 +166,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_giant_spotlightAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp
index 654efd571f6..23def62047d 100644
--- a/src/server/scripts/Kalimdor/zone_mulgore.cpp
+++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp
@@ -24,7 +24,6 @@ SDCategory: Mulgore
EndScriptData */
/* ContentData
-npc_skorn_whitecloud
npc_kyle_frenzied
EndContentData */
@@ -34,41 +33,6 @@ EndContentData */
#include "Player.h"
#include "SpellInfo.h"
-/*######
-# npc_skorn_whitecloud
-######*/
-
-#define GOSSIP_SW "Tell me a story, Skorn."
-
-class npc_skorn_whitecloud : public CreatureScript
-{
-public:
- npc_skorn_whitecloud() : CreatureScript("npc_skorn_whitecloud") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF)
- player->SEND_GOSSIP_MENU(523, creature->GetGUID());
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (creature->IsQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (!player->GetQuestRewardStatus(770))
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
-
- player->SEND_GOSSIP_MENU(522, creature->GetGUID());
-
- return true;
- }
-
-};
-
/*#####
# npc_kyle_frenzied
######*/
@@ -90,7 +54,7 @@ class npc_kyle_frenzied : public CreatureScript
public:
npc_kyle_frenzied() : CreatureScript("npc_kyle_frenzied") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kyle_frenziedAI (creature);
}
@@ -105,7 +69,7 @@ public:
uint32 EventTimer;
uint8 EventPhase;
- void Reset() OVERRIDE
+ void Reset() override
{
EventActive = false;
IsMovingToLunch = false;
@@ -137,7 +101,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE || !EventActive)
return;
@@ -146,7 +110,7 @@ public:
IsMovingToLunch = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (EventActive)
{
@@ -202,6 +166,5 @@ public:
void AddSC_mulgore()
{
- new npc_skorn_whitecloud();
new npc_kyle_frenzied();
}
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index 6a820a88895..3dd2419de4a 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -65,7 +65,7 @@ class npcs_rutgar_and_frankal : public CreatureScript
public:
npcs_rutgar_and_frankal() : CreatureScript("npcs_rutgar_and_frankal") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -129,7 +129,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -415,7 +415,7 @@ class npc_anachronos_the_ancient : public CreatureScript
public:
npc_anachronos_the_ancient() : CreatureScript("npc_anachronos_the_ancient") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_anachronos_the_ancientAI(creature);
}
@@ -435,7 +435,7 @@ public:
uint64 PlayerGUID;
bool eventEnd;
- void Reset() OVERRIDE
+ void Reset() override
{
AnimationTimer = 1500;
AnimationCount = 0;
@@ -649,11 +649,11 @@ public:
Unit* mob = NULL;
for (uint8 i = 0; i < 4; ++i)
{
- mob = player->FindNearestCreature(entries[i], 50, me);
+ mob = player->FindNearestCreature(entries[i], 50);
while (mob)
{
mob->RemoveFromWorld();
- mob = player->FindNearestCreature(15423, 50, me);
+ mob = player->FindNearestCreature(15423, 50);
}
}
break;
@@ -717,7 +717,7 @@ public:
}
++AnimationCount;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AnimationTimer)
{
@@ -728,7 +728,7 @@ public:
if (AnimationCount < 65)
me->CombatStop();
if (AnimationCount == 65 || eventEnd)
- me->AI()->EnterEvadeMode();
+ EnterEvadeMode();
}
};
@@ -743,7 +743,7 @@ class npc_qiraj_war_spawn : public CreatureScript
public:
npc_qiraj_war_spawn() : CreatureScript("npc_qiraj_war_spawn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_qiraj_war_spawnAI(creature);
}
@@ -758,7 +758,7 @@ public:
bool Timers;
bool hasTarget;
- void Reset() OVERRIDE
+ void Reset() override
{
MobGUID = 0;
PlayerGUID = 0;
@@ -766,10 +766,10 @@ public:
hasTarget = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void JustDied(Unit* /*slayer*/) OVERRIDE;
+ void EnterCombat(Unit* /*who*/) override { }
+ void JustDied(Unit* /*slayer*/) override;
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Timers)
{
@@ -830,7 +830,7 @@ public:
}
hasTarget = true;
if (target)
- me->AI()->AttackStart(target);
+ AttackStart(target);
}
if (!(me->FindNearestCreature(15379, 60)))
DoCast(me, 33652);
@@ -856,7 +856,7 @@ class npc_anachronos_quest_trigger : public CreatureScript
public:
npc_anachronos_quest_trigger() : CreatureScript("npc_anachronos_quest_trigger") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_anachronos_quest_triggerAI(creature);
}
@@ -877,7 +877,7 @@ public:
bool Announced;
bool Failed;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
@@ -970,7 +970,7 @@ public:
Announced = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!PlayerGUID || !EventStarted)
return;
@@ -1017,11 +1017,11 @@ class go_crystalline_tear : public GameObjectScript
public:
go_crystalline_tear() : GameObjectScript("go_crystalline_tear") { }
- bool OnQuestAccept(Player* player, GameObject* go, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, GameObject* go, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_A_PAWN_ON_THE_ETERNAL_BOARD)
{
- if (Creature* trigger = go->FindNearestCreature(15454, 100, player))
+ if (Creature* trigger = go->FindNearestCreature(15454, 100))
{
Unit* Merithra = trigger->SummonCreature(15378, -8034.535f, 1535.14f, 2.61f, 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
Unit* Caelestrasz = trigger->SummonCreature(15379, -8032.767f, 1533.148f, 2.61f, 1.5f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 220000);
@@ -1288,7 +1288,7 @@ class go_wind_stone : public GameObjectScript
}
public:
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
uint8 rank = GetPlayerRank(player);
@@ -1366,7 +1366,7 @@ class go_wind_stone : public GameObjectScript
return true;
}
- bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
player->PlayerTalkClass->SendCloseGossip();
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index 3269bfb77db..780ee046eda 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -54,7 +54,7 @@ class npc_aquementas : public CreatureScript
public:
npc_aquementas() : CreatureScript("npc_aquementas") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_aquementasAI (creature);
}
@@ -70,7 +70,7 @@ public:
uint32 FrostShockTimer;
uint32 AquaJetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
SendItemTimer = 0;
SwitchFactionTimer = 10000;
@@ -102,7 +102,7 @@ public:
Talk(AGGRO_YELL_AQUE, who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (isFriendly)
{
@@ -120,7 +120,7 @@ public:
{
if (SendItemTimer <= diff)
{
- if (me->GetVictim()->GetTypeId() == TYPEID_PLAYER)
+ if (me->GetVictim() && me->EnsureVictim()->GetTypeId() == TYPEID_PLAYER)
SendItem(me->GetVictim());
SendItemTimer = 5000;
} else SendItemTimer -= diff;
@@ -171,7 +171,7 @@ class npc_custodian_of_time : public CreatureScript
public:
npc_custodian_of_time() : CreatureScript("npc_custodian_of_time") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_custodian_of_timeAI(creature);
}
@@ -265,10 +265,10 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void Reset() OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void Reset() override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
}
@@ -361,7 +361,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_OOX17AI(creature);
}
@@ -398,14 +398,14 @@ public:
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_OOX_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -451,7 +451,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_toogaAI(creature);
}
@@ -466,7 +466,7 @@ public:
uint64 TortaGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
CheckSpeechTimer = 2500;
PostEventTimer = 1000;
diff --git a/src/server/scripts/Kalimdor/zone_teldrassil.cpp b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
index a94813f2b0f..e1b2144c97c 100644
--- a/src/server/scripts/Kalimdor/zone_teldrassil.cpp
+++ b/src/server/scripts/Kalimdor/zone_teldrassil.cpp
@@ -50,7 +50,7 @@ class npc_mist : public CreatureScript
public:
npc_mist() : CreatureScript("npc_mist") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_MIST)
if (npc_mistAI* pMistAI = CAST_AI(npc_mist::npc_mistAI, creature->AI()))
@@ -59,7 +59,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mistAI(creature);
}
@@ -68,9 +68,9 @@ public:
{
npc_mistAI(Creature* creature) : FollowerAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
FollowerAI::MoveInLineOfSight(who);
@@ -98,7 +98,7 @@ public:
}
//call not needed here, no known abilities
- /*void UpdateFollowerAI(const uint32 Diff) OVERRIDE
+ /*void UpdateFollowerAI(const uint32 Diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index 1498c00d0fb..b9bfedc59e3 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -50,7 +50,7 @@ class npc_beaten_corpse : public CreatureScript
public:
npc_beaten_corpse() : CreatureScript("npc_beaten_corpse") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF +1)
@@ -61,7 +61,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_LOST_IN_BATTLE) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_LOST_IN_BATTLE) == QUEST_STATUS_COMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CORPSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
@@ -97,7 +97,7 @@ class npc_gilthares : public CreatureScript
public:
npc_gilthares() : CreatureScript("npc_gilthares") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_FREE_FROM_HOLD)
{
@@ -112,7 +112,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_giltharesAI(creature);
}
@@ -121,9 +121,9 @@ public:
{
npc_giltharesAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -153,7 +153,7 @@ public:
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
//not always use
if (rand()%4)
@@ -186,7 +186,7 @@ class npc_taskmaster_fizzule : public CreatureScript
public:
npc_taskmaster_fizzule() : CreatureScript("npc_taskmaster_fizzule") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_taskmaster_fizzuleAI(creature);
}
@@ -203,7 +203,7 @@ public:
uint32 ResetTimer;
uint8 FlareCount;
- void Reset() OVERRIDE
+ void Reset() override
{
IsFriend = false;
ResetTimer = 120000;
@@ -224,7 +224,7 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_FLARE || spell->Id == SPELL_FOLLY)
{
@@ -235,9 +235,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsFriend)
{
@@ -254,7 +254,7 @@ public:
DoMeleeAttackIfReady();
}
- void ReceiveEmote(Player* /*player*/, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* /*player*/, uint32 emote) override
{
if (emote == TEXT_EMOTE_SALUTE)
{
@@ -302,7 +302,7 @@ class npc_twiggy_flathead : public CreatureScript
public:
npc_twiggy_flathead() : CreatureScript("npc_twiggy_flathead") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_twiggy_flatheadAI(creature);
}
@@ -322,7 +322,7 @@ public:
uint64 AffrayChallenger[6];
uint64 BigWill;
- void Reset() OVERRIDE
+ void Reset() override
{
EventInProgress = false;
EventGrate = false;
@@ -340,7 +340,7 @@ public:
BigWill = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || !who->IsAlive() || EventInProgress)
return;
@@ -354,7 +354,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (EventInProgress)
{
@@ -521,7 +521,7 @@ public:
uint32 PostEventTimer;
uint32 PostEventCount;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -534,7 +534,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -557,7 +557,7 @@ public:
}
}
- void WaypointStart(uint32 PointId) OVERRIDE
+ void WaypointStart(uint32 PointId) override
{
Player* player = GetPlayerForEscort();
@@ -576,7 +576,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_PILOT_WIZZ)
me->SetStandState(UNIT_STAND_STATE_DEAD);
@@ -585,7 +585,7 @@ public:
summoned->AI()->AttackStart(me);
}
- void UpdateEscortAI(const uint32 Diff) OVERRIDE
+ void UpdateEscortAI(const uint32 Diff) override
{
if (!UpdateVictim())
{
@@ -627,7 +627,7 @@ public:
}
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE)
{
@@ -638,7 +638,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wizzlecrank_shredderAI(creature);
}
diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
index b20ad20dea2..ea76dac829a 100644
--- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
+++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
@@ -48,7 +48,7 @@ class npc_cairne_bloodhoof : public CreatureScript
public:
npc_cairne_bloodhoof() : CreatureScript("npc_cairne_bloodhoof") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_cairne_bloodhoofAI (creature);
}
@@ -63,7 +63,7 @@ public:
uint32 ThunderclapTimer;
uint32 UppercutTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
BerserkerChargeTimer = 30000;
CleaveTimer = 5000;
@@ -72,9 +72,9 @@ public:
UppercutTimer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 3ae8bc38120..11b720ad8d5 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -45,7 +45,7 @@ class npc_rivern_frostwind : public CreatureScript
public:
npc_rivern_frostwind() : CreatureScript("npc_rivern_frostwind") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -54,7 +54,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -292,7 +292,7 @@ class npc_ranshalla : public CreatureScript
{
public:
npc_ranshalla() : CreatureScript("npc_ranshalla") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_GUARDIANS_ALTAR)
{
@@ -307,7 +307,7 @@ public:
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ranshallaAI(creature);
}
@@ -328,7 +328,7 @@ public:
uint64 _voiceEluneGUID;
uint64 _altarGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
_delayTimer = 0;
}
@@ -394,7 +394,7 @@ public:
StartNextDialogueText(SAY_PRIESTESS_ALTAR_3);
}
- void WaypointReached(uint32 pointId) OVERRIDE
+ void WaypointReached(uint32 pointId) override
{
switch (pointId)
{
@@ -563,7 +563,7 @@ public:
}
- void UpdateEscortAI(const uint32 diff) OVERRIDE
+ void UpdateEscortAI(const uint32 diff) override
{
DialogueUpdate(diff);
@@ -596,7 +596,7 @@ class go_elune_fire : public GameObjectScript
{
public:
go_elune_fire() : GameObjectScript("go_elune_fire") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
// Check if we are using the torches or the altar
bool isAltar = false;
diff --git a/src/server/scripts/Maelstrom/kezan.cpp b/src/server/scripts/Maelstrom/kezan.cpp
index c20ed30ea74..7deae4267eb 100644
--- a/src/server/scripts/Maelstrom/kezan.cpp
+++ b/src/server/scripts/Maelstrom/kezan.cpp
@@ -13,117 +13,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "ScriptedGossip.h"
-#include "Player.h"
-
-/*####
-## npc_defiant_troll (http://www.wowhead.com/quest=14069)
-####*/
-
-enum DefiantTrollEnum
-{
- DEFFIANT_KILL_CREDIT = 34830,
- SPELL_LIGHTNING_VISUAL = 45870,
- SPELL_ENRAGE = 45111,
- QUEST_GOOD_HELP_IS_HARD_TO_FIND = 14069,
- GO_DEPOSIT = 195489,
- SAY_WORK = 0
-};
-
-class npc_defiant_troll : public CreatureScript
-{
-public:
- npc_defiant_troll() : CreatureScript("npc_defiant_troll") { }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_defiant_trollAI(creature);
- }
-
- struct npc_defiant_trollAI : public ScriptedAI
- {
- npc_defiant_trollAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint32 rebuffTimer;
- bool work;
-
- void Reset () OVERRIDE
- {
- rebuffTimer = 0;
- work = false;
- me->CastSpell(me, SPELL_ENRAGE, true);
- }
-
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
- {
- if (id == 1)
- work = true;
- }
-
- bool IsWorking() const { return work; }
-
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (IsWorking())
- me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_MINING);
-
- if (rebuffTimer <= diff)
- {
- Reset();
-
- switch (urand(0, 2))
- {
- case 0:
- me->HandleEmoteCommand(EMOTE_STATE_EXCLAIM);
- break;
- case 1:
- me->HandleEmoteCommand(EMOTE_STATE_DANCE);
- break;
- case 2:
- me->HandleEmoteCommand(EMOTE_ONESHOT_NONE);
- break;
- }
- rebuffTimer = 120000; // Rebuff again in 2 minutes
- }
- else
- rebuffTimer -= diff;
-
- if (!UpdateVictim())
- return;
-
- //DoMeleeAttackIfReady();
- }
- };
-
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
- {
- if (player->GetQuestStatus(QUEST_GOOD_HELP_IS_HARD_TO_FIND) == QUEST_STATUS_INCOMPLETE && !CAST_AI(npc_defiant_troll::npc_defiant_trollAI, creature->AI())->IsWorking())
- {
- player->CastSpell(creature, SPELL_LIGHTNING_VISUAL, true);
- player->KilledMonsterCredit(DEFFIANT_KILL_CREDIT, creature->GetGUID());
- creature->AI()->Talk(SAY_WORK);
- creature->RemoveAllAuras();
-
- if (GameObject* deposit = creature->FindNearestGameObject(GO_DEPOSIT, 20))
- creature->GetMotionMaster()->MovePoint(1, deposit->GetPositionX() - 1.0f, deposit->GetPositionY(), deposit->GetPositionZ());
-
- if (player->GetQuestStatus(QUEST_GOOD_HELP_IS_HARD_TO_FIND) == QUEST_STATUS_COMPLETE)
- player->RemoveAura(SPELL_LIGHTNING_VISUAL);
-
- player->CLOSE_GOSSIP_MENU();
-
- return true;
- }
-
- player->CLOSE_GOSSIP_MENU();
-
- return false;
- }
-};
-
void AddSC_kezan()
{
- new npc_defiant_troll();
}
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
index 8f71ae47bcb..42ceaec4def 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
@@ -57,14 +57,14 @@ class boss_amanitar : public CreatureScript
{
boss_amanitarAI(Creature* creature) : BossAI(creature, DATA_AMANITAR) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetMeleeDamageSchool(SPELL_SCHOOL_NATURE);
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -75,7 +75,7 @@ class boss_amanitar : public CreatureScript
events.ScheduleEvent(EVENT_SPAWN, 5 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MINI);
@@ -87,9 +87,7 @@ class boss_amanitar : public CreatureScript
for (uint8 i = 0; i < 30; ++i)
{
- Position pos;
- me->GetPosition(&pos);
- me->GetRandomNearPosition(pos, 30.0f);
+ Position pos = me->GetRandomNearPosition(30.0f);
pos.m_positionZ = me->GetMap()->GetHeight(pos.GetPositionX(), pos.GetPositionY(), MAX_HEIGHT) + 2.0f;
if (Creature* trigger = me->SummonCreature(NPC_TRIGGER, pos))
@@ -110,7 +108,7 @@ class boss_amanitar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -152,7 +150,7 @@ class boss_amanitar : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetAhnKahetAI<boss_amanitarAI>(creature);
}
@@ -169,7 +167,7 @@ public:
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_AURA, 1 * IN_MILLISECONDS);
@@ -183,16 +181,16 @@ public:
DoCast(SPELL_POWER_MUSHROOM_VISUAL_AURA);
}
- void DamageTaken(Unit* /*attacker*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
{
if (damage >= me->GetHealth() && me->GetEntry() == NPC_HEALTHY_MUSHROOM)
DoCast(me, SPELL_HEALTHY_MUSHROOM_POTENT_FUNGUS, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*victim*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*victim*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -221,7 +219,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_amanitar_mushroomsAI(creature);
}
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 fd6cce871d0..f415eeacc78 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
@@ -60,14 +60,14 @@ class boss_elder_nadox : public CreatureScript
{
boss_elder_nadoxAI(Creature* creature) : BossAI(creature, DATA_ELDER_NADOX) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
AmountHealthModifier = 1;
GuardianDied = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -82,13 +82,13 @@ class boss_elder_nadox : public CreatureScript
}
}
- void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
{
if (summon->GetEntry() == NPC_AHNKAHAR_GUARDIAN)
GuardianDied = true;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_RESPECT_YOUR_ELDERS)
return !GuardianDied ? 1 : 0;
@@ -96,19 +96,19 @@ class boss_elder_nadox : public CreatureScript
return 0;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -160,7 +160,7 @@ class boss_elder_nadox : public CreatureScript
uint8 AmountHealthModifier;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetAhnKahetAI<boss_elder_nadoxAI>(creature);
}
@@ -177,7 +177,7 @@ class npc_ahnkahar_nerubian : public CreatureScript
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
if (me->GetEntry() == NPC_AHNKAHAR_GUARDIAN)
DoCast(me, SPELL_GUARDIAN_AURA, true);
@@ -185,13 +185,13 @@ class npc_ahnkahar_nerubian : public CreatureScript
events.ScheduleEvent(EVENT_SPRINT, 13 * IN_MILLISECONDS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->GetEntry() == NPC_AHNKAHAR_GUARDIAN)
me->RemoveAurasDueToSpell(SPELL_GUARDIAN_AURA);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -215,7 +215,7 @@ class npc_ahnkahar_nerubian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ahnkahar_nerubianAI(creature);
}
@@ -234,15 +234,15 @@ public:
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
}
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*victim*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*victim*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nadox_eggsAI(creature);
}
@@ -274,14 +274,14 @@ public:
targets.remove_if (GuardianCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_elder_nadox_guardian_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_elder_nadox_guardian_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_elder_nadox_guardian_SpellScript();
}
@@ -292,7 +292,7 @@ class achievement_respect_your_elders : public AchievementCriteriaScript
public:
achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 7555ba39206..09fdbcbce70 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -82,7 +82,7 @@ public:
return 100*(me->GetHealth()-damage)/me->GetMaxHealth();
}
- void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
damage = 0;
@@ -95,7 +95,7 @@ public:
}
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (spell->Id == SPELL_INSANITY)
{
@@ -143,7 +143,7 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
uiMindFlayTimer = 8*IN_MILLISECONDS;
uiShadowBoltVolleyTimer = 5*IN_MILLISECONDS;
@@ -165,7 +165,7 @@ public:
me->SetControlled(false, UNIT_STATE_STUNNED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -173,7 +173,7 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_QUICK_DEMISE_START_EVENT);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
Summons.Summon(summon);
}
@@ -202,7 +202,7 @@ public:
return spell;
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
uint32 phase = summon->GetPhaseMask();
uint32 nextPhase = 0;
@@ -246,7 +246,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -285,7 +285,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -295,14 +295,14 @@ public:
ResetPlayersPhaseMask();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_volazjAI>(creature);
}
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 f599e6e7c27..aab0f22169f 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -87,7 +87,7 @@ public:
bool volunteerWork;
bool bFirstTime;
- void Reset() OVERRIDE
+ void Reset() override
{
uiOpFerTimer = urand(15*IN_MILLISECONDS, 20*IN_MILLISECONDS);
@@ -112,7 +112,7 @@ public:
bFirstTime = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance || (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_JEDOGA_CONTROLLER))
return;
@@ -122,7 +122,7 @@ public:
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_JEDOGA_CONTROLLER))
return;
@@ -130,7 +130,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void KilledUnit(Unit* Victim) OVERRIDE
+ void KilledUnit(Unit* Victim) override
{
if (!Victim || Victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -138,19 +138,19 @@ public:
Talk(TEXT_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(TEXT_DEATH);
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, DONE);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_INITIAND_KILLED)
volunteerWork = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_VOLUNTEER_WORK)
return volunteerWork ? 1 : 0;
@@ -158,7 +158,7 @@ public:
return 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!instance || !who || (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_JEDOGA_CONTROLLER))
return;
@@ -266,7 +266,7 @@ public:
bCanDown = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetBossState(DATA_JEDOGA_SHADOWSEEKER) != IN_PROGRESS && instance->GetData(DATA_ALL_INITIAND_DEAD))
MoveDown();
@@ -319,7 +319,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_jedoga_shadowseekerAI>(creature);
}
@@ -343,7 +343,7 @@ public:
bool bWalking;
- void Reset() OVERRIDE
+ void Reset() override
{
bWalking = false;
bCheckTimer = 2*IN_MILLISECONDS;
@@ -364,7 +364,7 @@ public:
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (!killer || !instance)
return;
@@ -388,11 +388,11 @@ public:
instance->SetData64(DATA_PL_JEDOGA_TARGET, killer->GetGUID());
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
if ((instance->GetBossState(DATA_JEDOGA_SHADOWSEEKER) == IN_PROGRESS) || !victim)
return;
@@ -400,7 +400,7 @@ public:
ScriptedAI::AttackStart(victim);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if ((instance->GetBossState(DATA_JEDOGA_SHADOWSEEKER) == IN_PROGRESS) || !who)
@@ -409,7 +409,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiPointId) override
{
if (uiType != POINT_MOTION_TYPE || !instance)
return;
@@ -430,7 +430,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bCheckTimer <= diff)
{
@@ -482,7 +482,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_jedoga_initiandAI>(creature);
}
@@ -522,13 +522,13 @@ public:
bool bCast;
bool bCast2;
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*victim*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*victim*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!bRemoved && me->GetPositionX() > 440.0f)
{
@@ -565,7 +565,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_jedogas_aufseher_triggerAI>(creature);
}
@@ -578,7 +578,7 @@ class achievement_volunteer_work : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 efe439de440..e3156e21371 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -88,9 +88,12 @@ class boss_prince_taldaram : public CreatureScript
boss_prince_taldaramAI(Creature* creature) : BossAI(creature, DATA_PRINCE_TALDARAM)
{
me->SetDisableGravity(true);
+ _flameSphereTargetGUID = 0;
+ _embraceTargetGUID = 0;
+ _embraceTakenDamage = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_flameSphereTargetGUID = 0;
@@ -98,7 +101,7 @@ class boss_prince_taldaram : public CreatureScript
_embraceTakenDamage = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -122,7 +125,7 @@ class boss_prince_taldaram : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -201,7 +204,7 @@ class boss_prince_taldaram : public CreatureScript
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
{
Unit* embraceTarget = GetEmbraceTarget();
@@ -216,13 +219,13 @@ class boss_prince_taldaram : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -269,7 +272,7 @@ class boss_prince_taldaram : public CreatureScript
uint32 _embraceTakenDamage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetAhnKahetAI<boss_prince_taldaramAI>(creature);
}
@@ -283,9 +286,12 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
struct npc_prince_taldaram_flame_sphereAI : public ScriptedAI
{
- npc_prince_taldaram_flame_sphereAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_prince_taldaram_flame_sphereAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _flameSphereTargetGUID = 0;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_FLAME_SPHERE_SPAWN_EFFECT, true);
DoCast(me, SPELL_FLAME_SPHERE_VISUAL, true);
@@ -296,15 +302,15 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
_events.ScheduleEvent(EVENT_DESPAWN, 13 * IN_MILLISECONDS);
}
- void SetGUID(uint64 guid, int32 /*id = 0*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*id = 0*/) override
{
_flameSphereTargetGUID = guid;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -361,7 +367,7 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
uint64 _flameSphereTargetGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_prince_taldaram_flame_sphereAI(creature);
}
@@ -373,7 +379,7 @@ class go_prince_taldaram_sphere : public GameObjectScript
public:
go_prince_taldaram_sphere() : GameObjectScript("go_prince_taldaram_sphere") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
@@ -413,7 +419,7 @@ class spell_prince_taldaram_conjure_flame_sphere : public SpellScriptLoader
{
PrepareSpellScript(spell_prince_taldaram_conjure_flame_sphere_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLAME_SPHERE_SUMMON_1)
|| !sSpellMgr->GetSpellInfo(SPELL_FLAME_SPHERE_SUMMON_2)
@@ -434,13 +440,13 @@ class spell_prince_taldaram_conjure_flame_sphere : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_prince_taldaram_conjure_flame_sphere_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_prince_taldaram_conjure_flame_sphere_SpellScript();
}
@@ -462,13 +468,13 @@ class spell_prince_taldaram_flame_sphere_summon : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_prince_taldaram_flame_sphere_summon_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_prince_taldaram_flame_sphere_summon_SpellScript();
}
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
index 6f03228ad76..4aa59e72556 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
@@ -55,7 +55,7 @@ class instance_ahnkahet : public InstanceMapScript
InitiandGUIDs.clear();
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -82,7 +82,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -117,7 +117,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -129,7 +129,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -156,7 +156,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -179,7 +179,7 @@ class instance_ahnkahet : public InstanceMapScript
return 0;
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
switch (type)
{
@@ -194,7 +194,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -235,7 +235,7 @@ class instance_ahnkahet : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -258,7 +258,7 @@ class instance_ahnkahet : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -269,7 +269,7 @@ class instance_ahnkahet : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -321,7 +321,7 @@ class instance_ahnkahet : public InstanceMapScript
uint8 SwitchTrigger;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ahnkahet_InstanceScript(map);
}
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index 8a9fc2993a8..a4c3edb85f3 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -113,7 +113,7 @@ public:
SummonList Summons;
- void Reset() OVERRIDE
+ void Reset() override
{
CarrionBeetlesTimer = 8*IN_MILLISECONDS;
LeechingSwarmTimer = 20*IN_MILLISECONDS;
@@ -136,8 +136,7 @@ public:
Creature* DoSummonImpaleTarget(Unit* target)
{
- Position targetPos;
- target->GetPosition(&targetPos);
+ Position targetPos = target->GetPosition();
if (TempSummon* impaleTarget = me->SummonCreature(CREATURE_IMPALE_TARGET, targetPos, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 6*IN_MILLISECONDS))
{
@@ -151,7 +150,7 @@ public:
return NULL;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DelayTimer = 0;
@@ -163,7 +162,7 @@ public:
instance->SetBossState(DATA_ANUBARAK, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -326,14 +325,14 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
Summons.DespawnAll();
instance->SetBossState(DATA_ANUBARAK, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -341,13 +340,13 @@ public:
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
Summons.Summon(summon);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_anub_arakAI>(creature);
}
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
index a7ad7dbfb4b..10d34be46b6 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
@@ -72,7 +72,7 @@ public:
float fMaxDistance;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 9.0f);
me->SetFloatValue(UNIT_FIELD_COMBATREACH, 9.0f);
@@ -91,7 +91,7 @@ public:
}
//when Hadronox kills any enemy (that includes a party member) she will regain 10% of her HP if the target had Leech Poison on
- void KilledUnit(Unit* Victim) OVERRIDE
+ void KilledUnit(Unit* Victim) override
{
// not sure if this aura check is correct, I think it is though
if (!Victim || !Victim->HasAura(DUNGEON_MODE(SPELL_LEECH_POISON, H_SPELL_LEECH_POISON)) || !me->IsAlive())
@@ -100,12 +100,12 @@ public:
me->ModifyHealth(int32(me->CountPctFromMaxHealth(10)));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_HADRONOX, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetBossState(DATA_HADRONOX, IN_PROGRESS);
me->SetInCombatWithZone();
@@ -132,7 +132,7 @@ public:
EnterEvadeMode();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -188,7 +188,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_hadronoxAI>(creature);
}
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 2fe619a5367..00aa2120225 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
@@ -26,30 +26,22 @@
enum Spells
{
SPELL_MIND_FLAY = 52586,
- H_SPELL_MIND_FLAY = 59367,
SPELL_CURSE_OF_FATIGUE = 52592,
- H_SPELL_CURSE_OF_FATIGUE = 59368,
SPELL_FRENZY = 28747, //maybe 53361
SPELL_SUMMON_SKITTERING_SWARMER = 52438, //AOE Effect 140, maybe 52439
SPELL_SUMMON_SKITTERING_SWARMER_1 = 52439, //Summon 3x 28735
- H_SPELL_ACID_SPLASH = 59363,
SPELL_ACID_SPLASH = 52446,
SPELL_CHARGE = 16979, //maybe is another spell
SPELL_BACKSTAB = 52540,
SPELL_SHADOW_BOLT = 52534,
- H_SPELL_SHADOW_BOLT = 59357,
SPELL_SHADOW_NOVA = 52535,
- H_SPELL_SHADOW_NOVA = 59358,
SPELL_STRIKE = 52532,
SPELL_CLEAVE = 49806,
SPELL_ENRAGE = 52470,
SPELL_INFECTED_BITE = 52469,
- H_SPELL_INFECTED_BITE = 59364,
SPELL_WEB_WRAP = 52086, //the spell is not working properly
SPELL_BLINDING_WEBS = 52524,
- H_SPELL_BLINDING_WEBS = 59365,
- SPELL_POSION_SPRAY = 52493,
- H_SPELL_POSION_SPRAY = 59366
+ SPELL_POSION_SPRAY = 52493
};
enum Mobs
@@ -69,7 +61,7 @@ enum Yells
SAY_SEND_GROUP = 5
};
-const Position SpawnPoint[] =
+Position const SpawnPoint[] =
{
{ 566.164f, 682.087f, 769.079f, 2.21657f },
{ 529.042f, 706.941f, 777.298f, 1.0821f },
@@ -81,444 +73,573 @@ const Position SpawnPoint[] =
{ 552.625f, 706.408f, 777.177f, 3.4383f }
};
+enum Events
+{
+ EVENT_SUMMON = 1,
+ EVENT_MIND_FLAY,
+ EVENT_CURSE_FATIGUE
+};
+
class boss_krik_thir : public CreatureScript
{
-public:
- boss_krik_thir() : CreatureScript("boss_krik_thir") { }
+ public:
+ boss_krik_thir() : CreatureScript("boss_krik_thir") { }
- struct boss_krik_thirAI : public ScriptedAI
- {
- boss_krik_thirAI(Creature* creature) : ScriptedAI(creature)
+ struct boss_krik_thirAI : public BossAI
{
- instance = creature->GetInstanceScript();
- }
+ boss_krik_thirAI(Creature* creature) : BossAI(creature, DATA_KRIKTHIR_THE_GATEWATCHER) { }
- InstanceScript* instance;
+ void Reset() override
+ {
+ _Reset();
+ }
- uint32 uiMindFlayTimer;
- uint32 uiCurseFatigueTimer;
- uint32 uiSummonTimer;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ Talk(SAY_AGGRO);
+ _EnterCombat();
+ Summon();
- void Reset() OVERRIDE
- {
- uiMindFlayTimer = 15*IN_MILLISECONDS;
- uiCurseFatigueTimer = 12*IN_MILLISECONDS;
+ events.ScheduleEvent(EVENT_SUMMON, 15000);
+ events.ScheduleEvent(EVENT_MIND_FLAY, 15000);
+ events.ScheduleEvent(EVENT_CURSE_FATIGUE, 12000);
+ }
- instance->SetBossState(DATA_KRIKTHIR_THE_GATEWATCHER, NOT_STARTED);
- }
+ void Summon()
+ {
+ for (uint8 i = 0; i < 8; i++)
+ {
+ me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[i], TEMPSUMMON_TIMED_DESPAWN, 25000);
+ uint32 summon_entry = (i == 4 || i == 5 || i == 6) ? NPC_SKITTERING_INFECTIOR : NPC_SKITTERING_SWARMER;
+ me->SummonCreature(summon_entry, SpawnPoint[i], TEMPSUMMON_TIMED_DESPAWN, 25000);
+ }
+ }
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- Talk(SAY_AGGRO);
- Summon();
- uiSummonTimer = 15*IN_MILLISECONDS;
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- instance->SetBossState(DATA_KRIKTHIR_THE_GATEWATCHER, IN_PROGRESS);
- }
+ events.Update(diff);
- void Summon()
- {
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[0], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[0], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[1], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[1], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[2], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[2], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[3], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[3], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_INFECTIOR, SpawnPoint[4], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[4], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_INFECTIOR, SpawnPoint[5], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[5], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_INFECTIOR, SpawnPoint[6], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[6], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[7], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- me->SummonCreature(NPC_SKITTERING_SWARMER, SpawnPoint[7], TEMPSUMMON_TIMED_DESPAWN, 25*IN_MILLISECONDS);
- }
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SUMMON:
+ Summon();
+ events.ScheduleEvent(EVENT_SUMMON, 15000);
+ break;
+ case EVENT_MIND_FLAY:
+ DoCastVictim(SPELL_MIND_FLAY);
+ events.ScheduleEvent(EVENT_MIND_FLAY, 15000);
+ break;
+ case EVENT_CURSE_FATIGUE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_CURSE_OF_FATIGUE);
+ events.ScheduleEvent(EVENT_CURSE_FATIGUE, 10000);
+ break;
+ default:
+ break;
+ }
+ }
- if (uiSummonTimer <= diff)
- {
- Summon();
- uiSummonTimer = 15*IN_MILLISECONDS;
- } else uiSummonTimer -= diff;
+ if (!me->HasAura(SPELL_FRENZY) && HealthBelowPct(10))
+ DoCast(me, SPELL_FRENZY, true);
- if (uiMindFlayTimer <= diff)
- {
- DoCastVictim(SPELL_MIND_FLAY);
- uiMindFlayTimer = 15*IN_MILLISECONDS;
- } else uiMindFlayTimer -= diff;
+ DoMeleeAttackIfReady();
+ }
- if (uiCurseFatigueTimer <= diff)
+ void JustDied(Unit* /*killer*/) override
{
- //WowWiki say "Curse of Fatigue-Kirk'thir will cast Curse of Fatigue on 2-3 targets periodically."
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_CURSE_OF_FATIGUE);
- if (Unit* tankTarget = SelectTarget(SELECT_TARGET_RANDOM, 1, 100, true))
- DoCast(tankTarget, SPELL_CURSE_OF_FATIGUE);
-
- uiCurseFatigueTimer = 10*IN_MILLISECONDS;
- } else uiCurseFatigueTimer -= diff;
-
- if (!me->HasAura(SPELL_FRENZY) && HealthBelowPct(10))
- DoCast(me, SPELL_FRENZY, true);
-
- DoMeleeAttackIfReady();
- }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- Talk(SAY_DEATH);
+ Talk(SAY_DEATH);
+ _JustDied();
+ }
- instance->SetBossState(DATA_KRIKTHIR_THE_GATEWATCHER, DONE);
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() != TYPEID_PLAYER)
+ return;
- void KilledUnit(Unit* victim) OVERRIDE
- {
- if (victim->GetTypeId() != TYPEID_PLAYER)
- return;
+ Talk(SAY_SLAY);
+ }
- Talk(SAY_SLAY);
- }
+ void JustSummoned(Creature* summoned) override
+ {
+ summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
+ }
+ };
- void JustSummoned(Creature* summoned) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
+ return GetAzjolNerubAI<boss_krik_thirAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<boss_krik_thirAI>(creature);
- }
};
class npc_skittering_infector : public CreatureScript
{
-public:
- npc_skittering_infector() : CreatureScript("npc_skittering_infector") { }
+ public:
+ npc_skittering_infector() : CreatureScript("npc_skittering_infector") { }
+
+ struct npc_skittering_infectorAI : public ScriptedAI
+ {
+ npc_skittering_infectorAI(Creature* creature) : ScriptedAI(creature) { }
- struct npc_skittering_infectorAI : public ScriptedAI
- {
- npc_skittering_infectorAI(Creature* creature) : ScriptedAI(creature) { }
+ void JustDied(Unit* /*killer*/) override
+ {
+ DoCastAOE(SPELL_ACID_SPLASH);
+ }
+ };
- void JustDied(Unit* /*killer*/) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- //The spell is not working propperly
- DoCastVictim(SPELL_ACID_SPLASH, true);
+ return GetAzjolNerubAI<npc_skittering_infectorAI>(creature);
}
- };
+};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_skittering_infectorAI(creature);
- }
+enum TrashEvents
+{
+ // Anubar Skrimisher
+ EVENT_ANUBAR_CHARGE = 1,
+ EVENT_BACKSTAB,
+
+ // Anubar Shadowcaster
+ EVENT_SHADOW_BOLT,
+ EVENT_SHADOW_NOVA,
+
+ // Anubar Warrior
+ EVENT_STRIKE,
+ EVENT_CLEAVE,
+
+ // Watcher Gashra
+ EVENT_WEB_WRAP_GASHRA,
+ EVENT_INFECTED_BITE_GASHRA,
+
+ // Watcher Narjil
+ EVENT_WEB_WRAP_NARJIL,
+ EVENT_INFECTED_BITE_NARJIL,
+ EVENT_BINDING_WEBS,
+
+ // Watcher Silthik
+ EVENT_WEB_WRAP_SILTHIK,
+ EVENT_INFECTED_BITE_SILTHIK,
+ EVENT_POISON_SPRAY
};
class npc_anub_ar_skirmisher : public CreatureScript
{
-public:
- npc_anub_ar_skirmisher() : CreatureScript("npc_anub_ar_skirmisher") { }
-
- struct npc_anub_ar_skirmisherAI : public ScriptedAI
- {
- npc_anub_ar_skirmisherAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint32 uiChargeTimer;
- uint32 uiBackstabTimer;
+ public:
+ npc_anub_ar_skirmisher() : CreatureScript("npc_anub_ar_skirmisher") { }
- void Reset() OVERRIDE
+ struct npc_anub_ar_skirmisherAI : public ScriptedAI
{
- uiChargeTimer = 11*IN_MILLISECONDS;
- uiBackstabTimer = 7*IN_MILLISECONDS;
- }
+ npc_anub_ar_skirmisherAI(Creature* creature) : ScriptedAI(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ void Reset() override
+ {
+ events.Reset();
+ }
- if (uiChargeTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ events.ScheduleEvent(EVENT_ANUBAR_CHARGE, 11000);
+ events.ScheduleEvent(EVENT_BACKSTAB, 7000);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ while (uint32 eventId = events.ExecuteEvent())
{
- DoResetThreat();
- me->AddThreat(target, 1.0f);
- DoCast(target, SPELL_CHARGE, true);
+ switch (eventId)
+ {
+ case EVENT_ANUBAR_CHARGE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ {
+ DoResetThreat();
+ me->AddThreat(target, 1.0f);
+ DoCast(target, SPELL_CHARGE, true);
+ }
+ events.ScheduleEvent(EVENT_ANUBAR_CHARGE, 15000);
+ break;
+ case EVENT_BACKSTAB:
+ DoCastVictim(SPELL_BACKSTAB);
+ events.ScheduleEvent(EVENT_BACKSTAB, 12000);
+ break;
+ default:
+ break;
+ }
}
- uiChargeTimer = 15*IN_MILLISECONDS;
- } else uiChargeTimer -= diff;
- if (uiBackstabTimer <= diff)
- {
- DoCastVictim(SPELL_BACKSTAB);
- uiBackstabTimer = 12*IN_MILLISECONDS;
- } else uiBackstabTimer -= diff;
+ DoMeleeAttackIfReady();
+ }
- DoMeleeAttackIfReady();
+ private:
+ EventMap events;
+ };
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetAzjolNerubAI<npc_anub_ar_skirmisherAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_anub_ar_skirmisherAI(creature);
- }
};
class npc_anub_ar_shadowcaster : public CreatureScript
{
-public:
- npc_anub_ar_shadowcaster() : CreatureScript("npc_anub_ar_shadowcaster") { }
-
- struct npc_anub_ar_shadowcasterAI : public ScriptedAI
- {
- npc_anub_ar_shadowcasterAI(Creature* creature) : ScriptedAI(creature) { }
-
- uint32 uiShadowBoltTimer;
- uint32 uiShadowNovaTimer;
+ public:
+ npc_anub_ar_shadowcaster() : CreatureScript("npc_anub_ar_shadowcaster") { }
- void Reset() OVERRIDE
+ struct npc_anub_ar_shadowcasterAI : public ScriptedAI
{
- uiShadowBoltTimer = 6*IN_MILLISECONDS;
- uiShadowNovaTimer = 15*IN_MILLISECONDS;
- }
+ npc_anub_ar_shadowcasterAI(Creature* creature) : ScriptedAI(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ void Reset() override
+ {
+ events.Reset();
+ }
- if (uiShadowBoltTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_SHADOW_BOLT, true);
- uiShadowBoltTimer = 15*IN_MILLISECONDS;
- } else uiShadowBoltTimer -= diff;
+ events.ScheduleEvent(EVENT_SHADOW_BOLT, 6000);
+ events.ScheduleEvent(EVENT_SHADOW_NOVA, 15000);
+ }
- if (uiShadowNovaTimer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCastVictim(SPELL_SHADOW_NOVA, true);
- uiShadowNovaTimer = 17*IN_MILLISECONDS;
- } else uiShadowNovaTimer -= diff;
+ if (!UpdateVictim())
+ return;
- DoMeleeAttackIfReady();
- }
- };
+ events.Update(diff);
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_anub_ar_shadowcasterAI(creature);
- }
-};
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
-class npc_anub_ar_warrior : public CreatureScript
-{
-public:
- npc_anub_ar_warrior() : CreatureScript("npc_anub_ar_warrior") { }
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_SHADOW_BOLT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_SHADOW_BOLT, true);
+ events.ScheduleEvent(EVENT_SHADOW_BOLT, 15000);
+ break;
+ case EVENT_SHADOW_NOVA:
+ DoCastVictim(SPELL_SHADOW_NOVA, true);
+ events.ScheduleEvent(EVENT_SHADOW_NOVA, 17000);
+ break;
+ default:
+ break;
+ }
+ }
- struct npc_anub_ar_warriorAI : public ScriptedAI
- {
- npc_anub_ar_warriorAI(Creature* creature) : ScriptedAI(creature){ }
+ DoMeleeAttackIfReady();
+ }
- uint32 uiCleaveTimer;
- uint32 uiStrikeTimer;
+ private:
+ EventMap events;
+ };
- void Reset() OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- uiCleaveTimer = 11*IN_MILLISECONDS;
- uiStrikeTimer = 6*IN_MILLISECONDS;
+ return GetAzjolNerubAI<npc_anub_ar_shadowcasterAI>(creature);
}
+};
+
+class npc_anub_ar_warrior : public CreatureScript
+{
+ public:
+ npc_anub_ar_warrior() : CreatureScript("npc_anub_ar_warrior") { }
- void UpdateAI(uint32 diff) OVERRIDE
+ struct npc_anub_ar_warriorAI : public ScriptedAI
{
- if (!UpdateVictim())
- return;
+ npc_anub_ar_warriorAI(Creature* creature) : ScriptedAI(creature) { }
- if (uiStrikeTimer <= diff)
+ void Reset() override
{
- DoCastVictim(SPELL_STRIKE, true);
- uiStrikeTimer = 15*IN_MILLISECONDS;
- } else uiStrikeTimer -= diff;
+ events.Reset();
+ }
- if (uiCleaveTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- DoCastVictim(SPELL_CLEAVE, true);
- uiCleaveTimer = 17*IN_MILLISECONDS;
- } else uiCleaveTimer -= diff;
+ events.ScheduleEvent(EVENT_CLEAVE, 11000);
+ events.ScheduleEvent(EVENT_STRIKE, 6000);
+ }
- DoMeleeAttackIfReady();
- }
- };
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_anub_ar_warriorAI(creature);
- }
-};
+ events.Update(diff);
-class npc_watcher_gashra : public CreatureScript
-{
-public:
- npc_watcher_gashra() : CreatureScript("npc_watcher_gashra") { }
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- struct npc_watcher_gashraAI : public ScriptedAI
- {
- npc_watcher_gashraAI(Creature* creature) : ScriptedAI(creature) { }
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_CLEAVE:
+ DoCastVictim(SPELL_STRIKE, true);
+ events.ScheduleEvent(EVENT_CLEAVE, 15000);
+ break;
+ case EVENT_STRIKE:
+ DoCastVictim(SPELL_CLEAVE, true);
+ events.ScheduleEvent(EVENT_STRIKE, 17000);
+ break;
+ default:
+ break;
+ }
+ }
- uint32 uiWebWrapTimer;
- uint32 uiInfectedBiteTimer;
+ DoMeleeAttackIfReady();
+ }
- void Reset() OVERRIDE
- {
- uiWebWrapTimer = 11*IN_MILLISECONDS;
- uiInfectedBiteTimer = 4*IN_MILLISECONDS;
- }
+ private:
+ EventMap events;
+ };
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- DoCast(me, SPELL_ENRAGE, true);
+ return GetAzjolNerubAI<npc_anub_ar_warriorAI>(creature);
}
+};
- void UpdateAI(uint32 diff) OVERRIDE
+class npc_watcher_gashra : public CreatureScript
+{
+ public:
+ npc_watcher_gashra() : CreatureScript("npc_watcher_gashra") { }
+
+ struct npc_watcher_gashraAI : public ScriptedAI
{
- if (!UpdateVictim())
- return;
+ npc_watcher_gashraAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
- if (uiWebWrapTimer <= diff)
+ void Reset() override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_WEB_WRAP, true);
- uiWebWrapTimer = 17*IN_MILLISECONDS;
- } else uiWebWrapTimer -= diff;
+ _events.Reset();
+ }
- if (uiInfectedBiteTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- DoCastVictim(SPELL_INFECTED_BITE, true);
- uiInfectedBiteTimer = 15*IN_MILLISECONDS;
- } else uiInfectedBiteTimer -= diff;
+ DoCast(me, SPELL_ENRAGE, true);
+ _events.ScheduleEvent(EVENT_WEB_WRAP_GASHRA, 11000);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_GASHRA, 4000);
+ }
- DoMeleeAttackIfReady();
- }
- };
+ void JustDied(Unit* /*killer*/) override
+ {
+ Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ if (krikthir && krikthir->IsAlive())
+ krikthir->AI()->Talk(SAY_PREFIGHT);
+ }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_watcher_gashraAI(creature);
- }
-};
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
-class npc_watcher_narjil : public CreatureScript
-{
-public:
- npc_watcher_narjil() : CreatureScript("npc_watcher_narjil") { }
+ _events.Update(diff);
- struct npc_watcher_narjilAI : public ScriptedAI
- {
- npc_watcher_narjilAI(Creature* creature) : ScriptedAI(creature) { }
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_WEB_WRAP_GASHRA:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_WEB_WRAP, true);
+ _events.ScheduleEvent(EVENT_WEB_WRAP_GASHRA, 17000);
+ break;
+ case EVENT_INFECTED_BITE_GASHRA:
+ DoCastVictim(SPELL_INFECTED_BITE, true);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_GASHRA, 15000);
+ break;
+ default:
+ break;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
- uint32 uiWebWrapTimer;
- uint32 uiInfectedBiteTimer;
- uint32 uiBindingWebsTimer;
+ private:
+ EventMap _events;
+ InstanceScript* _instance;
+ };
- void Reset() OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- uiWebWrapTimer = 11*IN_MILLISECONDS;
- uiInfectedBiteTimer = 4*IN_MILLISECONDS;
- uiBindingWebsTimer = 17*IN_MILLISECONDS;
+ return GetAzjolNerubAI<npc_watcher_gashraAI>(creature);
}
+};
+
+class npc_watcher_narjil : public CreatureScript
+{
+ public:
+ npc_watcher_narjil() : CreatureScript("npc_watcher_narjil") { }
- void UpdateAI(uint32 diff) OVERRIDE
+ struct npc_watcher_narjilAI : public ScriptedAI
{
- if (!UpdateVictim())
- return;
+ npc_watcher_narjilAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
+
+ void Reset() override
+ {
+ _events.Reset();
+ }
- if (uiWebWrapTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_WEB_WRAP, true);
- uiWebWrapTimer = 15*IN_MILLISECONDS;
- } else uiWebWrapTimer -= diff;
+ _events.ScheduleEvent(EVENT_WEB_WRAP_NARJIL, 11000);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_NARJIL, 4000);
+ _events.ScheduleEvent(EVENT_BINDING_WEBS, 17000);
+ }
- if (uiInfectedBiteTimer <= diff)
+ void JustDied(Unit* /*killer*/) override
{
- DoCastVictim(SPELL_INFECTED_BITE, true);
- uiInfectedBiteTimer = 11*IN_MILLISECONDS;
- } else uiInfectedBiteTimer -= diff;
+ Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ if (krikthir && krikthir->IsAlive())
+ krikthir->AI()->Talk(SAY_PREFIGHT);
+ }
- if (uiBindingWebsTimer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCastVictim(SPELL_BLINDING_WEBS, true);
- uiBindingWebsTimer = 17*IN_MILLISECONDS;
- } else uiBindingWebsTimer -= diff;
+ if (!UpdateVictim())
+ return;
- DoMeleeAttackIfReady();
- }
- };
+ _events.Update(diff);
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_watcher_narjilAI(creature);
- }
-};
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
-class npc_watcher_silthik : public CreatureScript
-{
-public:
- npc_watcher_silthik() : CreatureScript("npc_watcher_silthik") { }
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_WEB_WRAP_NARJIL:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_WEB_WRAP, true);
+ _events.ScheduleEvent(EVENT_WEB_WRAP_NARJIL, 15000);
+ break;
+ case EVENT_INFECTED_BITE_NARJIL:
+ DoCastVictim(SPELL_INFECTED_BITE, true);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_NARJIL, 11000);
+ break;
+ case EVENT_BINDING_WEBS:
+ DoCastVictim(SPELL_BLINDING_WEBS, true);
+ _events.ScheduleEvent(EVENT_BINDING_WEBS, 17000);
+ break;
+ default:
+ break;
+ }
+ }
- struct npc_watcher_silthikAI : public ScriptedAI
- {
- npc_watcher_silthikAI(Creature* creature) : ScriptedAI(creature) { }
+ DoMeleeAttackIfReady();
+ }
- uint32 uiWebWrapTimer;
- uint32 uiInfectedBiteTimer;
- uint32 uiPoisonSprayTimer;
+ private:
+ EventMap _events;
+ InstanceScript* _instance;
+ };
- void Reset() OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- uiWebWrapTimer = 11*IN_MILLISECONDS;
- uiInfectedBiteTimer = 4*IN_MILLISECONDS;
- uiPoisonSprayTimer = 15*IN_MILLISECONDS;
+ return GetAzjolNerubAI<npc_watcher_narjilAI>(creature);
}
+};
- void UpdateAI(uint32 diff) OVERRIDE
+class npc_watcher_silthik : public CreatureScript
+{
+ public:
+ npc_watcher_silthik() : CreatureScript("npc_watcher_silthik") { }
+
+ struct npc_watcher_silthikAI : public ScriptedAI
{
- if (!UpdateVictim())
- return;
+ npc_watcher_silthikAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
- if (uiWebWrapTimer <= diff)
+ void Reset() override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- DoCast(target, SPELL_WEB_WRAP, true);
+ _events.Reset();
+ }
- uiWebWrapTimer = 15*IN_MILLISECONDS;
- } else uiWebWrapTimer -= diff;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_WEB_WRAP_SILTHIK, 11000);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_SILTHIK, 4000);
+ _events.ScheduleEvent(EVENT_POISON_SPRAY, 15000);
+ }
- if (uiInfectedBiteTimer <= diff)
+ void JustDied(Unit* /*killer*/) override
{
- DoCastVictim(SPELL_INFECTED_BITE, true);
- uiInfectedBiteTimer = 15*IN_MILLISECONDS;
- } else uiInfectedBiteTimer -= diff;
+ Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ if (krikthir && krikthir->IsAlive())
+ krikthir->AI()->Talk(SAY_PREFIGHT);
+ }
- if (uiPoisonSprayTimer <= diff)
+ void UpdateAI(uint32 diff) override
{
- DoCastVictim(SPELL_POSION_SPRAY, true);
- uiPoisonSprayTimer = 17*IN_MILLISECONDS;
- } else uiPoisonSprayTimer -= diff;
+ if (!UpdateVictim())
+ return;
- DoMeleeAttackIfReady();
+ _events.Update(diff);
- }
- };
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_watcher_silthikAI(creature);
- }
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_WEB_WRAP_SILTHIK:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(target, SPELL_WEB_WRAP, true);
+ _events.ScheduleEvent(EVENT_WEB_WRAP_SILTHIK, 15000);
+ break;
+ case EVENT_INFECTED_BITE_SILTHIK:
+ DoCastVictim(SPELL_INFECTED_BITE, true);
+ _events.ScheduleEvent(EVENT_INFECTED_BITE_SILTHIK, 11000);
+ break;
+ case EVENT_POISON_SPRAY:
+ DoCastVictim(SPELL_POSION_SPRAY, true);
+ _events.ScheduleEvent(EVENT_POISON_SPRAY, 17000);
+ break;
+ default:
+ break;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ EventMap _events;
+ InstanceScript* _instance;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetAzjolNerubAI<npc_watcher_silthikAI>(creature);
+ }
};
class achievement_watch_him_die : public AchievementCriteriaScript
@@ -528,7 +649,7 @@ class achievement_watch_him_die : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
index 0b641eea3bc..106d7e54150 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
@@ -48,7 +48,7 @@ class instance_azjol_nerub : public InstanceMapScript
WatcherNarjilGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -75,7 +75,7 @@ class instance_azjol_nerub : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -90,7 +90,7 @@ class instance_azjol_nerub : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -105,7 +105,7 @@ class instance_azjol_nerub : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -128,7 +128,7 @@ class instance_azjol_nerub : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -139,7 +139,7 @@ class instance_azjol_nerub : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -180,7 +180,7 @@ class instance_azjol_nerub : public InstanceMapScript
uint64 WatcherNarjilGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_azjol_nerub_InstanceScript(map);
}
diff --git a/src/server/scripts/Northrend/CMakeLists.txt b/src/server/scripts/Northrend/CMakeLists.txt
index 42a7ee15bb6..aff3c0a9528 100644
--- a/src/server/scripts/Northrend/CMakeLists.txt
+++ b/src/server/scripts/Northrend/CMakeLists.txt
@@ -168,6 +168,7 @@ set(scripts_STAT_SRCS
Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+ Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
Northrend/IcecrownCitadel/boss_festergut.cpp
Northrend/IcecrownCitadel/boss_rotface.cpp
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 045564ce570..12c3c580cae 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -134,7 +134,7 @@ public:
{
boss_sartharionAI(Creature* creature) : BossAI(creature, DATA_SARTHARION) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_isBerserk = false;
_isSoftEnraged = false;
@@ -150,12 +150,12 @@ public:
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_SARTHARION_AGGRO);
_EnterCombat();
@@ -173,7 +173,7 @@ public:
events.ScheduleEvent(EVENT_CALL_VESPERON, 120000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_SARTHARION_DEATH);
_JustDied();
@@ -191,7 +191,7 @@ public:
vesperon->DisappearAndDie();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SARTHARION_SLAY);
@@ -375,7 +375,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == TWILIGHT_ACHIEVEMENTS)
return drakeCount;
@@ -398,7 +398,7 @@ public:
Trinity::Containers::SelectRandomContainerElement(fireCyclonesList)->CastSpell(target, SPELL_LAVA_STRIKE, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -506,7 +506,7 @@ public:
uint8 drakeCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<boss_sartharionAI>(creature);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
index be5a42517b5..0d07a9fde50 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
@@ -32,7 +32,7 @@ public:
{
instance_obsidian_sanctum_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
sartharionGUID = 0;
tenebronGUID = 0;
@@ -40,7 +40,7 @@ public:
vesperonGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -64,7 +64,7 @@ public:
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -82,7 +82,7 @@ public:
return true;
}
- uint64 GetData64(uint32 Data) const OVERRIDE
+ uint64 GetData64(uint32 Data) const override
{
switch (Data)
{
@@ -98,7 +98,7 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -109,7 +109,7 @@ public:
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -148,7 +148,7 @@ public:
uint64 vesperonGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_obsidian_sanctum_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
index 9ae6f811e19..2caa16fc19d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
@@ -73,7 +73,7 @@ enum Enums
//Whelps
NPC_TWILIGHT_WHELP = 30890,
- NPC_SHARTHARION_TWILIGHT_WHELP = 31214,
+ NPC_SARTHARION_TWILIGHT_WHELP = 31214,
SPELL_FADE_ARMOR = 60708, // Reduces the armor of an enemy by 1500 for 15s
//flame tsunami
@@ -168,7 +168,7 @@ struct dummy_dragonAI : public ScriptedAI
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -180,7 +180,7 @@ struct dummy_dragonAI : public ScriptedAI
_canLoot = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoZoneInCombat();
@@ -189,13 +189,13 @@ struct dummy_dragonAI : public ScriptedAI
events.ScheduleEvent(EVENT_SHADOW_BREATH, 20000);
}
- void SetData(uint32 type, uint32 value) OVERRIDE
+ void SetData(uint32 type, uint32 value) override
{
if (type == DATA_CAN_LOOT)
_canLoot = value;
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (!instance || type != POINT_MOTION_TYPE)
return;
@@ -253,7 +253,7 @@ struct dummy_dragonAI : public ScriptedAI
{
case NPC_TENEBRON:
{
- if (!instance->GetBossState(DATA_SARTHARION) == IN_PROGRESS)
+ if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
{
for (uint32 i = 0; i < 6; ++i)
me->SummonCreature(NPC_TWILIGHT_EGG, TwilightEggs[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000);
@@ -267,7 +267,7 @@ struct dummy_dragonAI : public ScriptedAI
}
case NPC_SHADRON:
{
- if (!instance->GetBossState(DATA_SARTHARION) == IN_PROGRESS)
+ if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
me->SummonCreature(NPC_ACOLYTE_OF_SHADRON, AcolyteofShadron, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 28000);
else
me->SummonCreature(NPC_ACOLYTE_OF_SHADRON, AcolyteofShadron2, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 28000);
@@ -276,7 +276,7 @@ struct dummy_dragonAI : public ScriptedAI
}
case NPC_VESPERON:
{
- if (!instance->GetBossState(DATA_SARTHARION) == IN_PROGRESS)
+ if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
{
if (Creature* acolyte = me->SummonCreature(NPC_ACOLYTE_OF_VESPERON, AcolyteofVesperon, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20000))
{
@@ -311,13 +311,13 @@ struct dummy_dragonAI : public ScriptedAI
// Refresh respawnTime so time again are set to 30secs?
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!_canLoot)
me->SetLootRecipient(NULL);
@@ -365,7 +365,7 @@ struct dummy_dragonAI : public ScriptedAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -417,19 +417,19 @@ public:
{
npc_tenebronAI(Creature* creature) : dummy_dragonAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
dummy_dragonAI::Reset();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
dummy_dragonAI::EnterCombat(who);
events.ScheduleEvent(EVENT_HATCH_EGGS, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// if no target, update dummy and return
if (!UpdateVictim())
@@ -458,7 +458,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_tenebronAI>(creature);
}
@@ -477,7 +477,7 @@ public:
{
npc_shadronAI(Creature* creature) : dummy_dragonAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
dummy_dragonAI::Reset();
@@ -490,14 +490,14 @@ public:
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
dummy_dragonAI::EnterCombat(who);
events.ScheduleEvent(EVENT_ACOLYTE_SHADRON, 60000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// if no target, update dummy and return
if (!UpdateVictim())
@@ -537,7 +537,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_shadronAI>(creature);
}
@@ -556,19 +556,19 @@ public:
{
npc_vesperonAI(Creature* creature) : dummy_dragonAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
dummy_dragonAI::Reset();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
dummy_dragonAI::EnterCombat(who);
events.ScheduleEvent(EVENT_ACOLYTE_VESPERON, 60000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// if no target, update dummy and return
if (!UpdateVictim())
@@ -603,7 +603,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_vesperonAI>(creature);
}
@@ -625,7 +625,7 @@ class npc_acolyte_of_shadron : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
// Despawn the NPC automatically after 28 seconds
me->DespawnOrUnsummon(28000);
@@ -645,7 +645,7 @@ class npc_acolyte_of_shadron : public CreatureScript
me->AddAura(SPELL_TWILIGHT_SHIFT_ENTER, me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
@@ -681,7 +681,7 @@ class npc_acolyte_of_shadron : public CreatureScript
debuffTarget->RemoveAurasDueToSpell(SPELL_GIFT_OF_TWILIGTH_SHA);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -693,7 +693,7 @@ class npc_acolyte_of_shadron : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_acolyte_of_shadronAI>(creature);
}
@@ -715,7 +715,7 @@ class npc_acolyte_of_vesperon : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
// Despawn the NPC automatically after 28 seconds
me->DespawnOrUnsummon(28000);
@@ -725,7 +725,7 @@ class npc_acolyte_of_vesperon : public CreatureScript
DoCast(me, SPELL_TWILIGHT_TORMENT_VESP_ACO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->RemoveAurasDueToSpell(SPELL_TWILIGHT_TORMENT_VESP_ACO);
@@ -765,7 +765,7 @@ class npc_acolyte_of_vesperon : public CreatureScript
instance->DoRemoveAurasDueToSpellOnPlayers(58835); // Components of spell Twilight Torment
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -777,7 +777,7 @@ class npc_acolyte_of_vesperon : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_acolyte_of_vesperonAI>(creature);
}
@@ -805,7 +805,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->AddAura(SPELL_TWILIGHT_SHIFT_ENTER, me);
@@ -816,19 +816,19 @@ public:
{
me->RemoveAllAuras();
- if (!instance->GetBossState(DATA_SARTHARION) == IN_PROGRESS)
+ if (instance->GetBossState(DATA_SARTHARION) != IN_PROGRESS)
me->SummonCreature(NPC_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
else
- me->SummonCreature(NPC_SHARTHARION_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
+ me->SummonCreature(NPC_SARTHARION_TWILIGHT_WHELP, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 60000);
me->DealDamage(me, me->GetHealth());
}
- void JustSummoned(Creature* who) OVERRIDE
+ void JustSummoned(Creature* who) override
{
who->SetInCombatWithZone();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -846,7 +846,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetObsidianSanctumAI<npc_twilight_eggsAI>(creature);
}
@@ -875,7 +875,7 @@ public:
me->AddAura(SPELL_FLAME_TSUNAMI, me);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
events.ScheduleEvent(EVENT_TSUNAMI_TIMER, 100);
@@ -883,7 +883,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -908,7 +908,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_flame_tsunamiAI(creature);
}
@@ -935,7 +935,7 @@ public:
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->AddAura(46265, me); // Wrong, can't find proper visual
@@ -943,7 +943,7 @@ public:
events.ScheduleEvent(EVENT_VOID_BLAST, 5000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -962,7 +962,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_twilight_fissureAI(creature);
}
@@ -989,14 +989,14 @@ public:
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveAllAuras();
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_FADE_ARMOR, 1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1017,7 +1017,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_twilight_whelpAI(creature);
}
@@ -1028,7 +1028,7 @@ class achievement_twilight_assist : public AchievementCriteriaScript
public:
achievement_twilight_assist() : AchievementCriteriaScript("achievement_twilight_assist") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(TWILIGHT_ACHIEVEMENTS) >= 1;
}
@@ -1039,7 +1039,7 @@ class achievement_twilight_duo : public AchievementCriteriaScript
public:
achievement_twilight_duo() : AchievementCriteriaScript("achievement_twilight_duo") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(TWILIGHT_ACHIEVEMENTS) >= 2;
}
@@ -1050,7 +1050,7 @@ class achievement_twilight_zone : public AchievementCriteriaScript
public:
achievement_twilight_zone() : AchievementCriteriaScript("achievement_twilight_zone") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(TWILIGHT_ACHIEVEMENTS) == 3;
}
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 6c0acc9bba4..69605574f86 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
@@ -76,7 +76,7 @@ class boss_baltharus_the_warborn : public CreatureScript
_introDone = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.SetPhase(PHASE_INTRO);
@@ -85,7 +85,7 @@ class boss_baltharus_the_warborn : public CreatureScript
instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetMaxHealth());
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -110,7 +110,7 @@ class boss_baltharus_the_warborn : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->InterruptNonMeleeSpells(false);
_EnterCombat();
@@ -122,7 +122,7 @@ class boss_baltharus_the_warborn : public CreatureScript
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -130,20 +130,20 @@ class boss_baltharus_the_warborn : public CreatureScript
xerestrasza->AI()->DoAction(ACTION_BALTHARUS_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
summon->SetHealth(me->GetHealth());
summon->CastSpell(summon, SPELL_SPAWN_EFFECT, true);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
{
@@ -162,7 +162,7 @@ class boss_baltharus_the_warborn : public CreatureScript
instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetHealth() - damage);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
bool introPhase = events.IsInPhase(PHASE_INTRO);
if (!UpdateVictim() && !introPhase)
@@ -215,7 +215,7 @@ class boss_baltharus_the_warborn : public CreatureScript
bool _introDone;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<boss_baltharus_the_warbornAI>(creature);
}
@@ -233,7 +233,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
_events.Reset();
@@ -242,21 +242,21 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
_events.ScheduleEvent(EVENT_ENERVATING_BRAND, urand(10000, 15000));
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
// Setting DATA_BALTHARUS_SHARED_HEALTH to 0 when killed would bug the boss.
if (_instance && me->GetHealth() > damage)
_instance->SetData(DATA_BALTHARUS_SHARED_HEALTH, me->GetHealth() - damage);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
// This is here because DamageTaken wont trigger if the damage is deadly.
if (Creature* baltharus = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_BALTHARUS_THE_WARBORN)))
killer->Kill(baltharus);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -299,7 +299,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_baltharus_the_warborn_cloneAI>(creature);
}
@@ -323,13 +323,13 @@ class spell_baltharus_enervating_brand_trigger : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::CheckDistance);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_baltharus_enervating_brand_trigger_SpellScript();
}
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 d0b0db2e1ab..b5c20e95278 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -94,14 +94,14 @@ class boss_general_zarithrian : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (instance->GetBossState(DATA_SAVIANA_RAGEFIRE) == DONE && instance->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE)
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -111,36 +111,36 @@ class boss_general_zarithrian : public CreatureScript
events.ScheduleEvent(EVENT_SUMMON_ADDS, 40000);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_GENERAL_ZARITHRIAN, FAIL);
}
// Override to not set adds in combat yet.
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- bool CanAIAttack(Unit const* /*target*/) const OVERRIDE
+ bool CanAIAttack(Unit const* /*target*/) const override
{
return (instance->GetBossState(DATA_SAVIANA_RAGEFIRE) == DONE && instance->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -189,7 +189,7 @@ class boss_general_zarithrian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<boss_general_zarithrianAI>(creature);
}
@@ -207,7 +207,7 @@ class npc_onyx_flamecaller : public CreatureScript
npc_escortAI::SetDespawnAtEnd(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_lavaGoutCount = 0;
me->setActive(true);
@@ -215,28 +215,28 @@ class npc_onyx_flamecaller : public CreatureScript
Start(true, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_BLAST_NOVA, urand(20000, 30000));
_events.ScheduleEvent(EVENT_LAVA_GOUT, 5000);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
// Prevent EvadeMode
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
- // Let Zarithrian count as summoner. _instance cant be null since we got GetRubySanctumAI
+ // Let Zarithrian count as summoner.
if (Creature* zarithrian = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_GENERAL_ZARITHRIAN)))
zarithrian->AI()->JustSummoned(me);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
- if (waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS || waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS*2)
+ if (waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS - 1 || waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS * 2 - 1)
{
DoZoneInCombat();
SetEscortPaused(true);
@@ -257,7 +257,7 @@ class npc_onyx_flamecaller : public CreatureScript
}
}
- void UpdateEscortAI(uint32 const diff) OVERRIDE
+ void UpdateEscortAI(uint32 const diff) override
{
if (!UpdateVictim())
return;
@@ -299,7 +299,7 @@ class npc_onyx_flamecaller : public CreatureScript
uint8 _lavaGoutCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_onyx_flamecallerAI>(creature);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index b5bd510addc..9404694e706 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -198,8 +198,8 @@ uint8 const MAX_CORPOREALITY_STATE = 11;
struct CorporealityEntry
{
- uint32 materialRealmSpell;
uint32 twilightRealmSpell;
+ uint32 materialRealmSpell;
};
CorporealityEntry const _corporealityReference[MAX_CORPOREALITY_STATE] = {
@@ -220,7 +220,7 @@ struct generic_halionAI : public BossAI
{
generic_halionAI(Creature* creature, uint32 bossId) : BossAI(creature, bossId), _canEvade(false) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
me->AddAura(SPELL_TWILIGHT_PRECISION, me);
@@ -230,19 +230,19 @@ struct generic_halionAI : public BossAI
events.ScheduleEvent(EVENT_BREATH, urand(10000, 15000));
}
- void Reset() OVERRIDE
+ void Reset() override
{
_canEvade = false;
_Reset();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_JustReachedHome();
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -261,7 +261,7 @@ struct generic_halionAI : public BossAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -274,7 +274,7 @@ struct generic_halionAI : public BossAI
DoMeleeAttackIfReady();
}
- void SetData(uint32 index, uint32 dataValue) OVERRIDE
+ void SetData(uint32 index, uint32 dataValue) override
{
switch (index)
{
@@ -286,7 +286,7 @@ struct generic_halionAI : public BossAI
}
}
- void SpellHit(Unit* /*who*/, SpellInfo const* spellInfo) OVERRIDE
+ void SpellHit(Unit* /*who*/, SpellInfo const* spellInfo) override
{
if (spellInfo->Id == SPELL_TWILIGHT_MENDING)
Talk(SAY_REGENERATE);
@@ -308,7 +308,7 @@ class boss_halion : public CreatureScript
me->SetHomePosition(HalionSpawnPos);
}
- void Reset() OVERRIDE
+ void Reset() override
{
generic_halionAI::Reset();
me->SetReactState(REACT_DEFENSIVE);
@@ -316,14 +316,14 @@ class boss_halion : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
// Phase 1: We always can evade. Phase 2 & 3: We can evade if and only if the controller tells us to.
if (events.IsInPhase(PHASE_ONE) || _canEvade)
generic_halionAI::EnterEvadeMode();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_AGGRO);
@@ -343,7 +343,7 @@ class boss_halion : public CreatureScript
controller->AI()->SetData(DATA_FIGHT_PHASE, PHASE_ONE);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -361,7 +361,7 @@ class boss_halion : public CreatureScript
Position const* GetMeteorStrikePosition() const { return &_meteorStrikePos; }
- void DamageTaken(Unit* attacker, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& damage) override
{
if (me->HealthBelowPctDamaged(75, damage) && events.IsInPhase(PHASE_ONE))
{
@@ -388,15 +388,22 @@ class boss_halion : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (events.IsInPhase(PHASE_TWO))
return;
+ // Rough radius, it is not an exactly perfect circle
+ if (me->GetDistance2d(HalionControllerSpawnPos.GetPositionX(), HalionControllerSpawnPos.GetPositionY()) > 48.5f)
+ {
+ EnterEvadeMode();
+ return;
+ }
+
generic_halionAI::UpdateAI(diff);
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -410,7 +417,7 @@ class boss_halion : public CreatureScript
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true, -SPELL_TWILIGHT_REALM))
{
- target->GetPosition(&_meteorStrikePos);
+ _meteorStrikePos = target->GetPosition();
me->CastSpell(_meteorStrikePos.GetPositionX(), _meteorStrikePos.GetPositionY(), _meteorStrikePos.GetPositionZ(), SPELL_METEOR_STRIKE, true, NULL, NULL, me->GetGUID());
Talk(SAY_METEOR_STRIKE);
}
@@ -430,7 +437,7 @@ class boss_halion : public CreatureScript
}
}
- void SetData(uint32 index, uint32 value) OVERRIDE
+ void SetData(uint32 index, uint32 value) override
{
switch (index)
{
@@ -446,7 +453,7 @@ class boss_halion : public CreatureScript
Position _meteorStrikePos;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<boss_halionAI>(creature);
}
@@ -477,7 +484,7 @@ class boss_twilight_halion : public CreatureScript
me->SetReactState(REACT_AGGRESSIVE);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
events.Reset();
events.SetPhase(PHASE_TWO);
@@ -490,9 +497,9 @@ class boss_twilight_halion : public CreatureScript
}
// Never evade
- void EnterEvadeMode() OVERRIDE { }
+ void EnterEvadeMode() override { }
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
@@ -501,7 +508,7 @@ class boss_twilight_halion : public CreatureScript
me->CastSpell(victim, SPELL_LEAVE_TWILIGHT_REALM, true);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (Creature* halion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION)))
{
@@ -520,7 +527,7 @@ class boss_twilight_halion : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void DamageTaken(Unit* attacker, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& damage) override
{
if (me->HealthBelowPctDamaged(50, damage) && events.IsInPhase(PHASE_TWO))
{
@@ -542,7 +549,7 @@ class boss_twilight_halion : public CreatureScript
}
}
- void SpellHit(Unit* who, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* who, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -556,7 +563,7 @@ class boss_twilight_halion : public CreatureScript
}
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -575,7 +582,7 @@ class boss_twilight_halion : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<boss_twilight_halionAI>(creature);
}
@@ -594,7 +601,7 @@ class npc_halion_controller : public CreatureScript
me->SetPhaseMask(me->GetPhaseMask() | 0x20, true);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_summons.DespawnAll();
_events.Reset();
@@ -605,12 +612,12 @@ class npc_halion_controller : public CreatureScript
DoCast(me, SPELL_CLEAR_DEBUFFS);
}
- void JustSummoned(Creature* who) OVERRIDE
+ void JustSummoned(Creature* who) override
{
_summons.Summon(who);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
_summons.DespawnAll();
@@ -618,7 +625,7 @@ class npc_halion_controller : public CreatureScript
DoCast(me, SPELL_CLEAR_DEBUFFS);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_twilightDamageTaken = 0;
_materialDamageTaken = 0;
@@ -626,7 +633,7 @@ class npc_halion_controller : public CreatureScript
_events.ScheduleEvent(EVENT_TRIGGER_BERSERK, 8 * MINUTE * IN_MILLISECONDS);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TWILIGHT_HALION)))
twilightHalion->DespawnOrUnsummon();
@@ -640,7 +647,7 @@ class npc_halion_controller : public CreatureScript
_instance->SetBossState(DATA_HALION, FAIL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -682,7 +689,7 @@ class npc_halion_controller : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// 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
@@ -749,7 +756,7 @@ class npc_halion_controller : public CreatureScript
}
}
- void SetData(uint32 id, uint32 value) OVERRIDE
+ void SetData(uint32 id, uint32 value) override
{
switch (id)
{
@@ -886,7 +893,7 @@ class npc_halion_controller : public CreatureScript
uint8 _materialCorporealityValue;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_halion_controllerAI>(creature);
}
@@ -907,7 +914,7 @@ class npc_orb_carrier : public CreatureScript
ASSERT(creature->GetVehicleKit());
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
/// According to sniffs this spell is cast every 1 or 2 seconds.
/// However, refreshing it looks bad, so just cast the spell if
@@ -923,7 +930,7 @@ class npc_orb_carrier : public CreatureScript
me->SetFacingToObject(rotationFocus); // setInFront
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_SHOOT)
{
@@ -957,7 +964,7 @@ class npc_orb_carrier : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_orb_carrierAI>(creature);
}
@@ -976,7 +983,7 @@ class npc_meteor_strike_initial : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -989,7 +996,7 @@ class npc_meteor_strike_initial : public CreatureScript
}
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
Creature* owner = summoner->ToCreature();
if (!owner)
@@ -1005,7 +1012,6 @@ class npc_meteor_strike_initial : public CreatureScript
if (HalionAI* halionAI = CAST_AI(HalionAI, owner->AI()))
{
Position const* ownerPos = halionAI->GetMeteorStrikePosition();
- Position newPos;
float angle[4];
angle[0] = me->GetAngle(ownerPos);
angle[1] = me->GetAngle(ownerPos) - static_cast<float>(M_PI/2);
@@ -1017,21 +1023,21 @@ class npc_meteor_strike_initial : public CreatureScript
{
angle[i] = Position::NormalizeOrientation(angle[i]);
me->SetOrientation(angle[i]);
- me->GetNearPosition(newPos, 10.0f, 0.0f); // Exact distance
+ Position newPos = me->GetNearPosition(10.0f, 0.0f); // Exact distance
if (Creature* meteor = me->SummonCreature(NPC_METEOR_STRIKE_NORTH + i, newPos, TEMPSUMMON_TIMED_DESPAWN, 30000))
_meteorList.push_back(meteor);
}
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
- void EnterEvadeMode() OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
+ void EnterEvadeMode() override { }
private:
InstanceScript* _instance;
std::list<Creature*> _meteorList;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_meteor_strike_initialAI>(creature);
}
@@ -1053,7 +1059,7 @@ class npc_meteor_strike : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_METEOR_STRIKE_BURN)
{
@@ -1063,14 +1069,14 @@ class npc_meteor_strike : public CreatureScript
}
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
// Let Halion Controller count as summoner.
if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_spawnCount > 5)
return;
@@ -1079,8 +1085,7 @@ class npc_meteor_strike : public CreatureScript
if (_events.ExecuteEvent() == EVENT_SPAWN_METEOR_FLAME)
{
- Position pos;
- me->GetNearPosition(pos, _range, 0.0f);
+ Position pos = me->GetNearPosition( _range, 0.0f);
if (Creature* flame = me->SummonCreature(NPC_METEOR_STRIKE_FLAME, pos, TEMPSUMMON_TIMED_DESPAWN, 25000))
{
@@ -1102,7 +1107,7 @@ class npc_meteor_strike : public CreatureScript
uint8 _spawnCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_meteor_strikeAI>(creature);
}
@@ -1142,7 +1147,7 @@ class npc_combustion_consumption : public CreatureScript
me->SetPhaseMask(0x01 | 0x20, true);
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
// Let Halion Controller count as summoner
if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
@@ -1151,7 +1156,7 @@ class npc_combustion_consumption : public CreatureScript
_summonerGuid = summoner->GetGUID();
}
- void SetData(uint32 type, uint32 stackAmount) OVERRIDE
+ void SetData(uint32 type, uint32 stackAmount) override
{
Unit* summoner = ObjectAccessor::GetUnit(*me, _summonerGuid);
@@ -1165,7 +1170,7 @@ class npc_combustion_consumption : public CreatureScript
summoner->CastCustomSpell(_explosionSpell, SPELLVALUE_BASE_POINT0, damage, summoner);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
InstanceScript* _instance;
@@ -1174,7 +1179,7 @@ class npc_combustion_consumption : public CreatureScript
uint64 _summonerGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_combustion_consumptionAI>(creature);
}
@@ -1189,7 +1194,7 @@ class npc_living_inferno : public CreatureScript
{
npc_living_infernoAI(Creature* creature) : ScriptedAI(creature) { }
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
me->SetInCombatWithZone();
me->CastSpell(me, SPELL_BLAZING_AURA, true);
@@ -1199,13 +1204,13 @@ class npc_living_inferno : public CreatureScript
controller->AI()->JustSummoned(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(1);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_living_infernoAI>(creature);
}
@@ -1221,30 +1226,30 @@ class npc_living_ember : public CreatureScript
{
npc_living_emberAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_hasEnraged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_enrageTimer = 20000;
_hasEnraged = false;
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (InstanceScript* instance = me->GetInstanceScript())
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -1264,7 +1269,7 @@ class npc_living_ember : public CreatureScript
bool _hasEnraged;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_living_emberAI>(creature);
}
@@ -1298,14 +1303,14 @@ class go_twilight_portal : public GameObjectScript
}
}
- bool GossipHello(Player* player) OVERRIDE
+ bool GossipHello(Player* player) override
{
if (_spellId != 0)
player->CastSpell(player, _spellId, true);
return true;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (_instance->GetBossState(DATA_HALION) == IN_PROGRESS)
return;
@@ -1323,7 +1328,7 @@ class go_twilight_portal : public GameObjectScript
bool _deleted;
};
- GameObjectAI* GetAI(GameObject* gameobject) const OVERRIDE
+ GameObjectAI* GetAI(GameObject* gameobject) const override
{
return GetRubySanctumAI<go_twilight_portalAI>(gameobject);
}
@@ -1348,13 +1353,13 @@ class spell_halion_meteor_strike_marker : public SpellScriptLoader
creCaster->AI()->DoAction(ACTION_METEOR_STRIKE_AOE);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_meteor_strike_marker_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_halion_meteor_strike_marker_AuraScript();
}
@@ -1372,7 +1377,7 @@ class spell_halion_combustion_consumption : public SpellScriptLoader
public:
spell_halion_combustion_consumption_AuraScript(uint32 spellID) : AuraScript(), _markSpell(spellID) { }
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(_markSpell))
return false;
@@ -1398,7 +1403,7 @@ class spell_halion_combustion_consumption : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), _markSpell, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_combustion_consumption_AuraScript::AddMarkStack, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
AfterEffectApply += AuraEffectApplyFn(spell_halion_combustion_consumption_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
@@ -1408,7 +1413,7 @@ class spell_halion_combustion_consumption : public SpellScriptLoader
uint32 _markSpell;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_halion_combustion_consumption_AuraScript(_spellID);
}
@@ -1431,7 +1436,7 @@ class spell_halion_marks : public SpellScriptLoader
spell_halion_marks_AuraScript(uint32 summonSpell, uint32 removeSpell) : AuraScript(),
_summonSpellId(summonSpell), _removeSpellId(removeSpell) { }
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(_summonSpellId))
return false;
@@ -1458,7 +1463,7 @@ class spell_halion_marks : public SpellScriptLoader
GetTarget()->CastCustomSpell(_summonSpellId, SPELLVALUE_BASE_POINT1, aurEff->GetBase()->GetStackAmount(), GetTarget(), TRIGGERED_FULL_MASK, NULL, NULL, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnDispel += AuraDispelFn(spell_halion_marks_AuraScript::BeforeDispel);
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_marks_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -1468,7 +1473,7 @@ class spell_halion_marks : public SpellScriptLoader
uint32 _removeSpellId;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_halion_marks_AuraScript(_summonSpell, _removeSpell);
}
@@ -1495,20 +1500,19 @@ class spell_halion_damage_aoe_summon : public SpellScriptLoader
SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(uint32(GetSpellInfo()->Effects[effIndex].MiscValueB));
uint32 duration = uint32(GetSpellInfo()->GetDuration());
- Position pos;
- caster->GetPosition(&pos);
+ Position pos = caster->GetPosition();
if (Creature* summon = caster->GetMap()->SummonCreature(entry, pos, properties, duration, caster, GetSpellInfo()->Id))
if (summon->IsAIEnabled)
summon->AI()->SetData(DATA_STACKS_DISPELLED, GetSpellValue()->EffectBasePoints[EFFECT_1]);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_halion_damage_aoe_summon_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_halion_damage_aoe_summon_SpellScript();
}
@@ -1530,7 +1534,7 @@ class spell_halion_twilight_realm_handlers : public SpellScriptLoader
_isApply(isApplyHandler), _beforeHitSpellId(beforeHitSpell)
{ }
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(_beforeHitSpellId))
return false;
@@ -1555,7 +1559,7 @@ class spell_halion_twilight_realm_handlers : public SpellScriptLoader
instance->SendEncounterUnit(ENCOUNTER_FRAME_UNK7);
}
- void Register() OVERRIDE
+ void Register() override
{
if (!_isApply)
{
@@ -1570,7 +1574,7 @@ class spell_halion_twilight_realm_handlers : public SpellScriptLoader
uint32 _beforeHitSpellId;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_halion_twilight_realm_handlers_AuraScript(_beforeHitSpell, _isApplyHandler);
}
@@ -1589,7 +1593,7 @@ class spell_halion_clear_debuffs : public SpellScriptLoader
{
PrepareSpellScript(spell_halion_clear_debuffs_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CLEAR_DEBUFFS))
return false;
@@ -1604,13 +1608,13 @@ class spell_halion_clear_debuffs : public SpellScriptLoader
GetHitUnit()->RemoveAurasDueToSpell(GetSpellInfo()->Effects[effIndex].CalcValue());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_halion_clear_debuffs_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_halion_clear_debuffs_SpellScript();
}
@@ -1656,13 +1660,13 @@ class spell_halion_twilight_cutter : public SpellScriptLoader
unitList.clear();
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_halion_twilight_cutter_SpellScript::RemoveNotBetween, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_halion_twilight_cutter_SpellScript();
}
@@ -1684,13 +1688,13 @@ class spell_halion_twilight_phasing : public SpellScriptLoader
caster->GetMap()->SummonCreature(NPC_TWILIGHT_HALION, HalionSpawnPos);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_halion_twilight_phasing_SpellScript::Phase);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_halion_twilight_phasing_SpellScript();
}
@@ -1718,14 +1722,14 @@ class spell_halion_summon_exit_portals : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_halion_summon_exit_portals_SpellScript::SetDest0, EFFECT_0, TARGET_DEST_CASTER);
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_halion_summon_exit_portals_SpellScript::SetDest1, EFFECT_1, TARGET_DEST_CASTER);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_halion_summon_exit_portals_SpellScript();
}
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 bd5ab3d1a6e..199337b0631 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -77,13 +77,13 @@ class boss_saviana_ragefire : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_AGGRESSIVE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -93,13 +93,13 @@ class boss_saviana_ragefire : public CreatureScript
events.ScheduleEvent(EVENT_FLIGHT, 60000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
me->PlayDirectSound(SOUND_ID_DEATH);
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
return;
@@ -128,20 +128,20 @@ class boss_saviana_ragefire : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
me->SetCanFly(false);
me->SetDisableGravity(false);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -197,7 +197,7 @@ class boss_saviana_ragefire : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<boss_saviana_ragefireAI>(creature);
}
@@ -238,14 +238,14 @@ class spell_saviana_conflagration_init : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), SPELL_CONFLAGRATION_2, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_saviana_conflagration_init_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_init_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_saviana_conflagration_init_SpellScript();
}
@@ -267,13 +267,13 @@ class spell_saviana_conflagration_throwback : public SpellScriptLoader
GetHitUnit()->GetMotionMaster()->MovePoint(POINT_LAND, SavianaRagefireFlyInPos);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_throwback_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_saviana_conflagration_throwback_SpellScript();
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
index 1f8656853a2..eed8168eff8 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
@@ -67,7 +67,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -112,7 +112,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -155,7 +155,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -167,7 +167,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
Creature* creature = unit->ToCreature();
if (!creature)
@@ -181,7 +181,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -224,7 +224,7 @@ class instance_ruby_sanctum : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -278,7 +278,7 @@ class instance_ruby_sanctum : public InstanceMapScript
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type != DATA_BALTHARUS_SHARED_HEALTH)
return;
@@ -286,7 +286,7 @@ class instance_ruby_sanctum : public InstanceMapScript
BaltharusSharedHealth = data;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type != DATA_BALTHARUS_SHARED_HEALTH)
return 0;
@@ -294,7 +294,7 @@ class instance_ruby_sanctum : public InstanceMapScript
return BaltharusSharedHealth;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -305,14 +305,14 @@ class instance_ruby_sanctum : public InstanceMapScript
return saveStream.str();
}
- void FillInitialWorldStates(WorldPacket& data) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& data) override
{
data << uint32(WORLDSTATE_CORPOREALITY_MATERIAL) << uint32(50);
data << uint32(WORLDSTATE_CORPOREALITY_TWILIGHT) << uint32(50);
data << uint32(WORLDSTATE_CORPOREALITY_TOGGLE) << uint32(0);
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -365,7 +365,7 @@ class instance_ruby_sanctum : public InstanceMapScript
uint32 BaltharusSharedHealth;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ruby_sanctum_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
index d0a46b01bd4..0d2b98dbd1c 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
@@ -60,13 +60,13 @@ class npc_xerestrasza : public CreatureScript
_introDone = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
me->RemoveFlag(UNIT_NPC_FLAGS, GOSSIP_OPTION_QUESTGIVER);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_BALTHARUS_DEATH)
{
@@ -92,7 +92,7 @@ class npc_xerestrasza : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_isIntro)
return;
@@ -138,7 +138,7 @@ class npc_xerestrasza : public CreatureScript
bool _introDone;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetRubySanctumAI<npc_xerestraszaAI>(creature);
}
@@ -149,7 +149,7 @@ class at_baltharus_plateau : public AreaTriggerScript
public:
at_baltharus_plateau() : AreaTriggerScript("at_baltharus_plateau") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
// Only trigger once
if (InstanceScript* instance = player->GetInstanceScript())
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 773009b06d6..cb0cba21d6c 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -135,14 +135,14 @@ class spell_eadric_radiance : public SpellScriptLoader
unitList.remove_if(OrientationCheck(GetCaster()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_eadric_radiance_SpellScript();
}
@@ -170,7 +170,7 @@ public:
bool bDone;
- void Reset() OVERRIDE
+ void Reset() override
{
uiVenganceTimer = 10000;
uiRadianceTimer = 16000;
@@ -180,7 +180,7 @@ public:
bDone = false;
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage >= me->GetHealth())
{
@@ -191,7 +191,7 @@ public:
}
}
- void MovementInform(uint32 MovementType, uint32 /*Data*/) OVERRIDE
+ void MovementInform(uint32 MovementType, uint32 /*Data*/) override
{
if (MovementType != POINT_MOTION_TYPE)
return;
@@ -201,7 +201,7 @@ public:
me->DisappearAndDie();
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (bDone && uiResetTimer <= uiDiff)
{
@@ -245,7 +245,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_eadricAI>(creature);
}
@@ -279,7 +279,7 @@ public:
uint32 uiRenewTimer;
uint32 uiResetTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveAllAuras();
@@ -297,13 +297,13 @@ public:
pMemory->RemoveFromWorld();
}
- void SetData(uint32 uiId, uint32 /*uiValue*/) OVERRIDE
+ void SetData(uint32 uiId, uint32 /*uiValue*/) override
{
if (uiId == 1)
me->RemoveAura(SPELL_SHIELD);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage >= me->GetHealth())
{
@@ -314,7 +314,7 @@ public:
}
}
- void MovementInform(uint32 MovementType, uint32 Point) OVERRIDE
+ void MovementInform(uint32 MovementType, uint32 Point) override
{
if (MovementType != POINT_MOTION_TYPE || Point != 0)
return;
@@ -324,7 +324,7 @@ public:
me->DisappearAndDie();
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (bDone && uiResetTimer <= uiDiff)
{
@@ -396,13 +396,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
MemoryGUID = summon->GetGUID();
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_paletressAI>(creature);
}
@@ -421,14 +421,14 @@ public:
uint32 uiShadowPastTimer;
uint32 uiWakingNightmare;
- void Reset() OVERRIDE
+ void Reset() override
{
uiOldWoundsTimer = 12000;
uiShadowPastTimer = 5000;
uiWakingNightmare = 7000;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -462,7 +462,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (TempSummon* summ = me->ToTempSummon())
if (Unit* summoner = summ->GetSummoner())
@@ -471,7 +471,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_memoryAI(creature);
}
@@ -497,7 +497,7 @@ public:
uint8 uiWaypoint;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId == 0)
{
@@ -516,7 +516,7 @@ public:
}
}
- void SetData(uint32 uiType, uint32 /*uiData*/) OVERRIDE
+ void SetData(uint32 uiType, uint32 /*uiData*/) override
{
switch (me->GetEntry())
{
@@ -568,7 +568,7 @@ public:
uiWaypoint = uiType;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -578,13 +578,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ARGENT_SOLDIER_DEFEATED, instance->GetData(DATA_ARGENT_SOLDIER_DEFEATED) + 1);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_argent_soldierAI>(creature);
}
@@ -629,7 +629,7 @@ class spell_paletress_summon_memory : public SpellScriptLoader
{
PrepareSpellScript(spell_paletress_summon_memory_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint8 i = 0; i < 25; ++i)
if (!sSpellMgr->GetSpellInfo(memorySpellId[i]))
@@ -652,14 +652,14 @@ class spell_paletress_summon_memory : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), memorySpellId[urand(0, 24)], true, NULL, NULL, GetCaster()->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_paletress_summon_memory_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_paletress_summon_memory_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_paletress_summon_memory_SpellScript();
}
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 5a0cd7cc3d2..46817e46512 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -108,7 +108,7 @@ public:
uint32 uiDeathBiteTimer;
uint32 uiMarkedDeathTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
RemoveSummons();
me->SetDisplayId(me->GetNativeDisplayId());
@@ -147,13 +147,13 @@ public:
SummonList.clear();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
SummonList.push_back(summon->GetGUID());
summon->AI()->AttackStart(me->GetVictim());
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -268,7 +268,7 @@ public:
DoMeleeAttackIfReady();
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override
{
if (uiDamage > me->GetHealth() && uiPhase <= PHASE_SKELETON)
{
@@ -289,7 +289,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_KILL_CREDIT);
@@ -297,7 +297,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_black_knightAI>(creature);
}
@@ -314,12 +314,12 @@ public:
uint32 uiAttackTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiAttackTimer = 3500;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -338,7 +338,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_risen_ghoulAI(creature);
}
@@ -356,12 +356,12 @@ public:
Start(false, true, 0, NULL);
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE
+ void WaypointReached(uint32 /*waypointId*/) override
{
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -371,7 +371,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_black_knight_skeletal_gryphonAI(creature);
}
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 92eee0e9151..c1d6d2c7c3f 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -169,14 +169,14 @@ public:
uint32 uiWaypointPath;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChargeTimer = 5000;
uiShieldBreakerTimer = 8000;
uiBuffTimer = urand(30000, 60000);
}
- void SetData(uint32 uiType, uint32 /*uiData*/) OVERRIDE
+ void SetData(uint32 uiType, uint32 /*uiData*/) override
{
switch (uiType)
{
@@ -205,7 +205,7 @@ public:
Start(false, true, 0, NULL);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -219,7 +219,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCastSpellShield();
}
@@ -230,7 +230,7 @@ public:
DoCast(me, SPELL_SHIELD, true);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -295,7 +295,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<generic_vehicleAI_toc5AI>(creature);
}
@@ -337,14 +337,14 @@ public:
bool bDone;
bool bHome;
- void Reset() OVERRIDE
+ void Reset() override
{
uiBladeStormTimer = urand(15000, 20000);
uiInterceptTimer = 7000;
uiMortalStrikeTimer = urand(8000, 12000);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
ScriptedAI::JustReachedHome();
@@ -357,7 +357,7 @@ public:
bHome = false;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -421,13 +421,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(BOSS_GRAND_CHAMPIONS, DONE);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_warrior_toc5AI>(creature);
}
@@ -469,7 +469,7 @@ public:
bool bDone;
bool bHome;
- void Reset() OVERRIDE
+ void Reset() override
{
uiFireBallTimer = 5000;
uiPolymorphTimer = 8000;
@@ -477,7 +477,7 @@ public:
uiHasteTimer = 22000;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
ScriptedAI::JustReachedHome();
@@ -490,7 +490,7 @@ public:
bHome = false;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -558,13 +558,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(BOSS_GRAND_CHAMPIONS, DONE);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_mage_toc5AI>(creature);
}
@@ -606,7 +606,7 @@ public:
bool bDone;
bool bHome;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChainLightningTimer = 16000;
uiHealingWaveTimer = 12000;
@@ -614,13 +614,13 @@ public:
uiHexMendingTimer = urand(20000, 25000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoCast(me, SPELL_EARTH_SHIELD);
DoCast(who, SPELL_HEX_OF_MENDING);
};
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
ScriptedAI::JustReachedHome();
@@ -633,7 +633,7 @@ public:
bHome = false;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -703,13 +703,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(BOSS_GRAND_CHAMPIONS, DONE);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_shaman_toc5AI>(creature);
}
@@ -753,7 +753,7 @@ public:
bool bDone;
bool bHome;
- void Reset() OVERRIDE
+ void Reset() override
{
uiShootTimer = 12000;
uiMultiShotTimer = 0;
@@ -764,7 +764,7 @@ public:
bShoot = false;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
ScriptedAI::JustReachedHome();
@@ -777,7 +777,7 @@ public:
bHome = false;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -857,13 +857,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(BOSS_GRAND_CHAMPIONS, DONE);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_hunter_toc5AI>(creature);
}
@@ -903,14 +903,14 @@ public:
bool bDone;
bool bHome;
- void Reset() OVERRIDE
+ void Reset() override
{
uiEviscerateTimer = 8000;
uiFanKivesTimer = 14000;
uiPosionBottleTimer = 19000;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
ScriptedAI::JustReachedHome();
@@ -923,7 +923,7 @@ public:
bHome = false;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!bDone && GrandChampionsOutVehicle(me))
{
@@ -976,13 +976,13 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(BOSS_GRAND_CHAMPIONS, DONE);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_rouge_toc5AI>(creature);
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
index 1f8b281b807..ac8a7969c9d 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
@@ -34,7 +34,7 @@ class instance_trial_of_the_champion : public InstanceMapScript
public:
instance_trial_of_the_champion() : InstanceMapScript("instance_trial_of_the_champion", 650) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_trial_of_the_champion_InstanceMapScript(map);
}
@@ -66,7 +66,7 @@ public:
bool bDone;
- void Initialize() OVERRIDE
+ void Initialize() override
{
uiMovementDone = 0;
uiGrandChampionsDeaths = 0;
@@ -90,7 +90,7 @@ public:
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
{
@@ -101,7 +101,7 @@ public:
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
Map::PlayerList const &players = instance->GetPlayers();
uint32 TeamInInstance = 0;
@@ -117,29 +117,29 @@ public:
// Champions
case VEHICLE_MOKRA_SKILLCRUSHER_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT);
break;
case VEHICLE_ERESSEA_DAWNSINGER_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_AMBROSE_BOLTSPARK_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_AMBROSE_BOLTSPARK_MOUNT);
break;
case VEHICLE_RUNOK_WILDMANE_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_COLOSOS_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_COLOSOS_MOUNT);
break;
case VEHICLE_ZUL_TORE_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_EVENSONG_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_EVENSONG_MOUNT);
break;
case VEHICLE_DEATHSTALKER_VESCERI_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_LANA_STOUTHAMMER_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_LANA_STOUTHAMMER_MOUNT);
break;
// Coliseum Announcer || Just NPC_JAEREN must be spawned.
case NPC_JAEREN:
uiAnnouncerGUID = creature->GetGUID();
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ARELAS, ALLIANCE);
+ creature->UpdateEntry(NPC_ARELAS);
break;
case VEHICLE_ARGENT_WARHORSE:
case VEHICLE_ARGENT_BATTLEWORG:
@@ -152,7 +152,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -166,7 +166,7 @@ public:
}
}
- void SetData(uint32 uiType, uint32 uiData) OVERRIDE
+ void SetData(uint32 uiType, uint32 uiData) override
{
switch (uiType)
{
@@ -235,7 +235,7 @@ public:
SaveToDB();
}
- uint32 GetData(uint32 uiData) const OVERRIDE
+ uint32 GetData(uint32 uiData) const override
{
switch (uiData)
{
@@ -251,7 +251,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiData) const OVERRIDE
+ uint64 GetData64(uint32 uiData) const override
{
switch (uiData)
{
@@ -266,7 +266,7 @@ public:
return 0;
}
- void SetData64(uint32 uiType, uint64 uiData) OVERRIDE
+ void SetData64(uint32 uiType, uint64 uiData) override
{
switch (uiType)
{
@@ -282,7 +282,7 @@ public:
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -301,7 +301,7 @@ public:
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
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 a60e69d6479..faeb92e4595 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
@@ -130,7 +130,7 @@ public:
uiPhase = uiPhaseStep;
}
- void SetData(uint32 uiType, uint32 /*uiData*/) OVERRIDE
+ void SetData(uint32 uiType, uint32 /*uiData*/) override
{
switch (uiType)
{
@@ -185,7 +185,7 @@ public:
}
}
- void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiPointId) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -357,7 +357,7 @@ public:
if (instance->GetData(BOSS_ARGENT_CHALLENGE_E) == NOT_STARTED && instance->GetData(BOSS_ARGENT_CHALLENGE_P) == NOT_STARTED)
{
if (instance->GetData(BOSS_GRAND_CHAMPIONS) == NOT_STARTED)
- me->AI()->SetData(DATA_START, 0);
+ SetData(DATA_START, 0);
if (instance->GetData(BOSS_GRAND_CHAMPIONS) == DONE)
DoStartArgentChampionEncounter();
@@ -397,7 +397,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
ScriptedAI::UpdateAI(uiDiff);
@@ -429,7 +429,7 @@ public:
return;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (instance->GetData(BOSS_GRAND_CHAMPIONS) == NOT_STARTED)
{
@@ -438,7 +438,7 @@ public:
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
switch (summon->GetEntry())
{
@@ -452,18 +452,18 @@ public:
case VEHICLE_ORGRIMMAR_WOLF:
case VEHICLE_SILVERMOON_HAWKSTRIDER:
case VEHICLE_DARKSPEAR_RAPTOR:
- me->AI()->SetData(DATA_LESSER_CHAMPIONS_DEFEATED, 0);
+ SetData(DATA_LESSER_CHAMPIONS_DEFEATED, 0);
break;
}
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_announcer_toc5AI>(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
@@ -488,7 +488,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
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 93d5c399725..77e4e740333 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -168,7 +168,7 @@ class boss_anubarak_trial : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.SetPhase(PHASE_MELEE);
@@ -196,7 +196,7 @@ class boss_anubarak_trial : public CreatureScript
_burrowGUID.clear();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -205,7 +205,7 @@ class boss_anubarak_trial : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
if (!_intro)
@@ -215,7 +215,7 @@ class boss_anubarak_trial : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SetBossState(BOSS_ANUBARAK, FAIL);
//Summon Scarab Swarms neutral at random places
@@ -227,7 +227,7 @@ class boss_anubarak_trial : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -241,7 +241,7 @@ class boss_anubarak_trial : public CreatureScript
(*itr)->DespawnOrUnsummon();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -265,7 +265,7 @@ class boss_anubarak_trial : public CreatureScript
summons.Summon(summoned);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -285,7 +285,7 @@ class boss_anubarak_trial : public CreatureScript
_sphereGUID[i] = summoned->GetGUID();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -421,7 +421,7 @@ class boss_anubarak_trial : public CreatureScript
bool _reachedPhase3;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_anubarak_trialAI>(creature);
};
@@ -439,7 +439,7 @@ class npc_swarm_scarab : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetCorpseDelay(0);
_determinationTimer = urand(5*IN_MILLISECONDS, 60*IN_MILLISECONDS);
@@ -450,7 +450,7 @@ class npc_swarm_scarab : public CreatureScript
Anubarak->AI()->JustSummoned(me);
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
switch (actionId)
{
@@ -463,12 +463,12 @@ class npc_swarm_scarab : public CreatureScript
}
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
DoCast(killer, RAID_MODE(SPELL_TRAITOR_KING_10, SPELL_TRAITOR_KING_25));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_instance->GetBossState(BOSS_ANUBARAK) != IN_PROGRESS)
me->DisappearAndDie();
@@ -493,7 +493,7 @@ class npc_swarm_scarab : public CreatureScript
uint32 _determinationTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_swarm_scarabAI>(creature);
};
@@ -511,7 +511,7 @@ class npc_nerubian_burrower : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetCorpseDelay(10);
_submergeTimer = 30*IN_MILLISECONDS;
@@ -524,7 +524,7 @@ class npc_nerubian_burrower : public CreatureScript
Anubarak->AI()->JustSummoned(me);
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
switch (actionId)
{
@@ -538,7 +538,7 @@ class npc_nerubian_burrower : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_instance->GetBossState(BOSS_ANUBARAK) != IN_PROGRESS)
me->DisappearAndDie();
@@ -581,7 +581,7 @@ class npc_nerubian_burrower : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_nerubian_burrowerAI>(creature);
};
@@ -598,7 +598,7 @@ class npc_frost_sphere : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
DoCast(SPELL_FROST_SPHERE);
@@ -606,7 +606,7 @@ class npc_frost_sphere : public CreatureScript
me->GetMotionMaster()->MoveRandom(20.0f);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
if (me->GetHealth() <= damage)
{
@@ -634,7 +634,7 @@ class npc_frost_sphere : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != EFFECT_MOTION_TYPE)
return;
@@ -654,7 +654,7 @@ class npc_frost_sphere : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_frost_sphereAI(creature);
};
@@ -671,7 +671,7 @@ class npc_anubarak_spike : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_phase = PHASE_NO_MOVEMENT;
_phaseSwitchTimer = 1;
@@ -679,12 +679,12 @@ class npc_anubarak_spike : public CreatureScript
me->SetInCombatWithZone();
}
- bool CanAIAttack(Unit const* victim) const OVERRIDE
+ bool CanAIAttack(Unit const* victim) const override
{
return victim->GetTypeId() == TYPEID_PLAYER;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
{
@@ -693,12 +693,12 @@ class npc_anubarak_spike : public CreatureScript
}
}
- void DamageTaken(Unit* /*who*/, uint32& uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& uiDamage) override
{
uiDamage = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -742,7 +742,7 @@ class npc_anubarak_spike : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* pWho) OVERRIDE
+ void MoveInLineOfSight(Unit* pWho) override
{
if (!pWho)
@@ -802,7 +802,7 @@ class npc_anubarak_spike : public CreatureScript
PursuingSpikesPhases _phase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_anubarak_spikeAI(creature);
};
@@ -827,13 +827,13 @@ class spell_impale : public SpellScriptLoader
SetHitDamage(0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_impale_SpellScript::HandleDamageCalc, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_impale_SpellScript();
}
@@ -848,7 +848,7 @@ class spell_anubarak_leeching_swarm : public SpellScriptLoader
{
PrepareAuraScript(spell_anubarak_leeching_swarm_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LEECHING_SWARM_DMG) || !sSpellMgr->GetSpellInfo(SPELL_LEECHING_SWARM_HEAL))
return false;
@@ -870,13 +870,13 @@ class spell_anubarak_leeching_swarm : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_anubarak_leeching_swarm_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_anubarak_leeching_swarm_AuraScript();
}
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 44a6ddb368f..71df7d05378 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -351,7 +351,7 @@ class boss_toc_champion_controller : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_championsNotStarted = 0;
_championsFailed = 0;
@@ -469,7 +469,7 @@ class boss_toc_champion_controller : public CreatureScript
}
}
- void SetData(uint32 uiType, uint32 uiData) OVERRIDE
+ void SetData(uint32 uiType, uint32 uiData) override
{
switch (uiType)
{
@@ -537,7 +537,7 @@ class boss_toc_champion_controller : public CreatureScript
bool _inProgress;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_toc_champion_controllerAI>(creature);
}
@@ -550,14 +550,14 @@ struct boss_faction_championsAI : public BossAI
_aiType = aitype;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.ScheduleEvent(EVENT_THREAT, 5*IN_MILLISECONDS);
if (IsHeroic() && (_aiType != AI_PET))
_events.ScheduleEvent(EVENT_REMOVE_CC, 5*IN_MILLISECONDS);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
if (Creature* pChampionController = Unit::GetCreature((*me), instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(2, FAIL);
@@ -606,14 +606,14 @@ struct boss_faction_championsAI : public BossAI
//DoCast(me, SPELL_PVP_TRINKET);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (_aiType != AI_PET)
if (Creature* pChampionController = Unit::GetCreature((*me), instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(2, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_ANTI_AOE, true);
_EnterCombat();
@@ -621,7 +621,7 @@ struct boss_faction_championsAI : public BossAI
pChampionController->AI()->SetData(2, IN_PROGRESS);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -685,7 +685,7 @@ struct boss_faction_championsAI : public BossAI
return count;
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -704,7 +704,7 @@ struct boss_faction_championsAI : public BossAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -753,7 +753,7 @@ class npc_toc_druid : public CreatureScript
{
npc_toc_druidAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_LIFEBLOOM, urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS));
@@ -767,7 +767,7 @@ class npc_toc_druid : public CreatureScript
SetEquipmentSlots(false, 51799, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -831,7 +831,7 @@ class npc_toc_druid : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_druidAI>(creature);
}
@@ -846,7 +846,7 @@ class npc_toc_shaman : public CreatureScript
{
npc_toc_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_HEALING_WAVE, urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS));
@@ -859,7 +859,7 @@ class npc_toc_shaman : public CreatureScript
SetEquipmentSlots(false, 49992, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -924,7 +924,7 @@ class npc_toc_shaman : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_shamanAI>(creature);
}
@@ -939,7 +939,7 @@ class npc_toc_paladin : public CreatureScript
{
npc_toc_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_HAND_OF_FREEDOM, urand(10*IN_MILLISECONDS, 20*IN_MILLISECONDS));
@@ -953,7 +953,7 @@ class npc_toc_paladin : public CreatureScript
SetEquipmentSlots(false, 50771, 47079, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1028,7 +1028,7 @@ class npc_toc_paladin : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_paladinAI>(creature);
}
@@ -1043,7 +1043,7 @@ class npc_toc_priest : public CreatureScript
{
npc_toc_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_HEALER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_RENEW, urand(3*IN_MILLISECONDS, 10*IN_MILLISECONDS));
@@ -1056,7 +1056,7 @@ class npc_toc_priest : public CreatureScript
SetEquipmentSlots(false, 49992, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1113,7 +1113,7 @@ class npc_toc_priest : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_priestAI>(creature);
}
@@ -1131,7 +1131,7 @@ class npc_toc_shadow_priest : public CreatureScript
{
npc_toc_shadow_priestAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_SILENCE, urand(10*IN_MILLISECONDS, 25*IN_MILLISECONDS));
@@ -1146,7 +1146,7 @@ class npc_toc_shadow_priest : public CreatureScript
DoCast(me, SPELL_SHADOWFORM);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1211,7 +1211,7 @@ class npc_toc_shadow_priest : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_shadow_priestAI>(creature);
}
@@ -1226,7 +1226,7 @@ class npc_toc_warlock : public CreatureScript
{
npc_toc_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_HELLFIRE, urand(10*IN_MILLISECONDS, 30*IN_MILLISECONDS));
@@ -1239,13 +1239,13 @@ class npc_toc_warlock : public CreatureScript
SetEquipmentSlots(false, 49992, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
boss_faction_championsAI::EnterCombat(who);
DoCast(SPELL_SUMMON_FELHUNTER);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1302,7 +1302,7 @@ class npc_toc_warlock : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_warlockAI>(creature);
}
@@ -1317,7 +1317,7 @@ class npc_toc_mage : public CreatureScript
{
npc_toc_mageAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_ARCANE_BARRAGE, urand(1*IN_MILLISECONDS, 5*IN_MILLISECONDS));
@@ -1331,7 +1331,7 @@ class npc_toc_mage : public CreatureScript
SetEquipmentSlots(false, 47524, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1396,7 +1396,7 @@ class npc_toc_mage : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_mageAI>(creature);
}
@@ -1411,7 +1411,7 @@ class npc_toc_hunter : public CreatureScript
{
npc_toc_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_AIMED_SHOT, urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS));
@@ -1425,13 +1425,13 @@ class npc_toc_hunter : public CreatureScript
SetEquipmentSlots(false, 47156, EQUIP_NO_CHANGE, 48711);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
boss_faction_championsAI::EnterCombat(who);
DoCast(SPELL_CALL_PET);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1498,7 +1498,7 @@ class npc_toc_hunter : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_hunterAI>(creature);
}
@@ -1513,7 +1513,7 @@ class npc_toc_boomkin : public CreatureScript
{
npc_toc_boomkinAI(Creature* creature) : boss_faction_championsAI(creature, AI_RANGED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_CYCLONE, urand(10*IN_MILLISECONDS, 20*IN_MILLISECONDS));
@@ -1528,7 +1528,7 @@ class npc_toc_boomkin : public CreatureScript
SetEquipmentSlots(false, 50966, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1590,7 +1590,7 @@ class npc_toc_boomkin : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_boomkinAI>(creature);
}
@@ -1608,7 +1608,7 @@ class npc_toc_warrior : public CreatureScript
{
npc_toc_warriorAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_BLADESTORM, urand(10*IN_MILLISECONDS, 15*IN_MILLISECONDS));
@@ -1623,7 +1623,7 @@ class npc_toc_warrior : public CreatureScript
SetEquipmentSlots(false, 47427, 46964, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1694,7 +1694,7 @@ class npc_toc_warrior : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_warriorAI>(creature);
}
@@ -1709,7 +1709,7 @@ class npc_toc_dk : public CreatureScript
{
npc_toc_dkAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, urand(5*IN_MILLISECONDS, 15*IN_MILLISECONDS));
@@ -1722,7 +1722,7 @@ class npc_toc_dk : public CreatureScript
SetEquipmentSlots(false, 47518, 51021, EQUIP_NO_CHANGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1790,7 +1790,7 @@ class npc_toc_dk : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_dkAI>(creature);
}
@@ -1805,7 +1805,7 @@ class npc_toc_rogue : public CreatureScript
{
npc_toc_rogueAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_FAN_OF_KNIVES, urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS));
@@ -1821,7 +1821,7 @@ class npc_toc_rogue : public CreatureScript
me->SetMaxPower(POWER_ENERGY, 100);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1895,7 +1895,7 @@ class npc_toc_rogue : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_rogueAI>(creature);
}
@@ -1910,7 +1910,7 @@ class npc_toc_enh_shaman : public CreatureScript
{
npc_toc_enh_shamanAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_DPS_EARTH_SHOCK, urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS));
@@ -1927,12 +1927,12 @@ class npc_toc_enh_shaman : public CreatureScript
summons.DespawnAll();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* /*pSummoned*/) OVERRIDE
+ void SummonedCreatureDespawn(Creature* /*pSummoned*/) override
{
--_totemCount;
}
@@ -1955,13 +1955,13 @@ class npc_toc_enh_shaman : public CreatureScript
*/
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
boss_faction_championsAI::JustDied(killer);
summons.DespawnAll();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -2021,7 +2021,7 @@ class npc_toc_enh_shaman : public CreatureScript
float _totemOldCenterX, _totemOldCenterY;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_enh_shamanAI>(creature);
}
@@ -2036,7 +2036,7 @@ class npc_toc_retro_paladin : public CreatureScript
{
npc_toc_retro_paladinAI(Creature* creature) : boss_faction_championsAI(creature, AI_MELEE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_AVENGING_WRATH, urand(25*IN_MILLISECONDS, 35*IN_MILLISECONDS));
@@ -2050,13 +2050,13 @@ class npc_toc_retro_paladin : public CreatureScript
SetEquipmentSlots(false, 47519, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
boss_faction_championsAI::EnterCombat(who);
DoCast(SPELL_SEAL_OF_COMMAND);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -2127,7 +2127,7 @@ class npc_toc_retro_paladin : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_retro_paladinAI>(creature);
}
@@ -2142,14 +2142,14 @@ class npc_toc_pet_warlock : public CreatureScript
{
npc_toc_pet_warlockAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
events.ScheduleEvent(EVENT_DEVOUR_MAGIC, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
events.ScheduleEvent(EVENT_SPELL_LOCK, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -2179,7 +2179,7 @@ class npc_toc_pet_warlock : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_pet_warlockAI>(creature);
}
@@ -2194,13 +2194,13 @@ class npc_toc_pet_hunter : public CreatureScript
{
npc_toc_pet_hunterAI(Creature* creature) : boss_faction_championsAI(creature, AI_PET) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_faction_championsAI::Reset();
_clawTimer = urand(5*IN_MILLISECONDS, 10*IN_MILLISECONDS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -2219,7 +2219,7 @@ class npc_toc_pet_hunter : public CreatureScript
uint32 _clawTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toc_pet_hunterAI>(creature);
}
@@ -2234,7 +2234,7 @@ class spell_faction_champion_warl_unstable_affliction : public SpellScriptLoader
{
PrepareAuraScript(spell_faction_champion_warl_unstable_affliction_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNSTABLE_AFFLICTION_DISPEL))
return false;
@@ -2247,13 +2247,13 @@ class spell_faction_champion_warl_unstable_affliction : public SpellScriptLoader
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_UNSTABLE_AFFLICTION_DISPEL, true, NULL, GetEffect(EFFECT_0));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterDispel += AuraDispelFn(spell_faction_champion_warl_unstable_affliction_AuraScript::HandleDispel);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_faction_champion_warl_unstable_affliction_AuraScript();
}
@@ -2268,7 +2268,7 @@ class spell_faction_champion_death_grip : public SpellScriptLoader
{
PrepareSpellScript(spell_faction_champion_death_grip_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DEATH_GRIP_PULL))
return false;
@@ -2284,14 +2284,14 @@ class spell_faction_champion_death_grip : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_faction_champion_death_grip_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_faction_champion_death_grip_SpellScript();
}
@@ -2306,7 +2306,7 @@ class spell_toc_bloodlust : public SpellScriptLoader
{
PrepareSpellScript(spell_toc_bloodlust_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(AURA_SATED))
return false;
@@ -2324,7 +2324,7 @@ class spell_toc_bloodlust : public SpellScriptLoader
target->CastSpell(target, AURA_SATED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc_bloodlust_SpellScript::RemoveInvalidTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc_bloodlust_SpellScript::RemoveInvalidTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ALLY);
@@ -2332,7 +2332,7 @@ class spell_toc_bloodlust : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_toc_bloodlust_SpellScript();
}
@@ -2347,7 +2347,7 @@ class spell_toc_heroism : public SpellScriptLoader
{
PrepareSpellScript(spell_toc_heroism_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(AURA_EXHAUSTION))
return false;
@@ -2365,7 +2365,7 @@ class spell_toc_heroism : public SpellScriptLoader
target->CastSpell(target, AURA_EXHAUSTION, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc_heroism_SpellScript::RemoveInvalidTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc_heroism_SpellScript::RemoveInvalidTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ALLY);
@@ -2373,7 +2373,7 @@ class spell_toc_heroism : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_toc_heroism_SpellScript();
}
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 cb4b3cfcea3..abeafe156ad 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
@@ -101,7 +101,7 @@ class boss_jaraxxus : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_FEL_FIREBALL, 5*IN_MILLISECONDS);
@@ -113,7 +113,7 @@ class boss_jaraxxus : public CreatureScript
events.ScheduleEvent(EVENT_SUMMON_INFERNAL_ERUPTION, 80*IN_MILLISECONDS);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(BOSS_JARAXXUS, FAIL);
@@ -121,7 +121,7 @@ class boss_jaraxxus : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -130,24 +130,24 @@ class boss_jaraxxus : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summons.Summon(summoned);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -210,7 +210,7 @@ class boss_jaraxxus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_jaraxxusAI>(creature);
}
@@ -229,14 +229,14 @@ class npc_legion_flame : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetInCombatWithZone();
DoCast(SPELL_LEGION_FLAME_EFFECT);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
UpdateVictim();
if (_instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
@@ -246,7 +246,7 @@ class npc_legion_flame : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_legion_flameAI>(creature);
}
@@ -264,7 +264,7 @@ class npc_infernal_volcano : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
@@ -276,31 +276,31 @@ class npc_infernal_volcano : public CreatureScript
_summons.DespawnAll();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCast(SPELL_INFERNAL_ERUPTION_EFFECT);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
_summons.Summon(summoned);
// makes immediate corpse despawn of summoned Felflame Infernals
summoned->SetCorpseDelay(0);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// used to despawn corpse immediately
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
SummonList _summons;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_infernal_volcanoAI(creature);
}
@@ -318,13 +318,13 @@ class npc_fel_infernal : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_felStreakTimer = 30*IN_MILLISECONDS;
me->SetInCombatWithZone();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
{
@@ -351,7 +351,7 @@ class npc_fel_infernal : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_fel_infernalAI>(creature);
}
@@ -368,7 +368,7 @@ class npc_nether_portal : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
@@ -380,31 +380,31 @@ class npc_nether_portal : public CreatureScript
_summons.DespawnAll();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCast(SPELL_NETHER_PORTAL_EFFECT);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
_summons.Summon(summoned);
// makes immediate corpse despawn of summoned Mistress of Pain
summoned->SetCorpseDelay(0);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// used to despawn corpse immediately
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
SummonList _summons;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nether_portalAI(creature);
}
@@ -423,7 +423,7 @@ class npc_mistress_of_pain : public CreatureScript
_instance->SetData(DATA_MISTRESS_OF_PAIN_COUNT, INCREASE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.ScheduleEvent(EVENT_SHIVAN_SLASH, 30*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SPINNING_STRIKE, 30*IN_MILLISECONDS);
@@ -432,12 +432,12 @@ class npc_mistress_of_pain : public CreatureScript
me->SetInCombatWithZone();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_instance->SetData(DATA_MISTRESS_OF_PAIN_COUNT, DECREASE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_instance->GetBossState(BOSS_JARAXXUS) != IN_PROGRESS)
{
@@ -482,7 +482,7 @@ class npc_mistress_of_pain : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_mistress_of_painAI>(creature);
}
@@ -497,7 +497,7 @@ class spell_mistress_kiss : public SpellScriptLoader
{
PrepareAuraScript(spell_mistress_kiss_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster())
if (sSpellMgr->GetSpellIdForDifficulty(SPELL_MISTRESS_KISS_DAMAGE_SILENCE, GetCaster()))
@@ -519,13 +519,13 @@ class spell_mistress_kiss : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mistress_kiss_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mistress_kiss_AuraScript();
}
@@ -572,14 +572,14 @@ class spell_mistress_kiss_area : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mistress_kiss_area_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_mistress_kiss_area_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mistress_kiss_area_SpellScript();
}
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 ea166585bb3..f45a57bd0bc 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -160,7 +160,7 @@ class boss_gormok : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_IMPALE, urand(8*IN_MILLISECONDS, 10*IN_MILLISECONDS));
events.ScheduleEvent(EVENT_STAGGERING_STOMP, 15*IN_MILLISECONDS);
@@ -169,13 +169,13 @@ class boss_gormok : public CreatureScript
summons.DespawnAll();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
ScriptedAI::EnterEvadeMode();
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -193,12 +193,12 @@ class boss_gormok : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(TYPE_NORTHREND_BEASTS, GORMOK_DONE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
instance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
@@ -206,7 +206,7 @@ class boss_gormok : public CreatureScript
me->DespawnOrUnsummon();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
me->SetInCombatWithZone();
@@ -223,7 +223,7 @@ class boss_gormok : public CreatureScript
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
// despawn the remaining passengers on death
if (damage >= me->GetHealth())
@@ -232,7 +232,7 @@ class boss_gormok : public CreatureScript
pSnobold->ToCreature()->DespawnOrUnsummon();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -279,7 +279,7 @@ class boss_gormok : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gormokAI>(creature);
}
@@ -294,11 +294,13 @@ class npc_snobold_vassal : public CreatureScript
{
npc_snobold_vassalAI(Creature* creature) : ScriptedAI(creature)
{
+ _targetGUID = 0;
+ _targetDied = false;
_instance = creature->GetInstanceScript();
_instance->SetData(DATA_SNOBOLD_COUNT, INCREASE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.ScheduleEvent(EVENT_BATTER, 5*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEAD_CRACK, 25*IN_MILLISECONDS);
@@ -310,25 +312,25 @@ class npc_snobold_vassal : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_targetGUID = who->GetGUID();
me->TauntApply(who);
DoCast(who, SPELL_SNOBOLLED);
}
- void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) OVERRIDE
+ void DamageTaken(Unit* pDoneBy, uint32 &uiDamage) override
{
if (pDoneBy->GetGUID() == _targetGUID)
uiDamage = 0;
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -344,7 +346,7 @@ class npc_snobold_vassal : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* target = ObjectAccessor::GetPlayer(*me, _targetGUID))
if (target->IsAlive())
@@ -352,7 +354,7 @@ class npc_snobold_vassal : public CreatureScript
_instance->SetData(DATA_SNOBOLD_COUNT, DECREASE);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -367,7 +369,7 @@ class npc_snobold_vassal : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || _targetDied)
return;
@@ -444,7 +446,7 @@ class npc_snobold_vassal : public CreatureScript
bool _targetDied;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_snobold_vassalAI>(creature);
}
@@ -462,7 +464,7 @@ class npc_firebomb : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_FIRE_BOMB_DOT, true);
SetCombatMovement(false);
@@ -470,7 +472,7 @@ class npc_firebomb : public CreatureScript
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (_instance->GetData(TYPE_NORTHREND_BEASTS) != GORMOK_IN_PROGRESS)
me->DespawnOrUnsummon();
@@ -480,7 +482,7 @@ class npc_firebomb : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_firebombAI>(creature);
}
@@ -492,7 +494,7 @@ struct boss_jormungarAI : public BossAI
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
Enraged = false;
@@ -504,7 +506,7 @@ struct boss_jormungarAI : public BossAI
events.ScheduleEvent(EVENT_SLIME_POOL, 15*IN_MILLISECONDS, 0, PHASE_MOBILE);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* otherWorm = Unit::GetCreature(*me, instance->GetData64(OtherWormEntry)))
{
@@ -520,7 +522,7 @@ struct boss_jormungarAI : public BossAI
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
// prevent losing 2 attempts at once on heroics
if (instance->GetData(TYPE_NORTHREND_BEASTS) != FAIL)
@@ -529,20 +531,20 @@ struct boss_jormungarAI : public BossAI
me->DespawnOrUnsummon();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
instance->SetData(DATA_TRIBUTE_TO_IMMORTALITY_ELIGIBLE, 0);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
me->SetInCombatWithZone();
instance->SetData(TYPE_NORTHREND_BEASTS, SNAKES_IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -681,7 +683,7 @@ class boss_acidmaw : public CreatureScript
{
boss_acidmawAI(Creature* creature) : boss_jormungarAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
boss_jormungarAI::Reset();
BiteSpell = SPELL_PARALYTIC_BITE;
@@ -697,7 +699,7 @@ class boss_acidmaw : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_acidmawAI>(creature);
}
@@ -714,7 +716,7 @@ class boss_dreadscale : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
boss_jormungarAI::Reset();
BiteSpell = SPELL_BURNING_BITE;
@@ -731,7 +733,7 @@ class boss_dreadscale : public CreatureScript
WasMobile = false;
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -749,13 +751,13 @@ class boss_dreadscale : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
boss_jormungarAI::EnterEvadeMode();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
@@ -763,7 +765,7 @@ class boss_dreadscale : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_dreadscaleAI>(creature);
}
@@ -781,13 +783,13 @@ class npc_slime_pool : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_cast = false;
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!_cast)
{
@@ -804,7 +806,7 @@ class npc_slime_pool : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_slime_poolAI>(creature);
}
@@ -828,13 +830,13 @@ class spell_gormok_fire_bomb : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_gormok_fire_bomb_SpellScript::TriggerFireBomb, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gormok_fire_bomb_SpellScript();
}
@@ -851,7 +853,7 @@ class boss_icehowl : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_FEROCIOUS_BUTT, urand(15*IN_MILLISECONDS, 30*IN_MILLISECONDS));
events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(15*IN_MILLISECONDS, 25*IN_MILLISECONDS));
@@ -867,13 +869,13 @@ class boss_icehowl : public CreatureScript
_stage = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
instance->SetData(TYPE_NORTHREND_BEASTS, ICEHOWL_DONE);
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
return;
@@ -910,20 +912,20 @@ class boss_icehowl : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
ScriptedAI::EnterEvadeMode();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
instance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
me->DespawnOrUnsummon();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -931,13 +933,13 @@ class boss_icehowl : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
instance->SetData(TYPE_NORTHREND_BEASTS, ICEHOWL_IN_PROGRESS);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_TRAMPLE && target->GetTypeId() == TYPEID_PLAYER)
{
@@ -949,7 +951,7 @@ class boss_icehowl : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1115,7 +1117,7 @@ class boss_icehowl : public CreatureScript
uint8 _stage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_icehowlAI>(creature);
}
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 0d7dc9062ad..00eb970b57b 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -145,7 +145,7 @@ struct boss_twin_baseAI : public BossAI
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_PASSIVE);
@@ -163,7 +163,7 @@ struct boss_twin_baseAI : public BossAI
summons.DespawnAll();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SetBossState(BOSS_VALKIRIES, FAIL);
@@ -171,7 +171,7 @@ struct boss_twin_baseAI : public BossAI
me->DespawnOrUnsummon();
}
- void MovementInform(uint32 uiType, uint32 uiId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiId) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -187,7 +187,7 @@ struct boss_twin_baseAI : public BossAI
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -196,12 +196,12 @@ struct boss_twin_baseAI : public BossAI
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summoned) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -222,7 +222,7 @@ struct boss_twin_baseAI : public BossAI
summons.Despawn(summoned);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
if (Creature* pSister = GetSister())
@@ -248,7 +248,7 @@ struct boss_twin_baseAI : public BossAI
return Unit::GetCreature((*me), instance->GetData64(SisterNpcId));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->SetInCombatWithZone();
if (Creature* pSister = GetSister())
@@ -262,7 +262,7 @@ struct boss_twin_baseAI : public BossAI
DoCast(me, SurgeSpellId);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -283,7 +283,7 @@ struct boss_twin_baseAI : public BossAI
me->SetCanDualWield(mode);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!instance || !UpdateVictim())
return;
@@ -394,7 +394,7 @@ class boss_fjola : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
SetEquipmentSlots(false, EQUIP_MAIN_1, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
Stage = 0;
@@ -415,7 +415,7 @@ class boss_fjola : public CreatureScript
boss_twin_baseAI::Reset();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, EVENT_START_TWINS_FIGHT);
@@ -423,13 +423,13 @@ class boss_fjola : public CreatureScript
boss_twin_baseAI::EnterCombat(who);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
boss_twin_baseAI::EnterEvadeMode();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
@@ -437,7 +437,7 @@ class boss_fjola : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_fjolaAI>(creature);
}
@@ -452,7 +452,7 @@ class boss_eydis : public CreatureScript
{
boss_eydisAI(Creature* creature) : boss_twin_baseAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
SetEquipmentSlots(false, EQUIP_MAIN_2, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
Stage = 1;
@@ -472,7 +472,7 @@ class boss_eydis : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_eydisAI>(creature);
}
@@ -487,7 +487,7 @@ class npc_essence_of_twin : public CreatureScript
{
npc_essence_of_twinAI(Creature* creature) : ScriptedAI(creature) { }
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
uint32 spellReturned = 0;
switch (me->GetEntry())
@@ -506,12 +506,12 @@ class npc_essence_of_twin : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_essence_of_twinAI(creature);
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->RemoveAurasDueToSpell(creature->GetAI()->GetData(ESSENCE_REMOVE));
player->CastSpell(player, creature->GetAI()->GetData(ESSENCE_APPLY), true);
@@ -540,7 +540,7 @@ struct npc_unleashed_ballAI : public ScriptedAI
me->GetMotionMaster()->MovePoint(0, x, y, me->GetPositionZ());
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_PASSIVE);
@@ -551,7 +551,7 @@ struct npc_unleashed_ballAI : public ScriptedAI
RangeCheckTimer = 0.5*IN_MILLISECONDS;
}
- void MovementInform(uint32 uiType, uint32 uiId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiId) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -582,7 +582,7 @@ class npc_unleashed_dark : public CreatureScript
{
npc_unleashed_darkAI(Creature* creature) : npc_unleashed_ballAI(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (RangeCheckTimer < diff)
{
@@ -599,7 +599,7 @@ class npc_unleashed_dark : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unleashed_darkAI(creature);
}
@@ -614,7 +614,7 @@ class npc_unleashed_light : public CreatureScript
{
npc_unleashed_lightAI(Creature* creature) : npc_unleashed_ballAI(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (RangeCheckTimer < diff)
{
@@ -631,7 +631,7 @@ class npc_unleashed_light : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unleashed_lightAI(creature);
}
@@ -649,18 +649,18 @@ class npc_bullet_controller : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCastAOE(SPELL_CONTROLLER_PERIODIC);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
UpdateVictim();
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bullet_controllerAI(creature);
}
@@ -679,7 +679,7 @@ class spell_powering_up : public SpellScriptLoader
uint32 spellId;
uint32 poweringUp;
- bool Load() OVERRIDE
+ bool Load() override
{
spellId = sSpellMgr->GetSpellIdForDifficulty(SPELL_SURGE_OF_SPEED, GetCaster());
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -712,13 +712,13 @@ class spell_powering_up : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_powering_up_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_powering_up_SpellScript();
}
@@ -735,7 +735,7 @@ class spell_valkyr_essences : public SpellScriptLoader
uint32 spellId;
- bool Load() OVERRIDE
+ bool Load() override
{
spellId = sSpellMgr->GetSpellIdForDifficulty(SPELL_SURGE_OF_SPEED, GetCaster());
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -807,13 +807,13 @@ class spell_valkyr_essences : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectAbsorb += AuraEffectAbsorbFn(spell_valkyr_essences_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_valkyr_essences_AuraScript();
}
@@ -828,7 +828,7 @@ class spell_power_of_the_twins : public SpellScriptLoader
{
PrepareAuraScript(spell_power_of_the_twins_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -851,7 +851,7 @@ class spell_power_of_the_twins : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_power_of_the_twins_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_power_of_the_twins_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
@@ -859,7 +859,7 @@ class spell_power_of_the_twins : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_power_of_the_twins_AuraScript();
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
index c0e49fa43fb..64afe8d5b2e 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
@@ -31,7 +31,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
{
instance_trial_of_the_crusader_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(MAX_ENCOUNTERS);
TrialCounter = 50;
@@ -69,7 +69,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
FloorGUID = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTERS; ++i)
if (GetBossState(i) == IN_PROGRESS)
@@ -82,7 +82,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
return false;
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (instance->IsHeroic())
{
@@ -122,7 +122,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
go->SetGoState(GO_STATE_READY);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -179,7 +179,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -227,7 +227,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -403,7 +403,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -472,7 +472,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -523,7 +523,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
return 0;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -586,7 +586,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
case 5060:
case 5070:
case 5080:
- return NPC_LICH_KING_1;
+ return NPC_LICH_KING;
break;
case 120:
case 122:
@@ -629,7 +629,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
return 0;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (GetData(TYPE_NORTHREND_BEASTS) == SNAKES_SPECIAL && NotOneButTwoJormungarsTimer)
{
@@ -665,12 +665,12 @@ class instance_trial_of_the_crusader : public InstanceMapScript
NeedSave = false;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return SaveDataBuffer;
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
@@ -697,7 +697,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
OUT_LOAD_INST_DATA_COMPLETE;
}
- bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) OVERRIDE
+ bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override
{
switch (criteria_id)
{
@@ -774,7 +774,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
bool TributeToImmortalityEligible;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_trial_of_the_crusader_InstanceMapScript(map);
}
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 fdefde10b4f..74e4f4caa9d 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
@@ -115,7 +115,7 @@ class npc_announcer_toc10 : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Creature* pAlly = GetClosestCreatureWithEntry(me, NPC_THRALL, 300.0f))
@@ -124,10 +124,10 @@ class npc_announcer_toc10 : public CreatureScript
pAlly->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (!instance)
@@ -156,7 +156,7 @@ class npc_announcer_toc10 : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override
{
player->PlayerTalkClass->ClearMenus();
player->CLOSE_GOSSIP_MENU();
@@ -220,7 +220,7 @@ class npc_announcer_toc10 : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_announcer_toc10AI(creature);
}
@@ -238,7 +238,7 @@ class boss_lich_king_toc : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_updateTimer = 0;
me->SetReactState(REACT_PASSIVE);
@@ -252,7 +252,7 @@ class boss_lich_king_toc : public CreatureScript
me->SetWalk(true);
}
- void MovementInform(uint32 uiType, uint32 uiId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiId) override
{
if (uiType != POINT_MOTION_TYPE || !_instance)
return;
@@ -270,12 +270,12 @@ class boss_lich_king_toc : public CreatureScript
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!_instance)
return;
- if (_instance->GetData(TYPE_EVENT_NPC) != NPC_LICH_KING_1)
+ if (_instance->GetData(TYPE_EVENT_NPC) != NPC_LICH_KING)
return;
_updateTimer = _instance->GetData(TYPE_EVENT_TIMER);
@@ -355,7 +355,7 @@ class boss_lich_king_toc : public CreatureScript
uint32 _updateTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lich_king_tocAI>(creature);
}
@@ -373,7 +373,7 @@ class npc_fizzlebang_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Talk(SAY_STAGE_1_06, killer);
_instance->SetData(TYPE_EVENT, 1180);
@@ -385,14 +385,14 @@ class npc_fizzlebang_toc : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetWalk(true);
_portalGUID = 0;
me->GetMotionMaster()->MovePoint(1, ToCCommonLoc[10].GetPositionX(), ToCCommonLoc[10].GetPositionY()-60, ToCCommonLoc[10].GetPositionZ());
}
- void MovementInform(uint32 uiType, uint32 uiId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiId) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -410,12 +410,12 @@ class npc_fizzlebang_toc : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
_summons.Summon(summoned);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!_instance)
return;
@@ -526,7 +526,7 @@ class npc_fizzlebang_toc : public CreatureScript
uint64 _triggerGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_fizzlebang_tocAI>(creature);
}
@@ -544,11 +544,11 @@ class npc_tirion_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!_instance)
return;
@@ -764,7 +764,7 @@ class npc_tirion_toc : public CreatureScript
case 5005:
_updateTimer = 8*IN_MILLISECONDS;
_instance->SetData(TYPE_EVENT, 5010);
- me->SummonCreature(NPC_LICH_KING_1, ToCCommonLoc[2].GetPositionX(), ToCCommonLoc[2].GetPositionY(), ToCCommonLoc[2].GetPositionZ(), 5);
+ me->SummonCreature(NPC_LICH_KING, ToCCommonLoc[2].GetPositionX(), ToCCommonLoc[2].GetPositionY(), ToCCommonLoc[2].GetPositionZ(), 5);
break;
case 5020:
Talk(SAY_STAGE_4_03);
@@ -814,7 +814,7 @@ class npc_tirion_toc : public CreatureScript
uint32 _updateTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_tirion_tocAI>(creature);
}
@@ -832,11 +832,11 @@ class npc_garrosh_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!_instance)
return;
@@ -898,7 +898,7 @@ class npc_garrosh_toc : public CreatureScript
uint32 _updateTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_garrosh_tocAI>(creature);
}
@@ -916,11 +916,11 @@ class npc_varian_toc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!_instance)
return;
@@ -982,7 +982,7 @@ class npc_varian_toc : public CreatureScript
uint32 _updateTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_varian_tocAI>(creature);
}
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
index 17e4f2869c6..562105c0866 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
@@ -184,8 +184,7 @@ enum CreatureIds
NPC_FIZZLEBANG = 35458,
NPC_GARROSH = 34995,
NPC_VARIAN = 34990,
- NPC_LICH_KING_0 = 16980,
- NPC_LICH_KING_1 = 35877,
+ NPC_LICH_KING = 35877,
NPC_THRALL = 34994,
NPC_PROUDMOORE = 34992,
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
index 7b55452105b..a1690598532 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
@@ -60,12 +60,12 @@ class boss_king_dred : public CreatureScript
{
boss_king_dredAI(Creature* creature) : BossAI(creature, DATA_KING_DRED) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -77,13 +77,13 @@ class boss_king_dred : public CreatureScript
events.ScheduleEvent(EVENT_RAPTOR_CALL, urand(20000, 25000));
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_RAPTOR_KILLED)
++raptorsKilled;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_RAPTORS_KILLED)
return raptorsKilled;
@@ -91,12 +91,12 @@ class boss_king_dred : public CreatureScript
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -151,7 +151,7 @@ class boss_king_dred : public CreatureScript
uint8 raptorsKilled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<boss_king_dredAI>(creature);
}
@@ -173,12 +173,12 @@ class npc_drakkari_gutripper : public CreatureScript
uint32 GutRipTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
GutRipTimer = urand(10000, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -194,14 +194,14 @@ class npc_drakkari_gutripper : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KING_DRED)))
Dred->AI()->DoAction(ACTION_RAPTOR_KILLED);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<npc_drakkari_gutripperAI>(creature);
}
@@ -223,12 +223,12 @@ class npc_drakkari_scytheclaw : public CreatureScript
uint32 uiRendTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiRendTimer = urand(10000, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -244,14 +244,14 @@ class npc_drakkari_scytheclaw : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KING_DRED)))
Dred->AI()->DoAction(ACTION_RAPTOR_KILLED);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<npc_drakkari_scytheclawAI>(creature);
}
@@ -264,7 +264,7 @@ class achievement_king_dred : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 09db3f89c26..72e4b0b5eb9 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -82,7 +82,7 @@ public:
{
boss_novosAI(Creature* creature) : BossAI(creature, DATA_NOVOS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -93,7 +93,7 @@ public:
SetBubbled(false);
}
- void EnterCombat(Unit* /* victim */) OVERRIDE
+ void EnterCombat(Unit* /* victim */) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -103,7 +103,7 @@ public:
SetBubbled(true);
}
- void AttackStart(Unit* target) OVERRIDE
+ void AttackStart(Unit* target) override
{
if (!target)
return;
@@ -112,19 +112,19 @@ public:
DoStartNoMovement(target);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || _bubbled)
return;
@@ -153,13 +153,13 @@ public:
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_CRYSTAL_HANDLER_DIED)
CrystalHandlerDied();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
BossAI::MoveInLineOfSight(who);
@@ -171,12 +171,12 @@ public:
_ohNovos = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return type == DATA_NOVOS_ACHIEV && _ohNovos ? 1 : 0;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
}
@@ -231,7 +231,7 @@ public:
if (Creature* crystalChannelTarget = crystal->FindNearestCreature(NPC_CRYSTAL_CHANNEL_TARGET, 5.0f))
{
if (active)
- crystalChannelTarget->AI()->DoCastAOE(SPELL_BEAM_CHANNEL);
+ crystalChannelTarget->CastSpell((Unit*)NULL, SPELL_BEAM_CHANNEL);
else if (crystalChannelTarget->HasUnitState(UNIT_STATE_CASTING))
crystalChannelTarget->CastStop();
}
@@ -267,7 +267,7 @@ public:
bool _bubbled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<boss_novosAI>(creature);
}
@@ -282,14 +282,14 @@ public:
{
npc_crystal_channel_targetAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_spell = 0;
_timer = 0;
_temp = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_spell)
{
@@ -303,14 +303,14 @@ public:
}
}
- void SetData(uint32 id, uint32 value) OVERRIDE
+ void SetData(uint32 id, uint32 value) override
{
_spell = id;
_timer = value;
_temp = value;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (InstanceScript* instance = me->GetInstanceScript())
if (uint64 guid = instance->GetData64(DATA_NOVOS))
@@ -330,7 +330,7 @@ public:
uint32 _temp;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<npc_crystal_channel_targetAI>(creature);
}
@@ -341,7 +341,7 @@ class achievement_oh_novos : public AchievementCriteriaScript
public:
achievement_oh_novos() : AchievementCriteriaScript("achievement_oh_novos") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->AI()->GetData(DATA_NOVOS_ACHIEV);
}
@@ -356,7 +356,7 @@ class spell_novos_summon_minions : public SpellScriptLoader
{
PrepareSpellScript(spell_novos_summon_minions_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_COPY_OF_MINIONS))
return false;
@@ -369,13 +369,13 @@ class spell_novos_summon_minions : public SpellScriptLoader
GetCaster()->CastSpell((Unit*)NULL, SPELL_SUMMON_COPY_OF_MINIONS, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_novos_summon_minions_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_novos_summon_minions_SpellScript();
}
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
index 8022c19180c..77f026b1d3a 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_tharon_ja.cpp
@@ -84,13 +84,13 @@ class boss_tharon_ja : public CreatureScript
{
boss_tharon_jaAI(Creature* creature) : BossAI(creature, DATA_THARON_JA) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->RestoreDisplayId();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
@@ -101,13 +101,13 @@ class boss_tharon_ja : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_VOLLEY, urand(8000, 10000));
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -116,7 +116,7 @@ class boss_tharon_ja : public CreatureScript
DoCastAOE(SPELL_ACHIEVEMENT_CHECK, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -199,7 +199,7 @@ class boss_tharon_ja : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<boss_tharon_jaAI>(creature);
}
@@ -214,7 +214,7 @@ class spell_tharon_ja_clear_gift_of_tharon_ja : public SpellScriptLoader
{
PrepareSpellScript(spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GIFT_OF_THARON_JA))
return false;
@@ -227,13 +227,13 @@ class spell_tharon_ja_clear_gift_of_tharon_ja : public SpellScriptLoader
target->RemoveAura(SPELL_GIFT_OF_THARON_JA);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript();
}
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index 4fc8f532c47..13d968d9e06 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -75,13 +75,13 @@ class boss_trollgore : public CreatureScript
{
boss_trollgoreAI(Creature* creature) : BossAI(creature, DATA_TROLLGORE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_consumptionJunction = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -93,7 +93,7 @@ class boss_trollgore : public CreatureScript
events.ScheduleEvent(EVENT_SPAWN, urand(30000, 40000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -147,13 +147,13 @@ class boss_trollgore : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_CONSUMPTION_JUNCTION)
return _consumptionJunction ? 1 : 0;
@@ -161,7 +161,7 @@ class boss_trollgore : public CreatureScript
return 0;
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -169,7 +169,7 @@ class boss_trollgore : public CreatureScript
Talk(SAY_KILL);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->GetMotionMaster()->MovePoint(POINT_LANDING, Landing);
summons.Summon(summon);
@@ -179,7 +179,7 @@ class boss_trollgore : public CreatureScript
bool _consumptionJunction;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<boss_trollgoreAI>(creature);
}
@@ -194,7 +194,7 @@ class npc_drakkari_invader : public CreatureScript
{
npc_drakkari_invaderAI(Creature* creature) : ScriptedAI(creature) { }
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type == POINT_MOTION_TYPE && pointId == POINT_LANDING)
{
@@ -205,7 +205,7 @@ class npc_drakkari_invader : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetDrakTharonKeepAI<npc_drakkari_invaderAI>(creature);
}
@@ -221,7 +221,7 @@ class spell_trollgore_consume : public SpellScriptLoader
{
PrepareSpellScript(spell_trollgore_consume_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CONSUME_BUFF))
return false;
@@ -234,13 +234,13 @@ class spell_trollgore_consume : public SpellScriptLoader
target->CastSpell(GetCaster(), SPELL_CONSUME_BUFF, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_trollgore_consume_SpellScript::HandleConsume, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_trollgore_consume_SpellScript();
}
@@ -256,7 +256,7 @@ class spell_trollgore_corpse_explode : public SpellScriptLoader
{
PrepareAuraScript(spell_trollgore_corpse_explode_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CORPSE_EXPLODE_DAMAGE))
return false;
@@ -276,14 +276,14 @@ class spell_trollgore_corpse_explode : public SpellScriptLoader
target->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_trollgore_corpse_explode_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
AfterEffectRemove += AuraEffectRemoveFn(spell_trollgore_corpse_explode_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_trollgore_corpse_explode_AuraScript();
}
@@ -299,7 +299,7 @@ class spell_trollgore_invader_taunt : public SpellScriptLoader
{
PrepareSpellScript(spell_trollgore_invader_taunt_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
return false;
@@ -312,13 +312,13 @@ class spell_trollgore_invader_taunt : public SpellScriptLoader
target->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_trollgore_invader_taunt_SpellScript::HandleTaunt, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_trollgore_invader_taunt_SpellScript();
}
@@ -331,7 +331,7 @@ class achievement_consumption_junction : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
index 112afe732b6..d7c21991ca0 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
@@ -41,7 +41,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
memset(NovosSummonerGUIDs, 0, 4 * sizeof(uint64));
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -68,7 +68,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -121,7 +121,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
NovosSummonerGUIDs[3] = creature->GetGUID();
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -152,14 +152,14 @@ class instance_drak_tharon_keep : public InstanceMapScript
return 0;
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
if (unit->GetEntry() == NPC_CRYSTAL_HANDLER)
if (Creature* novos = instance->GetCreature(NovosGUID))
novos->AI()->DoAction(ACTION_CRYSTAL_HANDLER_DIED);
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -170,7 +170,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -213,7 +213,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
uint64 NovosSummonerGUIDs[4];
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_drak_tharon_keep_InstanceScript(map);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index 2e0466d19d0..fe98f005bca 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -71,7 +71,7 @@ class boss_bronjahm : public CreatureScript
DoCast(me, SPELL_SOULSTORM_CHANNEL, true);
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName))
me->IsAIEnabled = false;
@@ -79,7 +79,7 @@ class boss_bronjahm : public CreatureScript
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.SetPhase(PHASE_1);
@@ -90,12 +90,12 @@ class boss_bronjahm : public CreatureScript
instance->SetBossState(DATA_BRONJAHM, NOT_STARTED);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
DoCast(me, SPELL_SOULSTORM_CHANNEL, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
me->RemoveAurasDueToSpell(SPELL_SOULSTORM_CHANNEL);
@@ -103,20 +103,20 @@ class boss_bronjahm : public CreatureScript
instance->SetBossState(DATA_BRONJAHM, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_BRONJAHM, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (events.IsInPhase(PHASE_1) && !HealthAbovePct(30))
{
@@ -127,7 +127,7 @@ class boss_bronjahm : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
summon->SetReactState(REACT_PASSIVE);
@@ -136,7 +136,7 @@ class boss_bronjahm : public CreatureScript
summon->CastSpell(summon, SPELL_PURPLE_BANISH_VISUAL, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -186,7 +186,7 @@ class boss_bronjahm : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_bronjahmAI>(creature);
}
@@ -204,7 +204,7 @@ class npc_corrupted_soul_fragment : public CreatureScript
instance = me->GetInstanceScript();
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != CHASE_MOTION_TYPE)
return;
@@ -226,7 +226,7 @@ class npc_corrupted_soul_fragment : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_corrupted_soul_fragmentAI>(creature);
}
@@ -254,13 +254,13 @@ class spell_bronjahm_magic_bane : public SpellScriptLoader
SetHitDamage(newDamage);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_bronjahm_magic_bane_SpellScript::RecalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_bronjahm_magic_bane_SpellScript();
}
@@ -281,13 +281,13 @@ class spell_bronjahm_consume_soul : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), GetEffectValue(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_bronjahm_consume_soul_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_bronjahm_consume_soul_SpellScript();
}
@@ -309,13 +309,13 @@ class spell_bronjahm_soulstorm_channel : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), i, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_channel_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_bronjahm_soulstorm_channel_AuraScript();
}
@@ -340,13 +340,13 @@ class spell_bronjahm_soulstorm_visual : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), i, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_visual_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_bronjahm_soulstorm_visual_AuraScript();
}
@@ -388,7 +388,7 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader
targets = sharedTargets;
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsInitial, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargetsSubsequent, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY);
@@ -397,7 +397,7 @@ class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader
std::list<WorldObject*> sharedTargets;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_bronjahm_soulstorm_targeting_SpellScript();
}
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 8ef6abf2f47..e64067fb995 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
@@ -132,7 +132,7 @@ class boss_devourer_of_souls : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (!instance || static_cast<InstanceMap*>(me->GetMap())->GetScriptId() != sObjectMgr->GetScriptId(FoSScriptName))
me->IsAIEnabled = false;
@@ -140,7 +140,7 @@ class boss_devourer_of_souls : public CreatureScript
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->SetDisplayId(DISPLAY_ANGER);
@@ -154,7 +154,7 @@ class boss_devourer_of_souls : public CreatureScript
instance->SetData(DATA_DEVOURER_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_FACE_AGGRO);
@@ -169,7 +169,7 @@ class boss_devourer_of_souls : public CreatureScript
instance->SetData(DATA_DEVOURER_EVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -194,7 +194,7 @@ class boss_devourer_of_souls : public CreatureScript
Talk(textId);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
summons.DespawnAll();
@@ -223,13 +223,13 @@ class boss_devourer_of_souls : public CreatureScript
}
}
- void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) override
{
if (spell->Id == H_SPELL_PHANTOM_BLAST)
threeFaced = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_THREE_FACED)
return threeFaced;
@@ -237,7 +237,7 @@ class boss_devourer_of_souls : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// Return since we have no target
if (!UpdateVictim())
@@ -343,7 +343,7 @@ class boss_devourer_of_souls : public CreatureScript
int8 wailingSoulTick;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_devourer_of_soulsAI>(creature);
}
@@ -359,7 +359,7 @@ class spell_devourer_of_souls_mirrored_soul : public SpellScriptLoader
{
PrepareSpellScript(spell_devourer_of_souls_mirrored_soul_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MIRRORED_SOUL_PROC_AURA))
return false;
@@ -372,13 +372,13 @@ class spell_devourer_of_souls_mirrored_soul : public SpellScriptLoader
target->CastSpell(GetCaster(), SPELL_MIRRORED_SOUL_PROC_AURA, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_devourer_of_souls_mirrored_soul_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_devourer_of_souls_mirrored_soul_SpellScript();
}
@@ -394,14 +394,14 @@ class spell_devourer_of_souls_mirrored_soul_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_devourer_of_souls_mirrored_soul_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MIRRORED_SOUL_DAMAGE))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return true;
}
@@ -418,14 +418,14 @@ class spell_devourer_of_souls_mirrored_soul_proc : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_MIRRORED_SOUL_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetCaster(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_devourer_of_souls_mirrored_soul_proc_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_devourer_of_souls_mirrored_soul_proc_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_devourer_of_souls_mirrored_soul_proc_AuraScript();
}
@@ -441,7 +441,7 @@ class spell_devourer_of_souls_mirrored_soul_target_selector : public SpellScript
{
PrepareSpellScript(spell_devourer_of_souls_mirrored_soul_target_selector_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MIRRORED_SOUL_BUFF))
return false;
@@ -464,14 +464,14 @@ class spell_devourer_of_souls_mirrored_soul_target_selector : public SpellScript
GetCaster()->CastSpell(target, SPELL_MIRRORED_SOUL_BUFF, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_devourer_of_souls_mirrored_soul_target_selector_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_devourer_of_souls_mirrored_soul_target_selector_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_devourer_of_souls_mirrored_soul_target_selector_SpellScript();
}
@@ -482,7 +482,7 @@ class achievement_three_faced : public AchievementCriteriaScript
public:
achievement_three_faced() : AchievementCriteriaScript("achievement_three_faced") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 3e901bfd0d4..fc9a786aab9 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
@@ -89,13 +89,13 @@ public:
EventMap events;
Phase phase;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
phase = PHASE_NORMAL;
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
switch (actionId)
{
@@ -109,7 +109,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (phase == PHASE_INTRO)
{
@@ -158,7 +158,7 @@ public:
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -172,7 +172,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -188,7 +188,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_sylvanas_fosAI>(creature);
}
@@ -212,13 +212,13 @@ public:
EventMap events;
Phase phase;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
phase = PHASE_NORMAL;
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
switch (actionId)
{
@@ -232,7 +232,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (phase == PHASE_INTRO)
{
@@ -292,7 +292,7 @@ public:
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -306,7 +306,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -322,7 +322,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_jaina_fosAI>(creature);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
index cb03842cf3f..964787777a7 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
@@ -43,13 +43,13 @@ class instance_forge_of_souls : public InstanceMapScript
teamInInstance = 0;
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (!teamInInstance)
teamInInstance = player->GetTeam();
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (!teamInInstance)
{
@@ -69,20 +69,20 @@ class instance_forge_of_souls : public InstanceMapScript
break;
case NPC_SYLVANAS_PART1:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART1);
break;
case NPC_LORALEN:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA, ALLIANCE);
+ creature->UpdateEntry(NPC_ELANDRA);
break;
case NPC_KALIRA:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORELN, ALLIANCE);
+ creature->UpdateEntry(NPC_KORELN);
break;
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -95,7 +95,7 @@ class instance_forge_of_souls : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -110,7 +110,7 @@ class instance_forge_of_souls : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -121,7 +121,7 @@ class instance_forge_of_souls : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -158,7 +158,7 @@ class instance_forge_of_souls : public InstanceMapScript
uint32 teamInInstance;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_forge_of_souls_InstanceScript(map);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 2ba47d354f9..a5577b6a0ea 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -25,7 +25,7 @@ enum Texts
SAY_SLAY = 1,
SAY_DEATH = 2,
SAY_IMPENDING_DESPAIR = 3,
- SAY_DEFILING_HORROR = 4,
+ SAY_DEFILING_HORROR = 4
};
enum Spells
@@ -33,8 +33,9 @@ enum Spells
SPELL_QUIVERING_STRIKE = 72422,
SPELL_IMPENDING_DESPAIR = 72426,
SPELL_DEFILING_HORROR = 72435,
- SPELL_HOPELESSNESS = 72395,
- H_SPELL_HOPELESSNESS = 72390, /// @todo not in dbc. Add in DB.
+ SPELL_HOPELESSNESS_1 = 72395,
+ SPELL_HOPELESSNESS_2 = 72396,
+ SPELL_HOPELESSNESS_3 = 72397
};
enum Events
@@ -42,99 +43,106 @@ enum Events
EVENT_NONE,
EVENT_QUIVERING_STRIKE,
EVENT_IMPENDING_DESPAIR,
- EVENT_DEFILING_HORROR,
+ EVENT_DEFILING_HORROR
};
+uint32 const HopelessnessHelper[3] = { SPELL_HOPELESSNESS_1, SPELL_HOPELESSNESS_2, SPELL_HOPELESSNESS_3 };
+
class boss_falric : public CreatureScript
{
-public:
- boss_falric() : CreatureScript("boss_falric") { }
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<boss_falricAI>(creature);
- }
-
- struct boss_falricAI : public boss_horAI
- {
- boss_falricAI(Creature* creature) : boss_horAI(creature) { }
-
- uint8 uiHopelessnessCount;
-
- void Reset() OVERRIDE
- {
- boss_horAI::Reset();
-
- uiHopelessnessCount = 0;
+ public:
+ boss_falric() : CreatureScript("boss_falric") { }
- instance->SetBossState(DATA_FALRIC_EVENT, NOT_STARTED);
- }
-
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ struct boss_falricAI : public boss_horAI
{
- Talk(SAY_AGGRO);
- instance->SetBossState(DATA_FALRIC_EVENT, IN_PROGRESS);
-
- events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 23000);
- events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 9000);
- events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); /// @todo adjust timer.
- }
+ boss_falricAI(Creature* creature) : boss_horAI(creature, DATA_FALRIC) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- Talk(SAY_DEATH);
-
- instance->SetBossState(DATA_FALRIC_EVENT, DONE);
- }
+ void Reset() override
+ {
+ boss_horAI::Reset();
+ _hopelessnessCount = 0;
+ }
- void KilledUnit(Unit* /*victim*/) OVERRIDE
- {
- Talk(SAY_SLAY);
- }
+ void EnterCombat(Unit* /*who*/) override
+ {
+ Talk(SAY_AGGRO);
+ DoZoneInCombat();
+ instance->SetBossState(DATA_FALRIC, IN_PROGRESS);
- void UpdateAI(uint32 diff) OVERRIDE
- {
- // Return since we have no target
- if (!UpdateVictim())
- return;
+ events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 23000);
+ events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 9000);
+ events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(21000, 39000));
+ }
- events.Update(diff);
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if ((_hopelessnessCount < 1 && me->HealthBelowPctDamaged(66, damage))
+ || (_hopelessnessCount < 2 && me->HealthBelowPctDamaged(33, damage))
+ || (_hopelessnessCount < 3 && me->HealthBelowPctDamaged(10, damage)))
+ {
+ if (_hopelessnessCount)
+ me->RemoveOwnedAura(sSpellMgr->GetSpellIdForDifficulty(HopelessnessHelper[_hopelessnessCount - 1], me));
+ DoCast(me, HopelessnessHelper[_hopelessnessCount]);
+ ++_hopelessnessCount;
+ }
+ }
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ void JustDied(Unit* /*killer*/) override
+ {
+ Talk(SAY_DEATH);
+ events.Reset();
+ instance->SetBossState(DATA_FALRIC, DONE);
+ }
- switch (events.ExecuteEvent())
+ void KilledUnit(Unit* who) override
{
- case EVENT_QUIVERING_STRIKE:
- DoCast(SPELL_QUIVERING_STRIKE);
- events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 10000);
- break;
- case EVENT_IMPENDING_DESPAIR:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- {
- Talk(SAY_IMPENDING_DESPAIR);
- DoCast(target, SPELL_IMPENDING_DESPAIR);
- }
- events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 13000);
- break;
- case EVENT_DEFILING_HORROR:
- DoCast(SPELL_DEFILING_HORROR);
- events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(25000, 45000)); /// @todo adjust timer.
- break;
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
- if ((uiHopelessnessCount < 1 && HealthBelowPct(66))
- || (uiHopelessnessCount < 2 && HealthBelowPct(33))
- || (uiHopelessnessCount < 3 && HealthBelowPct(10)))
+ void UpdateAI(uint32 diff) override
{
- uiHopelessnessCount++;
- DoCast(DUNGEON_MODE(SPELL_HOPELESSNESS, H_SPELL_HOPELESSNESS));
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (events.ExecuteEvent())
+ {
+ case EVENT_QUIVERING_STRIKE:
+ DoCastVictim(SPELL_QUIVERING_STRIKE);
+ events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 10000);
+ break;
+ case EVENT_IMPENDING_DESPAIR:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ {
+ Talk(SAY_IMPENDING_DESPAIR);
+ DoCast(target, SPELL_IMPENDING_DESPAIR);
+ }
+ events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 13000);
+ break;
+ case EVENT_DEFILING_HORROR:
+ DoCastAOE(SPELL_DEFILING_HORROR);
+ events.ScheduleEvent(EVENT_DEFILING_HORROR, urand(21000, 39000));
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
}
- DoMeleeAttackIfReady();
- }
- };
+ private:
+ uint8 _hopelessnessCount;
+ };
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<boss_falricAI>(creature);
+ }
};
void AddSC_boss_falric()
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index c6f692e7ff5..902a917c594 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -17,6 +17,8 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
+#include "SpellAuraEffects.h"
#include "halls_of_reflection.h"
enum Texts
@@ -33,6 +35,7 @@ enum Spells
SPELL_WELL_OF_CORRUPTION = 72362,
SPELL_CORRUPTED_FLESH = 72363,
SPELL_SHARED_SUFFERING = 72368,
+ SPELL_SHARED_SUFFERING_DISPEL = 72373
};
enum Events
@@ -41,93 +44,130 @@ enum Events
EVENT_OBLITERATE,
EVENT_WELL_OF_CORRUPTION,
EVENT_CORRUPTED_FLESH,
- EVENT_SHARED_SUFFERING,
+ EVENT_SHARED_SUFFERING
};
class boss_marwyn : public CreatureScript
{
-public:
- boss_marwyn() : CreatureScript("boss_marwyn") { }
+ public:
+ boss_marwyn() : CreatureScript("boss_marwyn") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<boss_marwynAI>(creature);
- }
-
- struct boss_marwynAI : public boss_horAI
- {
- boss_marwynAI(Creature* creature) : boss_horAI(creature) { }
-
- void Reset() OVERRIDE
+ struct boss_marwynAI : public boss_horAI
{
- boss_horAI::Reset();
+ boss_marwynAI(Creature* creature) : boss_horAI(creature, DATA_MARWYN) { }
- instance->SetBossState(DATA_MARWYN_EVENT, NOT_STARTED);
- }
+ void Reset() override
+ {
+ boss_horAI::Reset();
+ }
- void EnterCombat(Unit* /*who*/) OVERRIDE
- {
- Talk(SAY_AGGRO);
- instance->SetBossState(DATA_MARWYN_EVENT, IN_PROGRESS);
+ void EnterCombat(Unit* /*who*/) override
+ {
+ Talk(SAY_AGGRO);
+ DoZoneInCombat();
+ instance->SetBossState(DATA_MARWYN, IN_PROGRESS);
+
+ events.ScheduleEvent(EVENT_OBLITERATE, urand(8000, 13000));
+ events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
+ events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
+ events.ScheduleEvent(EVENT_SHARED_SUFFERING, urand(14000, 15000));
+ }
- events.ScheduleEvent(EVENT_OBLITERATE, 30000); /// @todo Check timer
- events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
- events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
- events.ScheduleEvent(EVENT_SHARED_SUFFERING, 20000); /// @todo Check timer
- }
+ void JustDied(Unit* /*killer*/) override
+ {
+ Talk(SAY_DEATH);
+ events.Reset();
+ instance->SetBossState(DATA_MARWYN, DONE);
+ }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- Talk(SAY_DEATH);
+ void KilledUnit(Unit* who) override
+ {
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- instance->SetBossState(DATA_MARWYN_EVENT, DONE);
- }
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (events.ExecuteEvent())
+ {
+ case EVENT_OBLITERATE:
+ DoCastVictim(SPELL_OBLITERATE);
+ events.ScheduleEvent(EVENT_OBLITERATE, urand(8000, 13000));
+ break;
+ case EVENT_WELL_OF_CORRUPTION:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
+ DoCast(target, SPELL_WELL_OF_CORRUPTION);
+ events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
+ break;
+ case EVENT_CORRUPTED_FLESH:
+ Talk(SAY_CORRUPTED_FLESH);
+ DoCastAOE(SPELL_CORRUPTED_FLESH);
+ events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
+ break;
+ case EVENT_SHARED_SUFFERING:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
+ DoCast(target, SPELL_SHARED_SUFFERING);
+ events.ScheduleEvent(EVENT_SHARED_SUFFERING, urand(14000, 15000));
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
+ }
+ };
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- Talk(SAY_SLAY);
+ return GetHallsOfReflectionAI<boss_marwynAI>(creature);
}
+};
- void UpdateAI(uint32 diff) OVERRIDE
- {
- // Return since we have no target
- if (!UpdateVictim())
- return;
+// 72368, 72369 - Shared Suffering
+class spell_marwyn_shared_suffering : public SpellScriptLoader
+{
+ public:
+ spell_marwyn_shared_suffering() : SpellScriptLoader("spell_marwyn_shared_suffering") { }
- events.Update(diff);
+ class spell_marwyn_shared_suffering_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_marwyn_shared_suffering_AuraScript);
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_ENEMY_SPELL)
+ return;
+
+ if (Unit* caster = GetCaster())
+ {
+ int32 remainingDamage = aurEff->GetAmount() * (aurEff->GetTotalTicks() - aurEff->GetTickNumber());
+ if (remainingDamage > 0)
+ caster->CastCustomSpell(SPELL_SHARED_SUFFERING_DISPEL, SPELLVALUE_BASE_POINT1, remainingDamage, GetTarget(), TRIGGERED_FULL_MASK);
+ }
+ }
- switch (events.ExecuteEvent())
+ void Register() override
{
- case EVENT_OBLITERATE:
- DoCast(SPELL_OBLITERATE);
- events.ScheduleEvent(EVENT_OBLITERATE, 30000);
- break;
- case EVENT_WELL_OF_CORRUPTION:
- DoCast(SPELL_WELL_OF_CORRUPTION);
- events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
- break;
- case EVENT_CORRUPTED_FLESH:
- Talk(SAY_CORRUPTED_FLESH);
- DoCast(SPELL_CORRUPTED_FLESH);
- events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
- break;
- case EVENT_SHARED_SUFFERING:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_SHARED_SUFFERING);
- events.ScheduleEvent(EVENT_SHARED_SUFFERING, 20000);
- break;
+ AfterEffectRemove += AuraEffectRemoveFn(spell_marwyn_shared_suffering_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
+ };
- DoMeleeAttackIfReady();
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_marwyn_shared_suffering_AuraScript();
}
- };
-
};
void AddSC_boss_marwyn()
{
new boss_marwyn();
+ new spell_marwyn_shared_suffering();
}
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 1f4713415ac..0c5514a1c0a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -18,6 +18,8 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
+#include "SpellScript.h"
+#include "Transport.h"
#include "Player.h"
#include "halls_of_reflection.h"
@@ -36,17 +38,6 @@ enum Text
SAY_JAINA_INTRO_11 = 10,
SAY_JAINA_INTRO_END = 11,
- SAY_JAINA_ESCAPE_1 = 0,
- SAY_JAINA_ESCAPE_2 = 1,
- SAY_JAINA_ESCAPE_3 = 2,
- SAY_JAINA_ESCAPE_4 = 3,
- SAY_JAINA_ESCAPE_5 = 4,
- SAY_JAINA_ESCAPE_6 = 5,
- SAY_JAINA_ESCAPE_7 = 6,
- SAY_JAINA_ESCAPE_8 = 7,
- SAY_JAINA_ESCAPE_9 = 8,
- SAY_JAINA_ESCAPE_10 = 9,
-
SAY_SYLVANAS_INTRO_1 = 0,
SAY_SYLVANAS_INTRO_2 = 1,
SAY_SYLVANAS_INTRO_3 = 2,
@@ -57,16 +48,6 @@ enum Text
SAY_SYLVANAS_INTRO_8 = 7,
SAY_SYLVANAS_INTRO_END = 8,
- SAY_SYLVANAS_ESCAPE_1 = 0,
- SAY_SYLVANAS_ESCAPE_2 = 1,
- SAY_SYLVANAS_ESCAPE_3 = 2,
- SAY_SYLVANAS_ESCAPE_4 = 3,
- SAY_SYLVANAS_ESCAPE_5 = 4,
- SAY_SYLVANAS_ESCAPE_6 = 5,
- SAY_SYLVANAS_ESCAPE_7 = 6,
- SAY_SYLVANAS_ESCAPE_8 = 7,
- SAY_SYLVANAS_ESCAPE_9 = 8,
-
SAY_UTHER_INTRO_A2_1 = 0,
SAY_UTHER_INTRO_A2_2 = 1,
SAY_UTHER_INTRO_A2_3 = 2,
@@ -90,27 +71,40 @@ enum Text
SAY_LK_JAINA_INTRO_END = 3,
SAY_LK_SYLVANAS_INTRO_END = 4,
+ SAY_JAINA_SYLVANAS_ESCAPE_1 = 0,
+ SAY_JAINA_SYLVANAS_ESCAPE_2 = 1,
+ SAY_JAINA_SYLVANAS_ESCAPE_3 = 2,
+ SAY_JAINA_SYLVANAS_ESCAPE_4 = 3,
+ SAY_JAINA_SYLVANAS_ESCAPE_5 = 4,
+ SAY_JAINA_SYLVANAS_ESCAPE_6 = 5,
+ SAY_JAINA_SYLVANAS_ESCAPE_7 = 6, // unused
+ SAY_JAINA_SYLVANAS_ESCAPE_8 = 7,
+
+ SAY_JAINA_ESCAPE_9 = 8,
+ SAY_JAINA_ESCAPE_10 = 9,
+
+ SAY_SYLVANAS_ESCAPE_9 = 8,
+
SAY_LK_ESCAPE_1 = 0,
SAY_LK_ESCAPE_2 = 1,
- SAY_LK_ESCAPE_3 = 2,
- SAY_LK_ESCAPE_4 = 3,
- SAY_LK_ESCAPE_5 = 4,
- SAY_LK_ESCAPE_6 = 5,
- SAY_LK_ESCAPE_7 = 6,
- SAY_LK_ESCAPE_8 = 7,
- SAY_LK_ESCAPE_9 = 8,
- SAY_LK_ESCAPE_10 = 9,
- SAY_LK_ESCAPE_11 = 10,
+ SAY_LK_ESCAPE_ICEWALL_SUMMONED_1 = 2,
+ SAY_LK_ESCAPE_ICEWALL_SUMMONED_2 = 3,
+ SAY_LK_ESCAPE_ICEWALL_SUMMONED_3 = 4,
+ SAY_LK_ESCAPE_ICEWALL_SUMMONED_4 = 5,
+ SAY_LK_ESCAPE_GHOULS = 6,
+ SAY_LK_ESCAPE_ABOMINATION = 7,
+ SAY_LK_ESCAPE_WINTER = 8,
+ SAY_LK_ESCAPE_HARVEST_SOUL = 9,
SAY_FALRIC_INTRO_1 = 5,
SAY_FALRIC_INTRO_2 = 6,
- SAY_MARWYN_INTRO_1 = 4,
+ SAY_MARWYN_INTRO_1 = 4
};
enum Events
{
- EVENT_WALK_INTRO1 = 1,
+ EVENT_WALK_INTRO1 = 1,
EVENT_WALK_INTRO2,
EVENT_START_INTRO,
EVENT_SKIP_INTRO,
@@ -181,21 +175,17 @@ enum Events
EVENT_ESCAPE_13,
EVENT_ESCAPE_14,
EVENT_ESCAPE_15,
- //EVENT_ESCAPE_16,
+ EVENT_ESCAPE_16,
EVENT_ESCAPE_17,
- EVENT_ESCAPE_18,
- EVENT_ESCAPE_19,
- EVENT_ESCAPE_20,
- EVENT_ESCAPE_21,
- EVENT_ESCAPE_22,
- EVENT_ESCAPE_23,
- EVENT_ESCAPE_24,
- EVENT_ESCAPE_25,
- EVENT_ESCAPE_26,
- EVENT_ESCAPE_27,
-
- EVENT_OPEN_FROSTWORN_DOOR,
- EVENT_CLOSE_FROSTWORN_DOOR,
+
+ EVENT_REMORSELESS_WINTER,
+ EVENT_ESCAPE_SUMMON_GHOULS,
+ EVENT_ESCAPE_SUMMON_WITCH_DOCTOR,
+ EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION,
+
+ EVENT_OPEN_IMPENETRABLE_DOOR,
+ EVENT_CLOSE_IMPENETRABLE_DOOR,
+ EVENT_KORELN_LORALEN_DEATH
};
enum Misc
@@ -203,907 +193,1151 @@ enum Misc
ACTION_START_INTRO,
ACTION_SKIP_INTRO,
- QUEST_DELIVRANCE_FROM_THE_PIT_A2 = 24710,
- QUEST_DELIVRANCE_FROM_THE_PIT_H2 = 24712,
- QUEST_WRATH_OF_THE_LICH_KING_A2 = 24500,
- QUEST_WRATH_OF_THE_LICH_KING_H2 = 24802,
+ JAINA_SYLVANAS_MAX_HEALTH = 252000,
+
+ POINT_SHADOW_THRONE_DOOR = 1,
+ POINT_ATTACK_ICEWALL = 2,
+ POINT_TRAP = 3,
+
+ SOUND_LK_SLAY_1 = 17214,
+ SOUND_LK_SLAY_2 = 17215,
+ SOUND_LK_FURY_OF_FROSTMOURNE = 17224
};
enum Spells
{
- SPELL_CAST_VISUAL = 65633, // Jaina/Sylavana
- SPELL_BOSS_SPAWN_AURA = 72712, // Falric and Marwyn
- SPELL_UTHER_DESPAWN = 70693,
+ // Misc
SPELL_TAKE_FROSTMOURNE = 72729,
SPELL_FROSTMOURNE_DESPAWN = 72726,
SPELL_FROSTMOURNE_VISUAL = 73220,
SPELL_FROSTMOURNE_SOUNDS = 70667,
- SPELL_JAINA_ICEBARRIER = 69787, // Jaina Ice Barrier
- SPELL_JAINA_ICEPRISON = 69708, // Jaina Ice Prison
- SPELL_SYLVANAS_CLOAKOFDARKNESS = 70188, // Sylvanas Cloak of Darkness
- SPELL_SYLVANAS_DARKBINDING = 70194, // Sylvanas Dark Binding
- SPELL_REMORSELESS_WINTER = 69780, // Lich King Remorseless Winter
- SPELL_SOUL_REAPER = 69409, // Lich King Soul Reaper
- SPELL_FURY_OF_FROSTMOURNE = 70063, // Lich King Fury of FrostMourne
+ SPELL_BOSS_SPAWN_AURA = 72712, // Falric and Marwyn
+ SPELL_UTHER_DESPAWN = 70693,
+
+ // Jaina, Sylvanas
+ SPELL_CAST_VISUAL = 65633, // wrong
+ SPELL_SUMMON_SOULS = 72711,
+ SPELL_TAUNT_ARTHAS = 69857,
+ SPELL_JAINA_ICE_BARRIER = 69787, // Jaina Ice Barrier
+ SPELL_JAINA_ICE_PRISON = 69708, // Jaina Ice Prison
SPELL_JAINA_DESTROY_ICE_WALL = 69784, // Jaina
+ SPELL_SYLVANAS_CLOAK_OF_DARKNESS = 70188, // Sylvanas Cloak of Darkness
+ SPELL_SYLVANAS_DARK_BINDING = 70194, // Sylvanas Dark Binding
SPELL_SYLVANAS_DESTROY_ICE_WALL = 70224, // Sylvanas
- SPELL_SYLVANAS_JUMP = 68339, // Sylvanas Jump
+ SPELL_SYLVANAS_BLINDING_RETREAT = 70199, // Sylvanas Blinding Retreat
+
+ // Lich King
+ SPELL_REMORSELESS_WINTER = 69780, // Lich King Remorseless Winter
+ SPELL_SOUL_REAPER = 69409, // Lich King Soul Reaper
+ SPELL_FURY_OF_FROSTMOURNE = 70063, // Lich King Fury of Frostmourne
SPELL_RAISE_DEAD = 69818,
- SPELL_HARVEST_SOUL = 70070,
- SPELL_SUMMON_RISE_WITCH_DOCTOR = 69836,
+ SPELL_SUMMON_RISEN_WITCH_DOCTOR = 69836,
SPELL_SUMMON_LUMBERING_ABOMINATION = 69835,
SPELL_SUMMON_ICE_WALL = 69768, // Visual effect and icewall summoning
+ SPELL_PAIN_AND_SUFFERING = 74115, // Lich King Pain and Suffering
+ SPELL_STUN_BREAK_JAINA = 69764, // Lich King visual spell, another Stun Break is 69763, should remove the stun effect
+ SPELL_STUN_BREAK_SYLVANAS = 70200,
+ SPELL_HARVEST_SOUL = 69866, // Lich King Harvest Soul
+
+ // Koreln, Loralen
+ SPELL_FEIGN_DEATH = 29266,
// Raging Ghoul
- SPELL_EMERGE_VISUAL = 50142,
SPELL_GHOUL_JUMP = 70150,
+ SPELL_RAGING_GHOUL_SPAWN = 69636,
- // Witch Doctor
- SPELL_COURSE_OF_DOOM = 70144,
+ // Risen Witch Doctor
+ SPELL_CURSE_OF_DOOM = 70144,
SPELL_SHADOW_BOLT_VOLLEY = 70145,
SPELL_SHADOW_BOLT = 70080,
+ SPELL_RISEN_WITCH_DOCTOR_SPAWN = 69639,
// Lumbering Abomination
- SPELL_ABON_STRIKE = 40505,
- SPELL_VOMIT_SPRAY = 70176,
+ SPELL_CLEAVE = 40505,
+ SPELL_VOMIT_SPRAY = 70176
};
-const Position HallsofReflectionLocs[] =
+enum HorGossipMenu
{
- {5283.234863f, 1990.946777f, 707.695679f, 0.929097f}, // 2 Loralen Follows
- {5408.031250f, 2102.918213f, 707.695251f, 0.792756f}, // 9 Sylvanas Follows
- {5401.866699f, 2110.837402f, 707.695251f, 0.800610f}, // 10 Loralen follows
+ GOSSIP_MENU_JAINA_FINAL = 10930,
+ GOSSIP_MENU_SYLVANAS_FINAL = 10931
};
-const Position NpcJainaOrSylvanasEscapeRoute[] =
+Position const NpcJainaOrSylvanasEscapeRoute[] =
{
- {5601.217285f, 2207.652832f, 731.541931f, 5.223304f}, // leave the throne room
- {5607.224375f, 2173.913330f, 731.126038f, 2.608723f}, // adjust route
- {5583.427246f, 2138.784180f, 731.150391f, 4.260901f}, // stop for talking
- {5560.281738f, 2104.025635f, 731.410889f, 4.058383f}, // attack the first icewall
- {5510.990723f, 2000.772217f, 734.716064f, 3.973213f}, // attack the second icewall
- {5452.641113f, 1905.762329f, 746.530579f, 4.118834f}, // attack the third icewall
- {5338.126953f, 1768.429810f, 767.237244f, 3.855189f}, // attack the fourth icewall
- {5257.712402f, 1669.379395f, 784.300110f, 0.908373f}, // face the Lich king
- {5261.191895f, 1681.901611f, 784.285278f, 4.410465f}, // final position
+ { 5601.217285f, 2207.652832f, 731.541931f, 5.223304f }, // leave the throne room
+ { 5607.224375f, 2173.913330f, 731.126038f, 2.608723f }, // adjust route
+ { 5583.427246f, 2138.784180f, 731.150391f, 4.260901f }, // stop for talking
+ { 5560.281738f, 2104.025635f, 731.410889f, 4.058383f }, // attack the first icewall
+ { 5510.990723f, 2000.772217f, 734.716064f, 3.973213f }, // attack the second icewall
+ { 5452.641113f, 1905.762329f, 746.530579f, 4.118834f }, // attack the third icewall
+ { 5338.126953f, 1768.429810f, 767.237244f, 3.855189f }, // attack the fourth icewall
+ { 5259.06f, 1669.27f, 784.3008f, 0.0f }, // trap (sniffed)
+ { 5265.53f, 1681.6f, 784.2947f, 4.13643f } // final position (sniffed)
};
-const Position IceWalls[] =
+Position const LichKingMoveAwayPos = { 5400.069824f, 2102.7131689f, 707.69525f, 0.843803f }; // Lich King walks away
+Position const LichKingFirstSummon = { 5600.076172f, 2192.270996f, 731.750488f, 4.330935f }; // Lich King First summons
+Position const JainaSylvanasShadowThroneDoor = { 5577.243f, 2235.852f, 733.0128f, 2.209562f }; // Jaina/Sylvanas move to door
+Position const LichKingFinalPos = { 5283.742188f, 1706.335693f, 783.293518f, 4.138510f }; // Lich King Final Pos
+
+// sniffed
+Position const KorelnOrLoralenPos[] =
{
- {5547.833f, 2083.701f,731.4332f,4.24115f}, // first icewall
- {5503.213f, 1969.547f,737.0245f,4.293779f},// second icewall
- {5439.976f, 1879.005f,752.7048f,4.207591f},// third icewall
- {5318.289f, 1749.184f,771.9423f,4.054276f},// fourth icewall
+ { 5253.061f, 1953.616f, 707.6948f, 0.8377581f },
+ { 5283.226f, 1992.300f, 707.7445f, 0.8377581f },
+ { 5360.711f, 2064.797f, 707.6948f, 0.0f }
};
-const Position IntroPos = {5265.89f, 1952.98f, 707.6978f, 0.0f}; // Jaina/Sylvanas Intro Start Position
-const Position MoveThronePos = {5306.952148f, 1998.499023f, 709.341431f, 1.277278f}; // Jaina/Sylvanas walks to throne
-const Position UtherSpawnPos = {5308.310059f, 2003.857178f, 709.341431f, 4.650315f};
-const Position LichKingSpawnPos = {5362.917480f, 2062.307129f, 707.695374f, 3.945812f};
-const Position LichKingMoveThronePos = {5312.080566f, 2009.172119f, 709.341431f, 3.973301f}; // Lich King walks to throne
-const Position LichKingMoveAwayPos = {5400.069824f, 2102.7131689f, 707.69525f, 0.843803f}; // Lich King walks away
-const Position LichKingSpawnPos2 = {5552.733398f, 2262.718506f, 733.011047f, 4.009696f}; // Lich King Spawn Position 2
-const Position LichKingFirstSummon = {5600.076172f, 2192.270996f, 731.750488f, 4.330935f}; // Lich King First summons
-const Position JainaShadowThroneDoor = {5577.243f, 2235.852f, 733.0128f, 2.209562f}; // Jaina Spawn Position 2
-const Position SylvanasShadowThroneDoor = {5577.243f, 2235.852f, 733.0128f, 2.209562f}; // Sylvanas Spawn Position 2
-const Position FalricStartPos = {5283.878906f, 2030.459595f, 709.319641f, 5.506670f}; // Falric start position
-const Position MarwynStartPos = {5334.979980f, 1982.399536f, 709.320129f, 2.347014f}; // Marwyn start position
-const Position LichKingFinalPos = {5283.742188f, 1706.335693f, 783.293518f, 4.138510f}; // Lich King Final Pos
-const Position ChestPos = {5246.187500f, 1649.079468f, 784.301758f, 0.901268f}; // Chest position
-const Position FinalPortalPos = {5270.634277f ,1639.101196f, 784.303040f, 1.682743f}; // Final portal position
-
-class npc_jaina_or_sylvanas_hor : public CreatureScript
+Position const SylvanasIntroPosition[] =
{
- public:
- npc_jaina_or_sylvanas_hor() : CreatureScript("npc_jaina_or_sylvanas_hor") { }
-
- // AI of Part1
- struct npc_jaina_or_sylvanas_horAI : public ScriptedAI
- {
- npc_jaina_or_sylvanas_horAI(Creature* creature) : ScriptedAI(creature)
- {
- _instance = me->GetInstanceScript();
- }
-
- InstanceScript* _instance;
- uint64 _utherGUID;
- uint64 _lichkingGUID;
-
- EventMap _events;
+ { 0.0f, 0.0f, 0.0f, 0.0f }, // 0 - Spawn
+ { 5263.2f, 1950.96f, 707.6948f, 0.8028514f }, // 1 - Move to Door
+ { 5306.82f, 1998.17f, 709.341f, 1.239184f }, // 2 - Move to Frostmourne
+};
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
- {
- case 0:
- player->CLOSE_GOSSIP_MENU();
- _events.ScheduleEvent(EVENT_START_INTRO, 1000);
- me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
- break;
- case 1:
- player->CLOSE_GOSSIP_MENU();
- _events.ScheduleEvent(EVENT_SKIP_INTRO, 1000);
- me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
- break;
- }
- }
+Position const JainaIntroPosition[] =
+{
+ { 0.0f, 0.0f, 0.0f, 0.0f }, // 0 - Spawn
+ { 5265.89f, 1952.98f, 707.6978f, 0.0f }, // 1 - Move to Door
+ { 5306.95f, 1998.49f, 709.3414f, 1.277278f } // 2 - Move to Frostmourne
+};
- void Reset() OVERRIDE
- {
- _events.Reset();
+Position const UtherSpawnPos = { 5307.814f, 2003.168f, 709.4244f, 4.537856f };
- _utherGUID = 0;
- _lichkingGUID = 0;
+Position const LichKingIntroPosition[] =
+{
+ { 5362.463f, 2062.693f, 707.7781f, 3.944444f }, // 0 - Spawn
+ { 5332.83f, 2031.24f, 707.6948f, 0.0f }, // 1 - Door
+ { 5312.93f, 2010.24f, 709.34f, 0.0f }, // 2 - Move to Frostmourne
+ { 5319.028f, 2016.662f, 707.6948f, 0.0f }, // 3 - Move back
+ { 5332.285f, 2030.832f, 707.6948f, 0.0f }, // 4 - Move back 2
+ { 5355.488f, 2055.149f, 707.6907f, 0.0f } // 5 - Move back 3
+};
- me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
- me->SetStandState(UNIT_STAND_STATE_STAND);
- _events.ScheduleEvent(EVENT_WALK_INTRO1, 3000);
- }
+Position const FalricPosition[] =
+{
+ { 5276.583f, 2037.45f, 709.4025f, 5.532694f }, // 0 - Spawn
+ { 5283.95f, 2030.53f, 709.3191f, 0.0f } // 1 - Intro
+};
- void UpdateAI(uint32 diff) OVERRIDE
- {
- _events.Update(diff);
+Position const MarwynPosition[] =
+{
+ { 5342.232f, 1975.696f, 709.4025f, 2.391101f }, // 0 - Spawn
+ { 5335.01f, 1982.37f, 709.3191f, 0.0f } // 1 - Intro
+};
- switch (_events.ExecuteEvent())
- {
- case EVENT_WALK_INTRO1:
- me->GetMotionMaster()->MovePoint(0, IntroPos);
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- {
- Talk(SAY_JAINA_INTRO_1);
- _events.ScheduleEvent(EVENT_WALK_INTRO2, 7000);
- }
- else
- {
- Talk(SAY_SYLVANAS_INTRO_1);
- _events.ScheduleEvent(EVENT_WALK_INTRO2, 9000);
- }
- break;
- case EVENT_WALK_INTRO2:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_INTRO_2);
- else
- Talk(SAY_SYLVANAS_INTRO_2);
- me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
- break;
- case EVENT_START_INTRO:
- me->GetMotionMaster()->MovePoint(0, MoveThronePos);
- // Begining of intro is differents between fActions as the speech sequence and timers are differents.
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- _events.ScheduleEvent(EVENT_INTRO_A2_1, 0);
- else
- _events.ScheduleEvent(EVENT_INTRO_H2_1, 0);
- break;
- // A2 Intro Events
- case EVENT_INTRO_A2_1:
- Talk(SAY_JAINA_INTRO_3);
- _events.ScheduleEvent(EVENT_INTRO_A2_2, 7000);
- break;
- case EVENT_INTRO_A2_2:
- Talk(SAY_JAINA_INTRO_4);
- _events.ScheduleEvent(EVENT_INTRO_A2_3, 10000);
- break;
- case EVENT_INTRO_A2_3:
- me->CastSpell(me, SPELL_CAST_VISUAL, false);
- me->CastSpell(me, SPELL_FROSTMOURNE_SOUNDS, true);
- _instance->HandleGameObject(_instance->GetData64(DATA_FROSTMOURNE), true);
- _events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
- break;
- case EVENT_INTRO_A2_4:
- if (Creature* uther = me->SummonCreature(NPC_UTHER, UtherSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
- {
- uther->GetMotionMaster()->MoveIdle();
- _utherGUID = uther->GetGUID();
- }
- _events.ScheduleEvent(EVENT_INTRO_A2_5, 2000);
- break;
- case EVENT_INTRO_A2_5:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
- _events.ScheduleEvent(EVENT_INTRO_A2_6, 3000);
- break;
- case EVENT_INTRO_A2_6:
- Talk(SAY_JAINA_INTRO_5);
- _events.ScheduleEvent(EVENT_INTRO_A2_7, 7000);
- break;
- case EVENT_INTRO_A2_7:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
- _events.ScheduleEvent(EVENT_INTRO_A2_8, 7000);
- break;
- case EVENT_INTRO_A2_8:
- Talk(SAY_JAINA_INTRO_6);
- _events.ScheduleEvent(EVENT_INTRO_A2_9, 1200);
- break;
- case EVENT_INTRO_A2_9:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
- _events.ScheduleEvent(EVENT_INTRO_A2_10, 11000);
- break;
- case EVENT_INTRO_A2_10:
- Talk(SAY_JAINA_INTRO_7);
- _events.ScheduleEvent(EVENT_INTRO_A2_11, 6000);
- break;
- case EVENT_INTRO_A2_11:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
- _events.ScheduleEvent(EVENT_INTRO_A2_12, 12000);
- break;
- case EVENT_INTRO_A2_12:
- Talk(SAY_JAINA_INTRO_8);
- _events.ScheduleEvent(EVENT_INTRO_A2_13, 6000);
- break;
- case EVENT_INTRO_A2_13:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
- _events.ScheduleEvent(EVENT_INTRO_A2_14, 13000);
- break;
- case EVENT_INTRO_A2_14:
- Talk(SAY_JAINA_INTRO_9);
- _events.ScheduleEvent(EVENT_INTRO_A2_15, 12000);
- break;
- case EVENT_INTRO_A2_15:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
- _events.ScheduleEvent(EVENT_INTRO_A2_16, 25000);
- break;
- case EVENT_INTRO_A2_16:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
- _events.ScheduleEvent(EVENT_INTRO_A2_17, 6000);
- break;
- case EVENT_INTRO_A2_17:
- Talk(SAY_JAINA_INTRO_10);
- _events.ScheduleEvent(EVENT_INTRO_A2_18, 5000);
- break;
- case EVENT_INTRO_A2_18:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- {
- uther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
- }
- _events.ScheduleEvent(EVENT_INTRO_A2_19, 12000);
- break;
- case EVENT_INTRO_A2_19:
- Talk(SAY_JAINA_INTRO_11);
- _events.ScheduleEvent(EVENT_INTRO_LK_1, 3000);
- break;
- // H2 Intro Events
- case EVENT_INTRO_H2_1:
- Talk(SAY_SYLVANAS_INTRO_1);
- _events.ScheduleEvent(EVENT_INTRO_H2_2, 8000);
- break;
- case EVENT_INTRO_H2_2:
- Talk(SAY_SYLVANAS_INTRO_2);
- _events.ScheduleEvent(EVENT_INTRO_H2_3, 6000);
- break;
- case EVENT_INTRO_H2_3:
- Talk(SAY_SYLVANAS_INTRO_3);
- me->CastSpell(me, SPELL_CAST_VISUAL, false);
- me->CastSpell(me, SPELL_FROSTMOURNE_SOUNDS, true);
- _instance->HandleGameObject(_instance->GetData64(DATA_FROSTMOURNE), true);
- _events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
- break;
- case EVENT_INTRO_H2_4:
- // spawn UTHER during speach 2
- if (Creature* uther = me->SummonCreature(NPC_UTHER, UtherSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
- {
- uther->GetMotionMaster()->MoveIdle();
- _utherGUID = uther->GetGUID();
- }
- _events.ScheduleEvent(EVENT_INTRO_H2_5, 2000);
- break;
- case EVENT_INTRO_H2_5:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
- _events.ScheduleEvent(EVENT_INTRO_H2_6, 11000);
- break;
- case EVENT_INTRO_H2_6:
- Talk(SAY_SYLVANAS_INTRO_4);
- _events.ScheduleEvent(EVENT_INTRO_H2_7, 3000);
- break;
- case EVENT_INTRO_H2_7:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
- _events.ScheduleEvent(EVENT_INTRO_H2_8, 6000);
- break;
- case EVENT_INTRO_H2_8:
- Talk(SAY_SYLVANAS_INTRO_5);
- _events.ScheduleEvent(EVENT_INTRO_H2_9, 5000);
- break;
- case EVENT_INTRO_H2_9:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
- _events.ScheduleEvent(EVENT_INTRO_H2_10, 19000);
- break;
- case EVENT_INTRO_H2_10:
- Talk(SAY_SYLVANAS_INTRO_6);
- _events.ScheduleEvent(EVENT_INTRO_H2_11, 1500);
- break;
- case EVENT_INTRO_H2_11:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
- _events.ScheduleEvent(EVENT_INTRO_H2_12, 19500);
- break;
- case EVENT_INTRO_H2_12:
- Talk(SAY_SYLVANAS_INTRO_7);
- _events.ScheduleEvent(EVENT_INTRO_H2_13, 2000);
- break;
- case EVENT_INTRO_H2_13:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- {
- uther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
- }
- _events.ScheduleEvent(EVENT_INTRO_H2_14, 12000);
- break;
- case EVENT_INTRO_H2_14:
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
- _events.ScheduleEvent(EVENT_INTRO_H2_15, 8000);
- break;
- case EVENT_INTRO_H2_15:
- Talk(SAY_SYLVANAS_INTRO_8);
- _events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
- break;
- // Remaining Intro Events common for both faction
- case EVENT_INTRO_LK_1:
- // Spawn LK in front of door, and make him move to the sword.
- if (Creature* lichking = me->SummonCreature(NPC_LICH_KING_PART1, LichKingSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
- {
- lichking->SetWalk(true);
- lichking->GetMotionMaster()->MovePoint(0, LichKingMoveThronePos);
- _lichkingGUID = lichking->GetGUID();
- _events.ScheduleEvent(EVENT_OPEN_FROSTWORN_DOOR, 0);
- _events.ScheduleEvent(EVENT_CLOSE_FROSTWORN_DOOR, 4000);
- }
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- {
- uther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- uther->AI()->Talk(SAY_UTHER_INTRO_A2_9);
- else
- uther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_2, 10000);
- break;
- case EVENT_INTRO_LK_2:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->AI()->Talk(SAY_LK_INTRO_1);
- _events.ScheduleEvent(EVENT_INTRO_LK_3, 1000);
- break;
- case EVENT_INTRO_LK_3:
- // The Lich King banishes Uther to the abyss.
- if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
- {
- uther->CastSpell(uther, SPELL_UTHER_DESPAWN, true);
- uther->DespawnOrUnsummon(5000);
- _utherGUID = 0;
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_4, 9000);
- break;
- case EVENT_INTRO_LK_4:
- // He steps forward and removes the runeblade from the heap of skulls.
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- {
- if (GameObject* frostmourne = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_FROSTMOURNE)))
- frostmourne->SetPhaseMask(2, true);
- lichking->CastSpell(lichking, SPELL_TAKE_FROSTMOURNE, true);
- lichking->CastSpell(lichking, SPELL_FROSTMOURNE_VISUAL, true);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_5, 8000);
- break;
- case EVENT_INTRO_LK_5:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->AI()->Talk(SAY_LK_INTRO_2);
- _events.ScheduleEvent(EVENT_INTRO_LK_6, 10000);
- break;
- case EVENT_INTRO_LK_6:
- // summon Falric and Marwyn. then go back to the door
- if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC_EVENT)))
- {
- falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
- falric->SetVisible(true);
- }
- if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN_EVENT)))
- {
- marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
- marwyn->SetVisible(true);
- }
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- {
- lichking->AI()->Talk(SAY_LK_INTRO_3);
- lichking->SetWalk(true);
- lichking->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_7, 10000);
- _events.ScheduleEvent(EVENT_OPEN_FROSTWORN_DOOR, 5000);
- break;
- case EVENT_INTRO_LK_7:
- if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN_EVENT)))
- {
- marwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
- marwyn->SetWalk(true);
- marwyn->GetMotionMaster()->MovePoint(0, MarwynStartPos);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_8, 1000);
- break;
- case EVENT_INTRO_LK_8:
- if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC_EVENT)))
- {
- falric->AI()->Talk(SAY_FALRIC_INTRO_1);
- falric->SetWalk(true);
- falric->GetMotionMaster()->MovePoint(0, FalricStartPos);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_9, 5000);
- break;
- case EVENT_INTRO_LK_9:
- if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC_EVENT)))
- falric->AI()->Talk(SAY_FALRIC_INTRO_2);
- _instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
- _events.ScheduleEvent(EVENT_INTRO_LK_10, 4000);
- break;
- case EVENT_INTRO_LK_10:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_INTRO_END);
- else
- Talk(SAY_SYLVANAS_INTRO_END);
- me->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos);
- /// @todo Loralen/Koreln shall run also
- _events.ScheduleEvent(EVENT_INTRO_LK_11, 5000);
- break;
- case EVENT_INTRO_LK_11:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- {
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- lichking->AI()->Talk(SAY_LK_JAINA_INTRO_END);
- else
- lichking->AI()->Talk(SAY_LK_SYLVANAS_INTRO_END);
- }
- _events.ScheduleEvent(EVENT_INTRO_END, 5000);
- break;
- case EVENT_INTRO_END:
- _instance->SetData(DATA_INTRO_EVENT, DONE);
- // Loralen or Koreln disappearAndDie()
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- {
- lichking->DespawnOrUnsummon(5000);
- _lichkingGUID = 0;
- }
- me->DespawnOrUnsummon(10000);
- _events.ScheduleEvent(EVENT_CLOSE_FROSTWORN_DOOR, 7000);
- break;
- case EVENT_SKIP_INTRO:
- me->GetMotionMaster()->MovePoint(0, MoveThronePos);
- /// @todo Loralen/Koreln shall run also
- if (Creature* lichking = me->SummonCreature(NPC_LICH_KING_PART1, LichKingSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
- {
- lichking->SetWalk(true);
- lichking->GetMotionMaster()->MovePoint(0, LichKingMoveThronePos);
- lichking->SetReactState(REACT_PASSIVE);
- _lichkingGUID = lichking->GetGUID();
- _events.ScheduleEvent(EVENT_OPEN_FROSTWORN_DOOR, 0);
- _events.ScheduleEvent(EVENT_CLOSE_FROSTWORN_DOOR, 4000);
- }
- _events.ScheduleEvent(EVENT_INTRO_LK_4, 15000);
- break;
- case EVENT_OPEN_FROSTWORN_DOOR:
- if (GameObject* gate = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_FROSTWORN_DOOR)))
- _instance->HandleGameObject(0, true, gate);
- break;
- case EVENT_CLOSE_FROSTWORN_DOOR:
- if (GameObject* gate = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_FROSTWORN_DOOR)))
- _instance->HandleGameObject(0, false, gate);
- break;
- }
- }
- };
+Position const SylvanasShadowThroneDoorPosition = { 5576.79f, 2235.73f, 733.0029f, 2.687807f };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetHallsOfReflectionAI<npc_jaina_or_sylvanas_horAI>(creature);
- }
+Position const IceWallTargetPosition[] =
+{
+ { 5547.833f, 2083.701f, 731.4332f, 1.029744f }, // 1st Icewall
+ { 5503.213f, 1969.547f, 737.0245f, 1.27409f }, // 2nd Icewall
+ { 5439.976f, 1879.005f, 752.7048f, 1.064651f }, // 3rd Icewall
+ { 5318.289f, 1749.184f, 771.9423f, 0.8726646f } // 4th Icewall
};
-class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
+class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
{
public:
- npc_jaina_or_sylvanas_escape_hor() : CreatureScript("npc_jaina_or_sylvanas_escape_hor") { }
-
- // AI of Part2
- struct npc_jaina_or_sylvanas_escape_horAI : public ScriptedAI
- {
- npc_jaina_or_sylvanas_escape_horAI(Creature* creature) : ScriptedAI(creature),
- _instance(creature->GetInstanceScript()), _lichkingGUID(0), _walltargetGUID(0),
- _icewallGUID(0), _icewall(0)
- {
- }
-
- InstanceScript* _instance;
- uint64 _lichkingGUID;
- uint64 _walltargetGUID; // dummy
- uint64 _icewallGUID; // object
- uint32 _icewall; // icewall number
+ npc_jaina_or_sylvanas_intro_hor() : CreatureScript("npc_jaina_or_sylvanas_intro_hor") { }
- EventMap _events;
-
- void Reset() OVERRIDE
- {
- _events.Reset();
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->DespawnOrUnsummon(1);
- _lichkingGUID = 0;
- _walltargetGUID = 0;
- _icewallGUID = 0;
- _icewall = 0;
- _events.ScheduleEvent(EVENT_ESCAPE, 0);
- }
-
- void JustDied(Unit* /*Killer*/) OVERRIDE
- {
- _instance->SetData(DATA_ESCAPE_EVENT, FAIL);
- }
-
- void DoAction(int32 actionId) OVERRIDE
+ struct npc_jaina_or_sylvanas_intro_horAI : public ScriptedAI
{
- switch (actionId)
- {
- case ACTION_START_ESCAPING: // called by InstanceScript when we need to start the escaping event
- _events.ScheduleEvent(EVENT_ESCAPE_1, 1000);
- break;
- case ACTION_WALL_BROKEN:
- _icewall++;
- if (_icewall != 4)
- _events.ScheduleEvent(EVENT_ESCAPE_17, 3000);
- else
- _events.ScheduleEvent(EVENT_ESCAPE_23, 3000);
- break;
+ npc_jaina_or_sylvanas_intro_horAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = me->GetInstanceScript();
+ _utherGUID = 0;
+ _lichkingGUID = 0;
}
- }
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
- {
- player->PlayerTalkClass->ClearMenus();
- switch (action)
+ void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
{
- case 0:
- player->CLOSE_GOSSIP_MENU();
- me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
- _events.ScheduleEvent(EVENT_ESCAPE_7, 0);
- break;
- }
- }
+ player->PlayerTalkClass->ClearMenus();
- void DestroyIceWall()
- {
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- me->RemoveAurasDueToSpell(SPELL_JAINA_DESTROY_ICE_WALL);
- else
- me->RemoveAurasDueToSpell(SPELL_SYLVANAS_DESTROY_ICE_WALL);
+ switch (gossipListId)
+ {
+ case 0:
+ player->PlayerTalkClass->SendCloseGossip();
+ _events.ScheduleEvent(EVENT_START_INTRO, 1000);
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ break;
+ case 1:
+ player->PlayerTalkClass->SendCloseGossip();
+ _events.ScheduleEvent(EVENT_SKIP_INTRO, 1000);
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ break;
+ default:
+ break;
+ }
+ }
- _instance->HandleGameObject(_icewallGUID, true);
+ void Reset() override
+ {
+ _events.Reset();
- if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _walltargetGUID))
- wallTarget->DespawnOrUnsummon();
- }
+ _utherGUID = 0;
+ _lichkingGUID = 0;
- void UpdateAI(uint32 diff) OVERRIDE
- {
- _events.Update(diff);
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ me->SetStandState(UNIT_STAND_STATE_STAND);
+ _events.ScheduleEvent(EVENT_WALK_INTRO1, 3000);
+ }
- while (uint32 event = _events.ExecuteEvent())
+ void UpdateAI(uint32 diff) override
{
- switch (event)
+ _events.Update(diff);
+
+ switch (_events.ExecuteEvent())
{
- case EVENT_ESCAPE:
- if (Creature* lichking = me->SummonCreature(NPC_LICH_KING_PART2, LichKingSpawnPos2, TEMPSUMMON_MANUAL_DESPAWN))
+ case EVENT_WALK_INTRO1:
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ korelnOrLoralen->GetMotionMaster()->MovePoint(0, KorelnOrLoralenPos[0]);
+
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
{
- me->Attack(lichking, true);
- lichking->Attack(me, true);
- me->SetReactState(REACT_PASSIVE);
- lichking->SetReactState(REACT_PASSIVE);
- _lichkingGUID = lichking->GetGUID();
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- DoCast(me, SPELL_JAINA_ICEBARRIER);
- else
- DoCast(me, SPELL_SYLVANAS_CLOAKOFDARKNESS);
+ me->GetMotionMaster()->MovePoint(0, JainaIntroPosition[1]);
+ Talk(SAY_JAINA_INTRO_1);
+ _events.ScheduleEvent(EVENT_WALK_INTRO2, 7000);
}
- me->SetHealth(252000);
- break;
- case EVENT_ESCAPE_1:
- _instance->SetData(DATA_ESCAPE_EVENT, IN_PROGRESS);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ else
{
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- lichking->AI()->Talk(SAY_LK_ESCAPE_1);
- else
- lichking->AI()->Talk(SAY_LK_ESCAPE_2);
- _events.ScheduleEvent(EVENT_ESCAPE_2, 8000);
+ me->GetMotionMaster()->MovePoint(0, SylvanasIntroPosition[1]);
+ Talk(SAY_SYLVANAS_INTRO_1);
+ _events.ScheduleEvent(EVENT_WALK_INTRO2, 9000);
}
break;
- case EVENT_ESCAPE_2:
+ case EVENT_WALK_INTRO2:
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- DoCast(me, SPELL_CAST_VISUAL, true);
+ Talk(SAY_JAINA_INTRO_2);
else
- DoCast(me, SPELL_SYLVANAS_JUMP, true);
- _events.ScheduleEvent(EVENT_ESCAPE_3, 1000);
+ Talk(SAY_SYLVANAS_INTRO_2);
+ me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
break;
- case EVENT_ESCAPE_3:
+ case EVENT_START_INTRO:
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ korelnOrLoralen->GetMotionMaster()->MovePoint(0, KorelnOrLoralenPos[1]);
+ // Begining of intro is differents between factions as the speech sequence and timers are differents.
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- DoCastAOE(SPELL_JAINA_ICEPRISON, true);
+ {
+ me->GetMotionMaster()->MovePoint(0, JainaIntroPosition[2]);
+ _events.ScheduleEvent(EVENT_INTRO_A2_1, 0);
+ }
else
- DoCastAOE(SPELL_SYLVANAS_DARKBINDING, true);
- _events.ScheduleEvent(EVENT_ESCAPE_4, 2000);
+ {
+ me->GetMotionMaster()->MovePoint(0, SylvanasIntroPosition[2]);
+ _events.ScheduleEvent(EVENT_INTRO_H2_1, 0);
+ }
break;
- case EVENT_ESCAPE_4:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_ESCAPE_1);
- else
- Talk(SAY_SYLVANAS_ESCAPE_1);
- _events.ScheduleEvent(EVENT_ESCAPE_5, 2000);
+ // A2 Intro Events
+ case EVENT_INTRO_A2_1:
+ Talk(SAY_JAINA_INTRO_3);
+ _events.ScheduleEvent(EVENT_INTRO_A2_2, 7000);
break;
- case EVENT_ESCAPE_5:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->CombatStop();
- me->GetMotionMaster()->MovePoint(0, JainaShadowThroneDoor);
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- me->RemoveAurasDueToSpell(SPELL_JAINA_ICEBARRIER);
- else
- me->RemoveAurasDueToSpell(SPELL_SYLVANAS_CLOAKOFDARKNESS);
- _events.ScheduleEvent(EVENT_ESCAPE_6, 5000);
+ case EVENT_INTRO_A2_2:
+ Talk(SAY_JAINA_INTRO_4);
+ _events.ScheduleEvent(EVENT_INTRO_A2_3, 10000);
break;
- case EVENT_ESCAPE_6:
- me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER);
+ case EVENT_INTRO_A2_3:
+ me->CastSpell(me, SPELL_CAST_VISUAL, false);
+ me->CastSpell(me, SPELL_FROSTMOURNE_SOUNDS, true);
+ _instance->HandleGameObject(_instance->GetData64(DATA_FROSTMOURNE), true);
+ _events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
break;
- case EVENT_ESCAPE_7:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- {
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- lichking->RemoveAurasDueToSpell(SPELL_JAINA_ICEPRISON);
- else
- lichking->RemoveAurasDueToSpell(SPELL_SYLVANAS_DARKBINDING);
- }
- _events.ScheduleEvent(EVENT_ESCAPE_8, 1000);
+ case EVENT_INTRO_A2_4:
+ if (Creature* uther = me->SummonCreature(NPC_UTHER, UtherSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
+ _utherGUID = uther->GetGUID();
+ _events.ScheduleEvent(EVENT_INTRO_A2_5, 2000);
break;
- case EVENT_ESCAPE_8:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->HandleEmoteCommand(TEXT_EMOTE_ROAR);
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[0]);
- _events.ScheduleEvent(EVENT_ESCAPE_9, 3000);
+ case EVENT_INTRO_A2_5:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
+ _events.ScheduleEvent(EVENT_INTRO_A2_6, 3000);
break;
- case EVENT_ESCAPE_9:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[0]);
- _events.ScheduleEvent(EVENT_ESCAPE_10, 1000);
+ case EVENT_INTRO_A2_6:
+ Talk(SAY_JAINA_INTRO_5);
+ _events.ScheduleEvent(EVENT_INTRO_A2_7, 7000);
break;
- case EVENT_ESCAPE_10:
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[1]);
- _events.ScheduleEvent(EVENT_ESCAPE_11, 5000);
+ case EVENT_INTRO_A2_7:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
+ _events.ScheduleEvent(EVENT_INTRO_A2_8, 7000);
break;
- case EVENT_ESCAPE_11:
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[2]);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->GetMotionMaster()->MovePoint(0, LichKingFirstSummon);
- _events.ScheduleEvent(EVENT_ESCAPE_12, 6000);
+ case EVENT_INTRO_A2_8:
+ Talk(SAY_JAINA_INTRO_6);
+ _events.ScheduleEvent(EVENT_INTRO_A2_9, 1200);
break;
- case EVENT_ESCAPE_12:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ case EVENT_INTRO_A2_9:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
+ _events.ScheduleEvent(EVENT_INTRO_A2_10, 11000);
+ break;
+ case EVENT_INTRO_A2_10:
+ Talk(SAY_JAINA_INTRO_7);
+ _events.ScheduleEvent(EVENT_INTRO_A2_11, 6000);
+ break;
+ case EVENT_INTRO_A2_11:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
+ _events.ScheduleEvent(EVENT_INTRO_A2_12, 12000);
+ break;
+ case EVENT_INTRO_A2_12:
+ Talk(SAY_JAINA_INTRO_8);
+ _events.ScheduleEvent(EVENT_INTRO_A2_13, 6000);
+ break;
+ case EVENT_INTRO_A2_13:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
+ _events.ScheduleEvent(EVENT_INTRO_A2_14, 13000);
+ break;
+ case EVENT_INTRO_A2_14:
+ Talk(SAY_JAINA_INTRO_9);
+ _events.ScheduleEvent(EVENT_INTRO_A2_15, 12000);
+ break;
+ case EVENT_INTRO_A2_15:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
+ _events.ScheduleEvent(EVENT_INTRO_A2_16, 25000);
+ break;
+ case EVENT_INTRO_A2_16:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
+ _events.ScheduleEvent(EVENT_INTRO_A2_17, 6000);
+ break;
+ case EVENT_INTRO_A2_17:
+ Talk(SAY_JAINA_INTRO_10);
+ _events.ScheduleEvent(EVENT_INTRO_A2_18, 5000);
+ break;
+ case EVENT_INTRO_A2_18:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
{
- lichking->AI()->Talk(SAY_LK_ESCAPE_3);
- lichking->AI()->DoCast(me, SPELL_RAISE_DEAD);
- lichking->Attack(me, true);
+ uther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
}
- _events.ScheduleEvent(EVENT_ESCAPE_13, 4000);
+ _events.ScheduleEvent(EVENT_INTRO_A2_19, 12000);
break;
- case EVENT_ESCAPE_13:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ case EVENT_INTRO_A2_19:
+ Talk(SAY_JAINA_INTRO_11);
+ _events.ScheduleEvent(EVENT_INTRO_LK_1, 3000);
+ break;
+ // H2 Intro Events
+ case EVENT_INTRO_H2_1:
+ Talk(SAY_SYLVANAS_INTRO_1);
+ _events.ScheduleEvent(EVENT_INTRO_H2_2, 8000);
+ break;
+ case EVENT_INTRO_H2_2:
+ Talk(SAY_SYLVANAS_INTRO_2);
+ _events.ScheduleEvent(EVENT_INTRO_H2_3, 6000);
+ break;
+ case EVENT_INTRO_H2_3:
+ Talk(SAY_SYLVANAS_INTRO_3);
+ me->CastSpell(me, SPELL_CAST_VISUAL, false);
+ me->CastSpell(me, SPELL_FROSTMOURNE_SOUNDS, true);
+ _instance->HandleGameObject(_instance->GetData64(DATA_FROSTMOURNE), true);
+ _events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
+ break;
+ case EVENT_INTRO_H2_4:
+ // spawn UTHER during speach 2
+ if (Creature* uther = me->SummonCreature(NPC_UTHER, UtherSpawnPos, TEMPSUMMON_MANUAL_DESPAWN))
+ _utherGUID = uther->GetGUID();
+ _events.ScheduleEvent(EVENT_INTRO_H2_5, 2000);
+ break;
+ case EVENT_INTRO_H2_5:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
+ _events.ScheduleEvent(EVENT_INTRO_H2_6, 11000);
+ break;
+ case EVENT_INTRO_H2_6:
+ Talk(SAY_SYLVANAS_INTRO_4);
+ _events.ScheduleEvent(EVENT_INTRO_H2_7, 3000);
+ break;
+ case EVENT_INTRO_H2_7:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
+ _events.ScheduleEvent(EVENT_INTRO_H2_8, 6000);
+ break;
+ case EVENT_INTRO_H2_8:
+ Talk(SAY_SYLVANAS_INTRO_5);
+ _events.ScheduleEvent(EVENT_INTRO_H2_9, 5000);
+ break;
+ case EVENT_INTRO_H2_9:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
+ _events.ScheduleEvent(EVENT_INTRO_H2_10, 19000);
+ break;
+ case EVENT_INTRO_H2_10:
+ Talk(SAY_SYLVANAS_INTRO_6);
+ _events.ScheduleEvent(EVENT_INTRO_H2_11, 1500);
+ break;
+ case EVENT_INTRO_H2_11:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
+ _events.ScheduleEvent(EVENT_INTRO_H2_12, 19500);
+ break;
+ case EVENT_INTRO_H2_12:
+ Talk(SAY_SYLVANAS_INTRO_7);
+ _events.ScheduleEvent(EVENT_INTRO_H2_13, 2000);
+ break;
+ case EVENT_INTRO_H2_13:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
{
- lichking->AI()->DoCast(lichking, SPELL_REMORSELESS_WINTER, true);
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_RISE_WITCH_DOCTOR);
- lichking->GetMotionMaster()->MoveIdle();
- lichking->GetMotionMaster()->MoveChase(me);
+ uther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
}
- if (Creature* walltarget = me->SummonCreature(NPC_ICE_WALL, IceWalls[0], TEMPSUMMON_MANUAL_DESPAWN, 720000))
+ _events.ScheduleEvent(EVENT_INTRO_H2_14, 12000);
+ break;
+ case EVENT_INTRO_H2_14:
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
+ _events.ScheduleEvent(EVENT_INTRO_H2_15, 8000);
+ break;
+ case EVENT_INTRO_H2_15:
+ Talk(SAY_SYLVANAS_INTRO_8);
+ _events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
+ break;
+ // Remaining Intro Events common for both faction
+ case EVENT_INTRO_LK_1:
+ // Spawn LK in front of door, and make him move to the sword.
+ if (Creature* lichking = me->SummonCreature(NPC_THE_LICH_KING_INTRO, LichKingIntroPosition[0], TEMPSUMMON_MANUAL_DESPAWN))
{
- _walltargetGUID = walltarget->GetGUID();
- walltarget->AI()->DoCast(walltarget, SPELL_SUMMON_ICE_WALL);
- walltarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- me->Attack(walltarget, false);
+ lichking->SetWalk(true);
+ lichking->GetMotionMaster()->MovePoint(0, LichKingIntroPosition[2]);
+ _lichkingGUID = lichking->GetGUID();
+ _events.ScheduleEvent(EVENT_OPEN_IMPENETRABLE_DOOR, 0);
+ _events.ScheduleEvent(EVENT_CLOSE_IMPENETRABLE_DOOR, 4000);
}
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[3]);
- _events.ScheduleEvent(EVENT_ESCAPE_14, 8000);
- break;
- case EVENT_ESCAPE_14:
- if (Creature* walltarget = ObjectAccessor::GetCreature(*me, _walltargetGUID))
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
{
- if (GameObject* icewall = walltarget->FindNearestGameObject(GO_ICE_WALL, 50.00f))
- {
- _icewallGUID = icewall->GetGUID();
- icewall->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- _instance->HandleGameObject(0, false, icewall);
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_ESCAPE_2);
- else
- Talk(SAY_SYLVANAS_ESCAPE_2);
- }
+ uther->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ uther->AI()->Talk(SAY_UTHER_INTRO_A2_9);
+ else
+ uther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
}
- _events.ScheduleEvent(EVENT_ESCAPE_15, 1000);
+ _events.ScheduleEvent(EVENT_INTRO_LK_2, 10000);
break;
- case EVENT_ESCAPE_15:
+ case EVENT_INTRO_LK_2:
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ lichking->AI()->Talk(SAY_LK_INTRO_1);
+ _events.ScheduleEvent(EVENT_INTRO_LK_3, 1000);
+ break;
+ case EVENT_INTRO_LK_3:
+ // The Lich King banishes Uther to the abyss.
+ if (Creature* uther = ObjectAccessor::GetCreature(*me, _utherGUID))
{
- lichking->GetMotionMaster()->MoveIdle();
- lichking->GetMotionMaster()->MoveChase(me);
- lichking->SetReactState(REACT_PASSIVE);
+ uther->CastSpell(uther, SPELL_UTHER_DESPAWN, true);
+ uther->DespawnOrUnsummon(5000);
+ _utherGUID = 0;
}
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- DoCast(me, SPELL_JAINA_DESTROY_ICE_WALL, true);
- else
- DoCast(me, SPELL_SYLVANAS_DESTROY_ICE_WALL, true);
+ _events.ScheduleEvent(EVENT_INTRO_LK_4, 9000);
break;
- case EVENT_ESCAPE_17:// ICEWALL BROKEN
- me->GetMotionMaster()->MoveIdle();
+ case EVENT_INTRO_LK_4:
+ // He steps forward and removes the runeblade from the heap of skulls.
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
{
- lichking->StopMoving();
- lichking->AI()->Talk(SAY_LK_ESCAPE_3);
- lichking->AI()->DoCast(me, SPELL_RAISE_DEAD);
+ if (GameObject* frostmourne = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_FROSTMOURNE)))
+ frostmourne->SetPhaseMask(2, true);
+ lichking->CastSpell(lichking, SPELL_TAKE_FROSTMOURNE, true);
+ lichking->CastSpell(lichking, SPELL_FROSTMOURNE_VISUAL, true);
}
-
- DestroyIceWall();
-
- if (_icewall && _icewall < 4)
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[_icewall + 3]);
- _events.ScheduleEvent(EVENT_ESCAPE_18, 2000);
+ _events.ScheduleEvent(EVENT_INTRO_LK_5, 8000);
break;
- case EVENT_ESCAPE_18:
+ case EVENT_INTRO_LK_5:
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ lichking->AI()->Talk(SAY_LK_INTRO_2);
+ _events.ScheduleEvent(EVENT_INTRO_LK_6, 10000);
+ break;
+ case EVENT_INTRO_LK_6:
+ // summon Falric and Marwyn. then go back to the door
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC)))
{
- lichking->GetMotionMaster()->MoveIdle();
- lichking->GetMotionMaster()->MoveChase(me);
+ falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
+ falric->SetVisible(true);
}
- _events.ScheduleEvent(EVENT_ESCAPE_19, 6000);
- break;
- case EVENT_ESCAPE_19:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN)))
{
- if (_icewall && _icewall < 4)
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_RISE_WITCH_DOCTOR);
- lichking->GetMotionMaster()->MoveIdle();
- lichking->GetMotionMaster()->MoveChase(me);
- lichking->SetReactState(REACT_PASSIVE);
- lichking->Attack(me, true);
+ marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
+ marwyn->SetVisible(true);
}
- if (_icewall < 4)
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
{
- if (Creature* walltarget = me->SummonCreature(NPC_ICE_WALL, IceWalls[_icewall], TEMPSUMMON_MANUAL_DESPAWN, 720000))
- {
- _walltargetGUID = walltarget->GetGUID();
- walltarget->AI()->DoCast(walltarget, SPELL_SUMMON_ICE_WALL);
- walltarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- me->Attack(walltarget, false);
- }
+ lichking->AI()->Talk(SAY_LK_INTRO_3);
+ lichking->SetWalk(true);
+ lichking->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos);
}
- _events.ScheduleEvent(EVENT_ESCAPE_20, 3000);
+ _events.ScheduleEvent(EVENT_INTRO_LK_7, 10000);
+ _events.ScheduleEvent(EVENT_OPEN_IMPENETRABLE_DOOR, 5000);
break;
- case EVENT_ESCAPE_20:
- if (Creature* walltarget = ObjectAccessor::GetCreature(*me, _walltargetGUID))
+ case EVENT_INTRO_LK_7:
+ if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN)))
{
- if (GameObject* icewall = walltarget->FindNearestGameObject(GO_ICE_WALL, 50.00f))
- {
- _icewallGUID = icewall->GetGUID();
- _instance->HandleGameObject(0, false, icewall);
- icewall->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- {
- if (_icewall == 1)
- Talk(SAY_JAINA_ESCAPE_3);
- else if (_icewall == 2)
- Talk(SAY_JAINA_ESCAPE_4);
- else if (_icewall == 3)
- Talk(SAY_JAINA_ESCAPE_5);
- }
- else if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
- {
- if (_icewall == 1)
- Talk(SAY_SYLVANAS_ESCAPE_3);
- else if (_icewall == 2)
- Talk(SAY_SYLVANAS_ESCAPE_4);
- else if (_icewall == 3)
- Talk(SAY_SYLVANAS_ESCAPE_5);
- }
- }
+ marwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
+ marwyn->SetWalk(true);
+ marwyn->GetMotionMaster()->MovePoint(0, MarwynPosition[1]);
}
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ _events.ScheduleEvent(EVENT_INTRO_LK_8, 1000);
+ break;
+ case EVENT_INTRO_LK_8:
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC)))
{
- if (_icewall && _icewall < 3)
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_RISE_WITCH_DOCTOR);
- else
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_LUMBERING_ABOMINATION);
+ falric->AI()->Talk(SAY_FALRIC_INTRO_1);
+ falric->SetWalk(true);
+ falric->GetMotionMaster()->MovePoint(0, FalricPosition[1]);
}
- if (_icewall == 3)
- _events.ScheduleEvent(EVENT_ESCAPE_21, 16000); // last wall, really far
- else
- _events.ScheduleEvent(EVENT_ESCAPE_21, 9000);
+ _events.ScheduleEvent(EVENT_INTRO_LK_9, 5000);
break;
- case EVENT_ESCAPE_21:
+ case EVENT_INTRO_LK_9:
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC)))
+ falric->AI()->Talk(SAY_FALRIC_INTRO_2);
+ _instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
+ _events.ScheduleEvent(EVENT_INTRO_LK_10, 4000);
+ break;
+ case EVENT_INTRO_LK_10:
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- DoCast(me, SPELL_JAINA_DESTROY_ICE_WALL, true);
+ Talk(SAY_JAINA_INTRO_END);
else
- DoCast(me, SPELL_SYLVANAS_DESTROY_ICE_WALL, true);
-
+ Talk(SAY_SYLVANAS_INTRO_END);
+ me->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos);
+ /// @todo: needs some improvements
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ korelnOrLoralen->GetMotionMaster()->MovePoint(1, KorelnOrLoralenPos[2]);
+ _events.ScheduleEvent(EVENT_INTRO_LK_11, 5000);
+ break;
+ case EVENT_INTRO_LK_11:
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
{
- if (_icewall == 1)
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_LUMBERING_ABOMINATION);
- else if (_icewall > 1 && _icewall < 4)
- {
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_RISE_WITCH_DOCTOR);
- _events.ScheduleEvent(EVENT_ESCAPE_22, 1000);
- }
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ lichking->AI()->Talk(SAY_LK_JAINA_INTRO_END);
+ else
+ lichking->AI()->Talk(SAY_LK_SYLVANAS_INTRO_END);
}
+ _events.ScheduleEvent(EVENT_INTRO_END, 5000);
break;
- case EVENT_ESCAPE_22:
+ case EVENT_INTRO_END:
+ _instance->SetData(DATA_INTRO_EVENT, DONE);
+ _events.ScheduleEvent(EVENT_KORELN_LORALEN_DEATH, 8000);
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
{
- if (_icewall >= 2 && _icewall < 4)
- lichking->AI()->DoCast(lichking, SPELL_SUMMON_LUMBERING_ABOMINATION);
+ lichking->DespawnOrUnsummon(5000);
+ _lichkingGUID = 0;
}
+ me->DespawnOrUnsummon(10000);
+ _events.ScheduleEvent(EVENT_CLOSE_IMPENETRABLE_DOOR, 7000);
break;
- case EVENT_ESCAPE_23: // FINAL PART
- DestroyIceWall();
-
+ case EVENT_SKIP_INTRO:
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_ESCAPE_6);
+ me->GetMotionMaster()->MovePoint(0, JainaIntroPosition[2]);
else
- Talk(SAY_SYLVANAS_ESCAPE_6);
+ me->GetMotionMaster()->MovePoint(0, SylvanasIntroPosition[2]);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ korelnOrLoralen->GetMotionMaster()->MovePoint(0, KorelnOrLoralenPos[1]);
+
+ if (Creature* lichking = me->SummonCreature(NPC_THE_LICH_KING_INTRO, LichKingIntroPosition[0], TEMPSUMMON_MANUAL_DESPAWN))
{
- lichking->GetMotionMaster()->MovePoint(0, LichKingFinalPos);
- lichking->AI()->Talk(SAY_LK_ESCAPE_11);
+ lichking->SetWalk(true);
+ lichking->GetMotionMaster()->MovePoint(0, LichKingIntroPosition[2]);
+ lichking->SetReactState(REACT_PASSIVE);
+ _lichkingGUID = lichking->GetGUID();
+ _events.ScheduleEvent(EVENT_OPEN_IMPENETRABLE_DOOR, 0);
+ _events.ScheduleEvent(EVENT_CLOSE_IMPENETRABLE_DOOR, 4000);
}
- me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[8]);
- _events.ScheduleEvent(EVENT_ESCAPE_24, 10000);
+ _events.ScheduleEvent(EVENT_INTRO_LK_4, 15000);
break;
- case EVENT_ESCAPE_24:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_ESCAPE_8);
- else
- Talk(SAY_SYLVANAS_ESCAPE_8);
- _events.ScheduleEvent(EVENT_ESCAPE_25, 5000);
+ case EVENT_OPEN_IMPENETRABLE_DOOR:
+ _instance->HandleGameObject(_instance->GetData64(DATA_IMPENETRABLE_DOOR), true);
break;
- case EVENT_ESCAPE_25:
- if (GameObject* cave = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_CAVE_IN)))
- cave->SetGoState(GO_STATE_READY);
- _events.ScheduleEvent(EVENT_ESCAPE_26, 4000);
+ case EVENT_CLOSE_IMPENETRABLE_DOOR:
+ _instance->HandleGameObject(_instance->GetData64(DATA_IMPENETRABLE_DOOR), false);
break;
- case EVENT_ESCAPE_26:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- Talk(SAY_JAINA_ESCAPE_10);
+ case EVENT_KORELN_LORALEN_DEATH:
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ korelnOrLoralen->CastSpell(korelnOrLoralen, SPELL_FEIGN_DEATH);
+ break;
+ default:
+ break;
+ }
+ }
+
+ private:
+ InstanceScript* _instance;
+ EventMap _events;
+ uint64 _utherGUID;
+ uint64 _lichkingGUID;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_jaina_or_sylvanas_intro_horAI>(creature);
+ }
+};
+
+class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
+{
+ public:
+ npc_jaina_or_sylvanas_escape_hor() : CreatureScript("npc_jaina_or_sylvanas_escape_hor") { }
+
+ bool OnGossipHello(Player* player, Creature* creature) override
+ {
+ // override default gossip
+ if (InstanceScript* instance = creature->GetInstanceScript())
+ if (instance->GetBossState(DATA_THE_LICH_KING_ESCAPE) == DONE)
+ {
+ player->PrepareGossipMenu(creature, creature->GetEntry() == NPC_JAINA_ESCAPE ? GOSSIP_MENU_JAINA_FINAL : GOSSIP_MENU_SYLVANAS_FINAL, true);
+ player->SendPreparedGossip(creature);
+ return true;
+ }
+
+ // load default gossip
+ return false;
+ }
+
+ struct npc_jaina_or_sylvanas_escape_horAI : public ScriptedAI
+ {
+ npc_jaina_or_sylvanas_escape_horAI(Creature* creature) : ScriptedAI(creature),
+ _instance(creature->GetInstanceScript()), _icewall(0), _prefight(false), _invincibility(true) { }
+
+ void Reset() override
+ {
+ _events.Reset();
+ _icewall = 0;
+ _events.ScheduleEvent(EVENT_ESCAPE, 1000);
+ _instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_NOT_RETREATING_EVENT);
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ lichking->AI()->EnterEvadeMode(); // event failed
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (damage >= me->GetHealth() && _invincibility)
+ damage = me->GetHealth() - 1;
+ }
+
+ void DoAction(int32 actionId) override
+ {
+ switch (actionId)
+ {
+ case ACTION_START_PREFIGHT:
+ if (_prefight)
+ return;
+ _prefight = true;
+ _events.ScheduleEvent(EVENT_ESCAPE_1, 1000);
+ break;
+ case ACTION_WALL_BROKEN:
+ ++_icewall;
+ if (_icewall < 4)
+ _events.ScheduleEvent(EVENT_ESCAPE_13, 3000);
else
- Talk(SAY_SYLVANAS_ESCAPE_9);
- _events.ScheduleEvent(EVENT_ESCAPE_27, 4000);
+ _events.ScheduleEvent(EVENT_ESCAPE_15, 3000);
break;
- case EVENT_ESCAPE_27:
- if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
- me->SummonGameObject(IsHeroic() ? GO_CAPTAIN_CHEST_ALLIANCE_HEROIC : GO_CAPTAIN_CHEST_ALLIANCE_NORMAL, ChestPos.GetPositionX(), ChestPos.GetPositionY(), ChestPos.GetPositionZ(), ChestPos.GetOrientation(), 0, 0, 0, 0, 720000);
+ case ACTION_GUNSHIP_ARRIVAL:
+ _events.ScheduleEvent(EVENT_ESCAPE_16, 5000);
+ break;
+ case ACTION_GUNSHIP_ARRIVAL_2:
+ _events.ScheduleEvent(EVENT_ESCAPE_17, 5000);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
+ {
+ player->PlayerTalkClass->ClearMenus();
+
+ switch (gossipListId)
+ {
+ case 0:
+ player->PlayerTalkClass->SendCloseGossip();
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ _events.ScheduleEvent(EVENT_ESCAPE_6, 0);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void DestroyIceWall()
+ {
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ me->RemoveAurasDueToSpell(SPELL_JAINA_DESTROY_ICE_WALL);
+ else
+ me->RemoveAurasDueToSpell(SPELL_SYLVANAS_DESTROY_ICE_WALL);
+
+ _instance->HandleGameObject(_instance->GetData64(DATA_ICEWALL), true);
+ me->m_Events.AddEvent(new GameObjectDeleteDelayEvent(me, _instance->GetData64(DATA_ICEWALL)), me->m_Events.CalculateTime(5000));
+
+ if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ICEWALL_TARGET)))
+ wallTarget->DespawnOrUnsummon();
+ }
+
+ void SummonIceWall()
+ {
+ if (_icewall < 4)
+ {
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ lichking->StopMoving();
+ if (Creature* wallTarget = me->SummonCreature(NPC_ICE_WALL_TARGET, IceWallTargetPosition[_icewall], TEMPSUMMON_MANUAL_DESPAWN, 720000))
+ lichking->CastSpell(wallTarget, SPELL_SUMMON_ICE_WALL);
+
+ lichking->AI()->SetData(DATA_ICEWALL, _icewall);
+ }
+ }
+ }
+
+ void AttackIceWall()
+ {
+ if (_icewall < 4)
+ Talk(SAY_JAINA_SYLVANAS_ESCAPE_2 + _icewall);
+
+ if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ICEWALL_TARGET)))
+ me->SetFacingToObject(wallTarget);
+
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ DoCast(me, SPELL_JAINA_DESTROY_ICE_WALL, true);
+ else
+ DoCast(me, SPELL_SYLVANAS_DESTROY_ICE_WALL, true);
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ switch (pointId)
+ {
+ case POINT_SHADOW_THRONE_DOOR:
+ if (me->GetEntry() == NPC_JAINA_ESCAPE)
+ me->RemoveAurasDueToSpell(SPELL_JAINA_ICE_BARRIER);
else
- me->SummonGameObject(IsHeroic() ? GO_CAPTAIN_CHEST_HORDE_HEROIC : GO_CAPTAIN_CHEST_HORDE_NORMAL, ChestPos.GetPositionX(), ChestPos.GetPositionY(), ChestPos.GetPositionZ(), ChestPos.GetOrientation(), 0, 0, 0, 0, 720000);
- me->SummonGameObject(GO_PORTAL, FinalPortalPos.GetPositionX(), FinalPortalPos.GetPositionY(), FinalPortalPos.GetPositionZ(), FinalPortalPos.GetOrientation(), 0, 0, 0, 0, 720000);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
- lichking->DespawnOrUnsummon(1);
+ me->RemoveAurasDueToSpell(SPELL_SYLVANAS_CLOAK_OF_DARKNESS);
+ me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ me->SetHealth(JAINA_SYLVANAS_MAX_HEALTH);
+ me->SetFacingTo(SylvanasShadowThroneDoorPosition.GetOrientation());
+ break;
+ case POINT_ATTACK_ICEWALL:
+ AttackIceWall();
+ break;
+ case POINT_TRAP:
+ Talk(SAY_JAINA_SYLVANAS_ESCAPE_8);
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ me->SetFacingToObject(lichking);
+ break;
+ default:
break;
+ }
+ }
+
+ void DeleteAllFromThreatList(Unit* target, uint64 except)
+ {
+ ThreatContainer::StorageType threatlist = target->getThreatManager().getThreatList();
+ for (auto i : threatlist)
+ {
+ if (i->getUnitGuid() == except)
+ continue;
+
+ i->removeReference();
+ }
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ _events.Update(diff);
+
+ while (uint32 event = _events.ExecuteEvent())
+ {
+ switch (event)
+ {
+ case EVENT_ESCAPE:
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ DoCast(me, SPELL_JAINA_ICE_BARRIER);
+ else
+ DoCast(me, SPELL_SYLVANAS_CLOAK_OF_DARKNESS);
+
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ AttackStart(lichking);
+ lichking->AI()->AttackStart(me);
+ me->CastSpell(lichking, SPELL_TAUNT_ARTHAS, true);
+ }
+ me->SetHealth(JAINA_SYLVANAS_MAX_HEALTH);
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ break;
+ case EVENT_ESCAPE_1:
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ lichking->AI()->Talk(SAY_LK_ESCAPE_1);
+ else
+ lichking->AI()->Talk(SAY_LK_ESCAPE_2);
+ _events.ScheduleEvent(EVENT_ESCAPE_2, 8000);
+ }
+ break;
+ case EVENT_ESCAPE_2:
+ me->AttackStop();
+ me->StopMoving();
+ me->SetReactState(REACT_PASSIVE);
+
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ DoCast(me, SPELL_JAINA_ICE_PRISON, false);
+ else
+ DoCast(me, SPELL_SYLVANAS_BLINDING_RETREAT, true);
+
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ lichking->SetReactState(REACT_PASSIVE);
+ lichking->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
+ }
+
+ _events.ScheduleEvent(EVENT_ESCAPE_3, 1500);
+ break;
+ case EVENT_ESCAPE_3:
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
+ DoCastAOE(SPELL_SYLVANAS_DARK_BINDING, true);
+ _events.ScheduleEvent(EVENT_ESCAPE_4, 1000);
+ break;
+ case EVENT_ESCAPE_4:
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ DoCast(me, SPELL_CREDIT_FINDING_JAINA);
+ else
+ DoCast(me, SPELL_CREDIT_FINDING_SYLVANAS);
+ Talk(SAY_JAINA_SYLVANAS_ESCAPE_1);
+
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ lichking->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
+ lichking->RemoveAllAttackers();
+
+ DeleteAllFromThreatList(lichking, me->GetGUID());
+ }
+
+ _events.ScheduleEvent(EVENT_ESCAPE_5, 2000);
+ break;
+ case EVENT_ESCAPE_5:
+ me->GetMotionMaster()->MovePoint(POINT_SHADOW_THRONE_DOOR, SylvanasShadowThroneDoorPosition);
+ break;
+ case EVENT_ESCAPE_6:
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ lichking->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_PACIFIED);
+
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ {
+ lichking->CastSpell(lichking, SPELL_STUN_BREAK_JAINA);
+ lichking->RemoveAurasDueToSpell(SPELL_JAINA_ICE_PRISON);
+ }
+ else
+ {
+ lichking->CastSpell(lichking, SPELL_STUN_BREAK_SYLVANAS);
+ lichking->RemoveAurasDueToSpell(SPELL_SYLVANAS_DARK_BINDING);
+ }
+ }
+ _invincibility = false;
+ _instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_NOT_RETREATING_EVENT);
+ _events.ScheduleEvent(EVENT_ESCAPE_7, 1000);
+ break;
+ case EVENT_ESCAPE_7:
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ lichking->HandleEmoteCommand(TEXT_EMOTE_ROAR);
+ me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[0]);
+ _events.ScheduleEvent(EVENT_ESCAPE_8, 3000);
+ break;
+ case EVENT_ESCAPE_8:
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ lichking->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[0]);
+ _events.ScheduleEvent(EVENT_ESCAPE_9, 1000);
+ break;
+ case EVENT_ESCAPE_9:
+ me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[1]);
+ _events.ScheduleEvent(EVENT_ESCAPE_10, 5000);
+ break;
+ case EVENT_ESCAPE_10:
+ me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[2]);
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ lichking->GetMotionMaster()->MovePoint(1, LichKingFirstSummon);
+ _events.ScheduleEvent(EVENT_ESCAPE_11, 6000);
+ break;
+ case EVENT_ESCAPE_11:
+ SummonIceWall();
+ _events.ScheduleEvent(EVENT_ESCAPE_12, 4000);
+ break;
+ case EVENT_ESCAPE_12:
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ lichking->CastSpell(lichking, SPELL_PAIN_AND_SUFFERING, true);
+
+ me->GetMotionMaster()->MovePoint(POINT_ATTACK_ICEWALL, NpcJainaOrSylvanasEscapeRoute[3]);
+ break;
+ case EVENT_ESCAPE_13: // ICEWALL BROKEN
+ DestroyIceWall();
+
+ if (_icewall && _icewall < 4)
+ me->GetMotionMaster()->MovePoint(POINT_ATTACK_ICEWALL, NpcJainaOrSylvanasEscapeRoute[_icewall + 3]);
+ _events.ScheduleEvent(EVENT_ESCAPE_14, 8000);
+ break;
+ case EVENT_ESCAPE_14:
+ SummonIceWall();
+ break;
+ case EVENT_ESCAPE_15: // FINAL PART
+ DestroyIceWall();
+
+ Talk(SAY_JAINA_SYLVANAS_ESCAPE_6);
+
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ {
+ lichking->GetMotionMaster()->MovePoint(2, LichKingFinalPos);
+ lichking->RemoveAurasDueToSpell(SPELL_REMORSELESS_WINTER);
+ }
+ me->GetMotionMaster()->MovePoint(POINT_TRAP, NpcJainaOrSylvanasEscapeRoute[7]);
+ break;
+ case EVENT_ESCAPE_16:
+ me->RemoveAurasDueToSpell(SPELL_HARVEST_SOUL);
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ Talk(SAY_JAINA_ESCAPE_9);
+ if (Transport* gunship = ObjectAccessor::GetTransport(*me, _instance->GetData64(DATA_GUNSHIP)))
+ gunship->EnableMovement(true);
+ _instance->SetBossState(DATA_THE_LICH_KING_ESCAPE, DONE);
+ break;
+ case EVENT_ESCAPE_17:
+ if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
+ Talk(SAY_JAINA_ESCAPE_10);
+ else
+ Talk(SAY_SYLVANAS_ESCAPE_9);
+ DoCast(me, SPELL_CREDIT_ESCAPING_ARTHAS);
+ me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
+ break;
+ default:
+ break;
}
}
+
+ DoMeleeAttackIfReady();
}
- };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetHallsOfReflectionAI<npc_jaina_or_sylvanas_escape_horAI>(creature);
- }
+ private:
+ InstanceScript* _instance;
+ EventMap _events;
+ uint32 _icewall; // icewall number
+ bool _prefight;
+ bool _invincibility;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_jaina_or_sylvanas_escape_horAI>(creature);
+ }
+};
+
+class npc_the_lich_king_escape_hor : public CreatureScript
+{
+ public:
+ npc_the_lich_king_escape_hor() : CreatureScript("npc_the_lich_king_escape_hor") { }
+
+ struct npc_the_lich_king_escape_horAI : public ScriptedAI
+ {
+ npc_the_lich_king_escape_horAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = me->GetInstanceScript();
+ _instance->SetBossState(DATA_THE_LICH_KING_ESCAPE, NOT_STARTED);
+ _summonsCount = 0;
+ _icewall = 0;
+ _despawn = false;
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (damage >= me->GetHealth())
+ damage = me->GetHealth() - 1;
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type == POINT_MOTION_TYPE)
+ {
+ switch (pointId)
+ {
+ case 1:
+ if (Creature* target = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ me->GetMotionMaster()->MoveChase(target);
+ break;
+ case 2:
+ Talk(SAY_LK_ESCAPE_HARVEST_SOUL);
+
+ if (Creature* target = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ DoCast(target, SPELL_HARVEST_SOUL);
+
+ if (Transport* gunship = ObjectAccessor::GetTransport(*me, _instance->GetData64(DATA_GUNSHIP)))
+ gunship->EnableMovement(true);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ void JustSummoned(Creature* /*summon*/) override
+ {
+ ++_summonsCount;
+ }
+
+ void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override
+ {
+ // should never happen
+ if (!_summonsCount)
+ return;
+
+ --_summonsCount;
+
+ // All summons dead and no summon events scheduled
+ if (!_summonsCount && _events.Empty())
+ {
+ if (Creature* jainaOrSylvanas = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ jainaOrSylvanas->AI()->DoAction(ACTION_WALL_BROKEN);
+ }
+ }
+
+ void KilledUnit(Unit* who) override
+ {
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ DoPlaySoundToSet(me, RAND(SOUND_LK_SLAY_1, SOUND_LK_SLAY_2));
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ if (type != DATA_ICEWALL)
+ return;
+
+ _icewall = data;
+
+ switch (_icewall)
+ {
+ case 0: // 6 Ghouls, 1 Witch Doctor
+ DoZoneInCombat();
+ _events.ScheduleEvent(EVENT_REMORSELESS_WINTER, 0);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_GHOULS, 8000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 14000);
+ Talk(SAY_LK_ESCAPE_ICEWALL_SUMMONED_1);
+ break;
+ case 1: // 6 Ghouls, 2 Witch Doctor, 1 Lumbering Abomination
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_GHOULS, 8000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 13000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 16000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 18000);
+ Talk(SAY_LK_ESCAPE_ICEWALL_SUMMONED_2);
+ break;
+ case 2: // 6 Ghouls, 2 Witch Doctor, 2 Lumbering Abomination
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_GHOULS, 9000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 14000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 17000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 19000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 39000);
+ Talk(SAY_LK_ESCAPE_ICEWALL_SUMMONED_3);
+ break;
+ case 3: // 12 Ghouls, 4 Witch Doctor, 3 Lumbering Abomination
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_GHOULS, 9000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 17000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 19000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 40000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 46000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_GHOULS, 55000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 62000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_WITCH_DOCTOR, 66000);
+ _events.ScheduleEvent(EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION, 14000);
+ Talk(SAY_LK_ESCAPE_ICEWALL_SUMMONED_4);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void EnterEvadeMode() override
+ {
+ if (_despawn)
+ return;
+
+ _instance->SetBossState(DATA_THE_LICH_KING_ESCAPE, FAIL);
+ me->StopMoving();
+ DoPlaySoundToSet(me, SOUND_LK_FURY_OF_FROSTMOURNE);
+ DoCastAOE(SPELL_FURY_OF_FROSTMOURNE);
+ me->DespawnOrUnsummon(12000);
+ _despawn = true;
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!SelectVictim())
+ return;
+
+ _events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ while (uint32 event = _events.ExecuteEvent())
+ {
+ switch (event)
+ {
+ case EVENT_REMORSELESS_WINTER:
+ me->StopMoving();
+ Talk(SAY_LK_ESCAPE_WINTER);
+ DoCast(me, SPELL_REMORSELESS_WINTER);
+ break;
+ case EVENT_ESCAPE_SUMMON_GHOULS:
+ me->StopMoving();
+ Talk(SAY_LK_ESCAPE_GHOULS);
+ DoCast(me, SPELL_RAISE_DEAD);
+ break;
+ case EVENT_ESCAPE_SUMMON_WITCH_DOCTOR:
+ DoCast(me, SPELL_SUMMON_RISEN_WITCH_DOCTOR);
+ break;
+ case EVENT_ESCAPE_SUMMON_LUMBERING_ABOMINATION:
+ Talk(SAY_LK_ESCAPE_ABOMINATION);
+ DoCast(me, SPELL_SUMMON_LUMBERING_ABOMINATION);
+ break;
+ default:
+ break;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ bool SelectVictim()
+ {
+ if (!me->IsInCombat())
+ return false;
+
+ if (!me->HasReactState(REACT_PASSIVE))
+ {
+ if (Unit* victim = me->SelectVictim())
+ AttackStart(victim);
+ return me->GetVictim();
+ }
+ else if (me->getThreatManager().getThreatList().size() < 2 && me->HasAura(SPELL_REMORSELESS_WINTER))
+ {
+ EnterEvadeMode();
+ return false;
+ }
+
+ return true;
+ }
+
+ InstanceScript* _instance;
+ EventMap _events;
+ uint8 _icewall;
+ uint32 _summonsCount;
+ bool _despawn;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_the_lich_king_escape_horAI>(creature);
+ }
};
enum TrashSpells
@@ -1140,7 +1374,7 @@ enum TrashSpells
SPELL_SHOOT = 72208,
SPELL_CURSED_ARROW = 72222,
SPELL_FROST_TRAP = 72215,
- SPELL_ICE_SHOT = 72268,
+ SPELL_ICE_SHOT = 72268
};
enum TrashEvents
@@ -1175,27 +1409,27 @@ enum TrashEvents
EVENT_SHOOT,
EVENT_CURSED_ARROW,
EVENT_FROST_TRAP,
- EVENT_ICE_SHOT,
+ EVENT_ICE_SHOT
};
struct npc_gauntlet_trash : public ScriptedAI
{
- npc_gauntlet_trash(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
+ npc_gauntlet_trash(Creature* creature) : ScriptedAI(creature),
+ _instance(creature->GetInstanceScript()), InternalWaveId(0) { }
- void Reset() OVERRIDE
+ void Reset() override
{
- InternalWaveId = 0;
me->CastSpell(me, SPELL_WELL_OF_SOULS, true);
_events.Reset();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (_instance->GetData(DATA_WAVE_COUNT) != NOT_STARTED)
_instance->SetData(DATA_WAVE_COUNT, NOT_STARTED);
}
- void SetData(uint32 type, uint32 value) OVERRIDE
+ void SetData(uint32 type, uint32 value) override
{
if (type)
return;
@@ -1203,7 +1437,7 @@ struct npc_gauntlet_trash : public ScriptedAI
InternalWaveId = value;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type)
return 0;
@@ -1219,352 +1453,362 @@ protected:
class npc_ghostly_priest : public CreatureScript
{
-public:
- npc_ghostly_priest() : CreatureScript("npc_ghostly_priest") { }
-
- struct npc_ghostly_priestAI : public npc_gauntlet_trash
- {
- npc_ghostly_priestAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+ public:
+ npc_ghostly_priest() : CreatureScript("npc_ghostly_priest") { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ struct npc_ghostly_priestAI : public npc_gauntlet_trash
{
- _events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 8000); /// @todo adjust timers
- _events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
- _events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
- _events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
- }
+ npc_ghostly_priestAI(Creature* creature) : npc_gauntlet_trash(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (_events.ExecuteEvent())
- {
- case EVENT_SHADOW_WORD_PAIN:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_SHADOW_WORD_PAIN);
- _events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 8000);
- break;
- case EVENT_CIRCLE_OF_DESTRUCTION:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_CIRCLE_OF_DESTRUCTION);
- _events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
- break;
- case EVENT_COWER_IN_FEAR:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_COWER_IN_FEAR);
- _events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
- break;
- case EVENT_DARK_MENDING:
- // find an ally with missing HP
- if (Unit* target = DoSelectLowestHpFriendly(40, DUNGEON_MODE(30000, 50000)))
- {
- DoCast(target, SPELL_DARK_MENDING);
- _events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
- }
- else
- {
- // no friendly unit with missing hp. re-check in just 5 sec.
- _events.ScheduleEvent(EVENT_DARK_MENDING, 5000);
- }
- break;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(6000, 15000));
+ _events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
+ _events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
+ _events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
}
- DoMeleeAttackIfReady();
- }
- };
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_ghostly_priestAI>(creature);
- }
-};
+ _events.Update(diff);
-class npc_phantom_mage : public CreatureScript
-{
-public:
- npc_phantom_mage() : CreatureScript("npc_phantom_mage") { }
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- struct npc_phantom_mageAI : public npc_gauntlet_trash
- {
- npc_phantom_mageAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_SHADOW_WORD_PAIN:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_SHADOW_WORD_PAIN);
+ _events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(6000, 15000));
+ break;
+ case EVENT_CIRCLE_OF_DESTRUCTION:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 10.0f, true))
+ DoCast(target, SPELL_CIRCLE_OF_DESTRUCTION);
+ _events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
+ break;
+ case EVENT_COWER_IN_FEAR:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 20.0f, true))
+ DoCast(target, SPELL_COWER_IN_FEAR);
+ _events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
+ break;
+ case EVENT_DARK_MENDING:
+ // find an ally with missing HP
+ if (Unit* target = DoSelectLowestHpFriendly(40, DUNGEON_MODE(30000, 50000)))
+ {
+ DoCast(target, SPELL_DARK_MENDING);
+ _events.ScheduleEvent(EVENT_DARK_MENDING, 20000);
+ }
+ else
+ {
+ // no friendly unit with missing hp. re-check in just 5 sec.
+ _events.ScheduleEvent(EVENT_DARK_MENDING, 5000);
+ }
+ break;
+ default:
+ break;
+ }
- void EnterEvadeMode() OVERRIDE
+ DoMeleeAttackIfReady();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!me->HasAura(AURA_HALLUCINATION))
- npc_gauntlet_trash::EnterEvadeMode();
+ return GetHallsOfReflectionAI<npc_ghostly_priestAI>(creature);
}
+};
- void EnterCombat(Unit* /*who*/) OVERRIDE
+class npc_phantom_mage : public CreatureScript
+{
+ public:
+ npc_phantom_mage() : CreatureScript("npc_phantom_mage") { }
+
+ struct npc_phantom_mageAI : public npc_gauntlet_trash
{
- _events.ScheduleEvent(EVENT_FIREBALL, 3000); /// @todo adjust timers
- _events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
- _events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
- _events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
- _events.ScheduleEvent(EVENT_HALLUCINATION, 40000);
- }
+ npc_phantom_mageAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+
+ void EnterEvadeMode() override
+ {
+ if (!me->HasAura(AURA_HALLUCINATION))
+ npc_gauntlet_trash::EnterEvadeMode();
+ }
+
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_FIREBALL, 3000);
+ _events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
+ _events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
+ _events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
+ _events.ScheduleEvent(EVENT_HALLUCINATION, 40000);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ _events.Update(diff);
- void UpdateAI(uint32 diff) OVERRIDE
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_FIREBALL:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_FIREBALL);
+ _events.ScheduleEvent(EVENT_FIREBALL, 15000);
+ break;
+ case EVENT_FLAMESTRIKE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_FLAMESTRIKE);
+ _events.ScheduleEvent(EVENT_FLAMESTRIKE, 15000);
+ break;
+ case EVENT_FROSTBOLT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_FROSTBOLT);
+ _events.ScheduleEvent(EVENT_FROSTBOLT, 15000);
+ break;
+ case EVENT_CHAINS_OF_ICE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
+ DoCast(target, SPELL_CHAINS_OF_ICE);
+ _events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 15000);
+ break;
+ case EVENT_HALLUCINATION:
+ // removing any dots on mage or else the invisibility spell will break duration
+ me->RemoveAllAuras();
+ DoCast(me, SPELL_HALLUCINATION);
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (_events.ExecuteEvent())
- {
- case EVENT_FIREBALL:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_FIREBALL);
- _events.ScheduleEvent(EVENT_FIREBALL, 15000);
- break;
- case EVENT_FLAMESTRIKE:
- DoCast(SPELL_FLAMESTRIKE);
- _events.ScheduleEvent(EVENT_FLAMESTRIKE, 15000);
- break;
- case EVENT_FROSTBOLT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_FROSTBOLT);
- _events.ScheduleEvent(EVENT_FROSTBOLT, 15000);
- break;
- case EVENT_CHAINS_OF_ICE:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_CHAINS_OF_ICE);
- _events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 15000);
- break;
- case EVENT_HALLUCINATION:
- // removing any dots on mage or else the invisibility spell will break duration
- me->RemoveAllAuras();
- DoCast(SPELL_HALLUCINATION);
- break;
- }
-
- DoMeleeAttackIfReady();
+ return GetHallsOfReflectionAI<npc_phantom_mageAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_phantom_mageAI>(creature);
- }
};
class npc_phantom_hallucination : public CreatureScript
{
-public:
- npc_phantom_hallucination() : CreatureScript("npc_phantom_hallucination") { }
-
- struct npc_phantom_hallucinationAI : public npc_phantom_mage::npc_phantom_mageAI
- {
- npc_phantom_hallucinationAI(Creature* creature) : npc_phantom_mage::npc_phantom_mageAI(creature) { }
+ public:
+ npc_phantom_hallucination() : CreatureScript("npc_phantom_hallucination") { }
- void Reset() OVERRIDE
+ struct npc_phantom_hallucinationAI : public npc_phantom_mage::npc_phantom_mageAI
{
- if (Unit* unit = me->SelectNearestTarget())
- AttackStart(unit);
- DoZoneInCombat();
- }
+ npc_phantom_hallucinationAI(Creature* creature) : npc_phantom_mage::npc_phantom_mageAI(creature) { }
- void EnterEvadeMode() OVERRIDE
- {
- if (me->GetOwner() && !me->GetOwner()->HasAura(AURA_HALLUCINATION))
- npc_phantom_mage::npc_phantom_mageAI::EnterEvadeMode();
- }
+ void Reset() override
+ {
+ DoZoneInCombat(me, 150.0f);
+ }
+
+ void EnterEvadeMode() override
+ {
+ if (me->GetOwner() && !me->GetOwner()->HasAura(AURA_HALLUCINATION))
+ npc_phantom_mage::npc_phantom_mageAI::EnterEvadeMode();
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ DoCastAOE(SPELL_HALLUCINATION_2);
+ }
+ };
- void JustDied(Unit* /*killer*/) OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
- DoCast(SPELL_HALLUCINATION_2);
+ return new npc_phantom_hallucinationAI(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_phantom_hallucinationAI(creature);
- }
};
class npc_shadowy_mercenary : public CreatureScript
{
-public:
- npc_shadowy_mercenary() : CreatureScript("npc_shadowy_mercenary") { }
-
- struct npc_shadowy_mercenaryAI : public npc_gauntlet_trash
- {
- npc_shadowy_mercenaryAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+ public:
+ npc_shadowy_mercenary() : CreatureScript("npc_shadowy_mercenary") { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ struct npc_shadowy_mercenaryAI : public npc_gauntlet_trash
{
- _events.ScheduleEvent(EVENT_SHADOW_STEP, 8000); /// @todo adjust timers
- _events.ScheduleEvent(EVENT_DEADLY_POISON, 5000);
- _events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
- _events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12000);
- }
+ npc_shadowy_mercenaryAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_SHADOW_STEP, 23000);
+ _events.ScheduleEvent(EVENT_DEADLY_POISON, 5000);
+ _events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
+ _events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12000);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ _events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_SHADOW_STEP:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
+ DoCast(target, SPELL_SHADOW_STEP);
+ _events.ScheduleEvent(EVENT_SHADOW_STEP, 8000);
+ break;
+ case EVENT_DEADLY_POISON:
+ DoCastVictim(SPELL_DEADLY_POISON);
+ _events.ScheduleEvent(EVENT_DEADLY_POISON, 10000);
+ break;
+ case EVENT_ENVENOMED_DAGGER_THROW:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_ENVENOMED_DAGGER_THROW);
+ _events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
+ break;
+ case EVENT_KIDNEY_SHOT:
+ DoCastVictim(SPELL_KIDNEY_SHOT);
+ _events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10000);
+ break;
+ default:
+ break;
+ }
- void UpdateAI(uint32 diff) OVERRIDE
+ DoMeleeAttackIfReady();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (_events.ExecuteEvent())
- {
- case EVENT_SHADOW_STEP:
- DoCast(SPELL_SHADOW_STEP);
- _events.ScheduleEvent(EVENT_SHADOW_STEP, 8000);
- break;
- case EVENT_DEADLY_POISON:
- DoCastVictim(SPELL_DEADLY_POISON);
- _events.ScheduleEvent(EVENT_DEADLY_POISON, 10000);
- break;
- case EVENT_ENVENOMED_DAGGER_THROW:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_ENVENOMED_DAGGER_THROW);
- _events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
- break;
- case EVENT_KIDNEY_SHOT:
- DoCastVictim(SPELL_KIDNEY_SHOT);
- _events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10000);
- break;
- }
-
- DoMeleeAttackIfReady();
+ return GetHallsOfReflectionAI<npc_shadowy_mercenaryAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_shadowy_mercenaryAI>(creature);
- }
};
class npc_spectral_footman : public CreatureScript
{
-public:
- npc_spectral_footman() : CreatureScript("npc_spectral_footman") { }
-
- struct npc_spectral_footmanAI : public npc_gauntlet_trash
- {
- npc_spectral_footmanAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+ public:
+ npc_spectral_footman() : CreatureScript("npc_spectral_footman") { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ struct npc_spectral_footmanAI : public npc_gauntlet_trash
{
- _events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000); /// @todo adjust timers
- _events.ScheduleEvent(EVENT_SHIELD_BASH, 10000);
- _events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
- }
+ npc_spectral_footmanAI(Creature* creature) : npc_gauntlet_trash(creature) { }
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 14000);
+ _events.ScheduleEvent(EVENT_SHIELD_BASH, 10000);
+ _events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
+ }
- _events.Update(diff);
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ _events.Update(diff);
- switch (_events.ExecuteEvent())
- {
- case EVENT_SPECTRAL_STRIKE:
- DoCastVictim(SPELL_SPECTRAL_STRIKE);
- _events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
- break;
- case EVENT_SHIELD_BASH:
- DoCastVictim(SPELL_SHIELD_BASH);
- _events.ScheduleEvent(EVENT_SHIELD_BASH, 5000);
- break;
- case EVENT_TORTURED_ENRAGE:
- DoCast(SPELL_TORTURED_ENRAGE);
- _events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
- break;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_SPECTRAL_STRIKE:
+ DoCastVictim(SPELL_SPECTRAL_STRIKE);
+ _events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
+ break;
+ case EVENT_SHIELD_BASH:
+ DoCastVictim(SPELL_SHIELD_BASH);
+ _events.ScheduleEvent(EVENT_SHIELD_BASH, 5000);
+ break;
+ case EVENT_TORTURED_ENRAGE:
+ DoCast(me, SPELL_TORTURED_ENRAGE);
+ _events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
}
+ };
- DoMeleeAttackIfReady();
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_spectral_footmanAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_spectral_footmanAI>(creature);
- }
};
class npc_tortured_rifleman : public CreatureScript
{
-public:
- npc_tortured_rifleman() : CreatureScript("npc_tortured_rifleman") { }
-
- struct npc_tortured_riflemanAI : public npc_gauntlet_trash
- {
- npc_tortured_riflemanAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+ public:
+ npc_tortured_rifleman() : CreatureScript("npc_tortured_rifleman") { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ struct npc_tortured_riflemanAI : public npc_gauntlet_trash
{
- _events.ScheduleEvent(EVENT_SHOOT, 1); /// @todo adjust timers
- _events.ScheduleEvent(EVENT_CURSED_ARROW, 7000);
- _events.ScheduleEvent(EVENT_FROST_TRAP, 10000);
- _events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
- }
+ npc_tortured_riflemanAI(Creature* creature) : npc_gauntlet_trash(creature) { }
+
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_SHOOT, 1);
+ _events.ScheduleEvent(EVENT_CURSED_ARROW, 7000);
+ _events.ScheduleEvent(EVENT_FROST_TRAP, 10000);
+ _events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ _events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_SHOOT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_SHOOT);
+ _events.ScheduleEvent(EVENT_SHOOT, 2000);
+ break;
+ case EVENT_CURSED_ARROW:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_CURSED_ARROW);
+ _events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
+ break;
+ case EVENT_FROST_TRAP:
+ DoCast(me, SPELL_FROST_TRAP);
+ _events.ScheduleEvent(EVENT_FROST_TRAP, 30000);
+ break;
+ case EVENT_ICE_SHOT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_ICE_SHOT);
+ _events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- switch (_events.ExecuteEvent())
- {
- case EVENT_SHOOT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_SHOOT);
- _events.ScheduleEvent(EVENT_SHOOT, 2000);
- break;
- case EVENT_CURSED_ARROW:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_CURSED_ARROW);
- _events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
- break;
- case EVENT_FROST_TRAP:
- DoCast(SPELL_FROST_TRAP);
- _events.ScheduleEvent(EVENT_FROST_TRAP, 30000);
- break;
- case EVENT_ICE_SHOT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_ICE_SHOT);
- _events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
- break;
- }
- DoMeleeAttackIfReady();
+ return GetHallsOfReflectionAI<npc_tortured_riflemanAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_tortured_riflemanAI>(creature);
- }
};
-
-enum GeneralEvents
+enum FrostswornGeneral
{
- //General
+ // General
EVENT_SHIELD = 1,
EVENT_SPIKE = 2,
EVENT_CLONE = 3,
@@ -1572,554 +1816,652 @@ enum GeneralEvents
SAY_AGGRO = 0,
SAY_DEATH = 1,
- SPELL_SHIELD_THROWN = 69222, // 73076 on hc
- SPELL_SPIKE = 69184, // 70399 on hc
- SPELL_CLONE_NAME = 57507,
- SPELL_CLONE_MODEL = 45204,
+ SPELL_SHIELD_THROWN = 69222,
+ SPELL_SPIKE = 69184,
+ SPELL_CLONE = 69828,
+ SPELL_GHOST_VISUAL = 69861,
// Reflection
EVENT_BALEFUL_STRIKE = 1,
- SPELL_BALEFUL_STRIKE = 69933, // 70400 on hc
- SPELL_SPIRIT_BURST = 69900, // 73046 on hc
+ SPELL_BALEFUL_STRIKE = 69933,
+ SPELL_SPIRIT_BURST = 69900
};
-class npc_frostworn_general : public CreatureScript
+class npc_frostsworn_general : public CreatureScript
{
-public:
- npc_frostworn_general() : CreatureScript("npc_frostworn_general") { }
+ public:
+ npc_frostsworn_general() : CreatureScript("npc_frostsworn_general") { }
- struct npc_frostworn_generalAI : public ScriptedAI
- {
- npc_frostworn_generalAI(Creature* creature) : ScriptedAI(creature)
+ struct npc_frostsworn_generalAI : public ScriptedAI
{
- _instance = me->GetInstanceScript();
- Reset();
- }
+ npc_frostsworn_generalAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
- InstanceScript* _instance;
- EventMap _events;
+ void Reset() override
+ {
+ _events.Reset();
+ _instance->SetData(DATA_FROSTSWORN_GENERAL, NOT_STARTED);
+ }
- void Reset() OVERRIDE
- {
- _events.Reset();
- _instance->SetData(DATA_FROSWORN_EVENT, NOT_STARTED);
- }
+ void JustDied(Unit* /*killer*/) override
+ {
+ Talk(SAY_DEATH);
+ _events.Reset();
+ _instance->SetData(DATA_FROSTSWORN_GENERAL, DONE);
+ }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- Talk(SAY_DEATH);
- _instance->SetData(DATA_FROSWORN_EVENT, DONE);
- }
+ void EnterCombat(Unit* /*victim*/) override
+ {
+ Talk(SAY_AGGRO);
+ DoZoneInCombat();
+ _events.ScheduleEvent(EVENT_SHIELD, 5000);
+ _events.ScheduleEvent(EVENT_SPIKE, 14000);
+ _events.ScheduleEvent(EVENT_CLONE, 22000);
+ _instance->SetData(DATA_FROSTSWORN_GENERAL, IN_PROGRESS);
+ }
- void EnterCombat(Unit* /*victim*/) OVERRIDE
- {
- Talk(SAY_AGGRO);
- _events.ScheduleEvent(EVENT_SHIELD, 5000);
- _events.ScheduleEvent(EVENT_SPIKE, 14000);
- _events.ScheduleEvent(EVENT_CLONE, 22000);
- _instance->SetData(DATA_FROSWORN_EVENT, IN_PROGRESS);
- }
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ _events.Update(diff);
- _events.Update(diff);
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ while (uint32 event = _events.ExecuteEvent())
+ {
+ switch (event)
+ {
+ case EVENT_SHIELD:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ DoCast(target, SPELL_SHIELD_THROWN);
+ _events.ScheduleEvent(EVENT_SHIELD, urand(8000, 12000));
+ break;
+ case EVENT_SPIKE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
+ DoCast(target, SPELL_SPIKE);
+ _events.ScheduleEvent(EVENT_SPIKE, urand(15000, 20000));
+ break;
+ case EVENT_CLONE:
+ SummonClones();
+ _events.ScheduleEvent(EVENT_CLONE, 60000);
+ break;
+ default:
+ break;
+ }
+ }
+ DoMeleeAttackIfReady();
+ }
- while (uint32 event = _events.ExecuteEvent())
+ void SummonClones()
{
- switch (event)
+ std::list<Unit*> playerList;
+ SelectTargetList(playerList, 5, SELECT_TARGET_TOPAGGRO, 0.0f, true);
+ for (Unit* target : playerList)
{
- case EVENT_SHIELD:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_SHIELD_THROWN);
- _events.ScheduleEvent(EVENT_SHIELD, urand(8000, 12000));
- break;
- case EVENT_SPIKE:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_SPIKE);
- _events.ScheduleEvent(EVENT_SPIKE, urand(15000, 20000));
- break;
- case EVENT_CLONE:
- SummonClones();
- _events.ScheduleEvent(EVENT_CLONE, 60000);
- break;
+ if (Creature* reflection = me->SummonCreature(NPC_REFLECTION, *target, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000))
+ {
+ target->CastSpell(reflection, SPELL_CLONE, true);
+ target->CastSpell(reflection, SPELL_GHOST_VISUAL, true);
+ reflection->AI()->AttackStart(target);
+ }
}
}
- DoMeleeAttackIfReady();
- }
- void SummonClones()
+ private:
+ InstanceScript* _instance;
+ EventMap _events;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
{
- std::list<Unit *> playerList;
- SelectTargetList(playerList, 5, SELECT_TARGET_TOPAGGRO, 0, true);
- for (std::list<Unit*>::const_iterator itr = playerList.begin(); itr != playerList.end(); ++itr)
- {
- Unit* temp = (*itr);
- Creature* reflection = me->SummonCreature(NPC_REFLECTION, temp->GetPositionX(), temp->GetPositionY(), temp->GetPositionZ(), temp->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
- reflection->SetName(temp->GetName());
- temp->CastSpell(reflection, SPELL_CLONE_NAME, true);
- temp->CastSpell(reflection, SPELL_CLONE_MODEL, true);
- reflection->setFaction(me->getFaction());
- reflection->AI()->AttackStart(temp);
- }
+ return GetHallsOfReflectionAI<npc_frostsworn_generalAI>(creature);
}
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_frostworn_generalAI>(creature);
- }
};
class npc_spiritual_reflection : public CreatureScript
{
-public:
- npc_spiritual_reflection() : CreatureScript("npc_spiritual_reflection") { }
+ public:
+ npc_spiritual_reflection() : CreatureScript("npc_spiritual_reflection") { }
- struct npc_spiritual_reflectionAI : public ScriptedAI
- {
- npc_spiritual_reflectionAI(Creature *creature) : ScriptedAI(creature)
+ struct npc_spiritual_reflectionAI : public ScriptedAI
{
- Reset();
- }
+ npc_spiritual_reflectionAI(Creature *creature) : ScriptedAI(creature) { }
- EventMap _events;
+ void Reset() override
+ {
+ _events.Reset();
+ }
- void Reset() OVERRIDE
- {
- _events.Reset();
- }
+ void EnterCombat(Unit* /*victim*/) override
+ {
+ _events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 3000);
+ }
- void EnterCombat(Unit* /*victim*/) OVERRIDE
- {
- _events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 3000);
- }
+ void JustDied(Unit* /*killer*/) override
+ {
+ DoCastAOE(SPELL_SPIRIT_BURST);
+ }
- void JustDied(Unit* killer) OVERRIDE
- {
- DoCast(killer, SPELL_SPIRIT_BURST);
- }
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!UpdateVictim())
- return;
+ _events.Update(diff);
- _events.Update(diff);
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_BALEFUL_STRIKE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 8.0f, true))
+ DoCast(target, SPELL_BALEFUL_STRIKE);
+ _events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(3000, 8000));
+ break;
+ default:
+ break;
+ }
- switch (_events.ExecuteEvent())
- {
- case EVENT_BALEFUL_STRIKE:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_BALEFUL_STRIKE);
- _events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(3000, 8000));
+ DoMeleeAttackIfReady();
}
- DoMeleeAttackIfReady();
- }
- };
+ private:
+ EventMap _events;
+ };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_spiritual_reflectionAI(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_spiritual_reflectionAI(creature);
+ }
};
+// 5689
class at_hor_intro_start : public AreaTriggerScript
{
-public:
- at_hor_intro_start() : AreaTriggerScript("at_hor_intro_start") { }
+ public:
+ at_hor_intro_start() : AreaTriggerScript("at_hor_intro_start") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
- {
- InstanceScript* _instance = player->GetInstanceScript();
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
+ {
+ if (player->IsGameMaster())
+ return true;
- if (player->IsGameMaster())
- return true;
+ InstanceScript* _instance = player->GetInstanceScript();
- if (_instance->GetData(DATA_INTRO_EVENT) == NOT_STARTED)
- _instance->SetData(DATA_INTRO_EVENT, IN_PROGRESS);
+ if (_instance->GetData(DATA_INTRO_EVENT) == NOT_STARTED)
+ _instance->SetData(DATA_INTRO_EVENT, IN_PROGRESS);
- return true;
- }
+ return true;
+ }
};
class at_hor_waves_restarter : public AreaTriggerScript
{
-public:
- at_hor_waves_restarter() : AreaTriggerScript("at_hor_waves_restarter") { }
+ public:
+ at_hor_waves_restarter() : AreaTriggerScript("at_hor_waves_restarter") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
- {
- InstanceScript* _instance = player->GetInstanceScript();
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
+ {
+ if (player->IsGameMaster())
+ return true;
- if (player->IsGameMaster())
- return true;
+ InstanceScript* _instance = player->GetInstanceScript();
+
+ if (_instance->GetData(DATA_WAVE_COUNT))
+ return true;
- if (_instance->GetData(DATA_WAVE_COUNT))
+ if (_instance->GetData(DATA_INTRO_EVENT) == DONE && _instance->GetBossState(DATA_MARWYN) != DONE)
+ {
+ _instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
+
+ if (Creature* falric = player->GetCreature(*player, _instance->GetData64(DATA_FALRIC)))
+ {
+ falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
+ falric->SetVisible(true);
+ }
+ if (Creature* marwyn = player->GetCreature(*player, _instance->GetData64(DATA_MARWYN)))
+ {
+ marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
+ marwyn->SetVisible(true);
+ }
+ }
return true;
+ }
+};
- if (_instance->GetData(DATA_INTRO_EVENT) == DONE && _instance->GetBossState(DATA_MARWYN_EVENT) != DONE)
+// 5740
+class at_hor_impenetrable_door : public AreaTriggerScript
+{
+ public:
+ at_hor_impenetrable_door() : AreaTriggerScript("at_hor_impenetrable_door") { }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
{
- _instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
+ if (player->IsGameMaster())
+ return true;
- if (Creature* falric = player->GetCreature(*player, _instance->GetData64(DATA_FALRIC_EVENT)))
- {
- falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
- falric->SetVisible(true);
- }
- if (Creature* marwyn = player->GetCreature(*player, _instance->GetData64(DATA_MARWYN_EVENT)))
- {
- marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
- marwyn->SetVisible(true);
- }
+ InstanceScript* _instance = player->GetInstanceScript();
+ if (_instance->GetBossState(DATA_MARWYN) == DONE)
+ return true;
+
+ /// return false to handle teleport by db
+ return false;
}
- return true;
- }
};
-class at_shadow_throne : public AreaTriggerScript
+// 5605
+class at_hor_shadow_throne : public AreaTriggerScript
{
-public:
- at_shadow_throne() : AreaTriggerScript("at_shadow_throne") { }
+ public:
+ at_hor_shadow_throne() : AreaTriggerScript("at_hor_shadow_throne") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
- {
- InstanceScript* _instance = player->GetInstanceScript();
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*at*/) override
+ {
+ if (player->IsGameMaster())
+ return true;
+
+ InstanceScript* _instance = player->GetInstanceScript();
+
+ if (_instance->GetBossState(DATA_THE_LICH_KING_ESCAPE) == NOT_STARTED)
+ _instance->SetBossState(DATA_THE_LICH_KING_ESCAPE, IN_PROGRESS);
- if (player->IsGameMaster())
return true;
+ }
+};
- if (_instance->GetData(DATA_ESCAPE_EVENT) == NOT_STARTED)
- _instance->SetData(DATA_ESCAPE_EVENT, IN_PROGRESS);
+enum EscapeEvents
+{
+ // Raging Ghoul
+ EVENT_RAGING_GHOUL_JUMP = 1,
- return true;
- }
+ // Risen Witch Doctor
+ EVENT_RISEN_WITCH_DOCTOR_CURSE,
+ EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT,
+ EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT_VOLLEY,
+
+ // Lumbering Abomination
+ EVENT_LUMBERING_ABOMINATION_VOMIT_SPRAY,
+ EVENT_LUMBERING_ABOMINATION_CLEAVE
};
-class npc_raging_ghoul : public CreatureScript
+namespace hor
{
-public:
- npc_raging_ghoul() : CreatureScript("npc_raging_ghoul") { }
- struct npc_raging_ghoulAI : public ScriptedAI
- {
- npc_raging_ghoulAI(Creature* creature) : ScriptedAI(creature)
+class StartMovementEvent : public BasicEvent
+{
+ public:
+ StartMovementEvent(Creature* owner) : _owner(owner) { }
+
+ bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
{
- _instance = me->GetInstanceScript();
+ _owner->SetReactState(REACT_AGGRESSIVE);
+ if (Unit* target = _owner->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
+ _owner->AI()->AttackStart(target);
+ return true;
}
- InstanceScript* _instance;
- uint32 _emergeTimer;
- bool _doEmerge;
- bool _doJump;
- uint64 _leaderGUID;
+ private:
+ Creature* _owner;
+};
- void Reset() OVERRIDE
- {
- _emergeTimer = 4000;
- _doEmerge = false;
- _doJump = false;
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
- _instance->SetData(DATA_SUMMONS, 1);
+} // namespace hor
- }
+struct npc_escape_event_trash : public ScriptedAI
+{
+ npc_escape_event_trash(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
- void IsSummonedBy(Unit*) OVERRIDE
- {
- DoCast(me, SPELL_EMERGE_VISUAL);
- }
+ void Reset() override
+ {
+ _events.Reset();
+ }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ if (_instance->GetBossState(DATA_THE_LICH_KING_ESCAPE) == FAIL || _instance->GetBossState(DATA_THE_LICH_KING_ESCAPE) == NOT_STARTED)
+ me->DespawnOrUnsummon();
+ }
+
+ void IsSummonedBy(Unit* /*summoner*/) override
+ {
+ DoZoneInCombat(me, 0.0f);
+ if (Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
{
- _instance->SetData(DATA_SUMMONS, 0);
+ me->SetInCombatWith(leader);
+ leader->SetInCombatWith(me);
+ me->AddThreat(leader, 0.0f);
}
+ }
- void AttackStart(Unit* who) OVERRIDE
+protected:
+ EventMap _events;
+ InstanceScript* _instance;
+};
+
+class npc_raging_ghoul : public CreatureScript
+{
+ public:
+ npc_raging_ghoul() : CreatureScript("npc_raging_ghoul") { }
+
+ struct npc_raging_ghoulAI : public npc_escape_event_trash
{
- if (!who)
- return;
+ npc_raging_ghoulAI(Creature* creature) : npc_escape_event_trash(creature) { }
- if (!_doEmerge)
- return;
+ void Reset() override
+ {
+ npc_escape_event_trash::Reset();
+ _events.ScheduleEvent(EVENT_RAGING_GHOUL_JUMP, 5000);
+ }
- ScriptedAI::AttackStart(who);
- }
+ void IsSummonedBy(Unit* summoner) override
+ {
+ me->CastSpell(me, SPELL_RAGING_GHOUL_SPAWN, true);
+ me->SetReactState(REACT_PASSIVE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
+ me->m_Events.AddEvent(new hor::StartMovementEvent(me), me->m_Events.CalculateTime(5000));
- void UpdateAI(uint32 diff) OVERRIDE
- {
- if (!_instance)
- return;
+ npc_escape_event_trash::IsSummonedBy(summoner);
+ }
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
+ void UpdateAI(uint32 diff) override
{
- _leaderGUID = _instance->GetData64(DATA_ESCAPE_LEADER);
- Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER));
+ npc_escape_event_trash::UpdateAI(diff);
+
+ if (!UpdateVictim())
+ return;
+
+ _events.Update(diff);
- if (_doEmerge != true)
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (_events.ExecuteEvent())
{
- if (_emergeTimer < diff)
- {
- _doEmerge = true;
- if (leader)
+ case EVENT_RAGING_GHOUL_JUMP:
+ if (Unit* victim = me->GetVictim())
{
- DoResetThreat();
- me->GetMotionMaster()->MoveIdle();
- me->GetMotionMaster()->MoveChase(leader);
+ if (me->IsInRange(victim, 5.0f, 30.0f))
+ {
+ DoCast(victim, SPELL_GHOUL_JUMP);
+ return;
+ }
}
- }
- else
- _emergeTimer -= diff;
+ _events.ScheduleEvent(EVENT_RAGING_GHOUL_JUMP, 500);
+ break;
+ default:
+ break;
}
- if (me->Attack(leader,true))/*(Unit *target = SelectTarget(SELECT_TARGET_RANDOM, 0, 150.0f))*/
- {
- if (!_doJump && me->IsWithinDistInMap(leader, 30.0f) && !me->IsWithinDistInMap(leader, 5.0f))
- {
- _doJump = true;
- DoCast(leader, SPELL_GHOUL_JUMP);
- }
- }
+ DoMeleeAttackIfReady();
}
- else if (_instance->GetData(DATA_ESCAPE_EVENT) == FAIL || _instance->GetData(DATA_ESCAPE_EVENT) == NOT_STARTED)
- me->DespawnOrUnsummon();
- DoMeleeAttackIfReady();
- }
- };
+ };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_raging_ghoulAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_raging_ghoulAI>(creature);
+ }
};
class npc_risen_witch_doctor : public CreatureScript
{
-public:
- npc_risen_witch_doctor() : CreatureScript("npc_risen_witch_doctor") { }
+ public:
+ npc_risen_witch_doctor() : CreatureScript("npc_risen_witch_doctor") { }
- struct npc_risen_witch_doctorAI : public ScriptedAI
- {
- npc_risen_witch_doctorAI(Creature* creature) : ScriptedAI(creature)
+ struct npc_risen_witch_doctorAI : public npc_escape_event_trash
{
- _instance = me->GetInstanceScript();
- }
+ npc_risen_witch_doctorAI(Creature* creature) : npc_escape_event_trash(creature) { }
- InstanceScript* _instance;
- uint32 _emergeTimer;
- bool _doEmerge;
- uint64 _leaderGUID;
- uint32 _boltTimer;
- uint32 _boltVolleyTimer;
- uint32 _curseTimer;
+ void Reset() override
+ {
+ npc_escape_event_trash::Reset();
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT, 6000);
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT_VOLLEY, 15000);
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_CURSE, 7000);
+ }
- void Reset() OVERRIDE
- {
- _emergeTimer = 5000;
- _boltTimer = 6000;
- _boltVolleyTimer = 15000;
- _curseTimer = 7000;
- _doEmerge = false;
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
- _instance->SetData(DATA_SUMMONS, 1);
- }
+ void IsSummonedBy(Unit* summoner) override
+ {
+ me->CastSpell(me, SPELL_RISEN_WITCH_DOCTOR_SPAWN, true);
+ me->SetReactState(REACT_PASSIVE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
+ me->m_Events.AddEvent(new hor::StartMovementEvent(me), me->m_Events.CalculateTime(5000));
- void IsSummonedBy(Unit*) OVERRIDE
- {
- DoCast(me, SPELL_EMERGE_VISUAL);
- DoZoneInCombat(me, 100.00f);
- }
+ npc_escape_event_trash::IsSummonedBy(summoner);
+ }
- void JustDied(Unit* /*killer*/) OVERRIDE
- {
- _instance->SetData(DATA_SUMMONS, 0);
- }
+ void UpdateAI(uint32 diff) override
+ {
+ npc_escape_event_trash::UpdateAI(diff);
- void AttackStart(Unit* who) OVERRIDE
- {
- if (!who)
- return;
+ if (!UpdateVictim())
+ return;
+
+ _events.Update(diff);
- if (_doEmerge == false)
- return;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- ScriptedAI::AttackStart(who);
+ switch (_events.ExecuteEvent())
+ {
+ case EVENT_RISEN_WITCH_DOCTOR_CURSE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f, true))
+ DoCast(target, SPELL_CURSE_OF_DOOM);
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_CURSE, urand(10000, 15000));
+ break;
+ case EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 0, 20.0f, true))
+ DoCast(target, SPELL_SHADOW_BOLT);
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT, urand(2000, 3000));
+ break;
+ case EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT_VOLLEY:
+ if (SelectTarget(SELECT_TARGET_RANDOM, 0, 30.0f, true))
+ DoCastAOE(SPELL_SHADOW_BOLT_VOLLEY);
+ _events.ScheduleEvent(EVENT_RISEN_WITCH_DOCTOR_SHADOW_BOLT_VOLLEY, urand(15000, 22000));
+ break;
+ default:
+ break;
+ }
+
+ DoMeleeAttackIfReady();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_risen_witch_doctorAI>(creature);
}
+};
+
+class npc_lumbering_abomination : public CreatureScript
+{
+ public:
+ npc_lumbering_abomination() : CreatureScript("npc_lumbering_abomination") { }
- void UpdateAI(uint32 diff) OVERRIDE
+ struct npc_lumbering_abominationAI : public npc_escape_event_trash
{
- if (!_instance)
- return;
+ npc_lumbering_abominationAI(Creature* creature) : npc_escape_event_trash(creature) { }
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
+ void Reset() override
{
- if (_doEmerge != true)
- {
- if (_emergeTimer < diff)
- {
- _doEmerge = true;
- _leaderGUID = _instance->GetData64(DATA_ESCAPE_LEADER);
+ npc_escape_event_trash::Reset();
+ _events.ScheduleEvent(EVENT_LUMBERING_ABOMINATION_VOMIT_SPRAY, 15000);
+ _events.ScheduleEvent(EVENT_LUMBERING_ABOMINATION_CLEAVE, 6000);
+ }
- if (Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
- {
- DoResetThreat();
- me->GetMotionMaster()->MoveIdle();
- me->GetMotionMaster()->MoveChase(leader);
- }
- }
- else
- _emergeTimer -= diff;
- }
+ void UpdateAI(uint32 diff) override
+ {
+ npc_escape_event_trash::UpdateAI(diff);
- if (_curseTimer < diff)
- {
- if (Unit *target = SelectTarget(SELECT_TARGET_RANDOM))
- DoCast(target, SPELL_COURSE_OF_DOOM);
- _curseTimer = urand(10000, 15000);
- }
- else
- _curseTimer -= diff;
+ if (!UpdateVictim())
+ return;
- if (_boltTimer < diff)
- {
- if (Unit *target = SelectTarget(SELECT_TARGET_TOPAGGRO))
- DoCast(target, SPELL_SHADOW_BOLT);
- _boltTimer = urand(2000, 3000);
- }
- else
- _boltTimer -= diff;
+ _events.Update(diff);
- if (_boltVolleyTimer < diff)
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ switch (_events.ExecuteEvent())
{
- if (Unit *target = SelectTarget(SELECT_TARGET_TOPAGGRO))
- DoCast(target, SPELL_SHADOW_BOLT_VOLLEY);
- _boltVolleyTimer = urand(15000, 22000);
+ case EVENT_LUMBERING_ABOMINATION_VOMIT_SPRAY:
+ DoCastVictim(SPELL_VOMIT_SPRAY);
+ _events.ScheduleEvent(EVENT_LUMBERING_ABOMINATION_VOMIT_SPRAY, urand(15000, 20000));
+ break;
+ case EVENT_LUMBERING_ABOMINATION_CLEAVE:
+ DoCastVictim(SPELL_CLEAVE);
+ _events.ScheduleEvent(EVENT_LUMBERING_ABOMINATION_CLEAVE, urand(7000, 9000));
+ break;
+ default:
+ break;
}
- else
- _boltVolleyTimer -= diff;
+
+ DoMeleeAttackIfReady();
}
- else if (_instance->GetData(DATA_ESCAPE_EVENT) == FAIL || _instance->GetData(DATA_ESCAPE_EVENT) == NOT_STARTED)
- me->DespawnOrUnsummon();
- DoMeleeAttackIfReady();
- }
- };
+ };
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_risen_witch_doctorAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetHallsOfReflectionAI<npc_lumbering_abominationAI>(creature);
+ }
};
-
-class npc_lumbering_abomination : public CreatureScript
+// 72900 - Start Halls of Reflection Quest AE
+class spell_hor_start_halls_of_reflection_quest_ae : public SpellScriptLoader
{
-public:
- npc_lumbering_abomination() : CreatureScript("npc_lumbering_abomination") { }
+ public:
+ spell_hor_start_halls_of_reflection_quest_ae() : SpellScriptLoader("spell_hor_start_halls_of_reflection_quest_ae") { }
- struct npc_lumbering_abominationAI : public ScriptedAI
- {
- npc_lumbering_abominationAI(Creature* creature) : ScriptedAI(creature)
+ class spell_hor_start_halls_of_reflection_quest_ae_SpellScript : public SpellScript
{
- _instance = me->GetInstanceScript();
- }
+ PrepareSpellScript(spell_hor_start_halls_of_reflection_quest_ae_SpellScript);
+
+ void StartQuests(SpellEffIndex /*effIndex*/)
+ {
+ if (Player* target = GetHitPlayer())
+ {
+ // CanTakeQuest and CanAddQuest checks done in spell effect execution
+ if (target->GetTeam() == ALLIANCE)
+ target->CastSpell(target, SPELL_START_HALLS_OF_REFLECTION_QUEST_A, true);
+ else
+ target->CastSpell(target, SPELL_START_HALLS_OF_REFLECTION_QUEST_H, true);
+ }
+ }
- InstanceScript* _instance;
- uint64 _leaderGUID;
- bool _doWalk;
- uint32 _strikeTimer;
- uint32 _vomitTimer;
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_hor_start_halls_of_reflection_quest_ae_SpellScript::StartQuests, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
- void Reset() OVERRIDE
+ SpellScript* GetSpellScript() const override
{
- _doWalk = false;
- _vomitTimer = 15000;
- _strikeTimer = 6000;
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
- _instance->SetData(DATA_SUMMONS, 1);
+ return new spell_hor_start_halls_of_reflection_quest_ae_SpellScript();
}
+};
+
+// 70190 - Evasion
+class spell_hor_evasion : public SpellScriptLoader
+{
+ public:
+ spell_hor_evasion() : SpellScriptLoader("spell_hor_evasion") { }
+
+ class spell_hor_evasion_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_hor_evasion_SpellScript);
+
+ bool Load() override
+ {
+ return GetCaster()->GetTypeId() == TYPEID_UNIT;
+ }
+
+ void SetDest(SpellDestination& dest)
+ {
+ WorldObject* target = GetExplTargetWorldObject();
+ Position pos(*target);
+ Position home = GetCaster()->ToCreature()->GetHomePosition();
+
+ // prevent evasion outside the room
+ if (pos.IsInDist2d(&home, 15.0f))
+ return;
+
+ float angle = pos.GetAngle(&home);
+ float dist = GetSpellInfo()->Effects[EFFECT_0].CalcRadius(GetCaster());
+ target->MovePosition(pos, dist, angle);
+
+ dest.Relocate(pos);
+ }
+
+ void Register() override
+ {
+ OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_hor_evasion_SpellScript::SetDest, EFFECT_0, TARGET_DEST_TARGET_RADIUS);
+ }
+ };
- void IsSummonedBy(Unit*) OVERRIDE
+ SpellScript* GetSpellScript() const override
{
- DoCast(me, SPELL_EMERGE_VISUAL);
- DoZoneInCombat(me, 100.00f);
+ return new spell_hor_evasion_SpellScript();
}
+};
+
+// 70017 - Gunship Cannon Fire
+class spell_hor_gunship_cannon_fire : public SpellScriptLoader
+{
+ public:
+ spell_hor_gunship_cannon_fire() : SpellScriptLoader("spell_hor_gunship_cannon_fire") { }
- void UpdateAI(uint32 diff) OVERRIDE
+ class spell_hor_gunship_cannon_fire_AuraScript : public AuraScript
{
- if (_instance->GetData(DATA_ESCAPE_EVENT) == IN_PROGRESS)
+ PrepareAuraScript(spell_hor_gunship_cannon_fire_AuraScript);
+
+ void HandlePeriodic(AuraEffect const* /*aurEff*/)
{
- if (_doWalk != true)
+ if (!urand(0, 2))
{
- _doWalk = true;
- _leaderGUID = _instance->GetData64(DATA_ESCAPE_LEADER);
- if (Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
- {
- DoResetThreat();
- me->GetMotionMaster()->MoveIdle();
- me->GetMotionMaster()->MoveChase(leader);
- }
- }
- if (_strikeTimer < diff)
- {
- if (Unit *target = SelectTarget(SELECT_TARGET_TOPAGGRO))
- DoCast(target, SPELL_ABON_STRIKE);
- _strikeTimer = urand(7000, 9000);
+ if (GetTarget()->GetEntry() == NPC_GUNSHIP_CANNON_HORDE)
+ GetTarget()->CastSpell((Unit*)NULL, SPELL_GUNSHIP_CANNON_FIRE_MISSILE_HORDE, true);
+ else
+ GetTarget()->CastSpell((Unit*)NULL, SPELL_GUNSHIP_CANNON_FIRE_MISSILE_ALLIANCE, true);
}
- else
- _strikeTimer -= diff;
+ }
- if (_vomitTimer < diff)
- {
- if (Unit *target = SelectTarget(SELECT_TARGET_TOPAGGRO))
- DoCast(target, SPELL_VOMIT_SPRAY);
- _vomitTimer = urand(15000, 20000);
- }
- else
- _vomitTimer -= diff;
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_hor_gunship_cannon_fire_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
- else if (_instance->GetData(DATA_ESCAPE_EVENT) == FAIL || _instance->GetData(DATA_ESCAPE_EVENT) == NOT_STARTED)
- me->DespawnOrUnsummon();
- DoMeleeAttackIfReady();
- }
+ };
- void JustDied(Unit* /*killer*/) OVERRIDE
+ AuraScript* GetAuraScript() const override
{
- _instance->SetData(DATA_SUMMONS, 0);
+ return new spell_hor_gunship_cannon_fire_AuraScript();
}
-
- };
-
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return GetInstanceAI<npc_lumbering_abominationAI>(creature);
- }
};
void AddSC_halls_of_reflection()
{
new at_hor_intro_start();
new at_hor_waves_restarter();
- new at_shadow_throne();
- new npc_jaina_or_sylvanas_hor();
+ new at_hor_impenetrable_door();
+ new at_hor_shadow_throne();
+ new npc_jaina_or_sylvanas_intro_hor();
new npc_jaina_or_sylvanas_escape_hor();
+ new npc_the_lich_king_escape_hor();
new npc_ghostly_priest();
new npc_phantom_mage();
new npc_phantom_hallucination();
new npc_shadowy_mercenary();
new npc_spectral_footman();
new npc_tortured_rifleman();
+ new npc_frostsworn_general();
+ new npc_spiritual_reflection();
new npc_raging_ghoul();
new npc_risen_witch_doctor();
new npc_lumbering_abomination();
- new npc_frostworn_general();
- new npc_spiritual_reflection();
+ new spell_hor_start_halls_of_reflection_quest_ae();
+ new spell_hor_evasion();
+ new spell_hor_gunship_cannon_fire();
}
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 c4776c3cfcd..a05035f7b44 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -15,170 +15,231 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef DEF_HALLS_OF_REFLECTION_H
-#define DEF_HALLS_OF_REFLECTION_H
+#ifndef HALLS_OF_REFLECTION_H_
+#define HALLS_OF_REFLECTION_H_
#define HoRScriptName "instance_halls_of_reflection"
-#define MAX_ENCOUNTER 3
+
+uint32 const EncounterCount = 3;
/* Halls of Reflection encounters:
-0- Falric
-1- Marwyn
-2- The Lich King
+ 0 - Falric
+ 1 - Marwyn
+ 2 - The Lich King
*/
-enum Data
+enum DataTypes
{
- DATA_FALRIC_EVENT = 0,
- DATA_MARWYN_EVENT = 1,
- DATA_LICHKING_EVENT = 2,
+ DATA_FALRIC = 0,
+ DATA_MARWYN = 1,
+ DATA_THE_LICH_KING_ESCAPE = 2,
+
DATA_INTRO_EVENT = 3,
- DATA_FROSWORN_EVENT = 4,
+ DATA_FROSTSWORN_GENERAL = 4,
- DATA_WAVE_COUNT = 5,
- DATA_TEAM_IN_INSTANCE = 6,
- DATA_FROSTMOURNE = 7,
- DATA_FROSTWORN_DOOR = 8,
- DATA_ESCAPE_EVENT = 9,
+ DATA_KORELN_LORALEN = 5,
+ DATA_WAVE_COUNT = 6,
+ DATA_TEAM_IN_INSTANCE = 7,
+ DATA_FROSTMOURNE = 8,
+ DATA_IMPENETRABLE_DOOR = 9,
DATA_ESCAPE_LEADER = 10,
- DATA_SUMMONS = 11,
- DATA_ICEWALL = 12,
- DATA_CAVE_IN = 13
+ DATA_ICEWALL = 11,
+ DATA_ICEWALL_TARGET = 12,
+ DATA_GUNSHIP = 13
};
-enum Creatures
+enum CreatureIds
{
- NPC_JAINA_PART1 = 37221,
- NPC_SYLVANAS_PART1 = 37223,
- NPC_UTHER = 37225,
- NPC_LICH_KING_PART1 = 37226,
- NPC_LORALEN = 37779,
- NPC_KORELN = 37582,
-
- NPC_FALRIC = 38112,
- NPC_MARWYN = 38113,
- NPC_WAVE_MERCENARY = 38177,
- NPC_WAVE_FOOTMAN = 38173,
- NPC_WAVE_RIFLEMAN = 38176,
- NPC_WAVE_PRIEST = 38175,
- NPC_WAVE_MAGE = 38172,
-
- NPC_FROSTWORN_GENERAL = 36723,
- NPC_REFLECTION = 37068, // 37107 for tank only?
-
- NPC_JAINA_PART2 = 36955,
- NPC_SYLVANAS_PART2 = 37554,
- NPC_LICH_KING_PART2 = 36954,
- NPC_BARTLETT = 37182, // High Captain Justin Bartlett
- NPC_KORM = 37833, // Sky-Reaver Korm Blackscar
- NPC_ICE_WALL = 37014, // Ice Wall Target
-
- NPC_RAGING_GNOUL = 36940,
- NPC_RISEN_WITCH_DOCTOR = 36941,
- NPC_ABON = 37069
+ NPC_JAINA_INTRO = 37221,
+ NPC_SYLVANAS_INTRO = 37223,
+ NPC_UTHER = 37225,
+ NPC_THE_LICH_KING_INTRO = 37226,
+ NPC_KORELN = 37582,
+ NPC_LORALEN = 37779,
+ NPC_FROSTMOUNRE_ALTAR_BUNNY = 37704,
+
+ NPC_FALRIC = 38112,
+ NPC_MARWYN = 38113,
+ NPC_WAVE_MERCENARY = 38177,
+ NPC_WAVE_FOOTMAN = 38173,
+ NPC_WAVE_RIFLEMAN = 38176,
+ NPC_WAVE_PRIEST = 38175,
+ NPC_WAVE_MAGE = 38172,
+
+ NPC_FROSTSWORN_GENERAL = 36723,
+ NPC_REFLECTION = 37068, // 37107 for tank only?
+
+ NPC_JAINA_ESCAPE = 36955,
+ NPC_SYLVANAS_ESCAPE = 37554,
+ NPC_THE_LICH_KING_ESCAPE = 36954,
+ NPC_ICE_WALL_TARGET = 37014,
+
+ NPC_RAGING_GHOUL = 36940,
+ NPC_RISEN_WITCH_DOCTOR = 36941,
+ NPC_LUMBERING_ABOMINATION = 37069,
+
+ NPC_GUNSHIP_CANNON_HORDE = 37593,
+ NPC_JUSTIN_BARTLETT = 30344,
+ NPC_KORM_BLACKSCAR = 30824,
+
+ NPC_WORLD_TRIGGER = 22515
};
-enum GameObjects
+enum GameObjectIds
{
- GO_FROSTMOURNE = 202302,
- GO_ENTRANCE_DOOR = 201976,
- GO_FROSTWORN_DOOR = 197341,
- GO_ARTHAS_DOOR = 197342,
- //GO_ESCAPE_DOOR = 197343, // always open ?
-
- GO_ICE_WALL = 201385,
- GO_CAVE = 201596,
-
- GO_STAIRS_SKYBREAKER = 201709,
- GO_SKYBREAKER = 201598,
- GO_STAIRS_ORGRIM_HAMMER = 202211,
- GO_ORGRIM_HAMMER = 201599,
- GO_PORTAL = 202079,
-
- GO_CAPTAIN_CHEST_HORDE_NORMAL = 202212, //3145
- GO_CAPTAIN_CHEST_ALLIANCE_NORMAL = 201710, //30357
- GO_CAPTAIN_CHEST_HORDE_HEROIC = 202337, //3246
- GO_CAPTAIN_CHEST_ALLIANCE_HEROIC = 202336, //3333
+ GO_FROSTMOURNE = 202302,
+ GO_ENTRANCE_DOOR = 201976,
+ GO_IMPENETRABLE_DOOR = 197341,
+ GO_SHADOW_THRONE_DOOR = 197342,
+ GO_ESCAPE_DOOR = 197343, // always open ?
+
+ GO_ICE_WALL = 201385,
+ GO_CAVE_IN = 201596,
+
+ GO_THE_SKYBREAKER = 201598,
+ GO_ORGRIMS_HAMMER = 201599,
+ GO_THE_SKYBREAKER_STAIRS = 201709,
+ GO_ORGRIMS_HAMMER_STAIRS = 202211,
+ GO_PORTAL_TO_DALARAN = 195682,
+
+ GO_THE_CAPTAIN_CHEST_ALLIANCE_NORMAL = 201710,
+ GO_THE_CAPTAIN_CHEST_HORDE_NORMAL = 202212,
+ GO_THE_CAPTAIN_CHEST_ALLIANCE_HEROIC = 202336,
+ GO_THE_CAPTAIN_CHEST_HORDE_HEROIC = 202337
};
-enum HorWorldStates
+enum Achievements
{
- WORLD_STATE_HOR_WAVES_ENABLED = 4884,
- WORLD_STATE_HOR_WAVE_COUNT = 4882,
+ ACHIEV_NOT_RETREATING_EVENT = 22615,
+ SPELL_ACHIEV_CHECK = 72830
};
// Common actions from Instance Script to Boss Script
enum Actions
{
- ACTION_ENTER_COMBAT,
- ACTION_START_ESCAPING,
- ACTION_WALL_BROKEN
+ ACTION_ENTER_COMBAT = -668001,
+ ACTION_START_PREFIGHT = -668002,
+ ACTION_WALL_BROKEN = -668003,
+ ACTION_GUNSHIP_ARRIVAL = -668004,
+ ACTION_GUNSHIP_ARRIVAL_2 = -668005
};
-enum TrashGeneralSpells
+enum InstanceEvents
{
- // General spells
- SPELL_WELL_OF_SOULS = 72630, // cast when spawn(become visible)
- SPELL_SPIRIT_ACTIVATE = 72130, // cast when unit activates
+ EVENT_SPAWN_WAVES = 1,
+ EVENT_NEXT_WAVE = 2,
+ EVENT_DO_WIPE = 3,
+ EVENT_ADD_WAVE = 4,
+ EVENT_SPAWN_ESCAPE_EVENT = 5
};
-enum InstanceEvents
+enum InstanceEventIds
{
- EVENT_SPAWN_WAVES = 1,
- EVENT_NEXT_WAVE = 2,
- EVENT_DO_WIPE = 3,
- EVENT_ADD_WAVE = 4,
+ EVENT_GUNSHIP_ARRIVAL = 22709,
+ EVENT_GUNSHIP_ARRIVAL_2 = 22714,
+ EVENT_ICE_WALL_SUMMONED = 22795
};
-// Base class for FALRIC and MARWYN
-// handled the summonList and the notification events to/from the InstanceScript
-struct boss_horAI : ScriptedAI
+enum InstanceSpells
{
- boss_horAI(Creature* creature) : ScriptedAI(creature), summons(creature)
- {
- instance = me->GetInstanceScript();
- }
+ // Trash
+ SPELL_WELL_OF_SOULS = 72630, // cast when spawn (become visible)
+ SPELL_SPIRIT_ACTIVATE = 72130, // cast when unit activates
+
+ // Start Quests
+ SPELL_START_HALLS_OF_REFLECTION_QUEST_A = 71351,
+ SPELL_START_HALLS_OF_REFLECTION_QUEST_H = 71542,
+ SPELL_START_HALLS_OF_REFLECTION_QUEST_AE = 72900,
+
+ // Quest Credits
+ SPELL_CREDIT_FINDING_SYLVANAS = 71536,
+ SPELL_CREDIT_FINDING_JAINA = 71538,
+ SPELL_CREDIT_ESCAPING_ARTHAS = 71352,
+
+ // Gunship
+ SPELL_GUNSHIP_CANNON_FIRE = 70017,
+ SPELL_GUNSHIP_CANNON_FIRE_MISSILE_ALLIANCE = 70021,
+ SPELL_GUNSHIP_CANNON_FIRE_MISSILE_HORDE = 70246
+};
- InstanceScript* instance;
- EventMap events;
- SummonList summons;
+enum InstanceWorldStates
+{
+ WORLD_STATE_HOR_WAVES_ENABLED = 4884,
+ WORLD_STATE_HOR_WAVE_COUNT = 4882
+};
+
+enum InstanceYells
+{
+ SAY_CAPTAIN_FIRE = 0,
+ SAY_CAPTAIN_FINAL = 1
+};
+
+// Base class for FALRIC and MARWYN
+struct boss_horAI : BossAI
+{
+ boss_horAI(Creature* creature, uint32 bossId) : BossAI(creature, bossId) { }
- void Reset()
+ void Reset() override
{
- events.Reset();
+ _Reset();
me->SetVisible(false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
me->SetReactState(REACT_PASSIVE);
if (instance->GetData(DATA_WAVE_COUNT) != NOT_STARTED)
- instance->ProcessEvent(0, EVENT_DO_WIPE);
+ instance->ProcessEvent(NULL, EVENT_DO_WIPE);
}
- void DoAction(int32 actionID)
+ void DoAction(int32 actionId) override
{
- switch (actionID)
+ switch (actionId)
{
- case ACTION_ENTER_COMBAT: // called by InstanceScript when boss shall enter in combat.
+ case ACTION_ENTER_COMBAT: // called by InstanceScript when boss shall enter in combat.
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
me->SetReactState(REACT_AGGRESSIVE);
-
- if (Unit* unit = me->SelectNearestTarget())
- AttackStart(unit);
-
- DoZoneInCombat();
+ DoZoneInCombat(me, 150.0f);
+ break;
+ default:
break;
}
}
- void JustSummoned(Creature* summoned)
+ void JustSummoned(Creature* summon) override
{
- summons.Summon(summoned);
+ summons.Summon(summon);
}
};
+class GameObjectDeleteDelayEvent : public BasicEvent
+{
+ public:
+ GameObjectDeleteDelayEvent(Unit* owner, uint64 gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
+
+ void DeleteGameObject()
+ {
+ if (GameObject* go = ObjectAccessor::GetGameObject(*_owner, _gameObjectGUID))
+ go->Delete();
+ }
+
+ bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
+ {
+ DeleteGameObject();
+ return true;
+ }
+
+ void Abort(uint64 /*execTime*/) override
+ {
+ DeleteGameObject();
+ }
+
+ private:
+ Unit* _owner;
+ uint64 _gameObjectGUID;
+};
+
template<class AI>
AI* GetHallsOfReflectionAI(Creature* creature)
{
return GetInstanceAI<AI>(creature, HoRScriptName);
}
-#endif
+#endif // HALLS_OF_REFLECTION_H_
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
index f78be036900..6f33e80b92b 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
@@ -19,590 +19,792 @@
#include "ScriptedCreature.h"
#include "InstanceScript.h"
#include "Player.h"
+#include "Transport.h"
#include "WorldPacket.h"
#include "halls_of_reflection.h"
-Position const JainaSpawnPos = {5236.659f, 1929.894f, 707.7781f, 0.8726646f}; // Jaina Spawn Position
-Position const SylvanasSpawnPos = {5236.667f, 1929.906f, 707.7781f, 0.8377581f}; // Sylvanas Spawn Position
-Position const GeneralSpawnPos = {5415.538f, 2117.842f, 707.7781f, 3.944444f}; // Frostsworn General
-Position const JainaSpawnPos2 = {5549.011f, 2257.041f, 733.0120f, 1.153993f}; // Jaina Spawn Position 2
-Position const SylvanasSpawnPos2 = {5549.011f, 2257.041f, 733.0120f, 1.153993f}; // Sylvanas Spawn Position 2
+Position const JainaSpawnPos = { 5236.659f, 1929.894f, 707.7781f, 0.8726646f }; // Jaina Spawn Position
+Position const SylvanasSpawnPos = { 5236.667f, 1929.906f, 707.7781f, 0.8377581f }; // Sylvanas Spawn Position (sniffed)
+Position const JainaSpawnPos2 = { 5549.011f, 2257.041f, 733.0120f, 1.153993f }; // Jaina Spawn Position 2
+Position const SylvanasSpawnPos2 = { 5549.29f, 2257.353f, 733.0943f, 0.8901179f }; // Sylvanas Spawn Position 2 (sniffed)
+Position const KorelnOrLoralenSpawnPos = { 5232.68f, 1931.46f, 707.7781f, 0.8377581f };
+
+Position const TheLichKingEscapePosition[] =
+{
+ { 5557.017f, 2266.103f, 733.0943f, 3.892084f }, // 0 - Spawn (Horde)
+ { 5552.733f, 2262.718f, 733.0110f, 4.009696f } // 1 - Spawn (Alliance)
+};
Position const SpawnPos[] =
{
- {5309.577f, 2042.668f, 707.7781f, 4.694936f},
- {5295.885f, 2040.342f, 707.7781f, 5.078908f},
- {5340.836f, 1992.458f, 707.7781f, 2.757620f},
- {5325.072f, 1977.597f, 707.7781f, 2.076942f},
- {5277.365f, 1993.229f, 707.7781f, 0.401426f},
- {5275.479f, 2001.135f, 707.7781f, 0.174533f},
- {5302.448f, 2042.222f, 707.7781f, 4.904375f},
- {5343.293f, 1999.384f, 707.7781f, 2.914700f},
- {5295.635f, 1973.757f, 707.7781f, 1.186824f},
- {5311.031f, 1972.229f, 707.7781f, 1.640610f},
- {5275.076f, 2008.724f, 707.7781f, 6.213372f},
- {5316.701f, 2041.550f, 707.7781f, 4.502949f},
- {5344.150f, 2007.168f, 707.7781f, 3.159046f},
- {5319.158f, 1973.998f, 707.7781f, 1.919862f},
- {5302.247f, 1972.415f, 707.7781f, 1.378810f},
- {5277.739f, 2016.882f, 707.7781f, 5.969026f},
- {5322.964f, 2040.288f, 707.7781f, 4.345870f},
- {5343.467f, 2015.951f, 707.7781f, 3.490659f},
- {5313.820f, 1978.146f, 707.7781f, 1.745329f},
- {5279.649f, 2004.656f, 707.7781f, 0.069814f},
- {5306.057f, 2037.002f, 707.7781f, 4.817109f},
- {5337.865f, 2003.403f, 707.7781f, 2.984513f},
- {5299.434f, 1979.009f, 707.7781f, 1.239184f},
- {5312.752f, 2037.122f, 707.7781f, 4.590216f},
- {5335.724f, 1996.859f, 707.7781f, 2.740167f},
- {5280.632f, 2012.156f, 707.7781f, 6.056293f},
- {5320.369f, 1980.125f, 707.7781f, 2.007129f},
- {5306.572f, 1977.474f, 707.7781f, 1.500983f},
- {5336.599f, 2017.278f, 707.7781f, 3.473205f},
- {5282.897f, 2019.597f, 707.7781f, 5.881760f},
- {5318.704f, 2036.108f, 707.7781f, 4.223697f},
- {5280.513f, 1997.842f, 707.7781f, 0.296706f},
- {5337.833f, 2010.057f, 707.7781f, 3.228859f},
- {5299.250f, 2035.998f, 707.7781f, 5.026548f},
+ { 5309.577f, 2042.668f, 707.7781f, 4.694936f },
+ { 5295.885f, 2040.342f, 707.7781f, 5.078908f },
+ { 5340.836f, 1992.458f, 707.7781f, 2.757620f },
+ { 5325.072f, 1977.597f, 707.7781f, 2.076942f },
+ { 5277.365f, 1993.229f, 707.7781f, 0.401426f },
+ { 5275.479f, 2001.135f, 707.7781f, 0.174533f },
+ { 5302.448f, 2042.222f, 707.7781f, 4.904375f },
+ { 5343.293f, 1999.384f, 707.7781f, 2.914700f },
+ { 5295.635f, 1973.757f, 707.7781f, 1.186824f },
+ { 5311.031f, 1972.229f, 707.7781f, 1.640610f },
+ { 5275.076f, 2008.724f, 707.7781f, 6.213372f },
+ { 5316.701f, 2041.550f, 707.7781f, 4.502949f },
+ { 5344.150f, 2007.168f, 707.7781f, 3.159046f },
+ { 5319.158f, 1973.998f, 707.7781f, 1.919862f },
+ { 5302.247f, 1972.415f, 707.7781f, 1.378810f },
+ { 5277.739f, 2016.882f, 707.7781f, 5.969026f },
+ { 5322.964f, 2040.288f, 707.7781f, 4.345870f },
+ { 5343.467f, 2015.951f, 707.7781f, 3.490659f },
+ { 5313.820f, 1978.146f, 707.7781f, 1.745329f },
+ { 5279.649f, 2004.656f, 707.7781f, 0.069814f },
+ { 5306.057f, 2037.002f, 707.7781f, 4.817109f },
+ { 5337.865f, 2003.403f, 707.7781f, 2.984513f },
+ { 5299.434f, 1979.009f, 707.7781f, 1.239184f },
+ { 5312.752f, 2037.122f, 707.7781f, 4.590216f },
+ { 5335.724f, 1996.859f, 707.7781f, 2.740167f },
+ { 5280.632f, 2012.156f, 707.7781f, 6.056293f },
+ { 5320.369f, 1980.125f, 707.7781f, 2.007129f },
+ { 5306.572f, 1977.474f, 707.7781f, 1.500983f },
+ { 5336.599f, 2017.278f, 707.7781f, 3.473205f },
+ { 5282.897f, 2019.597f, 707.7781f, 5.881760f },
+ { 5318.704f, 2036.108f, 707.7781f, 4.223697f },
+ { 5280.513f, 1997.842f, 707.7781f, 0.296706f },
+ { 5337.833f, 2010.057f, 707.7781f, 3.228859f },
+ { 5299.250f, 2035.998f, 707.7781f, 5.026548f }
};
class instance_halls_of_reflection : public InstanceMapScript
{
-public:
- instance_halls_of_reflection() : InstanceMapScript("instance_halls_of_reflection", 668) { }
-
- struct instance_halls_of_reflection_InstanceMapScript : public InstanceScript
- {
- instance_halls_of_reflection_InstanceMapScript(Map* map) : InstanceScript(map) { }
+ public:
+ instance_halls_of_reflection() : InstanceMapScript(HoRScriptName, 668) { }
- void Initialize() OVERRIDE
+ struct instance_halls_of_reflection_InstanceMapScript : public InstanceScript
{
- SetBossNumber(MAX_ENCOUNTER);
- events.Reset();
-
- _falricGUID = 0;
- _marwynGUID = 0;
- _jainaOrSylvanasPart1GUID = 0;
- _jainaOrSylvanasPart2GUID = 0;
- _lichkingPart1GUID = 0;
- _frostwornGeneralGUID = 0;
-
- _frostmourneGUID = 0;
- _entranceDoorGUID = 0;
- _frostwornDoorGUID = 0;
- _arthasDoorGUID = 0;
- _escapeDoorGUID = 0;
- _caveGUID = 0;
-
- _teamInInstance = 0;
- _waveCount = 0;
- _introEvent = NOT_STARTED;
- _frostwornGeneral = NOT_STARTED;
- _escapeevent = NOT_STARTED;
- _mobsaticewall = 0;
- }
+ instance_halls_of_reflection_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetBossNumber(EncounterCount);
+
+ JainaOrSylvanasIntroGUID = 0;
+ KorelnOrLoralenGUID = 0;
+ TheLichkingIntroGUID = 0;
+ FalricGUID = 0;
+ MarwynGUID = 0;
+ FrostmourneAltarBunnyGUID = 0;
+ FrostswornGeneralGUID = 0;
+ JainaOrSylvanasEscapeGUID = 0;
+ TheLichKingEscapeGUID = 0;
+
+ FrostmourneGUID = 0;
+ EntranceDoorGUID = 0;
+ ImpenetrableDoorGUID = 0;
+ ShadowThroneDoorGUID = 0;
+ CaveInGUID = 0;
+ GunshipGUID = 0;
+ CaptainsChestGUID = 0;
+ CaptainGUID = 0;
+ IcewallGUID = 0;
+ IcewallTargetGUID = 0;
+
+ _teamInInstance = 0;
+ _waveCount = 0;
+ _introState = NOT_STARTED;
+ _frostswornGeneralState = NOT_STARTED;
+
+ events.Reset();
+ }
- void OnPlayerEnter(Player* player) OVERRIDE
- {
- if (!_teamInInstance)
- _teamInInstance = player->GetTeam();
- }
+ void OnPlayerEnter(Player* player) override
+ {
+ if (!_teamInInstance)
+ _teamInInstance = player->GetTeam();
- void OnCreatureCreate(Creature* creature) OVERRIDE
- {
- if (!_teamInInstance)
+ if (GetBossState(DATA_MARWYN) == DONE)
+ {
+ SpawnGunship();
+
+ if (!JainaOrSylvanasEscapeGUID && GetBossState(DATA_THE_LICH_KING_ESCAPE) != DONE)
+ SpawnEscapeEvent();
+ }
+ }
+
+ void OnCreatureCreate(Creature* creature) override
{
- Map::PlayerList const& players = instance->GetPlayers();
- if (!players.isEmpty())
- if (Player* player = players.begin()->GetSource())
- _teamInInstance = player->GetTeam();
+ switch (creature->GetEntry())
+ {
+ case NPC_JAINA_INTRO:
+ case NPC_SYLVANAS_INTRO:
+ JainaOrSylvanasIntroGUID = creature->GetGUID();
+ break;
+ case NPC_KORELN:
+ case NPC_LORALEN:
+ if (GetBossState(DATA_MARWYN) != DONE)
+ creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
+ KorelnOrLoralenGUID = creature->GetGUID();
+ break;
+ case NPC_THE_LICH_KING_INTRO:
+ TheLichkingIntroGUID = creature->GetGUID();
+ break;
+ case NPC_FALRIC:
+ FalricGUID = creature->GetGUID();
+ break;
+ case NPC_MARWYN:
+ MarwynGUID = creature->GetGUID();
+ break;
+ case NPC_FROSTMOUNRE_ALTAR_BUNNY:
+ FrostmourneAltarBunnyGUID = creature->GetGUID();
+ break;
+ case NPC_FROSTSWORN_GENERAL:
+ FrostswornGeneralGUID = creature->GetGUID();
+ if (GetBossState(DATA_MARWYN) == DONE)
+ creature->SetPhaseMask(1, true);
+ break;
+ case NPC_JAINA_ESCAPE:
+ case NPC_SYLVANAS_ESCAPE:
+ JainaOrSylvanasEscapeGUID = creature->GetGUID();
+ break;
+ case NPC_THE_LICH_KING_ESCAPE:
+ TheLichKingEscapeGUID = creature->GetGUID();
+ break;
+ case NPC_JUSTIN_BARTLETT:
+ case NPC_KORM_BLACKSCAR:
+ CaptainGUID = creature->GetGUID();
+ break;
+ case NPC_WORLD_TRIGGER:
+ if (!creature->GetTransport())
+ break;
+ // no break
+ case NPC_GUNSHIP_CANNON_HORDE:
+ GunshipCannonGUIDs.insert(creature->GetGUID());
+ break;
+ case NPC_ICE_WALL_TARGET:
+ IcewallTargetGUID = creature->GetGUID();
+ break;
+ default:
+ break;
+ }
}
- switch (creature->GetEntry())
+ void OnCreatureRemove(Creature* creature) override
{
- case NPC_JAINA_PART1:
- case NPC_SYLVANAS_PART1:
- _jainaOrSylvanasPart1GUID = creature->GetGUID();
- break;
- case NPC_FALRIC:
- _falricGUID = creature->GetGUID();
- break;
- case NPC_MARWYN:
- _marwynGUID = creature->GetGUID();
- break;
- case NPC_FROSTWORN_GENERAL:
- _frostwornGeneralGUID = creature->GetGUID();
- if (GetBossState(DATA_MARWYN_EVENT) == DONE)
- if (Creature* general = instance->GetCreature(_frostwornGeneralGUID))
- general->SetPhaseMask(1, true);
- break;
- case NPC_JAINA_PART2:
- case NPC_SYLVANAS_PART2:
- _jainaOrSylvanasPart2GUID = creature->GetGUID();
- break;
+ switch (creature->GetEntry())
+ {
+ case NPC_WAVE_MERCENARY:
+ case NPC_WAVE_FOOTMAN:
+ case NPC_WAVE_RIFLEMAN:
+ case NPC_WAVE_PRIEST:
+ case NPC_WAVE_MAGE:
+ {
+ uint32 internalWaveId = creature->AI()->GetData(0);
+ waveGuidList[internalWaveId].erase(creature->GetGUID());
+ break;
+ }
+ case NPC_ICE_WALL_TARGET:
+ IcewallTargetGUID = 0;
+ break;
+ case NPC_WORLD_TRIGGER:
+ case NPC_GUNSHIP_CANNON_HORDE:
+ GunshipCannonGUIDs.erase(creature->GetGUID());
+ break;
+ default:
+ break;
+ }
}
- }
- void OnCreatureRemove(Creature* creature) OVERRIDE
- {
- switch (creature->GetEntry())
+ uint32 GetGameObjectEntry(uint32 /*guidLow*/, uint32 entry) override
{
- case NPC_WAVE_MERCENARY:
- case NPC_WAVE_FOOTMAN:
- case NPC_WAVE_RIFLEMAN:
- case NPC_WAVE_PRIEST:
- case NPC_WAVE_MAGE:
+ if (!_teamInInstance)
+ {
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ _teamInInstance = player->GetTeam();
+ }
+
+ switch (entry)
{
- uint32 internalWaveId = creature->AI()->GetData(0);
- waveGuidList[internalWaveId].erase(creature->GetGUID());
- break;
+ case GO_THE_CAPTAIN_CHEST_ALLIANCE_NORMAL:
+ case GO_THE_CAPTAIN_CHEST_ALLIANCE_HEROIC:
+ case GO_THE_SKYBREAKER_STAIRS:
+ if (_teamInInstance == HORDE)
+ return 0;
+ break;
+ case GO_THE_CAPTAIN_CHEST_HORDE_NORMAL:
+ case GO_THE_CAPTAIN_CHEST_HORDE_HEROIC:
+ case GO_ORGRIMS_HAMMER_STAIRS:
+ if (_teamInInstance == ALLIANCE)
+ return 0;
+ break;
+ default:
+ break;
}
+
+ return entry;
}
- }
- void OnGameObjectCreate(GameObject* go) OVERRIDE
- {
- switch (go->GetEntry())
+ void OnGameObjectCreate(GameObject* go) override
{
- case GO_FROSTMOURNE:
- _frostmourneGUID = go->GetGUID();
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- HandleGameObject(0, false, go);
- if (GetData(DATA_INTRO_EVENT) == DONE)
- go->SetPhaseMask(2, true);
- break;
- case GO_ENTRANCE_DOOR:
- _entranceDoorGUID = go->GetGUID();
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- HandleGameObject(0, true, go);
- break;
- case GO_FROSTWORN_DOOR:
- _frostwornDoorGUID = go->GetGUID();
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- if (GetBossState(DATA_MARWYN_EVENT) == DONE)
- HandleGameObject(0, true, go);
- else
- HandleGameObject(0, false, go);
- break;
- case GO_ARTHAS_DOOR:
- _arthasDoorGUID = go->GetGUID();
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- if (GetData(DATA_FROSWORN_EVENT) == DONE)
- HandleGameObject(0, true, go);
- else
+ switch (go->GetEntry())
+ {
+ case GO_FROSTMOURNE:
+ FrostmourneGUID = go->GetGUID();
+ if (GetData(DATA_INTRO_EVENT) == DONE)
+ go->SetPhaseMask(2, true);
+ break;
+ case GO_ENTRANCE_DOOR:
+ EntranceDoorGUID = go->GetGUID();
+ break;
+ case GO_IMPENETRABLE_DOOR:
+ ImpenetrableDoorGUID = go->GetGUID();
+ HandleGameObject(0, GetBossState(DATA_MARWYN) == DONE, go);
+ break;
+ case GO_SHADOW_THRONE_DOOR:
+ ShadowThroneDoorGUID = go->GetGUID();
+ HandleGameObject(0, GetData(DATA_FROSTSWORN_GENERAL) == DONE, go);
+ break;
+ case GO_CAVE_IN:
+ CaveInGUID = go->GetGUID();
+ break;
+ case GO_THE_SKYBREAKER:
+ case GO_ORGRIMS_HAMMER:
+ GunshipGUID = go->GetGUID();
+ break;
+ case GO_THE_SKYBREAKER_STAIRS:
+ case GO_ORGRIMS_HAMMER_STAIRS:
+ if (GetBossState(DATA_THE_LICH_KING_ESCAPE) == DONE)
+ go->SetRespawnTime(DAY);
+ GunshipStairGUIDs.insert(go->GetGUID());
+ break;
+ case GO_THE_CAPTAIN_CHEST_ALLIANCE_NORMAL:
+ case GO_THE_CAPTAIN_CHEST_HORDE_NORMAL:
+ case GO_THE_CAPTAIN_CHEST_ALLIANCE_HEROIC:
+ case GO_THE_CAPTAIN_CHEST_HORDE_HEROIC:
+ CaptainsChestGUID = go->GetGUID();
+ break;
+ case GO_ICE_WALL:
HandleGameObject(0, false, go);
- break;
- case GO_CAVE:
- _caveGUID = go->GetGUID();
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
- break;
+ IcewallGUID = go->GetGUID();
+ break;
+ default:
+ break;
+ }
}
- }
- void FillInitialWorldStates(WorldPacket& data) OVERRIDE
- {
- data << uint32(WORLD_STATE_HOR_WAVES_ENABLED) << uint32(0);
- data << uint32(WORLD_STATE_HOR_WAVE_COUNT) << uint32(0);
- }
-
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
- {
- if (!InstanceScript::SetBossState(type, state))
- return false;
-
- switch (type)
+ void OnGameObjectRemove(GameObject* go) override
{
- case DATA_FALRIC_EVENT:
- if (state == DONE)
- {
- ++_waveCount;
- events.ScheduleEvent(EVENT_NEXT_WAVE, 60000);
- }
- break;
- case DATA_MARWYN_EVENT:
- if (state == DONE)
- {
- HandleGameObject(_entranceDoorGUID, true);
- HandleGameObject(_frostwornDoorGUID, true);
- DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 0);
- if (Creature* general = instance->GetCreature(_frostwornGeneralGUID))
- general->SetPhaseMask(1, true);
- }
- break;
- case DATA_LICHKING_EVENT:
- default:
- break;
+ switch (go->GetEntry())
+ {
+ case GO_THE_SKYBREAKER_STAIRS:
+ case GO_ORGRIMS_HAMMER_STAIRS:
+ GunshipStairGUIDs.erase(go->GetGUID());
+ break;
+ default:
+ break;
+ }
}
- return true;
- }
+ void FillInitialWorldStates(WorldPacket& data) override
+ {
+ data << uint32(WORLD_STATE_HOR_WAVES_ENABLED) << uint32(_introState == DONE && GetBossState(DATA_MARWYN) != DONE);
+ data << uint32(WORLD_STATE_HOR_WAVE_COUNT) << uint32(_waveCount);
+ }
- void SetData(uint32 type, uint32 data) OVERRIDE
- {
- switch (type)
+ bool SetBossState(uint32 type, EncounterState state) override
{
- case DATA_INTRO_EVENT:
- if (data == IN_PROGRESS)
- {
- if (!_introEvent)
+ if (!InstanceScript::SetBossState(type, state))
+ return false;
+
+ switch (type)
+ {
+ case DATA_FALRIC:
+ if (state == DONE)
{
- if (_teamInInstance == ALLIANCE)
- instance->SummonCreature(NPC_JAINA_PART1, JainaSpawnPos);
- else
- instance->SummonCreature(NPC_SYLVANAS_PART1, SylvanasSpawnPos);
+ ++_waveCount;
+ events.ScheduleEvent(EVENT_NEXT_WAVE, 60000);
}
- }
- _introEvent = data;
- break;
- case DATA_WAVE_COUNT:
- if (_waveCount && data == NOT_STARTED)
- ProcessEvent(NULL, EVENT_DO_WIPE);
- break;
- case DATA_FROSWORN_EVENT:
- if (data == DONE)
- {
- HandleGameObject(_arthasDoorGUID, true);
- if (_teamInInstance == ALLIANCE)
- instance->SummonCreature(NPC_JAINA_PART2, JainaSpawnPos2);
- else
- instance->SummonCreature(NPC_SYLVANAS_PART2, SylvanasSpawnPos2);
- }
- _frostwornGeneral = data;
- break;
- case DATA_ESCAPE_EVENT:
- if (data == IN_PROGRESS)
- {
- if (!_escapeevent)
- if (Creature* jaina_or_sylvanas = instance->GetCreature(_jainaOrSylvanasPart2GUID))
- jaina_or_sylvanas->AI()->DoAction(ACTION_START_ESCAPING);
- }
- else if (data == NOT_STARTED)
- {
- if (Creature* jaina_or_sylvanas = instance->GetCreature(_jainaOrSylvanasPart2GUID))
- jaina_or_sylvanas->DespawnOrUnsummon(1);
- if (_teamInInstance == ALLIANCE)
- instance->SummonCreature(NPC_JAINA_PART2, JainaSpawnPos2);
- else
- instance->SummonCreature(NPC_SYLVANAS_PART2, SylvanasSpawnPos2);
- SetData(DATA_ESCAPE_EVENT,IN_PROGRESS);
- }
- _escapeevent = data;
- break;
- case DATA_SUMMONS:
- if (data == 0)
- {
- _mobsaticewall--;
- if (_mobsaticewall == 0)
+ break;
+ case DATA_MARWYN:
+ if (state == DONE)
{
- if (Creature* jaina_or_sylvanas = instance->GetCreature(_jainaOrSylvanasPart2GUID))
- jaina_or_sylvanas->AI()->DoAction(ACTION_WALL_BROKEN);
+ if (Creature* bunny = instance->GetCreature(FrostmourneAltarBunnyGUID))
+ bunny->CastSpell(bunny, SPELL_START_HALLS_OF_REFLECTION_QUEST_AE, true);
+
+ if (Creature* korelnOrLoralen = instance->GetCreature(KorelnOrLoralenGUID))
+ korelnOrLoralen->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
+
+ HandleGameObject(EntranceDoorGUID, true);
+ HandleGameObject(ImpenetrableDoorGUID, true);
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 0);
+ if (Creature* general = instance->GetCreature(FrostswornGeneralGUID))
+ general->SetPhaseMask(1, true);
+
+ SpawnGunship();
+ SpawnEscapeEvent();
}
- }
- else if (data == 1)
- _mobsaticewall++;
- break;
+ break;
+ case DATA_THE_LICH_KING_ESCAPE:
+ switch (state)
+ {
+ case NOT_STARTED:
+ break;
+ case IN_PROGRESS:
+ if (Creature* jainaOrSylvanas = instance->GetCreature(JainaOrSylvanasEscapeGUID))
+ jainaOrSylvanas->AI()->DoAction(ACTION_START_PREFIGHT);
+ break;
+ case DONE:
+ if (GameObject* chest = instance->GetGameObject(CaptainsChestGUID))
+ chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
+
+ DoUseDoorOrButton(CaveInGUID, 15);
+
+ if (Creature* lichking = instance->GetCreature(TheLichKingEscapeGUID))
+ {
+ lichking->CastSpell((Unit*)NULL, SPELL_ACHIEV_CHECK, true);
+ lichking->DespawnOrUnsummon(1);
+ }
+ break;
+ case FAIL:
+ DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_NOT_RETREATING_EVENT);
+
+ if (Creature* jainaOrSylvanas = instance->GetCreature(JainaOrSylvanasEscapeGUID))
+ jainaOrSylvanas->DespawnOrUnsummon(10000);
+
+ if (Creature* icewallTarget = instance->GetCreature(IcewallTargetGUID))
+ icewallTarget->DespawnOrUnsummon();
+
+ if (GameObject* icewall = instance->GetGameObject(IcewallGUID))
+ icewall->Delete();
+
+ events.ScheduleEvent(EVENT_SPAWN_ESCAPE_EVENT, 30000);
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return true;
}
- SaveToDB();
- }
+ void SpawnGunship()
+ {
+ // don't spawn gunship twice
+ if (GunshipGUID)
+ return;
+ if (!_teamInInstance)
+ {
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ _teamInInstance = player->GetTeam();
+ }
- // wave scheduling,checked when wave npcs die
- void OnUnitDeath(Unit* unit) OVERRIDE
- {
- Creature* creature = unit->ToCreature();
- if (!creature)
- return;
+ if (Transport* gunship = sTransportMgr->CreateTransport(_teamInInstance == HORDE ? GO_ORGRIMS_HAMMER : GO_THE_SKYBREAKER, 0, instance))
+ gunship->EnableMovement(GetBossState(DATA_THE_LICH_KING_ESCAPE) == DONE);
+ }
- switch (creature->GetEntry())
+ void SpawnEscapeEvent()
{
- case NPC_WAVE_MERCENARY:
- case NPC_WAVE_FOOTMAN:
- case NPC_WAVE_RIFLEMAN:
- case NPC_WAVE_PRIEST:
- case NPC_WAVE_MAGE:
+ if (!_teamInInstance)
{
- uint32 deadNpcs = 0;
- uint32 waveId = creature->AI()->GetData(0);
- for (std::set<uint64>::const_iterator itr = waveGuidList[waveId].begin(); itr != waveGuidList[waveId].end(); ++itr)
- {
- Creature* npc = instance->GetCreature(*itr);
- if (!npc || !npc->IsAlive())
- ++deadNpcs;
- }
- // because the current npc returns IsAlive when OnUnitDeath happens
- // we check if the number of dead npcs is equal to the list-1
- if (deadNpcs == waveGuidList[waveId].size() - 1)
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ _teamInInstance = player->GetTeam();
+ }
+
+ if (_teamInInstance == ALLIANCE)
+ {
+ instance->SummonCreature(NPC_JAINA_ESCAPE, JainaSpawnPos2);
+ instance->SummonCreature(NPC_THE_LICH_KING_ESCAPE, TheLichKingEscapePosition[1]);
+ }
+ else
+ {
+ instance->SummonCreature(NPC_SYLVANAS_ESCAPE, SylvanasSpawnPos2);
+ instance->SummonCreature(NPC_THE_LICH_KING_ESCAPE, TheLichKingEscapePosition[0]);
+ }
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ switch (type)
+ {
+ case DATA_INTRO_EVENT:
+ if (data == IN_PROGRESS)
+ {
+ if (_introState == NOT_STARTED)
+ {
+ if (_teamInInstance == ALLIANCE)
+ {
+ instance->SummonCreature(NPC_JAINA_INTRO, JainaSpawnPos);
+ instance->SummonCreature(NPC_KORELN, KorelnOrLoralenSpawnPos);
+ }
+ else
+ {
+ instance->SummonCreature(NPC_SYLVANAS_INTRO, SylvanasSpawnPos);
+ instance->SummonCreature(NPC_LORALEN, KorelnOrLoralenSpawnPos);
+ }
+ }
+ }
+ _introState = data;
+ break;
+ case DATA_WAVE_COUNT:
+ if (_waveCount && data == NOT_STARTED)
+ ProcessEvent(NULL, EVENT_DO_WIPE);
+ break;
+ case DATA_FROSTSWORN_GENERAL:
+ if (data == DONE)
+ HandleGameObject(ShadowThroneDoorGUID, true);
+ _frostswornGeneralState = data;
+ break;
+ default:
+ break;
+ }
+
+ SaveToDB();
+ }
+
+ // wave scheduling, checked when wave npcs die
+ void OnUnitDeath(Unit* unit) override
+ {
+ Creature* creature = unit->ToCreature();
+ if (!creature)
+ return;
+
+ switch (creature->GetEntry())
+ {
+ case NPC_WAVE_MERCENARY:
+ case NPC_WAVE_FOOTMAN:
+ case NPC_WAVE_RIFLEMAN:
+ case NPC_WAVE_PRIEST:
+ case NPC_WAVE_MAGE:
{
+ uint32 waveId = creature->AI()->GetData(0);
+ for (uint64 guid : waveGuidList[waveId])
+ {
+ if (Creature* npc = instance->GetCreature(guid))
+ if (npc->IsAlive())
+ return;
+ }
+
++_waveCount;
events.ScheduleEvent(EVENT_NEXT_WAVE, 3000);
+ break;
}
- break;
}
}
- }
- void Update(uint32 diff) OVERRIDE
- {
- if (!instance->HavePlayers())
- return;
+ void Update(uint32 diff) override
+ {
+ if (!instance->HavePlayers())
+ return;
- events.Update(diff);
+ events.Update(diff);
- switch (events.ExecuteEvent())
- {
- case EVENT_NEXT_WAVE:
- ProcessEvent(NULL, EVENT_ADD_WAVE);
- break;
+ switch (events.ExecuteEvent())
+ {
+ case EVENT_NEXT_WAVE:
+ ProcessEvent(NULL, EVENT_ADD_WAVE);
+ break;
+ case EVENT_SPAWN_ESCAPE_EVENT:
+ SpawnEscapeEvent();
+ break;
+ }
}
- }
- void ProcessEvent(WorldObject* /*go*/, uint32 eventId) OVERRIDE
- {
- switch (eventId)
+ void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
- // spawning all wave npcs at once
- case EVENT_SPAWN_WAVES:
- _waveCount = 1;
- DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
- DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
- {
- std::list<uint32> possibilityList, tempList;
- uint32 posIndex = 0;
+ switch (eventId)
+ {
+ // spawning all wave npcs at once
+ case EVENT_SPAWN_WAVES:
+ _waveCount = 1;
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
+ {
+ std::list<uint32> possibilityList, tempList;
+ uint32 posIndex = 0;
- possibilityList.push_back(NPC_WAVE_MERCENARY);
- possibilityList.push_back(NPC_WAVE_FOOTMAN);
- possibilityList.push_back(NPC_WAVE_RIFLEMAN);
- possibilityList.push_back(NPC_WAVE_PRIEST);
- possibilityList.push_back(NPC_WAVE_MAGE);
+ possibilityList.push_back(NPC_WAVE_MERCENARY);
+ possibilityList.push_back(NPC_WAVE_FOOTMAN);
+ possibilityList.push_back(NPC_WAVE_RIFLEMAN);
+ possibilityList.push_back(NPC_WAVE_PRIEST);
+ possibilityList.push_back(NPC_WAVE_MAGE);
- // iterate each wave
- for (uint8 i = 0; i < 8; ++i)
- {
- tempList = possibilityList;
+ // iterate each wave
+ for (uint8 i = 0; i < 8; ++i)
+ {
+ tempList = possibilityList;
- uint64 bossGuid = i <= 3 ? _falricGUID : _marwynGUID;
+ uint64 bossGuid = i <= 3 ? FalricGUID : MarwynGUID;
- if (!i)
- Trinity::Containers::RandomResizeList(tempList, 3);
- else if (i < 6 && i != 3)
- Trinity::Containers::RandomResizeList(tempList, 4);
+ if (!i)
+ Trinity::Containers::RandomResizeList(tempList, 3);
+ else if (i < 6 && i != 3)
+ Trinity::Containers::RandomResizeList(tempList, 4);
- for (std::list<uint32>::const_iterator itr = tempList.begin(); itr != tempList.end(); ++itr)
- {
- if (Creature* boss = instance->GetCreature(bossGuid))
+ for (uint32 entry : tempList)
{
- if (Creature* temp = boss->SummonCreature(*itr, SpawnPos[posIndex], TEMPSUMMON_DEAD_DESPAWN))
+ if (Creature* boss = instance->GetCreature(bossGuid))
{
- temp->AI()->SetData(0, i);
- waveGuidList[i].insert(temp->GetGUID());
+ if (Creature* temp = boss->SummonCreature(entry, SpawnPos[posIndex], TEMPSUMMON_DEAD_DESPAWN))
+ {
+ temp->AI()->SetData(0, i);
+ waveGuidList[i].insert(temp->GetGUID());
+ }
}
- }
- ++posIndex;
+ ++posIndex;
+ }
}
}
- }
- events.ScheduleEvent(EVENT_NEXT_WAVE, 5000);
- break;
- case EVENT_ADD_WAVE:
- DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
- DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
- HandleGameObject(_entranceDoorGUID, false);
-
- if (_waveCount % 5)
- {
- uint32 internalWaveId = _waveCount - ((_waveCount < 5) ? 1 : 2);
- for (std::set<uint64>::const_iterator itr = waveGuidList[internalWaveId].begin(); itr != waveGuidList[internalWaveId].end(); ++itr)
+ events.ScheduleEvent(EVENT_NEXT_WAVE, 5000);
+ break;
+ case EVENT_ADD_WAVE:
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
+ HandleGameObject(EntranceDoorGUID, false);
+
+ if (_waveCount % 5)
{
- if (Creature* temp = instance->GetCreature(*itr))
+ uint32 internalWaveId = _waveCount - ((_waveCount < 5) ? 1 : 2);
+ for (uint64 guid : waveGuidList[internalWaveId])
{
- temp->CastSpell(temp, SPELL_SPIRIT_ACTIVATE, true);
- temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC|UNIT_FLAG_NOT_SELECTABLE);
- temp->AI()->DoZoneInCombat(temp, 100.00f);
+ if (Creature* temp = instance->GetCreature(guid))
+ {
+ temp->CastSpell(temp, SPELL_SPIRIT_ACTIVATE, false);
+ temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE);
+ temp->AI()->DoZoneInCombat(temp, 100.00f);
+ }
}
}
- }
- else
- {
- uint32 bossIndex = (_waveCount / 5) - 1;
- if (GetBossState(DATA_FALRIC_EVENT + bossIndex) != DONE)
+ else
+ {
+ uint32 bossIndex = (_waveCount / 5) - 1;
+ if (GetBossState(DATA_FALRIC + bossIndex) != DONE)
+ {
+ if (Creature* boss = instance->GetCreature(bossIndex ? MarwynGUID : FalricGUID))
+ boss->AI()->DoAction(ACTION_ENTER_COMBAT);
+ }
+ else if (_waveCount != 10)
+ {
+ ++_waveCount;
+ events.ScheduleEvent(EVENT_NEXT_WAVE, 5000);
+ }
+ }
+ break;
+ case EVENT_DO_WIPE:
+ _waveCount = 0;
+ events.Reset();
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
+ DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
+ HandleGameObject(EntranceDoorGUID, true);
+
+ if (Creature* falric = instance->GetCreature(FalricGUID))
+ falric->SetVisible(false);
+ if (Creature* marwyn = instance->GetCreature(MarwynGUID))
+ marwyn->SetVisible(false);
+ // despawn wave npcs
+ for (uint8 i = 0; i < 8; ++i)
{
- if (Creature* boss = instance->GetCreature(bossIndex ? _marwynGUID : _falricGUID))
- boss->AI()->DoAction(ACTION_ENTER_COMBAT);
+ for (uint64 guid : waveGuidList[i])
+ if (Creature* creature = instance->GetCreature(guid))
+ creature->DespawnOrUnsummon(1);
+ waveGuidList[i].clear();
}
- else if (_waveCount != 10)
+ break;
+ // Gunship Outro
+ case EVENT_GUNSHIP_ARRIVAL:
+ if (GetBossState(DATA_THE_LICH_KING_ESCAPE) == DONE)
+ break;
+
+ if (Transport* gunship = instance->GetTransport(GunshipGUID))
+ gunship->EnableMovement(false);
+
+ if (Creature* jainaOrSylvanas = instance->GetCreature(JainaOrSylvanasEscapeGUID))
+ jainaOrSylvanas->AI()->DoAction(ACTION_GUNSHIP_ARRIVAL);
+
+ if (Creature* captain = instance->GetCreature(CaptainGUID))
+ captain->AI()->Talk(SAY_CAPTAIN_FIRE);
+
+ for (uint64 guid : GunshipCannonGUIDs)
{
- ++_waveCount;
- events.ScheduleEvent(EVENT_NEXT_WAVE, 5000);
+ uint32 entry = GUID_ENPART(guid);
+ if ((entry == NPC_WORLD_TRIGGER && _teamInInstance == ALLIANCE) || (entry == NPC_GUNSHIP_CANNON_HORDE && _teamInInstance == HORDE))
+ if (Creature* cannon = instance->GetCreature(guid))
+ cannon->CastSpell(cannon, SPELL_GUNSHIP_CANNON_FIRE, true);
}
- }
- break;
- case EVENT_DO_WIPE:
- _waveCount = 0;
- events.Reset();
- DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 1);
- DoUpdateWorldState(WORLD_STATE_HOR_WAVE_COUNT, _waveCount);
- HandleGameObject(_entranceDoorGUID, true);
-
- if (Creature* falric = instance->GetCreature(_falricGUID))
- falric->SetVisible(false);
- if (Creature* marwyn = instance->GetCreature(_marwynGUID))
- marwyn->SetVisible(false);
- //despawn wave npcs
- for (uint8 i = 0; i < 8; ++i)
- {
- for (std::set<uint64>::const_iterator itr = waveGuidList[i].begin(); itr != waveGuidList[i].end(); ++itr)
- if (Creature* creature = instance->GetCreature(*itr))
- creature->DespawnOrUnsummon(1);
- waveGuidList[i].clear();
- }
- break;
+ break;
+ case EVENT_GUNSHIP_ARRIVAL_2:
+ if (Transport* gunship = instance->GetTransport(GunshipGUID))
+ gunship->EnableMovement(false);
+
+ for (uint64 guid : GunshipStairGUIDs)
+ if (GameObject* stairs = instance->GetGameObject(guid))
+ stairs->SetRespawnTime(DAY);
+
+ if (Creature* jainaOrSylvanas = instance->GetCreature(JainaOrSylvanasEscapeGUID))
+ jainaOrSylvanas->AI()->DoAction(ACTION_GUNSHIP_ARRIVAL_2);
+
+ if (Creature* captain = instance->GetCreature(CaptainGUID))
+ captain->AI()->Talk(SAY_CAPTAIN_FINAL);
+
+ break;
+ default:
+ break;
+ }
}
- }
- uint32 GetData(uint32 type) const OVERRIDE
- {
- switch (type)
+ uint32 GetData(uint32 type) const override
{
- case DATA_WAVE_COUNT:
- return _waveCount;
- case DATA_TEAM_IN_INSTANCE:
- return _teamInInstance;
- case DATA_INTRO_EVENT:
- return _introEvent;
- case DATA_FROSWORN_EVENT:
- return _frostwornGeneral;
- case DATA_ESCAPE_EVENT:
- return _escapeevent;
- case DATA_SUMMONS:
- return _mobsaticewall;
- default:
- break;
- }
+ switch (type)
+ {
+ case DATA_WAVE_COUNT:
+ return _waveCount;
+ case DATA_TEAM_IN_INSTANCE:
+ return _teamInInstance;
+ case DATA_INTRO_EVENT:
+ return _introState;
+ case DATA_FROSTSWORN_GENERAL:
+ return _frostswornGeneralState;
+ default:
+ break;
+ }
- return 0;
- }
+ return 0;
+ }
- uint64 GetData64(uint32 type) const OVERRIDE
- {
- switch (type)
+ uint64 GetData64(uint32 type) const override
{
- case DATA_FALRIC_EVENT:
- return _falricGUID;
- case DATA_MARWYN_EVENT:
- return _marwynGUID;
- case DATA_FROSWORN_EVENT:
- return _frostwornGeneralGUID;
- case DATA_FROSTWORN_DOOR:
- return _frostwornDoorGUID;
- case DATA_FROSTMOURNE:
- return _frostmourneGUID;
- case DATA_ESCAPE_LEADER:
- return _jainaOrSylvanasPart2GUID;
- case DATA_CAVE_IN:
- return _caveGUID;
- default:
- break;
- }
+ switch (type)
+ {
+ case DATA_FALRIC:
+ return FalricGUID;
+ case DATA_MARWYN:
+ return MarwynGUID;
+ case DATA_FROSTSWORN_GENERAL:
+ return FrostswornGeneralGUID;
+ case DATA_IMPENETRABLE_DOOR:
+ return ImpenetrableDoorGUID;
+ case DATA_FROSTMOURNE:
+ return FrostmourneGUID;
+ case DATA_ESCAPE_LEADER:
+ return JainaOrSylvanasEscapeGUID;
+ case DATA_KORELN_LORALEN:
+ return KorelnOrLoralenGUID;
+ case DATA_THE_LICH_KING_ESCAPE:
+ return TheLichKingEscapeGUID;
+ case DATA_GUNSHIP:
+ return GunshipGUID;
+ case DATA_ICEWALL:
+ return IcewallGUID;
+ case DATA_ICEWALL_TARGET:
+ return IcewallTargetGUID;
+ default:
+ break;
+ }
- return 0;
- }
+ return 0;
+ }
- std::string GetSaveData() OVERRIDE
- {
- OUT_SAVE_INST_DATA;
+ std::string GetSaveData() override
+ {
+ OUT_SAVE_INST_DATA;
- std::ostringstream saveStream;
- saveStream << "H R " << GetBossSaveData() << _introEvent << ' ' << _frostwornGeneral << ' ' << _escapeevent;
+ std::ostringstream saveStream;
+ saveStream << "H R " << GetBossSaveData() << _introState << ' ' << _frostswornGeneralState;
- OUT_SAVE_INST_DATA_COMPLETE;
- return saveStream.str();
- }
+ OUT_SAVE_INST_DATA_COMPLETE;
+ return saveStream.str();
+ }
- void Load(char const* in) OVERRIDE
- {
- if (!in)
+ void Load(char const* in) override
{
- OUT_LOAD_INST_DATA_FAIL;
- return;
- }
+ if (!in)
+ {
+ OUT_LOAD_INST_DATA_FAIL;
+ return;
+ }
- OUT_LOAD_INST_DATA(in);
+ OUT_LOAD_INST_DATA(in);
- char dataHead1, dataHead2;
+ char dataHead1, dataHead2;
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2;
+ std::istringstream loadStream(in);
+ loadStream >> dataHead1 >> dataHead2;
- if (dataHead1 == 'H' && dataHead2 == 'R')
- {
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
+ if (dataHead1 == 'H' && dataHead2 == 'R')
{
- uint32 tmpState;
- loadStream >> tmpState;
- if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
- tmpState = NOT_STARTED;
+ for (uint8 i = 0; i < EncounterCount; ++i)
+ {
+ uint32 tmpState;
+ loadStream >> tmpState;
+ if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
+ tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
- }
+ SetBossState(i, EncounterState(tmpState));
+ }
- uint32 temp = 0;
- loadStream >> temp;
- if (temp == DONE)
- SetData(DATA_INTRO_EVENT, DONE);
- else
- SetData(DATA_INTRO_EVENT, NOT_STARTED);
+ uint32 temp = 0;
+ loadStream >> temp;
+ if (temp == DONE)
+ SetData(DATA_INTRO_EVENT, DONE);
+ else
+ SetData(DATA_INTRO_EVENT, NOT_STARTED);
- loadStream >> temp;
- if (temp == DONE)
- SetData(DATA_FROSWORN_EVENT, DONE);
+ loadStream >> temp;
+ if (temp == DONE)
+ SetData(DATA_FROSTSWORN_GENERAL, DONE);
+ else
+ SetData(DATA_FROSTSWORN_GENERAL, NOT_STARTED);
+ }
else
- SetData(DATA_FROSWORN_EVENT, NOT_STARTED);
+ OUT_LOAD_INST_DATA_FAIL;
- loadStream >> temp;
- if (temp == DONE)
- SetData(DATA_ESCAPE_EVENT, DONE);
- else
- SetData(DATA_ESCAPE_EVENT, NOT_STARTED);
+ OUT_LOAD_INST_DATA_COMPLETE;
}
- else
- OUT_LOAD_INST_DATA_FAIL;
- OUT_LOAD_INST_DATA_COMPLETE;
+ private:
+ uint64 JainaOrSylvanasIntroGUID; // unused
+ uint64 KorelnOrLoralenGUID;
+ uint64 TheLichkingIntroGUID; // unused
+ uint64 FalricGUID;
+ uint64 MarwynGUID;
+ uint64 FrostmourneAltarBunnyGUID;
+ uint64 FrostswornGeneralGUID;
+ uint64 JainaOrSylvanasEscapeGUID;
+ uint64 TheLichKingEscapeGUID;
+
+ uint64 FrostmourneGUID;
+ uint64 EntranceDoorGUID;
+ uint64 ImpenetrableDoorGUID;
+ uint64 ShadowThroneDoorGUID;
+ uint64 CaveInGUID;
+
+ uint32 _teamInInstance;
+ uint32 _waveCount;
+ uint32 _introState;
+ uint32 _frostswornGeneralState;
+
+ EventMap events;
+ std::set<uint64> waveGuidList[8];
+
+ uint64 GunshipGUID;
+ uint64 CaptainsChestGUID;
+ uint64 CaptainGUID;
+ uint64 IcewallGUID;
+ uint64 IcewallTargetGUID;
+
+ std::set<uint64> GunshipCannonGUIDs;
+ std::set<uint64> GunshipStairGUIDs;
+ };
+
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
+ {
+ return new instance_halls_of_reflection_InstanceMapScript(map);
}
-
- private:
- uint64 _falricGUID;
- uint64 _marwynGUID;
- uint64 _jainaOrSylvanasPart1GUID;
- uint64 _jainaOrSylvanasPart2GUID;
- uint64 _lichkingPart1GUID;
- uint64 _frostwornGeneralGUID;
-
- uint64 _frostmourneGUID;
- uint64 _entranceDoorGUID;
- uint64 _frostwornDoorGUID;
- uint64 _arthasDoorGUID;
- uint64 _escapeDoorGUID;
- uint64 _caveGUID;
-
- uint32 _teamInInstance;
- uint32 _waveCount;
- uint32 _introEvent;
- uint32 _frostwornGeneral;
- uint32 _escapeevent;
- uint32 _mobsaticewall;
-
- EventMap events;
-
- std::set<uint64> waveGuidList[8];
- };
-
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
- {
- return new instance_halls_of_reflection_InstanceMapScript(map);
- }
};
void AddSC_instance_halls_of_reflection()
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 fe2b818b325..9cbd296d69e 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -84,7 +84,7 @@ class boss_garfrost : public CreatureScript
{
boss_garfrostAI(Creature* creature) : BossAI(creature, DATA_GARFROST) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.SetPhase(PHASE_ONE);
@@ -92,7 +92,7 @@ class boss_garfrost : public CreatureScript
_permafrostStack = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -101,13 +101,13 @@ class boss_garfrost : public CreatureScript
events.ScheduleEvent(EVENT_THROW_SARONITE, 7000);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -117,7 +117,7 @@ class boss_garfrost : public CreatureScript
tyrannus->AI()->Talk(SAY_TYRANNUS_DEATH);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (events.IsInPhase(PHASE_ONE) && !HealthAbovePct(66))
{
@@ -140,7 +140,7 @@ class boss_garfrost : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != EFFECT_MOTION_TYPE || id != POINT_FORGE)
return;
@@ -159,7 +159,7 @@ class boss_garfrost : public CreatureScript
events.ScheduleEvent(EVENT_RESUME_ATTACK, 5000);
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
if (spell->Id == SPELL_PERMAFROST_HELPER)
{
@@ -168,12 +168,12 @@ class boss_garfrost : public CreatureScript
}
}
- uint32 GetData(uint32 /*type*/) const OVERRIDE
+ uint32 GetData(uint32 /*type*/) const override
{
return _permafrostStack;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -233,7 +233,7 @@ class boss_garfrost : public CreatureScript
uint32 _permafrostStack;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetPitOfSaronAI<boss_garfrostAI>(creature);
}
@@ -248,7 +248,7 @@ class spell_garfrost_permafrost : public SpellScriptLoader
{
PrepareSpellScript(spell_garfrost_permafrost_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
prevented = false;
return true;
@@ -294,7 +294,7 @@ class spell_garfrost_permafrost : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeHit += SpellHitFn(spell_garfrost_permafrost_SpellScript::PreventHitByLoS);
AfterHit += SpellHitFn(spell_garfrost_permafrost_SpellScript::RestoreImmunity);
@@ -303,7 +303,7 @@ class spell_garfrost_permafrost : public SpellScriptLoader
bool prevented;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_garfrost_permafrost_SpellScript();
}
@@ -314,7 +314,7 @@ class achievement_doesnt_go_to_eleven : public AchievementCriteriaScript
public:
achievement_doesnt_go_to_eleven() : AchievementCriteriaScript("achievement_doesnt_go_to_eleven") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target)
if (Creature* garfrost = target->ToCreature())
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 7720d4a4ca0..26ab1f61ae8 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -142,7 +142,7 @@ class boss_ick : public CreatureScript
ASSERT(_vehicle);
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
instance->SetBossState(DATA_ICK, NOT_STARTED);
@@ -153,7 +153,7 @@ class boss_ick : public CreatureScript
return ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KRICK));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -166,13 +166,13 @@ class boss_ick : public CreatureScript
events.ScheduleEvent(EVENT_SPECIAL, urand(30000, 35000));
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->GetMotionMaster()->Clear();
ScriptedAI::EnterEvadeMode();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* krick = GetKrick())
{
@@ -195,7 +195,7 @@ class boss_ick : public CreatureScript
me->AddThreat(target, _tempThreat);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
return;
@@ -271,7 +271,7 @@ class boss_ick : public CreatureScript
float _tempThreat;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetPitOfSaronAI<boss_ickAI>(creature);
}
@@ -288,7 +288,7 @@ class boss_krick : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_phase = PHASE_COMBAT;
@@ -304,7 +304,7 @@ class boss_krick : public CreatureScript
return ObjectAccessor::GetCreature(*me, _instanceScript->GetData64(DATA_ICK));
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -312,7 +312,7 @@ class boss_krick : public CreatureScript
Talk(SAY_KRICK_SLAY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
_summons.Summon(summon);
if (summon->GetEntry() == NPC_EXPLODING_ORB)
@@ -322,7 +322,7 @@ class boss_krick : public CreatureScript
}
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
if (actionId == ACTION_OUTRO)
{
@@ -338,7 +338,7 @@ class boss_krick : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE || id != POINT_KRICK_INTRO)
return;
@@ -349,7 +349,7 @@ class boss_krick : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_1, 1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_phase != PHASE_OUTRO)
return;
@@ -491,7 +491,7 @@ class boss_krick : public CreatureScript
uint64 _tyrannusGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetPitOfSaronAI<boss_krickAI>(creature);
}
@@ -520,13 +520,13 @@ class spell_krick_explosive_barrage : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_krick_explosive_barrage_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_krick_explosive_barrage_AuraScript();
}
@@ -558,14 +558,14 @@ class spell_ick_explosive_barrage : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_ick_explosive_barrage_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_ick_explosive_barrage_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ick_explosive_barrage_AuraScript();
}
@@ -594,13 +594,13 @@ class spell_exploding_orb_hasty_grow : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_exploding_orb_hasty_grow_AuraScript::OnStackChange, EFFECT_0, SPELL_AURA_MOD_SCALE, AURA_EFFECT_HANDLE_REAPPLY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_exploding_orb_hasty_grow_AuraScript();
}
@@ -631,7 +631,7 @@ class spell_krick_pursuit : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_krick_pursuit_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
@@ -648,18 +648,18 @@ class spell_krick_pursuit : public SpellScriptLoader
CAST_AI(boss_ick::boss_ickAI, creCaster->AI())->_ResetThreat(GetTarget());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_krick_pursuit_AuraScript::HandleExtraEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_krick_pursuit_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_krick_pursuit_AuraScript();
}
@@ -686,14 +686,14 @@ class spell_krick_pursuit_confusion : public SpellScriptLoader
GetTarget()->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_krick_pursuit_confusion_AuraScript::OnApply, EFFECT_2, SPELL_AURA_LINKED, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_krick_pursuit_confusion_AuraScript::OnRemove, EFFECT_2, SPELL_AURA_LINKED, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_krick_pursuit_confusion_AuraScript();
}
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 833c3765145..a501bf4ea55 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -134,7 +134,7 @@ class boss_tyrannus : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (instance->GetBossState(DATA_TYRANNUS) != DONE)
Reset();
@@ -142,7 +142,7 @@ class boss_tyrannus : public CreatureScript
me->DespawnOrUnsummon();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.SetPhase(PHASE_NONE);
@@ -156,12 +156,12 @@ class boss_tyrannus : public CreatureScript
return ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RIMEFANG));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -170,7 +170,7 @@ class boss_tyrannus : public CreatureScript
me->GetMotionMaster()->MoveChase(victim);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->SetBossState(DATA_TYRANNUS, FAIL);
if (Creature* rimefang = GetRimefang())
@@ -179,13 +179,13 @@ class boss_tyrannus : public CreatureScript
me->DespawnOrUnsummon();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_TYRANNUS, DONE);
@@ -199,7 +199,7 @@ class boss_tyrannus : public CreatureScript
rimefang->AI()->DoAction(ACTION_END_COMBAT);
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
if (actionId == ACTION_START_INTRO)
{
@@ -213,7 +213,7 @@ class boss_tyrannus : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !events.IsInPhase(PHASE_INTRO))
return;
@@ -277,7 +277,7 @@ class boss_tyrannus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetPitOfSaronAI<boss_tyrannusAI>(creature);
}
@@ -295,7 +295,7 @@ class boss_rimefang : public CreatureScript
ASSERT(_vehicle);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.SetPhase(PHASE_NONE);
@@ -306,12 +306,12 @@ class boss_rimefang : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_vehicle->InstallAllAccessories(false);
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
if (actionId == ACTION_START_RIMEFANG)
{
@@ -324,7 +324,7 @@ class boss_rimefang : public CreatureScript
_EnterEvadeMode();
}
- void SetGUID(uint64 guid, int32 type) OVERRIDE
+ void SetGUID(uint64 guid, int32 type) override
{
if (type == GUID_HOARFROST)
{
@@ -333,7 +333,7 @@ class boss_rimefang : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !_events.IsInPhase(PHASE_COMBAT))
return;
@@ -376,7 +376,7 @@ class boss_rimefang : public CreatureScript
uint8 _currentWaypoint;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_rimefangAI(creature);
}
@@ -387,20 +387,20 @@ class player_overlord_brandAI : public PlayerAI
public:
player_overlord_brandAI(Player* player, uint64 casterGUID) : PlayerAI(player), _tyrannusGUID(casterGUID) { }
- void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) OVERRIDE
+ void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) override
{
if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID))
if (Unit* victim = tyrannus->GetVictim())
me->CastCustomSpell(SPELL_OVERLORD_BRAND_DAMAGE, SPELLVALUE_BASE_POINT0, damage, victim, true, NULL, NULL, tyrannus->GetGUID());
}
- void HealDone(Unit* /*target*/, uint32& addHealth) OVERRIDE
+ void HealDone(Unit* /*target*/, uint32& addHealth) override
{
if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID))
me->CastCustomSpell(SPELL_OVERLORD_BRAND_HEAL, SPELLVALUE_BASE_POINT0, int32(addHealth * 5.5f), tyrannus, true, NULL, NULL, tyrannus->GetGUID());
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
uint64 _tyrannusGUID;
@@ -415,7 +415,7 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
{
PrepareAuraScript(spell_tyrannus_overlord_brand_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetEntry() == NPC_TYRANNUS;
}
@@ -442,7 +442,7 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
delete thisAI;
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_tyrannus_overlord_brand_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_tyrannus_overlord_brand_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -452,7 +452,7 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
bool oldAIState;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_tyrannus_overlord_brand_AuraScript();
}
@@ -478,13 +478,13 @@ class spell_tyrannus_mark_of_rimefang : public SpellScriptLoader
rimefang->AI()->SetGUID(GetTarget()->GetGUID(), GUID_HOARFROST);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_tyrannus_mark_of_rimefang_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_tyrannus_mark_of_rimefang_AuraScript();
}
@@ -495,7 +495,7 @@ class at_tyrannus_event_starter : public AreaTriggerScript
public:
at_tyrannus_event_starter() : AreaTriggerScript("at_tyrannus_event_starter") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
InstanceScript* instance = player->GetInstanceScript();
if (player->IsGameMaster() || !instance)
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
index 364246e05f1..c2df16f03e1 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
@@ -53,13 +53,13 @@ class instance_pit_of_saron : public InstanceMapScript
_teamInInstance = 0;
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (!_teamInInstance)
_teamInInstance = player->GetTeam();
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (!_teamInInstance)
{
@@ -91,80 +91,80 @@ class instance_pit_of_saron : public InstanceMapScript
break;
case NPC_SYLVANAS_PART1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART1);
_jainaOrSylvanas1GUID = creature->GetGUID();
break;
case NPC_SYLVANAS_PART2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART2, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART2);
_jainaOrSylvanas2GUID = creature->GetGUID();
break;
case NPC_KILARA:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA, ALLIANCE);
+ creature->UpdateEntry(NPC_ELANDRA);
break;
case NPC_KORALEN:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORLAEN, ALLIANCE);
+ creature->UpdateEntry(NPC_KORLAEN);
break;
case NPC_CHAMPION_1_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_1_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_1_ALLIANCE);
break;
case NPC_CHAMPION_2_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE);
break;
case NPC_CHAMPION_3_HORDE: // No 3rd set for Alliance?
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE);
break;
case NPC_HORDE_SLAVE_1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_1, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_1);
break;
case NPC_HORDE_SLAVE_2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_2, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_2);
break;
case NPC_HORDE_SLAVE_3:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_3, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_3);
break;
case NPC_HORDE_SLAVE_4:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_4, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_4);
break;
case NPC_FREED_SLAVE_1_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_1_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_1_ALLIANCE);
break;
case NPC_FREED_SLAVE_2_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_2_ALLIANCE);
break;
case NPC_FREED_SLAVE_3_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_3_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_3_ALLIANCE);
break;
case NPC_RESCUED_SLAVE_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_RESCUED_SLAVE_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_RESCUED_SLAVE_ALLIANCE);
break;
case NPC_MARTIN_VICTUS_1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_1, ALLIANCE);
+ creature->UpdateEntry(NPC_MARTIN_VICTUS_1);
break;
case NPC_MARTIN_VICTUS_2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_2, ALLIANCE);
+ creature->UpdateEntry(NPC_MARTIN_VICTUS_2);
break;
default:
break;
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -175,7 +175,7 @@ class instance_pit_of_saron : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -186,7 +186,7 @@ class instance_pit_of_saron : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -224,7 +224,7 @@ class instance_pit_of_saron : public InstanceMapScript
return true;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -237,7 +237,7 @@ class instance_pit_of_saron : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -264,7 +264,7 @@ class instance_pit_of_saron : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -275,7 +275,7 @@ class instance_pit_of_saron : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -322,7 +322,7 @@ class instance_pit_of_saron : public InstanceMapScript
uint32 _teamInInstance;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_pit_of_saron_InstanceScript(map);
}
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 bce9e067ae1..7bd9325dd97 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -49,18 +49,18 @@ class npc_ymirjar_flamebearer : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_FIREBALL, 4000);
_events.ScheduleEvent(EVENT_TACTICAL_BLINK, 15000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -97,7 +97,7 @@ class npc_ymirjar_flamebearer : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ymirjar_flamebearerAI(creature);
}
@@ -115,17 +115,17 @@ class npc_iceborn_protodrake : public CreatureScript
ASSERT(_vehicle);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_frostBreathCooldown = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_vehicle->RemoveAllPassengers();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -146,7 +146,7 @@ class npc_iceborn_protodrake : public CreatureScript
uint32 _frostBreathCooldown;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_iceborn_protodrakeAI(creature);
}
@@ -163,12 +163,12 @@ class npc_geist_ambusher : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_leapingFaceMaulCooldown = 9000;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (who->GetTypeId() != TYPEID_PLAYER)
return;
@@ -178,7 +178,7 @@ class npc_geist_ambusher : public CreatureScript
DoCast(who, SPELL_LEAPING_FACE_MAUL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -199,7 +199,7 @@ class npc_geist_ambusher : public CreatureScript
uint32 _leapingFaceMaulCooldown;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_geist_ambusherAI(creature);
}
@@ -223,13 +223,13 @@ class spell_trash_npc_glacial_strike : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_trash_npc_glacial_strike_AuraScript::PeriodicTick, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE_PERCENT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_trash_npc_glacial_strike_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 46912eeb898..f0affa66d0f 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -86,13 +86,13 @@ class boss_drakkari_colossus : public CreatureScript
introDone = false;
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (!me->isDead())
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -113,7 +113,7 @@ class boss_drakkari_colossus : public CreatureScript
instance->SetData(DATA_DRAKKARI_COLOSSUS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -124,7 +124,7 @@ class boss_drakkari_colossus : public CreatureScript
instance->SetData(DATA_DRAKKARI_COLOSSUS_EVENT, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -133,14 +133,14 @@ class boss_drakkari_colossus : public CreatureScript
instance->SetData(DATA_DRAKKARI_COLOSSUS_EVENT, DONE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
// Note: This should not be called, but before use SetBossState function we should use BossAI
// in all the bosses of the instance
instance->SetData(DATA_DRAKKARI_COLOSSUS_EVENT, FAIL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -173,7 +173,7 @@ class boss_drakkari_colossus : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
damage = 0;
@@ -192,7 +192,7 @@ class boss_drakkari_colossus : public CreatureScript
}
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
if (data == DATA_COLOSSUS_PHASE)
return phase;
@@ -202,13 +202,13 @@ class boss_drakkari_colossus : public CreatureScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_INTRO_DONE)
introDone = data;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -233,7 +233,7 @@ class boss_drakkari_colossus : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->SetInCombatWithZone();
@@ -246,7 +246,7 @@ class boss_drakkari_colossus : public CreatureScript
bool introDone;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_drakkari_colossusAI>(creature);
}
@@ -265,7 +265,7 @@ class boss_drakkari_elemental : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_SURGE, urand(5000, 15000));
@@ -273,7 +273,7 @@ class boss_drakkari_elemental : public CreatureScript
me->AddAura(SPELL_MOJO_VOLLEY, me);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer == me)
return;
@@ -282,7 +282,7 @@ class boss_drakkari_elemental : public CreatureScript
killer->Kill(colossus);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -308,7 +308,7 @@ class boss_drakkari_elemental : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -321,7 +321,7 @@ class boss_drakkari_elemental : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (HealthBelowPct(50) && instance)
{
@@ -351,12 +351,12 @@ class boss_drakkari_elemental : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->DespawnOrUnsummon();
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_MERGE)
{
@@ -373,7 +373,7 @@ class boss_drakkari_elemental : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_drakkari_elementalAI>(creature);
}
@@ -384,7 +384,7 @@ class npc_living_mojo : public CreatureScript
public:
npc_living_mojo() : CreatureScript("npc_living_mojo") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_living_mojoAI>(creature);
}
@@ -396,7 +396,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
mojoWaveTimer = 2*IN_MILLISECONDS;
mojoPuddleTimer = 7*IN_MILLISECONDS;
@@ -416,7 +416,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -434,7 +434,7 @@ public:
}
}
- void AttackStart(Unit* attacker) OVERRIDE
+ void AttackStart(Unit* attacker) override
{
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
return;
@@ -442,11 +442,9 @@ public:
// we do this checks to see if the creature is one of the creatures that sorround the boss
if (Creature* colossus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DRAKKARI_COLOSSUS)))
{
- Position homePosition;
- me->GetHomePosition().GetPosition(&homePosition);
+ Position homePosition = me->GetHomePosition();
- Position colossusHomePosition;
- colossus->GetHomePosition().GetPosition(&colossusHomePosition);
+ Position colossusHomePosition = colossus->GetHomePosition();
float distance = homePosition.GetExactDist(colossusHomePosition.GetPositionX(), colossusHomePosition.GetPositionY(), colossusHomePosition.GetPositionZ());
@@ -460,7 +458,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//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 e8791c6e97e..8e0ff54e161 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
@@ -35,7 +35,7 @@ class boss_eck : public CreatureScript
public:
boss_eck() : CreatureScript("boss_eck") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_eckAI>(creature);
}
@@ -56,7 +56,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiBerserkTimer = urand(60*IN_MILLISECONDS, 90*IN_MILLISECONDS); //60-90 secs according to wowwiki
uiBiteTimer = 5*IN_MILLISECONDS;
@@ -68,12 +68,12 @@ public:
instance->SetData(DATA_ECK_THE_FEROCIOUS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_ECK_THE_FEROCIOUS_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -123,7 +123,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ECK_THE_FEROCIOUS_EVENT, DONE);
}
@@ -136,7 +136,7 @@ class npc_ruins_dweller : public CreatureScript
public:
npc_ruins_dweller() : CreatureScript("npc_ruins_dweller") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ruins_dwellerAI>(creature);
}
@@ -150,7 +150,7 @@ public:
InstanceScript* instance;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData64(DATA_RUIN_DWELLER_DIED, me->GetGUID());
if (instance->GetData(DATA_ALIVE_RUIN_DWELLERS) == 0)
diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
index 4cf9eea8734..f1c246dbbea 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
@@ -68,7 +68,7 @@ class boss_gal_darah : public CreatureScript
public:
boss_gal_darah() : CreatureScript("boss_gal_darah") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gal_darahAI>(creature);
}
@@ -98,7 +98,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiStampedeTimer = 10*IN_MILLISECONDS;
uiWhirlingSlashTimer = 21*IN_MILLISECONDS;
@@ -121,14 +121,14 @@ public:
instance->SetData(DATA_GAL_DARAH_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_GAL_DARAH_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -255,7 +255,7 @@ public:
impaledList.push_back(guid);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_SHARE_THE_LOVE)
return shareTheLove;
@@ -263,14 +263,14 @@ public:
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_GAL_DARAH_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -288,7 +288,7 @@ class achievement_share_the_love : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
index 25580efb9e0..7645d984aac 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
@@ -52,7 +52,7 @@ class boss_moorabi : public CreatureScript
public:
boss_moorabi() : CreatureScript("boss_moorabi") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_moorabiAI>(creature);
}
@@ -73,7 +73,7 @@ public:
uint32 uiDeterminedStabTimer;
uint32 uiTransformationTImer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiGroundTremorTimer = 18*IN_MILLISECONDS;
uiNumblingShoutTimer = 10*IN_MILLISECONDS;
@@ -84,7 +84,7 @@ public:
instance->SetData(DATA_MOORABI_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoCast(me, SPELL_MOJO_FRENZY, true);
@@ -92,7 +92,7 @@ public:
instance->SetData(DATA_MOORABI_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -143,7 +143,7 @@ public:
DoMeleeAttackIfReady();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_LESS_RABI)
return bPhase ? 0 : 1;
@@ -151,14 +151,14 @@ public:
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_MOORABI_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -176,7 +176,7 @@ class achievement_less_rabi : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index dd1d35e639e..a8e539b02fd 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -74,7 +74,7 @@ class boss_slad_ran : public CreatureScript
public:
boss_slad_ran() : CreatureScript("boss_slad_ran") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_slad_ranAI>(creature);
}
@@ -98,7 +98,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiPoisonNovaTimer = 10*IN_MILLISECONDS;
uiPowerfullBiteTimer = 3*IN_MILLISECONDS;
@@ -112,14 +112,14 @@ public:
instance->SetData(DATA_SLAD_RAN_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_SLAD_RAN_EVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -173,7 +173,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
lSummons.DespawnAll();
@@ -181,19 +181,19 @@ public:
instance->SetData(DATA_SLAD_RAN_EVENT, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
lSummons.Summon(summoned);
}
- void SetGUID(uint64 guid, int32 type) OVERRIDE
+ void SetGUID(uint64 guid, int32 type) override
{
if (type == DATA_SNAKES_WHYD_IT_HAVE_TO_BE_SNAKES)
lWrappedPlayers.insert(guid);
@@ -212,23 +212,26 @@ class npc_slad_ran_constrictor : public CreatureScript
public:
npc_slad_ran_constrictor() : CreatureScript("npc_slad_ran_constrictor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_slad_ran_constrictorAI(creature);
}
struct npc_slad_ran_constrictorAI : public ScriptedAI
{
- npc_slad_ran_constrictorAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_slad_ran_constrictorAI(Creature* creature) : ScriptedAI(creature)
+ {
+ uiGripOfSladRanTimer = 1 * IN_MILLISECONDS;
+ }
uint32 uiGripOfSladRanTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiGripOfSladRanTimer = 1*IN_MILLISECONDS;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -247,8 +250,9 @@ public:
target->CastSpell(target, SPELL_SNAKE_WRAP, true);
if (TempSummon* _me = me->ToTempSummon())
- if (Creature* sladran = _me->GetSummoner()->ToCreature())
- sladran->AI()->SetGUID(target->GetGUID(), DATA_SNAKES_WHYD_IT_HAVE_TO_BE_SNAKES);
+ if (Unit* summoner = _me->GetSummoner())
+ if (Creature* sladran = summoner->ToCreature())
+ sladran->AI()->SetGUID(target->GetGUID(), DATA_SNAKES_WHYD_IT_HAVE_TO_BE_SNAKES);
me->DespawnOrUnsummon();
}
@@ -263,23 +267,26 @@ class npc_slad_ran_viper : public CreatureScript
public:
npc_slad_ran_viper() : CreatureScript("npc_slad_ran_viper") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_slad_ran_viperAI(creature);
}
struct npc_slad_ran_viperAI : public ScriptedAI
{
- npc_slad_ran_viperAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_slad_ran_viperAI(Creature* creature) : ScriptedAI(creature)
+ {
+ uiVenomousBiteTimer = 2 * IN_MILLISECONDS;
+ }
uint32 uiVenomousBiteTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiVenomousBiteTimer = 2*IN_MILLISECONDS;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -301,7 +308,7 @@ class achievement_snakes_whyd_it_have_to_be_snakes : public AchievementCriteriaS
{
}
- bool OnCheck(Player* player, Unit* target) OVERRIDE
+ bool OnCheck(Player* player, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 3ac3c32916e..273cc4361af 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -36,7 +36,7 @@ class instance_gundrak : public InstanceMapScript
public:
instance_gundrak() : InstanceMapScript("instance_gundrak", 604) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_gundrak_InstanceMapScript(map);
}
@@ -89,7 +89,7 @@ public:
std::string str_data;
- void Initialize() OVERRIDE
+ void Initialize() override
{
spawnSupport = false;
@@ -133,7 +133,7 @@ public:
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -142,7 +142,7 @@ public:
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -168,7 +168,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -273,7 +273,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -326,7 +326,7 @@ public:
SaveToDB();
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
if (type == DATA_RUIN_DWELLER_DIED)
DwellerGUIDs.erase(data);
@@ -338,7 +338,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -359,7 +359,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -384,7 +384,7 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -401,7 +401,7 @@ public:
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -440,7 +440,7 @@ public:
OUT_LOAD_INST_DATA_COMPLETE;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
// Spawn the support for the bridge if necessary
if (spawnSupport)
@@ -542,7 +542,7 @@ class go_gundrak_altar : public GameObjectScript
public:
go_gundrak_altar() : GameObjectScript("go_gundrak_altar") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
uint64 statueGUID = 0;
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 b053f0a0258..a9088207ebe 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -184,7 +184,7 @@ class boss_blood_council_controller : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
me->SetReactState(REACT_PASSIVE);
@@ -194,7 +194,7 @@ class boss_blood_council_controller : public CreatureScript
instance->SetBossState(DATA_BLOOD_PRINCE_COUNCIL, NOT_STARTED);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (instance->GetBossState(DATA_BLOOD_PRINCE_COUNCIL) == IN_PROGRESS)
return;
@@ -243,14 +243,14 @@ class boss_blood_council_controller : public CreatureScript
}
}
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
_resetCounter += uint8(data);
if (_resetCounter == 3)
EnterEvadeMode();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_resetCounter = 0;
if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
@@ -263,7 +263,7 @@ class boss_blood_council_controller : public CreatureScript
valanar->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_JustDied();
// kill all prices
@@ -282,7 +282,7 @@ class boss_blood_council_controller : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -349,7 +349,7 @@ class boss_blood_council_controller : public CreatureScript
uint32 _resetCounter;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_blood_council_controllerAI>(creature);
}
@@ -368,7 +368,7 @@ class boss_prince_keleseth_icc : public CreatureScript
_spawnHealth = creature->GetMaxHealth();
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (CreatureData const* data = sObjectMgr->GetCreatureData(me->GetDBTableGUIDLow()))
if (data->curhealth)
@@ -380,7 +380,7 @@ class boss_prince_keleseth_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -392,7 +392,7 @@ class boss_prince_keleseth_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
@@ -408,7 +408,7 @@ class boss_prince_keleseth_icc : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
events.Reset();
summons.DespawnAll();
@@ -417,7 +417,7 @@ class boss_prince_keleseth_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
@@ -429,23 +429,22 @@ class boss_prince_keleseth_icc : public CreatureScript
}
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
DoCast(me, SPELL_FEIGN_DEATH);
me->SetHealth(_spawnHealth);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_INVOCATION_OF_BLOOD_KELESETH)
DoAction(ACTION_CAST_INVOCATION);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
- Position pos;
- me->GetPosition(&pos);
+ Position pos = me->GetPosition();
float maxRange = me->GetDistance2d(summon);
float angle = me->GetAngle(summon);
me->MovePositionToFirstCollision(pos, maxRange, angle);
@@ -453,7 +452,7 @@ class boss_prince_keleseth_icc : public CreatureScript
summon->ToTempSummon()->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN);
}
- void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) OVERRIDE
+ void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) override
{
if (damageType != SPELL_DIRECT_DAMAGE)
return;
@@ -462,7 +461,7 @@ class boss_prince_keleseth_icc : public CreatureScript
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(false));
}
- void DamageTaken(Unit* attacker, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& damage) override
{
if (!_isEmpowered)
{
@@ -471,13 +470,13 @@ class boss_prince_keleseth_icc : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KELESETH_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -522,7 +521,7 @@ class boss_prince_keleseth_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -565,7 +564,7 @@ class boss_prince_keleseth_icc : public CreatureScript
bool _isEmpowered;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_prince_kelesethAI>(creature);
}
@@ -584,7 +583,7 @@ class boss_prince_taldaram_icc : public CreatureScript
_spawnHealth = creature->GetMaxHealth();
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (CreatureData const* data = sObjectMgr->GetCreatureData(me->GetDBTableGUIDLow()))
if (data->curhealth)
@@ -596,7 +595,7 @@ class boss_prince_taldaram_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -608,12 +607,12 @@ class boss_prince_taldaram_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
@@ -625,7 +624,7 @@ class boss_prince_taldaram_icc : public CreatureScript
me->AddAura(SPELL_SHADOW_PRISON, me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
events.Reset();
summons.DespawnAll();
@@ -634,7 +633,7 @@ class boss_prince_taldaram_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
@@ -646,19 +645,19 @@ class boss_prince_taldaram_icc : public CreatureScript
}
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
DoCast(me, SPELL_FEIGN_DEATH);
me->SetHealth(_spawnHealth);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_INVOCATION_OF_BLOOD_TALDARAM)
DoAction(ACTION_CAST_INVOCATION);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, -10.0f, true); // first try at distance
@@ -672,7 +671,7 @@ class boss_prince_taldaram_icc : public CreatureScript
summon->AI()->SetGUID(target->GetGUID());
}
- void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) OVERRIDE
+ void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) override
{
if (damageType != SPELL_DIRECT_DAMAGE)
return;
@@ -681,7 +680,7 @@ class boss_prince_taldaram_icc : public CreatureScript
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(false));
}
- void DamageTaken(Unit* attacker, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& damage) override
{
if (!_isEmpowered)
{
@@ -690,13 +689,13 @@ class boss_prince_taldaram_icc : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_TALDARAM_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -741,7 +740,7 @@ class boss_prince_taldaram_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -789,7 +788,7 @@ class boss_prince_taldaram_icc : public CreatureScript
bool _isEmpowered;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_prince_taldaramAI>(creature);
}
@@ -808,7 +807,7 @@ class boss_prince_valanar_icc : public CreatureScript
_spawnHealth = creature->GetMaxHealth();
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (CreatureData const* data = sObjectMgr->GetCreatureData(me->GetDBTableGUIDLow()))
if (data->curhealth)
@@ -820,7 +819,7 @@ class boss_prince_valanar_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -832,12 +831,12 @@ class boss_prince_valanar_icc : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
@@ -849,7 +848,7 @@ class boss_prince_valanar_icc : public CreatureScript
me->AddAura(SPELL_SHADOW_PRISON, me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
events.Reset();
summons.DespawnAll();
@@ -858,7 +857,7 @@ class boss_prince_valanar_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(me->GetMaxHealth());
@@ -870,13 +869,13 @@ class boss_prince_valanar_icc : public CreatureScript
}
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
DoCast(me, SPELL_FEIGN_DEATH);
me->SetHealth(_spawnHealth);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
switch (summon->GetEntry())
{
@@ -905,13 +904,13 @@ class boss_prince_valanar_icc : public CreatureScript
DoZoneInCombat(summon);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_INVOCATION_OF_BLOOD_VALANAR)
DoAction(ACTION_CAST_INVOCATION);
}
- void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) OVERRIDE
+ void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) override
{
if (damageType != SPELL_DIRECT_DAMAGE)
return;
@@ -920,7 +919,7 @@ class boss_prince_valanar_icc : public CreatureScript
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(false));
}
- void DamageTaken(Unit* attacker, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& damage) override
{
if (!_isEmpowered)
{
@@ -929,13 +928,13 @@ class boss_prince_valanar_icc : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_VALANAR_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -980,7 +979,7 @@ class boss_prince_valanar_icc : public CreatureScript
return true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckRoom())
return;
@@ -1033,7 +1032,7 @@ class boss_prince_valanar_icc : public CreatureScript
bool _isEmpowered;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_prince_valanarAI>(creature);
}
@@ -1052,7 +1051,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
me->SetDisableGravity(true);
@@ -1065,7 +1064,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
me->SetVisible(true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (_introDone)
@@ -1087,13 +1086,13 @@ class npc_blood_queen_lana_thel : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == POINT_INTRO_DESPAWN)
me->SetVisible(false);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_events.GetPhaseMask())
return;
@@ -1127,7 +1126,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
bool _introDone;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_blood_queen_lana_thelAI>(creature);
}
@@ -1145,7 +1144,7 @@ class npc_ball_of_flame : public CreatureScript
_despawnTimer = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->CastSpell(me, SPELL_BALL_OF_FLAMES_VISUAL, true);
if (me->GetEntry() == NPC_BALL_OF_INFERNO_FLAME)
@@ -1155,7 +1154,7 @@ class npc_ball_of_flame : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == CHASE_MOTION_TYPE && id == GUID_LOPART(_chaseGUID) && _chaseGUID)
{
@@ -1166,12 +1165,12 @@ class npc_ball_of_flame : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 /*type*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*type*/) override
{
_chaseGUID = guid;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_FLAME_BALL_CHASE)
if (Player* target = ObjectAccessor::GetPlayer(*me, _chaseGUID))
@@ -1183,7 +1182,7 @@ class npc_ball_of_flame : public CreatureScript
}
}
- void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) OVERRIDE
+ void DamageDealt(Unit* /*target*/, uint32& damage, DamageEffectType damageType) override
{
if (damageType != SPELL_DIRECT_DAMAGE)
return;
@@ -1192,7 +1191,7 @@ class npc_ball_of_flame : public CreatureScript
_instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(false));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_despawnTimer)
return;
@@ -1212,7 +1211,7 @@ class npc_ball_of_flame : public CreatureScript
uint32 _despawnTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_ball_of_flameAI>(creature);
}
@@ -1227,7 +1226,7 @@ class npc_kinetic_bomb : public CreatureScript
{
npc_kinetic_bombAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
me->SetWalk(true);
@@ -1239,7 +1238,7 @@ class npc_kinetic_bomb : public CreatureScript
_groundZ = me->GetMap()->GetHeight(me->GetPhaseMask(), _x, _y, _groundZ, true, 500.0f);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == SPELL_KINETIC_BOMB_EXPLOSION)
_events.ScheduleEvent(EVENT_BOMB_DESPAWN, 1000);
@@ -1251,7 +1250,7 @@ class npc_kinetic_bomb : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1279,7 +1278,7 @@ class npc_kinetic_bomb : public CreatureScript
float _groundZ;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_kinetic_bombAI>(creature);
}
@@ -1298,13 +1297,13 @@ class npc_dark_nucleus : public CreatureScript
_targetAuraCheck = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_DEFENSIVE);
me->CastSpell(me, SPELL_SHADOW_RESONANCE_AURA, true);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_targetAuraCheck = 1000;
if (me->GetDistance(who) >= 15.0f)
@@ -1317,13 +1316,13 @@ class npc_dark_nucleus : public CreatureScript
me->ClearUnitState(UNIT_STATE_CASTING);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
}
- void DamageTaken(Unit* attacker, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32& /*damage*/) override
{
if (attacker == me)
return;
@@ -1332,7 +1331,7 @@ class npc_dark_nucleus : public CreatureScript
me->AddThreat(attacker, 500000000.0f);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1361,7 +1360,7 @@ class npc_dark_nucleus : public CreatureScript
bool _lockedTarget;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_dark_nucleusAI>(creature);
}
@@ -1382,13 +1381,13 @@ class spell_taldaram_glittering_sparks : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_taldaram_glittering_sparks_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_taldaram_glittering_sparks_SpellScript();
}
@@ -1409,13 +1408,13 @@ class spell_taldaram_summon_flame_ball : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_taldaram_summon_flame_ball_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_taldaram_summon_flame_ball_SpellScript();
}
@@ -1430,7 +1429,7 @@ class spell_taldaram_flame_ball_visual : public SpellScriptLoader
{
PrepareAuraScript(spell_flame_ball_visual_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster()->GetEntry() == NPC_BALL_OF_FLAME || GetCaster()->GetEntry() == NPC_BALL_OF_INFERNO_FLAME)
return true;
@@ -1453,13 +1452,13 @@ class spell_taldaram_flame_ball_visual : public SpellScriptLoader
target->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_flame_ball_visual_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_flame_ball_visual_AuraScript();
}
@@ -1480,13 +1479,13 @@ class spell_taldaram_ball_of_inferno_flame : public SpellScriptLoader
aur->SetStackAmount(uint8(GetSpellInfo()->StackAmount));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_taldaram_ball_of_inferno_flame_SpellScript::ModAuraStack);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_taldaram_ball_of_inferno_flame_SpellScript();
}
@@ -1508,7 +1507,7 @@ class spell_valanar_kinetic_bomb : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_valanar_kinetic_bomb_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER);
}
@@ -1533,18 +1532,18 @@ class spell_valanar_kinetic_bomb : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_valanar_kinetic_bomb_AuraScript::HandleDummyTick, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_valanar_kinetic_bomb_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_valanar_kinetic_bomb_AuraScript();
}
@@ -1565,13 +1564,13 @@ class spell_valanar_kinetic_bomb_knockback : public SpellScriptLoader
target->AI()->DoAction(ACTION_KINETIC_BOMB_JUMP);
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeHit += SpellHitFn(spell_valanar_kinetic_bomb_knockback_SpellScript::KnockIntoAir);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_valanar_kinetic_bomb_knockback_SpellScript();
}
@@ -1593,13 +1592,13 @@ class spell_valanar_kinetic_bomb_absorb : public SpellScriptLoader
dmgInfo.AbsorbDamage(absorbAmount);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectAbsorb += AuraEffectAbsorbFn(spell_valanar_kinetic_bomb_absorb_AuraScript::OnAbsorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_valanar_kinetic_bomb_absorb_AuraScript();
}
@@ -1620,13 +1619,13 @@ class spell_blood_council_shadow_prison : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOW_PRISON_DAMAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_blood_council_shadow_prison_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_blood_council_shadow_prison_AuraScript();
}
@@ -1648,13 +1647,13 @@ class spell_blood_council_shadow_prison_damage : public SpellScriptLoader
SetHitDamage(GetHitDamage() + eff->GetAmount());
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_blood_council_shadow_prison_SpellScript::AddExtraDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_blood_council_shadow_prison_SpellScript();
}
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 3d4ee279685..104a8357917 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
@@ -145,7 +145,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_BERSERK, 330000);
@@ -163,7 +163,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
_killMinchar = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance->CheckRequiredBosses(DATA_BLOOD_QUEEN_LANA_THEL, who->ToPlayer()))
{
@@ -183,7 +183,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
_creditBloodQuickening = instance->GetData(DATA_BLOOD_QUICKENING_STATE) == IN_PROGRESS;
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -223,7 +223,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
instance->DoRemoveAurasDueToSpellOnPlayers(PRESENCE_OF_THE_DARKFALLEN);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_KILL_MINCHAR)
return;
@@ -238,7 +238,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
_EnterEvadeMode();
CleanAuras();
@@ -256,7 +256,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetDisableGravity(false);
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND);
@@ -266,13 +266,13 @@ class boss_blood_queen_lana_thel : public CreatureScript
instance->SetBossState(DATA_BLOOD_QUEEN_LANA_THEL, FAIL);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void SetGUID(uint64 guid, int32 type = 0) OVERRIDE
+ void SetGUID(uint64 guid, int32 type = 0) override
{
switch (type)
{
@@ -287,7 +287,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -325,7 +325,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -374,7 +374,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
// both spells have SPELL_ATTR5_SINGLE_TARGET_SPELL, no manual removal needed
newOfftank->CastSpell(me->GetVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
- me->GetVictim()->CastSpell(newOfftank, SPELL_BLOOD_MIRROR_DUMMY, true);
+ me->EnsureVictim()->CastSpell(newOfftank, SPELL_BLOOD_MIRROR_DUMMY, true);
DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL);
if (Is25ManRaid() && newOfftank->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE &&
newOfftank->HasAura(SPELL_UNSATED_CRAVING) && !newOfftank->HasAura(SPELL_THIRST_QUENCHED) &&
@@ -502,7 +502,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
bool _killMinchar;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_blood_queen_lana_thelAI>(creature);
}
@@ -520,7 +520,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
{
PrepareSpellScript(spell_blood_queen_vampiric_bite_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR))
return false;
@@ -574,7 +574,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PRESENCE_OF_THE_DARKFALLEN_2, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_blood_queen_vampiric_bite_SpellScript::CheckTarget);
BeforeHit += SpellHitFn(spell_blood_queen_vampiric_bite_SpellScript::OnCast);
@@ -582,7 +582,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_blood_queen_vampiric_bite_SpellScript();
}
@@ -620,14 +620,14 @@ class spell_blood_queen_frenzied_bloodthirst : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_blood_queen_frenzied_bloodthirst_AuraScript::OnApply, EFFECT_0, SPELL_AURA_OVERRIDE_SPELLS, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_blood_queen_frenzied_bloodthirst_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_OVERRIDE_SPELLS, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_blood_queen_frenzied_bloodthirst_AuraScript();
}
@@ -656,14 +656,14 @@ class spell_blood_queen_bloodbolt : public SpellScriptLoader
{
PrepareSpellScript(spell_blood_queen_bloodbolt_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TWILIGHT_BLOODBOLT))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetEntry() == NPC_BLOOD_QUEEN_LANA_THEL;
}
@@ -684,14 +684,14 @@ class spell_blood_queen_bloodbolt : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), SPELL_TWILIGHT_BLOODBOLT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_bloodbolt_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_blood_queen_bloodbolt_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_blood_queen_bloodbolt_SpellScript();
}
@@ -707,7 +707,7 @@ class spell_blood_queen_essence_of_the_blood_queen : public SpellScriptLoader
{
PrepareAuraScript(spell_blood_queen_essence_of_the_blood_queen_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL))
return false;
@@ -721,13 +721,13 @@ class spell_blood_queen_essence_of_the_blood_queen : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL, SPELLVALUE_BASE_POINT0, heal, GetTarget(), TRIGGERED_FULL_MASK, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_blood_queen_essence_of_the_blood_queen_AuraScript::OnProc, EFFECT_1, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_blood_queen_essence_of_the_blood_queen_AuraScript();
}
@@ -769,13 +769,13 @@ class spell_blood_queen_pact_of_the_darkfallen : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_pact_of_the_darkfallen_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_blood_queen_pact_of_the_darkfallen_SpellScript();
}
@@ -790,7 +790,7 @@ class spell_blood_queen_pact_of_the_darkfallen_dmg : public SpellScriptLoader
{
PrepareAuraScript(spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE))
return false;
@@ -800,20 +800,20 @@ class spell_blood_queen_pact_of_the_darkfallen_dmg : public SpellScriptLoader
// this is an additional effect to be executed
void PeriodicTick(AuraEffect const* aurEff)
{
- SpellInfo const* damageSpell = sSpellMgr->GetSpellInfo(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE);
+ SpellInfo const* damageSpell = sSpellMgr->EnsureSpellInfo(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE);
int32 damage = damageSpell->Effects[EFFECT_0].CalcValue();
float multiplier = 0.3375f + 0.1f * uint32(aurEff->GetTickNumber()/10); // do not convert to 0.01f - we need tick number/10 as INT (damage increases every 10 ticks)
damage = int32(damage * multiplier);
GetTarget()->CastCustomSpell(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetTarget(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript::PeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript();
}
@@ -834,13 +834,13 @@ class spell_blood_queen_pact_of_the_darkfallen_dmg_target : public SpellScriptLo
unitList.push_back(GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_blood_queen_pact_of_the_darkfallen_dmg_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_blood_queen_pact_of_the_darkfallen_dmg_SpellScript();
}
@@ -851,7 +851,7 @@ class achievement_once_bitten_twice_shy_n : public AchievementCriteriaScript
public:
achievement_once_bitten_twice_shy_n() : AchievementCriteriaScript("achievement_once_bitten_twice_shy_n") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (!target)
return false;
@@ -867,7 +867,7 @@ class achievement_once_bitten_twice_shy_v : public AchievementCriteriaScript
public:
achievement_once_bitten_twice_shy_v() : AchievementCriteriaScript("achievement_once_bitten_twice_shy_v") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 7be766c0a0e..16d1531e890 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -254,7 +254,7 @@ class boss_deathbringer_saurfang : public CreatureScript
_fallenChampionCastCount = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_DEFENSIVE);
@@ -271,7 +271,7 @@ class boss_deathbringer_saurfang : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_FRENZY);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (_dead)
return;
@@ -311,11 +311,11 @@ class boss_deathbringer_saurfang : public CreatureScript
instance->SetBossState(DATA_DEATHBRINGER_SAURFANG, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
return;
@@ -323,27 +323,28 @@ class boss_deathbringer_saurfang : public CreatureScript
ScriptedAI::AttackStart(victim);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
if (_introDone)
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
+ Reset();
instance->SetBossState(DATA_DEATHBRINGER_SAURFANG, FAIL);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MARK_OF_THE_FALLEN_CHAMPION);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (damage >= me->GetHealth())
damage = me->GetHealth() - 1;
@@ -373,10 +374,19 @@ class boss_deathbringer_saurfang : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
+ {
+ if (target->GetTransport())
+ {
+ summon->DespawnOrUnsummon(1);
+ EnterEvadeMode();
+ return;
+ }
+
summon->AI()->AttackStart(target);
+ }
summon->CastSpell(summon, SPELL_BLOOD_LINK_BEAST, true);
summon->CastSpell(summon, SPELL_RESISTANT_SKIN, true);
@@ -384,12 +394,12 @@ class boss_deathbringer_saurfang : public CreatureScript
DoZoneInCombat(summon);
}
- void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
{
summons.Despawn(summon);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE && id != POINT_SAURFANG)
return;
@@ -397,8 +407,14 @@ class boss_deathbringer_saurfang : public CreatureScript
instance->HandleGameObject(instance->GetData64(GO_SAURFANG_S_DOOR), false);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
+ if (target->GetTransport())
+ {
+ EnterEvadeMode();
+ return;
+ }
+
switch (spell->Id)
{
case SPELL_MARK_OF_THE_FALLEN_CHAMPION:
@@ -416,14 +432,14 @@ class boss_deathbringer_saurfang : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_BLOOD_LINK_POWER)
if (Aura* bloodPower = me->GetAura(SPELL_BLOOD_POWER))
bloodPower->RecalculateAmountOfEffects();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !(events.IsInPhase(PHASE_INTRO_A) || events.IsInPhase(PHASE_INTRO_H)))
return;
@@ -505,7 +521,7 @@ class boss_deathbringer_saurfang : public CreatureScript
DoMeleeAttackIfReady();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_MADE_A_MESS)
if (_fallenChampionCastCount < RAID_MODE<uint32>(3, 5, 3, 5))
@@ -515,7 +531,7 @@ class boss_deathbringer_saurfang : public CreatureScript
}
// intro setup
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -571,6 +587,14 @@ class boss_deathbringer_saurfang : public CreatureScript
}
}
+ bool CanAIAttack(Unit const* target) const override
+ {
+ if (target->GetTransport())
+ return false;
+
+ return true;
+ }
+
static uint32 const FightWonValue;
private:
@@ -580,7 +604,7 @@ class boss_deathbringer_saurfang : public CreatureScript
bool _dead;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_deathbringer_saurfangAI>(creature);
}
@@ -601,12 +625,12 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -657,7 +681,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_GRIP_OF_AGONY)
{
@@ -666,7 +690,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -711,7 +735,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
@@ -770,7 +794,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
std::list<Creature*> _guardList;
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
@@ -782,7 +806,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
player->CLOSE_GOSSIP_MENU();
@@ -792,7 +816,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_high_overlord_saurfangAI>(creature);
}
@@ -810,12 +834,12 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -862,7 +886,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_GRIP_OF_AGONY)
{
@@ -871,7 +895,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == POINT_FIRST_STEP)
{
@@ -891,7 +915,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
while (uint32 eventId = _events.ExecuteEvent())
@@ -918,7 +942,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
std::list<Creature*> _guardList;
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
@@ -930,7 +954,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
player->CLOSE_GOSSIP_MENU();
@@ -940,7 +964,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_muradin_bronzebeard_iccAI>(creature);
}
@@ -958,13 +982,13 @@ class npc_saurfang_event : public CreatureScript
_index = 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
ASSERT(!type && data && data < 6);
_index = data;
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_GRIP_OF_AGONY)
{
@@ -973,7 +997,7 @@ class npc_saurfang_event : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_CHARGE && _index)
me->GetMotionMaster()->MoveCharge(chargePos[_index].GetPositionX(), chargePos[_index].GetPositionY(), chargePos[_index].GetPositionZ(), 13.0f, POINT_CHARGE);
@@ -985,7 +1009,7 @@ class npc_saurfang_event : public CreatureScript
uint32 _index;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_saurfang_eventAI>(creature);
}
@@ -1000,7 +1024,7 @@ class spell_deathbringer_blood_link : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_blood_link_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BLOOD_LINK_POWER))
return false;
@@ -1015,13 +1039,13 @@ class spell_deathbringer_blood_link : public SpellScriptLoader
PreventHitDefaultEffect(EFFECT_0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_deathbringer_blood_link_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_blood_link_SpellScript();
}
@@ -1036,7 +1060,7 @@ class spell_deathbringer_blood_link_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_deathbringer_blood_link_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MARK_OF_THE_FALLEN_CHAMPION))
return false;
@@ -1051,13 +1075,13 @@ class spell_deathbringer_blood_link_aura : public SpellScriptLoader
saurfang->AI()->DoAction(ACTION_MARK_OF_THE_FALLEN_CHAMPION);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_deathbringer_blood_link_AuraScript::HandlePeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_deathbringer_blood_link_AuraScript();
}
@@ -1078,7 +1102,7 @@ class spell_deathbringer_blood_power : public SpellScriptLoader
aura->RecalculateAmountOfEffects();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_deathbringer_blood_power_SpellScript::ModAuraValue);
}
@@ -1094,19 +1118,19 @@ class spell_deathbringer_blood_power : public SpellScriptLoader
canBeRecalculated = true;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_deathbringer_blood_power_AuraScript::RecalculateHook, EFFECT_0, SPELL_AURA_MOD_SCALE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_deathbringer_blood_power_AuraScript::RecalculateHook, EFFECT_1, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_blood_power_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_deathbringer_blood_power_AuraScript();
}
@@ -1121,7 +1145,7 @@ class spell_deathbringer_rune_of_blood : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_rune_of_blood_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BLOOD_LINK_DUMMY))
return false;
@@ -1135,13 +1159,13 @@ class spell_deathbringer_rune_of_blood : public SpellScriptLoader
GetHitUnit()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 1, GetCaster(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_deathbringer_rune_of_blood_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_rune_of_blood_SpellScript();
}
@@ -1156,7 +1180,7 @@ class spell_deathbringer_blood_nova : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_blood_nova_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BLOOD_LINK_DUMMY))
return false;
@@ -1170,13 +1194,13 @@ class spell_deathbringer_blood_nova : public SpellScriptLoader
GetHitUnit()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 2, GetCaster(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_deathbringer_blood_nova_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_blood_nova_SpellScript();
}
@@ -1191,7 +1215,7 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_blood_nova_targeting_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
// initialize variable
target = NULL;
@@ -1245,7 +1269,7 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_blood_nova_targeting_SpellScript::FilterTargetsInitial, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_blood_nova_targeting_SpellScript::FilterTargetsSubsequent, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -1255,7 +1279,7 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
WorldObject* target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_blood_nova_targeting_SpellScript();
}
@@ -1270,7 +1294,7 @@ class spell_deathbringer_boiling_blood : public SpellScriptLoader
{
PrepareSpellScript(spell_deathbringer_boiling_blood_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1286,13 +1310,13 @@ class spell_deathbringer_boiling_blood : public SpellScriptLoader
targets.push_back(target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_deathbringer_boiling_blood_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_boiling_blood_SpellScript();
}
@@ -1313,13 +1337,13 @@ class spell_deathbringer_remove_marks : public SpellScriptLoader
GetHitUnit()->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_deathbringer_remove_marks_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_deathbringer_remove_marks_SpellScript();
}
@@ -1330,7 +1354,7 @@ class achievement_ive_gone_and_made_a_mess : public AchievementCriteriaScript
public:
achievement_ive_gone_and_made_a_mess() : AchievementCriteriaScript("achievement_ive_gone_and_made_a_mess") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target)
if (Creature* saurfang = target->ToCreature())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index 884baaf39c7..9847d7191c6 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -90,7 +90,7 @@ class boss_festergut : public CreatureScript
_gasDummyGUID = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_DEFENSIVE);
@@ -112,7 +112,7 @@ class boss_festergut : public CreatureScript
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance->CheckRequiredBosses(DATA_FESTERGUT, who->ToPlayer()))
{
@@ -130,7 +130,7 @@ class boss_festergut : public CreatureScript
DoZoneInCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -140,32 +140,32 @@ class boss_festergut : public CreatureScript
RemoveBlight();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_FESTERGUT, FAIL);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->EnterEvadeMode();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == PUNGENT_BLIGHT_HELPER)
target->RemoveAurasDueToSpell(INOCULATED_HELPER);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -253,13 +253,13 @@ class boss_festergut : public CreatureScript
DoMeleeAttackIfReady();
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_INOCULATED_STACK && data > _maxInoculatedStack)
_maxInoculatedStack = data;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_INOCULATED_STACK)
return uint32(_maxInoculatedStack);
@@ -283,7 +283,7 @@ class boss_festergut : public CreatureScript
uint32 _inhaleCounter;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_festergutAI>(creature);
}
@@ -301,19 +301,19 @@ class npc_stinky_icc : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(3000, 7000));
}
- void EnterCombat(Unit* /*target*/) OVERRIDE
+ void EnterCombat(Unit* /*target*/) override
{
DoCast(me, SPELL_PLAGUE_STENCH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -343,7 +343,7 @@ class npc_stinky_icc : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* festergut = me->GetCreature(*me, _instance->GetData64(DATA_FESTERGUT)))
if (festergut->IsAlive())
@@ -355,7 +355,7 @@ class npc_stinky_icc : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_stinky_iccAI>(creature);
}
@@ -370,7 +370,7 @@ class spell_festergut_pungent_blight : public SpellScriptLoader
{
PrepareSpellScript(spell_festergut_pungent_blight_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -385,13 +385,13 @@ class spell_festergut_pungent_blight : public SpellScriptLoader
GetCaster()->ToCreature()->AI()->Talk(EMOTE_PUNGENT_BLIGHT);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_festergut_pungent_blight_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_festergut_pungent_blight_SpellScript();
}
@@ -406,7 +406,7 @@ class spell_festergut_gastric_bloat : public SpellScriptLoader
{
PrepareSpellScript(spell_festergut_gastric_bloat_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GASTRIC_EXPLOSION))
return false;
@@ -423,13 +423,13 @@ class spell_festergut_gastric_bloat : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_GASTRIC_EXPLOSION, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_festergut_gastric_bloat_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_festergut_gastric_bloat_SpellScript();
}
@@ -444,7 +444,7 @@ class spell_festergut_blighted_spores : public SpellScriptLoader
{
PrepareAuraScript(spell_festergut_blighted_spores_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_INOCULATED))
return false;
@@ -459,13 +459,13 @@ class spell_festergut_blighted_spores : public SpellScriptLoader
festergut->AI()->SetData(DATA_INOCULATED_STACK, GetStackAmount());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_festergut_blighted_spores_AuraScript::ExtraEffect, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_festergut_blighted_spores_AuraScript();
}
@@ -476,7 +476,7 @@ class achievement_flu_shot_shortage : public AchievementCriteriaScript
public:
achievement_flu_shot_shortage() : AchievementCriteriaScript("achievement_flu_shot_shortage") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target && target->GetTypeId() == TYPEID_UNIT)
return target->ToCreature()->AI()->GetData(DATA_INOCULATED_STACK) < 3;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
new file mode 100644
index 00000000000..c0c909e4878
--- /dev/null
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -0,0 +1,2484 @@
+/*
+ * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "CellImpl.h"
+#include "CreatureTextMgr.h"
+#include "GridNotifiersImpl.h"
+#include "GossipDef.h"
+#include "MoveSpline.h"
+#include "MoveSplineInit.h"
+#include "PassiveAI.h"
+#include "ScriptMgr.h"
+#include "ScriptedCreature.h"
+#include "SpellAuraEffects.h"
+#include "SpellScript.h"
+#include "Transport.h"
+#include "TransportMgr.h"
+#include "Vehicle.h"
+#include "icecrown_citadel.h"
+
+enum Texts
+{
+ // High Overlord Saurfang
+ SAY_SAURFANG_INTRO_1 = 0,
+ SAY_SAURFANG_INTRO_2 = 1,
+ SAY_SAURFANG_INTRO_3 = 2,
+ SAY_SAURFANG_INTRO_4 = 3,
+ SAY_SAURFANG_INTRO_5 = 4,
+ SAY_SAURFANG_INTRO_6 = 5,
+ SAY_SAURFANG_INTRO_A = 6,
+ SAY_SAURFANG_BOARD = 7,
+ SAY_SAURFANG_ENTER_SKYBREAKER = 8,
+ SAY_SAURFANG_AXETHROWERS = 9,
+ SAY_SAURFANG_ROCKETEERS = 10,
+ SAY_SAURFANG_MAGES = 11,
+ SAY_SAURFANG_VICTORY = 12,
+ SAY_SAURFANG_WIPE = 13,
+
+ // Muradin Bronzebeard
+ SAY_MURADIN_INTRO_1 = 0,
+ SAY_MURADIN_INTRO_2 = 1,
+ SAY_MURADIN_INTRO_3 = 2,
+ SAY_MURADIN_INTRO_4 = 3,
+ SAY_MURADIN_INTRO_5 = 4,
+ SAY_MURADIN_INTRO_6 = 5,
+ SAY_MURADIN_INTRO_7 = 6,
+ SAY_MURADIN_INTRO_H = 7,
+ SAY_MURADIN_BOARD = 8,
+ SAY_MURADIN_ENTER_ORGRIMMS_HAMMER = 9,
+ SAY_MURADIN_RIFLEMAN = 10,
+ SAY_MURADIN_MORTAR = 11,
+ SAY_MURADIN_SORCERERS = 12,
+ SAY_MURADIN_VICTORY = 13,
+ SAY_MURADIN_WIPE = 14,
+
+ SAY_ZAFOD_ROCKET_PACK_ACTIVE = 0,
+ SAY_ZAFOD_ROCKET_PACK_DISABLED = 1,
+
+ SAY_OVERHEAT = 0
+};
+
+enum Events
+{
+ // High Overlord Saurfang
+ EVENT_INTRO_H_1 = 1,
+ EVENT_INTRO_H_2 = 2,
+ EVENT_INTRO_SUMMON_SKYBREAKER = 3,
+ EVENT_INTRO_H_3 = 4,
+ EVENT_INTRO_H_4 = 5,
+ EVENT_INTRO_H_5 = 6,
+ EVENT_INTRO_H_6 = 7,
+
+ // Muradin Bronzebeard
+ EVENT_INTRO_A_1 = 1,
+ EVENT_INTRO_A_2 = 2,
+ EVENT_INTRO_SUMMON_ORGRIMS_HAMMER = 3,
+ EVENT_INTRO_A_3 = 4,
+ EVENT_INTRO_A_4 = 5,
+ EVENT_INTRO_A_5 = 6,
+ EVENT_INTRO_A_6 = 7,
+ EVENT_INTRO_A_7 = 8,
+
+ EVENT_KEEP_PLAYER_IN_COMBAT = 9,
+ EVENT_SUMMON_MAGE = 10,
+ EVENT_ADDS = 11,
+ EVENT_ADDS_BOARD_YELL = 12,
+ EVENT_CHECK_RIFLEMAN = 13,
+ EVENT_CHECK_MORTAR = 14,
+ EVENT_CLEAVE = 15,
+
+ EVENT_BLADESTORM = 16,
+ EVENT_WOUNDING_STRIKE = 17
+};
+
+enum Spells
+{
+ // Applied on friendly transport NPCs
+ SPELL_FRIENDLY_BOSS_DAMAGE_MOD = 70339,
+ SPELL_CHECK_FOR_PLAYERS = 70332,
+ SPELL_GUNSHIP_FALL_TELEPORT = 67335,
+ SPELL_TELEPORT_PLAYERS_ON_RESET_A = 70446,
+ SPELL_TELEPORT_PLAYERS_ON_RESET_H = 71284,
+ SPELL_TELEPORT_PLAYERS_ON_VICTORY = 72340,
+ SPELL_ACHIEVEMENT = 72959,
+ SPELL_AWARD_REPUTATION_BOSS_KILL = 73843,
+
+ // Murading Bronzebeard
+ // High Overlord Saurfang
+ SPELL_BATTLE_FURY = 69637,
+ SPELL_RENDING_THROW = 70309,
+ SPELL_CLEAVE = 15284,
+ SPELL_TASTE_OF_BLOOD = 69634,
+
+ // Applied on enemy NPCs
+ SPELL_MELEE_TARGETING_ON_SKYBREAKER = 70219,
+ SPELL_MELEE_TARGETING_ON_ORGRIMS_HAMMER = 70294,
+
+ // Gunship Hull
+ SPELL_EXPLOSION_WIPE = 72134,
+ SPELL_EXPLOSION_VICTORY = 72137,
+
+ // Hostile NPCs
+ SPELL_TELEPORT_TO_ENEMY_SHIP = 70104,
+ SPELL_BATTLE_EXPERIENCE = 71201,
+ SPELL_EXPERIENCED = 71188,
+ SPELL_VETERAN = 71193,
+ SPELL_ELITE = 71195,
+ SPELL_ADDS_BERSERK = 72525,
+
+ // Skybreaker Sorcerer
+ // Kor'kron Battle-Mage
+ SPELL_SHADOW_CHANNELING = 43897,
+ SPELL_BELOW_ZERO = 69705,
+
+ // Skybreaker Rifleman
+ // Kor'kron Axethrower
+ SPELL_SHOOT = 70162,
+ SPELL_HURL_AXE = 70161,
+ SPELL_BURNING_PITCH_A = 70403,
+ SPELL_BURNING_PITCH_H = 70397,
+ SPELL_BURNING_PITCH = 69660,
+
+ // Skybreaker Mortar Soldier
+ // Kor'kron Rocketeer
+ SPELL_ROCKET_ARTILLERY_A = 70609,
+ SPELL_ROCKET_ARTILLERY_H = 69678,
+ SPELL_BURNING_PITCH_DAMAGE_A = 70383,
+ SPELL_BURNING_PITCH_DAMAGE_H = 70374,
+
+ // Skybreaker Marine
+ // Kor'kron Reaver
+ SPELL_DESPERATE_RESOLVE = 69647,
+
+ // Skybreaker Sergeant
+ // Kor'kron Sergeant
+ SPELL_BLADESTORM = 69652,
+ SPELL_WOUNDING_STRIKE = 69651,
+
+ //
+ SPELL_LOCK_PLAYERS_AND_TAP_CHEST = 72347,
+ SPELL_ON_SKYBREAKER_DECK = 70120,
+ SPELL_ON_ORGRIMS_HAMMER_DECK = 70121,
+
+ // Rocket Pack
+ SPELL_ROCKET_PACK_DAMAGE = 69193,
+ SPELL_ROCKET_BURST = 69192,
+ SPELL_ROCKET_PACK_USEABLE = 70348,
+
+ // Alliance Gunship Cannon
+ // Horde Gunship Cannon
+ SPELL_OVERHEAT = 69487,
+ SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO = 68576,
+ SPELL_EJECT_ALL_PASSENGERS_WIPE = 50630
+};
+
+enum MiscData
+{
+ ITEM_GOBLIN_ROCKET_PACK = 49278,
+
+ PHASE_COMBAT = 0,
+ PHASE_INTRO = 1,
+
+ MUSIC_ENCOUNTER = 17289
+};
+
+enum EncounterActions
+{
+ ACTION_SPAWN_MAGE = 1,
+ ACTION_SPAWN_ALL_ADDS = 2,
+ ACTION_CLEAR_SLOT = 3,
+ ACTION_SET_SLOT = 4,
+ ACTION_SHIP_VISITS = 5
+};
+
+Position const SkybreakerAddsSpawnPos = { 15.91131f, 0.0f, 20.4628f, M_PI };
+Position const OrgrimsHammerAddsSpawnPos = { 60.728395f, 0.0f, 38.93467f, M_PI };
+
+// Horde encounter
+Position const SkybreakerTeleportPortal = { 6.666975f, 0.013001f, 20.87888f, 0.0f };
+Position const OrgrimsHammerTeleportExit = { 7.461699f, 0.158853f, 35.72989f, 0.0f };
+
+// Alliance encounter
+Position const OrgrimsHammerTeleportPortal = { 47.550990f, -0.101778f, 37.61111f, 0.0f };
+Position const SkybreakerTeleportExit = { -17.55738f, -0.090421f, 21.18366f, 0.0f };
+
+uint32 const MuradinExitPathSize = 10;
+G3D::Vector3 const MuradinExitPath[MuradinExitPathSize] =
+{
+ { 8.130936f, -0.2699585f, 20.31728f },
+ { 6.380936f, -0.2699585f, 20.31728f },
+ { 3.507703f, 0.02986573f, 20.78463f },
+ { -2.767633f, 3.743143f, 20.37663f },
+ { -4.017633f, 4.493143f, 20.12663f },
+ { -7.242224f, 6.856013f, 20.03468f },
+ { -7.742224f, 8.606013f, 20.78468f },
+ { -7.992224f, 9.856013f, 21.28468f },
+ { -12.24222f, 23.10601f, 21.28468f },
+ { -14.88477f, 25.20844f, 21.59985f },
+};
+
+uint32 const SaurfangExitPathSize = 13;
+G3D::Vector3 const SaurfangExitPath[SaurfangExitPathSize] =
+{
+ { 30.43987f, 0.1475817f, 36.10674f },
+ { 21.36141f, -3.056458f, 35.42970f },
+ { 19.11141f, -3.806458f, 35.42970f },
+ { 19.01736f, -3.299440f, 35.39428f },
+ { 18.6747f, -5.862823f, 35.66611f },
+ { 18.6747f, -7.862823f, 35.66611f },
+ { 18.1747f, -17.36282f, 35.66611f },
+ { 18.1747f, -22.61282f, 35.66611f },
+ { 17.9247f, -24.36282f, 35.41611f },
+ { 17.9247f, -26.61282f, 35.66611f },
+ { 17.9247f, -27.86282f, 35.66611f },
+ { 17.9247f, -29.36282f, 35.66611f },
+ { 15.33203f, -30.42621f, 35.93796f }
+};
+
+enum PassengerSlots
+{
+ // Freezing the cannons
+ SLOT_FREEZE_MAGE = 0,
+
+ // Channeling the portal, refilled with adds that board player's ship
+ SLOT_MAGE_1 = 1,
+ SLOT_MAGE_2 = 2,
+
+ // Rifleman
+ SLOT_RIFLEMAN_1 = 3,
+ SLOT_RIFLEMAN_2 = 4,
+ SLOT_RIFLEMAN_3 = 5,
+ SLOT_RIFLEMAN_4 = 6,
+
+ // Additional Rifleman on 25 man
+ SLOT_RIFLEMAN_5 = 7,
+ SLOT_RIFLEMAN_6 = 8,
+ SLOT_RIFLEMAN_7 = 9,
+ SLOT_RIFLEMAN_8 = 10,
+
+ // Mortar
+ SLOT_MORTAR_1 = 11,
+ SLOT_MORTAR_2 = 12,
+
+ // Additional spawns on 25 man
+ SLOT_MORTAR_3 = 13,
+ SLOT_MORTAR_4 = 14,
+
+ // Marines
+ SLOT_MARINE_1 = 15,
+ SLOT_MARINE_2 = 16,
+
+ // Additional spawns on 25 man
+ SLOT_MARINE_3 = 17,
+ SLOT_MARINE_4 = 18,
+
+ // Sergeants
+ SLOT_SERGEANT_1 = 19,
+
+ // Additional spawns on 25 man
+ SLOT_SERGEANT_2 = 20,
+
+ MAX_SLOTS
+};
+
+struct SlotInfo
+{
+ uint32 Entry;
+ Position TargetPosition;
+ uint32 Cooldown;
+};
+
+SlotInfo const SkybreakerSlotInfo[MAX_SLOTS] =
+{
+ { NPC_SKYBREAKER_SORCERER, { -9.479858f, 0.05663967f, 20.77026f, 4.729842f }, 0 },
+
+ { NPC_SKYBREAKER_SORCERER, { 6.385986f, 4.978760f, 20.55417f, 4.694936f }, 0 },
+ { NPC_SKYBREAKER_SORCERER, { 6.579102f, -4.674561f, 20.55060f, 1.553343f }, 0 },
+
+ { NPC_SKYBREAKER_RIFLEMAN, { -29.563900f, -17.95801f, 20.73837f, 4.747295f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -18.017210f, -18.82056f, 20.79150f, 4.747295f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -9.1193850f, -18.79102f, 20.58887f, 4.712389f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -0.3364258f, -18.87183f, 20.56824f, 4.712389f }, 30 },
+
+ { NPC_SKYBREAKER_RIFLEMAN, { -34.705810f, -17.67261f, 20.51523f, 4.729842f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -23.562010f, -18.28564f, 20.67859f, 4.729842f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -13.602780f, -18.74268f, 20.59622f, 4.712389f }, 30 },
+ { NPC_SKYBREAKER_RIFLEMAN, { -4.3350220f, -18.84619f, 20.58234f, 4.712389f }, 30 },
+
+ { NPC_SKYBREAKER_MORTAR_SOLDIER, { -31.70142f, 18.02783f, 20.77197f, 4.712389f }, 30 },
+ { NPC_SKYBREAKER_MORTAR_SOLDIER, { -9.368652f, 18.75806f, 20.65335f, 4.712389f }, 30 },
+
+ { NPC_SKYBREAKER_MORTAR_SOLDIER, { -20.40851f, 18.40381f, 20.50647f, 4.694936f }, 30 },
+ { NPC_SKYBREAKER_MORTAR_SOLDIER, { 0.1585693f, 18.11523f, 20.41949f, 4.729842f }, 30 },
+
+ { NPC_SKYBREAKER_MARINE, SkybreakerTeleportPortal, 0 },
+ { NPC_SKYBREAKER_MARINE, SkybreakerTeleportPortal, 0 },
+
+ { NPC_SKYBREAKER_MARINE, SkybreakerTeleportPortal, 0 },
+ { NPC_SKYBREAKER_MARINE, SkybreakerTeleportPortal, 0 },
+
+ { NPC_SKYBREAKER_SERGEANT, SkybreakerTeleportPortal, 0 },
+
+ { NPC_SKYBREAKER_SERGEANT, SkybreakerTeleportPortal, 0 }
+};
+
+SlotInfo const OrgrimsHammerSlotInfo[MAX_SLOTS] =
+{
+ { NPC_KOR_KRON_BATTLE_MAGE, { 13.58548f, 0.3867192f, 34.99243f, 1.53589f }, 0 },
+
+ { NPC_KOR_KRON_BATTLE_MAGE, { 47.29290f, -4.308941f, 37.55550f, 1.570796f }, 0 },
+ { NPC_KOR_KRON_BATTLE_MAGE, { 47.34621f, 4.032004f, 37.70952f, 4.817109f }, 0 },
+
+ { NPC_KOR_KRON_AXETHROWER, { -12.09280f, 27.65942f, 33.58557f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { -3.170555f, 28.30652f, 34.21082f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { 14.928040f, 26.18018f, 35.47803f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { 24.703310f, 25.36584f, 35.97845f, 1.53589f }, 30 },
+
+ { NPC_KOR_KRON_AXETHROWER, { -16.65302f, 27.59668f, 33.18726f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { -8.084572f, 28.21448f, 33.93805f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { 7.594765f, 27.41968f, 35.00775f, 1.53589f }, 30 },
+ { NPC_KOR_KRON_AXETHROWER, { 20.763390f, 25.58215f, 35.75287f, 1.53589f }, 30 },
+
+ { NPC_KOR_KRON_ROCKETEER, { -11.44849f, -25.71838f, 33.64343f, 1.518436f }, 30 },
+ { NPC_KOR_KRON_ROCKETEER, { 12.30336f, -25.69653f, 35.32373f, 1.518436f }, 30 },
+
+ { NPC_KOR_KRON_ROCKETEER, { -0.05931854f, -25.46399f, 34.50592f, 1.518436f }, 30 },
+ { NPC_KOR_KRON_ROCKETEER, { 27.62149000f, -23.48108f, 36.12708f, 1.518436f }, 30 },
+
+ { NPC_KOR_KRON_REAVER, OrgrimsHammerTeleportPortal, 0 },
+ { NPC_KOR_KRON_REAVER, OrgrimsHammerTeleportPortal, 0 },
+
+ { NPC_KOR_KRON_REAVER, OrgrimsHammerTeleportPortal, 0 },
+ { NPC_KOR_KRON_REAVER, OrgrimsHammerTeleportPortal, 0 },
+
+ { NPC_KOR_KRON_SERGEANT, OrgrimsHammerTeleportPortal, 0 },
+
+ { NPC_KOR_KRON_SERGEANT, OrgrimsHammerTeleportPortal, 0 }
+};
+
+class PassengerController
+{
+public:
+ PassengerController()
+ {
+ ResetSlots(HORDE);
+ }
+
+ void SetTransport(Transport* transport) { _transport = transport; }
+
+ void ResetSlots(uint32 team)
+ {
+ _transport = NULL;
+ memset(_controlledSlots, 0, sizeof(uint64)* MAX_SLOTS);
+ memset(_respawnCooldowns, 0, sizeof(time_t)* MAX_SLOTS);
+ _spawnPoint = team == HORDE ? &OrgrimsHammerAddsSpawnPos : &SkybreakerAddsSpawnPos;
+ _slotInfo = team == HORDE ? OrgrimsHammerSlotInfo : SkybreakerSlotInfo;
+ }
+
+ bool SummonCreatures(PassengerSlots first, PassengerSlots last)
+ {
+ if (!_transport)
+ return false;
+
+ bool summoned = false;
+ time_t now = time(NULL);
+ for (int32 i = first; i <= last; ++i)
+ {
+ if (_respawnCooldowns[i] > now)
+ continue;
+
+ if (_controlledSlots[i])
+ {
+ Creature* current = ObjectAccessor::GetCreature(*_transport, _controlledSlots[i]);
+ if (current && current->IsAlive())
+ continue;
+ }
+
+ if (Creature* passenger = _transport->SummonPassenger(_slotInfo[i].Entry, SelectSpawnPoint(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, NULL, 15000))
+ {
+ _controlledSlots[i] = passenger->GetGUID();
+ _respawnCooldowns[i] = time_t(0);
+ passenger->AI()->SetData(ACTION_SET_SLOT, i);
+ summoned = true;
+ }
+ }
+
+ return summoned;
+ }
+
+ void ClearSlot(PassengerSlots slot)
+ {
+ _controlledSlots[slot] = 0;
+ _respawnCooldowns[slot] = time(NULL) + _slotInfo[slot].Cooldown;
+ }
+
+ bool SlotsNeedRefill(PassengerSlots first, PassengerSlots last) const
+ {
+ for (int32 i = first; i <= last; ++i)
+ if (!_controlledSlots[i])
+ return true;
+
+ return false;
+ }
+
+private:
+ Position SelectSpawnPoint() const
+ {
+ Position newPos;
+ float angle = frand(-M_PI * 0.5f, M_PI * 0.5f);
+ newPos.m_positionX = _spawnPoint->GetPositionX() + 2.0f * std::cos(angle);
+ newPos.m_positionY = _spawnPoint->GetPositionY() + 2.0f * std::sin(angle);
+ newPos.m_positionZ = _spawnPoint->GetPositionZ();
+ newPos.SetOrientation(_spawnPoint->GetOrientation());
+ return newPos;
+ }
+
+ Transport* _transport;
+ uint64 _controlledSlots[MAX_SLOTS];
+ time_t _respawnCooldowns[MAX_SLOTS];
+ Position const* _spawnPoint;
+ SlotInfo const* _slotInfo;
+};
+
+class DelayedMovementEvent : public BasicEvent
+{
+public:
+ DelayedMovementEvent(Creature* owner, Position const& dest) : _owner(owner), _dest(dest) { }
+
+ bool Execute(uint64, uint32) override
+ {
+ if (!_owner->IsAlive())
+ return true;
+
+ _owner->GetMotionMaster()->MovePoint(EVENT_CHARGE_PREPATH, *_owner, false);
+
+ Movement::MoveSplineInit init(_owner);
+ init.DisableTransportPathTransformations();
+ init.MoveTo(_dest.GetPositionX(), _dest.GetPositionY(), _dest.GetPositionZ(), false);
+ init.Launch();
+
+ return true;
+ }
+
+private:
+ Creature* _owner;
+ Position const& _dest;
+};
+
+class ResetEncounterEvent : public BasicEvent
+{
+public:
+ ResetEncounterEvent(Unit* caster, uint32 spellId, uint64 otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
+
+ bool Execute(uint64, uint32) override
+ {
+ _caster->CastSpell(_caster, _spellId, true);
+ _caster->GetTransport()->AddObjectToRemoveList();
+
+ if (GameObject* go = HashMapHolder<GameObject>::Find(_otherTransport))
+ go->AddObjectToRemoveList();
+
+ return true;
+ }
+
+private:
+ Unit* _caster;
+ uint32 _spellId;
+ uint64 _otherTransport;
+};
+
+class BattleExperienceEvent : public BasicEvent
+{
+public:
+ static uint32 const ExperiencedSpells[5];
+ static uint32 const ExperiencedTimes[5];
+
+ BattleExperienceEvent(Creature* creature) : _creature(creature), _level(0) { }
+
+ bool Execute(uint64 timer, uint32 /*diff*/) override
+ {
+ if (!_creature->IsAlive())
+ return true;
+
+ _creature->RemoveAurasDueToSpell(ExperiencedSpells[_level]);
+ ++_level;
+
+ _creature->CastSpell(_creature, ExperiencedSpells[_level], TRIGGERED_FULL_MASK);
+ if (_level < (_creature->GetMap()->IsHeroic() ? 4 : 3))
+ {
+ _creature->m_Events.AddEvent(this, timer + ExperiencedTimes[_level]);
+ return false;
+ }
+
+ return true;
+ }
+
+private:
+ Creature* _creature;
+ int32 _level;
+};
+
+uint32 const BattleExperienceEvent::ExperiencedSpells[5] = { 0, SPELL_EXPERIENCED, SPELL_VETERAN, SPELL_ELITE, SPELL_ADDS_BERSERK };
+uint32 const BattleExperienceEvent::ExperiencedTimes[5] = { 100000, 70000, 60000, 90000, 0 };
+
+struct gunship_npc_AI : public ScriptedAI
+{
+ gunship_npc_AI(Creature* creature) : ScriptedAI(creature),
+ Instance(creature->GetInstanceScript()), Slot(NULL), Index(uint32(-1))
+ {
+ BurningPitchId = Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_BURNING_PITCH_A : SPELL_BURNING_PITCH_H;
+ me->setRegeneratingHealth(false);
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ if (type == ACTION_SET_SLOT && data < MAX_SLOTS)
+ {
+ SetSlotInfo(data);
+
+ me->SetReactState(REACT_PASSIVE);
+
+ float x, y, z, o;
+ Slot->TargetPosition.GetPosition(x, y, z, o);
+
+ me->SetTransportHomePosition(Slot->TargetPosition);
+ float hx = x, hy = y, hz = z, ho = o;
+ me->GetTransport()->CalculatePassengerPosition(hx, hy, hz, &ho);
+ me->SetHomePosition(hx, hy, hz, ho);
+
+ me->GetMotionMaster()->MovePoint(EVENT_CHARGE_PREPATH, Slot->TargetPosition, false);
+
+ Movement::MoveSplineInit init(me);
+ init.DisableTransportPathTransformations();
+ init.MoveTo(x, y, z, false);
+ init.Launch();
+ }
+ }
+
+ void EnterEvadeMode() override
+ {
+ if (!me->IsAlive() || !me->IsInCombat())
+ return;
+
+ me->DeleteThreatList();
+ me->CombatStop(true);
+ me->GetMotionMaster()->MoveTargetedHome();
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ if (Slot)
+ if (Creature* captain = me->FindNearestCreature(Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? NPC_IGB_MURADIN_BRONZEBEARD : NPC_IGB_HIGH_OVERLORD_SAURFANG, 200.0f))
+ captain->AI()->SetData(ACTION_CLEAR_SLOT, Index);
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (pointId == EVENT_CHARGE_PREPATH && Slot)
+ {
+ me->SetFacingTo(Slot->TargetPosition.GetOrientation());
+ me->m_Events.AddEvent(new BattleExperienceEvent(me), me->m_Events.CalculateTime(BattleExperienceEvent::ExperiencedTimes[0]));
+ DoCast(me, SPELL_BATTLE_EXPERIENCE, true);
+ me->SetReactState(REACT_AGGRESSIVE);
+ }
+ }
+
+ bool CanAIAttack(Unit const* target) const override
+ {
+ if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ return false;
+ return target->HasAura(Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_ON_ORGRIMS_HAMMER_DECK : SPELL_ON_SKYBREAKER_DECK);
+ }
+
+protected:
+ void SetSlotInfo(uint32 index)
+ {
+ Index = index;
+ Slot = &((Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SkybreakerSlotInfo : OrgrimsHammerSlotInfo)[Index]);
+ }
+
+ bool SelectVictim()
+ {
+ if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ {
+ EnterEvadeMode();
+ return false;
+ }
+
+ if (!me->HasReactState(REACT_PASSIVE))
+ {
+ if (Unit* victim = me->SelectVictim())
+ AttackStart(victim);
+ return me->GetVictim();
+ }
+ else if (me->getThreatManager().isThreatListEmpty())
+ {
+ EnterEvadeMode();
+ return false;
+ }
+
+ return true;
+ }
+
+ void TriggerBurningPitch()
+ {
+ if (Instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS &&
+ !me->HasUnitState(UNIT_STATE_CASTING) && !me->HasReactState(REACT_PASSIVE) &&
+ !me->HasSpellCooldown(BurningPitchId))
+ {
+ DoCastAOE(BurningPitchId, true);
+ me->_AddCreatureSpellCooldown(BurningPitchId, time(NULL) + urand(3000, 4000) / IN_MILLISECONDS);
+ }
+ }
+
+ InstanceScript* Instance;
+ SlotInfo const* Slot;
+ uint32 Index;
+ uint32 BurningPitchId;
+};
+
+class npc_gunship : public CreatureScript
+{
+ public:
+ npc_gunship() : CreatureScript("npc_gunship") { }
+
+ struct npc_gunshipAI : public NullCreatureAI
+ {
+ npc_gunshipAI(Creature* creature) : NullCreatureAI(creature),
+ _teamInInstance(creature->GetInstanceScript()->GetData(DATA_TEAM_IN_INSTANCE)),
+ _summonedFirstMage(false), _died(false)
+ {
+ me->setRegeneratingHealth(false);
+ }
+
+ void DamageTaken(Unit* /*source*/, uint32& damage) override
+ {
+ if (damage >= me->GetHealth())
+ {
+ JustDied(NULL);
+ damage = me->GetHealth() - 1;
+ return;
+ }
+
+ if (_summonedFirstMage)
+ return;
+
+ if (me->GetTransport()->GetEntry() != uint32(_teamInInstance == HORDE ? GO_THE_SKYBREAKER_H : GO_ORGRIMS_HAMMER_A))
+ return;
+
+ if (!me->HealthBelowPctDamaged(90, damage))
+ return;
+
+ _summonedFirstMage = true;
+ if (Creature* captain = me->FindNearestCreature(_teamInInstance == HORDE ? NPC_IGB_MURADIN_BRONZEBEARD : NPC_IGB_HIGH_OVERLORD_SAURFANG, 100.0f))
+ captain->AI()->DoAction(ACTION_SPAWN_MAGE);
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ if (_died)
+ return;
+
+ _died = true;
+
+ bool isVictory = me->GetTransport()->GetEntry() == GO_THE_SKYBREAKER_H || me->GetTransport()->GetEntry() == GO_ORGRIMS_HAMMER_A;
+ InstanceScript* instance = me->GetInstanceScript();
+ instance->SetBossState(DATA_ICECROWN_GUNSHIP_BATTLE, isVictory ? DONE : FAIL);
+ if (Creature* creature = me->FindNearestCreature(me->GetEntry() == NPC_ORGRIMS_HAMMER ? NPC_THE_SKYBREAKER : NPC_ORGRIMS_HAMMER, 200.0f))
+ {
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, creature);
+ creature->RemoveAurasDueToSpell(SPELL_CHECK_FOR_PLAYERS);
+ }
+
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
+ me->RemoveAurasDueToSpell(SPELL_CHECK_FOR_PLAYERS);
+
+ me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, 0);
+ std::list<Creature*> creatures;
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_MARTYR_STALKER_IGB_SAURFANG, SIZE_OF_GRIDS);
+ for (std::list<Creature*>::iterator itr = creatures.begin(); itr != creatures.end(); ++itr)
+ {
+ Creature* stalker = *itr;
+ stalker->RemoveAllAuras();
+ stalker->DeleteThreatList();
+ stalker->CombatStop(true);
+ }
+
+ uint32 explosionSpell = isVictory ? SPELL_EXPLOSION_VICTORY : SPELL_EXPLOSION_WIPE;
+ creatures.clear();
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_GUNSHIP_HULL, 200.0f);
+ for (std::list<Creature*>::iterator itr = creatures.begin(); itr != creatures.end(); ++itr)
+ {
+ Creature* hull = *itr;
+ if (hull->GetTransport() != me->GetTransport())
+ continue;
+
+ hull->CastSpell(hull, explosionSpell, TRIGGERED_FULL_MASK);
+ }
+
+ creatures.clear();
+ GetCreatureListWithEntryInGrid(creatures, me, _teamInInstance == HORDE ? NPC_HORDE_GUNSHIP_CANNON : NPC_ALLIANCE_GUNSHIP_CANNON, 200.0f);
+ for (std::list<Creature*>::iterator itr = creatures.begin(); itr != creatures.end(); ++itr)
+ {
+ Creature* cannon = *itr;
+ if (isVictory)
+ {
+ cannon->CastSpell(cannon, SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO, TRIGGERED_FULL_MASK);
+
+ WorldPacket data(SMSG_PLAYER_VEHICLE_DATA, cannon->GetPackGUID().size() + 4);
+ data.append(cannon->GetPackGUID());
+ data << uint32(0);
+ cannon->SendMessageToSet(&data, true);
+
+ cannon->RemoveVehicleKit();
+ }
+ else
+ cannon->CastSpell(cannon, SPELL_EJECT_ALL_PASSENGERS_WIPE, TRIGGERED_FULL_MASK);
+ }
+
+ uint32 creatureEntry = NPC_IGB_MURADIN_BRONZEBEARD;
+ uint8 textId = isVictory ? SAY_MURADIN_VICTORY : SAY_MURADIN_WIPE;
+ if (_teamInInstance == HORDE)
+ {
+ creatureEntry = NPC_IGB_HIGH_OVERLORD_SAURFANG;
+ textId = isVictory ? SAY_SAURFANG_VICTORY : SAY_SAURFANG_WIPE;
+ }
+
+ if (Creature* creature = me->FindNearestCreature(creatureEntry, 100.0f))
+ creature->AI()->Talk(textId);
+
+ if (isVictory)
+ {
+ if (GameObject* go = HashMapHolder<GameObject>::Find(instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (Transport* otherTransport = go->ToTransport())
+ otherTransport->EnableMovement(true);
+
+ me->GetTransport()->EnableMovement(true);
+
+ if (Creature* ship = me->FindNearestCreature(_teamInInstance == HORDE ? NPC_ORGRIMS_HAMMER : NPC_THE_SKYBREAKER, 200.0f))
+ {
+ ship->CastSpell(ship, SPELL_TELEPORT_PLAYERS_ON_VICTORY, TRIGGERED_FULL_MASK);
+ ship->CastSpell(ship, SPELL_ACHIEVEMENT, TRIGGERED_FULL_MASK);
+ ship->CastSpell(ship, SPELL_AWARD_REPUTATION_BOSS_KILL, TRIGGERED_FULL_MASK);
+ }
+
+ creatures.clear();
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_SKYBREAKER_MARINE, 200.0f);
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_SKYBREAKER_SERGEANT, 200.0f);
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_KOR_KRON_REAVER, 200.0f);
+ GetCreatureListWithEntryInGrid(creatures, me, NPC_KOR_KRON_SERGEANT, 200.0f);
+ for (std::list<Creature*>::iterator itr = creatures.begin(); itr != creatures.end(); ++itr)
+ (*itr)->DespawnOrUnsummon(1);
+ }
+ else
+ {
+ uint32 teleportSpellId = _teamInInstance == HORDE ? SPELL_TELEPORT_PLAYERS_ON_RESET_H : SPELL_TELEPORT_PLAYERS_ON_RESET_A;
+ me->m_Events.AddEvent(new ResetEncounterEvent(me, teleportSpellId, me->GetInstanceScript()->GetData64(DATA_ENEMY_GUNSHIP)),
+ me->m_Events.CalculateTime(8000));
+ }
+ }
+
+ void SetGUID(uint64 guid, int32 id/* = 0*/) override
+ {
+ if (id != ACTION_SHIP_VISITS)
+ return;
+
+ std::map<uint64, uint32>::iterator itr = _shipVisits.find(guid);
+ if (itr == _shipVisits.end())
+ _shipVisits[guid] = 1;
+ else
+ ++itr->second;
+ }
+
+ uint32 GetData(uint32 id) const override
+ {
+ if (id != ACTION_SHIP_VISITS)
+ return 0;
+
+ uint32 max = 0;
+ for (std::map<uint64, uint32>::const_iterator itr = _shipVisits.begin(); itr != _shipVisits.end(); ++itr)
+ max = std::max(max, itr->second);
+
+ return max;
+ }
+
+ private:
+ uint32 _teamInInstance;
+ std::map<uint64, uint32> _shipVisits;
+ bool _summonedFirstMage;
+ bool _died;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ if (!creature->GetTransport())
+ return NULL;
+
+ return GetIcecrownCitadelAI<npc_gunshipAI>(creature);
+ }
+};
+
+class npc_high_overlord_saurfang_igb : public CreatureScript
+{
+ public:
+ npc_high_overlord_saurfang_igb() : CreatureScript("npc_high_overlord_saurfang_igb") { }
+
+ struct npc_high_overlord_saurfang_igbAI : public ScriptedAI
+ {
+ npc_high_overlord_saurfang_igbAI(Creature* creature) : ScriptedAI(creature),
+ _instance(creature->GetInstanceScript())
+ {
+ _controller.ResetSlots(HORDE);
+ _controller.SetTransport(creature->GetTransport());
+ me->setRegeneratingHealth(false);
+ me->m_CombatDistance = 70.0f;
+ _firstMageCooldown = time(NULL) + 60;
+ _axethrowersYellCooldown = time_t(0);
+ _rocketeersYellCooldown = time_t(0);
+ }
+
+ void InitializeAI() override
+ {
+ ScriptedAI::InitializeAI();
+
+ _events.Reset();
+ _firstMageCooldown = time(NULL) + 60;
+ _axethrowersYellCooldown = time_t(0);
+ _rocketeersYellCooldown = time_t(0);
+ }
+
+ void EnterCombat(Unit* /*target*/) override
+ {
+ _events.SetPhase(PHASE_COMBAT);
+ DoCast(me, _instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_FRIENDLY_BOSS_DAMAGE_MOD : SPELL_MELEE_TARGETING_ON_ORGRIMS_HAMMER, true);
+ DoCast(me, SPELL_BATTLE_FURY, true);
+ _events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 10000));
+ }
+
+ void EnterEvadeMode() override
+ {
+ if (!me->IsAlive())
+ return;
+
+ me->DeleteThreatList();
+ me->CombatStop(true);
+ me->GetMotionMaster()->MoveTargetedHome();
+
+ Reset();
+ }
+
+ void DoAction(int32 action) override
+ {
+ if (action == ACTION_ENEMY_GUNSHIP_TALK)
+ {
+ if (Creature* muradin = me->FindNearestCreature(NPC_IGB_MURADIN_BRONZEBEARD, 100.0f))
+ muradin->AI()->DoAction(ACTION_SPAWN_ALL_ADDS);
+
+ Talk(SAY_SAURFANG_INTRO_5);
+ _events.ScheduleEvent(EVENT_INTRO_H_5, 4000);
+ _events.ScheduleEvent(EVENT_INTRO_H_6, 11000);
+ _events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1);
+
+ _instance->SetBossState(DATA_ICECROWN_GUNSHIP_BATTLE, IN_PROGRESS);
+ // Combat starts now
+ if (Creature* skybreaker = me->FindNearestCreature(NPC_THE_SKYBREAKER, 100.0f))
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, skybreaker, 1);
+
+ if (Creature* orgrimsHammer = me->FindNearestCreature(NPC_ORGRIMS_HAMMER, 100.0f))
+ {
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, orgrimsHammer, 2);
+ orgrimsHammer->CastSpell(orgrimsHammer, SPELL_CHECK_FOR_PLAYERS, TRIGGERED_FULL_MASK);
+ }
+
+ me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, MUSIC_ENCOUNTER);
+ }
+ else if (action == ACTION_SPAWN_MAGE)
+ {
+ time_t now = time(NULL);
+ if (_firstMageCooldown > now)
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
+ else
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, 1);
+ }
+ else if (action == ACTION_SPAWN_ALL_ADDS)
+ {
+ _events.ScheduleEvent(EVENT_ADDS, 12000);
+ _events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13000);
+ _events.ScheduleEvent(EVENT_CHECK_MORTAR, 13000);
+ if (Is25ManRaid())
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MORTAR_4);
+ else
+ {
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MAGE_2);
+ _controller.SummonCreatures(SLOT_MORTAR_1, SLOT_MORTAR_2);
+ _controller.SummonCreatures(SLOT_RIFLEMAN_1, SLOT_RIFLEMAN_4);
+ }
+ }
+ else if (action == ACTION_EXIT_SHIP)
+ {
+ Position pos;
+ pos.Relocate(SaurfangExitPath[SaurfangExitPathSize - 1].x, SaurfangExitPath[SaurfangExitPathSize - 1].y, SaurfangExitPath[SaurfangExitPathSize - 1].z);
+ me->GetMotionMaster()->MovePoint(EVENT_CHARGE_PREPATH, pos, false);
+
+ Movement::PointsArray path(SaurfangExitPath, SaurfangExitPath + SaurfangExitPathSize);
+
+ Movement::MoveSplineInit init(me);
+ init.DisableTransportPathTransformations();
+ init.MovebyPath(path, 0);
+ init.Launch();
+
+ me->DespawnOrUnsummon(18000);
+ }
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ if (type == ACTION_CLEAR_SLOT)
+ {
+ _controller.ClearSlot(PassengerSlots(data));
+ if (data == SLOT_FREEZE_MAGE)
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, urand(30000, 33500));
+ }
+ }
+
+ void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
+ {
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ me->GetTransport()->EnableMovement(true);
+ _events.SetPhase(PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_H_1, 5000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_H_2, 16000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_SUMMON_SKYBREAKER, 24600, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_H_3, 29600, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_H_4, 39200, 0, PHASE_INTRO);
+ }
+
+ void DamageTaken(Unit* , uint32& damage) override
+ {
+ if (me->HealthBelowPctDamaged(65, damage) && !me->HasAura(SPELL_TASTE_OF_BLOOD))
+ DoCast(me, SPELL_TASTE_OF_BLOOD, true);
+
+ if (damage >= me->GetHealth())
+ damage = me->GetHealth() - 1;
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim() && !_events.IsInPhase(PHASE_INTRO) && _instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ return;
+
+ _events.Update(diff);
+
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_INTRO_H_1:
+ Talk(SAY_SAURFANG_INTRO_1);
+ break;
+ case EVENT_INTRO_H_2:
+ Talk(SAY_SAURFANG_INTRO_2);
+ break;
+ case EVENT_INTRO_SUMMON_SKYBREAKER:
+ sTransportMgr->CreateTransport(GO_THE_SKYBREAKER_H, 0, me->GetMap());
+ break;
+ case EVENT_INTRO_H_3:
+ Talk(SAY_SAURFANG_INTRO_3);
+ break;
+ case EVENT_INTRO_H_4:
+ Talk(SAY_SAURFANG_INTRO_4);
+ break;
+ case EVENT_INTRO_H_5:
+ if (Creature* muradin = me->FindNearestCreature(NPC_IGB_MURADIN_BRONZEBEARD, 100.0f))
+ muradin->AI()->Talk(SAY_MURADIN_INTRO_H);
+ break;
+ case EVENT_INTRO_H_6:
+ Talk(SAY_SAURFANG_INTRO_6);
+ break;
+ case EVENT_KEEP_PLAYER_IN_COMBAT:
+ if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS)
+ {
+ _instance->DoCastSpellOnPlayers(SPELL_LOCK_PLAYERS_AND_TAP_CHEST);
+ _events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, urand(5000, 8000));
+ }
+ break;
+ case EVENT_SUMMON_MAGE:
+ Talk(SAY_SAURFANG_MAGES);
+ _controller.SummonCreatures(SLOT_FREEZE_MAGE, SLOT_FREEZE_MAGE);
+ break;
+ case EVENT_ADDS:
+ Talk(SAY_SAURFANG_ENTER_SKYBREAKER);
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MAGE_2);
+ _controller.SummonCreatures(SLOT_MARINE_1, Is25ManRaid() ? SLOT_MARINE_4 : SLOT_MARINE_2);
+ _controller.SummonCreatures(SLOT_SERGEANT_1, Is25ManRaid() ? SLOT_SERGEANT_2 : SLOT_SERGEANT_1);
+ if (Transport* orgrimsHammer = me->GetTransport())
+ orgrimsHammer->SummonPassenger(NPC_TELEPORT_PORTAL, OrgrimsHammerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, NULL, 21000);
+
+ if (GameObject* go = HashMapHolder<GameObject>::Find(_instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (Transport* skybreaker = go->ToTransport())
+ skybreaker->SummonPassenger(NPC_TELEPORT_EXIT, SkybreakerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, NULL, 23000);
+
+ _events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6000);
+ _events.ScheduleEvent(EVENT_ADDS, 60000);
+ break;
+ case EVENT_ADDS_BOARD_YELL:
+ if (Creature* muradin = me->FindNearestCreature(NPC_IGB_MURADIN_BRONZEBEARD, 200.0f))
+ muradin->AI()->Talk(SAY_MURADIN_BOARD);
+ break;
+ case EVENT_CHECK_RIFLEMAN:
+ if (_controller.SummonCreatures(SLOT_RIFLEMAN_1, Is25ManRaid() ? SLOT_RIFLEMAN_8 : SLOT_RIFLEMAN_4))
+ {
+ if (_axethrowersYellCooldown < time(NULL))
+ {
+ Talk(SAY_SAURFANG_AXETHROWERS);
+ _axethrowersYellCooldown = time(NULL) + 5;
+ }
+ }
+ _events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1000);
+ break;
+ case EVENT_CHECK_MORTAR:
+ if (_controller.SummonCreatures(SLOT_MORTAR_1, Is25ManRaid() ? SLOT_MORTAR_4 : SLOT_MORTAR_2))
+ {
+ if (_rocketeersYellCooldown < time(NULL))
+ {
+ Talk(SAY_SAURFANG_ROCKETEERS);
+ _rocketeersYellCooldown = time(NULL) + 5;
+ }
+ }
+ _events.ScheduleEvent(EVENT_CHECK_MORTAR, 1000);
+ break;
+ case EVENT_CLEAVE:
+ DoCastVictim(SPELL_CLEAVE);
+ _events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 10000));
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (me->IsWithinMeleeRange(me->GetVictim()))
+ DoMeleeAttackIfReady();
+ else if (me->isAttackReady())
+ {
+ DoCastVictim(SPELL_RENDING_THROW);
+ me->resetAttackTimer();
+ }
+ }
+
+ bool CanAIAttack(Unit const* target) const override
+ {
+ if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ return false;
+ return target->HasAura(SPELL_ON_ORGRIMS_HAMMER_DECK) || target->GetEntry() == NPC_SKYBREAKER_MARINE || target->GetEntry() == NPC_SKYBREAKER_SERGEANT;
+ }
+
+ private:
+ EventMap _events;
+ PassengerController _controller;
+ InstanceScript* _instance;
+ time_t _firstMageCooldown;
+ time_t _axethrowersYellCooldown;
+ time_t _rocketeersYellCooldown;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_high_overlord_saurfang_igbAI>(creature);
+ }
+};
+
+class npc_muradin_bronzebeard_igb : public CreatureScript
+{
+ public:
+ npc_muradin_bronzebeard_igb() : CreatureScript("npc_muradin_bronzebeard_igb") { }
+
+ struct npc_muradin_bronzebeard_igbAI : public ScriptedAI
+ {
+ npc_muradin_bronzebeard_igbAI(Creature* creature) : ScriptedAI(creature),
+ _instance(creature->GetInstanceScript())
+ {
+ _controller.ResetSlots(ALLIANCE);
+ _controller.SetTransport(creature->GetTransport());
+ me->setRegeneratingHealth(false);
+ me->m_CombatDistance = 70.0f;
+ _firstMageCooldown = time(NULL) + 60;
+ _riflemanYellCooldown = time_t(0);
+ _mortarYellCooldown = time_t(0);
+ }
+
+ void InitializeAI() override
+ {
+ ScriptedAI::InitializeAI();
+
+ _events.Reset();
+ _firstMageCooldown = time(NULL) + 60;
+ _riflemanYellCooldown = time_t(0);
+ _mortarYellCooldown = time_t(0);
+ }
+
+ void EnterCombat(Unit* /*target*/) override
+ {
+ _events.SetPhase(PHASE_COMBAT);
+ DoCast(me, _instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE ? SPELL_FRIENDLY_BOSS_DAMAGE_MOD : SPELL_MELEE_TARGETING_ON_SKYBREAKER, true);
+ DoCast(me, SPELL_BATTLE_FURY, true);
+ _events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 10000));
+ }
+
+ void EnterEvadeMode() override
+ {
+ if (!me->IsAlive())
+ return;
+
+ me->DeleteThreatList();
+ me->CombatStop(true);
+ me->GetMotionMaster()->MoveTargetedHome();
+
+ Reset();
+ }
+
+ void DoAction(int32 action) override
+ {
+ if (action == ACTION_ENEMY_GUNSHIP_TALK)
+ {
+ if (Creature* muradin = me->FindNearestCreature(NPC_IGB_HIGH_OVERLORD_SAURFANG, 100.0f))
+ muradin->AI()->DoAction(ACTION_SPAWN_ALL_ADDS);
+
+ Talk(SAY_MURADIN_INTRO_6);
+ _events.ScheduleEvent(EVENT_INTRO_A_6, 5000);
+ _events.ScheduleEvent(EVENT_INTRO_A_7, 11000);
+ _events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1);
+
+ _instance->SetBossState(DATA_ICECROWN_GUNSHIP_BATTLE, IN_PROGRESS);
+ // Combat starts now
+ if (Creature* orgrimsHammer = me->FindNearestCreature(NPC_ORGRIMS_HAMMER, 100.0f))
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, orgrimsHammer, 1);
+
+ if (Creature* skybreaker = me->FindNearestCreature(NPC_THE_SKYBREAKER, 100.0f))
+ {
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, skybreaker, 2);
+ skybreaker->CastSpell(skybreaker, SPELL_CHECK_FOR_PLAYERS, TRIGGERED_FULL_MASK);
+ }
+
+ me->GetMap()->SetZoneMusic(AREA_ICECROWN_CITADEL, MUSIC_ENCOUNTER);
+ }
+ else if (action == ACTION_SPAWN_MAGE)
+ {
+ time_t now = time(NULL);
+ if (_firstMageCooldown > now)
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
+ else
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, 1);
+ }
+ else if (action == ACTION_SPAWN_ALL_ADDS)
+ {
+ _events.ScheduleEvent(EVENT_ADDS, 12000);
+ _events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13000);
+ _events.ScheduleEvent(EVENT_CHECK_MORTAR, 13000);
+ if (Is25ManRaid())
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MORTAR_4);
+ else
+ {
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MAGE_2);
+ _controller.SummonCreatures(SLOT_MORTAR_1, SLOT_MORTAR_2);
+ _controller.SummonCreatures(SLOT_RIFLEMAN_1, SLOT_RIFLEMAN_4);
+ }
+ }
+ else if (action == ACTION_EXIT_SHIP)
+ {
+ Position pos;
+ pos.Relocate(MuradinExitPath[MuradinExitPathSize - 1].x, MuradinExitPath[MuradinExitPathSize - 1].y, MuradinExitPath[MuradinExitPathSize - 1].z);
+ me->GetMotionMaster()->MovePoint(EVENT_CHARGE_PREPATH, pos, false);
+
+ Movement::PointsArray path(MuradinExitPath, MuradinExitPath + MuradinExitPathSize);
+
+ Movement::MoveSplineInit init(me);
+ init.DisableTransportPathTransformations();
+ init.MovebyPath(path, 0);
+ init.Launch();
+
+ me->DespawnOrUnsummon(18000);
+ }
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ if (type == ACTION_CLEAR_SLOT)
+ {
+ _controller.ClearSlot(PassengerSlots(data));
+ if (data == SLOT_FREEZE_MAGE)
+ _events.ScheduleEvent(EVENT_SUMMON_MAGE, urand(30000, 33500));
+ }
+ }
+
+ void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
+ {
+ me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ me->GetTransport()->EnableMovement(true);
+ _events.SetPhase(PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_A_1, 5000);
+ _events.ScheduleEvent(EVENT_INTRO_A_2, 10000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_SUMMON_ORGRIMS_HAMMER, 28000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_A_3, 33000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_A_4, 39000, 0, PHASE_INTRO);
+ _events.ScheduleEvent(EVENT_INTRO_A_5, 45000, 0, PHASE_INTRO);
+ }
+
+ void DamageTaken(Unit* , uint32& damage) override
+ {
+ if (me->HealthBelowPctDamaged(65, damage) && me->HasAura(SPELL_TASTE_OF_BLOOD))
+ DoCast(me, SPELL_TASTE_OF_BLOOD, true);
+
+ if (damage >= me->GetHealth())
+ damage = me->GetHealth() - 1;
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim() && !_events.IsInPhase(PHASE_INTRO) && _instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ return;
+
+ _events.Update(diff);
+
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_INTRO_A_1:
+ Talk(SAY_MURADIN_INTRO_1);
+ break;
+ case EVENT_INTRO_A_2:
+ Talk(SAY_MURADIN_INTRO_2);
+ break;
+ case EVENT_INTRO_SUMMON_ORGRIMS_HAMMER:
+ sTransportMgr->CreateTransport(GO_ORGRIMS_HAMMER_A, 0, me->GetMap());
+ break;
+ case EVENT_INTRO_A_3:
+ Talk(SAY_MURADIN_INTRO_3);
+ break;
+ case EVENT_INTRO_A_4:
+ Talk(SAY_MURADIN_INTRO_4);
+ break;
+ case EVENT_INTRO_A_5:
+ Talk(SAY_MURADIN_INTRO_5);
+ break;
+ case EVENT_INTRO_A_6:
+ if (Creature* saurfang = me->FindNearestCreature(NPC_IGB_HIGH_OVERLORD_SAURFANG, 100.0f))
+ saurfang->AI()->Talk(SAY_SAURFANG_INTRO_A);
+ break;
+ case EVENT_INTRO_A_7:
+ Talk(SAY_MURADIN_INTRO_7);
+ break;
+ case EVENT_KEEP_PLAYER_IN_COMBAT:
+ if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == IN_PROGRESS)
+ {
+ _instance->DoCastSpellOnPlayers(SPELL_LOCK_PLAYERS_AND_TAP_CHEST);
+ _events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, urand(5000, 8000));
+ }
+ break;
+ case EVENT_SUMMON_MAGE:
+ Talk(SAY_MURADIN_SORCERERS);
+ _controller.SummonCreatures(SLOT_FREEZE_MAGE, SLOT_FREEZE_MAGE);
+ break;
+ case EVENT_ADDS:
+ Talk(SAY_MURADIN_ENTER_ORGRIMMS_HAMMER);
+ _controller.SummonCreatures(SLOT_MAGE_1, SLOT_MAGE_2);
+ _controller.SummonCreatures(SLOT_MARINE_1, Is25ManRaid() ? SLOT_MARINE_4 : SLOT_MARINE_2);
+ _controller.SummonCreatures(SLOT_SERGEANT_1, Is25ManRaid() ? SLOT_SERGEANT_2 : SLOT_SERGEANT_1);
+ if (Transport* skybreaker = me->GetTransport())
+ skybreaker->SummonPassenger(NPC_TELEPORT_PORTAL, SkybreakerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, NULL, 21000);
+
+ if (GameObject* go = HashMapHolder<GameObject>::Find(_instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (Transport* orgrimsHammer = go->ToTransport())
+ orgrimsHammer->SummonPassenger(NPC_TELEPORT_EXIT, OrgrimsHammerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, NULL, 23000);
+
+ _events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6000);
+ _events.ScheduleEvent(EVENT_ADDS, 60000);
+ break;
+ case EVENT_ADDS_BOARD_YELL:
+ if (Creature* saurfang = me->FindNearestCreature(NPC_IGB_HIGH_OVERLORD_SAURFANG, 200.0f))
+ saurfang->AI()->Talk(SAY_SAURFANG_BOARD);
+ break;
+ case EVENT_CHECK_RIFLEMAN:
+ if (_controller.SummonCreatures(SLOT_RIFLEMAN_1, Is25ManRaid() ? SLOT_RIFLEMAN_8 : SLOT_RIFLEMAN_4))
+ {
+ if (_riflemanYellCooldown < time(NULL))
+ {
+ Talk(SAY_MURADIN_RIFLEMAN);
+ _riflemanYellCooldown = time(NULL) + 5;
+ }
+ }
+ _events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1000);
+ break;
+ case EVENT_CHECK_MORTAR:
+ if (_controller.SummonCreatures(SLOT_MORTAR_1, Is25ManRaid() ? SLOT_MORTAR_4 : SLOT_MORTAR_2))
+ {
+ if (_mortarYellCooldown < time(NULL))
+ {
+ Talk(SAY_MURADIN_MORTAR);
+ _mortarYellCooldown = time(NULL) + 5;
+ }
+ }
+ _events.ScheduleEvent(EVENT_CHECK_MORTAR, 1000);
+ break;
+ case EVENT_CLEAVE:
+ DoCastVictim(SPELL_CLEAVE);
+ _events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 10000));
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (me->IsWithinMeleeRange(me->GetVictim()))
+ DoMeleeAttackIfReady();
+ else if (me->isAttackReady())
+ {
+ DoCastVictim(SPELL_RENDING_THROW);
+ me->resetAttackTimer();
+ }
+ }
+
+ bool CanAIAttack(Unit const* target) const override
+ {
+ if (_instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != IN_PROGRESS)
+ return false;
+ return target->HasAura(SPELL_ON_SKYBREAKER_DECK) || target->GetEntry() == NPC_KOR_KRON_REAVER || target->GetEntry() == NPC_KOR_KRON_SERGEANT;
+ }
+
+ private:
+ EventMap _events;
+ PassengerController _controller;
+ InstanceScript* _instance;
+ time_t _firstMageCooldown;
+ time_t _riflemanYellCooldown;
+ time_t _mortarYellCooldown;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_muradin_bronzebeard_igbAI>(creature);
+ }
+};
+
+class npc_zafod_boombox : public CreatureScript
+{
+ public:
+ npc_zafod_boombox() : CreatureScript("npc_zafod_boombox") { }
+
+ struct npc_zafod_boomboxAI : public gunship_npc_AI
+ {
+ npc_zafod_boomboxAI(Creature* creature) : gunship_npc_AI(creature)
+ {
+ }
+
+ void Reset() override
+ {
+ me->SetReactState(REACT_PASSIVE);
+ }
+
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
+ {
+ player->AddItem(ITEM_GOBLIN_ROCKET_PACK, 1);
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ UpdateVictim();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_zafod_boomboxAI>(creature);
+ }
+};
+
+struct npc_gunship_boarding_addAI : public gunship_npc_AI
+{
+ npc_gunship_boarding_addAI(Creature* creature) : gunship_npc_AI(creature)
+ {
+ me->m_CombatDistance = 80.0f;
+ _usedDesperateResolve = false;
+ }
+
+ void SetData(uint32 type, uint32 data) override
+ {
+ // detach from captain
+ if (type == ACTION_SET_SLOT)
+ {
+ SetSlotInfo(data);
+
+ me->SetReactState(REACT_PASSIVE);
+
+ me->m_Events.AddEvent(new DelayedMovementEvent(me, Slot->TargetPosition), me->m_Events.CalculateTime(3000 * (Index - SLOT_MARINE_1)));
+
+ if (Creature* captain = me->FindNearestCreature(Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? NPC_IGB_MURADIN_BRONZEBEARD : NPC_IGB_HIGH_OVERLORD_SAURFANG, 200.0f))
+ captain->AI()->SetData(ACTION_CLEAR_SLOT, Index);
+ }
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (pointId == EVENT_CHARGE_PREPATH && Slot)
+ {
+ Position const& otherTransportPos = Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? OrgrimsHammerTeleportExit : SkybreakerTeleportExit;
+ float x, y, z, o;
+ otherTransportPos.GetPosition(x, y, z, o);
+
+ Transport* myTransport = me->GetTransport();
+ if (!myTransport)
+ return;
+
+ if (GameObject* go = HashMapHolder<GameObject>::Find(Instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (Transport* destTransport = go->ToTransport())
+ destTransport->CalculatePassengerPosition(x, y, z, &o);
+
+ float angle = frand(0, M_PI * 2.0f);
+ x += 2.0f * std::cos(angle);
+ y += 2.0f * std::sin(angle);
+
+ me->SetHomePosition(x, y, z, o);
+ myTransport->CalculatePassengerOffset(x, y, z, &o);
+ me->SetTransportHomePosition(x, y, z, o);
+
+ me->m_Events.AddEvent(new BattleExperienceEvent(me), me->m_Events.CalculateTime(BattleExperienceEvent::ExperiencedTimes[0]));
+ DoCast(me, SPELL_BATTLE_EXPERIENCE, true);
+ DoCast(me, SPELL_TELEPORT_TO_ENEMY_SHIP, true);
+ DoCast(me, Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_MELEE_TARGETING_ON_ORGRIMS_HAMMER : SPELL_MELEE_TARGETING_ON_SKYBREAKER, true);
+ me->_AddCreatureSpellCooldown(BurningPitchId, time(NULL) + 3);
+
+ std::list<Player*> players;
+ Trinity::UnitAuraCheck check(true, Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_ON_ORGRIMS_HAMMER_DECK : SPELL_ON_SKYBREAKER_DECK);
+ Trinity::PlayerListSearcher<Trinity::UnitAuraCheck> searcher(me, players, check);
+ me->VisitNearbyWorldObject(200.0f, searcher);
+
+ players.remove_if([this](Player* player)
+ {
+ return !me->_IsTargetAcceptable(player) || !me->CanStartAttack(player, true);
+ });
+
+ if (!players.empty())
+ {
+ players.sort(Trinity::ObjectDistanceOrderPred(me));
+ for (std::list<Player*>::iterator itr = players.begin(); itr != players.end(); ++itr)
+ me->AddThreat(*itr, 1.0f);
+
+ AttackStart(players.front());
+ }
+
+ me->SetReactState(REACT_AGGRESSIVE);
+ }
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (_usedDesperateResolve)
+ return;
+
+ if (!me->HealthBelowPctDamaged(25, damage))
+ return;
+
+ _usedDesperateResolve = true;
+ DoCast(me, SPELL_DESPERATE_RESOLVE, true);
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ if (!SelectVictim())
+ {
+ TriggerBurningPitch();
+ return;
+ }
+
+ if (!HasAttackablePlayerNearby())
+ TriggerBurningPitch();
+
+ DoMeleeAttackIfReady();
+ }
+
+ bool CanAIAttack(Unit const* target) const override
+ {
+ uint32 spellId = SPELL_ON_SKYBREAKER_DECK;
+ uint32 creatureEntry = NPC_IGB_MURADIN_BRONZEBEARD;
+ if (Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
+ {
+ spellId = SPELL_ON_ORGRIMS_HAMMER_DECK;
+ creatureEntry = NPC_IGB_HIGH_OVERLORD_SAURFANG;
+ }
+
+ return target->HasAura(spellId) || target->GetEntry() == creatureEntry;
+ }
+
+ bool HasAttackablePlayerNearby()
+ {
+ std::list<Player*> players;
+ Trinity::UnitAuraCheck check(true, Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_ON_ORGRIMS_HAMMER_DECK : SPELL_ON_SKYBREAKER_DECK);
+ Trinity::PlayerListSearcher<Trinity::UnitAuraCheck> searcher(me, players, check);
+ me->VisitNearbyWorldObject(200.0f, searcher);
+
+ players.remove_if([this](Player* player)
+ {
+ return !me->_IsTargetAcceptable(player) || !me->CanStartAttack(player, true);
+ });
+
+ return !players.empty();
+ }
+
+private:
+ bool _usedDesperateResolve;
+};
+
+class npc_gunship_boarding_leader : public CreatureScript
+{
+ public:
+ npc_gunship_boarding_leader() : CreatureScript("npc_gunship_boarding_leader") { }
+
+ struct npc_gunship_boarding_leaderAI : public npc_gunship_boarding_addAI
+ {
+ npc_gunship_boarding_leaderAI(Creature* creature) : npc_gunship_boarding_addAI(creature)
+ {
+ }
+
+ void EnterCombat(Unit* target) override
+ {
+ npc_gunship_boarding_addAI::EnterCombat(target);
+ _events.ScheduleEvent(EVENT_BLADESTORM, urand(13000, 18000));
+ _events.ScheduleEvent(EVENT_WOUNDING_STRIKE, urand(8000, 10000));
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!SelectVictim())
+ {
+ TriggerBurningPitch();
+ return;
+ }
+
+ _events.Update(diff);
+
+ if (me->HasUnitState(UNIT_STATE_CASTING) || me->HasAura(SPELL_BLADESTORM))
+ return;
+
+ if (!HasAttackablePlayerNearby())
+ TriggerBurningPitch();
+
+ while (uint32 eventId = _events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_BLADESTORM:
+ DoCastAOE(SPELL_BLADESTORM);
+ _events.ScheduleEvent(EVENT_BLADESTORM, urand(25000, 30000));
+ break;
+ case EVENT_WOUNDING_STRIKE:
+ DoCastVictim(SPELL_WOUNDING_STRIKE);
+ _events.ScheduleEvent(EVENT_WOUNDING_STRIKE, urand(9000, 13000));
+ break;
+ default:
+ break;
+ }
+ }
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ EventMap _events;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_gunship_boarding_leaderAI>(creature);
+ }
+};
+
+class npc_gunship_boarding_add : public CreatureScript
+{
+ public:
+ npc_gunship_boarding_add() : CreatureScript("npc_gunship_boarding_add") { }
+
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_gunship_boarding_addAI>(creature);
+ }
+};
+
+class npc_gunship_gunner : public CreatureScript
+{
+ public:
+ npc_gunship_gunner() : CreatureScript("npc_gunship_gunner") { }
+
+ struct npc_gunship_gunnerAI : public gunship_npc_AI
+ {
+ npc_gunship_gunnerAI(Creature* creature) : gunship_npc_AI(creature)
+ {
+ creature->m_CombatDistance = 200.0f;
+ }
+
+ void AttackStart(Unit* target) override
+ {
+ me->Attack(target, false);
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ gunship_npc_AI::MovementInform(type, pointId);
+ if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH)
+ me->SetControlled(true, UNIT_STATE_ROOT);
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ if (!SelectVictim())
+ {
+ TriggerBurningPitch();
+ return;
+ }
+
+ DoSpellAttackIfReady(me->GetEntry() == NPC_SKYBREAKER_RIFLEMAN ? SPELL_SHOOT : SPELL_HURL_AXE);
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_gunship_gunnerAI>(creature);
+ }
+};
+
+class npc_gunship_rocketeer : public CreatureScript
+{
+ public:
+ npc_gunship_rocketeer() : CreatureScript("npc_gunship_rocketeer") { }
+
+ struct npc_gunship_rocketeerAI : public gunship_npc_AI
+ {
+ npc_gunship_rocketeerAI(Creature* creature) : gunship_npc_AI(creature)
+ {
+ creature->m_CombatDistance = 200.0f;
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ gunship_npc_AI::MovementInform(type, pointId);
+ if (type == POINT_MOTION_TYPE && pointId == EVENT_CHARGE_PREPATH)
+ me->SetControlled(true, UNIT_STATE_ROOT);
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ if (!SelectVictim())
+ return;
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
+
+ uint32 spellId = me->GetEntry() == NPC_SKYBREAKER_MORTAR_SOLDIER ? SPELL_ROCKET_ARTILLERY_A : SPELL_ROCKET_ARTILLERY_H;
+ if (me->HasSpellCooldown(spellId))
+ return;
+
+ DoCastAOE(spellId, true);
+ me->_AddCreatureSpellCooldown(spellId, time(NULL) + 9);
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_gunship_rocketeerAI>(creature);
+ }
+};
+
+class npc_gunship_mage : public CreatureScript
+{
+ public:
+ npc_gunship_mage() : CreatureScript("npc_gunship_mage") { }
+
+ struct npc_gunship_mageAI : public gunship_npc_AI
+ {
+ npc_gunship_mageAI(Creature* creature) : gunship_npc_AI(creature)
+ {
+ me->SetReactState(REACT_PASSIVE);
+ }
+
+ void EnterEvadeMode() override
+ {
+ ScriptedAI::EnterEvadeMode();
+ }
+
+ void MovementInform(uint32 type, uint32 pointId) override
+ {
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (pointId == EVENT_CHARGE_PREPATH && Slot)
+ {
+ SlotInfo const* slots = Instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SkybreakerSlotInfo : OrgrimsHammerSlotInfo;
+ me->SetFacingTo(slots[Index].TargetPosition.GetOrientation());
+ switch (Index)
+ {
+ case SLOT_FREEZE_MAGE:
+ DoCastAOE(SPELL_BELOW_ZERO);
+ break;
+ case SLOT_MAGE_1:
+ case SLOT_MAGE_2:
+ DoCastAOE(SPELL_SHADOW_CHANNELING);
+ break;
+ default:
+ break;
+ }
+
+ me->SetControlled(true, UNIT_STATE_ROOT);
+ }
+ }
+
+ void UpdateAI(uint32 /*diff*/) override
+ {
+ UpdateVictim();
+ }
+
+ bool CanAIAttack(Unit const* /*target*/) const override
+ {
+ return true;
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetIcecrownCitadelAI<npc_gunship_mageAI>(creature);
+ }
+};
+
+/** @HACK This AI only resets MOVEMENTFLAG_ROOT on the vehicle.
+ Currently the core always removes MOVEMENTFLAG_ROOT sent from client packets to prevent cheaters from freezing clients of other players
+ but it actually is a valid flag - needs more research to fix both freezes and keep the flag as is (see WorldSession::ReadMovementInfo)
+
+Example packet:
+ClientToServer: CMSG_FORCE_MOVE_ROOT_ACK (0x00E9) Length: 67 ConnectionIndex: 0 Time: 03/04/2010 03:57:55.000 Number: 471326
+Guid:
+Movement Counter: 80
+Movement Flags: OnTransport, Root (2560)
+Extra Movement Flags: None (0)
+Time: 52291611
+Position: X: -396.0302 Y: 2482.906 Z: 249.86
+Orientation: 1.468665
+Transport GUID: Full: 0x1FC0000000000460 Type: MOTransport Low: 1120
+Transport Position: X: -6.152398 Y: -23.49037 Z: 21.64464 O: 4.827727
+Transport Time: 9926
+Transport Seat: 255
+Fall Time: 824
+*/
+class npc_gunship_cannon : public CreatureScript
+{
+ public:
+ npc_gunship_cannon() : CreatureScript("npc_gunship_cannon") { }
+
+ struct npc_gunship_cannonAI : public PassiveAI
+ {
+ npc_gunship_cannonAI(Creature* creature) : PassiveAI(creature)
+ {
+ }
+
+ void OnCharmed(bool /*apply*/) override { }
+
+ void PassengerBoarded(Unit* /*passenger*/, int8 /*seat*/, bool apply) override
+ {
+ if (!apply)
+ {
+ me->SetControlled(false, UNIT_STATE_ROOT);
+ me->SetControlled(true, UNIT_STATE_ROOT);
+ }
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_gunship_cannonAI(creature);
+ }
+};
+
+class spell_igb_rocket_pack : public SpellScriptLoader
+{
+ public:
+ spell_igb_rocket_pack() : SpellScriptLoader("spell_igb_rocket_pack") { }
+
+ class spell_igb_rocket_pack_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_igb_rocket_pack_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_ROCKET_PACK_DAMAGE) ||
+ !sSpellMgr->GetSpellInfo(SPELL_ROCKET_BURST))
+ return false;
+
+ return true;
+ }
+
+ void HandlePeriodic(AuraEffect const* /*aurEff*/)
+ {
+ if (GetTarget()->movespline->Finalized())
+ Remove(AURA_REMOVE_BY_EXPIRE);
+ }
+
+ void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
+ {
+ SpellInfo const* damageInfo = sSpellMgr->EnsureSpellInfo(SPELL_ROCKET_PACK_DAMAGE);
+ GetTarget()->CastCustomSpell(SPELL_ROCKET_PACK_DAMAGE, SPELLVALUE_BASE_POINT0, 2 * (damageInfo->Effects[EFFECT_0].CalcValue() + aurEff->GetTickNumber() * aurEff->GetAmplitude()), NULL, TRIGGERED_FULL_MASK);
+ GetTarget()->CastSpell(NULL, SPELL_ROCKET_BURST, TRIGGERED_FULL_MASK);
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_igb_rocket_pack_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ OnEffectRemove += AuraEffectRemoveFn(spell_igb_rocket_pack_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_igb_rocket_pack_AuraScript();
+ }
+};
+
+class spell_igb_rocket_pack_useable : public SpellScriptLoader
+{
+ public:
+ spell_igb_rocket_pack_useable() : SpellScriptLoader("spell_igb_rocket_pack_useable") { }
+
+ class spell_igb_rocket_pack_useable_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_igb_rocket_pack_useable_AuraScript);
+
+ bool Load()
+ {
+ return GetOwner()->GetInstanceScript();
+ }
+
+ bool CheckAreaTarget(Unit* target)
+ {
+ return target->GetTypeId() == TYPEID_PLAYER && GetOwner()->GetInstanceScript()->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE;
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Creature* owner = GetOwner()->ToCreature())
+ if (Player* target = GetTarget()->ToPlayer())
+ if (target->HasItemCount(ITEM_GOBLIN_ROCKET_PACK, 1))
+ sCreatureTextMgr->SendChat(owner, SAY_ZAFOD_ROCKET_PACK_ACTIVE, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, target);
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Creature* owner = GetOwner()->ToCreature())
+ if (Player* target = GetTarget()->ToPlayer())
+ if (target->HasItemCount(ITEM_GOBLIN_ROCKET_PACK, 1))
+ sCreatureTextMgr->SendChat(owner, SAY_ZAFOD_ROCKET_PACK_DISABLED, target, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, target);
+ }
+
+ void Register() override
+ {
+ DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_igb_rocket_pack_useable_AuraScript::CheckAreaTarget);
+ AfterEffectApply += AuraEffectApplyFn(spell_igb_rocket_pack_useable_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_igb_rocket_pack_useable_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_igb_rocket_pack_useable_AuraScript();
+ }
+};
+
+class spell_igb_on_gunship_deck : public SpellScriptLoader
+{
+ public:
+ spell_igb_on_gunship_deck() : SpellScriptLoader("spell_igb_on_gunship_deck") { }
+
+ class spell_igb_on_gunship_deck_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_igb_on_gunship_deck_AuraScript);
+
+ bool Load() override
+ {
+ if (InstanceScript* instance = GetOwner()->GetInstanceScript())
+ _teamInInstance = instance->GetData(DATA_TEAM_IN_INSTANCE);
+ else
+ _teamInInstance = 0;
+ return true;
+ }
+
+ bool CheckAreaTarget(Unit* unit)
+ {
+ return unit->GetTypeId() == TYPEID_PLAYER;
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetSpellInfo()->Id == uint32(_teamInInstance == HORDE ? SPELL_ON_SKYBREAKER_DECK : SPELL_ON_ORGRIMS_HAMMER_DECK))
+ if (Creature* gunship = GetOwner()->FindNearestCreature(_teamInInstance == HORDE ? NPC_ORGRIMS_HAMMER : NPC_THE_SKYBREAKER, 200.0f))
+ gunship->AI()->SetGUID(GetTarget()->GetGUID(), ACTION_SHIP_VISITS);
+ }
+
+ void Register() override
+ {
+ DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_igb_on_gunship_deck_AuraScript::CheckAreaTarget);
+ AfterEffectApply += AuraEffectApplyFn(spell_igb_on_gunship_deck_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+
+ uint32 _teamInInstance;
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_igb_on_gunship_deck_AuraScript();
+ }
+};
+
+class spell_igb_periodic_trigger_with_power_cost : public SpellScriptLoader
+{
+ public:
+ spell_igb_periodic_trigger_with_power_cost() : SpellScriptLoader("spell_igb_periodic_trigger_with_power_cost") { }
+
+ class spell_igb_periodic_trigger_with_power_cost_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_igb_periodic_trigger_with_power_cost_AuraScript);
+
+ void HandlePeriodicTick(AuraEffect const* /*aurEff*/)
+ {
+ PreventDefaultAction();
+ GetTarget()->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_igb_periodic_trigger_with_power_cost_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_igb_periodic_trigger_with_power_cost_AuraScript();
+ }
+};
+
+class spell_igb_cannon_blast : public SpellScriptLoader
+{
+ public:
+ spell_igb_cannon_blast() : SpellScriptLoader("spell_igb_cannon_blast") { }
+
+ class spell_igb_cannon_blast_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_cannon_blast_SpellScript);
+
+ bool Load()
+ {
+ return GetCaster()->GetTypeId() == TYPEID_UNIT;
+ }
+
+ void CheckEnergy()
+ {
+ if (GetCaster()->GetPower(POWER_ENERGY) >= 100)
+ {
+ GetCaster()->CastSpell(GetCaster(), SPELL_OVERHEAT, TRIGGERED_FULL_MASK);
+ if (Vehicle* vehicle = GetCaster()->GetVehicleKit())
+ if (Unit* passenger = vehicle->GetPassenger(0))
+ sCreatureTextMgr->SendChat(GetCaster()->ToCreature(), SAY_OVERHEAT, passenger);
+ }
+ }
+
+ void Register() override
+ {
+ AfterHit += SpellHitFn(spell_igb_cannon_blast_SpellScript::CheckEnergy);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_cannon_blast_SpellScript();
+ }
+};
+
+class spell_igb_incinerating_blast : public SpellScriptLoader
+{
+ public:
+ spell_igb_incinerating_blast() : SpellScriptLoader("spell_igb_incinerating_blast") { }
+
+ class spell_igb_incinerating_blast_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_incinerating_blast_SpellScript);
+
+ void StoreEnergy()
+ {
+ _energyLeft = GetCaster()->GetPower(POWER_ENERGY) - 10;
+ }
+
+ void RemoveEnergy()
+ {
+ GetCaster()->SetPower(POWER_ENERGY, 0);
+ }
+
+ void CalculateDamage(SpellEffIndex /*effIndex*/)
+ {
+ SetEffectValue(GetEffectValue() + _energyLeft * _energyLeft * 8);
+ }
+
+ void Register() override
+ {
+ OnCast += SpellCastFn(spell_igb_incinerating_blast_SpellScript::StoreEnergy);
+ AfterCast += SpellCastFn(spell_igb_incinerating_blast_SpellScript::RemoveEnergy);
+ OnEffectLaunchTarget += SpellEffectFn(spell_igb_incinerating_blast_SpellScript::CalculateDamage, EFFECT_1, SPELL_EFFECT_SCHOOL_DAMAGE);
+ }
+
+ uint32 _energyLeft;
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_incinerating_blast_SpellScript();
+ }
+};
+
+class spell_igb_overheat : public SpellScriptLoader
+{
+ public:
+ spell_igb_overheat() : SpellScriptLoader("spell_igb_overheat") { }
+
+ class spell_igb_overheat_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_igb_overheat_AuraScript);
+
+ bool Load() override
+ {
+ if (GetAura()->GetType() != UNIT_AURA_TYPE)
+ return false;
+ return GetUnitOwner()->IsVehicle();
+ }
+
+ void SendClientControl(uint8 value)
+ {
+ if (Vehicle* vehicle = GetUnitOwner()->GetVehicleKit())
+ {
+ if (Unit* passenger = vehicle->GetPassenger(0))
+ {
+ if (Player* player = passenger->ToPlayer())
+ {
+ WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1);
+ data.append(GetUnitOwner()->GetPackGUID());
+ data << uint8(value);
+ player->GetSession()->SendPacket(&data);
+ }
+ }
+ }
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ SendClientControl(0);
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ SendClientControl(1);
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_igb_overheat_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_igb_overheat_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_igb_overheat_AuraScript();
+ }
+};
+
+class spell_igb_below_zero : public SpellScriptLoader
+{
+ public:
+ spell_igb_below_zero() : SpellScriptLoader("spell_igb_below_zero") { }
+
+ class spell_igb_below_zero_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_below_zero_SpellScript);
+
+ void RemovePassengers()
+ {
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_EJECT_ALL_PASSENGERS_BELOW_ZERO, TRIGGERED_FULL_MASK);
+ }
+
+ void Register() override
+ {
+ BeforeHit += SpellHitFn(spell_igb_below_zero_SpellScript::RemovePassengers);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_below_zero_SpellScript();
+ }
+};
+
+class spell_igb_teleport_to_enemy_ship : public SpellScriptLoader
+{
+ public:
+ spell_igb_teleport_to_enemy_ship() : SpellScriptLoader("spell_igb_teleport_to_enemy_ship") { }
+
+ class spell_igb_teleport_to_enemy_ship_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_teleport_to_enemy_ship_SpellScript);
+
+ void RelocateTransportOffset(SpellEffIndex /*effIndex*/)
+ {
+ WorldLocation const* dest = GetHitDest();
+ Unit* target = GetHitUnit();
+ if (!dest || !target || !target->GetTransport())
+ return;
+
+ float x, y, z, o;
+ dest->GetPosition(x, y, z, o);
+ target->GetTransport()->CalculatePassengerOffset(x, y, z, &o);
+ target->m_movementInfo.transport.pos.Relocate(x, y, z, o);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_igb_teleport_to_enemy_ship_SpellScript::RelocateTransportOffset, EFFECT_0, SPELL_EFFECT_TELEPORT_UNITS);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_teleport_to_enemy_ship_SpellScript();
+ }
+};
+
+class spell_igb_burning_pitch_selector : public SpellScriptLoader
+{
+ public:
+ spell_igb_burning_pitch_selector() : SpellScriptLoader("spell_igb_burning_pitch_selector") { }
+
+ class spell_igb_burning_pitch_selector_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_burning_pitch_selector_SpellScript);
+
+ void FilterTargets(std::list<WorldObject*>& targets)
+ {
+ uint32 team = HORDE;
+ if (InstanceScript* instance = GetCaster()->GetInstanceScript())
+ team = instance->GetData(DATA_TEAM_IN_INSTANCE);
+
+ targets.remove_if([team](WorldObject* target) -> bool
+ {
+ if (Transport* transport = target->GetTransport())
+ return transport->GetEntry() != uint32(team == HORDE ? GO_ORGRIMS_HAMMER_H : GO_THE_SKYBREAKER_A);
+ return true;
+ });
+
+ if (!targets.empty())
+ {
+ WorldObject* target = Trinity::Containers::SelectRandomContainerElement(targets);
+ targets.clear();
+ targets.push_back(target);
+ }
+ }
+
+ void HandleDummy(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), TRIGGERED_NONE);
+ }
+
+ void Register() override
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_burning_pitch_selector_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
+ OnEffectHitTarget += SpellEffectFn(spell_igb_burning_pitch_selector_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_burning_pitch_selector_SpellScript();
+ }
+};
+
+class spell_igb_burning_pitch : public SpellScriptLoader
+{
+ public:
+ spell_igb_burning_pitch() : SpellScriptLoader("spell_igb_burning_pitch") { }
+
+ class spell_igb_burning_pitch_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_burning_pitch_SpellScript);
+
+ void HandleDummy(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ GetCaster()->CastCustomSpell(uint32(GetEffectValue()), SPELLVALUE_BASE_POINT0, 8000, NULL, TRIGGERED_FULL_MASK);
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_BURNING_PITCH, TRIGGERED_FULL_MASK);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_igb_burning_pitch_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_burning_pitch_SpellScript();
+ }
+};
+
+class spell_igb_rocket_artillery : public SpellScriptLoader
+{
+ public:
+ spell_igb_rocket_artillery() : SpellScriptLoader("spell_igb_rocket_artillery") { }
+
+ class spell_igb_rocket_artillery_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_rocket_artillery_SpellScript);
+
+ void SelectRandomTarget(std::list<WorldObject*>& targets)
+ {
+ if (!targets.empty())
+ {
+ WorldObject* target = Trinity::Containers::SelectRandomContainerElement(targets);
+ targets.clear();
+ targets.push_back(target);
+ }
+ }
+
+ void HandleScript(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), TRIGGERED_NONE);
+ }
+
+ void Register() override
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_rocket_artillery_SpellScript::SelectRandomTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
+ OnEffectHitTarget += SpellEffectFn(spell_igb_rocket_artillery_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_rocket_artillery_SpellScript();
+ }
+};
+
+class spell_igb_rocket_artillery_explosion : public SpellScriptLoader
+{
+ public:
+ spell_igb_rocket_artillery_explosion() : SpellScriptLoader("spell_igb_rocket_artillery_explosion") { }
+
+ class spell_igb_rocket_artillery_explosion_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_rocket_artillery_explosion_SpellScript);
+
+ void DamageGunship(SpellEffIndex /*effIndex*/)
+ {
+ if (InstanceScript* instance = GetCaster()->GetInstanceScript())
+ GetCaster()->CastCustomSpell(instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_BURNING_PITCH_DAMAGE_A : SPELL_BURNING_PITCH_DAMAGE_H, SPELLVALUE_BASE_POINT0, 5000, NULL, TRIGGERED_FULL_MASK);
+ }
+
+ void Register() override
+ {
+ OnEffectHit += SpellEffectFn(spell_igb_rocket_artillery_explosion_SpellScript::DamageGunship, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_rocket_artillery_explosion_SpellScript();
+ }
+};
+
+class spell_igb_gunship_fall_teleport : public SpellScriptLoader
+{
+ public:
+ spell_igb_gunship_fall_teleport() : SpellScriptLoader("spell_igb_gunship_fall_teleport") { }
+
+ class spell_igb_gunship_fall_teleport_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_gunship_fall_teleport_SpellScript);
+
+ bool Load()
+ {
+ return GetCaster()->GetInstanceScript();
+ }
+
+ void SelectTransport(WorldObject*& target)
+ {
+ if (InstanceScript* instance = target->GetInstanceScript())
+ target = HashMapHolder<GameObject>::Find(instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE));
+ }
+
+ void RelocateDest(SpellEffIndex /*effIndex*/)
+ {
+ if (GetCaster()->GetInstanceScript()->GetData(DATA_TEAM_IN_INSTANCE) == HORDE)
+ GetHitDest()->RelocateOffset({ 0.0f, 0.0f, 36.0f, 0.0f });
+ else
+ GetHitDest()->RelocateOffset({ 0.0f, 0.0f, 21.0f, 0.0f });
+ }
+
+ void Register() override
+ {
+ OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_igb_gunship_fall_teleport_SpellScript::SelectTransport, EFFECT_0, TARGET_DEST_NEARBY_ENTRY);
+ OnEffectLaunch += SpellEffectFn(spell_igb_gunship_fall_teleport_SpellScript::RelocateDest, EFFECT_0, SPELL_EFFECT_TELEPORT_UNITS);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_gunship_fall_teleport_SpellScript();
+ }
+};
+
+class spell_igb_check_for_players : public SpellScriptLoader
+{
+ public:
+ spell_igb_check_for_players() : SpellScriptLoader("spell_igb_check_for_players") { }
+
+ class spell_igb_check_for_players_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_check_for_players_SpellScript);
+
+ bool Load() override
+ {
+ _playerCount = 0;
+ return GetCaster()->GetTypeId() == TYPEID_UNIT;
+ }
+
+ void CountTargets(std::list<WorldObject*>& targets)
+ {
+ _playerCount = targets.size();
+ }
+
+ void TriggerWipe()
+ {
+ if (!_playerCount)
+ GetCaster()->ToCreature()->AI()->JustDied(NULL);
+ }
+
+ void TeleportPlayer(SpellEffIndex /*effIndex*/)
+ {
+ if (GetHitUnit()->GetPositionZ() < GetCaster()->GetPositionZ() - 10.0f)
+ GetHitUnit()->CastSpell(GetHitUnit(), SPELL_GUNSHIP_FALL_TELEPORT, TRIGGERED_FULL_MASK);
+ }
+
+ void Register() override
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_check_for_players_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
+ AfterCast += SpellCastFn(spell_igb_check_for_players_SpellScript::TriggerWipe);
+ OnEffectHitTarget += SpellEffectFn(spell_igb_check_for_players_SpellScript::TeleportPlayer, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+
+ uint32 _playerCount;
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_check_for_players_SpellScript();
+ }
+};
+
+class spell_igb_teleport_players_on_victory : public SpellScriptLoader
+{
+ public:
+ spell_igb_teleport_players_on_victory() : SpellScriptLoader("spell_igb_teleport_players_on_victory") { }
+
+ class spell_igb_teleport_players_on_victory_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_igb_teleport_players_on_victory_SpellScript);
+
+ bool Load() override
+ {
+ return GetCaster()->GetInstanceScript();
+ }
+
+ void FilterTargets(std::list<WorldObject*>& targets)
+ {
+ InstanceScript* instance = GetCaster()->GetInstanceScript();
+ targets.remove_if([instance](WorldObject* target) -> bool
+ {
+ return target->GetTransGUID() != instance->GetData64(DATA_ENEMY_GUNSHIP);
+ });
+ }
+
+ void Register() override
+ {
+ OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_igb_teleport_players_on_victory_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_igb_teleport_players_on_victory_SpellScript();
+ }
+};
+
+class achievement_im_on_a_boat : public AchievementCriteriaScript
+{
+ public:
+ achievement_im_on_a_boat() : AchievementCriteriaScript("achievement_im_on_a_boat") { }
+
+ bool OnCheck(Player* /*source*/, Unit* target) override
+ {
+ return target->GetAI() && target->GetAI()->GetData(ACTION_SHIP_VISITS) <= 2;
+ }
+};
+
+void AddSC_boss_icecrown_gunship_battle()
+{
+ new npc_gunship();
+ new npc_high_overlord_saurfang_igb();
+ new npc_muradin_bronzebeard_igb();
+ new npc_zafod_boombox();
+ new npc_gunship_boarding_leader();
+ new npc_gunship_boarding_add();
+ new npc_gunship_gunner();
+ new npc_gunship_rocketeer();
+ new npc_gunship_mage();
+ new npc_gunship_cannon();
+ new spell_igb_rocket_pack();
+ new spell_igb_rocket_pack_useable();
+ new spell_igb_on_gunship_deck();
+ new spell_igb_periodic_trigger_with_power_cost();
+ new spell_igb_cannon_blast();
+ new spell_igb_incinerating_blast();
+ new spell_igb_overheat();
+ new spell_igb_below_zero();
+ new spell_igb_teleport_to_enemy_ship();
+ new spell_igb_burning_pitch_selector();
+ new spell_igb_burning_pitch();
+ new spell_igb_rocket_artillery();
+ new spell_igb_rocket_artillery_explosion();
+ new spell_igb_gunship_fall_teleport();
+ new spell_igb_check_for_players();
+ new spell_igb_teleport_players_on_victory();
+ new achievement_im_on_a_boat();
+}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index b678c22bf25..a60d2cfd823 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -220,7 +220,7 @@ class boss_lady_deathwhisper : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetPower(POWER_MANA, me->GetMaxPower(POWER_MANA));
@@ -235,7 +235,7 @@ class boss_lady_deathwhisper : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!_introDone && me->IsWithinDistInMap(who, 110.0f))
@@ -252,7 +252,7 @@ class boss_lady_deathwhisper : public CreatureScript
}
}
- void AttackStart(Unit* victim) OVERRIDE
+ void AttackStart(Unit* victim) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -261,7 +261,7 @@ class boss_lady_deathwhisper : public CreatureScript
me->GetMotionMaster()->MoveChase(victim);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance->CheckRequiredBosses(DATA_LADY_DEATHWHISPER, who->ToPlayer()))
{
@@ -293,7 +293,7 @@ class boss_lady_deathwhisper : public CreatureScript
instance->SetBossState(DATA_LADY_DEATHWHISPER, IN_PROGRESS);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Talk(SAY_DEATH);
@@ -334,7 +334,7 @@ class boss_lady_deathwhisper : public CreatureScript
_JustDied();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_LADY_DEATHWHISPER, FAIL);
@@ -347,13 +347,13 @@ class boss_lady_deathwhisper : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void DamageTaken(Unit* /*damageDealer*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*damageDealer*/, uint32& damage) override
{
// phase transition
if (events.IsInPhase(PHASE_ONE) && damage > uint32(me->GetPower(POWER_MANA)))
@@ -379,7 +379,7 @@ class boss_lady_deathwhisper : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_DARNAVAN)
_darnavanGUID = summon->GetGUID();
@@ -402,7 +402,7 @@ class boss_lady_deathwhisper : public CreatureScript
summon->CastSpell(summon, SPELL_ADHERENT_S_DETERMINATION, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((!UpdateVictim() && !events.IsInPhase(PHASE_INTRO)) || !CheckInRoom())
return;
@@ -545,10 +545,10 @@ class boss_lady_deathwhisper : public CreatureScript
void Summon(uint32 entry, const Position& pos)
{
if (TempSummon* summon = me->SummonCreature(entry, pos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000))
- summon->AI()->DoCast(summon, SPELL_TELEPORT_VISUAL);
+ summon->CastSpell(summon, SPELL_TELEPORT_VISUAL);
}
- void SetGUID(uint64 guid, int32 id/* = 0*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 id/* = 0*/) override
{
if (id != GUID_CULTIST)
return;
@@ -572,12 +572,11 @@ class boss_lady_deathwhisper : public CreatureScript
DoCast(cultist, SPELL_DARK_MARTYRDOM_T);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DARK_MARTYRDOM_T)
{
- Position pos;
- target->GetPosition(&pos);
+ Position pos = target->GetPosition();
if (target->GetEntry() == NPC_CULT_FANATIC)
me->SummonCreature(NPC_REANIMATED_FANATIC, pos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 10000);
else
@@ -618,7 +617,7 @@ class boss_lady_deathwhisper : public CreatureScript
bool _introDone;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_lady_deathwhisperAI>(creature);
}
@@ -635,7 +634,7 @@ class npc_cult_fanatic : public CreatureScript
{
npc_cult_fanaticAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_FANATIC_NECROTIC_STRIKE, urand(10000, 12000));
@@ -645,7 +644,7 @@ class npc_cult_fanatic : public CreatureScript
Events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM, urand(18000, 32000));
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DARK_TRANSFORMATION)
me->UpdateEntry(NPC_DEFORMED_FANATIC);
@@ -657,7 +656,7 @@ class npc_cult_fanatic : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -697,7 +696,7 @@ class npc_cult_fanatic : public CreatureScript
EventMap Events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_cult_fanaticAI>(creature);
}
@@ -712,7 +711,7 @@ class npc_cult_adherent : public CreatureScript
{
npc_cult_adherentAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_ADHERENT_FROST_FEVER, urand(10000, 12000));
@@ -723,7 +722,7 @@ class npc_cult_adherent : public CreatureScript
Events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM, urand(18000, 32000));
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DARK_EMPOWERMENT)
me->UpdateEntry(NPC_EMPOWERED_ADHERENT);
@@ -735,7 +734,7 @@ class npc_cult_adherent : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -783,7 +782,7 @@ class npc_cult_adherent : public CreatureScript
EventMap Events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_cult_adherentAI>(creature);
}
@@ -802,12 +801,12 @@ class npc_vengeful_shade : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->AddAura(SPELL_VENGEFUL_BLAST_PASSIVE, me);
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -823,7 +822,7 @@ class npc_vengeful_shade : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_vengeful_shadeAI>(creature);
}
@@ -840,7 +839,7 @@ class npc_darnavan : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_DARNAVAN_BLADESTORM, 10000);
@@ -851,7 +850,7 @@ class npc_darnavan : public CreatureScript
_canShatter = true;
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_events.Reset();
if (Player* owner = killer->GetCharmerOrOwnerPlayerOrPlayerItself())
@@ -867,7 +866,7 @@ class npc_darnavan : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE || id != POINT_DESPAWN)
return;
@@ -875,12 +874,12 @@ class npc_darnavan : public CreatureScript
me->DespawnOrUnsummon();
}
- void EnterCombat(Unit* /*victim*/) OVERRIDE
+ void EnterCombat(Unit* /*victim*/) override
{
Talk(SAY_DARNAVAN_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -890,7 +889,7 @@ class npc_darnavan : public CreatureScript
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
- if (_canShatter && me->GetVictim() && me->GetVictim()->IsImmunedToDamage(SPELL_SCHOOL_MASK_NORMAL))
+ if (_canShatter && me->GetVictim() && me->EnsureVictim()->IsImmunedToDamage(SPELL_SCHOOL_MASK_NORMAL))
{
DoCastVictim(SPELL_SHATTERING_THROW);
_canShatter = false;
@@ -944,7 +943,7 @@ class npc_darnavan : public CreatureScript
bool _canShatter;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_darnavanAI>(creature);
}
@@ -970,13 +969,13 @@ class spell_deathwhisper_mana_barrier : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_deathwhisper_mana_barrier_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_deathwhisper_mana_barrier_AuraScript();
}
@@ -1001,13 +1000,13 @@ class spell_cultist_dark_martyrdom : public SpellScriptLoader
GetCaster()->SetDisplayId(uint32(GetCaster()->GetEntry() == NPC_CULT_FANATIC ? 38009 : 38010));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_cultist_dark_martyrdom_SpellScript::HandleEffect, EFFECT_2, SPELL_EFFECT_FORCE_DESELECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_cultist_dark_martyrdom_SpellScript();
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 162382e91b0..5022cd4f645 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -135,7 +135,7 @@ class boss_lord_marrowgar : public CreatureScript
_boneSlice = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetSpeed(MOVE_RUN, _baseSpeed, true);
@@ -150,7 +150,7 @@ class boss_lord_marrowgar : public CreatureScript
_boneSpikeImmune.clear();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -159,27 +159,27 @@ class boss_lord_marrowgar : public CreatureScript
instance->SetBossState(DATA_LORD_MARROWGAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_LORD_MARROWGAR, FAIL);
instance->SetData(DATA_BONED_ACHIEVEMENT, uint32(true)); // reset
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!_introDone && me->IsWithinDistInMap(who, 70.0f))
@@ -189,7 +189,7 @@ class boss_lord_marrowgar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -274,7 +274,7 @@ class boss_lord_marrowgar : public CreatureScript
DoMeleeAttackIfReady();
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE || id != POINT_TARGET_BONESTORM_PLAYER)
return;
@@ -288,7 +288,7 @@ class boss_lord_marrowgar : public CreatureScript
return &_coldflameLastPos;
}
- uint64 GetGUID(int32 type /*= 0 */) const OVERRIDE
+ uint64 GetGUID(int32 type /*= 0 */) const override
{
switch (type)
{
@@ -309,7 +309,7 @@ class boss_lord_marrowgar : public CreatureScript
return 0LL;
}
- void SetGUID(uint64 guid, int32 type /*= 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 type /*= 0 */) override
{
switch (type)
{
@@ -322,7 +322,7 @@ class boss_lord_marrowgar : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_CLEAR_SPIKE_IMMUNITIES)
return;
@@ -340,7 +340,7 @@ class boss_lord_marrowgar : public CreatureScript
bool _boneSlice;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_lord_marrowgarAI>(creature);
}
@@ -359,7 +359,7 @@ class npc_coldflame : public CreatureScript
{
}
- void IsSummonedBy(Unit* owner) OVERRIDE
+ void IsSummonedBy(Unit* owner) override
{
if (owner->GetTypeId() != TYPEID_UNIT)
return;
@@ -395,14 +395,13 @@ class npc_coldflame : public CreatureScript
_events.ScheduleEvent(EVENT_COLDFLAME_TRIGGER, 500);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
if (_events.ExecuteEvent() == EVENT_COLDFLAME_TRIGGER)
{
- Position newPos;
- me->GetNearPosition(newPos, 5.0f, 0.0f);
+ Position newPos = me->GetNearPosition(5.0f, 0.0f);
me->NearTeleportTo(newPos.GetPositionX(), newPos.GetPositionY(), me->GetPositionZ(), me->GetOrientation());
DoCast(SPELL_COLDFLAME_SUMMON);
_events.ScheduleEvent(EVENT_COLDFLAME_TRIGGER, 500);
@@ -413,7 +412,7 @@ class npc_coldflame : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_coldflameAI>(creature);
}
@@ -433,7 +432,7 @@ class npc_bone_spike : public CreatureScript
SetCombatMovement(false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (TempSummon* summ = me->ToTempSummon())
if (Unit* trapped = summ->GetSummoner())
@@ -442,13 +441,13 @@ class npc_bone_spike : public CreatureScript
me->DespawnOrUnsummon();
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
me->DespawnOrUnsummon();
victim->RemoveAurasDueToSpell(SPELL_IMPALED);
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
DoCast(summoner, SPELL_IMPALED);
summoner->CastSpell(me, SPELL_RIDE_VEHICLE, true);
@@ -456,7 +455,7 @@ class npc_bone_spike : public CreatureScript
_hasTrappedUnit = true;
}
- void PassengerBoarded(Unit* passenger, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* passenger, int8 /*seat*/, bool apply) override
{
if (!apply)
return;
@@ -470,7 +469,7 @@ class npc_bone_spike : public CreatureScript
init.Launch();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_hasTrappedUnit)
return;
@@ -487,7 +486,7 @@ class npc_bone_spike : public CreatureScript
bool _hasTrappedUnit;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_bone_spikeAI>(creature);
}
@@ -522,14 +521,14 @@ class spell_marrowgar_coldflame : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_marrowgar_coldflame_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_coldflame_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_marrowgar_coldflame_SpellScript();
}
@@ -551,13 +550,13 @@ class spell_marrowgar_coldflame_bonestorm : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue() + i), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_coldflame_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_marrowgar_coldflame_SpellScript();
}
@@ -587,13 +586,13 @@ class spell_marrowgar_coldflame_damage : public SpellScriptLoader
return true;
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_marrowgar_coldflame_damage_AuraScript::CanBeAppliedOn);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_marrowgar_coldflame_damage_AuraScript();
}
@@ -608,7 +607,7 @@ class spell_marrowgar_bone_spike_graveyard : public SpellScriptLoader
{
PrepareSpellScript(spell_marrowgar_bone_spike_graveyard_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
for (uint32 i = 0; i < 3; ++i)
if (!sSpellMgr->GetSpellInfo(BoneSpikeSummonId[i]))
@@ -617,7 +616,7 @@ class spell_marrowgar_bone_spike_graveyard : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT && GetCaster()->IsAIEnabled;
}
@@ -651,14 +650,14 @@ class spell_marrowgar_bone_spike_graveyard : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_marrowgar_bone_spike_graveyard_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_bone_spike_graveyard_SpellScript::HandleSpikes, EFFECT_1, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_marrowgar_bone_spike_graveyard_SpellScript();
}
@@ -678,13 +677,13 @@ class spell_marrowgar_bone_storm : public SpellScriptLoader
SetHitDamage(int32(GetHitDamage() / std::max(sqrtf(GetHitUnit()->GetExactDist2d(GetCaster())), 1.0f)));
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_marrowgar_bone_storm_SpellScript::RecalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_marrowgar_bone_storm_SpellScript();
}
@@ -699,7 +698,7 @@ class spell_marrowgar_bone_slice : public SpellScriptLoader
{
PrepareSpellScript(spell_marrowgar_bone_slice_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_targetCount = 0;
return true;
@@ -726,7 +725,7 @@ class spell_marrowgar_bone_slice : public SpellScriptLoader
SetHitDamage(GetHitDamage() / _targetCount);
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeCast += SpellCastFn(spell_marrowgar_bone_slice_SpellScript::ClearSpikeImmunities);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_marrowgar_bone_slice_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
@@ -736,7 +735,7 @@ class spell_marrowgar_bone_slice : public SpellScriptLoader
uint32 _targetCount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_marrowgar_bone_slice_SpellScript();
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index ac4d18adb8b..c408c486b30 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -225,7 +225,7 @@ class boss_professor_putricide : public CreatureScript
_phase = PHASE_NONE;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!(events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)))
instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, NOT_STARTED);
@@ -244,7 +244,7 @@ class boss_professor_putricide : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT))
return;
@@ -272,7 +272,7 @@ class boss_professor_putricide : public CreatureScript
instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, IN_PROGRESS);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
me->SetWalk(false);
@@ -280,13 +280,13 @@ class boss_professor_putricide : public CreatureScript
instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, FAIL);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -297,7 +297,7 @@ class boss_professor_putricide : public CreatureScript
DoCast(SPELL_MUTATED_PLAGUE_CLEAR);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
switch (summon->GetEntry())
@@ -341,7 +341,7 @@ class boss_professor_putricide : public CreatureScript
DoZoneInCombat(summon);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
switch (_phase)
{
@@ -362,7 +362,7 @@ class boss_professor_putricide : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -413,7 +413,7 @@ class boss_professor_putricide : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -538,7 +538,7 @@ class boss_professor_putricide : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -555,13 +555,13 @@ class boss_professor_putricide : public CreatureScript
return 0;
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
if (id == DATA_EXPERIMENT_STAGE)
_experimentState = bool(data);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((!(events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)) && !UpdateVictim()) || !CheckInRoom())
return;
@@ -708,7 +708,7 @@ class boss_professor_putricide : public CreatureScript
bool _experimentState;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_professor_putricideAI>(creature);
}
@@ -722,19 +722,19 @@ class npc_putricide_oozeAI : public ScriptedAI
{
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
{
if (!_newTargetSelectTimer && spell->Id == sSpellMgr->GetSpellIdForDifficulty(_hitTargetSpellId, me))
_newTargetSelectTimer = 1000;
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_TEAR_GAS_CREATURE)
_newTargetSelectTimer = 1000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !_newTargetSelectTimer)
return;
@@ -783,7 +783,7 @@ class npc_volatile_ooze : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_volatile_oozeAI>(creature);
}
@@ -810,7 +810,7 @@ class npc_gas_cloud : public CreatureScript
uint32 _newTargetSelectTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_gas_cloudAI>(creature);
}
@@ -836,13 +836,13 @@ class spell_putricide_gaseous_bloat : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_gaseous_bloat_AuraScript::HandleExtraEffect, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_putricide_gaseous_bloat_AuraScript();
}
@@ -857,7 +857,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
{
PrepareSpellScript(spell_putricide_ooze_channel_SpellScript);
- bool Validate(SpellInfo const* spell) OVERRIDE
+ bool Validate(SpellInfo const* spell) override
{
if (!spell->ExcludeTargetAuraSpell)
return false;
@@ -868,7 +868,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
// set up initial variables and check if caster is creature
// this will let use safely use ToCreature() casts in entire script
- bool Load() OVERRIDE
+ bool Load() override
{
_target = NULL;
return GetCaster()->GetTypeId() == TYPEID_UNIT;
@@ -904,7 +904,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_ooze_channel_SpellScript::SetTarget, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -915,7 +915,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
WorldObject* _target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_ooze_channel_SpellScript();
}
@@ -950,14 +950,14 @@ class spell_putricide_slime_puddle : public SpellScriptLoader
targets.remove_if(ExactDistanceCheck(GetCaster(), 2.5f * GetCaster()->GetObjectScale()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_slime_puddle_SpellScript::ScaleRange, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_slime_puddle_SpellScript();
}
@@ -979,13 +979,13 @@ class spell_putricide_slime_puddle_aura : public SpellScriptLoader
GetCaster()->AddAura((GetCaster()->GetMap()->GetSpawnMode() & 1) ? 72456 : 70346, target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_putricide_slime_puddle_aura_SpellScript::ReplaceAura);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_slime_puddle_aura_SpellScript();
}
@@ -1027,13 +1027,13 @@ class spell_putricide_unstable_experiment : public SpellScriptLoader
GetCaster()->CastSpell(target, uint32(GetSpellInfo()->Effects[stage].CalcValue()), true, NULL, NULL, GetCaster()->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_unstable_experiment_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_unstable_experiment_SpellScript();
}
@@ -1058,13 +1058,13 @@ class spell_putricide_ooze_eruption_searcher : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_ooze_eruption_searcher_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_ooze_eruption_searcher_SpellScript();
}
@@ -1092,13 +1092,13 @@ class spell_putricide_choking_gas_bomb : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_choking_gas_bomb_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_choking_gas_bomb_SpellScript();
}
@@ -1113,7 +1113,7 @@ class spell_putricide_unbound_plague : public SpellScriptLoader
{
PrepareSpellScript(spell_putricide_unbound_plague_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNBOUND_PLAGUE))
return false;
@@ -1170,14 +1170,14 @@ class spell_putricide_unbound_plague : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_unbound_plague_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
OnEffectHitTarget += SpellEffectFn(spell_putricide_unbound_plague_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_unbound_plague_SpellScript();
}
@@ -1222,14 +1222,14 @@ class spell_putricide_eat_ooze : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_eat_ooze_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_eat_ooze_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_eat_ooze_SpellScript();
}
@@ -1272,14 +1272,14 @@ class spell_putricide_mutated_plague : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), healSpell, true, NULL, NULL, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_putricide_mutated_plague_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutated_plague_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_putricide_mutated_plague_AuraScript();
}
@@ -1338,7 +1338,7 @@ class spell_putricide_mutation_init : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_putricide_mutation_init_SpellScript::CheckRequirement);
}
@@ -1357,18 +1357,18 @@ class spell_putricide_mutation_init : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutation_init_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_mutation_init_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_putricide_mutation_init_AuraScript();
}
@@ -1389,13 +1389,13 @@ class spell_putricide_mutated_transformation_dismiss : public SpellScriptLoader
veh->RemoveAllPassengers();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_putricide_mutated_transformation_dismiss_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_putricide_mutated_transformation_dismiss_AuraScript();
}
@@ -1436,8 +1436,7 @@ class spell_putricide_mutated_transformation : public SpellScriptLoader
SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(uint32(GetSpellInfo()->Effects[effIndex].MiscValueB));
uint32 duration = uint32(GetSpellInfo()->GetDuration());
- Position pos;
- caster->GetPosition(&pos);
+ Position pos = caster->GetPosition();
TempSummon* summon = caster->GetMap()->SummonCreature(entry, pos, properties, duration, caster, GetSpellInfo()->Id);
if (!summon || !summon->IsVehicle())
return;
@@ -1451,13 +1450,13 @@ class spell_putricide_mutated_transformation : public SpellScriptLoader
putricide->AI()->JustSummoned(summon);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_putricide_mutated_transformation_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_mutated_transformation_SpellScript();
}
@@ -1478,13 +1477,13 @@ class spell_putricide_mutated_transformation_dmg : public SpellScriptLoader
targets.remove(owner);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_putricide_mutated_transformation_dmg_SpellScript::FilterTargetsInitial, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_mutated_transformation_dmg_SpellScript();
}
@@ -1506,13 +1505,13 @@ class spell_putricide_regurgitated_ooze : public SpellScriptLoader
instance->SetData(DATA_NAUSEA_ACHIEVEMENT, uint32(false));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_regurgitated_ooze_SpellScript::ExtraEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_regurgitated_ooze_SpellScript();
}
@@ -1535,13 +1534,13 @@ class spell_putricide_clear_aura_effect_value : public SpellScriptLoader
GetHitUnit()->RemoveAurasDueToSpell(auraId);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_putricide_clear_aura_effect_value_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_putricide_clear_aura_effect_value_SpellScript();
}
@@ -1566,13 +1565,13 @@ class spell_stinky_precious_decimate : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_stinky_precious_decimate_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_stinky_precious_decimate_SpellScript();
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index e3c21c6b88e..8766781de7c 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -102,7 +102,7 @@ class boss_rotface : public CreatureScript
infectionCooldown = 14000;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20000);
@@ -115,7 +115,7 @@ class boss_rotface : public CreatureScript
infectionCooldown = 14000;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance->CheckRequiredBosses(DATA_ROTFACE, who->ToPlayer()))
{
@@ -133,7 +133,7 @@ class boss_rotface : public CreatureScript
DoCast(me, SPELL_GREEN_ABOMINATION_HITTIN__YA_PROC, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->DoRemoveAurasDueToSpellOnPlayers(MUTATED_INFECTION);
_JustDied();
@@ -142,45 +142,45 @@ class boss_rotface : public CreatureScript
professor->AI()->DoAction(ACTION_ROTFACE_DEATH);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_ROTFACE, FAIL);
instance->SetData(DATA_OOZE_DANCE_ACHIEVEMENT, uint32(true)); // reset
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->EnterEvadeMode();
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_SLIME_SPRAY)
Talk(SAY_SLIME_SPRAY);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
// don't enter combat
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_VILE_GAS_STALKER)
if (Creature* professor = Unit::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
professor->CastSpell(summon, SPELL_VILE_GAS_H, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -231,7 +231,7 @@ class boss_rotface : public CreatureScript
uint32 infectionStage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_rotfaceAI>(creature);
}
@@ -248,7 +248,7 @@ class npc_little_ooze : public CreatureScript
{
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
DoCast(me, SPELL_LITTLE_OOZE_COMBINE, true);
DoCast(me, SPELL_WEAK_RADIATING_OOZE, true);
@@ -257,12 +257,12 @@ class npc_little_ooze : public CreatureScript
me->AddThreat(summoner, 500000.0f);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -282,7 +282,7 @@ class npc_little_ooze : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_little_oozeAI>(creature);
}
@@ -299,7 +299,7 @@ class npc_big_ooze : public CreatureScript
{
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCast(me, SPELL_LARGE_OOZE_COMBINE, true);
DoCast(me, SPELL_LARGE_OOZE_BUFF_COMBINE, true);
@@ -312,20 +312,20 @@ class npc_big_ooze : public CreatureScript
rotface->AI()->JustSummoned(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* rotface = Unit::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
rotface->AI()->SummonedCreatureDespawn(me);
me->DespawnOrUnsummon();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == EVENT_STICKY_OOZE)
events.CancelEvent(EVENT_STICKY_OOZE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -353,7 +353,7 @@ class npc_big_ooze : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_big_oozeAI>(creature);
}
@@ -371,7 +371,7 @@ class npc_precious_icc : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
@@ -380,19 +380,19 @@ class npc_precious_icc : public CreatureScript
_summons.DespawnAll();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
_summons.Summon(summon);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
summon->AI()->AttackStart(target);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
_summons.Despawn(summon);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_summons.DespawnAll();
if (Creature* rotface = Unit::GetCreature(*me, _instance->GetData64(DATA_ROTFACE)))
@@ -400,7 +400,7 @@ class npc_precious_icc : public CreatureScript
rotface->AI()->Talk(SAY_PRECIOUS_DIES);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -442,7 +442,7 @@ class npc_precious_icc : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_precious_iccAI>(creature);
}
@@ -485,14 +485,14 @@ class spell_rotface_ooze_flood : public SpellScriptLoader
targets.pop_front();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rotface_ooze_flood_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_ooze_flood_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_ooze_flood_SpellScript();
}
@@ -507,7 +507,7 @@ class spell_rotface_mutated_infection : public SpellScriptLoader
{
PrepareSpellScript(spell_rotface_mutated_infection_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_target = NULL;
return true;
@@ -541,7 +541,7 @@ class spell_rotface_mutated_infection : public SpellScriptLoader
caster->AI()->Talk(EMOTE_MUTATED_INFECTION, target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rotface_mutated_infection_SpellScript::ReplaceTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -552,7 +552,7 @@ class spell_rotface_mutated_infection : public SpellScriptLoader
WorldObject* _target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_mutated_infection_SpellScript();
}
@@ -578,13 +578,13 @@ class spell_rotface_little_ooze_combine : public SpellScriptLoader
GetHitCreature()->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rotface_little_ooze_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_little_ooze_combine_SpellScript();
}
@@ -620,13 +620,13 @@ class spell_rotface_large_ooze_combine : public SpellScriptLoader
GetHitCreature()->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rotface_large_ooze_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_large_ooze_combine_SpellScript();
}
@@ -675,13 +675,13 @@ class spell_rotface_large_ooze_buff_combine : public SpellScriptLoader
GetHitCreature()->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rotface_large_ooze_buff_combine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_large_ooze_buff_combine_SpellScript();
}
@@ -696,7 +696,7 @@ class spell_rotface_unstable_ooze_explosion_init : public SpellScriptLoader
{
PrepareSpellScript(spell_rotface_unstable_ooze_explosion_init_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER))
return false;
@@ -715,13 +715,13 @@ class spell_rotface_unstable_ooze_explosion_init : public SpellScriptLoader
GetCaster()->CastSpell(dummy, SPELL_UNSTABLE_OOZE_EXPLOSION_TRIGGER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rotface_unstable_ooze_explosion_init_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_unstable_ooze_explosion_init_SpellScript();
}
@@ -752,13 +752,13 @@ class spell_rotface_unstable_ooze_explosion : public SpellScriptLoader
rotface->CastSpell(x, y, z, triggered_spell_id, true, NULL, NULL, GetCaster()->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_rotface_unstable_ooze_explosion_SpellScript::CheckTarget, EFFECT_0, SPELL_EFFECT_TRIGGER_MISSILE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rotface_unstable_ooze_explosion_SpellScript();
}
@@ -785,13 +785,13 @@ class spell_rotface_unstable_ooze_explosion_suicide : public SpellScriptLoader
target->ToCreature()->DespawnOrUnsummon(60000);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rotface_unstable_ooze_explosion_suicide_AuraScript::DespawnSelf, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rotface_unstable_ooze_explosion_suicide_AuraScript();
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index b1141e31d39..76c5a93f9c5 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -223,7 +223,7 @@ class boss_sindragosa : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
BossAI::Reset();
me->SetReactState(REACT_DEFENSIVE);
@@ -246,7 +246,7 @@ class boss_sindragosa : public CreatureScript
}
}
- void JustDied(Unit* /* killer */) OVERRIDE
+ void JustDied(Unit* /* killer */) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -256,7 +256,7 @@ class boss_sindragosa : public CreatureScript
}
- void EnterCombat(Unit* victim) OVERRIDE
+ void EnterCombat(Unit* victim) override
{
if (!instance->CheckRequiredBosses(DATA_SINDRAGOSA, victim->ToPlayer()))
{
@@ -271,7 +271,7 @@ class boss_sindragosa : public CreatureScript
Talk(SAY_AGGRO);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
BossAI::JustReachedHome();
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
@@ -279,13 +279,13 @@ class boss_sindragosa : public CreatureScript
me->SetDisableGravity(false);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -312,14 +312,14 @@ class boss_sindragosa : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_MYSTIC_BUFFET_STACK)
return _mysticBuffetStack;
return 0xFFFFFFFF;
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
return;
@@ -373,7 +373,7 @@ class boss_sindragosa : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!_isThirdPhase && !HealthAbovePct(35))
{
@@ -383,7 +383,7 @@ class boss_sindragosa : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
if (summon->GetEntry() == NPC_FROST_BOMB)
@@ -394,14 +394,14 @@ class boss_sindragosa : public CreatureScript
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
BossAI::SummonedCreatureDespawn(summon);
if (summon->GetEntry() == NPC_ICE_TOMB)
summon->AI()->JustDied(summon);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(70127, me))
if (spellId == spell->Id)
@@ -410,7 +410,7 @@ class boss_sindragosa : public CreatureScript
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -542,7 +542,7 @@ class boss_sindragosa : public CreatureScript
bool _summoned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_sindragosaAI>(creature);
}
@@ -561,12 +561,12 @@ class npc_ice_tomb : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
}
- void SetGUID(uint64 guid, int32 type/* = 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 type/* = 0 */) override
{
if (type == DATA_TRAPPED_PLAYER)
{
@@ -575,14 +575,14 @@ class npc_ice_tomb : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_TRIGGER_ASPHYXIATION)
if (Player* player = ObjectAccessor::GetPlayer(*me, _trappedPlayerGUID))
player->CastSpell(player, SPELL_ASPHYXIATION, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->RemoveAllGameObjects();
@@ -594,7 +594,7 @@ class npc_ice_tomb : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_trappedPlayerGUID)
return;
@@ -620,7 +620,7 @@ class npc_ice_tomb : public CreatureScript
uint32 _existenceCheckTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_ice_tombAI>(creature);
}
@@ -637,7 +637,7 @@ class npc_spinestalker : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
// Increase add count
if (!me->isDead())
@@ -647,7 +647,7 @@ class npc_spinestalker : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(20000, 25000));
@@ -662,18 +662,18 @@ class npc_spinestalker : public CreatureScript
}
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
ScriptedAI::JustRespawned();
_instance->SetData(DATA_SINDRAGOSA_FROSTWYRMS, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -696,7 +696,7 @@ class npc_spinestalker : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != EFFECT_MOTION_TYPE || point != POINT_FROSTWYRM_LAND)
return;
@@ -710,7 +710,7 @@ class npc_spinestalker : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -750,7 +750,7 @@ class npc_spinestalker : public CreatureScript
bool _summoned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_spinestalkerAI>(creature);
}
@@ -767,7 +767,7 @@ class npc_rimefang : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
// Increase add count
if (!me->isDead())
@@ -777,7 +777,7 @@ class npc_rimefang : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, urand(12000, 15000));
@@ -792,18 +792,18 @@ class npc_rimefang : public CreatureScript
}
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
ScriptedAI::JustRespawned();
_instance->SetData(DATA_SINDRAGOSA_FROSTWYRMS, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_FROSTWYRM)
{
@@ -826,7 +826,7 @@ class npc_rimefang : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != EFFECT_MOTION_TYPE || point != POINT_FROSTWYRM_LAND)
return;
@@ -840,12 +840,12 @@ class npc_rimefang : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void EnterCombat(Unit* /*victim*/) OVERRIDE
+ void EnterCombat(Unit* /*victim*/) override
{
DoCast(me, SPELL_FROST_AURA_RIMEFANG, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -907,7 +907,7 @@ class npc_rimefang : public CreatureScript
bool _summoned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_rimefangAI>(creature);
}
@@ -925,7 +925,7 @@ class npc_sindragosa_trash : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
_frostwyrmId = (me->GetHomePosition().GetPositionY() < 2484.35f) ? DATA_RIMEFANG : DATA_SPINESTALKER;
// Increase add count
@@ -937,7 +937,7 @@ class npc_sindragosa_trash : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
// This is shared AI for handler and whelps
if (me->GetEntry() == NPC_FROSTWARDEN_HANDLER)
@@ -949,7 +949,7 @@ class npc_sindragosa_trash : public CreatureScript
_isTaunted = false;
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
ScriptedAI::JustRespawned();
@@ -958,13 +958,13 @@ class npc_sindragosa_trash : public CreatureScript
_instance->SetData(_frostwyrmId, me->GetDBTableGUIDLow()); // this cannot be in Reset because reset also happens on evade
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_WHELP_MARKER)
_isTaunted = data != 0;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_FROSTWYRM_OWNER)
return _frostwyrmId;
@@ -973,7 +973,7 @@ class npc_sindragosa_trash : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1010,7 +1010,7 @@ class npc_sindragosa_trash : public CreatureScript
bool _isTaunted; // Frostwing Whelp only
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_sindragosa_trashAI>(creature);
}
@@ -1025,7 +1025,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader
{
PrepareSpellScript(spell_sindragosa_s_fury_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_targetCount = 0;
@@ -1074,7 +1074,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader
GetCaster()->DealSpellDamage(&damageInfo, false);
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeCast += SpellCastFn(spell_sindragosa_s_fury_SpellScript::SelectDest);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_s_fury_SpellScript::CountTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
@@ -1084,7 +1084,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader
uint32 _targetCount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_s_fury_SpellScript();
}
@@ -1120,13 +1120,13 @@ class spell_sindragosa_unchained_magic : public SpellScriptLoader
Trinity::Containers::RandomResizeList(unitList, maxSize);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_unchained_magic_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_unchained_magic_SpellScript();
}
@@ -1165,13 +1165,13 @@ class spell_sindragosa_frost_breath : public SpellScriptLoader
target->CastSpell(target, SPELL_FROST_INFUSION, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_sindragosa_frost_breath_SpellScript::HandleInfusion);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_frost_breath_SpellScript();
}
@@ -1186,7 +1186,7 @@ class spell_sindragosa_instability : public SpellScriptLoader
{
PrepareAuraScript(spell_sindragosa_instability_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BACKLASH))
return false;
@@ -1199,13 +1199,13 @@ class spell_sindragosa_instability : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_BACKLASH, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_sindragosa_instability_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sindragosa_instability_AuraScript();
}
@@ -1220,7 +1220,7 @@ class spell_sindragosa_frost_beacon : public SpellScriptLoader
{
PrepareAuraScript(spell_sindragosa_frost_beacon_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ICE_TOMB_DAMAGE))
return false;
@@ -1234,13 +1234,13 @@ class spell_sindragosa_frost_beacon : public SpellScriptLoader
caster->CastSpell(GetTarget(), SPELL_ICE_TOMB_DAMAGE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sindragosa_frost_beacon_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sindragosa_frost_beacon_AuraScript();
}
@@ -1255,7 +1255,7 @@ class spell_sindragosa_ice_tomb : public SpellScriptLoader
{
PrepareSpellScript(spell_sindragosa_ice_tomb_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sObjectMgr->GetCreatureTemplate(NPC_ICE_TOMB))
return false;
@@ -1266,8 +1266,7 @@ class spell_sindragosa_ice_tomb : public SpellScriptLoader
void SummonTomb()
{
- Position pos;
- GetHitUnit()->GetPosition(&pos);
+ Position pos = GetHitUnit()->GetPosition();
if (TempSummon* summon = GetCaster()->SummonCreature(NPC_ICE_TOMB, pos))
{
summon->AI()->SetGUID(GetHitUnit()->GetGUID(), DATA_TRAPPED_PLAYER);
@@ -1279,7 +1278,7 @@ class spell_sindragosa_ice_tomb : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_sindragosa_ice_tomb_SpellScript::SummonTomb);
}
@@ -1294,18 +1293,18 @@ class spell_sindragosa_ice_tomb : public SpellScriptLoader
PreventDefaultAction();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sindragosa_ice_tomb_AuraScript::PeriodicTick, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_ice_tomb_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sindragosa_ice_tomb_AuraScript();
}
@@ -1320,7 +1319,7 @@ class spell_sindragosa_icy_grip : public SpellScriptLoader
{
PrepareSpellScript(spell_sindragosa_icy_grip_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ICY_GRIP_JUMP))
return false;
@@ -1333,13 +1332,13 @@ class spell_sindragosa_icy_grip : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), SPELL_ICY_GRIP_JUMP, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sindragosa_icy_grip_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_icy_grip_SpellScript();
}
@@ -1373,13 +1372,13 @@ class spell_sindragosa_mystic_buffet : public SpellScriptLoader
targets.remove_if(MysticBuffetTargetFilter(GetCaster()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sindragosa_mystic_buffet_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sindragosa_mystic_buffet_SpellScript();
}
@@ -1394,7 +1393,7 @@ class spell_rimefang_icy_blast : public SpellScriptLoader
{
PrepareSpellScript(spell_rimefang_icy_blast_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ICY_BLAST_AREA))
return false;
@@ -1409,13 +1408,13 @@ class spell_rimefang_icy_blast : public SpellScriptLoader
summon->CastSpell(summon, SPELL_ICY_BLAST_AREA, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_rimefang_icy_blast_SpellScript::HandleTriggerMissile, EFFECT_1, SPELL_EFFECT_TRIGGER_MISSILE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rimefang_icy_blast_SpellScript();
}
@@ -1446,7 +1445,7 @@ class spell_frostwarden_handler_order_whelp : public SpellScriptLoader
{
PrepareSpellScript(spell_frostwarden_handler_order_whelp_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FOCUS_FIRE))
return false;
@@ -1479,14 +1478,14 @@ class spell_frostwarden_handler_order_whelp : public SpellScriptLoader
Trinity::Containers::SelectRandomContainerElement(unitList)->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_frostwarden_handler_order_whelp_SpellScript::HandleForcedCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_frostwarden_handler_order_whelp_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_frostwarden_handler_order_whelp_SpellScript();
}
@@ -1508,7 +1507,7 @@ class spell_frostwarden_handler_focus_fire : public SpellScriptLoader
GetCaster()->GetAI()->SetData(DATA_WHELP_MARKER, 1);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_frostwarden_handler_focus_fire_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
@@ -1528,18 +1527,18 @@ class spell_frostwarden_handler_focus_fire : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_frostwarden_handler_focus_fire_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_frostwarden_handler_focus_fire_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_frostwarden_handler_focus_fire_AuraScript();
}
@@ -1550,7 +1549,7 @@ class at_sindragosa_lair : public AreaTriggerScript
public:
at_sindragosa_lair() : AreaTriggerScript("at_sindragosa_lair") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
{
@@ -1582,7 +1581,7 @@ class achievement_all_you_can_eat : public AchievementCriteriaScript
public:
achievement_all_you_can_eat() : AchievementCriteriaScript("achievement_all_you_can_eat") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
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 d79c6a7f8e3..569a81ee9cc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -485,7 +485,7 @@ class boss_the_lich_king : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_PASSIVE);
@@ -495,7 +495,7 @@ class boss_the_lich_king : public CreatureScript
SetEquipmentSlots(true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
DoCastAOE(SPELL_PLAY_MOVIE, false);
@@ -506,7 +506,7 @@ class boss_the_lich_king : public CreatureScript
frostmourne->DespawnOrUnsummon();
}
- void EnterCombat(Unit* target) OVERRIDE
+ void EnterCombat(Unit* target) override
{
if (!instance->CheckRequiredBosses(DATA_THE_LICH_KING, target->ToPlayer()))
{
@@ -528,7 +528,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15500, 0, PHASE_ONE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
instance->SetBossState(DATA_THE_LICH_KING, NOT_STARTED);
@@ -539,16 +539,16 @@ class boss_the_lich_king : public CreatureScript
me->VisitNearbyGridObject(333.0f, worker);
// Reset any light override
- SendLightOverride(0, 5000);
+ me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, 0, 5000);
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
// The Lich King must not select targets in frostmourne room if he killed everyone outside
return !target->HasAura(SPELL_IN_FROSTMOURNE_ROOM);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->SetBossState(DATA_THE_LICH_KING, FAIL);
BossAI::EnterEvadeMode();
@@ -559,20 +559,20 @@ class boss_the_lich_king : public CreatureScript
summons.DoAction(ACTION_TELEPORT_BACK, pred);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER && !me->IsInEvadeMode() && !events.IsInPhase(PHASE_OUTRO))
Talk(SAY_LK_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
case ACTION_START_ENCOUNTER:
instance->SetBossState(DATA_THE_LICH_KING, IN_PROGRESS);
Talk(SAY_LK_INTRO_1);
- SendMusicToPlayers(MUSIC_FROZEN_THRONE);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_FROZEN_THRONE);
// schedule talks
me->SetStandState(UNIT_STAND_STATE_STAND);
events.ScheduleEvent(EVENT_INTRO_MOVE_1, 4000);
@@ -581,10 +581,10 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_START_ATTACK, 5000);
break;
case ACTION_PLAY_MUSIC:
- SendMusicToPlayers(MUSIC_FINAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_FINAL);
break;
case ACTION_RESTORE_LIGHT:
- SendLightOverride(0, 5000);
+ me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, 0, 5000);
break;
case ACTION_BREAK_FROSTMOURNE:
me->CastSpell((Unit*)NULL, SPELL_SUMMON_BROKEN_FROSTMOURNE, TRIGGERED_IGNORE_CAST_IN_PROGRESS);
@@ -609,7 +609,7 @@ class boss_the_lich_king : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -624,7 +624,7 @@ class boss_the_lich_king : public CreatureScript
return 0;
}
- void SetData(uint32 type, uint32 value) OVERRIDE
+ void SetData(uint32 type, uint32 value) override
{
switch (type)
{
@@ -639,7 +639,7 @@ class boss_the_lich_king : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (events.IsInPhase(PHASE_ONE) && !HealthAbovePct(70))
{
@@ -666,7 +666,7 @@ class boss_the_lich_king : public CreatureScript
events.Reset();
events.SetPhase(PHASE_OUTRO);
summons.DespawnAll();
- SendMusicToPlayers(MUSIC_FURY_OF_FROSTMOURNE);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_FURY_OF_FROSTMOURNE);
me->InterruptNonMeleeSpells(true);
me->CastSpell((Unit*)NULL, SPELL_FURY_OF_FROSTMOURNE, TRIGGERED_NONE);
me->SetWalk(true);
@@ -684,7 +684,7 @@ class boss_the_lich_king : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
switch (summon->GetEntry())
{
@@ -718,8 +718,8 @@ class boss_the_lich_king : public CreatureScript
{
summon->CastSpell((Unit*)NULL, SPELL_BROKEN_FROSTMOURNE, true);
- SendLightOverride(LIGHT_SOULSTORM, 10000);
- SendWeather(WEATHER_STATE_BLACKSNOW);
+ me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SOULSTORM, 10000);
+ me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_BLACKSNOW, 0.5f);
events.ScheduleEvent(EVENT_OUTRO_SOUL_BARRAGE, 5000, 0, PHASE_OUTRO);
return;
@@ -744,7 +744,7 @@ class boss_the_lich_king : public CreatureScript
BossAI::JustSummoned(summon);
}
- void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) override
{
switch (summon->GetEntry())
{
@@ -761,22 +761,22 @@ class boss_the_lich_king : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_HARVESTED_SOUL && me->IsInCombat() && !IsHeroic())
Talk(SAY_LK_FROSTMOURNE_KILL);
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
{
if (spell->Id == REMORSELESS_WINTER_1 || spell->Id == REMORSELESS_WINTER_2)
{
- SendLightOverride(LIGHT_SNOWSTORM, 5000);
- SendWeather(WEATHER_STATE_LIGHT_SNOW);
+ me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SNOWSTORM, 5000);
+ me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_LIGHT_SNOW, 0.5f);
}
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -798,7 +798,7 @@ class boss_the_lich_king : public CreatureScript
case POINT_CENTER_1:
me->SetFacingTo(0.0f);
Talk(SAY_LK_REMORSELESS_WINTER);
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
DoCast(me, SPELL_REMORSELESS_WINTER_1);
events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions
events.ScheduleEvent(EVENT_QUAKE, 62500, 0, PHASE_TRANSITION);
@@ -813,7 +813,7 @@ class boss_the_lich_king : public CreatureScript
case POINT_CENTER_2:
me->SetFacingTo(0.0f);
Talk(SAY_LK_REMORSELESS_WINTER);
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
DoCast(me, SPELL_REMORSELESS_WINTER_2);
summons.DespawnEntry(NPC_VALKYR_SHADOWGUARD);
events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions
@@ -842,7 +842,7 @@ class boss_the_lich_king : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// 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)))
@@ -899,7 +899,7 @@ class boss_the_lich_king : public CreatureScript
break;
case EVENT_SUMMON_SHAMBLING_HORROR:
DoCast(me, SPELL_SUMMON_SHAMBLING_HORROR);
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
events.ScheduleEvent(EVENT_SUMMON_SHAMBLING_HORROR, 60000, 0, PHASE_ONE);
break;
case EVENT_SUMMON_DRUDGE_GHOUL:
@@ -959,18 +959,18 @@ class boss_the_lich_king : public CreatureScript
events.SetPhase(PHASE_TWO);
me->ClearUnitState(UNIT_STATE_CASTING); // clear state to ensure check in DoCastAOE passes
DoCastAOE(SPELL_QUAKE);
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
Talk(SAY_LK_QUAKE);
break;
case EVENT_QUAKE_2:
events.SetPhase(PHASE_THREE);
me->ClearUnitState(UNIT_STATE_CASTING); // clear state to ensure check in DoCastAOE passes
DoCastAOE(SPELL_QUAKE);
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
Talk(SAY_LK_QUAKE);
break;
case EVENT_SUMMON_VALKYR:
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
Talk(SAY_LK_SUMMON_VALKYR);
DoCastAOE(SUMMON_VALKYR);
events.ScheduleEvent(EVENT_SUMMON_VALKYR, urand(45000, 50000), 0, PHASE_TWO);
@@ -981,7 +981,7 @@ class boss_the_lich_king : public CreatureScript
events.SetPhase(PHASE_THREE);
break;
case EVENT_VILE_SPIRITS:
- SendMusicToPlayers(MUSIC_SPECIAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
DoCastAOE(SPELL_VILE_SPIRITS);
events.ScheduleEvent(EVENT_VILE_SPIRITS, urand(35000, 40000), EVENT_GROUP_VILE_SPIRITS, PHASE_THREE);
break;
@@ -1052,7 +1052,7 @@ class boss_the_lich_king : public CreatureScript
case EVENT_OUTRO_RAISE_DEAD:
DoCastAOE(SPELL_RAISE_DEAD);
me->ClearUnitState(UNIT_STATE_CASTING);
- SendMusicToPlayers(MUSIC_FINAL);
+ me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_FINAL);
break;
case EVENT_OUTRO_TALK_5:
Talk(SAY_LK_OUTRO_5);
@@ -1093,48 +1093,11 @@ class boss_the_lich_king : public CreatureScript
}
private:
- void SendMusicToPlayers(uint32 musicId) const
- {
- WorldPacket data(SMSG_PLAY_MUSIC, 4);
- data << uint32(musicId);
- data << uint64(me->GetGUID());
- SendPacketToPlayers(&data);
- }
-
- void SendLightOverride(uint32 overrideId, uint32 fadeInTime) const
- {
- WorldPacket data(SMSG_OVERRIDE_LIGHT, 12);
- data << uint32(2488); // Light.dbc entry (map default)
- data << uint32(overrideId); // Light.dbc entry (override)
- data << uint32(fadeInTime);
- SendPacketToPlayers(&data);
- }
-
- void SendWeather(WeatherState weather) const
- {
- WorldPacket data(SMSG_WEATHER, 9);
- data << uint32(weather);
- data << float(0.5f);
- data << uint8(0);
- SendPacketToPlayers(&data);
- }
-
- // Send packet to all players in The Frozen Throne
- void SendPacketToPlayers(WorldPacket const* data) const
- {
- Map::PlayerList const& players = me->GetMap()->GetPlayers();
- if (!players.isEmpty())
- for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
- if (Player* player = itr->GetSource())
- if (player->GetAreaId() == AREA_THE_FROZEN_THRONE)
- player->GetSession()->SendPacket(data);
- }
-
uint32 _necroticPlagueStack;
uint32 _vileSpiritExplosions;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_the_lich_kingAI>(creature);
}
@@ -1152,14 +1115,14 @@ class npc_tirion_fordring_tft : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
if (_instance->GetBossState(DATA_THE_LICH_KING) == DONE)
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -1177,7 +1140,7 @@ class npc_tirion_fordring_tft : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1195,7 +1158,7 @@ class npc_tirion_fordring_tft : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ICE_LOCK)
me->SetFacingTo(3.085098f);
@@ -1203,7 +1166,7 @@ class npc_tirion_fordring_tft : public CreatureScript
SetEquipmentSlots(true); // remove glow on ashbringer
}
- void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) override
{
if (me->GetCreatureTemplate()->GossipMenuId == sender && !action)
{
@@ -1214,7 +1177,7 @@ class npc_tirion_fordring_tft : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
@@ -1224,7 +1187,7 @@ class npc_tirion_fordring_tft : public CreatureScript
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !(_events.IsInPhase(PHASE_OUTRO) || _events.IsInPhase(PHASE_INTRO)))
return;
@@ -1284,7 +1247,7 @@ class npc_tirion_fordring_tft : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_tirion_fordringAI>(creature);
}
@@ -1302,14 +1265,14 @@ class npc_shambling_horror_icc : public CreatureScript
_frenzied = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SHOCKWAVE, urand(20000, 25000));
_events.ScheduleEvent(EVENT_ENRAGE, urand(11000, 14000));
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (!_frenzied && IsHeroic() && me->HealthBelowPctDamaged(20, damage))
{
@@ -1318,7 +1281,7 @@ class npc_shambling_horror_icc : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1353,7 +1316,7 @@ class npc_shambling_horror_icc : public CreatureScript
bool _frenzied;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_shambling_horror_iccAI>(creature);
}
@@ -1371,7 +1334,7 @@ class npc_raging_spirit : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SOUL_SHRIEK, urand(12000, 15000));
@@ -1383,14 +1346,14 @@ class npc_raging_spirit : public CreatureScript
DoCast(me, SPELL_BOSS_HITTIN_YA, true);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
// player is the spellcaster so register summon manually
if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
lichKing->AI()->JustSummoned(me);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
lichKing->AI()->SummonedCreatureDespawn(me);
@@ -1398,7 +1361,7 @@ class npc_raging_spirit : public CreatureScript
summon->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1429,7 +1392,7 @@ class npc_raging_spirit : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_raging_spiritAI>(creature);
}
@@ -1447,7 +1410,7 @@ class npc_valkyr_shadowguard : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
me->SetReactState(REACT_PASSIVE);
@@ -1455,13 +1418,13 @@ class npc_valkyr_shadowguard : public CreatureScript
me->SetSpeed(MOVE_FLIGHT, 0.642857f, true);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2500);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (!IsHeroic())
return;
@@ -1478,7 +1441,7 @@ class npc_valkyr_shadowguard : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
// schedule siphon life event (heroic only)
DoZoneInCombat();
@@ -1486,11 +1449,11 @@ class npc_valkyr_shadowguard : public CreatureScript
_events.ScheduleEvent(EVENT_LIFE_SIPHON, 2000);
}
- void AttackStart(Unit* /*target*/) OVERRIDE
+ void AttackStart(Unit* /*target*/) override
{
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -1528,12 +1491,12 @@ class npc_valkyr_shadowguard : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 /* = 0*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /* = 0*/) override
{
_grabbedPlayer = guid;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1577,7 +1540,7 @@ class npc_valkyr_shadowguard : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_valkyr_shadowguardAI>(creature);
}
@@ -1595,7 +1558,7 @@ class npc_strangulate_vehicle : public CreatureScript
{
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
me->SetFacingToObject(summoner);
DoCast(summoner, SPELL_HARVEST_SOUL_VEHICLE);
@@ -1608,7 +1571,7 @@ class npc_strangulate_vehicle : public CreatureScript
lichKing->AI()->JustSummoned(me);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_TELEPORT_BACK)
return;
@@ -1626,7 +1589,7 @@ class npc_strangulate_vehicle : public CreatureScript
lichKing->AI()->SummonedCreatureDespawn(me);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -1662,8 +1625,7 @@ class npc_strangulate_vehicle : public CreatureScript
{
if (me->GetExactDist(lichKing) > 10.0f)
{
- Position pos;
- lichKing->GetNearPosition(pos, float(rand_norm()) * 5.0f + 7.5f, lichKing->GetAngle(me));
+ Position pos = lichKing->GetNearPosition(float(rand_norm()) * 5.0f + 7.5f, lichKing->GetAngle(me));
me->GetMotionMaster()->MovePoint(0, pos);
}
}
@@ -1684,7 +1646,7 @@ class npc_strangulate_vehicle : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_strangulate_vehicleAI>(creature);
}
@@ -1702,12 +1664,12 @@ class npc_terenas_menethil : public CreatureScript
{
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
return target->GetEntry() != NPC_THE_LICH_KING;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1734,7 +1696,7 @@ class npc_terenas_menethil : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
// no running back home
if (!me->IsAlive())
@@ -1744,7 +1706,7 @@ class npc_terenas_menethil : public CreatureScript
me->CombatStop(false);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -1765,7 +1727,7 @@ class npc_terenas_menethil : public CreatureScript
}
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
_events.Reset();
_events.SetPhase(PHASE_OUTRO);
@@ -1776,7 +1738,7 @@ class npc_terenas_menethil : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_2, 14000, 0, PHASE_OUTRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -1837,7 +1799,7 @@ class npc_terenas_menethil : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_terenas_menethilAI>(creature);
}
@@ -1855,20 +1817,20 @@ class npc_spirit_warden : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SOUL_RIP, urand(12000, 15000));
DoCast(SPELL_DARK_HUNGER);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* terenas = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TERENAS_MENETHIL)))
terenas->AI()->DoAction(ACTION_TELEPORT_BACK);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1896,7 +1858,7 @@ class npc_spirit_warden : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_spirit_wardenAI>(creature);
}
@@ -1913,7 +1875,7 @@ class npc_spirit_bomb : public CreatureScript
{
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
float destX, destY, destZ;
me->GetPosition(destX, destY);
@@ -1922,7 +1884,7 @@ class npc_spirit_bomb : public CreatureScript
me->GetMotionMaster()->MovePoint(POINT_GROUND, destX, destY, destZ);
}
- void MovementInform(uint32 type, uint32 point) OVERRIDE
+ void MovementInform(uint32 type, uint32 point) override
{
if (type != POINT_MOTION_TYPE || point != POINT_GROUND)
return;
@@ -1932,18 +1894,18 @@ class npc_spirit_bomb : public CreatureScript
me->DespawnOrUnsummon(1000);
}
- void AttackStart(Unit* /*victim*/) OVERRIDE
+ void AttackStart(Unit* /*victim*/) override
{
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
UpdateVictim();
// no melee attacks
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_spirit_bombAI>(creature);
}
@@ -1960,28 +1922,28 @@ class npc_broken_frostmourne : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
_events.SetPhase(PHASE_OUTRO);
_events.ScheduleEvent(EVENT_OUTRO_KNOCK_BACK, 3000, 0, PHASE_OUTRO);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_SUMMON_TERENAS)
_events.ScheduleEvent(EVENT_OUTRO_SUMMON_TERENAS, 6000, 0, PHASE_OUTRO);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -2009,7 +1971,7 @@ class npc_broken_frostmourne : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_broken_frostmourneAI>(creature);
}
@@ -2042,14 +2004,14 @@ class spell_the_lich_king_infest : public SpellScriptLoader
aurEff->SetAmount(int32(aurEff->GetAmount() * 1.15f));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_the_lich_king_infest_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_the_lich_king_infest_AuraScript::OnUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_infest_AuraScript();
}
@@ -2064,7 +2026,7 @@ class spell_the_lich_king_necrotic_plague : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_necrotic_plague_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NECROTIC_PLAGUE_JUMP))
return false;
@@ -2091,13 +2053,13 @@ class spell_the_lich_king_necrotic_plague : public SpellScriptLoader
caster->CastSpell(caster, SPELL_PLAGUE_SIPHON, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_the_lich_king_necrotic_plague_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_necrotic_plague_AuraScript();
}
@@ -2112,7 +2074,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_necrotic_plague_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_hadAura = false;
return true;
@@ -2139,7 +2101,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
GetHitAura()->ModStackAmount(1);
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeHit += SpellHitFn(spell_the_lich_king_necrotic_plague_SpellScript::CheckAura);
OnHit += SpellHitFn(spell_the_lich_king_necrotic_plague_SpellScript::AddMissingStack);
@@ -2152,7 +2114,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_necrotic_plague_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_lastAmount = 0;
return true;
@@ -2205,7 +2167,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
Remove(AURA_REMOVE_BY_ENEMY_SPELL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_the_lich_king_necrotic_plague_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
AfterEffectRemove += AuraEffectRemoveFn(spell_the_lich_king_necrotic_plague_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
@@ -2216,12 +2178,12 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
int32 _lastAmount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_necrotic_plague_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_necrotic_plague_AuraScript();
}
@@ -2242,13 +2204,13 @@ class spell_the_lich_king_shadow_trap_visual : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOW_TRAP_AURA, TRIGGERED_NONE);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_the_lich_king_shadow_trap_visual_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_shadow_trap_visual_AuraScript();
}
@@ -2271,13 +2233,13 @@ class spell_the_lich_king_shadow_trap_periodic : public SpellScriptLoader
GetCaster()->CastSpell((Unit*)NULL, SPELL_SHADOW_TRAP_KNOCKBACK, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_shadow_trap_periodic_SpellScript::CheckTargetCount, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_shadow_trap_periodic_SpellScript();
}
@@ -2292,7 +2254,7 @@ class spell_the_lich_king_quake : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_quake_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetInstanceScript() != NULL;
}
@@ -2309,14 +2271,14 @@ class spell_the_lich_king_quake : public SpellScriptLoader
GetCaster()->GetAI()->DoAction(ACTION_START_ATTACK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_quake_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHit += SpellEffectFn(spell_the_lich_king_quake_SpellScript::HandleSendEvent, EFFECT_1, SPELL_EFFECT_SEND_EVENT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_quake_SpellScript();
}
@@ -2331,7 +2293,7 @@ class spell_the_lich_king_ice_burst_target_search : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_ice_burst_target_search_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ICE_BURST))
return false;
@@ -2353,13 +2315,13 @@ class spell_the_lich_king_ice_burst_target_search : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_ice_burst_target_search_SpellScript::CheckTargetCount, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_ice_burst_target_search_SpellScript();
}
@@ -2374,7 +2336,7 @@ class spell_the_lich_king_raging_spirit : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_raging_spirit_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LIFE_SIPHON_HEAL))
return false;
@@ -2387,13 +2349,13 @@ class spell_the_lich_king_raging_spirit : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_raging_spirit_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_raging_spirit_SpellScript();
}
@@ -2437,7 +2399,7 @@ class spell_the_lich_king_defile : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_DEFILE_GROW, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_defile_SpellScript::CorrectRange, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_defile_SpellScript::CorrectRange, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -2445,7 +2407,7 @@ class spell_the_lich_king_defile : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_defile_SpellScript();
}
@@ -2474,13 +2436,13 @@ class spell_the_lich_king_summon_into_air : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_the_lich_king_summon_into_air_SpellScript::ModDestHeight, EFFECT_0, SPELL_EFFECT_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_summon_into_air_SpellScript();
}
@@ -2495,7 +2457,7 @@ class spell_the_lich_king_soul_reaper : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_soul_reaper_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SOUL_REAPER_BUFF))
return false;
@@ -2508,13 +2470,13 @@ class spell_the_lich_king_soul_reaper : public SpellScriptLoader
GetTarget()->CastSpell(caster, SPELL_SOUL_REAPER_BUFF, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_the_lich_king_soul_reaper_AuraScript::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_soul_reaper_AuraScript();
}
@@ -2529,14 +2491,14 @@ class spell_the_lich_king_valkyr_target_search : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_valkyr_target_search_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ICE_BURST))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_target = NULL;
return true;
@@ -2570,7 +2532,7 @@ class spell_the_lich_king_valkyr_target_search : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), SPELL_CHARGE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_valkyr_target_search_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_valkyr_target_search_SpellScript::ReplaceTarget, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -2580,44 +2542,12 @@ class spell_the_lich_king_valkyr_target_search : public SpellScriptLoader
WorldObject* _target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_valkyr_target_search_SpellScript();
}
};
-class spell_the_lich_king_eject_all_passengers : public SpellScriptLoader
-{
- public:
- spell_the_lich_king_eject_all_passengers() : SpellScriptLoader("spell_the_lich_king_eject_all_passengers") { }
-
- class spell_the_lich_king_eject_all_passengers_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_the_lich_king_eject_all_passengers_SpellScript);
-
- bool Load() OVERRIDE
- {
- return GetCaster()->IsVehicle();
- }
-
- void HandleDummy(SpellEffIndex effIndex)
- {
- PreventHitDefaultEffect(effIndex);
- GetCaster()->GetVehicleKit()->RemoveAllPassengers();
- }
-
- void Register() OVERRIDE
- {
- OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_eject_all_passengers_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
- }
- };
-
- SpellScript* GetSpellScript() const OVERRIDE
- {
- return new spell_the_lich_king_eject_all_passengers_SpellScript();
- }
-};
-
class spell_the_lich_king_cast_back_to_caster : public SpellScriptLoader
{
public:
@@ -2632,13 +2562,13 @@ class spell_the_lich_king_cast_back_to_caster : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_cast_back_to_caster_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_cast_back_to_caster_SpellScript();
}
@@ -2653,7 +2583,7 @@ class spell_the_lich_king_life_siphon : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_life_siphon_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LIFE_SIPHON_HEAL))
return false;
@@ -2665,13 +2595,13 @@ class spell_the_lich_king_life_siphon : public SpellScriptLoader
GetHitUnit()->CastCustomSpell(SPELL_LIFE_SIPHON_HEAL, SPELLVALUE_BASE_POINT0, GetHitDamage() * 10, GetCaster(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_the_lich_king_life_siphon_SpellScript::TriggerHeal);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_life_siphon_SpellScript();
}
@@ -2686,7 +2616,7 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_vile_spirits_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_is25Man = GetUnitOwner()->GetMap()->Is25ManRaid();
return true;
@@ -2698,7 +2628,7 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, NULL, aurEff, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_the_lich_king_vile_spirits_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
@@ -2706,7 +2636,7 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader
bool _is25Man;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_vile_spirits_AuraScript();
}
@@ -2727,13 +2657,13 @@ class spell_the_lich_king_vile_spirits_visual : public SpellScriptLoader
const_cast<WorldLocation*>(GetExplTargetDest())->RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectLaunch += SpellEffectFn(spell_the_lich_king_vile_spirits_visual_SpellScript::ModDestHeight, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_vile_spirits_visual_SpellScript();
}
@@ -2748,7 +2678,7 @@ class spell_the_lich_king_vile_spirit_move_target_search : public SpellScriptLoa
{
PrepareSpellScript(spell_the_lich_king_vile_spirit_move_target_search_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_target = NULL;
return GetCaster()->GetTypeId() == TYPEID_UNIT;
@@ -2773,7 +2703,7 @@ class spell_the_lich_king_vile_spirit_move_target_search : public SpellScriptLoa
GetCaster()->AddThreat(GetHitUnit(), 100000.0f);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_vile_spirit_move_target_search_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_vile_spirit_move_target_search_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
@@ -2782,7 +2712,7 @@ class spell_the_lich_king_vile_spirit_move_target_search : public SpellScriptLoa
WorldObject* _target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_vile_spirit_move_target_search_SpellScript();
}
@@ -2797,7 +2727,7 @@ class spell_the_lich_king_vile_spirit_damage_target_search : public SpellScriptL
{
PrepareSpellScript(spell_the_lich_king_vile_spirit_damage_target_search_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2817,13 +2747,13 @@ class spell_the_lich_king_vile_spirit_damage_target_search : public SpellScriptL
GetCaster()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_the_lich_king_vile_spirit_damage_target_search_SpellScript::CheckTargetCount, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_vile_spirit_damage_target_search_SpellScript();
}
@@ -2838,7 +2768,7 @@ class spell_the_lich_king_harvest_soul : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_harvest_soul_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetOwner()->GetInstanceScript() != NULL;
}
@@ -2850,13 +2780,13 @@ class spell_the_lich_king_harvest_soul : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetData64(DATA_THE_LICH_KING));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_the_lich_king_harvest_soul_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_harvest_soul_AuraScript();
}
@@ -2886,14 +2816,14 @@ class spell_the_lich_king_lights_favor : public SpellScriptLoader
amount = int32(caster->GetHealthPct());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_the_lich_king_lights_favor_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_the_lich_king_lights_favor_AuraScript::CalculateBonus, EFFECT_1, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_lights_favor_AuraScript();
}
@@ -2916,13 +2846,13 @@ class spell_the_lich_king_soul_rip : public SpellScriptLoader
caster->CastCustomSpell(SPELL_SOUL_RIP_DAMAGE, SPELLVALUE_BASE_POINT0, 5000 * aurEff->GetTickNumber(), GetTarget(), true, NULL, aurEff, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_the_lich_king_soul_rip_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_soul_rip_AuraScript();
}
@@ -2937,7 +2867,7 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
{
PrepareSpellScript(spell_the_lich_king_restore_soul_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_instance = GetCaster()->GetInstanceScript();
return _instance != NULL;
@@ -2966,7 +2896,7 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
target->RemoveAurasDueToSpell(target->GetMap()->IsHeroic() ? SPELL_HARVEST_SOULS_TELEPORT : SPELL_HARVEST_SOUL_TELEPORT);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_the_lich_king_restore_soul_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
BeforeHit += SpellHitFn(spell_the_lich_king_restore_soul_SpellScript::RemoveAura);
@@ -2975,7 +2905,7 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
InstanceScript* _instance;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_restore_soul_SpellScript();
}
@@ -2990,7 +2920,7 @@ class spell_the_lich_king_dark_hunger : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_dark_hunger_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DARK_HUNGER_HEAL))
return false;
@@ -3004,13 +2934,13 @@ class spell_the_lich_king_dark_hunger : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DARK_HUNGER_HEAL, SPELLVALUE_BASE_POINT0, heal, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_the_lich_king_dark_hunger_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_dark_hunger_AuraScript();
}
@@ -3025,7 +2955,7 @@ class spell_the_lich_king_in_frostmourne_room : public SpellScriptLoader
{
PrepareAuraScript(spell_the_lich_king_in_frostmourne_room_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetOwner()->GetInstanceScript() != NULL;
}
@@ -3037,13 +2967,13 @@ class spell_the_lich_king_in_frostmourne_room : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetData64(DATA_THE_LICH_KING));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_the_lich_king_in_frostmourne_room_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_the_lich_king_in_frostmourne_room_AuraScript();
}
@@ -3064,13 +2994,13 @@ class spell_the_lich_king_summon_spirit_bomb : public SpellScriptLoader
GetHitUnit()->CastSpell((Unit*)NULL, uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_summon_spirit_bomb_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_summon_spirit_bomb_SpellScript();
}
@@ -3094,13 +3024,13 @@ class spell_the_lich_king_trigger_vile_spirit : public SpellScriptLoader
VileSpiritActivateEvent(target).Execute(0, 0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_the_lich_king_trigger_vile_spirit_SpellScript::ActivateSpirit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_trigger_vile_spirit_SpellScript();
}
@@ -3124,13 +3054,13 @@ class spell_the_lich_king_jump : public SpellScriptLoader
creature->AI()->DoAction(ACTION_BREAK_FROSTMOURNE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_jump_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_jump_SpellScript();
}
@@ -3151,13 +3081,13 @@ class spell_the_lich_king_jump_remove_aura : public SpellScriptLoader
GetHitUnit()->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_the_lich_king_jump_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_the_lich_king_jump_SpellScript();
}
@@ -3168,7 +3098,7 @@ class achievement_been_waiting_long_time : public AchievementCriteriaScript
public:
achievement_been_waiting_long_time() : AchievementCriteriaScript("achievement_been_waiting_long_time") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -3182,7 +3112,7 @@ class achievement_neck_deep_in_vile : public AchievementCriteriaScript
public:
achievement_neck_deep_in_vile() : AchievementCriteriaScript("achievement_neck_deep_in_vile") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -3215,7 +3145,6 @@ void AddSC_boss_the_lich_king()
new spell_the_lich_king_summon_into_air();
new spell_the_lich_king_soul_reaper();
new spell_the_lich_king_valkyr_target_search();
- new spell_the_lich_king_eject_all_passengers();
new spell_the_lich_king_cast_back_to_caster();
new spell_the_lich_king_life_siphon();
new spell_the_lich_king_vile_spirits();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index e56bde39ae7..0c504842c08 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -284,7 +284,7 @@ class boss_valithria_dreamwalker : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (CreatureData const* data = sObjectMgr->GetCreatureData(me->GetDBTableGUIDLow()))
if (data->curhealth)
@@ -294,7 +294,7 @@ class boss_valithria_dreamwalker : public CreatureScript
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetHealth(_spawnHealth);
me->SetReactState(REACT_PASSIVE);
@@ -312,11 +312,11 @@ class boss_valithria_dreamwalker : public CreatureScript
_done = false;
}
- void AttackStart(Unit* /*target*/) OVERRIDE
+ void AttackStart(Unit* /*target*/) override
{
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_ENTER_COMBAT)
return;
@@ -329,7 +329,7 @@ class boss_valithria_dreamwalker : public CreatureScript
_events.ScheduleEvent(EVENT_BERSERK, 420000);
}
- void HealReceived(Unit* healer, uint32& heal) OVERRIDE
+ void HealReceived(Unit* healer, uint32& heal) override
{
if (!me->hasLootRecipient())
me->SetLootRecipient(healer);
@@ -359,7 +359,7 @@ class boss_valithria_dreamwalker : public CreatureScript
archmage->AI()->DoZoneInCombat(); // call EnterCombat on one of them, that will make it all start
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(25, damage))
{
@@ -384,7 +384,7 @@ class boss_valithria_dreamwalker : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DREAM_SLIP)
{
@@ -402,7 +402,7 @@ class boss_valithria_dreamwalker : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_DREAM_PORTAL_PRE_EFFECT)
{
@@ -416,14 +416,14 @@ class boss_valithria_dreamwalker : public CreatureScript
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->GetEntry() == NPC_DREAM_PORTAL || summon->GetEntry() == NPC_NIGHTMARE_PORTAL)
if (summon->AI()->GetData(MISSED_PORTALS))
++_missedPortals;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// does not enter combat
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
@@ -460,7 +460,7 @@ class boss_valithria_dreamwalker : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == MISSED_PORTALS)
return _missedPortals;
@@ -480,7 +480,7 @@ class boss_valithria_dreamwalker : public CreatureScript
bool _done;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_valithria_dreamwalkerAI>(creature);
}
@@ -497,13 +497,13 @@ class npc_green_dragon_combat_trigger : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_PASSIVE);
}
- void EnterCombat(Unit* target) OVERRIDE
+ void EnterCombat(Unit* target) override
{
if (!instance->CheckRequiredBosses(DATA_VALITHRIA_DREAMWALKER, target->ToPlayer()))
{
@@ -519,24 +519,24 @@ class npc_green_dragon_combat_trigger : public CreatureScript
valithria->AI()->DoAction(ACTION_ENTER_COMBAT);
}
- void AttackStart(Unit* target) OVERRIDE
+ void AttackStart(Unit* target) override
{
if (target->GetTypeId() == TYPEID_PLAYER)
BossAI::AttackStart(target);
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
return target->GetTypeId() == TYPEID_PLAYER;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
DoAction(ACTION_DEATH);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_DEATH)
{
@@ -545,7 +545,7 @@ class npc_green_dragon_combat_trigger : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->IsInCombat())
return;
@@ -575,7 +575,7 @@ class npc_green_dragon_combat_trigger : public CreatureScript
bool _evadeCheck;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_green_dragon_combat_triggerAI>(creature);
}
@@ -593,7 +593,7 @@ class npc_the_lich_king_controller : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_GLUTTONOUS_ABOMINATION_SUMMONER, 5000);
@@ -604,18 +604,18 @@ class npc_the_lich_king_controller : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->setActive(false);
}
- void EnterCombat(Unit* /*target*/) OVERRIDE
+ void EnterCombat(Unit* /*target*/) override
{
Talk(SAY_LICH_KING_INTRO);
me->setActive(true);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
// must not be in dream phase
summon->SetPhaseMask((summon->GetPhaseMask() & ~0x10), true);
@@ -624,7 +624,7 @@ class npc_the_lich_king_controller : public CreatureScript
summon->AI()->AttackStart(target);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -664,7 +664,7 @@ class npc_the_lich_king_controller : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_the_lich_king_controllerAI>(creature);
}
@@ -682,12 +682,12 @@ class npc_risen_archmage : public CreatureScript
{
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
return target->GetEntry() != NPC_VALITHRIA_DREAMWALKER;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, urand(5000, 15000));
@@ -696,7 +696,7 @@ class npc_risen_archmage : public CreatureScript
_canCallEnterCombat = true;
}
- void EnterCombat(Unit* /*target*/) OVERRIDE
+ void EnterCombat(Unit* /*target*/) override
{
me->FinishSpell(CURRENT_CHANNELED_SPELL, false);
if (me->GetDBTableGUIDLow() && _canCallEnterCombat)
@@ -716,7 +716,7 @@ class npc_risen_archmage : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_ENTER_COMBAT)
return;
@@ -726,7 +726,7 @@ class npc_risen_archmage : public CreatureScript
_canCallEnterCombat = true;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_COLUMN_OF_FROST)
summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, 0, 8000), summon->m_Events.CalculateTime(2000));
@@ -734,7 +734,7 @@ class npc_risen_archmage : public CreatureScript
summon->DespawnOrUnsummon(36000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
if (me->GetDBTableGUIDLow())
@@ -781,7 +781,7 @@ class npc_risen_archmage : public CreatureScript
bool _canCallEnterCombat;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_risen_archmageAI>(creature);
}
@@ -798,14 +798,14 @@ class npc_blazing_skeleton : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FIREBALL, urand(2000, 4000));
_events.ScheduleEvent(EVENT_LEY_WASTE, urand(15000, 20000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -840,7 +840,7 @@ class npc_blazing_skeleton : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_blazing_skeletonAI>(creature);
}
@@ -858,20 +858,20 @@ class npc_suppresser : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SUPPRESSION, urand(10000, 15000));
me->SetReactState(REACT_PASSIVE);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* valithria = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_DREAMWALKER)))
AttackStart(valithria);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -906,7 +906,7 @@ class npc_suppresser : public CreatureScript
InstanceScript* const _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_suppresserAI>(creature);
}
@@ -923,12 +923,12 @@ class npc_blistering_zombie : public CreatureScript
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_ACID_BURST, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -937,7 +937,7 @@ class npc_blistering_zombie : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_blistering_zombieAI>(creature);
}
@@ -954,18 +954,18 @@ class npc_gluttonous_abomination : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_GUT_SPRAY, urand(10000, 13000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_ROT_WORM_SPAWNER, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -995,7 +995,7 @@ class npc_gluttonous_abomination : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_gluttonous_abominationAI>(creature);
}
@@ -1013,7 +1013,7 @@ class npc_dream_portal : public CreatureScript
{
}
- void OnSpellClick(Unit* /*clicker*/, bool& result) OVERRIDE
+ void OnSpellClick(Unit* /*clicker*/, bool& result) override
{
if (!result)
return;
@@ -1022,12 +1022,12 @@ class npc_dream_portal : public CreatureScript
me->DespawnOrUnsummon();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return (type == MISSED_PORTALS && _used) ? 0 : 1;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
UpdateVictim();
}
@@ -1036,7 +1036,7 @@ class npc_dream_portal : public CreatureScript
bool _used;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_dream_portalAI>(creature);
}
@@ -1054,7 +1054,7 @@ class npc_dream_cloud : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 1000);
@@ -1062,7 +1062,7 @@ class npc_dream_cloud : public CreatureScript
me->LoadCreaturesAddon(true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// trigger
if (_instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) != IN_PROGRESS)
@@ -1100,7 +1100,7 @@ class npc_dream_cloud : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_dream_cloudAI>(creature);
}
@@ -1124,13 +1124,13 @@ class spell_dreamwalker_mana_void : public SpellScriptLoader
PreventDefaultAction();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_mana_void_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dreamwalker_mana_void_AuraScript();
}
@@ -1145,7 +1145,7 @@ class spell_dreamwalker_decay_periodic_timer : public SpellScriptLoader
{
PrepareAuraScript(spell_dreamwalker_decay_periodic_timer_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_decayRate = GetId() != SPELL_TIMER_BLAZING_SKELETON ? 1000 : 5000;
return true;
@@ -1160,7 +1160,7 @@ class spell_dreamwalker_decay_periodic_timer : public SpellScriptLoader
aurEff->SetPeriodicTimer(timer - _decayRate);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_dreamwalker_decay_periodic_timer_AuraScript::DecayPeriodicTimer, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
@@ -1168,7 +1168,7 @@ class spell_dreamwalker_decay_periodic_timer : public SpellScriptLoader
int32 _decayRate;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dreamwalker_decay_periodic_timer_AuraScript();
}
@@ -1183,7 +1183,7 @@ class spell_dreamwalker_summoner : public SpellScriptLoader
{
PrepareSpellScript(spell_dreamwalker_summoner_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster()->GetInstanceScript())
return false;
@@ -1210,14 +1210,14 @@ class spell_dreamwalker_summoner : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dreamwalker_summoner_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summoner_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dreamwalker_summoner_SpellScript();
}
@@ -1252,13 +1252,13 @@ class spell_dreamwalker_summon_suppresser : public SpellScriptLoader
caster->CastSpell(summoners.back(), SPELL_SUMMON_SUPPRESSER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_summon_suppresser_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dreamwalker_summon_suppresser_AuraScript();
}
@@ -1273,7 +1273,7 @@ class spell_dreamwalker_summon_suppresser_effect : public SpellScriptLoader
{
PrepareSpellScript(spell_dreamwalker_summon_suppresser_effect_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster()->GetInstanceScript())
return false;
@@ -1289,13 +1289,13 @@ class spell_dreamwalker_summon_suppresser_effect : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summon_suppresser_effect_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dreamwalker_summon_suppresser_effect_SpellScript();
}
@@ -1320,13 +1320,13 @@ class spell_dreamwalker_summon_dream_portal : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summon_dream_portal_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dreamwalker_summon_dream_portal_SpellScript();
}
@@ -1351,13 +1351,13 @@ class spell_dreamwalker_summon_nightmare_portal : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_summon_nightmare_portal_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dreamwalker_summon_nightmare_portal_SpellScript();
}
@@ -1372,7 +1372,7 @@ class spell_dreamwalker_nightmare_cloud : public SpellScriptLoader
{
PrepareAuraScript(spell_dreamwalker_nightmare_cloud_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_instance = GetOwner()->GetInstanceScript();
return _instance != NULL;
@@ -1384,7 +1384,7 @@ class spell_dreamwalker_nightmare_cloud : public SpellScriptLoader
PreventDefaultAction();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dreamwalker_nightmare_cloud_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
@@ -1392,7 +1392,7 @@ class spell_dreamwalker_nightmare_cloud : public SpellScriptLoader
InstanceScript* _instance;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dreamwalker_nightmare_cloud_AuraScript();
}
@@ -1418,13 +1418,13 @@ class spell_dreamwalker_twisted_nightmares : public SpellScriptLoader
GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, instance->GetData64(DATA_VALITHRIA_DREAMWALKER));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dreamwalker_twisted_nightmares_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dreamwalker_twisted_nightmares_SpellScript();
}
@@ -1435,7 +1435,7 @@ class achievement_portal_jockey : public AchievementCriteriaScript
public:
achievement_portal_jockey() : AchievementCriteriaScript("achievement_portal_jockey") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && !target->GetAI()->GetData(MISSED_PORTALS);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index ca2c75e502c..592c44940a4 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -387,7 +387,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_theLichKing = 0;
@@ -398,7 +398,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
// IMPORTANT NOTE: This is triggered from per-GUID scripts
// of The Damned SAI
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_DAMNED_KILLS && data == 1)
{
@@ -460,7 +460,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_damnedKills != 2)
return;
@@ -581,7 +581,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
uint16 _damnedKills;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_highlord_tirion_fordringAI>(creature);
}
@@ -598,7 +598,7 @@ class npc_rotting_frost_giant : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_DEATH_PLAGUE, 15000);
@@ -606,12 +606,12 @@ class npc_rotting_frost_giant : public CreatureScript
_events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(10000, 15000));
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_events.Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -653,7 +653,7 @@ class npc_rotting_frost_giant : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_rotting_frost_giantAI>(creature);
}
@@ -671,7 +671,7 @@ class npc_frost_freeze_trap : public CreatureScript
SetCombatMovement(false);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -684,7 +684,7 @@ class npc_frost_freeze_trap : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -699,7 +699,7 @@ class npc_frost_freeze_trap : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_frost_freeze_trapAI>(creature);
}
@@ -710,7 +710,7 @@ class npc_alchemist_adrianna : public CreatureScript
public:
npc_alchemist_adrianna() : CreatureScript("npc_alchemist_adrianna") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (!creature->FindCurrentSpellBySpellId(SPELL_HARVEST_BLIGHT_SPECIMEN) && !creature->FindCurrentSpellBySpellId(SPELL_HARVEST_BLIGHT_SPECIMEN25))
if (player->HasAura(SPELL_ORANGE_BLIGHT_RESIDUE) && player->HasAura(SPELL_GREEN_BLIGHT_RESIDUE))
@@ -731,7 +731,7 @@ class boss_sister_svalna : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (!me->isDead())
Reset();
@@ -739,14 +739,14 @@ class boss_sister_svalna : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_DEFENSIVE);
_isEventInProgress = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_SVALNA_DEATH);
@@ -765,7 +765,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void EnterCombat(Unit* /*attacker*/) OVERRIDE
+ void EnterCombat(Unit* /*attacker*/) override
{
_EnterCombat();
if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CROK_SCOURGEBANE)))
@@ -775,7 +775,7 @@ class boss_sister_svalna : public CreatureScript
events.ScheduleEvent(EVENT_AETHER_SHIELD, urand(100000, 110000));
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
switch (victim->GetTypeId())
{
@@ -800,7 +800,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
_JustReachedHome();
me->SetReactState(REACT_PASSIVE);
@@ -808,7 +808,7 @@ class boss_sister_svalna : public CreatureScript
me->SetHover(false);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -836,7 +836,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_HURL_SPEAR && me->HasAura(SPELL_AETHER_SHIELD))
{
@@ -845,7 +845,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != EFFECT_MOTION_TYPE || id != POINT_LAND)
return;
@@ -857,7 +857,7 @@ class boss_sister_svalna : public CreatureScript
me->SetHover(false);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -877,7 +877,7 @@ class boss_sister_svalna : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !_isEventInProgress)
return;
@@ -922,7 +922,7 @@ class boss_sister_svalna : public CreatureScript
bool _isEventInProgress;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<boss_sister_svalnaAI>(creature);
}
@@ -946,7 +946,7 @@ class npc_crok_scourgebane : public CreatureScript
_didUnderTenPercentText = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, urand(7500, 12500));
@@ -956,7 +956,7 @@ class npc_crok_scourgebane : public CreatureScript
_wipeCheckTimer = 1000;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_GAUNTLET)
{
@@ -988,7 +988,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 type/* = 0*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 type/* = 0*/) override
{
if (type == ACTION_VRYKUL_DEATH)
{
@@ -1008,7 +1008,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -1038,7 +1038,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void WaypointStart(uint32 waypointId) OVERRIDE
+ void WaypointStart(uint32 waypointId) override
{
_currentWPid = waypointId;
switch (waypointId)
@@ -1086,7 +1086,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
// check wipe
if (!_wipeCheckTimer)
@@ -1128,7 +1128,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void UpdateEscortAI(uint32 const diff) OVERRIDE
+ void UpdateEscortAI(uint32 const diff) override
{
if (_wipeCheckTimer <= diff)
_wipeCheckTimer = 0;
@@ -1186,7 +1186,7 @@ class npc_crok_scourgebane : public CreatureScript
DoMeleeAttackIfReady();
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
// do not see targets inside Frostwing Halls when we are not there
return (me->GetPositionY() > 2660.0f) == (target->GetPositionY() > 2660.0f);
@@ -1205,7 +1205,7 @@ class npc_crok_scourgebane : public CreatureScript
bool _didUnderTenPercentText;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_crok_scourgebaneAI>(creature);
}
@@ -1221,7 +1221,7 @@ struct npc_argent_captainAI : public ScriptedAI
IsUndead = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (_firstDeath)
{
@@ -1232,13 +1232,13 @@ struct npc_argent_captainAI : public ScriptedAI
Talk(SAY_CAPTAIN_SECOND_DEATH);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_CAPTAIN_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_START_GAUNTLET)
{
@@ -1258,20 +1258,20 @@ struct npc_argent_captainAI : public ScriptedAI
}
}
- void EnterCombat(Unit* /*target*/) OVERRIDE
+ void EnterCombat(Unit* /*target*/) override
{
me->SetHomePosition(*me);
if (IsUndead)
DoZoneInCombat();
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
// do not see targets inside Frostwing Halls when we are not there
return (me->GetPositionY() > 2660.0f) == (target->GetPositionY() > 2660.0f);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
// not yet following
if (me->GetMotionMaster()->GetMotionSlotType(MOTION_SLOT_IDLE) != CHASE_MOTION_TYPE || IsUndead)
@@ -1293,7 +1293,7 @@ struct npc_argent_captainAI : public ScriptedAI
Reset();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_REVIVE_CHAMPION && !IsUndead)
{
@@ -1319,7 +1319,7 @@ struct npc_argent_captainAI : public ScriptedAI
}
Talk(SAY_CAPTAIN_RESURRECTED);
- me->UpdateEntry(newEntry, instance->GetData(DATA_TEAM_IN_INSTANCE), me->GetCreatureData());
+ me->UpdateEntry(newEntry, me->GetCreatureData());
DoCast(me, SPELL_UNDEATH, true);
}
}
@@ -1346,7 +1346,7 @@ class npc_captain_arnath : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_ARNATH_FLASH_HEAL, urand(4000, 7000));
@@ -1356,7 +1356,7 @@ class npc_captain_arnath : public CreatureScript
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, urand(22000, 27000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1410,7 +1410,7 @@ class npc_captain_arnath : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_captain_arnathAI>(creature);
}
@@ -1427,7 +1427,7 @@ class npc_captain_brandon : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_BRANDON_CRUSADER_STRIKE, urand(6000, 10000));
@@ -1437,7 +1437,7 @@ class npc_captain_brandon : public CreatureScript
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, urand(25000, 30000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1478,7 +1478,7 @@ class npc_captain_brandon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_captain_brandonAI>(creature);
}
@@ -1495,7 +1495,7 @@ class npc_captain_grondel : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_GRONDEL_CHARGE_CHECK, 500);
@@ -1505,7 +1505,7 @@ class npc_captain_grondel : public CreatureScript
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, urand(12000, 17000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1545,7 +1545,7 @@ class npc_captain_grondel : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_captain_grondelAI>(creature);
}
@@ -1562,7 +1562,7 @@ class npc_captain_rupert : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
Events.Reset();
Events.ScheduleEvent(EVENT_RUPERT_FEL_IRON_BOMB, urand(15000, 20000));
@@ -1570,7 +1570,7 @@ class npc_captain_rupert : public CreatureScript
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, urand(10000, 15000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1608,7 +1608,7 @@ class npc_captain_rupert : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetIcecrownCitadelAI<npc_captain_rupertAI>(creature);
}
@@ -1625,14 +1625,14 @@ class npc_frostwing_vrykul : public CreatureScript
{
}
- bool CanAIAttack(Unit const* target) const OVERRIDE
+ bool CanAIAttack(Unit const* target) const override
{
// do not see targets inside Frostwing Halls when we are not there
return (me->GetPositionY() > 2660.0f) == (target->GetPositionY() > 2660.0f) && SmartAI::CanAIAttack(target);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_frostwing_vrykulAI(creature);
}
@@ -1649,13 +1649,13 @@ class npc_impaling_spear : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
_vehicleCheckTimer = 500;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_vehicleCheckTimer <= diff)
{
@@ -1670,7 +1670,7 @@ class npc_impaling_spear : public CreatureScript
uint32 _vehicleCheckTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_impaling_spearAI(creature);
}
@@ -1687,7 +1687,7 @@ class npc_arthas_teleport_visual : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
if (_instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE &&
@@ -1696,7 +1696,7 @@ class npc_arthas_teleport_visual : public CreatureScript
_events.ScheduleEvent(EVENT_SOUL_MISSILE, urand(1000, 6000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_events.Empty())
return;
@@ -1715,7 +1715,7 @@ class npc_arthas_teleport_visual : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
// Distance from the center of the spire
if (creature->GetExactDist2d(4357.052f, 2769.421f) < 100.0f && creature->GetHomePosition().GetPositionZ() < 315.0f)
@@ -1755,14 +1755,14 @@ class spell_icc_stoneform : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_icc_stoneform_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_icc_stoneform_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_icc_stoneform_AuraScript();
}
@@ -1800,7 +1800,7 @@ class spell_icc_sprit_alarm : public SpellScriptLoader
}
if (GameObject* trap = GetCaster()->FindNearestGameObject(trapId, 5.0f))
- trap->SetRespawnTime(trap->GetGOInfo()->trap.autoCloseTime);
+ trap->SetRespawnTime(trap->GetGOInfo()->GetAutoCloseTime());
std::list<Creature*> wards;
GetCaster()->GetCreatureListWithEntryInGrid(wards, NPC_DEATHBOUND_WARD, 150.0f);
@@ -1818,13 +1818,13 @@ class spell_icc_sprit_alarm : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_icc_sprit_alarm_SpellScript::HandleEvent, EFFECT_2, SPELL_EFFECT_SEND_EVENT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_icc_sprit_alarm_SpellScript();
}
@@ -1862,7 +1862,7 @@ class spell_frost_giant_death_plague : public SpellScriptLoader
{
PrepareSpellScript(spell_frost_giant_death_plague_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_failed = false;
return true;
@@ -1899,7 +1899,7 @@ class spell_frost_giant_death_plague : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_DEATH_PLAGUE_KILL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_frost_giant_death_plague_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_frost_giant_death_plague_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ALLY);
@@ -1909,7 +1909,7 @@ class spell_frost_giant_death_plague : public SpellScriptLoader
bool _failed;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_frost_giant_death_plague_SpellScript();
}
@@ -1935,14 +1935,14 @@ class spell_icc_harvest_blight_specimen : public SpellScriptLoader
GetHitUnit()->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_icc_harvest_blight_specimen_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHitTarget += SpellEffectFn(spell_icc_harvest_blight_specimen_SpellScript::HandleQuestComplete, EFFECT_1, SPELL_EFFECT_QUEST_COMPLETE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_icc_harvest_blight_specimen_SpellScript();
}
@@ -1980,23 +1980,21 @@ class spell_svalna_revive_champion : public SpellScriptLoader
if (!caster)
return;
- Position pos;
- caster->GetPosition(&pos);
- caster->GetNearPosition(pos, 5.0f, 0.0f);
+ Position pos = caster->GetNearPosition(5.0f, 0.0f);
//pos.m_positionZ = caster->GetBaseMap()->GetHeight(caster->GetPhaseMask(), pos.GetPositionX(), pos.GetPositionY(), caster->GetPositionZ(), true, 50.0f);
//pos.m_positionZ += 0.05f;
caster->SetHomePosition(pos);
caster->GetMotionMaster()->MoveLand(POINT_LAND, pos);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_svalna_revive_champion_SpellScript::RemoveAliveTarget, EFFECT_0, TARGET_UNIT_DEST_AREA_ENTRY);
OnEffectHit += SpellEffectFn(spell_svalna_revive_champion_SpellScript::Land, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_svalna_revive_champion_SpellScript();
}
@@ -2022,13 +2020,13 @@ class spell_svalna_remove_spear : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_svalna_remove_spear_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_svalna_remove_spear_SpellScript();
}
@@ -2050,13 +2048,13 @@ class spell_icc_soul_missile : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_icc_soul_missile_SpellScript::RelocateDest, EFFECT_0, TARGET_DEST_CASTER);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_icc_soul_missile_SpellScript();
}
@@ -2067,7 +2065,7 @@ class at_icc_saurfang_portal : public AreaTriggerScript
public:
at_icc_saurfang_portal() : AreaTriggerScript("at_icc_saurfang_portal") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
InstanceScript* instance = player->GetInstanceScript();
if (!instance || instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE)
@@ -2101,7 +2099,7 @@ class at_icc_shutdown_traps : public AreaTriggerScript
public:
at_icc_shutdown_traps() : AreaTriggerScript("at_icc_shutdown_traps") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
instance->SetData(DATA_COLDFLAME_JETS, DONE);
@@ -2114,7 +2112,7 @@ class at_icc_start_blood_quickening : public AreaTriggerScript
public:
at_icc_start_blood_quickening() : AreaTriggerScript("at_icc_start_blood_quickening") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
if (instance->GetData(DATA_BLOOD_QUICKENING_STATE) == NOT_STARTED)
@@ -2128,7 +2126,7 @@ class at_icc_start_frostwing_gauntlet : public AreaTriggerScript
public:
at_icc_start_frostwing_gauntlet() : AreaTriggerScript("at_icc_start_frostwing_gauntlet") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
if (Creature* crok = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_CROK_SCOURGEBANE)))
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
index 8e529ba0ee9..7b00f2f19d7 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.h
@@ -68,7 +68,7 @@ enum TeleporterSpells
DEATHBRINGER_S_RISE_TELEPORT = 70858,
UPPER_SPIRE_TELEPORT = 70859,
FROZEN_THRONE_TELEPORT = 70860,
- SINDRAGOSA_S_LAIR_TELEPORT = 70861,
+ SINDRAGOSA_S_LAIR_TELEPORT = 70861
};
enum DataTypes
@@ -76,7 +76,7 @@ enum DataTypes
// Encounter States/Boss GUIDs
DATA_LORD_MARROWGAR = 0,
DATA_LADY_DEATHWHISPER = 1,
- DATA_GUNSHIP_EVENT = 2,
+ DATA_ICECROWN_GUNSHIP_BATTLE = 2,
DATA_DEATHBRINGER_SAURFANG = 3,
DATA_FESTERGUT = 4,
DATA_ROTFACE = 5,
@@ -116,6 +116,7 @@ enum DataTypes
DATA_HIGHLORD_TIRION_FORDRING = 37,
DATA_ARTHAS_PLATFORM = 38,
DATA_TERENAS_MENETHIL = 39,
+ DATA_ENEMY_GUNSHIP = 40
};
enum CreaturesIds
@@ -169,6 +170,33 @@ enum CreaturesIds
NPC_REANIMATED_ADHERENT = 38010,
NPC_VENGEFUL_SHADE = 38222,
+ // Icecrown Gunship Battle
+ NPC_MARTYR_STALKER_IGB_SAURFANG = 38569,
+ NPC_ALLIANCE_GUNSHIP_CANNON = 36838,
+ NPC_HORDE_GUNSHIP_CANNON = 36839,
+ NPC_SKYBREAKER_DECKHAND = 36970,
+ NPC_ORGRIMS_HAMMER_CREW = 36971,
+ NPC_IGB_HIGH_OVERLORD_SAURFANG = 36939,
+ NPC_IGB_MURADIN_BRONZEBEARD = 36948,
+ NPC_THE_SKYBREAKER = 37540,
+ NPC_ORGRIMS_HAMMER = 37215,
+ NPC_GUNSHIP_HULL = 37547,
+ NPC_TELEPORT_PORTAL = 37227,
+ NPC_TELEPORT_EXIT = 37488,
+ NPC_SKYBREAKER_SORCERER = 37116,
+ NPC_SKYBREAKER_RIFLEMAN = 36969,
+ NPC_SKYBREAKER_MORTAR_SOLDIER = 36978,
+ NPC_SKYBREAKER_MARINE = 36950,
+ NPC_SKYBREAKER_SERGEANT = 36961,
+ NPC_KOR_KRON_BATTLE_MAGE = 37117,
+ NPC_KOR_KRON_AXETHROWER = 36968,
+ NPC_KOR_KRON_ROCKETEER = 36982,
+ NPC_KOR_KRON_REAVER = 36957,
+ NPC_KOR_KRON_SERGEANT = 36960,
+ NPC_ZAFOD_BOOMBOX = 37184,
+ NPC_HIGH_CAPTAIN_JUSTIN_BARTLETT = 37182,
+ NPC_SKY_REAVER_KORM_BLACKSCAR = 37833,
+
// Deathbringer Saurfang
NPC_DEATHBRINGER_SAURFANG = 37813,
NPC_BLOOD_BEAST = 38508,
@@ -285,7 +313,7 @@ enum CreaturesIds
NPC_FROSTMOURNE_TRIGGER = 38584,
// Generic
- NPC_INVISIBLE_STALKER = 30298,
+ NPC_INVISIBLE_STALKER = 30298
};
enum GameObjectsIds
@@ -305,6 +333,22 @@ enum GameObjectsIds
GO_ORATORY_OF_THE_DAMNED_ENTRANCE = 201563,
GO_LADY_DEATHWHISPER_ELEVATOR = 202220,
+ // Icecrown Gunship Battle - Horde raid
+ GO_ORGRIMS_HAMMER_H = 201812,
+ GO_THE_SKYBREAKER_H = 201811,
+ GO_GUNSHIP_ARMORY_H_10N = 202178,
+ GO_GUNSHIP_ARMORY_H_25N = 202180,
+ GO_GUNSHIP_ARMORY_H_10H = 202177,
+ GO_GUNSHIP_ARMORY_H_25H = 202179,
+
+ // Icecrown Gunship Battle - Alliance raid
+ GO_ORGRIMS_HAMMER_A = 201581,
+ GO_THE_SKYBREAKER_A = 201580,
+ GO_GUNSHIP_ARMORY_A_10N = 201873,
+ GO_GUNSHIP_ARMORY_A_25N = 201874,
+ GO_GUNSHIP_ARMORY_A_10H = 201872,
+ GO_GUNSHIP_ARMORY_A_25H = 201875,
+
// Deathbringer Saurfang
GO_SAURFANG_S_DOOR = 201825,
GO_DEATHBRINGER_S_CACHE_10N = 202239,
@@ -368,7 +412,7 @@ enum GameObjectsIds
GO_DOODAD_ICECROWN_SNOWEDGEWARNING01 = 202190,
GO_FROZEN_LAVAMAN = 202436,
GO_LAVAMAN_PILLARS_CHAINED = 202437,
- GO_LAVAMAN_PILLARS_UNCHAINED = 202438,
+ GO_LAVAMAN_PILLARS_UNCHAINED = 202438
};
enum AchievementCriteriaIds
@@ -403,11 +447,15 @@ enum AchievementCriteriaIds
CRITERIA_ONCE_BITTEN_TWICE_SHY_10N = 12780,
CRITERIA_ONCE_BITTEN_TWICE_SHY_25N = 13012,
CRITERIA_ONCE_BITTEN_TWICE_SHY_10V = 13011,
- CRITERIA_ONCE_BITTEN_TWICE_SHY_25V = 13013,
+ CRITERIA_ONCE_BITTEN_TWICE_SHY_25V = 13013
};
enum SharedActions
{
+ // Icecrown Gunship Battle
+ ACTION_ENEMY_GUNSHIP_TALK = -369390,
+ ACTION_EXIT_SHIP = -369391,
+
// Festergut
ACTION_FESTERGUT_COMBAT = -366260,
ACTION_FESTERGUT_GAS = -366261,
@@ -431,7 +479,7 @@ enum SharedActions
// The Lich King
ACTION_RESTORE_LIGHT = -72262,
- ACTION_FROSTMOURNE_INTRO = -36823,
+ ACTION_FROSTMOURNE_INTRO = -36823
};
enum WeekliesICC
@@ -445,7 +493,7 @@ enum WeekliesICC
QUEST_BLOOD_QUICKENING_10 = 24874,
QUEST_BLOOD_QUICKENING_25 = 24879,
QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10 = 24872,
- QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25 = 24880,
+ QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25 = 24880
};
enum WorldStatesICC
@@ -454,12 +502,13 @@ enum WorldStatesICC
WORLDSTATE_EXECUTION_TIME = 4904,
WORLDSTATE_SHOW_ATTEMPTS = 4940,
WORLDSTATE_ATTEMPTS_REMAINING = 4941,
- WORLDSTATE_ATTEMPTS_MAX = 4942,
+ WORLDSTATE_ATTEMPTS_MAX = 4942
};
enum AreaIds
{
- AREA_THE_FROZEN_THRONE = 4859,
+ AREA_ICECROWN_CITADEL = 4812,
+ AREA_THE_FROZEN_THRONE = 4859
};
class spell_trigger_spell_from_caster : public SpellScriptLoader
@@ -474,7 +523,7 @@ class spell_trigger_spell_from_caster : public SpellScriptLoader
public:
spell_trigger_spell_from_caster_SpellScript(uint32 triggerId) : SpellScript(), _triggerId(triggerId) { }
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(_triggerId))
return false;
@@ -486,7 +535,7 @@ class spell_trigger_spell_from_caster : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), _triggerId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_trigger_spell_from_caster_SpellScript::HandleTrigger);
}
@@ -494,7 +543,7 @@ class spell_trigger_spell_from_caster : public SpellScriptLoader
uint32 _triggerId;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_trigger_spell_from_caster_SpellScript(_triggerId);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
index ad06bc1c485..537c3c7354d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
@@ -29,7 +29,7 @@ class icecrown_citadel_teleport : public GameObjectScript
public:
icecrown_citadel_teleport() : GameObjectScript("icecrown_citadel_teleport") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Light's Hammer.", GOSSIP_SENDER_ICC_PORT, LIGHT_S_HAMMER_TELEPORT);
if (InstanceScript* instance = go->GetInstanceScript())
@@ -38,7 +38,7 @@ class icecrown_citadel_teleport : public GameObjectScript
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Oratory of the Damned.", GOSSIP_SENDER_ICC_PORT, ORATORY_OF_THE_DAMNED_TELEPORT);
if (instance->GetBossState(DATA_LADY_DEATHWHISPER) == DONE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Rampart of Skulls.", GOSSIP_SENDER_ICC_PORT, RAMPART_OF_SKULLS_TELEPORT);
- if (instance->GetBossState(DATA_GUNSHIP_EVENT) == DONE)
+ if (instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == DONE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Deathbringer's Rise.", GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT);
if (instance->GetData(DATA_COLDFLAME_JETS) == DONE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT);
@@ -51,7 +51,7 @@ class icecrown_citadel_teleport : public GameObjectScript
return true;
}
- bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
player->CLOSE_GOSSIP_MENU();
@@ -77,7 +77,7 @@ class at_frozen_throne_teleport : public AreaTriggerScript
public:
at_frozen_throne_teleport() : AreaTriggerScript("at_frozen_throne_teleport") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (player->IsInCombat())
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index f110f04f16c..3dd39d85eb2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -15,23 +15,30 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ObjectMgr.h"
-#include "ScriptMgr.h"
+#include "AccountMgr.h"
#include "InstanceScript.h"
-#include "ScriptedCreature.h"
#include "Map.h"
-#include "PoolMgr.h"
-#include "AccountMgr.h"
-#include "icecrown_citadel.h"
+#include "ObjectMgr.h"
#include "Player.h"
+#include "PoolMgr.h"
+#include "ScriptMgr.h"
+#include "ScriptedCreature.h"
+#include "Transport.h"
+#include "TransportMgr.h"
#include "WorldPacket.h"
#include "WorldSession.h"
+#include "icecrown_citadel.h"
enum EventIds
{
+ EVENT_PLAYERS_GUNSHIP_SPAWN = 22663,
+ EVENT_PLAYERS_GUNSHIP_COMBAT = 22664,
+ EVENT_PLAYERS_GUNSHIP_SAURFANG = 22665,
+ EVENT_ENEMY_GUNSHIP_COMBAT = 22860,
+ EVENT_ENEMY_GUNSHIP_DESPAWN = 22861,
EVENT_QUAKE = 23437,
EVENT_SECOND_REMORSELESS_WINTER = 23507,
- EVENT_TELEPORT_TO_FROSMOURNE = 23617,
+ EVENT_TELEPORT_TO_FROSTMOURNE = 23617
};
enum TimedEvents
@@ -39,6 +46,7 @@ enum TimedEvents
EVENT_UPDATE_EXECUTION_TIME = 1,
EVENT_QUAKE_SHATTER = 2,
EVENT_REBUILD_PLATFORM = 3,
+ EVENT_RESPAWN_GUNSHIP = 4
};
DoorData const doorData[] =
@@ -68,7 +76,7 @@ DoorData const doorData[] =
{GO_SINDRAGOSA_SHORTCUT_EXIT_DOOR, DATA_SINDRAGOSA, DOOR_TYPE_PASSAGE, BOUNDARY_NONE},
{GO_ICE_WALL, DATA_SINDRAGOSA, DOOR_TYPE_ROOM, BOUNDARY_SE },
{GO_ICE_WALL, DATA_SINDRAGOSA, DOOR_TYPE_ROOM, BOUNDARY_SW },
- {0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE}, // END
+ {0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE} // END
};
// this doesnt have to only store questgivers, also can be used for related quest spawns
@@ -89,7 +97,7 @@ WeeklyQuest const WeeklyQuestData[WeeklyNPCs] =
{NPC_ALRIN_THE_AGILE, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening
{NPC_INFILTRATOR_MINCHAR_BQ, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening
{NPC_MINCHAR_BEAM_STALKER, {QUEST_BLOOD_QUICKENING_10, QUEST_BLOOD_QUICKENING_25 }}, // Blood Quickening
- {NPC_VALITHRIA_DREAMWALKER_QUEST, {QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10, QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25}}, // Respite for a Tormented Soul
+ {NPC_VALITHRIA_DREAMWALKER_QUEST, {QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_10, QUEST_RESPITE_FOR_A_TORNMENTED_SOUL_25}} // Respite for a Tormented Soul
};
class instance_icecrown_citadel : public InstanceMapScript
@@ -106,6 +114,9 @@ class instance_icecrown_citadel : public InstanceMapScript
TeamInInstance = 0;
HeroicAttempts = MaxHeroicAttempts;
LadyDeathwisperElevatorGUID = 0;
+ GunshipGUID = 0;
+ EnemyGunshipGUID = 0;
+ GunshipArmoryGUID = 0;
DeathbringerSaurfangGUID = 0;
DeathbringerSaurfangDoorGUID = 0;
DeathbringerSaurfangEventGUID = 0;
@@ -151,7 +162,7 @@ class instance_icecrown_citadel : public InstanceMapScript
BloodQuickeningMinutes = 0;
}
- void FillInitialWorldStates(WorldPacket& data) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& data) override
{
data << uint32(WORLDSTATE_SHOW_TIMER) << uint32(BloodQuickeningState == IN_PROGRESS);
data << uint32(WORLDSTATE_EXECUTION_TIME) << uint32(BloodQuickeningMinutes);
@@ -160,13 +171,16 @@ class instance_icecrown_citadel : public InstanceMapScript
data << uint32(WORLDSTATE_ATTEMPTS_MAX) << uint32(MaxHeroicAttempts);
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (!TeamInInstance)
TeamInInstance = player->GetTeam();
+
+ if (GetBossState(DATA_LADY_DEATHWHISPER) == DONE && GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE)
+ SpawnGunship();
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (!TeamInInstance)
{
@@ -180,46 +194,50 @@ class instance_icecrown_citadel : public InstanceMapScript
{
case NPC_KOR_KRON_GENERAL:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_COMMANDER, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_COMMANDER);
break;
case NPC_KOR_KRON_LIEUTENANT:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SKYBREAKER_LIEUTENANT, ALLIANCE);
+ creature->UpdateEntry(NPC_SKYBREAKER_LIEUTENANT);
break;
case NPC_TORTUNOK:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALANA_MOONSTRIKE, ALLIANCE);
+ creature->UpdateEntry(NPC_ALANA_MOONSTRIKE);
break;
case NPC_GERARDO_THE_SUAVE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_TALAN_MOONSTRIKE, ALLIANCE);
+ creature->UpdateEntry(NPC_TALAN_MOONSTRIKE);
break;
case NPC_UVLUS_BANEFIRE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MALFUS_GRIMFROST, ALLIANCE);
+ creature->UpdateEntry(NPC_MALFUS_GRIMFROST);
break;
case NPC_IKFIRUS_THE_VILE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_YILI, ALLIANCE);
+ creature->UpdateEntry(NPC_YILI);
break;
case NPC_VOL_GUK:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JEDEBIA, ALLIANCE);
+ creature->UpdateEntry(NPC_JEDEBIA);
break;
case NPC_HARAGG_THE_UNSEEN:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_NIBY_THE_ALMIGHTY, ALLIANCE);
+ creature->UpdateEntry(NPC_NIBY_THE_ALMIGHTY);
break;
case NPC_GARROSH_HELLSCREAM:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KING_VARIAN_WRYNN, ALLIANCE);
+ creature->UpdateEntry(NPC_KING_VARIAN_WRYNN);
break;
case NPC_DEATHBRINGER_SAURFANG:
DeathbringerSaurfangGUID = creature->GetGUID();
break;
+ case NPC_ALLIANCE_GUNSHIP_CANNON:
+ case NPC_HORDE_GUNSHIP_CANNON:
+ creature->SetControlled(true, UNIT_STATE_ROOT);
+ break;
case NPC_SE_HIGH_OVERLORD_SAURFANG:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, ALLIANCE, creature->GetCreatureData());
+ creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, creature->GetCreatureData());
// no break;
case NPC_SE_MURADIN_BRONZEBEARD:
DeathbringerSaurfangEventGUID = creature->GetGUID();
@@ -227,7 +245,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
case NPC_SE_KOR_KRON_REAVER:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SE_SKYBREAKER_MARINE, ALLIANCE);
+ creature->UpdateEntry(NPC_SE_SKYBREAKER_MARINE);
break;
case NPC_FESTERGUT:
FestergutGUID = creature->GetGUID();
@@ -309,7 +327,7 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
if (creature->GetEntry() == NPC_SINDRAGOSA)
SindragosaGUID = 0;
@@ -335,12 +353,60 @@ class instance_icecrown_citadel : public InstanceMapScript
{
uint8 diffIndex = uint8(instance->GetSpawnMode() & 1);
if (!sPoolMgr->IsSpawnedObject<Quest>(WeeklyQuestData[questIndex].questId[diffIndex]))
- entry = 0;
+ return 0;
break;
}
}
break;
}
+ case NPC_HORDE_GUNSHIP_CANNON:
+ case NPC_ORGRIMS_HAMMER_CREW:
+ case NPC_SKY_REAVER_KORM_BLACKSCAR:
+ if (TeamInInstance == ALLIANCE)
+ return 0;
+ break;
+ case NPC_ALLIANCE_GUNSHIP_CANNON:
+ case NPC_SKYBREAKER_DECKHAND:
+ case NPC_HIGH_CAPTAIN_JUSTIN_BARTLETT:
+ if (TeamInInstance == HORDE)
+ return 0;
+ break;
+ case NPC_ZAFOD_BOOMBOX:
+ if (GameObjectTemplate const* go = sObjectMgr->GetGameObjectTemplate(GO_THE_SKYBREAKER_A))
+ if ((TeamInInstance == ALLIANCE && data->mapid == go->moTransport.mapID) ||
+ (TeamInInstance == HORDE && data->mapid != go->moTransport.mapID))
+ return entry;
+ return 0;
+ case NPC_IGB_MURADIN_BRONZEBEARD:
+ if ((TeamInInstance == ALLIANCE && data->posX > 10.0f) ||
+ (TeamInInstance == HORDE && data->posX < 10.0f))
+ return entry;
+ return 0;
+ default:
+ break;
+ }
+
+ return entry;
+ }
+
+ uint32 GetGameObjectEntry(uint32 /*guidLow*/, uint32 entry) override
+ {
+ switch (entry)
+ {
+ case GO_GUNSHIP_ARMORY_H_10N:
+ case GO_GUNSHIP_ARMORY_H_25N:
+ case GO_GUNSHIP_ARMORY_H_10H:
+ case GO_GUNSHIP_ARMORY_H_25H:
+ if (TeamInInstance == ALLIANCE)
+ return 0;
+ break;
+ case GO_GUNSHIP_ARMORY_A_10N:
+ case GO_GUNSHIP_ARMORY_A_25N:
+ case GO_GUNSHIP_ARMORY_A_10H:
+ case GO_GUNSHIP_ARMORY_A_25H:
+ if (TeamInInstance == HORDE)
+ return 0;
+ break;
default:
break;
}
@@ -348,7 +414,7 @@ class instance_icecrown_citadel : public InstanceMapScript
return entry;
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
Creature* creature = unit->ToCreature();
if (!creature)
@@ -406,7 +472,7 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -446,6 +512,20 @@ class instance_icecrown_citadel : public InstanceMapScript
go->SetGoState(GO_STATE_READY);
}
break;
+ case GO_THE_SKYBREAKER_H:
+ case GO_ORGRIMS_HAMMER_A:
+ EnemyGunshipGUID = go->GetGUID();
+ break;
+ case GO_GUNSHIP_ARMORY_H_10N:
+ case GO_GUNSHIP_ARMORY_H_25N:
+ case GO_GUNSHIP_ARMORY_H_10H:
+ case GO_GUNSHIP_ARMORY_H_25H:
+ case GO_GUNSHIP_ARMORY_A_10N:
+ case GO_GUNSHIP_ARMORY_A_25N:
+ case GO_GUNSHIP_ARMORY_A_10H:
+ case GO_GUNSHIP_ARMORY_A_25H:
+ GunshipArmoryGUID = go->GetGUID();
+ break;
case GO_SAURFANG_S_DOOR:
DeathbringerSaurfangDoorGUID = go->GetGUID();
AddDoor(go, true);
@@ -554,7 +634,7 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -583,12 +663,16 @@ class instance_icecrown_citadel : public InstanceMapScript
case GO_ICE_WALL:
AddDoor(go, false);
break;
+ case GO_THE_SKYBREAKER_A:
+ case GO_ORGRIMS_HAMMER_H:
+ GunshipGUID = 0;
+ break;
default:
break;
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -613,10 +697,14 @@ class instance_icecrown_citadel : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
+ case DATA_ICECROWN_GUNSHIP_BATTLE:
+ return GunshipGUID;
+ case DATA_ENEMY_GUNSHIP:
+ return EnemyGunshipGUID;
case DATA_DEATHBRINGER_SAURFANG:
return DeathbringerSaurfangGUID;
case DATA_SAURFANG_EVENT_NPC:
@@ -679,7 +767,7 @@ class instance_icecrown_citadel : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -687,7 +775,7 @@ class instance_icecrown_citadel : public InstanceMapScript
switch (type)
{
case DATA_LADY_DEATHWHISPER:
- SetBossState(DATA_GUNSHIP_EVENT, state); // TEMP HACK UNTIL GUNSHIP SCRIPTED
+ {
if (state == DONE)
{
if (GameObject* elevator = instance->GetGameObject(LadyDeathwisperElevatorGUID))
@@ -695,7 +783,19 @@ class instance_icecrown_citadel : public InstanceMapScript
elevator->SetUInt32Value(GAMEOBJECT_LEVEL, 0);
elevator->SetGoState(GO_STATE_READY);
}
+
+ SpawnGunship();
+ }
+ break;
+ }
+ case DATA_ICECROWN_GUNSHIP_BATTLE:
+ if (state == DONE)
+ {
+ if (GameObject* loot = instance->GetGameObject(GunshipArmoryGUID))
+ loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
}
+ else if (state == FAIL)
+ Events.ScheduleEvent(EVENT_RESPAWN_GUNSHIP, 30000);
break;
case DATA_DEATHBRINGER_SAURFANG:
switch (state)
@@ -842,7 +942,18 @@ class instance_icecrown_citadel : public InstanceMapScript
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SpawnGunship()
+ {
+ if (!GunshipGUID)
+ {
+ SetBossState(DATA_ICECROWN_GUNSHIP_BATTLE, NOT_STARTED);
+ uint32 gunshipEntry = TeamInInstance == HORDE ? GO_ORGRIMS_HAMMER_H : GO_THE_SKYBREAKER_A;
+ if (Transport* gunship = sTransportMgr->CreateTransport(gunshipEntry, 0, instance))
+ GunshipGUID = gunship->GetGUID();
+ }
+ }
+
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -908,7 +1019,7 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) OVERRIDE
+ bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override
{
switch (criteria_id)
{
@@ -948,7 +1059,7 @@ class instance_icecrown_citadel : public InstanceMapScript
return false;
}
- bool CheckRequiredBosses(uint32 bossId, Player const* player = NULL) const OVERRIDE
+ bool CheckRequiredBosses(uint32 bossId, Player const* player = NULL) const override
{
if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
return true;
@@ -1062,10 +1173,10 @@ class instance_icecrown_citadel : public InstanceMapScript
return false;
// no break
case DATA_DEATHBRINGER_SAURFANG:
- if (GetBossState(DATA_GUNSHIP_EVENT) != DONE)
+ if (GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE)
return false;
// no break
- case DATA_GUNSHIP_EVENT:
+ case DATA_ICECROWN_GUNSHIP_BATTLE:
if (GetBossState(DATA_LADY_DEATHWHISPER) != DONE)
return false;
// no break
@@ -1103,7 +1214,7 @@ class instance_icecrown_citadel : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -1115,7 +1226,7 @@ class instance_icecrown_citadel : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -1157,9 +1268,9 @@ class instance_icecrown_citadel : public InstanceMapScript
OUT_LOAD_INST_DATA_COMPLETE;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
- if (BloodQuickeningState != IN_PROGRESS && GetBossState(DATA_THE_LICH_KING) != IN_PROGRESS)
+ if (BloodQuickeningState != IN_PROGRESS && GetBossState(DATA_THE_LICH_KING) != IN_PROGRESS && GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != FAIL)
return;
Events.Update(diff);
@@ -1209,16 +1320,42 @@ class instance_icecrown_citadel : public InstanceMapScript
if (GameObject* wind = instance->GetGameObject(FrozenThroneWindGUID))
wind->SetGoState(GO_STATE_ACTIVE);
break;
+ case EVENT_RESPAWN_GUNSHIP:
+ SpawnGunship();
+ break;
default:
break;
}
}
}
- void ProcessEvent(WorldObject* /*source*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* source, uint32 eventId) override
{
switch (eventId)
{
+ case EVENT_ENEMY_GUNSHIP_DESPAWN:
+ if (GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == DONE)
+ source->AddObjectToRemoveList();
+ break;
+ case EVENT_ENEMY_GUNSHIP_COMBAT:
+ if (Creature* captain = source->FindNearestCreature(TeamInInstance == HORDE ? NPC_IGB_HIGH_OVERLORD_SAURFANG : NPC_IGB_MURADIN_BRONZEBEARD, 100.0f))
+ captain->AI()->DoAction(ACTION_ENEMY_GUNSHIP_TALK);
+ // no break;
+ case EVENT_PLAYERS_GUNSHIP_SPAWN:
+ case EVENT_PLAYERS_GUNSHIP_COMBAT:
+ if (GameObject* go = source->ToGameObject())
+ if (Transport* transport = go->ToTransport())
+ transport->EnableMovement(false);
+ break;
+ case EVENT_PLAYERS_GUNSHIP_SAURFANG:
+ {
+ if (Creature* captain = source->FindNearestCreature(TeamInInstance == HORDE ? NPC_IGB_HIGH_OVERLORD_SAURFANG : NPC_IGB_MURADIN_BRONZEBEARD, 100.0f))
+ captain->AI()->DoAction(ACTION_EXIT_SHIP);
+ if (GameObject* go = source->ToGameObject())
+ if (Transport* transport = go->ToTransport())
+ transport->EnableMovement(false);
+ break;
+ }
case EVENT_QUAKE:
if (GameObject* warning = instance->GetGameObject(FrozenThroneWarningGUID))
warning->SetGoState(GO_STATE_ACTIVE);
@@ -1231,7 +1368,7 @@ class instance_icecrown_citadel : public InstanceMapScript
Events.ScheduleEvent(EVENT_REBUILD_PLATFORM, 1500);
}
break;
- case EVENT_TELEPORT_TO_FROSMOURNE: // Harvest Soul (normal mode)
+ case EVENT_TELEPORT_TO_FROSTMOURNE: // Harvest Soul (normal mode)
if (Creature* terenas = instance->SummonCreature(NPC_TERENAS_MENETHIL_FROSTMOURNE, TerenasSpawn, NULL, 63000))
{
terenas->AI()->DoAction(ACTION_FROSTMOURNE_INTRO);
@@ -1257,6 +1394,9 @@ class instance_icecrown_citadel : public InstanceMapScript
protected:
EventMap Events;
uint64 LadyDeathwisperElevatorGUID;
+ uint64 GunshipGUID;
+ uint64 EnemyGunshipGUID;
+ uint64 GunshipArmoryGUID;
uint64 DeathbringerSaurfangGUID;
uint64 DeathbringerSaurfangDoorGUID;
uint64 DeathbringerSaurfangEventGUID; // Muradin Bronzebeard or High Overlord Saurfang
@@ -1310,7 +1450,7 @@ class instance_icecrown_citadel : public InstanceMapScript
bool IsOrbWhispererEligible;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_icecrown_citadel_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
index be6531df66a..d3b4a285af6 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp
@@ -57,7 +57,7 @@ class boss_anubrekhan : public CreatureScript
public:
boss_anubrekhan() : CreatureScript("boss_anubrekhan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_anubrekhanAI>(creature);
}
@@ -68,7 +68,7 @@ public:
bool hasTaunted;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -90,7 +90,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
/// Force the player to spawn corpse scarabs via spell, @todo Check percent chance for scarabs, 20% at the moment
if (!(rand()%5))
@@ -100,14 +100,14 @@ public:
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
// start achievement timer (kill Maexna within 20 min)
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -119,7 +119,7 @@ public:
events.ScheduleEvent(EVENT_SPAWN_GUARDIAN_NORMAL, urand(15000, 20000));
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!hasTaunted && me->IsWithinDistInMap(who, 60.0f) && who->GetTypeId() == TYPEID_PLAYER)
@@ -130,7 +130,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
BossAI::SummonedCreatureDespawn(summon);
@@ -141,7 +141,7 @@ public:
summon->CastSpell(summon, SPELL_SUMMON_CORPSE_SCARABS_MOB, true, NULL, NULL, me->GetGUID());
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 a61331bee3e..02bafa8d10d 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -67,7 +67,7 @@ class boss_faerlina : public CreatureScript
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -76,14 +76,14 @@ class boss_faerlina : public CreatureScript
events.ScheduleEvent(EVENT_FRENZY, urand(60000, 80000));
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_delayFrenzy = false;
_frenzyDispels = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!_introDone && who->GetTypeId() == TYPEID_PLAYER)
@@ -95,19 +95,19 @@ class boss_faerlina : public CreatureScript
BossAI::MoveInLineOfSight(who);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!urand(0, 2))
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_WIDOWS_EMBRACE || spell->Id == H_SPELL_WIDOWS_EMBRACE)
{
@@ -118,7 +118,7 @@ class boss_faerlina : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_FRENZY_DISPELS)
return _frenzyDispels;
@@ -126,7 +126,7 @@ class boss_faerlina : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -177,7 +177,7 @@ class boss_faerlina : public CreatureScript
bool _delayFrenzy;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_faerlinaAI(creature);
}
@@ -195,7 +195,7 @@ class npc_faerlina_add : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL) {
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_BIND, true);
@@ -203,7 +203,7 @@ class npc_faerlina_add : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (_instance && GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
if (Creature* faerlina = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FAERLINA)))
@@ -214,7 +214,7 @@ class npc_faerlina_add : public CreatureScript
InstanceScript* const _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_faerlina_addAI>(creature);
}
@@ -225,7 +225,7 @@ class achievement_momma_said_knock_you_out : public AchievementCriteriaScript
public:
achievement_momma_said_knock_you_out() : AchievementCriteriaScript("achievement_momma_said_knock_you_out") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && !target->GetAI()->GetData(DATA_FRENZY_DISPELS);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index 544077db8e8..0543b0274b5 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -87,7 +87,7 @@ class boss_four_horsemen : public CreatureScript
public:
boss_four_horsemen() : CreatureScript("boss_four_horsemen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_four_horsemenAI>(creature);
}
@@ -116,7 +116,7 @@ public:
bool encounterActionReset;
bool doDelayPunish;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!encounterActionReset)
DoEncounteraction(NULL, false, true, false);
@@ -216,7 +216,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -259,7 +259,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
BossAI::MoveInLineOfSight(who);
@@ -267,7 +267,7 @@ public:
SelectNearestTarget(who);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!movementCompleted && !movementStarted)
{
@@ -286,13 +286,13 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
events.Reset();
summons.DespawnAll();
@@ -312,7 +312,7 @@ public:
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -322,7 +322,7 @@ public:
events.ScheduleEvent(EVENT_BERSERK, 15*100*1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (nextWP && movementStarted && !movementCompleted && !nextMovementStarted)
{
@@ -431,13 +431,13 @@ class spell_four_horsemen_mark : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_four_horsemen_mark_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_four_horsemen_mark_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
index d33d218fab9..3a0e3ce7c73 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
@@ -56,7 +56,7 @@ class boss_gluth : public CreatureScript
public:
boss_gluth() : CreatureScript("boss_gluth") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gluthAI(creature);
}
@@ -69,7 +69,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_INFECTED_WOUND, true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who->GetEntry() == NPC_ZOMBIE && me->IsWithinDistInMap(who, 7))
@@ -82,7 +82,7 @@ public:
BossAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_WOUND, 10000);
@@ -92,14 +92,14 @@ public:
events.ScheduleEvent(EVENT_SUMMON, 15000);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_ZOMBIE)
summon->AI()->AttackStart(me);
summons.Summon(summon);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictimWithGaze() || !CheckInRoom())
return;
@@ -136,7 +136,7 @@ public:
}
}
- if (me->GetVictim() && me->GetVictim()->GetEntry() == NPC_ZOMBIE)
+ if (me->GetVictim() && me->EnsureVictim()->GetEntry() == NPC_ZOMBIE)
{
if (me->IsWithinMeleeRange(me->GetVictim()))
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 20f7ec25775..29e435e2127 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -175,7 +175,7 @@ class boss_gothik : public CreatureScript
std::vector<uint64> LiveTriggerGUID;
std::vector<uint64> DeadTriggerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
LiveTriggerGUID.clear();
DeadTriggerGUID.clear();
@@ -188,7 +188,7 @@ class boss_gothik : public CreatureScript
thirtyPercentReached = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
for (uint32 i = 0; i < POS_LIVE; ++i)
if (Creature* trigger = DoSummon(WORLD_TRIGGER, PosSummonLive[i]))
@@ -212,7 +212,7 @@ class boss_gothik : public CreatureScript
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_READY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == WORLD_TRIGGER)
summon->setActive(true);
@@ -229,18 +229,18 @@ class boss_gothik : public CreatureScript
summons.Summon(summon);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
summons.Despawn(summon);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
LiveTriggerGUID.clear();
DeadTriggerGUID.clear();
@@ -347,7 +347,7 @@ class boss_gothik : public CreatureScript
return false;
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
uint32 spellId = 0;
switch (spell->Id)
@@ -364,13 +364,13 @@ class boss_gothik : public CreatureScript
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
if (!phaseTwo)
damage = 0;
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (!me->IsInCombat())
return;
@@ -390,7 +390,7 @@ class boss_gothik : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -493,7 +493,7 @@ class boss_gothik : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gothikAI>(creature);
}
@@ -520,25 +520,25 @@ class npc_gothik_minion : public CreatureScript
return (liveSide == IN_LIVE_SIDE(who));
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
gateClose = param;
}
- void DamageTaken(Unit* attacker, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32 &damage) override
{
if (gateClose && !isOnSameSide(attacker))
damage = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->IsSummon())
if (Unit* owner = me->ToTempSummon()->GetSummoner())
CombatAI::JustDied(owner);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!gateClose)
{
@@ -570,7 +570,7 @@ class npc_gothik_minion : public CreatureScript
Reset();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (gateClose && (!isOnSameSide(me) || (me->GetVictim() && !isOnSameSide(me->GetVictim()))))
{
@@ -582,7 +582,7 @@ class npc_gothik_minion : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_gothik_minionAI(creature);
}
@@ -602,13 +602,13 @@ class spell_gothik_shadow_bolt_volley : public SpellScriptLoader
targets.remove_if(Trinity::UnitAuraCheck(false, SPELL_SHADOW_MARK));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gothik_shadow_bolt_volley_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gothik_shadow_bolt_volley_SpellScript();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
index 6769e3429fa..929c52a986c 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp
@@ -54,7 +54,7 @@ class boss_grobbulus : public CreatureScript
{
boss_grobbulusAI(Creature* creature) : BossAI(creature, BOSS_GROBBULUS) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_CLOUD, 15000);
@@ -63,13 +63,13 @@ class boss_grobbulus : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 12 * 60000);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_SLIME_SPRAY)
me->SummonCreature(NPC_FALLOUT_SLIME, *target, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -105,7 +105,7 @@ class boss_grobbulus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_grobbulusAI(creature);
}
@@ -124,16 +124,16 @@ class npc_grobbulus_poison_cloud : public CreatureScript
creature->SetReactState(REACT_PASSIVE);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
// no visual when casting in ctor or Reset()
DoCast(me, SPELL_POISON_CLOUD_PASSIVE, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_grobbulus_poison_cloudAI(creature);
}
@@ -149,7 +149,7 @@ class spell_grobbulus_mutating_injection : public SpellScriptLoader
{
PrepareAuraScript(spell_grobbulus_mutating_injection_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MUTATING_EXPLOSION)
|| !sSpellMgr->GetSpellInfo(SPELL_POISON_CLOUD))
@@ -170,13 +170,13 @@ class spell_grobbulus_mutating_injection : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_grobbulus_mutating_injection_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_grobbulus_mutating_injection_AuraScript();
}
@@ -192,7 +192,7 @@ class spell_grobbulus_poison_cloud : public SpellScriptLoader
{
PrepareAuraScript(spell_grobbulus_poison_cloud_AuraScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
return false;
@@ -208,13 +208,13 @@ class spell_grobbulus_poison_cloud : public SpellScriptLoader
GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, mod, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_grobbulus_poison_cloud_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_grobbulus_poison_cloud_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index b850d5e5072..48dc889ef2b 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -59,7 +59,7 @@ class boss_heigan : public CreatureScript
public:
boss_heigan() : CreatureScript("boss_heigan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_heiganAI>(creature);
}
@@ -73,7 +73,7 @@ public:
bool safetyDance;
Phases phase;
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (!(rand()%5))
Talk(SAY_SLAY);
@@ -81,13 +81,13 @@ public:
safetyDance = false;
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
if (id == DATA_SAFETY_DANCE)
safetyDance = data ? true : false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_SAFETY_DANCE)
return safetyDance ? 1 : 0;
@@ -95,13 +95,13 @@ public:
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -136,7 +136,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -202,13 +202,13 @@ class spell_heigan_eruption : public SpellScriptLoader
Heigan->AI()->SetData(DATA_SAFETY_DANCE, 0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_heigan_eruption_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_heigan_eruption_SpellScript();
}
@@ -221,7 +221,7 @@ class achievement_safety_dance : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 2091b82e20c..8b3ac64fb89 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -70,15 +70,13 @@ enum Events
EVENT_TRIGGER,
EVENT_PHASE,
- EVENT_MORTAL_WOUND,
+ EVENT_MORTAL_WOUND
};
enum Spells
{
SPELL_FROST_BOLT = 28478,
- H_SPELL_FROST_BOLT = 55802,
SPELL_FROST_BOLT_AOE = 28479,
- H_SPELL_FROST_BOLT_AOE = 55807,
SPELL_SHADOW_FISURE = 27810,
SPELL_VOID_BLAST = 27812,
SPELL_MANA_DETONATION = 27819,
@@ -122,7 +120,7 @@ enum Spells
// Abomination spells
SPELL_FRENZY = 28468,
- SPELL_MORTAL_WOUND = 28467,
+ SPELL_MORTAL_WOUND = 28467
};
enum Creatures
@@ -133,7 +131,7 @@ enum Creatures
NPC_ICECROWN = 16441 // Guardians of Icecrown
};
-const Position Pos[12] =
+Position const Pos[12] =
{
{3783.272705f, -5062.697266f, 143.711203f, 3.617599f}, //LEFT_FAR
{3730.291260f, -5027.239258f, 143.956909f, 4.461900f}, //LEFT_MIDDLE
@@ -146,13 +144,13 @@ const Position Pos[12] =
{3732.02f, -5028.53f, 143.92f, 4.49f}, //WINDOW_PORTAL02
{3687.571777f, -5126.831055f, 142.017807f, 0.604023f}, //RIGHT_FAR
{3707.990733f, -5151.450195f, 142.032562f, 1.376855f}, //RIGHT_MIDDLE
- {3782.76f, -5062.97f, 143.79f, 3.82f}, //WINDOW_PORTAL03
+ {3782.76f, -5062.97f, 143.79f, 3.82f} //WINDOW_PORTAL03
};
//creatures in corners
//Unstoppable Abominations
#define MAX_ABOMINATIONS 21
-const Position PosAbominations[MAX_ABOMINATIONS] =
+Position const PosAbominations[MAX_ABOMINATIONS] =
{
{3755.52f, -5155.22f, 143.480f, 2.0f},
{3744.35f, -5164.03f, 143.590f, 2.00f},
@@ -174,12 +172,12 @@ const Position PosAbominations[MAX_ABOMINATIONS] =
{3669.74f, -5149.63f, 143.678f, 0.528643f},
{3695.53f, -5169.53f, 143.671f, 2.11908f},
{3701.98f, -5166.51f, 143.395f, 1.24257f},
- {3709.62f, -5169.15f, 143.576f, 5.97695f},
+ {3709.62f, -5169.15f, 143.576f, 5.97695f}
};
//Soldiers of the Frozen Wastes
#define MAX_WASTES 49
-const Position PosWastes[MAX_WASTES] =
+Position const PosWastes[MAX_WASTES] =
{
{3754.41f, -5147.24f, 143.204f, 2.0f},
{3754.68f, -5156.17f, 143.418f, 2.0f},
@@ -229,12 +227,12 @@ const Position PosWastes[MAX_WASTES] =
{3708.53f, -5172.19f, 143.573f, 3.26575f},
{3712.49f, -5167.62f, 143.657f, 5.63295f},
{3704.89f, -5161.84f, 143.239f, 5.63295f},
- {3695.66f, -5164.63f, 143.674f, 1.54416f},
+ {3695.66f, -5164.63f, 143.674f, 1.54416f}
};
//Soul Weavers
#define MAX_WEAVERS 7
-const Position PosWeavers[MAX_WEAVERS] =
+Position const PosWeavers[MAX_WEAVERS] =
{
{3752.45f, -5168.35f, 143.562f, 1.6094f},
{3772.2f, -5070.04f, 143.329f, 1.93686f},
@@ -242,7 +240,7 @@ const Position PosWeavers[MAX_WEAVERS] =
{3689.05f, -5055.7f, 143.172f, 6.09554f},
{3649.45f, -5093.17f, 143.299f, 2.51805f},
{3659.7f, -5144.49f, 143.363f, 4.08806f},
- {3704.71f, -5175.96f, 143.597f, 3.36549f},
+ {3704.71f, -5175.96f, 143.597f, 3.36549f}
};
// predicate function to select not charmed target
@@ -278,9 +276,6 @@ public:
std::map<uint64, float> chained;
- uint64 PortalsGUID[4];
- uint64 KTTriggerGUID;
-
SummonList spawns; // adds spawn by the trigger. kept in separated list (i.e. not in summons)
void ResetPlayerScale()
@@ -295,52 +290,45 @@ public:
chained.clear();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
- PortalsGUID[0] = PortalsGUID[1] = PortalsGUID[2] = PortalsGUID[3] = 0;
- KTTriggerGUID = 0;
-
me->setFaction(35);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NOT_SELECTABLE);
ResetPlayerScale();
spawns.DespawnAll();
- FindGameObjects();
-
instance->SetData(DATA_ABOMINATION_KILLED, 0);
- if (GameObject* pKTTrigger = me->GetMap()->GetGameObject(KTTriggerGUID))
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
{
- pKTTrigger->ResetDoorOrButton();
- pKTTrigger->SetPhaseMask(1, true);
+ trigger->ResetDoorOrButton();
+ trigger->SetPhaseMask(1, true);
}
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* pPortal = me->GetMap()->GetGameObject(PortalsGUID[i]))
- {
- if (!((pPortal->getLootState() == GO_READY) || (pPortal->getLootState() == GO_NOT_READY)))
- pPortal->ResetDoorOrButton();
- }
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ if (!((portal->getLootState() == GO_READY) || (portal->getLootState() == GO_NOT_READY)))
+ portal->ResetDoorOrButton();
}
nGuardiansOfIcecrownCount = 0;
- uiGuardiansOfIcecrownTimer = 5000; //5 seconds for summoning each Guardian of Icecrown in phase 3
+ uiGuardiansOfIcecrownTimer = 5000; // 5 seconds for summoning each Guardian of Icecrown in phase 3
Phase = 0;
nAbomination = 0;
nWeaver = 0;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -348,16 +336,15 @@ public:
ResetPlayerScale();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->setFaction(uiFaction);
_EnterCombat();
- FindGameObjects();
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* pPortal = me->GetMap()->GetGameObject(PortalsGUID[i]))
- pPortal->ResetDoorOrButton();
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ portal->ResetDoorOrButton();
}
DoCast(me, SPELL_KELTHUZAD_CHANNEL, false);
Talk(SAY_SUMMON_MINIONS);
@@ -372,16 +359,7 @@ public:
events.ScheduleEvent(EVENT_PHASE, 228000);
}
- void FindGameObjects()
- {
- PortalsGUID[0] = instance->GetData64(DATA_KELTHUZAD_PORTAL01);
- PortalsGUID[1] = instance->GetData64(DATA_KELTHUZAD_PORTAL02);
- PortalsGUID[2] = instance->GetData64(DATA_KELTHUZAD_PORTAL03);
- PortalsGUID[3] = instance->GetData64(DATA_KELTHUZAD_PORTAL04);
- KTTriggerGUID = instance->GetData64(DATA_KELTHUZAD_TRIGGER);
- }
-
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -419,8 +397,8 @@ public:
events.PopEvent();
break;
case EVENT_TRIGGER:
- if (GameObject* pKTTrigger = me->GetMap()->GetGameObject(KTTriggerGUID))
- pKTTrigger->SetPhaseMask(2, true);
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
+ trigger->SetPhaseMask(2, true);
events.PopEvent();
break;
case EVENT_PHASE:
@@ -461,11 +439,9 @@ public:
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* pPortal = me->GetMap()->GetGameObject(PortalsGUID[i]))
- {
- if (pPortal->getLootState() == GO_READY)
- pPortal->UseDoorOrButton();
- }
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ if (portal->getLootState() == GO_READY)
+ portal->UseDoorOrButton();
}
}
}
@@ -474,8 +450,8 @@ public:
if (uiGuardiansOfIcecrownTimer <= diff)
{
/// @todo Add missing text
- if (Creature* pGuardian = DoSummon(NPC_ICECROWN, Pos[RAND(2, 5, 8, 11)]))
- pGuardian->SetFloatValue(UNIT_FIELD_COMBATREACH, 2);
+ if (Creature* guardian = DoSummon(NPC_ICECROWN, Pos[RAND(2, 5, 8, 11)]))
+ guardian->SetFloatValue(UNIT_FIELD_COMBATREACH, 2);
++nGuardiansOfIcecrownCount;
uiGuardiansOfIcecrownTimer = 5000;
}
@@ -490,11 +466,11 @@ public:
switch (eventId)
{
case EVENT_BOLT:
- DoCastVictim(RAID_MODE(SPELL_FROST_BOLT, H_SPELL_FROST_BOLT));
+ DoCastVictim(SPELL_FROST_BOLT);
events.RepeatEvent(urand(5000, 10000));
break;
case EVENT_NOVA:
- DoCastAOE(RAID_MODE(SPELL_FROST_BOLT_AOE, H_SPELL_FROST_BOLT_AOE));
+ DoCastAOE(SPELL_FROST_BOLT_AOE);
events.RepeatEvent(urand(15000, 30000));
break;
case EVENT_CHAIN:
@@ -646,7 +622,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kelthuzadAI>(creature);
}
@@ -657,7 +633,7 @@ class at_kelthuzad_center : public AreaTriggerScript
public:
at_kelthuzad_center() : AreaTriggerScript("at_kelthuzad_center") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
if (player->IsGameMaster())
return false;
@@ -666,7 +642,7 @@ public:
if (!instance || instance->IsEncounterInProgress() || instance->GetBossState(BOSS_KELTHUZAD) == DONE)
return false;
- Creature* pKelthuzad = Unit::GetCreature(*player, instance->GetData64(DATA_KELTHUZAD));
+ Creature* pKelthuzad = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_KELTHUZAD));
if (!pKelthuzad)
return false;
@@ -675,7 +651,7 @@ public:
return false;
pKelthuzadAI->AttackStart(player);
- if (GameObject* trigger = instance->instance->GetGameObject(instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*player, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
{
if (trigger->getLootState() == GO_READY)
trigger->UseDoorOrButton();
@@ -727,14 +703,14 @@ class npc_kelthuzad_abomination : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(2000, 5000));
DoCast(me, SPELL_FRENZY, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -755,7 +731,7 @@ class npc_kelthuzad_abomination : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_instance->SetData(DATA_ABOMINATION_KILLED, _instance->GetData(DATA_ABOMINATION_KILLED) + 1);
}
@@ -765,7 +741,7 @@ class npc_kelthuzad_abomination : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_kelthuzad_abominationAI>(creature);
}
@@ -780,7 +756,7 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
{
PrepareAuraScript(spell_kelthuzad_detonate_mana_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MANA_DETONATION_DAMAGE))
return false;
@@ -799,13 +775,13 @@ class spell_kelthuzad_detonate_mana : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_kelthuzad_detonate_mana_AuraScript::HandleScript, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_kelthuzad_detonate_mana_AuraScript();
}
@@ -816,7 +792,7 @@ class achievement_just_cant_get_enough : public AchievementCriteriaScript
public:
achievement_just_cant_get_enough() : AchievementCriteriaScript("achievement_just_cant_get_enough") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
index 760cc180b95..946b60d4e27 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_loatheb.cpp
@@ -64,14 +64,14 @@ class boss_loatheb : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_doomCounter = 0;
_sporeLoserData = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_NECROTIC_AURA, 17000);
@@ -80,12 +80,12 @@ class boss_loatheb : public CreatureScript
events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 120000);
}
- void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override
{
_sporeLoserData = false;
}
- uint32 GetData(uint32 id) const OVERRIDE
+ uint32 GetData(uint32 id) const override
{
if (id != DATA_ACHIEVEMENT_SPORE_LOSER)
return 0;
@@ -93,7 +93,7 @@ class boss_loatheb : public CreatureScript
return uint32(_sporeLoserData);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -139,7 +139,7 @@ class boss_loatheb : public CreatureScript
uint8 _doomCounter;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_loathebAI(creature);
}
@@ -150,7 +150,7 @@ class achievement_spore_loser : public AchievementCriteriaScript
public:
achievement_spore_loser() : AchievementCriteriaScript("achievement_spore_loser") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_ACHIEVEMENT_SPORE_LOSER);
}
@@ -167,7 +167,7 @@ class spell_loatheb_necrotic_aura_warning : public SpellScriptLoader
{
PrepareAuraScript(spell_loatheb_necrotic_aura_warning_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellStore.LookupEntry(SPELL_WARN_NECROTIC_AURA))
return false;
@@ -186,14 +186,14 @@ class spell_loatheb_necrotic_aura_warning : public SpellScriptLoader
CAST_AI(LoathebAI, GetTarget()->GetAI())->Talk(SAY_NECROTIC_AURA_REMOVED);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_loatheb_necrotic_aura_warning_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_loatheb_necrotic_aura_warning_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_loatheb_necrotic_aura_warning_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index 9d8dbf70ce7..ce605987890 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -63,7 +63,7 @@ class boss_maexxna : public CreatureScript
public:
boss_maexxna() : CreatureScript("boss_maexxna") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_maexxnaAI(creature);
}
@@ -74,7 +74,7 @@ public:
bool enraged;
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
enraged = false;
@@ -85,7 +85,7 @@ public:
events.ScheduleEvent(EVENT_SUMMON, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -154,7 +154,7 @@ class npc_webwrap : public CreatureScript
public:
npc_webwrap() : CreatureScript("npc_webwrap") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_webwrapAI(creature);
}
@@ -165,7 +165,7 @@ public:
uint64 victimGUID;
- void SetGUID(uint64 guid, int32 /*param*/) OVERRIDE
+ void SetGUID(uint64 guid, int32 /*param*/) override
{
victimGUID = guid;
if (me->m_spells[0] && victimGUID)
@@ -173,7 +173,7 @@ public:
victim->CastSpell(victim, me->m_spells[0], true, NULL, NULL, me->GetGUID());
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->m_spells[0] && victimGUID)
if (Unit* victim = Unit::GetUnit(*me, victimGUID))
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
index 93cbb1b992a..d6d91d14a21 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_noth.cpp
@@ -74,14 +74,14 @@ public:
{
boss_nothAI(Creature* creature) : BossAI(creature, BOSS_NOTH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -107,20 +107,20 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
summon->setActive(true);
summon->AI()->DoZoneInCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -132,7 +132,7 @@ public:
me->SummonCreature(entry, SummonPos[rand()%MAX_SUMMON_POS], TEMPSUMMON_CORPSE_DESPAWN, 60000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -215,7 +215,7 @@ public:
uint32 balconyCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_nothAI>(creature);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
index cc0b3836a7a..a713474d256 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
@@ -55,7 +55,7 @@ class boss_patchwerk : public CreatureScript
public:
boss_patchwerk() : CreatureScript("boss_patchwerk") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_patchwerkAI>(creature);
}
@@ -66,26 +66,26 @@ public:
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT);
}
- void KilledUnit(Unit* /*Victim*/) OVERRIDE
+ void KilledUnit(Unit* /*Victim*/) override
{
if (!(rand()%5))
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Enraged = false;
@@ -96,7 +96,7 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
index 4936681839f..d9a64569516 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_razuvious.cpp
@@ -61,7 +61,7 @@ class boss_razuvious : public CreatureScript
public:
boss_razuvious() : CreatureScript("boss_razuvious") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_razuviousAI(creature);
}
@@ -70,13 +70,13 @@ public:
{
boss_razuviousAI(Creature* creature) : BossAI(creature, BOSS_RAZUVIOUS) { }
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%3))
DoPlaySoundToSet(me, SOUND_SLAY);
}
- void DamageTaken(Unit* pDone_by, uint32& uiDamage) OVERRIDE
+ void DamageTaken(Unit* pDone_by, uint32& uiDamage) override
{
// Damage done by the controlled Death Knight understudies should also count toward damage done by players
if (pDone_by->GetTypeId() == TYPEID_UNIT && (pDone_by->GetEntry() == 16803 || pDone_by->GetEntry() == 29941))
@@ -85,14 +85,14 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
DoPlaySoundToSet(me, SOUND_DEATH);
me->CastSpell(me, SPELL_HOPELESS, true); /// @todo this may affect other creatures
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
DoPlaySoundToSet(me, SOUND_AGGRO);
@@ -102,7 +102,7 @@ public:
events.ScheduleEvent(EVENT_KNIFE, 10000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index be434ecc73a..e3527b46bed 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -94,7 +94,7 @@ class boss_sapphiron : public CreatureScript
_map(me->GetMap())
{ }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
_canTheHundredClub = true;
@@ -108,7 +108,7 @@ class boss_sapphiron : public CreatureScript
BossAI::InitializeAI();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -121,7 +121,7 @@ class boss_sapphiron : public CreatureScript
_checkFrostResistTimer = 5 * IN_MILLISECONDS;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -133,7 +133,7 @@ class boss_sapphiron : public CreatureScript
CheckPlayersFrostResist();
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ICEBOLT)
{
@@ -146,7 +146,7 @@ class boss_sapphiron : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
me->CastSpell(me, SPELL_DIES, true);
@@ -154,13 +154,13 @@ class boss_sapphiron : public CreatureScript
CheckPlayersFrostResist();
}
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 id) override
{
if (id == 1)
events.ScheduleEvent(EVENT_LIFTOFF, 0);
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
if (param == DATA_SAPPHIRON_BIRTH)
{
@@ -210,7 +210,7 @@ class boss_sapphiron : public CreatureScript
_iceblocks.clear();
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
if (data == DATA_THE_HUNDRED_CLUB)
return _canTheHundredClub;
@@ -218,7 +218,7 @@ class boss_sapphiron : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!_phase)
return;
@@ -403,7 +403,7 @@ class boss_sapphiron : public CreatureScript
Map* _map;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_sapphironAI(creature);
}
@@ -414,7 +414,7 @@ class achievement_the_hundred_club : public AchievementCriteriaScript
public:
achievement_the_hundred_club() : AchievementCriteriaScript("achievement_the_hundred_club") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_THE_HUNDRED_CLUB);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index 245399afdda..528b2fec348 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -108,7 +108,7 @@ class boss_thaddius : public CreatureScript
public:
boss_thaddius() : CreatureScript("boss_thaddius") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_thaddiusAI>(creature);
}
@@ -147,19 +147,19 @@ public:
bool polaritySwitch;
uint32 uiAddsTimer;
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -190,7 +190,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -199,18 +199,18 @@ public:
events.ScheduleEvent(EVENT_BERSERK, 360000);
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 & /*uiDamage*/) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32 & /*uiDamage*/) override
{
me->SetReactState(REACT_AGGRESSIVE);
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
if (id == DATA_POLARITY_SWITCH)
polaritySwitch = data ? true : false;
}
- uint32 GetData(uint32 id) const OVERRIDE
+ uint32 GetData(uint32 id) const override
{
if (id != DATA_POLARITY_SWITCH)
return 0;
@@ -218,7 +218,7 @@ public:
return uint32(polaritySwitch);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (checkFeugenAlive && checkStalaggAlive)
uiAddsTimer = 0;
@@ -281,7 +281,7 @@ class npc_stalagg : public CreatureScript
public:
npc_stalagg() : CreatureScript("npc_stalagg") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_stalaggAI>(creature);
}
@@ -298,7 +298,7 @@ public:
uint32 powerSurgeTimer;
uint32 magneticPullTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (Creature* pThaddius = me->GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
if (pThaddius->AI())
@@ -307,19 +307,19 @@ public:
magneticPullTimer = 20000;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_STAL_SLAY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_STAL_AGGRO);
DoCast(SPELL_STALAGG_TESLA);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_STAL_DEATH);
if (Creature* pThaddius = me->GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
@@ -327,7 +327,7 @@ public:
pThaddius->AI()->DoAction(ACTION_STALAGG_DIED);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -373,7 +373,7 @@ class npc_feugen : public CreatureScript
public:
npc_feugen() : CreatureScript("npc_feugen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_feugenAI>(creature);
}
@@ -389,7 +389,7 @@ public:
uint32 staticFieldTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (Creature* pThaddius = me->GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
if (pThaddius->AI())
@@ -397,19 +397,19 @@ public:
staticFieldTimer = 5000;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (!(rand()%5))
Talk(SAY_FEUG_SLAY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_FEUG_AGGRO);
DoCast(SPELL_FEUGEN_TESLA);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_FEUG_DEATH);
if (Creature* pThaddius = me->GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
@@ -417,7 +417,7 @@ public:
pThaddius->AI()->DoAction(ACTION_FEUGEN_DIED);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -443,7 +443,7 @@ class spell_thaddius_pos_neg_charge : public SpellScriptLoader
{
PrepareSpellScript(spell_thaddius_pos_neg_charge_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POSITIVE_CHARGE))
return false;
@@ -456,7 +456,7 @@ class spell_thaddius_pos_neg_charge : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -500,14 +500,14 @@ class spell_thaddius_pos_neg_charge : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_thaddius_pos_neg_charge_SpellScript::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_thaddius_pos_neg_charge_SpellScript::HandleTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_thaddius_pos_neg_charge_SpellScript();
}
@@ -522,7 +522,7 @@ class spell_thaddius_polarity_shift : public SpellScriptLoader
{
PrepareSpellScript(spell_thaddius_polarity_shift_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POSITIVE_POLARITY) || !sSpellMgr->GetSpellInfo(SPELL_NEGATIVE_POLARITY))
return false;
@@ -536,13 +536,13 @@ class spell_thaddius_polarity_shift : public SpellScriptLoader
target->CastSpell(target, roll_chance_i(50) ? SPELL_POSITIVE_POLARITY : SPELL_NEGATIVE_POLARITY, true, NULL, NULL, caster->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_thaddius_polarity_shift_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_thaddius_polarity_shift_SpellScript();
}
@@ -553,7 +553,7 @@ class achievement_polarity_switch : public AchievementCriteriaScript
public:
achievement_polarity_switch() : AchievementCriteriaScript("achievement_polarity_switch") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_POLARITY_SWITCH);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 137c9e68247..1331c25de17 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -131,7 +131,7 @@ class instance_naxxramas : public InstanceMapScript
memset(PortalsGUID, 0, sizeof(PortalsGUID));
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -175,12 +175,12 @@ class instance_naxxramas : public InstanceMapScript
AddMinion(creature, true);
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
AddMinion(creature, false);
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287)
{
@@ -220,7 +220,7 @@ class instance_naxxramas : public InstanceMapScript
AddDoor(go, true);
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287)
{
@@ -247,7 +247,7 @@ class instance_naxxramas : public InstanceMapScript
AddDoor(go, false);
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
if (unit->GetTypeId() == TYPEID_PLAYER && IsEncounterInProgress())
{
@@ -256,7 +256,7 @@ class instance_naxxramas : public InstanceMapScript
}
}
- void SetData(uint32 id, uint32 value) OVERRIDE
+ void SetData(uint32 id, uint32 value) override
{
switch (id)
{
@@ -292,7 +292,7 @@ class instance_naxxramas : public InstanceMapScript
}
}
- uint32 GetData(uint32 id) const OVERRIDE
+ uint32 GetData(uint32 id) const override
{
switch (id)
{
@@ -305,7 +305,7 @@ class instance_naxxramas : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 id) const OVERRIDE
+ uint64 GetData64(uint32 id) const override
{
switch (id)
{
@@ -344,7 +344,7 @@ class instance_naxxramas : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 id, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 id, EncounterState state) override
{
if (!InstanceScript::SetBossState(id, state))
return false;
@@ -427,7 +427,7 @@ class instance_naxxramas : public InstanceMapScript
return false;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -438,7 +438,7 @@ class instance_naxxramas : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
@@ -513,7 +513,7 @@ class instance_naxxramas : public InstanceMapScript
uint32 playerDied;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_naxxramas_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 58f8943fae6..2570a44b0a0 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -346,7 +346,7 @@ public:
_flySpeed = me->GetSpeed(MOVE_FLIGHT); // Get initial fly speed, otherwise on each wipe fly speed would add up if we get it
}
- void Reset() OVERRIDE
+ void Reset() override
{
// EnterEvadeMode and Reset() links are cut for the sake of properly functioning despawner.
if (!_despawned)
@@ -379,7 +379,7 @@ public:
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
switch (data)
{
@@ -392,7 +392,7 @@ public:
return 0;
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data == DATA_SUMMON_DEATHS && _phase == PHASE_TWO && !_despawned)
{
@@ -417,7 +417,7 @@ public:
}
}
- uint64 GetGUID(int32 type) const OVERRIDE
+ uint64 GetGUID(int32 type) const override
{
if (type >= DATA_FIRST_SURGE_TARGET_GUID && type < DATA_FIRST_SURGE_TARGET_GUID + NUM_MAX_SURGE_TARGETS)
return _surgeTargetGUID[type - DATA_FIRST_SURGE_TARGET_GUID];
@@ -427,7 +427,7 @@ public:
return 0;
}
- void SetGUID(uint64 guid, int32 type) OVERRIDE
+ void SetGUID(uint64 guid, int32 type) override
{
switch (type)
{
@@ -444,7 +444,7 @@ public:
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -469,8 +469,8 @@ public:
DoCast(me, SPELL_VORTEX_3, true);
break;
case ACTION_LIFT_IN_AIR:
- Position _zToLift;
- me->GetPosition(&_zToLift);
+ {
+ Position _zToLift = me->GetPosition();
if (_phase == PHASE_ONE)
{
_zToLift.m_positionZ += 20.0f;
@@ -482,6 +482,7 @@ public:
me->GetMotionMaster()->MoveTakeoff(POINT_PHASE_ONE_TO_TWO_TRANSITION, _zToLift);
}
break;
+ }
case ACTION_HANDLE_P_THREE_INTRO:
events.CancelEventGroup(0);
events.CancelEventGroup(1);
@@ -544,7 +545,7 @@ public:
break;
case PHASE_TWO:
events.ScheduleEvent(EVENT_MOVE_TO_POINT_SURGE_P_TWO, 60*IN_MILLISECONDS, 0, _phase);
- me->AI()->DoAction(ACTION_LIFT_IN_AIR);
+ DoAction(ACTION_LIFT_IN_AIR);
break;
case PHASE_THREE:
events.ScheduleEvent(EVENT_ARCANE_PULSE, 7*IN_MILLISECONDS, 0, _phase);
@@ -556,13 +557,13 @@ public:
}
// There are moments where boss will do nothing while being attacked
- void AttackStart(Unit* target) OVERRIDE
+ void AttackStart(Unit* target) override
{
if (_canAttack)
BossAI::AttackStart(target);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
// We can't call full function here since it includes DoZoneInCombat(),
// if someone does it will be returned with a warning.
@@ -580,11 +581,11 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->SetBossState(DATA_MALYGOS_EVENT, FAIL);
- SendLightOverride(LIGHT_GET_DEFAULT_FOR_MAP, 1*IN_MILLISECONDS);
+ me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_GET_DEFAULT_FOR_MAP, 1*IN_MILLISECONDS);
if (_phase == PHASE_THREE)
me->SetControlled(false, UNIT_STATE_ROOT);
@@ -625,7 +626,7 @@ public:
instance->SetBossState(DATA_MALYGOS_EVENT, NOT_STARTED);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -653,7 +654,7 @@ public:
}
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_POWER_SPARK_MALYGOS)
{
@@ -666,7 +667,7 @@ public:
sCreatureTextMgr->SendChat(me, EMOTE_HIT_BERSERKER_TIMER, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_MAP);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->IsInCombat() || _phase != PHASE_ONE)
@@ -677,7 +678,7 @@ public:
who->CastSpell(me, SPELL_POWER_SPARK_MALYGOS, true);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
return;
@@ -725,8 +726,8 @@ public:
me->SetDisableGravity(true);
if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
me->SetFacingToObject(alexstraszaBunny);
- SendLightOverride(LIGHT_ARCANE_RUNES, 5*IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_FLY_OUT_OF_PLATFORM, 18*IN_MILLISECONDS, 0, PHASE_TWO);
+ me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_ARCANE_RUNES, 5 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_FLY_OUT_OF_PLATFORM, 18 * IN_MILLISECONDS, 0, PHASE_TWO);
break;
case POINT_SURGE_OF_POWER_P_TWO:
if (!_performingDestroyPlatform)
@@ -737,7 +738,7 @@ public:
}
break;
case POINT_DESTROY_PLATFORM_P_TWO:
- SendLightOverride(LIGHT_OBSCURE_SPACE, 1*IN_MILLISECONDS);
+ me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_SPACE, 1 * IN_MILLISECONDS);
DoCast(me, SPELL_DESTROY_PLATFORM_CHANNEL);
events.ScheduleEvent(EVENT_MOVE_TO_P_THREE_POINT, 11*IN_MILLISECONDS, 0, PHASE_TWO);
break;
@@ -748,7 +749,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!instance || (!UpdateVictim() && _phase != PHASE_NOT_STARTED && _phase != PHASE_TWO))
return;
@@ -929,7 +930,7 @@ public:
}
break;
case EVENT_LIGHT_DIMENSION_CHANGE:
- SendLightOverride(LIGHT_CHANGE_DIMENSIONS, 2*IN_MILLISECONDS);
+ me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_CHANGE_DIMENSIONS, 2 * IN_MILLISECONDS);
break;
case EVENT_DELAY_MOVE_TO_DESTROY_P:
me->GetMotionMaster()->MovePoint(POINT_DESTROY_PLATFORM_P_TWO, MalygosPositions[0]);
@@ -939,7 +940,7 @@ public:
me->GetMotionMaster()->MovePoint(POINT_IDLE_P_THREE, MalygosPositions[4]);
break;
case EVENT_START_P_THREE:
- SendLightOverride(LIGHT_OBSCURE_ARCANE_RUNES, 1*IN_MILLISECONDS);
+ me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_ARCANE_RUNES, 1 * IN_MILLISECONDS);
DoCast(me, SPELL_CLEAR_ALL_DEBUFFS);
DoCast(me, SPELL_IMMUNE_CURSES);
_canAttack = true;
@@ -991,7 +992,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -1026,27 +1027,6 @@ public:
}
}
- // Function that will change lights of map for all players on map.
- void SendLightOverride(uint32 overrideId, uint32 fadeInTime) const
- {
- WorldPacket data(SMSG_OVERRIDE_LIGHT, 12);
- data << uint32(1773); // Light.dbc entry (map default)
- data << uint32(overrideId); // Light.dbc entry (override)
- data << uint32(fadeInTime);
- SendPacketToPlayers(&data);
- }
-
- // Send packet to all players in Eye of Eternity
- void SendPacketToPlayers(WorldPacket const* data) const
- {
- Map::PlayerList const& players = me->GetMap()->GetPlayers();
- if (!players.isEmpty())
- for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
- if (Player* player = itr->GetSource())
- if (player->GetAreaId() == AREA_EYE_OF_ETERNITY)
- player->GetSession()->SendPacket(data);
- }
-
uint8 _phase; // Counter for phases used with a getter.
uint8 _summonDeaths; // Keeps count of arcane trash.
uint8 _preparingPulsesChecker; // In retail they use 2 preparing pulses with 7 sec CD, after they pass 2 seconds.
@@ -1067,7 +1047,7 @@ public:
float _flySpeed; // Used to store base fly speed to prevent stacking on each evade.
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_malygosAI>(creature);
}
@@ -1085,7 +1065,7 @@ public:
_instance = creature->GetInstanceScript();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_PORTAL_OPENED)
{
@@ -1097,7 +1077,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
// When duration of opened riff visual ends, closed one should be cast
if (!me->HasAura(SPELL_PORTAL_VISUAL_CLOSED) && !me->HasAura(SPELL_PORTAL_OPENED))
@@ -1117,7 +1097,7 @@ public:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_portal_eoeAI>(creature);
}
@@ -1146,7 +1126,7 @@ public:
me->GetMotionMaster()->MoveFollow(malygos, 0.0f, 0.0f);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!_instance)
return;
@@ -1170,7 +1150,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->CastSpell(me, SPELL_POWER_SPARK_DEATH, true); // not supposed to hide the fact it's there by not selectable
}
@@ -1179,7 +1159,7 @@ public:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_power_sparkAI>(creature);
}
@@ -1200,14 +1180,14 @@ public:
me->SetSpeed(MOVE_FLIGHT, 1.25f);
}
- void Reset() OVERRIDE
+ void Reset() override
{
VehicleAI::Reset();
_wpCount = 0;
}
- void PassengerBoarded(Unit* unit, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* unit, int8 /*seat*/, bool apply) override
{
if (apply)
{
@@ -1240,7 +1220,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1248,7 +1228,7 @@ public:
me->GetMotionMaster()->MovePoint(eventId, MeleeHoverDisksWaypoints[eventId]);
}
- void DoAction(int32 /*action*/) OVERRIDE
+ void DoAction(int32 /*action*/) override
{
if (Vehicle* vehicleTemp = me->GetVehicleKit())
if (vehicleTemp->GetPassenger(0) && vehicleTemp->GetPassenger(0)->GetTypeId() == TYPEID_PLAYER)
@@ -1260,7 +1240,7 @@ public:
me->DespawnOrUnsummon(3*IN_MILLISECONDS);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -1281,7 +1261,7 @@ public:
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_melee_hover_diskAI>(creature);
}
@@ -1303,16 +1283,16 @@ public:
me->SetSpeed(MOVE_FLIGHT, 0.45f);
}
- void Reset() OVERRIDE
+ void Reset() override
{
VehicleAI::Reset();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
}
- void PassengerBoarded(Unit* unit, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* unit, int8 /*seat*/, bool apply) override
{
if (apply)
{
@@ -1328,7 +1308,7 @@ public:
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action < ACTION_DELAYED_DESPAWN)
{
@@ -1363,7 +1343,7 @@ public:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_caster_hover_diskAI>(creature);
}
@@ -1381,23 +1361,23 @@ class npc_nexus_lord : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
}
- void DoAction(int32 /*action*/) OVERRIDE
+ void DoAction(int32 /*action*/) override
{
_events.ScheduleEvent(EVENT_NUKE_DUMMY, 1);
_events.ScheduleEvent(EVENT_ARCANE_SHOCK, 2*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HASTE_BUFF, 12*IN_MILLISECONDS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1428,7 +1408,7 @@ class npc_nexus_lord : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
malygos->AI()->SetData(DATA_SUMMON_DEATHS, malygos->AI()->GetData(DATA_SUMMON_DEATHS) + 1);
@@ -1439,7 +1419,7 @@ class npc_nexus_lord : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_nexus_lordAI>(creature);
}
@@ -1457,29 +1437,29 @@ class npc_scion_of_eternity : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
_events.ScheduleEvent(EVENT_ARCANE_BARRAGE, urand(14, 29)*IN_MILLISECONDS);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void AttackStart(Unit* /*target*/) OVERRIDE
+ void AttackStart(Unit* /*target*/) override
{
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1495,7 +1475,7 @@ class npc_scion_of_eternity : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
malygos->AI()->SetData(DATA_SUMMON_DEATHS, malygos->AI()->GetData(DATA_SUMMON_DEATHS) + 1);
@@ -1506,7 +1486,7 @@ class npc_scion_of_eternity : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_scion_of_eternityAI>(creature);
}
@@ -1525,7 +1505,7 @@ public:
me->SetReactState(REACT_PASSIVE);
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (Creature* creature = summoner->ToCreature())
{
@@ -1534,11 +1514,11 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
}
- void DoAction(int32 /*action*/) OVERRIDE
+ void DoAction(int32 /*action*/) override
{
if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
{
@@ -1550,7 +1530,7 @@ public:
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ARCANE_BOMB_TRIGGER)
{
@@ -1564,7 +1544,7 @@ public:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_arcane_overloadAI>(creature);
}
@@ -1582,7 +1562,7 @@ public:
{
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
_summoner = NULL;
if (Player* player = summoner->ToPlayer())
@@ -1592,7 +1572,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
VehicleAI::UpdateAI(diff);
_events.Update(diff);
@@ -1608,15 +1588,14 @@ public:
}
}
- void PassengerBoarded(Unit* /*unit*/, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* /*unit*/, int8 /*seat*/, bool apply) override
{
if (!apply)
{
me->DespawnOrUnsummon(2050);
me->SetOrientation(2.5f);
me->SetSpeed(MOVE_FLIGHT, 1.0f, true);
- Position pos;
- me->GetPosition(&pos);
+ Position pos = me->GetPosition();
pos.m_positionX += 10.0f;
pos.m_positionY += 10.0f;
pos.m_positionZ += 12.0f;
@@ -1629,7 +1608,7 @@ public:
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wyrmrest_skytalonAI(creature);
}
@@ -1648,14 +1627,14 @@ class npc_static_field : public CreatureScript
{
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
// For some great reason the spell doesn't time it...
me->DespawnOrUnsummon(30*IN_MILLISECONDS);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_static_fieldAI(creature);
}
@@ -1670,12 +1649,12 @@ class spell_malygos_portal_beam : public SpellScriptLoader
{
PrepareAuraScript(spell_malygos_portal_beam_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PORTAL_OPENED))
return false;
@@ -1695,14 +1674,14 @@ class spell_malygos_portal_beam : public SpellScriptLoader
target->RemoveAura(SPELL_PORTAL_OPENED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_malygos_portal_beam_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_malygos_portal_beam_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_malygos_portal_beam_AuraScript();
}
@@ -1717,7 +1696,7 @@ class spell_malygos_random_portal : public SpellScriptLoader
{
PrepareSpellScript(spell_malygos_random_portal_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1734,13 +1713,13 @@ class spell_malygos_random_portal : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_malygos_random_portal_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_malygos_random_portal_SpellScript();
}
@@ -1773,12 +1752,12 @@ class spell_malygos_arcane_storm : public SpellScriptLoader
{
PrepareSpellScript(spell_malygos_arcane_storm_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ARCANE_STORM_EXTRA_VISUAL))
return false;
@@ -1811,14 +1790,14 @@ class spell_malygos_arcane_storm : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), SPELL_ARCANE_STORM_EXTRA_VISUAL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_malygos_arcane_storm_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectLaunchTarget += SpellEffectFn(spell_malygos_arcane_storm_SpellScript::HandleVisual, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_malygos_arcane_storm_SpellScript();
}
@@ -1833,7 +1812,7 @@ public:
{
PrepareSpellScript(spell_malygos_vortex_dummy_SpellScript)
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1849,13 +1828,13 @@ public:
// the rest of the vortex execution continues when SPELL_VORTEX_2 is removed.
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_malygos_vortex_dummy_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_malygos_vortex_dummy_SpellScript();
}
@@ -1870,12 +1849,12 @@ class spell_malygos_vortex_visual : public SpellScriptLoader
{
PrepareAuraScript(spell_malygos_vortex_visual_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_VORTEX_1) || !sSpellMgr->GetSpellInfo(SPELL_VORTEX_6))
return false;
@@ -1913,13 +1892,13 @@ class spell_malygos_vortex_visual : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_malygos_vortex_visual_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_malygos_vortex_visual_AuraScript();
}
@@ -1949,7 +1928,7 @@ class spell_arcane_overload : public SpellScriptLoader
{
PrepareSpellScript(spell_arcane_overload_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1961,13 +1940,13 @@ class spell_arcane_overload : public SpellScriptLoader
GetSpellInfo()->Effects[EFFECT_0].CalcRadius(arcaneOverload) * arcaneOverload->GetObjectScale()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_arcane_overload_SpellScript::ResizeEffectRadiusTargetChecker, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_arcane_overload_SpellScript();
}
@@ -1982,7 +1961,7 @@ class spell_nexus_lord_align_disk_aggro : public SpellScriptLoader
{
PrepareSpellScript(spell_nexus_lord_align_disk_aggro_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1994,13 +1973,13 @@ class spell_nexus_lord_align_disk_aggro : public SpellScriptLoader
target->GetMotionMaster()->MoveChase(caster->GetVictim());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_nexus_lord_align_disk_aggro_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_nexus_lord_align_disk_aggro_SpellScript();
}
@@ -2033,7 +2012,7 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader
{
PrepareSpellScript(spell_scion_of_eternity_arcane_barrage_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT && GetCaster()->GetInstanceScript() != NULL;
}
@@ -2095,14 +2074,14 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_scion_of_eternity_arcane_barrage_SpellScript::FilterMeleeHoverDiskPassangers, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnHit += SpellHitFn(spell_scion_of_eternity_arcane_barrage_SpellScript::TriggerDamageSpellFromPlayer);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_scion_of_eternity_arcane_barrage_SpellScript();
}
@@ -2117,12 +2096,12 @@ class spell_malygos_destroy_platform_channel : public SpellScriptLoader
{
PrepareAuraScript(spell_malygos_destroy_platform_channel_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DESTROY_PLATFORM_BOOM_VISUAL))
return false;
@@ -2138,13 +2117,13 @@ class spell_malygos_destroy_platform_channel : public SpellScriptLoader
platformTrigger->CastSpell(platformTrigger, SPELL_DESTROY_PLATFORM_BOOM_VISUAL);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_malygos_destroy_platform_channel_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_malygos_destroy_platform_channel_AuraScript();
}
@@ -2159,12 +2138,12 @@ class spell_alexstrasza_bunny_destroy_platform_boom_visual : public SpellScriptL
{
PrepareSpellScript(spell_alexstrasza_bunny_destroy_platform_boom_visual_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DESTROY_PLATFORM_EVENT))
return false;
@@ -2178,13 +2157,13 @@ class spell_alexstrasza_bunny_destroy_platform_boom_visual : public SpellScriptL
target->CastSpell(target, SPELL_DESTROY_PLATFORM_EVENT);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_boom_visual_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alexstrasza_bunny_destroy_platform_boom_visual_SpellScript();
}
@@ -2199,7 +2178,7 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScriptLoader
{
PrepareSpellScript(spell_alexstrasza_bunny_destroy_platform_event_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2217,14 +2196,14 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScriptLoader
GetCaster()->CastSpell((Unit*)NULL, SPELL_SUMMON_RED_DRAGON_BUDDY_F_CAST);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_event_SpellScript::HandleSendEvent, EFFECT_0, SPELL_EFFECT_SEND_EVENT);
OnEffectHit += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_event_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_alexstrasza_bunny_destroy_platform_event_SpellScript();
}
@@ -2240,7 +2219,7 @@ class spell_wyrmrest_skytalon_summon_red_dragon_buddy : public SpellScriptLoader
{
PrepareSpellScript(spell_wyrmrest_skytalon_summon_red_dragon_buddy_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -2252,13 +2231,13 @@ class spell_wyrmrest_skytalon_summon_red_dragon_buddy : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_wyrmrest_skytalon_summon_red_dragon_buddy_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_RADIUS);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wyrmrest_skytalon_summon_red_dragon_buddy_SpellScript();
}
@@ -2273,7 +2252,7 @@ class spell_wyrmrest_skytalon_ride_red_dragon_buddy_trigger : public SpellScript
{
PrepareSpellScript(spell_wyrmrest_skytalon_ride_red_dragon_buddy_trigger_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2284,13 +2263,13 @@ class spell_wyrmrest_skytalon_ride_red_dragon_buddy_trigger : public SpellScript
target->CastSpell(GetCaster(), GetEffectValue(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_wyrmrest_skytalon_ride_red_dragon_buddy_trigger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wyrmrest_skytalon_ride_red_dragon_buddy_trigger_SpellScript();
}
@@ -2305,12 +2284,12 @@ class spell_malygos_surge_of_power_warning_selector_25 : public SpellScriptLoade
{
PrepareSpellScript(spell_malygos_surge_of_power_warning_selector_25_SpellScript)
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SURGE_OF_POWER_PHASE_3_25))
return false;
@@ -2346,17 +2325,17 @@ class spell_malygos_surge_of_power_warning_selector_25 : public SpellScriptLoade
void ExecuteMainSpell()
{
- GetCaster()->ToCreature()->AI()->DoCastAOE(SPELL_SURGE_OF_POWER_PHASE_3_25);
+ GetCaster()->ToCreature()->CastSpell((Unit*)NULL, SPELL_SURGE_OF_POWER_PHASE_3_25);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_malygos_surge_of_power_warning_selector_25_SpellScript::SendThreeTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
AfterHit += SpellHitFn(spell_malygos_surge_of_power_warning_selector_25_SpellScript::ExecuteMainSpell);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_malygos_surge_of_power_warning_selector_25_SpellScript();
}
@@ -2371,7 +2350,7 @@ class spell_malygos_surge_of_power_25 : public SpellScriptLoader
{
PrepareSpellScript(spell_malygos_surge_of_power_25_SpellScript)
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2401,13 +2380,13 @@ class spell_malygos_surge_of_power_25 : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_malygos_surge_of_power_25_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_malygos_surge_of_power_25_SpellScript();
}
@@ -2422,12 +2401,12 @@ class spell_alexstrasza_gift_beam : public SpellScriptLoader
{
PrepareAuraScript(spell_alexstrasza_gift_beam_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ALEXSTRASZAS_GIFT_BEAM_VISUAL))
return false;
@@ -2447,14 +2426,14 @@ class spell_alexstrasza_gift_beam : public SpellScriptLoader
target->RemoveAura(SPELL_ALEXSTRASZAS_GIFT_BEAM_VISUAL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_alexstrasza_gift_beam_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_alexstrasza_gift_beam_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_alexstrasza_gift_beam_AuraScript();
}
@@ -2469,7 +2448,7 @@ class spell_alexstrasza_gift_beam_visual : public SpellScriptLoader
{
PrepareAuraScript(spell_alexstrasza_gift_beam_visual_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -2501,7 +2480,7 @@ class spell_alexstrasza_gift_beam_visual : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_alexstrasza_gift_beam_visual_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_alexstrasza_gift_beam_visual_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -2510,7 +2489,7 @@ class spell_alexstrasza_gift_beam_visual : public SpellScriptLoader
GameObject* _alexstraszaGift;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_alexstrasza_gift_beam_visual_AuraScript();
}
@@ -2521,7 +2500,7 @@ class achievement_denyin_the_scion : public AchievementCriteriaScript
public:
achievement_denyin_the_scion() : AchievementCriteriaScript("achievement_denyin_the_scion") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
// Only melee disks can be used
if (Unit* disk = source->GetVehicleBase())
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index e79f8d0764f..8a1fb6a9829 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -26,7 +26,7 @@ class instance_eye_of_eternity : public InstanceMapScript
public:
instance_eye_of_eternity() : InstanceMapScript("instance_eye_of_eternity", 616) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_eye_of_eternity_InstanceMapScript(map);
}
@@ -48,7 +48,7 @@ public:
alexstraszaBunnyGUID = 0;
};
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -94,7 +94,7 @@ public:
instance->AddToMap(go);
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -105,19 +105,19 @@ public:
if (instance->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
{
irisGUID = go->GetGUID();
- go->GetPosition(&focusingIrisPosition);
+ focusingIrisPosition = go->GetPosition();
}
break;
case GO_FOCUSING_IRIS_25:
if (instance->GetDifficulty() == RAID_DIFFICULTY_25MAN_NORMAL)
{
irisGUID = go->GetGUID();
- go->GetPosition(&focusingIrisPosition);
+ focusingIrisPosition = go->GetPosition();
}
break;
case GO_EXIT_PORTAL:
exitPortalGUID = go->GetGUID();
- go->GetPosition(&exitPortalPosition);
+ exitPortalPosition = go->GetPosition();
break;
case GO_HEART_OF_MAGIC_10:
if (instance->GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
@@ -130,7 +130,7 @@ public:
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -152,7 +152,7 @@ public:
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
if (unit->GetTypeId() != TYPEID_PLAYER)
return;
@@ -165,7 +165,7 @@ public:
unit->SetControlled(true, UNIT_STATE_ROOT);
}
- void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override
{
if (eventId == EVENT_FOCUSING_IRIS)
{
@@ -239,7 +239,7 @@ public:
}
}
- void SetData(uint32 data, uint32 /*value*/) OVERRIDE
+ void SetData(uint32 data, uint32 /*value*/) override
{
switch (data)
{
@@ -255,7 +255,7 @@ public:
}
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -278,7 +278,7 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -289,7 +289,7 @@ public:
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
index f3304368e70..019a85c1387 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
@@ -88,7 +88,7 @@ class boss_anomalus : public CreatureScript
uint64 uiChaoticRiftGUID;
bool chaosTheory;
- void Reset() OVERRIDE
+ void Reset() override
{
Phase = 0;
uiSparkTimer = 5000;
@@ -98,21 +98,21 @@ class boss_anomalus : public CreatureScript
instance->SetData(DATA_ANOMALUS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_ANOMALUS_EVENT, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_ANOMALUS_EVENT, DONE);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_CHAOS_THEORY)
return chaosTheory ? 1 : 0;
@@ -120,13 +120,13 @@ class boss_anomalus : public CreatureScript
return 0;
}
- void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) override
{
if (summoned->GetEntry() == NPC_CHAOTIC_RIFT)
chaosTheory = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -182,7 +182,7 @@ class boss_anomalus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_anomalusAI>(creature);
}
@@ -206,7 +206,7 @@ class npc_chaotic_rift : public CreatureScript
uint32 uiChaoticEnergyBurstTimer;
uint32 uiSummonCrazedManaWraithTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChaoticEnergyBurstTimer = 1000;
uiSummonCrazedManaWraithTimer = 5000;
@@ -214,7 +214,7 @@ class npc_chaotic_rift : public CreatureScript
DoCast(me, SPELL_ARCANEFORM, false);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -250,7 +250,7 @@ class npc_chaotic_rift : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_chaotic_riftAI>(creature);
}
@@ -263,7 +263,7 @@ class achievement_chaos_theory : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 b82f131457a..3e1996fd053 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_kolurg.cpp
@@ -47,7 +47,7 @@ class boss_commander_kolurg : public CreatureScript
public:
boss_commander_kolurg() : CreatureScript("boss_commander_kolurg") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_commander_kolurgAI(creature);
}
@@ -56,12 +56,12 @@ public:
{
boss_commander_kolurgAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -69,7 +69,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE { }
+ void JustDied(Unit* /*killer*/) override { }
};
};
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 9a43c54f7bc..03f1f504e01 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_commander_stoutbeard.cpp
@@ -40,7 +40,7 @@ class boss_commander_stoutbeard : public CreatureScript
public:
boss_commander_stoutbeard() : CreatureScript("boss_commander_stoutbeard") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_commander_stoutbeardAI(creature);
}
@@ -49,11 +49,11 @@ public:
{
boss_commander_stoutbeardAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
//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 9943ad7e1b1..38e6a3fc816 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -59,7 +59,7 @@ class boss_keristrasza : public CreatureScript
public:
boss_keristrasza() : CreatureScript("boss_keristrasza") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_keristraszaAI>(creature);
}
@@ -81,7 +81,7 @@ public:
bool intenseCold;
bool bEnrage;
- void Reset() OVERRIDE
+ void Reset() override
{
uiCrystalfireBreathTimer = 14*IN_MILLISECONDS;
uiCrystalChainsCrystalizeTimer = DUNGEON_MODE(30*IN_MILLISECONDS, 11*IN_MILLISECONDS);
@@ -98,7 +98,7 @@ public:
instance->SetData(DATA_KERISTRASZA_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoCastAOE(SPELL_INTENSE_COLD);
@@ -106,14 +106,14 @@ public:
instance->SetData(DATA_KERISTRASZA_EVENT, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_KERISTRASZA_EVENT, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
@@ -157,13 +157,13 @@ public:
}
}
- void SetGUID(uint64 guid, int32 id/* = 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 id/* = 0 */) override
{
if (id == DATA_INTENSE_COLD)
intenseColdList.push_back(guid);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -209,7 +209,7 @@ class containment_sphere : public GameObjectScript
public:
containment_sphere() : GameObjectScript("containment_sphere") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
@@ -247,13 +247,13 @@ class spell_intense_cold : public SpellScriptLoader
caster->GetAI()->SetGUID(GetTarget()->GetGUID(), DATA_INTENSE_COLD);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_intense_cold_AuraScript::HandlePeriodicTick, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_intense_cold_AuraScript();
}
@@ -266,7 +266,7 @@ class achievement_intense_cold : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* player, Unit* target) OVERRIDE
+ bool OnCheck(Player* player, Unit* target) override
{
if (!target)
return false;
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 cfa1b704c90..e42d3d2bcfc 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
@@ -63,7 +63,7 @@ class boss_magus_telestra : public CreatureScript
public:
boss_magus_telestra() : CreatureScript("boss_magus_telestra") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_magus_telestraAI>(creature);
}
@@ -96,7 +96,7 @@ public:
uint8 splitPersonality;
time_t time[3];
- void Reset() OVERRIDE
+ void Reset() override
{
Phase = 0;
//These times are probably wrong
@@ -121,27 +121,27 @@ public:
instance->SetData(DATA_MAGUS_TELESTRA_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_MAGUS_TELESTRA_EVENT, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_MAGUS_TELESTRA_EVENT, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_MAGUS_DEAD)
{
@@ -155,7 +155,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_SPLIT_PERSONALITY)
return splitPersonality;
@@ -192,29 +192,29 @@ public:
return 0;
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->IsAlive())
return;
if (summon->GetGUID() == uiFireMagusGUID)
{
- me->AI()->DoAction(ACTION_MAGUS_DEAD);
+ DoAction(ACTION_MAGUS_DEAD);
bFireMagusDead = true;
}
else if (summon->GetGUID() == uiFrostMagusGUID)
{
- me->AI()->DoAction(ACTION_MAGUS_DEAD);
+ DoAction(ACTION_MAGUS_DEAD);
bFrostMagusDead = true;
}
else if (summon->GetGUID() == uiArcaneMagusGUID)
{
- me->AI()->DoAction(ACTION_MAGUS_DEAD);
+ DoAction(ACTION_MAGUS_DEAD);
bArcaneMagusDead = true;
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -345,7 +345,7 @@ class achievement_split_personality : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
index 93e52c4da73..222f0474c01 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
@@ -76,7 +76,7 @@ public:
frenzy = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -91,7 +91,7 @@ public:
instance->SetData(DATA_ORMOROK_EVENT, IN_PROGRESS);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!frenzy && HealthBelowPct(25))
{
@@ -101,7 +101,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -110,13 +110,13 @@ public:
instance->SetData(DATA_ORMOROK_EVENT, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -162,7 +162,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ormorokAI>(creature);
}
@@ -201,7 +201,7 @@ public:
_despawntimer = 0;
}
- void IsSummonedBy(Unit* owner) OVERRIDE
+ void IsSummonedBy(Unit* owner) override
{
switch (me->GetEntry())
{
@@ -225,12 +225,12 @@ public:
_despawntimer = 2000;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return type == DATA_COUNT ? _count : 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_despawntimer <= diff)
{
@@ -250,7 +250,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_crystal_spike_triggerAI(creature);
}
@@ -277,13 +277,13 @@ class spell_crystal_spike : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_crystal_spike_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_crystal_spike_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index 851e16fe576..f2118932d61 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -33,7 +33,7 @@ class instance_nexus : public InstanceMapScript
public:
instance_nexus() : InstanceMapScript("instance_nexus", 576) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_nexus_InstanceMapScript(map);
}
@@ -53,7 +53,7 @@ public:
std::string strInstData;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -64,7 +64,7 @@ public:
TelestrasContainmentSphere = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
Map::PlayerList const &players = instance->GetPlayers();
uint32 TeamInInstance = 0;
@@ -88,7 +88,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26799, HORDE);
+ creature->UpdateEntry(26799);
break;
}
case 26802:
@@ -96,7 +96,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26801, HORDE);
+ creature->UpdateEntry(26801);
break;
}
case 26805:
@@ -104,7 +104,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26803, HORDE);
+ creature->UpdateEntry(26803);
break;
}
case 27949:
@@ -112,7 +112,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(27947, HORDE);
+ creature->UpdateEntry(27947);
break;
}
case 26796:
@@ -120,13 +120,13 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26798, HORDE);
+ creature->UpdateEntry(26798);
break;
}
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -154,7 +154,7 @@ public:
}
}
- uint32 GetData(uint32 identifier) const OVERRIDE
+ uint32 GetData(uint32 identifier) const override
{
switch (identifier)
{
@@ -166,7 +166,7 @@ public:
return 0;
}
- void SetData(uint32 identifier, uint32 data) OVERRIDE
+ void SetData(uint32 identifier, uint32 data) override
{
switch (identifier)
{
@@ -221,7 +221,7 @@ public:
}
}
- uint64 GetData64(uint32 uiIdentifier) const OVERRIDE
+ uint64 GetData64(uint32 uiIdentifier) const override
{
switch (uiIdentifier)
{
@@ -234,7 +234,7 @@ public:
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
return strInstData;
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
index 949b26d3d3b..3539661ea19 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
@@ -59,7 +59,7 @@ class boss_drakos : public CreatureScript
{
boss_drakosAI(Creature* creature) : BossAI(creature, DATA_DRAKOS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -70,13 +70,13 @@ class boss_drakos : public CreatureScript
postPull = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -92,12 +92,9 @@ class boss_drakos : public CreatureScript
{
case EVENT_BOMB_SUMMON:
{
- Position position;
- me->GetPosition(&position);
-
for (uint8 i = 0; i <= (postPull ? 3 : 0); i++)
{
- me->GetRandomNearPosition(position, frand(0.0f, 10.0f));
+ Position position = me->GetRandomNearPosition(frand(0.0f, 10.0f));
me->SummonCreature(NPC_UNSTABLE_SPHERE, position);
}
}
@@ -121,7 +118,7 @@ class boss_drakos : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -131,7 +128,7 @@ class boss_drakos : public CreatureScript
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
@@ -140,7 +137,7 @@ class boss_drakos : public CreatureScript
bool postPull;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<boss_drakosAI>(creature);
}
@@ -155,7 +152,7 @@ class npc_unstable_sphere : public CreatureScript
{
npc_unstable_sphereAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
me->GetMotionMaster()->MoveRandom(40.0f);
@@ -168,7 +165,7 @@ class npc_unstable_sphere : public CreatureScript
me->DespawnOrUnsummon(19000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (pulseTimer <= diff)
{
@@ -183,7 +180,7 @@ class npc_unstable_sphere : public CreatureScript
uint32 pulseTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unstable_sphereAI(creature);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index c4fda7e68b3..3ae61bdd116 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -87,7 +87,7 @@ class boss_eregos : public CreatureScript
{
boss_eregosAI(Creature* creature) : BossAI(creature, DATA_EREGOS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_phase = PHASE_NORMAL;
@@ -99,13 +99,13 @@ class boss_eregos : public CreatureScript
DoAction(ACTION_SET_NORMAL_EVENTS);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -121,7 +121,7 @@ class boss_eregos : public CreatureScript
_amberVoid = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -137,7 +137,7 @@ class boss_eregos : public CreatureScript
return 0;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_SET_NORMAL_EVENTS)
return;
@@ -149,7 +149,7 @@ class boss_eregos : public CreatureScript
events.ScheduleEvent(EVENT_SUMMON_LEY_WHELP, urand(15, 30) * IN_MILLISECONDS, 0, PHASE_NORMAL);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
BossAI::JustSummoned(summon);
@@ -161,7 +161,7 @@ class boss_eregos : public CreatureScript
summon->GetMotionMaster()->MoveRandom(100.0f);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->GetEntry() != NPC_PLANAR_ANOMALY)
return;
@@ -170,7 +170,7 @@ class boss_eregos : public CreatureScript
summon->CastSpell(summon, SPELL_PLANAR_BLAST, true);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!IsHeroic())
return;
@@ -191,7 +191,7 @@ class boss_eregos : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -231,7 +231,7 @@ class boss_eregos : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -245,7 +245,7 @@ class boss_eregos : public CreatureScript
bool _amberVoid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_eregosAI(creature);
}
@@ -266,13 +266,13 @@ class spell_eregos_planar_shift : public SpellScriptLoader
creature->AI()->DoAction(ACTION_SET_NORMAL_EVENTS);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_eregos_planar_shift_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_SCHOOL_IMMUNITY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_eregos_planar_shift_AuraScript();
}
@@ -283,7 +283,7 @@ class achievement_gen_eregos_void : public AchievementCriteriaScript
public:
achievement_gen_eregos_void(char const* name, uint32 data) : AchievementCriteriaScript(name), _data(data) { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(_data);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 8cc198a0d84..c4e0986edd4 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -103,7 +103,7 @@ class boss_urom : public CreatureScript
std::random_shuffle(group, group + 3);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->CastSpell(me, SPELL_EVOCATE);
@@ -123,14 +123,14 @@ class boss_urom : public CreatureScript
timeBombTimer = urand(20000, 25000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
StartAttack();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -187,13 +187,13 @@ class boss_urom : public CreatureScript
++platform;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_PLAYER_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -230,11 +230,13 @@ class boss_urom : public CreatureScript
{
if (arcaneExplosionTimer <= diff)
{
- Position pos;
- me->GetVictim()->GetPosition(&pos);
+ if (me->GetVictim())
+ {
+ Position pos = me->EnsureVictim()->GetPosition();
- me->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation());
- me->GetMotionMaster()->MoveChase(me->GetVictim());
+ me->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation());
+ me->GetMotionMaster()->MoveChase(me->GetVictim());
+ }
me->SetWalk(true);
Talk(EMOTE_ARCANE_EXPLOSION);
@@ -272,7 +274,7 @@ class boss_urom : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -286,7 +288,7 @@ class boss_urom : public CreatureScript
me->DeleteThreatList();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo) override
{
switch (spellInfo->Id)
{
@@ -333,7 +335,7 @@ class boss_urom : public CreatureScript
uint32 timeBombTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<boss_uromAI>(creature);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index f6cf17c5b88..0870614ba78 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -61,14 +61,14 @@ class boss_varos : public CreatureScript
{
boss_varosAI(Creature* creature) : BossAI(creature, DATA_VAROS) { }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
BossAI::InitializeAI();
if (instance->GetBossState(DATA_DRAKOS) != DONE)
DoCast(me, SPELL_CENTRIFUGE_SHIELD);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -81,7 +81,7 @@ class boss_varos : public CreatureScript
coreEnergizeOrientation = 0.0f;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -93,7 +93,7 @@ class boss_varos : public CreatureScript
return coreEnergizeOrientation;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -143,7 +143,7 @@ class boss_varos : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -155,7 +155,7 @@ class boss_varos : public CreatureScript
float coreEnergizeOrientation;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<boss_varosAI>(creature);
}
@@ -173,7 +173,7 @@ class npc_azure_ring_captain : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
targetGUID = 0;
@@ -183,7 +183,7 @@ class npc_azure_ring_captain : public CreatureScript
me->SetReactState(REACT_AGGRESSIVE);
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_ICE_BEAM)
{
@@ -192,7 +192,7 @@ class npc_azure_ring_captain : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -200,7 +200,7 @@ class npc_azure_ring_captain : public CreatureScript
DoMeleeAttackIfReady();
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE ||
id != ACTION_CALL_DRAGON_EVENT)
@@ -212,7 +212,7 @@ class npc_azure_ring_captain : public CreatureScript
DoCast(target, SPELL_ICE_BEAM);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -236,7 +236,7 @@ class npc_azure_ring_captain : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_ring_captainAI>(creature);
}
@@ -251,7 +251,7 @@ class spell_varos_centrifuge_shield : public SpellScriptLoader
{
PrepareAuraScript(spell_varos_centrifuge_shield_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
Unit* caster = GetCaster();
return (caster && caster->ToCreature());
@@ -279,14 +279,14 @@ class spell_varos_centrifuge_shield : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_varos_centrifuge_shield_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectApply += AuraEffectApplyFn(spell_varos_centrifuge_shield_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_varos_centrifuge_shield_AuraScript();
}
@@ -314,9 +314,6 @@ class spell_varos_energize_core_area_enemy : public SpellScriptLoader
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end();)
{
- Position pos;
- (*itr)->GetPosition(&pos);
-
float angle = varos->GetAngle((*itr)->GetPositionX(), (*itr)->GetPositionY());
float diff = fabs(orientation - angle);
@@ -327,13 +324,13 @@ class spell_varos_energize_core_area_enemy : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_varos_energize_core_area_enemySpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_varos_energize_core_area_enemySpellScript();
}
@@ -361,9 +358,6 @@ class spell_varos_energize_core_area_entry : public SpellScriptLoader
for (std::list<WorldObject*>::iterator itr = targets.begin(); itr != targets.end();)
{
- Position pos;
- (*itr)->GetPosition(&pos);
-
float angle = varos->GetAngle((*itr)->GetPositionX(), (*itr)->GetPositionY());
float diff = fabs(orientation - angle);
@@ -374,13 +368,13 @@ class spell_varos_energize_core_area_entry : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_varos_energize_core_area_entrySpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_varos_energize_core_area_entrySpellScript();
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index 2c809b17367..bf84a267a27 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -59,7 +59,7 @@ class instance_oculus : public InstanceMapScript
VerdisaGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -121,7 +121,7 @@ class instance_oculus : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -137,7 +137,7 @@ class instance_oculus : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -149,7 +149,7 @@ class instance_oculus : public InstanceMapScript
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
Creature* creature = unit->ToCreature();
if (!creature)
@@ -165,7 +165,7 @@ class instance_oculus : public InstanceMapScript
}
}
- void FillInitialWorldStates(WorldPacket& data) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& data) override
{
if (GetBossState(DATA_DRAKOS) == DONE && GetBossState(DATA_VAROS) != DONE)
{
@@ -179,7 +179,7 @@ class instance_oculus : public InstanceMapScript
}
}
- void ProcessEvent(WorldObject* /*unit*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*unit*/, uint32 eventId) override
{
if (eventId != EVENT_CALL_DRAGON)
return;
@@ -189,7 +189,7 @@ class instance_oculus : public InstanceMapScript
drake->AI()->DoAction(ACTION_CALL_DRAGON_EVENT);
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -208,9 +208,11 @@ class instance_oculus : public InstanceMapScript
break;
case DATA_VAROS:
if (state == DONE)
+ {
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
if (Creature* urom = instance->GetCreature(UromGUID))
urom->SetPhaseMask(1, true);
+ }
break;
case DATA_UROM:
if (state == DONE)
@@ -237,7 +239,7 @@ class instance_oculus : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -284,7 +286,7 @@ class instance_oculus : public InstanceMapScript
gwhelp->SetPhaseMask(1, true);
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -295,7 +297,7 @@ class instance_oculus : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -344,7 +346,7 @@ class instance_oculus : public InstanceMapScript
std::list<uint64> GreaterWhelpList;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_oculus_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
index 506e16741fb..259d7faa6fe 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
@@ -126,7 +126,7 @@ class npc_verdisa_beglaristrasz_eternos : public CreatureScript
player->DestroyItemCount(itemId, 1, true, false);
}
- void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) OVERRIDE
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
{
switch (menuId)
{
@@ -172,7 +172,7 @@ class npc_verdisa_beglaristrasz_eternos : public CreatureScript
player->PlayerTalkClass->SendCloseGossip();
}
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 id) override
{
if (id != POINT_MOVE_OUT)
return;
@@ -186,7 +186,7 @@ class npc_verdisa_beglaristrasz_eternos : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<npc_verdisa_beglaristrasz_eternosAI>(creature);
}
@@ -201,7 +201,7 @@ class npc_image_belgaristrasz : public CreatureScript
{
npc_image_belgaristraszAI(Creature* creature) : ScriptedAI(creature) { }
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (summoner->GetEntry() == NPC_VAROS)
{
@@ -217,7 +217,7 @@ class npc_image_belgaristrasz : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<npc_image_belgaristraszAI>(creature);
}
@@ -235,13 +235,13 @@ class npc_ruby_emerald_amber_drake : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_healthWarning = true;
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (_instance->GetBossState(DATA_EREGOS) == IN_PROGRESS)
if (Creature* eregos = me->FindNearestCreature(NPC_EREGOS, 450.0f, true))
@@ -264,18 +264,17 @@ class npc_ruby_emerald_amber_drake : public CreatureScript
return;
}
- Position pos;
- summoner->GetPosition(&pos);
+ Position pos = summoner->GetPosition();
me->GetMotionMaster()->MovePoint(POINT_LAND, pos);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == POINT_LAND)
me->SetDisableGravity(false); // Needed this for proper animation after spawn, the summon in air fall to ground bug leave no other option for now, if this isn't used the drake will only walk on move.
}
- void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) override
{
if (passenger->GetTypeId() != TYPEID_PLAYER)
return;
@@ -295,7 +294,7 @@ class npc_ruby_emerald_amber_drake : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_healthWarning)
{
@@ -337,8 +336,7 @@ class npc_ruby_emerald_amber_drake : public CreatureScript
me->SetOrientation(2.5f);
me->SetSpeed(MOVE_FLIGHT, 1.0f, true);
Talk(SAY_DRAKES_TAKEOFF);
- Position pos;
- me->GetPosition(&pos);
+ Position pos = me->GetPosition();
Position offset = { 10.0f, 10.0f, 12.0f, 0.0f };
pos.RelocateOffset(offset);
me->SetDisableGravity(true);
@@ -357,7 +355,7 @@ class npc_ruby_emerald_amber_drake : public CreatureScript
bool _healthWarning;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetOculusAI<npc_ruby_emerald_amber_drakeAI>(creature);
}
@@ -382,13 +380,13 @@ class spell_oculus_call_ruby_emerald_amber_drake : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_oculus_call_ruby_emerald_amber_drake_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_FRONT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_oculus_call_ruby_emerald_amber_drake_SpellScript();
}
@@ -414,13 +412,13 @@ class spell_oculus_ride_ruby_emerald_amber_drake_que : public SpellScriptLoader
GetTarget()->CastSpell(caster, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript();
}
@@ -436,7 +434,7 @@ class spell_oculus_evasive_maneuvers : public SpellScriptLoader
{
PrepareAuraScript(spell_oculus_evasive_maneuvers_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RUBY_EVASIVE_CHARGES))
return false;
@@ -451,13 +449,13 @@ class spell_oculus_evasive_maneuvers : public SpellScriptLoader
Remove();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_oculus_evasive_maneuvers_AuraScript::HandleProc, EFFECT_2, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_oculus_evasive_maneuvers_AuraScript();
}
@@ -473,7 +471,7 @@ class spell_oculus_shock_lance : public SpellScriptLoader
{
PrepareSpellScript(spell_oculus_shock_lance_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AMBER_SHOCK_CHARGE))
return false;
@@ -493,13 +491,13 @@ class spell_oculus_shock_lance : public SpellScriptLoader
SetHitDamage(damage);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_oculus_shock_lance_SpellScript::CalcDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_oculus_shock_lance_SpellScript();
}
@@ -515,7 +513,7 @@ class spell_oculus_stop_time : public SpellScriptLoader
{
PrepareAuraScript(spell_oculus_stop_time_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AMBER_SHOCK_CHARGE))
return false;
@@ -533,13 +531,13 @@ class spell_oculus_stop_time : public SpellScriptLoader
caster->CastSpell(target, SPELL_AMBER_SHOCK_CHARGE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_oculus_stop_time_AuraScript::Apply, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_oculus_stop_time_AuraScript();
}
@@ -555,7 +553,7 @@ class spell_oculus_temporal_rift : public SpellScriptLoader
{
PrepareAuraScript(spell_oculus_temporal_rift_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AMBER_SHOCK_CHARGE))
return false;
@@ -577,13 +575,13 @@ class spell_oculus_temporal_rift : public SpellScriptLoader
const_cast<AuraEffect*>(aurEff)->SetAmount(amount);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_oculus_temporal_rift_AuraScript::HandleProc, EFFECT_2, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_oculus_temporal_rift_AuraScript();
}
@@ -604,13 +602,13 @@ class spell_oculus_touch_the_nightmare : public SpellScriptLoader
SetHitDamage(int32(GetCaster()->CountPctFromMaxHealth(30)));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_oculus_touch_the_nightmare_SpellScript::HandleDamageCalc, EFFECT_2, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_oculus_touch_the_nightmare_SpellScript();
}
@@ -634,14 +632,14 @@ class spell_oculus_dream_funnel : public SpellScriptLoader
canBeRecalculated = false;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_AuraScript::HandleEffectCalcAmount, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_AuraScript::HandleEffectCalcAmount, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_oculus_dream_funnel_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
index dbdcfc88951..727060578c8 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
@@ -97,7 +97,7 @@ class boss_bjarngrim : public CreatureScript
public:
boss_bjarngrim() : CreatureScript("boss_bjarngrim") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_bjarngrimAI>(creature);
}
@@ -137,7 +137,7 @@ public:
uint64 m_auiStormforgedLieutenantGUID[2];
- void Reset() OVERRIDE
+ void Reset() override
{
if (canBuff)
if (!me->HasAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE))
@@ -183,7 +183,7 @@ public:
instance->SetBossState(DATA_BJARNGRIM, NOT_STARTED);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (me->HasAura(SPELL_TEMPORARY_ELECTRICAL_CHARGE))
canBuff = true;
@@ -193,7 +193,7 @@ public:
ScriptedAI::EnterEvadeMode();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -203,12 +203,12 @@ public:
instance->SetBossState(DATA_BJARNGRIM, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -232,7 +232,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -386,7 +386,7 @@ class npc_stormforged_lieutenant : public CreatureScript
public:
npc_stormforged_lieutenant() : CreatureScript("npc_stormforged_lieutenant") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_stormforged_lieutenantAI>(creature);
}
@@ -403,13 +403,13 @@ public:
uint32 m_uiArcWeld_Timer;
uint32 m_uiRenewSteel_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiArcWeld_Timer = urand(20000, 21000);
m_uiRenewSteel_Timer = urand(10000, 11000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (Creature* pBjarngrim = instance->instance->GetCreature(instance->GetData64(DATA_BJARNGRIM)))
{
@@ -418,7 +418,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//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 1788ecacd35..aac315cda0d 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -70,7 +70,7 @@ class boss_ionar : public CreatureScript
public:
boss_ionar() : CreatureScript("boss_ionar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ionarAI>(creature);
}
@@ -96,7 +96,7 @@ public:
uint32 uiDisperseHealth;
- void Reset() OVERRIDE
+ void Reset() override
{
lSparkList.DespawnAll();
@@ -118,14 +118,14 @@ public:
instance->SetBossState(DATA_IONAR, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetBossState(DATA_IONAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -134,13 +134,13 @@ public:
instance->SetBossState(DATA_IONAR, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DISPERSE)
{
@@ -163,8 +163,7 @@ public:
if (lSparkList.empty())
return;
- Position pos;
- me->GetPosition(&pos);
+ Position pos = me->GetPosition();
for (std::list<uint64>::const_iterator itr = lSparkList.begin(); itr != lSparkList.end(); ++itr)
{
@@ -182,13 +181,13 @@ public:
}
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override
{
if (!me->IsVisible())
uiDamage = 0;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_SPARK_OF_IONAR)
{
@@ -205,13 +204,13 @@ public:
}
}
- void SummonedCreatureDespawn(Creature* summoned) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_SPARK_OF_IONAR)
lSparkList.Despawn(summoned);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -308,13 +307,13 @@ public:
uint32 uiCheckTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiCheckTimer = 2*IN_MILLISECONDS;
me->SetReactState(REACT_PASSIVE);
}
- void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 uiPointId) override
{
if (uiType != POINT_MOTION_TYPE || !instance)
return;
@@ -323,12 +322,12 @@ public:
me->DespawnOrUnsummon();
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override
{
uiDamage = 0;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
// Despawn if the encounter is not running
if (instance->GetBossState(DATA_IONAR) != IN_PROGRESS)
@@ -345,8 +344,7 @@ public:
{
if (me->GetDistance(ionar) > DATA_MAX_SPARK_DISTANCE)
{
- Position pos;
- ionar->GetPosition(&pos);
+ Position pos = ionar->GetPosition();
me->SetSpeed(MOVE_RUN, 2.0f);
me->GetMotionMaster()->Clear();
@@ -364,7 +362,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_spark_of_ionarAI>(creature);
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
index fee7d201a31..576fc4492f1 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
@@ -67,7 +67,7 @@ class boss_loken : public CreatureScript
public:
boss_loken() : CreatureScript("boss_loken") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lokenAI>(creature);
}
@@ -87,7 +87,7 @@ public:
uint32 m_uiHealthAmountModifier;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiArcLightning_Timer = 15000;
m_uiLightningNova_Timer = 20000;
@@ -99,7 +99,7 @@ public:
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMELY_DEATH_START_EVENT);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -107,7 +107,7 @@ public:
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMELY_DEATH_START_EVENT);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -115,13 +115,13 @@ public:
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PULSING_SHOCKWAVE_AURA);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -202,13 +202,13 @@ class spell_loken_pulsing_shockwave : public SpellScriptLoader
SetHitDamage(int32(GetHitDamage() * distance));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_loken_pulsing_shockwave_SpellScript::CalculateDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_loken_pulsing_shockwave_SpellScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index c312d001ee7..880045b96ef 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -73,7 +73,7 @@ class boss_volkhan : public CreatureScript
public:
boss_volkhan() : CreatureScript("boss_volkhan") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_volkhanAI>(creature);
}
@@ -102,7 +102,7 @@ public:
uint32 m_uiHealthAmountModifier;
- void Reset() OVERRIDE
+ void Reset() override
{
m_bIsStriking = false;
m_bHasTemper = false;
@@ -123,14 +123,14 @@ public:
instance->SetBossState(DATA_VOLKHAN, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetBossState(DATA_VOLKHAN, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->Attack(who, true))
{
@@ -143,7 +143,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
DespawnGolem();
@@ -151,7 +151,7 @@ public:
instance->SetBossState(DATA_VOLKHAN, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
@@ -193,7 +193,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_MOLTEN_GOLEM)
{
@@ -207,7 +207,7 @@ public:
}
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
if (m_uiSummonPhase == 2)
{
@@ -216,7 +216,7 @@ public:
}
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
if (data == DATA_SHATTER_RESISTANT)
return GolemsShattered;
@@ -224,7 +224,7 @@ public:
return 0;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -305,7 +305,7 @@ public:
case 2:
// 2 - Check if reached Anvil
- // This is handled in: void JustReachedHome() OVERRIDE
+ // This is handled in: void JustReachedHome() override
break;
case 3:
@@ -361,7 +361,7 @@ class npc_molten_golem : public CreatureScript
public:
npc_molten_golem() : CreatureScript("npc_molten_golem") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_molten_golemAI(creature);
}
@@ -376,7 +376,7 @@ public:
uint32 m_uiDeathDelay_Timer;
uint32 m_uiImmolation_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
m_bIsFrozen = false;
@@ -385,7 +385,7 @@ public:
m_uiImmolation_Timer = 5000;
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->Attack(who, true))
{
@@ -398,7 +398,7 @@ public:
}
}
- void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) OVERRIDE
+ void DamageTaken(Unit* /*pDoneBy*/, uint32 &uiDamage) override
{
if (uiDamage > me->GetHealth())
{
@@ -417,7 +417,7 @@ public:
}
}
- void SpellHit(Unit* /*pCaster*/, const SpellInfo* pSpell) OVERRIDE
+ void SpellHit(Unit* /*pCaster*/, const SpellInfo* pSpell) override
{
// This is the dummy effect of the spells
if (pSpell->Id == SPELL_SHATTER_N || pSpell->Id == SPELL_SHATTER_H)
@@ -425,7 +425,7 @@ public:
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
// Return since we have no target or if we are frozen
if (!UpdateVictim() || m_bIsFrozen)
@@ -457,7 +457,7 @@ class achievement_shatter_resistant : public AchievementCriteriaScript
public:
achievement_shatter_resistant() : AchievementCriteriaScript("achievement_shatter_resistant") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_SHATTER_RESISTANT) < 5;
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
index a6d55c363f5..2f5273f0296 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
@@ -47,7 +47,7 @@ class instance_halls_of_lightning : public InstanceMapScript
LokenGlobeGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -68,7 +68,7 @@ class instance_halls_of_lightning : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -85,7 +85,7 @@ class instance_halls_of_lightning : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -99,7 +99,7 @@ class instance_halls_of_lightning : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -118,7 +118,7 @@ class instance_halls_of_lightning : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -136,7 +136,7 @@ class instance_halls_of_lightning : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -147,7 +147,7 @@ class instance_halls_of_lightning : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -188,7 +188,7 @@ class instance_halls_of_lightning : public InstanceMapScript
uint64 LokenGlobeGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_halls_of_lightning_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
index 3a38f2b61e5..c81cd0b0b80 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
@@ -73,7 +73,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
bIsSlam = false;
@@ -85,14 +85,14 @@ public:
instance->SetBossState(DATA_KRYSTALLUS, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetBossState(DATA_KRYSTALLUS, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -137,14 +137,14 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_KRYSTALLUS, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -152,7 +152,7 @@ public:
Talk(SAY_KILL);
}
- void SpellHitTarget(Unit* /*target*/, const SpellInfo* pSpell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, const SpellInfo* pSpell) override
{
//this part should be in the core
if (pSpell->Id == SPELL_SHATTER || pSpell->Id == H_SPELL_SHATTER)
@@ -174,7 +174,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<boss_krystallusAI>(creature);
}
@@ -198,13 +198,13 @@ class spell_krystallus_shatter : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_krystallus_shatter_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_krystallus_shatter_SpellScript();
}
@@ -233,13 +233,13 @@ class spell_krystallus_shatter_effect : public SpellScriptLoader
SetHitDamage(int32(GetHitDamage() * ((radius - distance) / radius)));
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_krystallus_shatter_effect_SpellScript::CalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_krystallus_shatter_effect_SpellScript();
}
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 927f4490770..eec08c3c429 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
@@ -57,7 +57,7 @@ class boss_maiden_of_grief : public CreatureScript
{
boss_maiden_of_griefAI(Creature* creature) : BossAI(creature, DATA_MAIDEN_OF_GRIEF) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -70,7 +70,7 @@ class boss_maiden_of_grief : public CreatureScript
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_GOOD_GRIEF_START_EVENT);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -78,19 +78,19 @@ class boss_maiden_of_grief : public CreatureScript
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_GOOD_GRIEF_START_EVENT);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -135,7 +135,7 @@ class boss_maiden_of_grief : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<boss_maiden_of_griefAI>(creature);
}
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
index b2785fbaba5..0337a603e3b 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
@@ -78,13 +78,13 @@ class boss_sjonnir : public CreatureScript
{
boss_sjonnirAI(Creature* creature) : BossAI(creature, DATA_SJONNIR) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
abuseTheOoze = 0;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!instance->CheckRequiredBosses(DATA_SJONNIR, who->ToPlayer()))
{
@@ -103,7 +103,7 @@ class boss_sjonnir : public CreatureScript
events.ScheduleEvent(EVENT_FRENZY, 300000);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->GetMotionMaster()->MovePoint(0, CenterPoint);
/*if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
@@ -111,25 +111,25 @@ class boss_sjonnir : public CreatureScript
summons.Summon(summon);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action == ACTION_OOZE_DEAD)
++abuseTheOoze;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_ABUSE_THE_OOZE)
return abuseTheOoze;
@@ -137,7 +137,7 @@ class boss_sjonnir : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -198,7 +198,7 @@ class boss_sjonnir : public CreatureScript
uint8 abuseTheOoze;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<boss_sjonnirAI>(creature);
}
@@ -213,12 +213,12 @@ class npc_malformed_ooze : public CreatureScript
{
npc_malformed_oozeAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_mergeTimer = 10000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_mergeTimer <= diff)
{
@@ -243,7 +243,7 @@ class npc_malformed_ooze : public CreatureScript
uint32 _mergeTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<npc_malformed_oozeAI>(creature);
}
@@ -263,14 +263,14 @@ class npc_iron_sludge : public CreatureScript
InstanceScript* instance;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* sjonnir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SJONNIR)))
sjonnir->AI()->DoAction(ACTION_OOZE_DEAD);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<npc_iron_sludgeAI>(creature);
}
@@ -283,7 +283,7 @@ class achievement_abuse_the_ooze : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 d64b0d5c71d..f666f5d5874 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -157,7 +157,7 @@ public:
std::list<uint64> KaddrakGUIDList;
- void Reset() OVERRIDE
+ void Reset() override
{
uiKaddrakEncounterTimer = 1500;
uiMarnakEncounterTimer = 10000;
@@ -201,7 +201,7 @@ public:
}*/
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bKaddrakActivated)
{
@@ -255,7 +255,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<npc_tribuna_controllerAI>(creature);
}
@@ -266,7 +266,7 @@ class npc_brann_hos : public CreatureScript
public:
npc_brann_hos() : CreatureScript("npc_brann_hos") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1 || action == GOSSIP_ACTION_INFO_DEF+2)
@@ -278,7 +278,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -308,7 +308,7 @@ public:
bool bIsLowHP;
bool brannSparklinNews;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -338,7 +338,7 @@ public:
lDwarfGUIDList.clear();
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -391,7 +391,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
lDwarfGUIDList.push_back(summoned->GetGUID());
summoned->AddThreat(me, 0.0f);
@@ -412,13 +412,13 @@ public:
Start();
}
- void DamageTaken(Unit* /*done_by*/, uint32 & /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 & /*damage*/) override
{
if (brannSparklinNews)
brannSparklinNews = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_BRANN_SPARKLIN_NEWS)
return brannSparklinNews ? 1 : 0;
@@ -426,7 +426,7 @@ public:
return 0;
}
- void UpdateEscortAI(const uint32 uiDiff) OVERRIDE
+ void UpdateEscortAI(const uint32 uiDiff) override
{
if (uiPhaseTimer <= uiDiff)
{
@@ -697,7 +697,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetHallsOfStoneAI<npc_brann_hosAI>(creature);
}
@@ -710,7 +710,7 @@ class achievement_brann_spankin_new : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
index 9f0bb3c87c1..0c9492c87c0 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
@@ -56,7 +56,7 @@ class instance_halls_of_stone : public InstanceMapScript
MarnakGoGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -86,7 +86,7 @@ class instance_halls_of_stone : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -119,7 +119,7 @@ class instance_halls_of_stone : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -131,7 +131,7 @@ class instance_halls_of_stone : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -164,7 +164,7 @@ class instance_halls_of_stone : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -185,7 +185,7 @@ class instance_halls_of_stone : public InstanceMapScript
return true;
}
- bool CheckRequiredBosses(uint32 bossId, Player const* player /*= NULL*/) const OVERRIDE
+ bool CheckRequiredBosses(uint32 bossId, Player const* player /*= NULL*/) const override
{
if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
return true;
@@ -203,7 +203,7 @@ class instance_halls_of_stone : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -214,7 +214,7 @@ class instance_halls_of_stone : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -264,7 +264,7 @@ class instance_halls_of_stone : public InstanceMapScript
uint64 MarnakGoGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_halls_of_stone_InstanceMapScript(map);
}
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 9599700eccb..67500382758 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
@@ -305,7 +305,7 @@ class boss_algalon_the_observer : public CreatureScript
_fedOnTears = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_PASSIVE);
@@ -314,7 +314,7 @@ class boss_algalon_the_observer : public CreatureScript
_hasYelled = false;
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_UNIT)
{
@@ -328,7 +328,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -375,12 +375,12 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return type == DATA_HAS_FED_ON_TEARS ? _fedOnTears : 1;
}
- void EnterCombat(Unit* /*target*/) OVERRIDE
+ void EnterCombat(Unit* /*target*/) override
{
uint32 introDelay = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC);
@@ -422,7 +422,7 @@ class boss_algalon_the_observer : public CreatureScript
(*itr)->m_Events.KillAllEvents(true);
}
- void MovementInform(uint32 movementType, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -444,7 +444,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
switch (summon->GetEntry())
@@ -486,7 +486,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
instance->SetBossState(BOSS_ALGALON, FAIL);
BossAI::EnterEvadeMode();
@@ -494,7 +494,7 @@ class boss_algalon_the_observer : public CreatureScript
me->SetSheath(SHEATH_STATE_UNARMED);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (_fightWon)
{
@@ -537,7 +537,7 @@ class boss_algalon_the_observer : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((!(events.IsInPhase(PHASE_ROLE_PLAY) || events.IsInPhase(PHASE_BIG_BANG)) && !UpdateVictim()) || !CheckInRoom())
return;
@@ -652,7 +652,6 @@ class boss_algalon_the_observer : public CreatureScript
break;
case EVENT_OUTRO_2:
_EnterEvadeMode();
- me->AddUnitState(UNIT_STATE_EVADE);
me->GetMotionMaster()->MovePoint(POINT_ALGALON_OUTRO, AlgalonOutroPos);
break;
case EVENT_OUTRO_3:
@@ -701,7 +700,7 @@ class boss_algalon_the_observer : public CreatureScript
bool _hasYelled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_algalon_the_observerAI>(creature);
}
@@ -718,19 +717,19 @@ class npc_living_constellation : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_ARCANE_BARRAGE, 2500);
_isActive = false;
}
- uint32 GetData(uint32 /*type*/) const OVERRIDE
+ uint32 GetData(uint32 /*type*/) const override
{
return _isActive ? 1 : 0;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -755,7 +754,7 @@ class npc_living_constellation : public CreatureScript
}
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id != SPELL_CONSTELLATION_PHASE_EFFECT || caster->GetTypeId() != TYPEID_UNIT)
return;
@@ -767,7 +766,7 @@ class npc_living_constellation : public CreatureScript
caster->ToCreature()->DespawnOrUnsummon(1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!(_events.IsInPhase(PHASE_ROLE_PLAY) || _events.IsInPhase(PHASE_BIG_BANG)) && !UpdateVictim())
return;
@@ -794,7 +793,7 @@ class npc_living_constellation : public CreatureScript
bool _isActive;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_living_constellationAI>(creature);
}
@@ -812,7 +811,7 @@ class npc_collapsing_star : public CreatureScript
_dying = false;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() != NPC_BLACK_HOLE)
return;
@@ -824,7 +823,7 @@ class npc_collapsing_star : public CreatureScript
me->DespawnOrUnsummon(1);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (_dying)
{
@@ -844,7 +843,7 @@ class npc_collapsing_star : public CreatureScript
bool _dying;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_collapsing_starAI>(creature);
}
@@ -861,7 +860,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
{
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -883,7 +882,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
}
}
- void MovementInform(uint32 movementType, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 movementType, uint32 pointId) override
{
if (movementType != POINT_MOTION_TYPE)
return;
@@ -912,7 +911,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
_events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, delay);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -948,7 +947,7 @@ class npc_brann_bronzebeard_algalon : public CreatureScript
uint32 _currentPoint;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_brann_bronzebeard_algalonAI>(creature);
}
@@ -965,7 +964,7 @@ class go_celestial_planetarium_access : public GameObjectScript
{
}
- bool GossipHello(Player* player) OVERRIDE
+ bool GossipHello(Player* player) override
{
bool hasKey = true;
if (LockEntry const* lock = sLockStore.LookupEntry(go->GetGOInfo()->goober.lockId))
@@ -1006,7 +1005,7 @@ class go_celestial_planetarium_access : public GameObjectScript
return false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_events.Empty())
return;
@@ -1027,7 +1026,7 @@ class go_celestial_planetarium_access : public GameObjectScript
EventMap _events;
};
- GameObjectAI* GetAI(GameObject* go) const OVERRIDE
+ GameObjectAI* GetAI(GameObject* go) const override
{
return GetUlduarAI<go_celestial_planetarium_accessAI>(go);
}
@@ -1058,14 +1057,14 @@ class spell_algalon_phase_punch : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(PhasePunchAlphaId[GetStackAmount() - 1]);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_phase_punch_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
OnEffectRemove += AuraEffectRemoveFn(spell_algalon_phase_punch_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_algalon_phase_punch_AuraScript();
}
@@ -1101,13 +1100,13 @@ class spell_algalon_arcane_barrage : public SpellScriptLoader
targets.remove_if(NotVictimFilter(GetCaster()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_arcane_barrage_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_arcane_barrage_SpellScript();
}
@@ -1146,13 +1145,13 @@ class spell_algalon_trigger_3_adds : public SpellScriptLoader
target->AI()->DoAction(ACTION_ACTIVATE_STAR);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_trigger_3_adds_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_trigger_3_adds_SpellScript();
}
@@ -1173,13 +1172,13 @@ class spell_algalon_collapse : public SpellScriptLoader
GetTarget()->DealDamage(GetTarget(), GetTarget()->CountPctFromMaxHealth(1), NULL, NODAMAGE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_collapse_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_algalon_collapse_AuraScript();
}
@@ -1194,10 +1193,10 @@ class spell_algalon_big_bang : public SpellScriptLoader
{
PrepareSpellScript(spell_algalon_big_bang_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_targetCount = 0;
- return true;
+ return GetCaster()->GetTypeId() == TYPEID_UNIT && GetCaster()->IsAIEnabled;
}
void CountTargets(std::list<WorldObject*>& targets)
@@ -1211,7 +1210,7 @@ class spell_algalon_big_bang : public SpellScriptLoader
GetCaster()->GetAI()->DoAction(ACTION_ASCEND);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_big_bang_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
AfterCast += SpellCastFn(spell_algalon_big_bang_SpellScript::CheckTargets);
@@ -1220,7 +1219,7 @@ class spell_algalon_big_bang : public SpellScriptLoader
uint32 _targetCount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_big_bang_SpellScript();
}
@@ -1241,13 +1240,13 @@ class spell_algalon_remove_phase : public SpellScriptLoader
GetTarget()->RemoveAurasByType(SPELL_AURA_PHASE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_algalon_remove_phase_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_algalon_remove_phase_AuraScript();
}
@@ -1269,13 +1268,13 @@ class spell_algalon_cosmic_smash : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_algalon_cosmic_smash_SpellScript::ModDestHeight, EFFECT_0, TARGET_DEST_CASTER_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_cosmic_smash_SpellScript();
}
@@ -1300,13 +1299,13 @@ class spell_algalon_cosmic_smash_damage : public SpellScriptLoader
SetHitDamage(int32(float(GetHitDamage()) / distance) * 2);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_algalon_cosmic_smash_damage_SpellScript::RecalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_cosmic_smash_damage_SpellScript();
}
@@ -1329,13 +1328,13 @@ class spell_algalon_supermassive_fail : public SpellScriptLoader
GetHitPlayer()->ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, ACHIEVEMENT_CRITERIA_CONDITION_NO_SPELL_HIT, GetSpellInfo()->Id, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_algalon_supermassive_fail_SpellScript::RecalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_algalon_supermassive_fail_SpellScript();
}
@@ -1346,7 +1345,7 @@ class achievement_he_feeds_on_your_tears : public AchievementCriteriaScript
public:
achievement_he_feeds_on_your_tears() : AchievementCriteriaScript("achievement_he_feeds_on_your_tears") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return !target->GetAI()->GetData(DATA_HAS_FED_ON_TEARS);
}
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 9b417690f46..9a08f01c279 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
@@ -143,14 +143,14 @@ class boss_steelbreaker : public CreatureScript
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
phase = 0;
me->RemoveAllAuras();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_STEELBREAKER_AGGRO);
@@ -160,7 +160,7 @@ class boss_steelbreaker : public CreatureScript
events.ScheduleEvent(EVENT_FUSION_PUNCH, 15000);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_PHASE_3)
return (phase >= 3) ? 1 : 0;
@@ -168,7 +168,7 @@ class boss_steelbreaker : public CreatureScript
return 0;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -188,7 +188,7 @@ class boss_steelbreaker : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -213,7 +213,7 @@ class boss_steelbreaker : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_STEELBREAKER_SLAY);
@@ -222,7 +222,7 @@ class boss_steelbreaker : public CreatureScript
DoCast(me, SPELL_ELECTRICAL_CHARGE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -263,7 +263,7 @@ class boss_steelbreaker : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_steelbreakerAI>(creature);
}
@@ -280,14 +280,14 @@ class boss_runemaster_molgeim : public CreatureScript
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
phase = 0;
me->RemoveAllAuras();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_MOLGEIM_AGGRO);
@@ -297,7 +297,7 @@ class boss_runemaster_molgeim : public CreatureScript
events.ScheduleEvent(EVENT_RUNE_OF_POWER, 20000);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_PHASE_3)
return (phase >= 3) ? 1 : 0;
@@ -305,7 +305,7 @@ class boss_runemaster_molgeim : public CreatureScript
return 0;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -325,7 +325,7 @@ class boss_runemaster_molgeim : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -350,13 +350,13 @@ class boss_runemaster_molgeim : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_MOLGEIM_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -420,7 +420,7 @@ class boss_runemaster_molgeim : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_runemaster_molgeimAI>(creature);
}
@@ -437,7 +437,7 @@ class boss_stormcaller_brundir : public CreatureScript
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
phase = 0;
@@ -447,7 +447,7 @@ class boss_stormcaller_brundir : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, false); // Reset immumity, Brundir should be stunnable by default
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_PHASE_3)
return (phase >= 3) ? 1 : 0;
@@ -455,7 +455,7 @@ class boss_stormcaller_brundir : public CreatureScript
return 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_BRUNDIR_AGGRO);
@@ -466,7 +466,7 @@ class boss_stormcaller_brundir : public CreatureScript
events.ScheduleEvent(EVENT_OVERLOAD, urand(60000, 120000));
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -490,7 +490,7 @@ class boss_stormcaller_brundir : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
@@ -519,13 +519,13 @@ class boss_stormcaller_brundir : public CreatureScript
me->GetMotionMaster()->MoveFall();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_BRUNDIR_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -620,7 +620,7 @@ class boss_stormcaller_brundir : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_stormcaller_brundirAI>(creature);
}
@@ -642,13 +642,13 @@ class spell_shield_of_runes : public SpellScriptLoader
caster->CastSpell(caster, SPELL_SHIELD_OF_RUNES_BUFF, false);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_shield_of_runes_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_shield_of_runes_AuraScript();
}
@@ -670,13 +670,13 @@ class spell_assembly_meltdown : public SpellScriptLoader
Steelbreaker->AI()->DoAction(ACTION_ADD_CHARGE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_assembly_meltdown_SpellScript::HandleInstaKill, EFFECT_1, SPELL_EFFECT_INSTAKILL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_assembly_meltdown_SpellScript();
}
@@ -691,7 +691,7 @@ class spell_assembly_rune_of_summoning : public SpellScriptLoader
{
PrepareAuraScript(spell_assembly_rune_of_summoning_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RUNE_OF_SUMMONING_SUMMON))
return false;
@@ -710,14 +710,14 @@ class spell_assembly_rune_of_summoning : public SpellScriptLoader
summ->DespawnOrUnsummon(1);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_assembly_rune_of_summoning_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
OnEffectRemove += AuraEffectRemoveFn(spell_assembly_rune_of_summoning_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_assembly_rune_of_summoning_AuraScript();
}
@@ -728,7 +728,7 @@ class achievement_assembly_i_choose_you : public AchievementCriteriaScript
public:
achievement_assembly_i_choose_you() : AchievementCriteriaScript("achievement_assembly_i_choose_you") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_PHASE_3);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index 5b43e8d1bf6..132fef56c75 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -109,7 +109,7 @@ class boss_auriaya : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
DefenderGUID = 0;
@@ -118,7 +118,7 @@ class boss_auriaya : public CreatureScript
nineLives = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -131,13 +131,13 @@ class boss_auriaya : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 600000);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summons.Summon(summoned);
@@ -158,7 +158,7 @@ class boss_auriaya : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -179,7 +179,7 @@ class boss_auriaya : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -192,7 +192,7 @@ class boss_auriaya : public CreatureScript
return 0;
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
switch (id)
{
@@ -205,13 +205,13 @@ class boss_auriaya : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -279,7 +279,7 @@ class boss_auriaya : public CreatureScript
bool nineLives;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_auriayaAI>(creature);
}
@@ -297,13 +297,13 @@ class npc_auriaya_seeping_trigger : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->DespawnOrUnsummon(600000);
DoCast(me, SPELL_SEEPING_ESSENCE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (instance->GetBossState(BOSS_AURIAYA) != IN_PROGRESS)
me->DespawnOrUnsummon();
@@ -313,7 +313,7 @@ class npc_auriaya_seeping_trigger : public CreatureScript
InstanceScript* instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_auriaya_seeping_triggerAI>(creature);
}
@@ -331,18 +331,18 @@ class npc_sanctum_sentry : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_RIP, urand(4000, 8000));
events.ScheduleEvent(EVENT_POUNCE, urand(12000, 15000));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_STRENGHT_PACK, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -364,7 +364,7 @@ class npc_sanctum_sentry : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
{
me->AddThreat(target, 100.0f);
- me->AI()->AttackStart(target);
+ AttackStart(target);
DoCast(target, SPELL_SAVAGE_POUNCE);
}
events.ScheduleEvent(EVENT_POUNCE, urand(12000, 17000));
@@ -377,7 +377,7 @@ class npc_sanctum_sentry : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_AURIAYA)))
Auriaya->AI()->DoAction(ACTION_CRAZY_CAT_LADY);
@@ -388,7 +388,7 @@ class npc_sanctum_sentry : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_sanctum_sentryAI>(creature);
}
@@ -406,13 +406,13 @@ class npc_feral_defender : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_FERAL_POUNCE, 5000);
events.ScheduleEvent(EVENT_RUSH, 10000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -430,7 +430,7 @@ class npc_feral_defender : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
{
me->AddThreat(target, 100.0f);
- me->AI()->AttackStart(target);
+ AttackStart(target);
DoCast(target, SPELL_FERAL_POUNCE);
}
events.ScheduleEvent(EVENT_FERAL_POUNCE, urand(10000, 12000));
@@ -439,7 +439,7 @@ class npc_feral_defender : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true))
{
me->AddThreat(target, 100.0f);
- me->AI()->AttackStart(target);
+ AttackStart(target);
DoCast(target, SPELL_FERAL_RUSH);
}
events.ScheduleEvent(EVENT_RUSH, urand(10000, 12000));
@@ -452,7 +452,7 @@ class npc_feral_defender : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_SUMMON_ESSENCE);
if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_AURIAYA)))
@@ -464,7 +464,7 @@ class npc_feral_defender : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_feral_defenderAI>(creature);
}
@@ -496,13 +496,13 @@ class spell_auriaya_strenght_of_the_pack : public SpellScriptLoader
unitList.remove_if(SanctumSentryCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_auriaya_strenght_of_the_pack_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_auriaya_strenght_of_the_pack_SpellScript();
}
@@ -522,14 +522,14 @@ class spell_auriaya_sentinel_blast : public SpellScriptLoader
unitList.remove_if(PlayerOrPetCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_auriaya_sentinel_blast_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_auriaya_sentinel_blast_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_auriaya_sentinel_blast_SpellScript();
}
@@ -542,7 +542,7 @@ class achievement_nine_lives : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
@@ -562,7 +562,7 @@ class achievement_crazy_cat_lady : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
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 96840842d24..16dac4b2d4d 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -228,7 +228,7 @@ class boss_flame_leviathan : public CreatureScript
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
ASSERT(vehicle);
if (!me->isDead())
@@ -261,7 +261,7 @@ class boss_flame_leviathan : public CreatureScript
bool Shutout;
bool Unbroken;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
//resets shutdown counter to 0. 2 or 4 depending on raid mode
@@ -271,7 +271,7 @@ class boss_flame_leviathan : public CreatureScript
me->SetReactState(REACT_DEFENSIVE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
me->SetReactState(REACT_PASSIVE);
@@ -321,7 +321,7 @@ class boss_flame_leviathan : public CreatureScript
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
// Set Field Flags 67108928 = 64 | 67108864 = UNIT_FLAG_UNK_6 | UNIT_FLAG_SKINNABLE
@@ -330,7 +330,7 @@ class boss_flame_leviathan : public CreatureScript
Talk(SAY_DEATH);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_START_THE_ENGINE)
vehicle->InstallAllAccessories(false);
@@ -342,7 +342,7 @@ class boss_flame_leviathan : public CreatureScript
++Shutdown;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -360,13 +360,13 @@ class boss_flame_leviathan : public CreatureScript
return 0;
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
if (id == DATA_UNBROKEN)
Unbroken = data ? true : false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -465,13 +465,13 @@ class boss_flame_leviathan : public CreatureScript
DoBatteringRamIfReady();
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_PURSUED)
_pursueTarget = target->GetGUID();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action && action <= 4) // Tower destruction, debuff leviathan loot and reduce active tower count
{
@@ -553,7 +553,7 @@ class boss_flame_leviathan : public CreatureScript
uint64 _pursueTarget;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_flame_leviathanAI>(creature);
}
@@ -577,7 +577,7 @@ class boss_flame_leviathan_seat : public CreatureScript
InstanceScript* instance;
Vehicle* vehicle;
- void PassengerBoarded(Unit* who, int8 seatId, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 seatId, bool apply) override
{
if (!me->GetVehicle())
return;
@@ -589,17 +589,19 @@ class boss_flame_leviathan_seat : public CreatureScript
else if (Creature* leviathan = me->GetVehicleCreatureBase())
leviathan->AI()->Talk(SAY_PLAYER_RIDING);
- if (Creature* turret = me->GetVehicleKit()->GetPassenger(SEAT_TURRET)->ToCreature())
- {
- turret->setFaction(me->GetVehicleBase()->getFaction());
- turret->SetUInt32Value(UNIT_FIELD_FLAGS, 0); // unselectable
- turret->AI()->AttackStart(who);
- }
- if (Creature* device = me->GetVehicleKit()->GetPassenger(SEAT_DEVICE)->ToCreature())
- {
- device->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
- device->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- }
+ if (Unit* turretPassenger = me->GetVehicleKit()->GetPassenger(SEAT_TURRET))
+ if (Creature* turret = turretPassenger->ToCreature())
+ {
+ turret->setFaction(me->GetVehicleBase()->getFaction());
+ turret->SetUInt32Value(UNIT_FIELD_FLAGS, 0); // unselectable
+ turret->AI()->AttackStart(who);
+ }
+ if (Unit* devicePassenger = me->GetVehicleKit()->GetPassenger(SEAT_DEVICE))
+ if (Creature* device = devicePassenger->ToCreature())
+ {
+ device->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
+ device->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ }
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
@@ -617,7 +619,7 @@ class boss_flame_leviathan_seat : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_flame_leviathan_seatAI>(creature);
}
@@ -636,13 +638,13 @@ class boss_flame_leviathan_defense_cannon : public CreatureScript
uint32 NapalmTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
NapalmTimer = 5*IN_MILLISECONDS;
DoCast(me, AURA_STEALTH_DETECTION);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -659,7 +661,7 @@ class boss_flame_leviathan_defense_cannon : public CreatureScript
NapalmTimer -= diff;
}
- bool CanAIAttack(Unit const* who) const OVERRIDE
+ bool CanAIAttack(Unit const* who) const override
{
if (who->GetTypeId() != TYPEID_PLAYER || !who->GetVehicle() || who->GetVehicleBase()->GetEntry() == NPC_SEAT)
return false;
@@ -667,7 +669,7 @@ class boss_flame_leviathan_defense_cannon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_flame_leviathan_defense_cannonAI(creature);
}
@@ -682,13 +684,13 @@ class boss_flame_leviathan_defense_turret : public CreatureScript
{
boss_flame_leviathan_defense_turretAI(Creature* creature) : TurretAI(creature) { }
- void DamageTaken(Unit* who, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* who, uint32 &damage) override
{
if (!CanAIAttack(who))
damage = 0;
}
- bool CanAIAttack(Unit const* who) const OVERRIDE
+ bool CanAIAttack(Unit const* who) const override
{
if (who->GetTypeId() != TYPEID_PLAYER || !who->GetVehicle() || who->GetVehicleBase()->GetEntry() != NPC_SEAT)
return false;
@@ -696,7 +698,7 @@ class boss_flame_leviathan_defense_turret : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_flame_leviathan_defense_turretAI(creature);
}
@@ -713,7 +715,7 @@ class boss_flame_leviathan_overload_device : public CreatureScript
{
}
- void OnSpellClick(Unit* /*clicker*/, bool& result) OVERRIDE
+ void OnSpellClick(Unit* /*clicker*/, bool& result) override
{
if (!result)
return;
@@ -733,7 +735,7 @@ class boss_flame_leviathan_overload_device : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_flame_leviathan_overload_deviceAI(creature);
}
@@ -750,7 +752,7 @@ class boss_flame_leviathan_safety_container : public CreatureScript
{
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
float x, y, z;
me->GetPosition(x, y, z);
@@ -759,12 +761,12 @@ class boss_flame_leviathan_safety_container : public CreatureScript
me->SetPosition(x, y, z, 0);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_flame_leviathan_safety_containerAI(creature);
}
@@ -784,13 +786,13 @@ class npc_mechanolift : public CreatureScript
uint32 MoveTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
MoveTimer = 0;
me->GetMotionMaster()->MoveRandom(50);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->GetMotionMaster()->MoveTargetedHome();
DoCast(SPELL_DUSTY_EXPLOSION);
@@ -802,14 +804,14 @@ class npc_mechanolift : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == 1)
if (Creature* container = me->FindNearestCreature(NPC_CONTAINER, 5, true))
container->EnterVehicle(me);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (MoveTimer <= diff)
{
@@ -827,7 +829,7 @@ class npc_mechanolift : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mechanoliftAI(creature);
}
@@ -847,21 +849,21 @@ class npc_pool_of_tar : public CreatureScript
me->CastSpell(me, SPELL_TAR_PASSIVE, true);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
damage = 0;
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->SchoolMask & SPELL_SCHOOL_MASK_FIRE && !me->HasAura(SPELL_BLAZE))
me->CastSpell(me, SPELL_BLAZE, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pool_of_tarAI(creature);
}
@@ -881,13 +883,13 @@ class npc_colossus : public CreatureScript
InstanceScript* instance;
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->GetHomePosition().IsInDist(&Center, 50.f))
instance->SetData(DATA_COLOSSUS, instance->GetData(DATA_COLOSSUS)+1);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -896,7 +898,7 @@ class npc_colossus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_colossusAI>(creature);
}
@@ -915,7 +917,7 @@ class npc_thorims_hammer : public CreatureScript
me->CastSpell(me, AURA_DUMMY_BLUE, true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER && who->IsVehicle() && me->IsInRange(who, 0, 10, false))
@@ -925,7 +927,7 @@ class npc_thorims_hammer : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->HasAura(AURA_DUMMY_BLUE))
me->CastSpell(me, AURA_DUMMY_BLUE, true);
@@ -934,7 +936,7 @@ class npc_thorims_hammer : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_thorims_hammerAI(creature);
}
@@ -945,7 +947,7 @@ class npc_mimirons_inferno : public CreatureScript
public:
npc_mimirons_inferno() : CreatureScript("npc_mimirons_inferno") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mimirons_infernoAI(creature);
}
@@ -959,19 +961,19 @@ public:
me->SetReactState(REACT_PASSIVE);
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE
+ void WaypointReached(uint32 /*waypointId*/) override
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
infernoTimer = 2000;
}
uint32 infernoTimer;
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -1011,7 +1013,7 @@ class npc_hodirs_fury : public CreatureScript
me->CastSpell(me, AURA_DUMMY_GREEN, true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER && who->IsVehicle() && me->IsInRange(who, 0, 5, false))
@@ -1021,7 +1023,7 @@ class npc_hodirs_fury : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->HasAura(AURA_DUMMY_GREEN))
me->CastSpell(me, AURA_DUMMY_GREEN, true);
@@ -1030,7 +1032,7 @@ class npc_hodirs_fury : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_hodirs_furyAI(creature);
}
@@ -1050,12 +1052,12 @@ class npc_freyas_ward : public CreatureScript
uint32 summonTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
summonTimer = 5000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (summonTimer <= diff)
{
@@ -1073,7 +1075,7 @@ class npc_freyas_ward : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_freyas_wardAI(creature);
}
@@ -1093,12 +1095,12 @@ class npc_freya_ward_summon : public CreatureScript
uint32 lashTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
lashTimer = 5000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1115,7 +1117,7 @@ class npc_freya_ward_summon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_freya_ward_summonAI(creature);
}
@@ -1136,7 +1138,7 @@ class npc_lorekeeper : public CreatureScript
{
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
// Start encounter
if (action == ACTION_SPAWN_VEHICLES)
@@ -1152,7 +1154,7 @@ class npc_lorekeeper : public CreatureScript
}
};
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->CLOSE_GOSSIP_MENU();
InstanceScript* instance = creature->GetInstanceScript();
@@ -1189,7 +1191,7 @@ class npc_lorekeeper : public CreatureScript
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (instance && instance->GetData(BOSS_LEVIATHAN) != DONE && player)
@@ -1202,7 +1204,7 @@ class npc_lorekeeper : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lorekeeperAI(creature);
}
@@ -1219,7 +1221,7 @@ class npc_brann_bronzebeard : public CreatureScript
public:
npc_brann_bronzebeard() : CreatureScript("npc_brann_bronzebeard") { }
- //bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ //bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
//{
// player->PlayerTalkClass->ClearMenus();
// switch (action)
@@ -1242,7 +1244,7 @@ public:
// }
// return true;
//}
- //bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ //bool OnGossipHello(Player* player, Creature* creature) override
//{
// InstanceScript* instance = creature->GetInstanceScript();
// if (instance && instance->GetData(BOSS_LEVIATHAN) !=DONE)
@@ -1263,7 +1265,7 @@ class go_ulduar_tower : public GameObjectScript
public:
go_ulduar_tower() : GameObjectScript("go_ulduar_tower") { }
- void OnDestroyed(GameObject* go, Player* /*player*/) OVERRIDE
+ void OnDestroyed(GameObject* go, Player* /*player*/) override
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
@@ -1295,7 +1297,7 @@ class achievement_three_car_garage_demolisher : public AchievementCriteriaScript
public:
achievement_three_car_garage_demolisher() : AchievementCriteriaScript("achievement_three_car_garage_demolisher") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -1312,7 +1314,7 @@ class achievement_three_car_garage_chopper : public AchievementCriteriaScript
public:
achievement_three_car_garage_chopper() : AchievementCriteriaScript("achievement_three_car_garage_chopper") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -1329,7 +1331,7 @@ class achievement_three_car_garage_siege : public AchievementCriteriaScript
public:
achievement_three_car_garage_siege() : AchievementCriteriaScript("achievement_three_car_garage_siege") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -1346,7 +1348,7 @@ class achievement_shutout : public AchievementCriteriaScript
public:
achievement_shutout() : AchievementCriteriaScript("achievement_shutout") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target)
if (Creature* leviathan = target->ToCreature())
@@ -1362,7 +1364,7 @@ class achievement_unbroken : public AchievementCriteriaScript
public:
achievement_unbroken() : AchievementCriteriaScript("achievement_unbroken") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target)
if (InstanceScript* instance = target->GetInstanceScript())
@@ -1377,7 +1379,7 @@ class achievement_orbital_bombardment : public AchievementCriteriaScript
public:
achievement_orbital_bombardment() : AchievementCriteriaScript("achievement_orbital_bombardment") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -1395,7 +1397,7 @@ class achievement_orbital_devastation : public AchievementCriteriaScript
public:
achievement_orbital_devastation() : AchievementCriteriaScript("achievement_orbital_devastation") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -1413,7 +1415,7 @@ class achievement_nuked_from_orbit : public AchievementCriteriaScript
public:
achievement_nuked_from_orbit() : AchievementCriteriaScript("achievement_nuked_from_orbit") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -1431,7 +1433,7 @@ class achievement_orbit_uary : public AchievementCriteriaScript
public:
achievement_orbit_uary() : AchievementCriteriaScript("achievement_orbit_uary") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -1476,14 +1478,14 @@ class spell_load_into_catapult : public SpellScriptLoader
owner->RemoveAurasDueToSpell(SPELL_PASSENGER_LOADED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_load_into_catapult_AuraScript::OnApply, EFFECT_0, SPELL_AURA_CONTROL_VEHICLE, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_load_into_catapult_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_CONTROL_VEHICLE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_load_into_catapult_AuraScript();
}
@@ -1542,14 +1544,14 @@ class spell_auto_repair : public SpellScriptLoader
instance->SetData(DATA_UNBROKEN, 0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_auto_repair_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
BeforeHit += SpellHitFn(spell_auto_repair_SpellScript::CheckCooldownForTarget);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_auto_repair_SpellScript();
}
@@ -1585,14 +1587,14 @@ class spell_systems_shutdown : public SpellScriptLoader
owner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_systems_shutdown_AuraScript::OnApply, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_systems_shutdown_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_systems_shutdown_AuraScript();
}
@@ -1650,7 +1652,7 @@ class spell_pursue : public SpellScriptLoader
{
PrepareSpellScript(spell_pursue_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_target = NULL;
return true;
@@ -1697,7 +1699,7 @@ class spell_pursue : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pursue_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pursue_SpellScript::FilterTargetsSubsequently, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -1707,7 +1709,7 @@ class spell_pursue : public SpellScriptLoader
WorldObject* _target;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pursue_SpellScript();
}
@@ -1766,13 +1768,13 @@ class spell_vehicle_throw_passenger : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_vehicle_throw_passenger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_vehicle_throw_passenger_SpellScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index 64ee385b7fc..57df8c76a56 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -229,7 +229,7 @@ class npc_iron_roots : public CreatureScript
summonerGUID = 0;
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (summoner->GetTypeId() != TYPEID_PLAYER)
return;
@@ -239,7 +239,7 @@ class npc_iron_roots : public CreatureScript
me->SetInCombatWith(summoner);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* target = ObjectAccessor::GetPlayer(*me, summonerGUID))
{
@@ -254,7 +254,7 @@ class npc_iron_roots : public CreatureScript
uint64 summonerGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_iron_rootsAI(creature);
}
@@ -284,7 +284,7 @@ class boss_freya : public CreatureScript
bool trioDefeated[2];
bool random[3];
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
trioWaveCount = 0;
@@ -307,13 +307,13 @@ class boss_freya : public CreatureScript
random[n] = false;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* who, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* who, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -322,7 +322,7 @@ class boss_freya : public CreatureScript
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_EnterCombat();
DoZoneInCombat();
@@ -373,7 +373,7 @@ class boss_freya : public CreatureScript
events.ScheduleEvent(EVENT_SUNBEAM, urand(5000, 15000));
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -386,7 +386,7 @@ class boss_freya : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -578,7 +578,7 @@ class boss_freya : public CreatureScript
waveCount++;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
//! Freya's chest is dynamically spawned on death by different spells.
const uint32 summonSpell[2][4] =
@@ -616,7 +616,7 @@ class boss_freya : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -645,7 +645,7 @@ class boss_freya : public CreatureScript
}
}
- void SummonedCreatureDies(Creature* summoned, Unit* who) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* who) override
{
switch (summoned->GetEntry())
{
@@ -664,7 +664,7 @@ class boss_freya : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_freyaAI>(creature);
}
@@ -681,7 +681,7 @@ class boss_elder_brightleaf : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (me->HasAura(SPELL_DRAINED_OF_POWER))
@@ -693,13 +693,13 @@ class boss_elder_brightleaf : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_ELDER_SLAY);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_JustDied();
Talk(SAY_ELDER_DEATH);
@@ -714,14 +714,14 @@ class boss_elder_brightleaf : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
Talk(SAY_ELDER_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -764,7 +764,7 @@ class boss_elder_brightleaf : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -785,7 +785,7 @@ class boss_elder_brightleaf : public CreatureScript
bool lumberjack;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_elder_brightleafAI>(creature);
}
@@ -802,7 +802,7 @@ class boss_elder_stonebark : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (me->HasAura(SPELL_DRAINED_OF_POWER))
@@ -814,13 +814,13 @@ class boss_elder_stonebark : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_ELDER_SLAY);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_JustDied();
Talk(SAY_ELDER_DEATH);
@@ -835,14 +835,14 @@ class boss_elder_stonebark : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
Talk(SAY_ELDER_AGGRO);
}
- void DamageTaken(Unit* who, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* who, uint32& damage) override
{
if (who == me)
return;
@@ -855,7 +855,7 @@ class boss_elder_stonebark : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -891,7 +891,7 @@ class boss_elder_stonebark : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -912,7 +912,7 @@ class boss_elder_stonebark : public CreatureScript
bool lumberjack;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_elder_stonebarkAI>(creature);
}
@@ -929,7 +929,7 @@ class boss_elder_ironbranch : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (me->HasAura(SPELL_DRAINED_OF_POWER))
@@ -941,13 +941,13 @@ class boss_elder_ironbranch : public CreatureScript
lumberjack = false;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_ELDER_SLAY);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
_JustDied();
Talk(SAY_ELDER_DEATH);
@@ -962,14 +962,14 @@ class boss_elder_ironbranch : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
if (!me->HasAura(SPELL_DRAINED_OF_POWER))
Talk(SAY_ELDER_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasAura(SPELL_DRAINED_OF_POWER))
return;
@@ -1005,7 +1005,7 @@ class boss_elder_ironbranch : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1026,7 +1026,7 @@ class boss_elder_ironbranch : public CreatureScript
bool lumberjack;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_elder_ironbranchAI>(creature);
}
@@ -1044,13 +1044,13 @@ class npc_detonating_lasher : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
}
- void Reset() OVERRIDE
+ void Reset() override
{
lashTimer = 5000;
changeTargetTimer = 7500;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1069,7 +1069,7 @@ class npc_detonating_lasher : public CreatureScript
{
// Switching to other target - modify aggro of new target by 20% from current target's aggro
me->AddThreat(target, me->getThreatManager().getThreat(me->GetVictim(), false) * 1.2f);
- me->AI()->AttackStart(target);
+ AttackStart(target);
}
changeTargetTimer = urand(5000, 10000);
}
@@ -1084,7 +1084,7 @@ class npc_detonating_lasher : public CreatureScript
uint32 changeTargetTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_detonating_lasherAI(creature);
}
@@ -1104,12 +1104,12 @@ class npc_ancient_water_spirit : public CreatureScript
waveCount = CAST_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
}
- void Reset() OVERRIDE
+ void Reset() override
{
tidalWaveTimer = 10000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1129,7 +1129,7 @@ class npc_ancient_water_spirit : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
{
@@ -1144,7 +1144,7 @@ class npc_ancient_water_spirit : public CreatureScript
uint8 waveCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ancient_water_spiritAI>(creature);
}
@@ -1164,13 +1164,13 @@ class npc_storm_lasher : public CreatureScript
waveCount = CAST_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
}
- void Reset() OVERRIDE
+ void Reset() override
{
lightningLashTimer = 10000;
stormboltTimer = 5000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1195,7 +1195,7 @@ class npc_storm_lasher : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
{
@@ -1211,7 +1211,7 @@ class npc_storm_lasher : public CreatureScript
uint8 waveCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_storm_lasherAI>(creature);
}
@@ -1231,7 +1231,7 @@ class npc_snaplasher : public CreatureScript
waveCount = CAST_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -1242,7 +1242,7 @@ class npc_snaplasher : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
{
@@ -1256,7 +1256,7 @@ class npc_snaplasher : public CreatureScript
uint8 waveCount;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_snaplasherAI>(creature);
}
@@ -1273,7 +1273,7 @@ class npc_ancient_conservator : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
natureFuryTimer = 7500;
healthySporeTimer = 3500;
@@ -1291,12 +1291,12 @@ class npc_ancient_conservator : public CreatureScript
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoCast(who, SPELL_CONSERVATOR_GRIP, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1327,7 +1327,7 @@ class npc_ancient_conservator : public CreatureScript
uint32 healthySporeTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ancient_conservatorAI(creature);
}
@@ -1349,7 +1349,7 @@ class npc_sun_beam : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_sun_beamAI(creature);
}
@@ -1373,7 +1373,7 @@ class npc_healthy_spore : public CreatureScript
lifeTimer = urand(22000, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (lifeTimer <= diff)
{
@@ -1389,7 +1389,7 @@ class npc_healthy_spore : public CreatureScript
uint32 lifeTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_healthy_sporeAI(creature);
}
@@ -1412,7 +1412,7 @@ class npc_eonars_gift : public CreatureScript
DoCast(me, SPELL_EONAR_VISUAL, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (lifeBindersGiftTimer <= diff)
{
@@ -1429,7 +1429,7 @@ class npc_eonars_gift : public CreatureScript
uint32 lifeBindersGiftTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_eonars_giftAI(creature);
}
@@ -1450,7 +1450,7 @@ class npc_nature_bomb : public CreatureScript
DoCast(SPELL_OBJECT_BOMB);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bombTimer <= diff)
{
@@ -1471,7 +1471,7 @@ class npc_nature_bomb : public CreatureScript
uint32 bombTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nature_bombAI(creature);
}
@@ -1495,7 +1495,7 @@ class npc_unstable_sun_beam : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (despawnTimer <= diff)
{
@@ -1506,7 +1506,7 @@ class npc_unstable_sun_beam : public CreatureScript
despawnTimer -= diff;
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (target && spell->Id == SPELL_UNSTABLE_ENERGY)
{
@@ -1520,7 +1520,7 @@ class npc_unstable_sun_beam : public CreatureScript
uint32 despawnTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_unstable_sun_beamAI>(creature);
}
@@ -1561,13 +1561,13 @@ class spell_freya_attuned_to_nature_dose_reduction : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_freya_attuned_to_nature_dose_reduction_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_freya_attuned_to_nature_dose_reduction_SpellScript();
}
@@ -1587,20 +1587,19 @@ class spell_freya_iron_roots : public SpellScriptLoader
PreventHitDefaultEffect(effIndex);
uint32 entry = uint32(GetSpellInfo()->Effects[effIndex].MiscValue);
- Position pos;
- GetCaster()->GetPosition(&pos);
+ Position pos = GetCaster()->GetPosition();
// Not good at all, but this prevents having roots in a different position then player
if (Creature* Roots = GetCaster()->SummonCreature(entry, pos))
GetCaster()->NearTeleportTo(Roots->GetPositionX(), Roots->GetPositionY(), Roots->GetPositionZ(), GetCaster()->GetOrientation());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_freya_iron_roots_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_freya_iron_roots_SpellScript();
}
@@ -1611,7 +1610,7 @@ class achievement_getting_back_to_nature : public AchievementCriteriaScript
public:
achievement_getting_back_to_nature() : AchievementCriteriaScript("achievement_getting_back_to_nature") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_GETTING_BACK_TO_NATURE) >= 25;
}
@@ -1622,7 +1621,7 @@ class achievement_knock_on_wood : public AchievementCriteriaScript
public:
achievement_knock_on_wood() : AchievementCriteriaScript("achievement_knock_on_wood") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_KNOCK_ON_WOOD) >= 1;
}
@@ -1633,7 +1632,7 @@ class achievement_knock_knock_on_wood : public AchievementCriteriaScript
public:
achievement_knock_knock_on_wood() : AchievementCriteriaScript("achievement_knock_knock_on_wood") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_KNOCK_ON_WOOD) >= 2;
}
@@ -1644,7 +1643,7 @@ class achievement_knock_knock_knock_on_wood : public AchievementCriteriaScript
public:
achievement_knock_knock_knock_on_wood() : AchievementCriteriaScript("achievement_knock_knock_knock_on_wood") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->GetAI()->GetData(DATA_KNOCK_ON_WOOD) == 3;
}
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 446075f76e5..58df31a4471 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -112,7 +112,7 @@ class boss_general_vezax : public CreatureScript
bool animusDead; // Check against getting a HardMode achievement before killing Saronite Animus
uint8 vaporCount;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -122,7 +122,7 @@ class boss_general_vezax : public CreatureScript
vaporCount = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
@@ -138,7 +138,7 @@ class boss_general_vezax : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 600000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -207,19 +207,19 @@ class boss_general_vezax : public CreatureScript
DoMeleeAttackIfReady();
}
- void SpellHitTarget(Unit* who, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* who, SpellInfo const* spell) override
{
if (who && who->GetTypeId() == TYPEID_PLAYER && spell->Id == SPELL_SHADOW_CRASH_HIT)
shadowDodger = false;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -240,7 +240,7 @@ class boss_general_vezax : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -253,7 +253,7 @@ class boss_general_vezax : public CreatureScript
return 0;
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -305,7 +305,7 @@ class boss_general_vezax : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_general_vezaxAI>(creature);
}
@@ -323,20 +323,20 @@ class boss_saronite_animus : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_VISUAL_SARONITE_ANIMUS);
events.Reset();
events.ScheduleEvent(EVENT_PROFOUND_OF_DARKNESS, 3000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Vezax = me->GetCreature(*me, instance->GetData64(BOSS_VEZAX)))
Vezax->AI()->DoAction(ACTION_ANIMUS_DIE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -367,7 +367,7 @@ class boss_saronite_animus : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_saronite_animusAI>(creature);
}
@@ -389,13 +389,13 @@ class npc_saronite_vapors : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_RANDOM_MOVE, urand(5000, 7500));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -413,7 +413,7 @@ class npc_saronite_vapors : public CreatureScript
}
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
// This can't be on JustDied. In 63322 dummy handler caster needs to be this NPC
// if caster == target then damage mods will increase the damage taken
@@ -437,7 +437,7 @@ class npc_saronite_vapors : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_saronite_vaporsAI>(creature);
}
@@ -465,13 +465,13 @@ class spell_general_vezax_mark_of_the_faceless : public SpellScriptLoader
caster->CastCustomSpell(SPELL_MARK_OF_THE_FACELESS_DAMAGE, SPELLVALUE_BASE_POINT1, aurEff->GetAmount(), GetTarget(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_general_vezax_mark_of_the_faceless_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_general_vezax_mark_of_the_faceless_AuraScript();
}
@@ -515,7 +515,7 @@ class spell_general_vezax_saronite_vapors : public SpellScriptLoader
{
PrepareAuraScript(spell_general_vezax_saronite_vapors_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SARONITE_VAPORS_ENERGIZE) || !sSpellMgr->GetSpellInfo(SPELL_SARONITE_VAPORS_DAMAGE))
return false;
@@ -533,13 +533,13 @@ class spell_general_vezax_saronite_vapors : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_general_vezax_saronite_vapors_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_general_vezax_saronite_vapors_AuraScript();
}
@@ -552,7 +552,7 @@ class achievement_shadowdodger : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
@@ -572,7 +572,7 @@ class achievement_smell_saronite : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 169a7085672..4d904b04618 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -191,18 +191,21 @@ class npc_flash_freeze : public CreatureScript
uint64 targetGUID;
uint32 checkDespawnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
targetGUID = 0;
checkDespawnTimer = 1000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
- if (!UpdateVictim() || me->GetVictim()->HasAura(SPELL_BLOCK_OF_ICE) || me->GetVictim()->HasAura(SPELL_FLASH_FREEZE_HELPER))
+ if (!UpdateVictim()
+ || !me->GetVictim()
+ || me->EnsureVictim()->HasAura(SPELL_BLOCK_OF_ICE)
+ || me->EnsureVictim()->HasAura(SPELL_FLASH_FREEZE_HELPER))
return;
- if (me->GetVictim()->GetGUID() != targetGUID || instance->GetBossState(BOSS_HODIR) != IN_PROGRESS)
+ if (me->EnsureVictim()->GetGUID() != targetGUID || instance->GetBossState(BOSS_HODIR) != IN_PROGRESS)
me->DespawnOrUnsummon();
if (checkDespawnTimer <= diff)
@@ -216,7 +219,7 @@ class npc_flash_freeze : public CreatureScript
checkDespawnTimer -= diff;
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
targetGUID = summoner->GetGUID();
me->SetInCombatWith(summoner);
@@ -233,7 +236,7 @@ class npc_flash_freeze : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_flash_freezeAI>(creature);
}
@@ -258,7 +261,7 @@ class npc_ice_block : public CreatureScript
uint64 targetGUID;
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
targetGUID = summoner->GetGUID();
summoner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
@@ -273,7 +276,7 @@ class npc_ice_block : public CreatureScript
}
}
- void DamageTaken(Unit* who, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* who, uint32& /*damage*/) override
{
if (Creature* Helper = ObjectAccessor::GetCreature(*me, targetGUID))
{
@@ -294,7 +297,7 @@ class npc_ice_block : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ice_blockAI>(creature);
}
@@ -319,7 +322,7 @@ class boss_hodir : public CreatureScript
bool iHaveTheCoolestFriends;
bool iCouldSayThatThisCacheWasRare;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_PASSIVE);
@@ -329,7 +332,7 @@ class boss_hodir : public CreatureScript
FrozenHelper->CastSpell(FrozenHelper, SPELL_SUMMON_FLASH_FREEZE_HELPER, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -349,13 +352,13 @@ class boss_hodir : public CreatureScript
events.ScheduleEvent(EVENT_BERSERK, 480000);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -385,7 +388,7 @@ class boss_hodir : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -455,7 +458,7 @@ class boss_hodir : public CreatureScript
if (Unit* target = ObjectAccessor::GetUnit(*me, (*itr)->getUnitGuid()))
if (Aura* BitingColdAura = target->GetAura(SPELL_BITING_COLD_TRIGGERED))
if ((target->GetTypeId() == TYPEID_PLAYER) && (BitingColdAura->GetStackAmount() > 2))
- me->AI()->SetData(DATA_GETTING_COLD_IN_HERE, 0);
+ SetData(DATA_GETTING_COLD_IN_HERE, 0);
gettingColdInHereTimer = 1000;
}
else
@@ -464,7 +467,7 @@ class boss_hodir : public CreatureScript
DoMeleeAttackIfReady();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -502,7 +505,7 @@ class boss_hodir : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_hodirAI>(creature);
};
@@ -524,12 +527,12 @@ class npc_icicle : public CreatureScript
uint32 icicleTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
icicleTimer = 2500;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (icicleTimer <= diff)
{
@@ -550,7 +553,7 @@ class npc_icicle : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_icicleAI>(creature);
};
@@ -572,12 +575,12 @@ class npc_snowpacked_icicle : public CreatureScript
uint32 despawnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
despawnTimer = 12000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (despawnTimer <= diff)
{
@@ -590,7 +593,7 @@ class npc_snowpacked_icicle : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_snowpacked_icicleAI>(creature);
};
@@ -608,14 +611,14 @@ class npc_hodir_priest : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_HEAL, urand(4000, 8000));
events.ScheduleEvent(EVENT_DISPEL_MAGIC, urand(15000, 20000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -656,7 +659,7 @@ class npc_hodir_priest : public CreatureScript
DoSpellAttackIfReady(SPELL_SMITE);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
@@ -667,7 +670,7 @@ class npc_hodir_priest : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_hodir_priestAI>(creature);
};
@@ -685,13 +688,13 @@ class npc_hodir_shaman : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_STORM_CLOUD, urand(10000, 12500));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -718,7 +721,7 @@ class npc_hodir_shaman : public CreatureScript
DoSpellAttackIfReady(SPELL_LAVA_BURST);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
@@ -729,7 +732,7 @@ class npc_hodir_shaman : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_hodir_shamanAI>(creature);
};
@@ -747,13 +750,13 @@ class npc_hodir_druid : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_STARLIGHT, urand(15000, 17500));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -779,7 +782,7 @@ class npc_hodir_druid : public CreatureScript
DoSpellAttackIfReady(SPELL_WRATH);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
@@ -790,7 +793,7 @@ class npc_hodir_druid : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_hodir_druidAI>(creature);
};
@@ -808,7 +811,7 @@ class npc_hodir_mage : public CreatureScript
instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
summons.DespawnAll();
@@ -816,19 +819,19 @@ class npc_hodir_mage : public CreatureScript
events.ScheduleEvent(EVENT_MELT_ICE, 5000);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_TOASTY_FIRE)
summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summoned) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_TOASTY_FIRE)
summons.Despawn(summoned);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
@@ -859,7 +862,7 @@ class npc_hodir_mage : public CreatureScript
DoSpellAttackIfReady(SPELL_FIREBALL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
@@ -871,7 +874,7 @@ class npc_hodir_mage : public CreatureScript
SummonList summons;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_hodir_mageAI>(creature);
};
@@ -889,12 +892,12 @@ class npc_toasty_fire : public CreatureScript
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_SINGED, true);
}
- void SpellHit(Unit* /*who*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*who*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_BLOCK_OF_ICE || spell->Id == SPELL_ICE_SHARD || spell->Id == SPELL_ICE_SHARD_HIT)
{
@@ -905,7 +908,7 @@ class npc_toasty_fire : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_toasty_fireAI>(creature);
};
@@ -951,7 +954,7 @@ class spell_biting_cold : public SpellScriptLoader
listOfTargets.push_back(std::make_pair(target->GetGUID(), 1));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_biting_cold_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
@@ -961,7 +964,7 @@ class spell_biting_cold : public SpellScriptLoader
TargetList listOfTargets;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_biting_cold_AuraScript();
}
@@ -989,13 +992,13 @@ public:
caster->RemoveAuraFromStack(SPELL_BITING_COLD_TRIGGERED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_biting_cold_dot_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_biting_cold_dot_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index 4b1572447d4..ef9bd9a8b12 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -121,7 +121,7 @@ class boss_ignis : public CreatureScript
ASSERT(_vehicle);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
if (_vehicle)
@@ -130,7 +130,7 @@ class boss_ignis : public CreatureScript
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEVEMENT_IGNIS_START_EVENT);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -146,13 +146,13 @@ class boss_ignis : public CreatureScript
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEVEMENT_IGNIS_START_EVENT);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_SHATTERED)
return _shattered ? 1 : 0;
@@ -160,13 +160,13 @@ class boss_ignis : public CreatureScript
return 0;
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_IRON_CONSTRUCT)
{
@@ -180,7 +180,7 @@ class boss_ignis : public CreatureScript
summons.Summon(summon);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_REMOVE_BUFF)
return;
@@ -193,7 +193,7 @@ class boss_ignis : public CreatureScript
_firstConstructKill = secondKill;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -283,7 +283,7 @@ class boss_ignis : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_ignis_AI>(creature);
}
@@ -301,12 +301,12 @@ class npc_iron_construct : public CreatureScript
creature->SetReactState(REACT_PASSIVE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_brittled = false;
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HasAura(SPELL_BRITTLE) && damage >= 5000)
{
@@ -319,7 +319,7 @@ class npc_iron_construct : public CreatureScript
}
}
- void UpdateAI(uint32 /*uiDiff*/) OVERRIDE
+ void UpdateAI(uint32 /*uiDiff*/) override
{
if (!UpdateVictim())
return;
@@ -350,7 +350,7 @@ class npc_iron_construct : public CreatureScript
bool _brittled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_iron_constructAI>(creature);
}
@@ -369,7 +369,7 @@ class npc_scorch_ground : public CreatureScript
creature->SetDisplayId(16925); //model 2 in db cannot overwrite wdb fields
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!_heat)
@@ -385,7 +385,7 @@ class npc_scorch_ground : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
_heat = false;
DoCast(me, SPELL_GROUND);
@@ -393,7 +393,7 @@ class npc_scorch_ground : public CreatureScript
_heatTimer = 0;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (_heat)
{
@@ -417,7 +417,7 @@ class npc_scorch_ground : public CreatureScript
bool _heat;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_scorch_groundAI>(creature);
}
@@ -432,7 +432,7 @@ class spell_ignis_slag_pot : public SpellScriptLoader
{
PrepareAuraScript(spell_ignis_slag_pot_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SLAG_POT_DAMAGE)
|| !sSpellMgr->GetSpellInfo(SPELL_SLAG_IMBUED))
@@ -456,14 +456,14 @@ class spell_ignis_slag_pot : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_SLAG_IMBUED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_ignis_slag_pot_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
AfterEffectRemove += AuraEffectRemoveFn(spell_ignis_slag_pot_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ignis_slag_pot_AuraScript();
}
@@ -474,7 +474,7 @@ class achievement_ignis_shattered : public AchievementCriteriaScript
public:
achievement_ignis_shattered() : AchievementCriteriaScript("achievement_ignis_shattered") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target && target->IsAIEnabled)
return target->GetAI()->GetData(DATA_SHATTERED);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 26886719ec8..e77350e2710 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -117,7 +117,7 @@ class boss_kologarn : public CreatureScript
bool left, right;
uint64 eyebeamTarget;
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -135,14 +135,14 @@ class boss_kologarn : public CreatureScript
_EnterCombat();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
eyebeamTarget = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
DoCast(SPELL_KOLOGARN_PACIFY);
@@ -152,13 +152,13 @@ class boss_kologarn : public CreatureScript
_JustDied();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
{
bool isEncounterInProgress = instance->GetBossState(BOSS_KOLOGARN) == IN_PROGRESS;
if (who->GetEntry() == NPC_LEFT_ARM)
@@ -208,7 +208,7 @@ class boss_kologarn : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
switch (summon->GetEntry())
{
@@ -242,7 +242,7 @@ class boss_kologarn : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -318,7 +318,7 @@ class boss_kologarn : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_kologarnAI>(creature);
}
@@ -345,13 +345,13 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL, NULL, originalCaster);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ulduar_rubble_summonSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ulduar_rubble_summonSpellScript();
}
@@ -387,7 +387,7 @@ class spell_ulduar_stone_grip_cast_target : public SpellScriptLoader
{
PrepareSpellScript(spell_ulduar_stone_grip_cast_target_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster()->GetTypeId() != TYPEID_UNIT)
return false;
@@ -420,7 +420,7 @@ class spell_ulduar_stone_grip_cast_target : public SpellScriptLoader
unitList = _unitList;
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_ulduar_stone_grip_cast_target_SpellScript::FilterTargetsInitial, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_ulduar_stone_grip_cast_target_SpellScript::FillTargetsSubsequential, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -432,7 +432,7 @@ class spell_ulduar_stone_grip_cast_target : public SpellScriptLoader
std::list<WorldObject*> _unitList;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ulduar_stone_grip_cast_target_SpellScript();
}
@@ -466,13 +466,13 @@ class spell_ulduar_cancel_stone_grip : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ulduar_cancel_stone_gripSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ulduar_cancel_stone_gripSpellScript();
}
@@ -504,13 +504,13 @@ class spell_ulduar_squeezed_lifeless : public SpellScriptLoader
GetHitPlayer()->UpdateObjectVisibility(false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ulduar_squeezed_lifeless_SpellScript::HandleInstaKill, EFFECT_1, SPELL_EFFECT_INSTAKILL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ulduar_squeezed_lifeless_SpellScript();
}
@@ -541,13 +541,13 @@ class spell_ulduar_stone_grip_absorb : public SpellScriptLoader
rubbleStalker->CastSpell(rubbleStalker, SPELL_STONE_GRIP_CANCEL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_ulduar_stone_grip_absorb_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ulduar_stone_grip_absorb_AuraScript();
}
@@ -587,21 +587,20 @@ class spell_ulduar_stone_grip : public SpellScriptLoader
// Temporarily relocate player to vehicle exit dest serverside to send proper fall movement
// beats me why blizzard sends these 2 spline packets one after another instantly
- Position oldPos;
- caster->GetPosition(&oldPos);
+ Position oldPos = caster->GetPosition();
caster->Relocate(exitPosition);
caster->GetMotionMaster()->MoveFall();
caster->Relocate(oldPos);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_ulduar_stone_grip_AuraScript::OnRemoveVehicle, EFFECT_0, SPELL_AURA_CONTROL_VEHICLE, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_ulduar_stone_grip_AuraScript::OnRemoveStun, EFFECT_2, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ulduar_stone_grip_AuraScript();
}
@@ -621,13 +620,13 @@ class spell_kologarn_stone_shout : public SpellScriptLoader
unitList.remove_if(PlayerOrPetCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kologarn_stone_shout_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_kologarn_stone_shout_SpellScript();
}
@@ -648,14 +647,14 @@ class spell_kologarn_summon_focused_eyebeam : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_kologarn_summon_focused_eyebeam_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
OnEffectHitTarget += SpellEffectFn(spell_kologarn_summon_focused_eyebeam_SpellScript::HandleForceCast, EFFECT_1, SPELL_EFFECT_FORCE_CAST);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_kologarn_summon_focused_eyebeam_SpellScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index f58ed4e83e5..cfa5429ea79 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -98,13 +98,13 @@ class spell_ulduar_proximity_mines : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_ulduar_proximity_minesSpellScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index e96cfaccc56..e0d46ad21ba 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -192,13 +192,13 @@ class boss_razorscale_controller : public CreatureScript
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetReactState(REACT_PASSIVE);
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -211,8 +211,8 @@ class boss_razorscale_controller : public CreatureScript
Harpoon3->RemoveFromWorld();
if (GameObject* Harpoon4 = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_RAZOR_HARPOON_4)))
Harpoon4->RemoveFromWorld();
- me->AI()->DoAction(ACTION_HARPOON_BUILD);
- me->AI()->DoAction(ACTION_PLACE_BROKEN_HARPOON);
+ DoAction(ACTION_HARPOON_BUILD);
+ DoAction(ACTION_PLACE_BROKEN_HARPOON);
break;
case SPELL_HARPOON_SHOT_1:
case SPELL_HARPOON_SHOT_2:
@@ -223,12 +223,12 @@ class boss_razorscale_controller : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (instance->GetBossState(BOSS_RAZORSCALE) != IN_PROGRESS)
return;
@@ -247,7 +247,7 @@ class boss_razorscale_controller : public CreatureScript
}
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
events.Update(Diff);
@@ -298,7 +298,7 @@ class boss_razorscale_controller : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_razorscale_controllerAI>(creature);
}
@@ -309,7 +309,7 @@ class go_razorscale_harpoon : public GameObjectScript
public:
go_razorscale_harpoon() : GameObjectScript("go_razorscale_harpoon") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
if (ObjectAccessor::GetCreature(*go, instance->GetData64(BOSS_RAZORSCALE)))
@@ -339,7 +339,7 @@ class boss_razorscale : public CreatureScript
bool PermaGround;
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
me->SetCanFly(true);
@@ -351,7 +351,7 @@ class boss_razorscale : public CreatureScript
commander->AI()->DoAction(ACTION_COMMANDER_RESET);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RAZORSCALE_CONTROL)))
@@ -366,20 +366,20 @@ class boss_razorscale : public CreatureScript
events.ScheduleEvent(EVENT_FLIGHT, 0, 0, PHASE_GROUND);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RAZORSCALE_CONTROL)))
controller->AI()->Reset();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_HARPOON_TRIGGER)
++HarpoonCounter;
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == EFFECT_MOTION_TYPE && id == 1)
{
@@ -389,7 +389,7 @@ class boss_razorscale : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_QUICK_SHAVE)
if (FlyCount <= 2)
@@ -398,7 +398,7 @@ class boss_razorscale : public CreatureScript
return 0;
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!UpdateVictim())
return;
@@ -566,7 +566,7 @@ class boss_razorscale : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -579,7 +579,7 @@ class boss_razorscale : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_razorscaleAI>(creature);
}
@@ -607,7 +607,7 @@ class npc_expedition_commander : public CreatureScript
Creature* Engineer[4];
Creature* Defender[4];
- void Reset() OVERRIDE
+ void Reset() override
{
AttackStartTimer = 0;
Phase = 0;
@@ -615,7 +615,7 @@ class npc_expedition_commander : public CreatureScript
summons.clear();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Greet && me->IsWithinDistInMap(who, 10.0f) && who->GetTypeId() == TYPEID_PLAYER)
@@ -625,12 +625,12 @@ class npc_expedition_commander : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summons.push_back(summoned->GetGUID());
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -644,7 +644,7 @@ class npc_expedition_commander : public CreatureScript
}
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (AttackStartTimer <= Diff)
{
@@ -704,7 +704,7 @@ class npc_expedition_commander : public CreatureScript
}
};
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -717,7 +717,7 @@ class npc_expedition_commander : public CreatureScript
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
InstanceScript* instance = creature->GetInstanceScript();
if (instance && instance->GetBossState(BOSS_RAZORSCALE) == NOT_STARTED)
@@ -733,7 +733,7 @@ class npc_expedition_commander : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_expedition_commanderAI>(creature);
}
@@ -758,7 +758,7 @@ class npc_mole_machine_trigger : public CreatureScript
bool GobSummoned;
bool NpcSummoned;
- void Reset() OVERRIDE
+ void Reset() override
{
SummonGobTimer = 2000;
SummonNpcTimer = 6000;
@@ -767,7 +767,7 @@ class npc_mole_machine_trigger : public CreatureScript
NpcSummoned = false;
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!GobSummoned && SummonGobTimer <= Diff)
{
@@ -807,13 +807,13 @@ class npc_mole_machine_trigger : public CreatureScript
DissapearTimer -= Diff;
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->DoZoneInCombat();
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mole_machine_triggerAI(creature);
}
@@ -832,13 +832,13 @@ class npc_devouring_flame : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(SPELL_FLAME_GROUND);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_devouring_flameAI(creature);
}
@@ -856,13 +856,13 @@ class npc_darkrune_watcher : public CreatureScript
uint32 ChainTimer;
uint32 LightTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ChainTimer = urand(10000, 15000);
LightTimer = urand(1000, 3000);
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!UpdateVictim())
return;
@@ -887,7 +887,7 @@ class npc_darkrune_watcher : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_darkrune_watcherAI(creature);
}
@@ -904,25 +904,25 @@ class npc_darkrune_guardian : public CreatureScript
uint32 StormTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
StormTimer = urand(3000, 6000);
killedByBreath = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return type == DATA_IRON_DWARF_MEDIUM_RARE ? killedByBreath : 0;
}
- void SetData(uint32 type, uint32 value) OVERRIDE
+ void SetData(uint32 type, uint32 value) override
{
if (type == DATA_IRON_DWARF_MEDIUM_RARE)
killedByBreath = value;
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!UpdateVictim())
return;
@@ -942,7 +942,7 @@ class npc_darkrune_guardian : public CreatureScript
bool killedByBreath;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_darkrune_guardianAI(creature);
}
@@ -961,14 +961,14 @@ class npc_darkrune_sentinel : public CreatureScript
uint32 WhirlTimer;
uint32 ShoutTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
HeroicTimer = urand(4000, 8000);
WhirlTimer = urand(20000, 25000);
ShoutTimer = urand(15000, 30000);
}
- void UpdateAI(uint32 Diff) OVERRIDE
+ void UpdateAI(uint32 Diff) override
{
if (!UpdateVictim())
return;
@@ -1001,7 +1001,7 @@ class npc_darkrune_sentinel : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_darkrune_sentinelAI(creature);
}
@@ -1028,13 +1028,13 @@ class spell_razorscale_devouring_flame : public SpellScriptLoader
caster->SummonCreature(entry, summonLocation->GetPositionX(), summonLocation->GetPositionY(), GROUND_Z, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 20000);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_razorscale_devouring_flame_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_razorscale_devouring_flame_SpellScript();
}
@@ -1059,13 +1059,13 @@ class spell_razorscale_flame_breath : public SpellScriptLoader
target->AI()->SetData(DATA_IRON_DWARF_MEDIUM_RARE, 1);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_razorscale_flame_breath_SpellScript::CheckDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_razorscale_flame_breath_SpellScript();
}
@@ -1078,7 +1078,7 @@ class achievement_iron_dwarf_medium_rare : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->IsAIEnabled && target->GetAI()->GetData(DATA_IRON_DWARF_MEDIUM_RARE);
}
@@ -1089,7 +1089,7 @@ class achievement_quick_shave : public AchievementCriteriaScript
public:
achievement_quick_shave() : AchievementCriteriaScript("achievement_quick_shave") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (target)
if (Creature* razorscale = target->ToCreature())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 73b644f3021..0364a113491 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -49,36 +49,36 @@ class boss_thorim : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
Talk(SAY_WIPE);
_EnterEvadeMode();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -91,7 +91,7 @@ class boss_thorim : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_thorimAI>(creature);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index ee87e3e9732..c57c3b33d01 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -192,7 +192,7 @@ class boss_xt002 : public CreatureScript
public:
boss_xt002() : CreatureScript("boss_xt002") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_xt002_AI>(creature);
}
@@ -203,7 +203,7 @@ class boss_xt002 : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -221,7 +221,7 @@ class boss_xt002 : public CreatureScript
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
@@ -235,7 +235,7 @@ class boss_xt002 : public CreatureScript
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MUST_DECONSTRUCT_FASTER);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -245,25 +245,25 @@ class boss_xt002 : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!_hardMode && _phase == 1 && !HealthAbovePct(100 - 25 * (_heartExposed+1)))
ExposeHeart();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() || !CheckInRoom())
return;
@@ -316,7 +316,7 @@ class boss_xt002 : public CreatureScript
DoMeleeAttackIfReady();
}
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
{
if (apply && who->GetEntry() == NPC_XS013_SCRAPBOT)
{
@@ -329,7 +329,7 @@ class boss_xt002 : public CreatureScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -344,7 +344,7 @@ class boss_xt002 : public CreatureScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -453,9 +453,9 @@ class npc_xt002_heart : public CreatureScript
SetCombatMovement(false);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Creature* xt002 = _instance ? me->GetCreature(*me, _instance->GetData64(BOSS_XT002)) : NULL;
if (!xt002 || !xt002->AI())
@@ -469,7 +469,7 @@ class npc_xt002_heart : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_xt002_heartAI>(creature);
}
@@ -485,7 +485,7 @@ class npc_scrapbot : public CreatureScript
public:
npc_scrapbot() : CreatureScript("npc_scrapbot") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_scrapbotAI>(creature);
}
@@ -497,7 +497,7 @@ class npc_scrapbot : public CreatureScript
_instance = me->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
@@ -507,7 +507,7 @@ class npc_scrapbot : public CreatureScript
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_rangeCheckTimer <= diff)
{
@@ -542,7 +542,7 @@ class npc_pummeller : public CreatureScript
public:
npc_pummeller() : CreatureScript("npc_pummeller") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_pummellerAI>(creature);
}
@@ -554,7 +554,7 @@ class npc_pummeller : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_arcingSmashTimer = TIMER_ARCING_SMASH;
_trampleTimer = TIMER_TRAMPLE;
@@ -562,13 +562,12 @@ class npc_pummeller : public CreatureScript
if (Creature* xt002 = me->GetCreature(*me, _instance->GetData64(BOSS_XT002)))
{
- Position pos;
- xt002->GetPosition(&pos);
+ Position pos = xt002->GetPosition();
me->GetMotionMaster()->MovePoint(0, pos);
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -644,7 +643,7 @@ class npc_boombot : public CreatureScript
public:
npc_boombot() : CreatureScript("npc_boombot") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_boombotAI>(creature);
}
@@ -656,7 +655,7 @@ class npc_boombot : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_boomed = false;
@@ -673,7 +672,7 @@ class npc_boombot : public CreatureScript
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
- void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*who*/, uint32& damage) override
{
if (damage >= (me->GetHealth() - me->GetMaxHealth() * 0.5f) && !_boomed)
{
@@ -698,7 +697,7 @@ class npc_boombot : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -723,7 +722,7 @@ class npc_life_spark : public CreatureScript
public:
npc_life_spark() : CreatureScript("npc_life_spark") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_life_sparkAI(creature);
}
@@ -734,13 +733,13 @@ class npc_life_spark : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, RAID_MODE(SPELL_STATIC_CHARGED_10, SPELL_STATIC_CHARGED_25));
_shockTimer = 0; // first one is immediate.
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -770,7 +769,7 @@ class spell_xt002_searing_light_spawn_life_spark : public SpellScriptLoader
{
PrepareAuraScript(spell_xt002_searing_light_spawn_life_spark_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_LIFE_SPARK))
return false;
@@ -785,13 +784,13 @@ class spell_xt002_searing_light_spawn_life_spark : public SpellScriptLoader
player->CastSpell(player, SPELL_SUMMON_LIFE_SPARK, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_xt002_searing_light_spawn_life_spark_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_xt002_searing_light_spawn_life_spark_AuraScript();
}
@@ -806,7 +805,7 @@ class spell_xt002_gravity_bomb_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_xt002_gravity_bomb_aura_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_VOID_ZONE))
return false;
@@ -836,14 +835,14 @@ class spell_xt002_gravity_bomb_aura : public SpellScriptLoader
xt002->GetAI()->SetData(DATA_GRAVITY_BOMB_CASUALTY, 1);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_xt002_gravity_bomb_aura_AuraScript::OnPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE);
AfterEffectRemove += AuraEffectRemoveFn(spell_xt002_gravity_bomb_aura_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_xt002_gravity_bomb_aura_AuraScript();
}
@@ -869,13 +868,13 @@ class spell_xt002_gravity_bomb_damage : public SpellScriptLoader
caster->GetAI()->SetData(DATA_GRAVITY_BOMB_CASUALTY, 1);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_xt002_gravity_bomb_damage_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_xt002_gravity_bomb_damage_SpellScript();
}
@@ -890,7 +889,7 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
{
PrepareSpellScript(spell_xt002_heart_overload_periodic_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ENERGY_ORB))
return false;
@@ -936,13 +935,13 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_xt002_heart_overload_periodic_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_xt002_heart_overload_periodic_SpellScript();
}
@@ -967,7 +966,7 @@ class spell_xt002_tympanic_tantrum : public SpellScriptLoader
SetHitDamage(GetHitUnit()->CountPctFromMaxHealth(GetHitDamage()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_xt002_tympanic_tantrum_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_xt002_tympanic_tantrum_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -975,7 +974,7 @@ class spell_xt002_tympanic_tantrum : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_xt002_tympanic_tantrum_SpellScript();
}
@@ -1000,13 +999,13 @@ class spell_xt002_submerged : public SpellScriptLoader
target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_SUBMERGED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_xt002_submerged_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_xt002_submerged_SpellScript();
}
@@ -1031,13 +1030,13 @@ class spell_xt002_stand : public SpellScriptLoader
target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_STAND);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_xt002_stand_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_xt002_stand_SpellScript();
}
@@ -1048,7 +1047,7 @@ class achievement_nerf_engineering : public AchievementCriteriaScript
public:
achievement_nerf_engineering() : AchievementCriteriaScript("achievement_nerf_engineering") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target || !target->GetAI())
return false;
@@ -1062,7 +1061,7 @@ class achievement_heartbreaker : public AchievementCriteriaScript
public:
achievement_heartbreaker() : AchievementCriteriaScript("achievement_heartbreaker") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target || !target->GetAI())
return false;
@@ -1076,7 +1075,7 @@ class achievement_nerf_gravity_bombs : public AchievementCriteriaScript
public:
achievement_nerf_gravity_bombs() : AchievementCriteriaScript("achievement_nerf_gravity_bombs") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target || !target->GetAI())
return false;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index 5e44d97299e..9ce5733ab0b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -430,7 +430,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
SetCombatMovement(false);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
// TODO: MoveInLineOfSight doesn't work for such a big distance
@@ -438,7 +438,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
me->SetInCombatWithZone();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
BossAI::EnterEvadeMode();
@@ -459,7 +459,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.SetPhase(PHASE_ONE);
@@ -482,7 +482,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (Creature* sara = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SARA)))
sara->SetInCombatWith(me);
@@ -501,7 +501,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
events.ScheduleEvent(EVENT_EXTINGUISH_ALL_LIFE, 900000); // 15 minutes
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
// don't despawn Yogg-Saron's corpse, remove him from SummonList!
if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_YOGG_SARON)))
@@ -510,7 +510,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
BossAI::JustDied(killer);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -585,7 +585,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -615,7 +615,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
switch (summon->GetEntry())
{
@@ -651,7 +651,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
bool _illusionShattered;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_voice_of_yogg_saronAI>(creature);
}
@@ -687,7 +687,7 @@ class boss_sara : public CreatureScript
_linkData.erase(player1);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (_events.IsInPhase(PHASE_ONE) && damage >= me->GetHealth())
{
@@ -705,7 +705,7 @@ class boss_sara : public CreatureScript
}
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spell) override
{
if (!roll_chance_i(30) || _events.IsInPhase(PHASE_TRANSFORM))
return;
@@ -726,13 +726,13 @@ class boss_sara : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER && !me->IsInEvadeMode())
Talk(SAY_SARA_KILL);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_SARA_AGGRO);
_events.ScheduleEvent(EVENT_SARAS_FERVOR, 5000, 0, PHASE_ONE);
@@ -740,7 +740,7 @@ class boss_sara : public CreatureScript
_events.ScheduleEvent(EVENT_SARAS_ANGER, urand(15000, 25000), 0, PHASE_ONE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveAllAuras();
me->SetReactState(REACT_PASSIVE);
@@ -749,7 +749,7 @@ class boss_sara : public CreatureScript
_events.SetPhase(PHASE_ONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
return;
@@ -826,7 +826,7 @@ class boss_sara : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->SetReactState(REACT_PASSIVE);
@@ -855,7 +855,7 @@ class boss_sara : public CreatureScript
voice->AI()->JustSummoned(summon);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -873,7 +873,7 @@ class boss_sara : public CreatureScript
std::map<uint64, uint64> _linkData;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_saraAI>(creature);
}
@@ -888,7 +888,7 @@ class boss_yogg_saron : public CreatureScript
{
boss_yogg_saronAI(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.SetPhase(PHASE_TWO);
@@ -910,13 +910,13 @@ class boss_yogg_saron : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_IN_THE_MAWS_OF_THE_OLD_GOD)
me->AddLootMode(32);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_YOGG_SARON_DEATH);
@@ -940,7 +940,7 @@ class boss_yogg_saron : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -976,7 +976,7 @@ class boss_yogg_saron : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1001,7 +1001,7 @@ class boss_yogg_saron : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_yogg_saronAI>(creature);
}
@@ -1016,14 +1016,14 @@ class boss_brain_of_yogg_saron : public CreatureScript
{
boss_brain_of_yogg_saronAI(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()), _summons(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
DoCast(me, SPELL_MATCH_HEALTH);
_summons.DespawnAll();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(30, damage) && !me->HasAura(SPELL_BRAIN_HURT_VISUAL))
{
@@ -1047,9 +1047,9 @@ class boss_brain_of_yogg_saron : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1086,7 +1086,7 @@ class boss_brain_of_yogg_saron : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
_summons.Summon(summon);
}
@@ -1097,7 +1097,7 @@ class boss_brain_of_yogg_saron : public CreatureScript
uint8 _tentaclesKilled;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<boss_brain_of_yogg_saronAI>(creature);
}
@@ -1112,7 +1112,7 @@ class npc_ominous_cloud : public CreatureScript
{
npc_ominous_cloudAI(Creature* creature) : PassiveAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_OMINOUS_CLOUD_VISUAL);
}
@@ -1132,9 +1132,9 @@ class npc_ominous_cloud : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
Movement::MoveSplineInit init(me);
FillCirclePath(YoggSaronSpawnPos, me->GetDistance2d(YoggSaronSpawnPos.GetPositionX(), YoggSaronSpawnPos.GetPositionY()), me->GetPositionZ(), init.Path(), action);
@@ -1144,7 +1144,7 @@ class npc_ominous_cloud : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_ominous_cloudAI>(creature);
}
@@ -1159,18 +1159,18 @@ class npc_guardian_of_yogg_saron : public CreatureScript
{
npc_guardian_of_yogg_saronAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCastAOE(SPELL_SHADOW_NOVA);
DoCastAOE(SPELL_SHADOW_NOVA_2);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.ScheduleEvent(EVENT_DARK_VOLLEY, urand(10000, 15000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1196,7 +1196,7 @@ class npc_guardian_of_yogg_saron : public CreatureScript
DoMeleeAttackIfReady();
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (summoner->GetEntry() != NPC_OMINOUS_CLOUD)
return;
@@ -1211,7 +1211,7 @@ class npc_guardian_of_yogg_saron : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_guardian_of_yogg_saronAI>(creature);
}
@@ -1229,14 +1229,14 @@ class npc_corruptor_tentacle : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_TENTACLE_VOID_ZONE);
DoCastAOE(SPELL_ERUPT);
_events.ScheduleEvent(EVENT_CAST_RANDOM_SPELL, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1268,7 +1268,7 @@ class npc_corruptor_tentacle : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_corruptor_tentacleAI>(creature);
}
@@ -1286,24 +1286,24 @@ class npc_constrictor_tentacle : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_TENTACLE_VOID_ZONE_2);
DoCastAOE(SPELL_ERUPT);
}
- void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) override
{
if (!apply)
passenger->RemoveAurasDueToSpell(SPELL_SQUEEZE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
UpdateVictim();
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->JustSummoned(me);
@@ -1313,7 +1313,7 @@ class npc_constrictor_tentacle : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_constrictor_tentacleAI>(creature);
}
@@ -1331,7 +1331,7 @@ class npc_crusher_tentacle : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_CRUSH);
DoCast(me, SPELL_TENTACLE_VOID_ZONE);
@@ -1342,7 +1342,7 @@ class npc_crusher_tentacle : public CreatureScript
_events.ScheduleEvent(EVENT_DIMINISH_POWER, urand(6000, 8000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1374,7 +1374,7 @@ class npc_crusher_tentacle : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_crusher_tentacleAI>(creature);
}
@@ -1389,24 +1389,24 @@ class npc_influence_tentacle : public CreatureScript
{
npc_influence_tentacleAI(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, me->GetEntry() == NPC_SUIT_OF_ARMOR ? SPELL_NONDESCRIPT_1 : SPELL_NONDESCRIPT_2);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* brain = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_BRAIN_OF_YOGG_SARON)))
brain->AI()->DoAction(ACTION_TENTACLE_KILLED);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_influence_tentacleAI>(creature);
}
@@ -1423,7 +1423,7 @@ class npc_descend_into_madness : public CreatureScript
{
npc_descend_into_madnessAI(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()) { }
- void OnSpellClick(Unit* clicker, bool& result) OVERRIDE
+ void OnSpellClick(Unit* clicker, bool& result) override
{
if (!result)
return;
@@ -1431,13 +1431,13 @@ class npc_descend_into_madness : public CreatureScript
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
private:
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_descend_into_madnessAI>(creature);
}
@@ -1452,20 +1452,20 @@ class npc_immortal_guardian : public CreatureScript
{
npc_immortal_guardianAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(me, SPELL_EMPOWERED);
DoCast(me, SPELL_RECENTLY_SPAWNED);
_events.ScheduleEvent(EVENT_DRAIN_LIFE, urand(3000, 13000));
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(1, damage))
damage = me->GetHealth() - me->CountPctFromMaxHealth(1); // or set immune to damage? should be done here or in SPELL_WEAKENED spell script?
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1495,7 +1495,7 @@ class npc_immortal_guardian : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_immortal_guardianAI>(creature);
}
@@ -1510,13 +1510,13 @@ class npc_observation_ring_keeper : public CreatureScript
{
npc_observation_ring_keeperAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(SPELL_SIMPLE_TELEPORT_KEEPERS); // not visible here
DoCast(SPELL_KEEPER_ACTIVE);
}
- void sGossipSelect(Player* player, uint32 sender, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 /*action*/) override
{
if (sender != 10333)
return;
@@ -1544,10 +1544,10 @@ class npc_observation_ring_keeper : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_observation_ring_keeperAI>(creature);
}
@@ -1562,12 +1562,12 @@ class npc_yogg_saron_keeper : public CreatureScript
{
npc_yogg_saron_keeperAI(Creature* creature) : ScriptedAI(creature) { }
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCast(SPELL_SIMPLE_TELEPORT_KEEPERS);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.SetPhase(PHASE_ONE);
@@ -1588,7 +1588,7 @@ class npc_yogg_saron_keeper : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
switch (me->GetEntry())
{
@@ -1609,7 +1609,7 @@ class npc_yogg_saron_keeper : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
return;
@@ -1634,7 +1634,7 @@ class npc_yogg_saron_keeper : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -1670,7 +1670,7 @@ class npc_yogg_saron_keeper : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_yogg_saron_keeperAI>(creature);
}
@@ -1685,7 +1685,7 @@ class npc_yogg_saron_illusions : public CreatureScript
{
npc_yogg_saron_illusionsAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
switch (_instance->GetData(DATA_ILLUSION))
{
@@ -1718,7 +1718,7 @@ class npc_yogg_saron_illusions : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1791,7 +1791,7 @@ class npc_yogg_saron_illusions : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_yogg_saron_illusionsAI>(creature);
}
@@ -1806,7 +1806,7 @@ class npc_garona : public CreatureScript
{
npc_garonaAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
@@ -1819,7 +1819,7 @@ class npc_garona : public CreatureScript
_events.ScheduleEvent(EVENT_STORMWIND_ROLEPLAY_6, 52700);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1854,7 +1854,7 @@ class npc_garona : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_garonaAI>(creature);
}
@@ -1869,12 +1869,12 @@ class npc_turned_champion : public CreatureScript
{
npc_turned_championAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
DoCast(SPELL_VERTEX_COLOR_BLACK);
}
- void MovementInform(uint32 type, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 type, uint32 pointId) override
{
if (type != POINT_MOTION_TYPE || pointId != 0)
return;
@@ -1882,7 +1882,7 @@ class npc_turned_champion : public CreatureScript
me->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
if (action != ACTION_START_ROLEPLAY)
return;
@@ -1892,7 +1892,7 @@ class npc_turned_champion : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_turned_championAI>(creature);
}
@@ -1907,17 +1907,17 @@ class npc_laughing_skull : public CreatureScript
{
npc_laughing_skullAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_PASSIVE);
DoCast(me, SPELL_LUNATIC_GAZE_SKULL);
}
// don't evade, otherwise the Lunatic Gaze aura is removed
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUlduarAI<npc_laughing_skullAI>(creature);
}
@@ -1938,13 +1938,13 @@ class spell_yogg_saron_target_selectors : public SpellScriptLoader // 63744,
GetCaster()->CastSpell(target, uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_target_selectors_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_target_selectors_SpellScript();
}
@@ -1990,7 +1990,7 @@ class spell_yogg_saron_psychosis : public SpellScriptLoader // 63795, 65301
{
PrepareSpellScript(spell_yogg_saron_psychosis_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_stacks = GetSpellInfo()->Id == SPELL_PSYCHOSIS ? 9 : 12;
return true;
@@ -2002,7 +2002,7 @@ class spell_yogg_saron_psychosis : public SpellScriptLoader // 63795, 65301
targets.remove_if(Trinity::UnitAuraCheck(true, SPELL_ILLUSION_ROOM));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_psychosis_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_psychosis_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -2010,7 +2010,7 @@ class spell_yogg_saron_psychosis : public SpellScriptLoader // 63795, 65301
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_psychosis_SpellScript();
}
@@ -2034,7 +2034,7 @@ class spell_yogg_saron_malady_of_the_mind : public SpellScriptLoader // 63830
targets.remove_if(Trinity::UnitAuraCheck(true, SPELL_ILLUSION_ROOM));
}
- void Register() OVERRIDE
+ void Register() override
{
if (m_scriptSpellId == SPELL_MALADY_OF_THE_MIND)
{
@@ -2051,7 +2051,7 @@ class spell_yogg_saron_malady_of_the_mind : public SpellScriptLoader // 63830
{
PrepareAuraScript(spell_yogg_saron_malady_of_the_mind_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MALADY_OF_THE_MIND_JUMP))
return false;
@@ -2073,18 +2073,18 @@ class spell_yogg_saron_malady_of_the_mind : public SpellScriptLoader // 63830
GetTarget()->CastSpell(GetTarget(), SPELL_MALADY_OF_THE_MIND_JUMP);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_malady_of_the_mind_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_MOD_FEAR, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_malady_of_the_mind_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_malady_of_the_mind_AuraScript();
}
@@ -2113,7 +2113,7 @@ class spell_yogg_saron_brain_link : public SpellScriptLoader // 63802
ai->SetLinkBetween(targets.front()->GetGUID(), targets.back()->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_brain_link_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
@@ -2123,7 +2123,7 @@ class spell_yogg_saron_brain_link : public SpellScriptLoader // 63802
{
PrepareAuraScript(spell_yogg_saron_brain_link_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BRAIN_LINK_DAMAGE))
return false;
@@ -2170,19 +2170,19 @@ class spell_yogg_saron_brain_link : public SpellScriptLoader // 63802
GetTarget()->CastSpell(linked, (GetTarget()->GetDistance(linked) > (float)aurEff->GetAmount()) ? SPELL_BRAIN_LINK_DAMAGE : SPELL_BRAIN_LINK_NO_DAMAGE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_brain_link_AuraScript::DummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
OnEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_brain_link_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_brain_link_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_brain_link_AuraScript();
}
@@ -2200,13 +2200,13 @@ class spell_yogg_saron_brain_link_damage : public SpellScriptLoader // 6380
PrepareSpellScript(spell_yogg_saron_brain_link_damage_SpellScript);
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_brain_link_damage_SpellScript::RemoveSanity, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_brain_link_damage_SpellScript();
}
@@ -2221,7 +2221,7 @@ class spell_yogg_saron_boil_ominously : public SpellScriptLoader // 63030
{
PrepareSpellScript(spell_yogg_saron_boil_ominously_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_GUARDIAN_1))
return false;
@@ -2240,13 +2240,13 @@ class spell_yogg_saron_boil_ominously : public SpellScriptLoader // 63030
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_boil_ominously_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_boil_ominously_SpellScript();
}
@@ -2273,14 +2273,14 @@ class spell_yogg_saron_shadow_beacon : public SpellScriptLoader // 64465
target->SetEntry(NPC_IMMORTAL_GUARDIAN);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_yogg_saron_shadow_beacon_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_shadow_beacon_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_shadow_beacon_AuraScript();
}
@@ -2301,13 +2301,13 @@ class spell_yogg_saron_empowering_shadows_range_check : public SpellScriptLoader
target->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_empowering_shadows_range_check_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_empowering_shadows_range_check_SpellScript();
}
@@ -2322,7 +2322,7 @@ class spell_yogg_saron_empowering_shadows_missile : public SpellScriptLoader
{
PrepareSpellScript(spell_yogg_saron_empowering_shadows_missile_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_EMPOWERING_SHADOWS))
return false;
@@ -2335,13 +2335,13 @@ class spell_yogg_saron_empowering_shadows_missile : public SpellScriptLoader
target->CastSpell((Unit*)NULL, SPELL_EMPOWERING_SHADOWS, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_empowering_shadows_missile_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_empowering_shadows_missile_SpellScript();
}
@@ -2357,7 +2357,7 @@ class spell_yogg_saron_constrictor_tentacle : public SpellScriptLoader // 64
{
PrepareAuraScript(spell_yogg_saron_constrictor_tentacle_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CONSTRICTOR_TENTACLE_SUMMON))
return false;
@@ -2369,13 +2369,13 @@ class spell_yogg_saron_constrictor_tentacle : public SpellScriptLoader // 64
GetTarget()->CastSpell(GetTarget(), SPELL_CONSTRICTOR_TENTACLE_SUMMON);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_yogg_saron_constrictor_tentacle_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_constrictor_tentacle_AuraScript();
}
@@ -2390,7 +2390,7 @@ class spell_yogg_saron_lunge : public SpellScriptLoader // 64131
{
PrepareSpellScript(spell_yogg_saron_lunge_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SQUEEZE))
return false;
@@ -2406,13 +2406,13 @@ class spell_yogg_saron_lunge : public SpellScriptLoader // 64131
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_lunge_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_lunge_SpellScript();
}
@@ -2434,13 +2434,13 @@ class spell_yogg_saron_squeeze : public SpellScriptLoader // 64125
vehicle->Kill(vehicle); // should tentacle die or just release its target?
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_squeeze_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_squeeze_AuraScript();
}
@@ -2463,13 +2463,13 @@ class spell_yogg_saron_diminsh_power : public SpellScriptLoader // 64148
GetTarget()->InterruptSpell(CURRENT_CHANNELED_SPELL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_yogg_saron_diminsh_power_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_diminsh_power_AuraScript();
}
@@ -2485,7 +2485,7 @@ class spell_yogg_saron_empowered : public SpellScriptLoader // 64161
{
PrepareAuraScript(spell_yogg_saron_empowered_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_EMPOWERED_BUFF))
return false;
@@ -2514,14 +2514,14 @@ class spell_yogg_saron_empowered : public SpellScriptLoader // 64161
target->CastSpell(target, SPELL_WEAKENED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_yogg_saron_empowered_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_empowered_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_empowered_AuraScript();
}
@@ -2542,13 +2542,13 @@ class spell_yogg_saron_match_health : public SpellScriptLoader // 64069
target->SetHealth(target->CountPctFromMaxHealth((int32)GetCaster()->GetHealthPct()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_match_health_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_match_health_SpellScript();
}
@@ -2569,13 +2569,13 @@ class spell_yogg_saron_shattered_illusion : public SpellScriptLoader // 65238
target->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_shattered_illusion_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_shattered_illusion_SpellScript();
}
@@ -2590,7 +2590,7 @@ class spell_yogg_saron_death_ray_warning_visual : public SpellScriptLoader /
{
PrepareAuraScript(spell_yogg_saron_death_ray_warning_visual_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DEATH_RAY_PERIODIC))
return false;
@@ -2610,13 +2610,13 @@ class spell_yogg_saron_death_ray_warning_visual : public SpellScriptLoader /
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_death_ray_warning_visual_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_death_ray_warning_visual_AuraScript();
}
@@ -2631,7 +2631,7 @@ class spell_yogg_saron_cancel_illusion_room_aura : public SpellScriptLoader /
{
PrepareSpellScript(spell_yogg_saron_cancel_illusion_room_aura_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_BACK_TO_MAIN_ROOM))
return false;
@@ -2647,13 +2647,13 @@ class spell_yogg_saron_cancel_illusion_room_aura : public SpellScriptLoader /
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_cancel_illusion_room_aura_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_cancel_illusion_room_aura_SpellScript();
}
@@ -2673,13 +2673,13 @@ class spell_yogg_saron_nondescript : public SpellScriptLoader // 64010, 6401
GetTarget()->CastSpell(GetTarget(), uint32(aurEff->GetAmount()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_nondescript_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_nondescript_AuraScript();
}
@@ -2694,7 +2694,7 @@ class spell_yogg_saron_revealed_tentacle : public SpellScriptLoader // 64012
{
PrepareSpellScript(spell_yogg_saron_revealed_tentacle_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TENTACLE_VOID_ZONE))
return false;
@@ -2709,17 +2709,17 @@ class spell_yogg_saron_revealed_tentacle : public SpellScriptLoader // 64012
{
caster->CastSpell(caster, SPELL_TENTACLE_VOID_ZONE, true);
caster->CastSpell(caster, SPELL_GRIM_REPRISAL, true);
- caster->UpdateEntry(NPC_INFLUENCE_TENTACLE, 0, caster->GetCreatureData());
+ caster->UpdateEntry(NPC_INFLUENCE_TENTACLE, caster->GetCreatureData());
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_revealed_tentacle_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_revealed_tentacle_SpellScript();
}
@@ -2734,7 +2734,7 @@ class spell_yogg_saron_grim_reprisal : public SpellScriptLoader // 63305
{
PrepareAuraScript(spell_yogg_saron_grim_reprisal_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GRIM_REPRISAL_DAMAGE))
return false;
@@ -2747,13 +2747,13 @@ class spell_yogg_saron_grim_reprisal : public SpellScriptLoader // 63305
GetTarget()->CastCustomSpell(SPELL_GRIM_REPRISAL_DAMAGE, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetDamageInfo()->GetAttacker(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_yogg_saron_grim_reprisal_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_grim_reprisal_AuraScript();
}
@@ -2768,7 +2768,7 @@ class spell_yogg_saron_induce_madness : public SpellScriptLoader // 64059
{
PrepareSpellScript(spell_yogg_saron_induce_madness_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TELEPORT_BACK_TO_MAIN_ROOM))
return false;
@@ -2796,14 +2796,14 @@ class spell_yogg_saron_induce_madness : public SpellScriptLoader // 64059
voice->AI()->DoAction(ACTION_TOGGLE_SHATTERED_ILLUSION);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_induce_madness_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
AfterCast += SpellCastFn(spell_yogg_saron_induce_madness_SpellScript::ClearShatteredIllusion);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_induce_madness_SpellScript();
}
@@ -2825,7 +2825,7 @@ class spell_yogg_saron_sanity : public SpellScriptLoader // 63050
GetSpell()->SetSpellValue(SPELLVALUE_AURA_STACK, 100);
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeCast += SpellCastFn(spell_yogg_saron_sanity_SpellScript::ModSanityStacks);
}
@@ -2835,7 +2835,7 @@ class spell_yogg_saron_sanity : public SpellScriptLoader // 63050
{
PrepareAuraScript(spell_yogg_saron_sanity_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LOW_SANITY_SCREEN_EFFECT))
return false;
@@ -2867,19 +2867,19 @@ class spell_yogg_saron_sanity : public SpellScriptLoader // 63050
caster->CastSpell(GetTarget(), SPELL_INSANE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_yogg_saron_sanity_AuraScript::DummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_sanity_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_sanity_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_sanity_AuraScript();
}
@@ -2894,7 +2894,7 @@ class spell_yogg_saron_insane : public SpellScriptLoader // 63120
{
PrepareAuraScript(spell_yogg_saron_insane_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_INSANE_VISUAL))
return false;
@@ -2916,14 +2916,14 @@ class spell_yogg_saron_insane : public SpellScriptLoader // 63120
GetTarget()->Kill(GetTarget());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_yogg_saron_insane_AuraScript::OnApply, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_yogg_saron_insane_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_insane_AuraScript();
}
@@ -2944,13 +2944,13 @@ class spell_yogg_saron_insane_periodic : public SpellScriptLoader // 64555
GetCaster()->CastSpell(target, uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_insane_periodic_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_insane_periodic_SpellScript();
}
@@ -2979,7 +2979,7 @@ class spell_yogg_saron_lunatic_gaze : public SpellScriptLoader // 64164, 64
{
PrepareSpellScript(spell_yogg_saron_lunatic_gaze_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_stacks = GetSpellInfo()->Id == SPELL_LUNATIC_GAZE_DAMAGE ? 4 : 2;
return true;
@@ -2990,7 +2990,7 @@ class spell_yogg_saron_lunatic_gaze : public SpellScriptLoader // 64164, 64
targets.remove_if(LunaticGazeTargetSelector(GetCaster()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_lunatic_gaze_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_yogg_saron_lunatic_gaze_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
@@ -2998,7 +2998,7 @@ class spell_yogg_saron_lunatic_gaze : public SpellScriptLoader // 64164, 64
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_lunatic_gaze_SpellScript();
}
@@ -3020,13 +3020,13 @@ class spell_yogg_saron_keeper_aura : public SpellScriptLoader // 62650, 6267
return true;
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_yogg_saron_keeper_aura_AuraScript::CanApply);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_keeper_aura_AuraScript();
}
@@ -3048,13 +3048,13 @@ class spell_yogg_saron_hate_to_zero : public SpellScriptLoader // 63984
target->getThreatManager().modifyThreatPercent(GetCaster(), -100);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_hate_to_zero_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_hate_to_zero_SpellScript();
}
@@ -3084,13 +3084,13 @@ class spell_yogg_saron_in_the_maws_of_the_old_god : public SpellScriptLoader
return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_yogg_saron_in_the_maws_of_the_old_god_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_in_the_maws_of_the_old_god_SpellScript();
}
@@ -3111,13 +3111,13 @@ class spell_yogg_saron_titanic_storm : public SpellScriptLoader // 64172
GetCaster()->Kill(target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_yogg_saron_titanic_storm_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_yogg_saron_titanic_storm_SpellScript();
}
@@ -3132,7 +3132,7 @@ class spell_yogg_saron_hodirs_protective_gaze : public SpellScriptLoader //
{
PrepareAuraScript(spell_yogg_saron_hodirs_protective_gaze_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLASH_FREEZE))
return false;
@@ -3158,14 +3158,14 @@ class spell_yogg_saron_hodirs_protective_gaze : public SpellScriptLoader //
PreventDefaultAction();
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_yogg_saron_hodirs_protective_gaze_AuraScript::CanApply);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_yogg_saron_hodirs_protective_gaze_AuraScript::OnAbsorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_yogg_saron_hodirs_protective_gaze_AuraScript();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index d0a25d2b216..d728bc2a898 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -111,11 +111,12 @@ class instance_ulduar : public InstanceMapScript
std::set<uint64> mRubbleSpawns;
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(MAX_ENCOUNTER);
LoadDoorData(doorData);
LoadMinionData(minionData);
+ LeviathanGUID = 0;
IgnisGUID = 0;
RazorscaleGUID = 0;
RazorscaleController = 0;
@@ -154,6 +155,7 @@ class instance_ulduar : public InstanceMapScript
keepersCount = 0;
conSpeedAtory = false;
Unbroken = true;
+ IsDriveMeCrazyEligible = true;
_algalonSummoned = false;
_summonAlgalon = false;
@@ -169,13 +171,13 @@ class instance_ulduar : public InstanceMapScript
memset(_summonYSKeeper, false, sizeof(_summonYSKeeper));
}
- void FillInitialWorldStates(WorldPacket& packet) OVERRIDE
+ void FillInitialWorldStates(WorldPacket& packet) override
{
packet << uint32(WORLD_STATE_ALGALON_TIMER_ENABLED) << uint32(_algalonTimer && _algalonTimer <= 60);
packet << uint32(WORLD_STATE_ALGALON_DESPAWN_TIMER) << uint32(std::min<uint32>(_algalonTimer, 60));
}
- void OnPlayerEnter(Player* player) OVERRIDE
+ void OnPlayerEnter(Player* player) override
{
if (!TeamInInstance)
TeamInInstance = player->GetTeam();
@@ -223,7 +225,7 @@ class instance_ulduar : public InstanceMapScript
instance->SummonCreature(NPC_MIMIRON_YS, YSKeepersPos[3]);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (!TeamInInstance)
{
@@ -296,35 +298,35 @@ class instance_ulduar : public InstanceMapScript
break;
case NPC_EIVI_NIGHTFEATHER:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_TOR_GREYCLOUD, HORDE);
+ creature->UpdateEntry(NPC_TOR_GREYCLOUD);
break;
case NPC_ELLIE_NIGHTFEATHER:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_KAR_GREYCLOUD, HORDE);
+ creature->UpdateEntry(NPC_KAR_GREYCLOUD);
break;
case NPC_ELEMENTALIST_MAHFUUN:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_SPIRITWALKER_TARA, HORDE);
+ creature->UpdateEntry(NPC_SPIRITWALKER_TARA);
break;
case NPC_ELEMENTALIST_AVUUN:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_SPIRITWALKER_YONA, HORDE);
+ creature->UpdateEntry(NPC_SPIRITWALKER_YONA);
break;
case NPC_MISSY_FLAMECUFFS:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_AMIRA_BLAZEWEAVER, HORDE);
+ creature->UpdateEntry(NPC_AMIRA_BLAZEWEAVER);
break;
case NPC_SISSY_FLAMECUFFS:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_VEESHA_BLAZEWEAVER, HORDE);
+ creature->UpdateEntry(NPC_VEESHA_BLAZEWEAVER);
break;
case NPC_FIELD_MEDIC_PENNY:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_BATTLE_PRIEST_ELIZA, HORDE);
+ creature->UpdateEntry(NPC_BATTLE_PRIEST_ELIZA);
break;
case NPC_FIELD_MEDIC_JESSI:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_BATTLE_PRIEST_GINA, HORDE);
+ creature->UpdateEntry(NPC_BATTLE_PRIEST_GINA);
break;
case NPC_THORIM:
@@ -416,7 +418,7 @@ class instance_ulduar : public InstanceMapScript
}
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -552,7 +554,7 @@ class instance_ulduar : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* gameObject) OVERRIDE
+ void OnGameObjectRemove(GameObject* gameObject) override
{
switch (gameObject->GetEntry())
{
@@ -577,7 +579,7 @@ class instance_ulduar : public InstanceMapScript
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
Creature* creature = unit->ToCreature();
if (!creature)
@@ -604,7 +606,7 @@ class instance_ulduar : public InstanceMapScript
}
}
- void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) OVERRIDE
+ void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) override
{
// Flame Leviathan's Tower Event triggers
Creature* FlameLeviathan = instance->GetCreature(LeviathanGUID);
@@ -638,7 +640,7 @@ class instance_ulduar : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -745,7 +747,7 @@ class instance_ulduar : public InstanceMapScript
return true;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -793,11 +795,11 @@ class instance_ulduar : public InstanceMapScript
}
}
- void SetData64(uint32 /*type*/, uint64 /*data*/) OVERRIDE
+ void SetData64(uint32 /*type*/, uint64 /*data*/) override
{
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -911,7 +913,7 @@ class instance_ulduar : public InstanceMapScript
return 0;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -932,7 +934,7 @@ class instance_ulduar : public InstanceMapScript
return 0;
}
- bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const*, Unit const* /* = NULL */, uint32 /* = 0 */) OVERRIDE
+ bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const*, Unit const* /* = NULL */, uint32 /* = 0 */) override
{
switch (criteriaId)
{
@@ -967,7 +969,7 @@ class instance_ulduar : public InstanceMapScript
return false;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -981,7 +983,7 @@ class instance_ulduar : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* strIn) OVERRIDE
+ void Load(char const* strIn) override
{
if (!strIn)
{
@@ -1047,7 +1049,7 @@ class instance_ulduar : public InstanceMapScript
OUT_LOAD_INST_DATA_COMPLETE;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (_events.Empty())
return;
@@ -1086,7 +1088,7 @@ class instance_ulduar : public InstanceMapScript
uint32 _maxWeaponItemLevel;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ulduar_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar_teleporter.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar_teleporter.cpp
index e3e588be076..9fc0e4056fa 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar_teleporter.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar_teleporter.cpp
@@ -50,7 +50,7 @@ class ulduar_teleporter : public GameObjectScript
public:
ulduar_teleporter() : GameObjectScript("ulduar_teleporter") { }
- bool OnGossipSelect(Player* player, GameObject* /*gameObject*/, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* /*gameObject*/, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (sender != GOSSIP_SENDER_MAIN)
@@ -93,7 +93,7 @@ class ulduar_teleporter : public GameObjectScript
return true;
}
- bool OnGossipHello(Player* player, GameObject* gameObject) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* gameObject) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Expedition Base Camp", GOSSIP_SENDER_MAIN, BASE_CAMP);
if (InstanceScript* instance = gameObject->GetInstanceScript())
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 cc37dde57dd..67bf6214374 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
@@ -18,28 +18,25 @@
/* ScriptData
SDName: Boss_Ingvar_The_Plunderer
SD%Complete: 95
-SDComment: Some Problems with Annhylde Movement, Blizzlike Timers (just shadow axe summon needs a new timer)
-SDCategory: Udgarde Keep
+SDComment: Blizzlike Timers (just shadow axe summon needs a new timer)
+SDCategory: Utgarde Keep
EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
+#include "SpellAuraEffects.h"
#include "utgarde_keep.h"
enum Yells
{
- // Ingvar (Human)
- SAY_AGGRO_1 = 0,
- SAY_SLAY_1 = 1,
- SAY_DEATH_1 = 2,
-
- // Ingvar (Undead)
- SAY_AGGRO_2 = 3,
- SAY_SLAY_2 = 4,
- SAY_DEATH_2 = 5,
+ // Ingvar (Human/Undead)
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
// Annhylde The Caller
- YELL_RESURRECT = 0
+ YELL_RESURRECT = 0
};
enum Events
@@ -83,8 +80,10 @@ enum Spells
SPELL_DARK_SMASH = 42723,
SPELL_DREADFUL_ROAR = 42729,
SPELL_WOE_STRIKE = 42730,
+ SPELL_WOE_STRIKE_EFFECT = 42739,
SPELL_SHADOW_AXE_SUMMON = 42748,
+ SPELL_SHADOW_AXE_PERIODIC_DAMAGE = 42750,
// Spells for Annhylde
SPELL_SCOURG_RESURRECTION_HEAL = 42704, // Heal Max + DummyAura
@@ -105,16 +104,14 @@ class boss_ingvar_the_plunderer : public CreatureScript
struct boss_ingvar_the_plundererAI : public BossAI
{
- boss_ingvar_the_plundererAI(Creature* creature) : BossAI(creature, DATA_INGVAR)
- {
- _isUndead = false;
- }
+ boss_ingvar_the_plundererAI(Creature* creature) : BossAI(creature, DATA_INGVAR) { }
- void Reset() OVERRIDE
+ void Reset() override
{
- _isUndead = false;
+ if (me->GetEntry() != NPC_INGVAR)
+ me->UpdateEntry(NPC_INGVAR);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
_Reset();
events.SetPhase(PHASE_HUMAN);
@@ -125,19 +122,19 @@ class boss_ingvar_the_plunderer : public CreatureScript
events.ScheduleEvent(EVENT_SMASH, urand(12, 17)*IN_MILLISECONDS, 0, PHASE_HUMAN);
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
{
if (damage >= me->GetHealth() && events.IsInPhase(PHASE_HUMAN))
{
me->RemoveAllAuras();
DoCast(me, SPELL_INGVAR_FEIGN_DEATH, true);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
events.SetPhase(PHASE_EVENT);
events.ScheduleEvent(EVENT_SUMMON_BANSHEE, 3 * IN_MILLISECONDS, 0, PHASE_EVENT);
- Talk(SAY_DEATH_1);
+ Talk(SAY_DEATH);
}
if (events.IsInPhase(PHASE_EVENT))
@@ -152,26 +149,22 @@ class boss_ingvar_the_plunderer : public CreatureScript
void StartZombiePhase()
{
- _isUndead = true;
me->RemoveAura(SPELL_INGVAR_FEIGN_DEATH);
- DoCast(me, SPELL_INGVAR_TRANSFORM, true); /// @todo: should be death persistent
+ DoCast(me, SPELL_INGVAR_TRANSFORM, true);
+ me->UpdateEntry(NPC_INGVAR_UNDEAD);
events.ScheduleEvent(EVENT_JUST_TRANSFORMED, 2 * IN_MILLISECONDS, 0, PHASE_EVENT);
-
- Talk(SAY_AGGRO_2);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
-
- if (!_isUndead)
- Talk(SAY_AGGRO_1);
+ Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
- Talk(SAY_DEATH_2);
+ Talk(SAY_DEATH);
}
void ScheduleSecondPhase()
@@ -183,12 +176,13 @@ class boss_ingvar_the_plunderer : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_AXE, 30*IN_MILLISECONDS, 0, PHASE_UNDEAD);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* who) override
{
- Talk(_isUndead ? SAY_SLAY_1 : SAY_SLAY_2);
+ if (who->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim() && !events.IsInPhase(PHASE_EVENT))
return;
@@ -220,7 +214,7 @@ class boss_ingvar_the_plunderer : public CreatureScript
events.ScheduleEvent(EVENT_SMASH, urand(12, 16)*IN_MILLISECONDS, 0, PHASE_HUMAN);
break;
case EVENT_JUST_TRANSFORMED:
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
DoZoneInCombat();
ScheduleSecondPhase();
return;
@@ -241,23 +235,21 @@ class boss_ingvar_the_plunderer : public CreatureScript
events.ScheduleEvent(EVENT_WOE_STRIKE, urand(10, 14)*IN_MILLISECONDS, 0, PHASE_UNDEAD);
break;
case EVENT_SHADOW_AXE:
- if (Unit* target = SelectTarget(SELECT_TARGET_TOPAGGRO, 1))
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
DoCast(target, SPELL_SHADOW_AXE_SUMMON);
-
events.ScheduleEvent(EVENT_SHADOW_AXE, 30*IN_MILLISECONDS, 0, PHASE_UNDEAD);
break;
+ default:
+ break;
}
}
if (!events.IsInPhase(PHASE_EVENT))
DoMeleeAttackIfReady();
}
-
- private:
- bool _isUndead;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<boss_ingvar_the_plundererAI>(creature);
}
@@ -275,19 +267,15 @@ class npc_annhylde_the_caller : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
- //! HACK: Creature's can't have MOVEMENTFLAG_FLYING
- me->SetHover(true);
-
me->GetPosition(x, y, z);
- DoTeleportTo(x+1, y, z+30);
- me->GetMotionMaster()->MovePoint(1, x, y, z+15);
+ me->GetMotionMaster()->MovePoint(1, x, y, z - 15.0f);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -312,11 +300,11 @@ class npc_annhylde_the_caller : public CreatureScript
}
}
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -339,7 +327,7 @@ class npc_annhylde_the_caller : public CreatureScript
ingvar->AI()->DoAction(ACTION_START_PHASE_2);
}
- me->GetMotionMaster()->MovePoint(2, x+1, y, z+30);
+ me->GetMotionMaster()->MovePoint(2, x, y, z + 15.0f);
break;
default:
break;
@@ -353,58 +341,118 @@ class npc_annhylde_the_caller : public CreatureScript
float x, y, z;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<npc_annhylde_the_callerAI>(creature);
}
};
-enum ShadowAxe
-{
- SPELL_SHADOW_AXE_DAMAGE = 42750,
- H_SPELL_SHADOW_AXE_DAMAGE = 59719,
- POINT_TARGET = 28
-};
-
class npc_ingvar_throw_dummy : public CreatureScript
{
-public:
- npc_ingvar_throw_dummy() : CreatureScript("npc_ingvar_throw_dummy") { }
+ public:
+ npc_ingvar_throw_dummy() : CreatureScript("npc_ingvar_throw_dummy") { }
+
+ struct npc_ingvar_throw_dummyAI : public ScriptedAI
+ {
+ npc_ingvar_throw_dummyAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() override
+ {
+ me->SetReactState(REACT_PASSIVE);
+
+ if (Creature* target = me->FindNearestCreature(NPC_THROW_TARGET, 200.0f))
+ {
+ float x, y, z;
+ target->GetPosition(x, y, z);
+ me->GetMotionMaster()->MoveCharge(x, y, z);
+ target->DespawnOrUnsummon();
+ }
+ else
+ me->DespawnOrUnsummon();
+ }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_ingvar_throw_dummyAI(creature);
- }
+ void MovementInform(uint32 type, uint32 id) override
+ {
+ if (type == EFFECT_MOTION_TYPE && id == EVENT_CHARGE)
+ {
+ me->CastSpell(me, SPELL_SHADOW_AXE_PERIODIC_DAMAGE, true);
+ me->DespawnOrUnsummon(10000);
+ }
+ }
+ };
- struct npc_ingvar_throw_dummyAI : public ScriptedAI
- {
- npc_ingvar_throw_dummyAI(Creature* creature) : ScriptedAI(creature)
+ CreatureAI* GetAI(Creature* creature) const override
{
+ return new npc_ingvar_throw_dummyAI(creature);
}
+};
+
+// 42912 - Summon Banshee
+class spell_ingvar_summon_banshee : public SpellScriptLoader
+{
+ public:
+ spell_ingvar_summon_banshee() : SpellScriptLoader("spell_ingvar_summon_banshee") { }
- void Reset() OVERRIDE
+ class spell_ingvar_summon_banshee_SpellScript : public SpellScript
{
- if (Creature* target = me->FindNearestCreature(NPC_THROW_TARGET, 50.0f))
+ PrepareSpellScript(spell_ingvar_summon_banshee_SpellScript);
+
+ void SetDest(SpellDestination& dest)
+ {
+ dest.RelocateOffset({ 0.0f, 0.0f, 30.0f, 0.0f });
+ }
+
+ void Register() override
{
- float x, y, z;
- target->GetPosition(x, y, z);
- me->GetMotionMaster()->MoveCharge(x, y, z, 42.0f, POINT_TARGET);
- target->DisappearAndDie();
+ OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_ingvar_summon_banshee_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_BACK);
}
- else
- me->DisappearAndDie();
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_ingvar_summon_banshee_SpellScript();
}
+};
+
+// 42730, 59735 - Woe Strike
+class spell_ingvar_woe_strike : public SpellScriptLoader
+{
+ public:
+ spell_ingvar_woe_strike() : SpellScriptLoader("spell_ingvar_woe_strike") { }
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ class spell_ingvar_woe_strike_AuraScript : public AuraScript
{
- if (type == EFFECT_MOTION_TYPE && id == POINT_TARGET)
+ PrepareAuraScript(spell_ingvar_woe_strike_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_WOE_STRIKE_EFFECT))
+ return false;
+ return true;
+ }
+
+ bool CheckProc(ProcEventInfo& eventInfo)
+ {
+ return eventInfo.GetHealInfo()->GetHeal();
+ }
+
+ void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
+ {
+ PreventDefaultAction();
+ GetTarget()->CastSpell(eventInfo.GetActor(), SPELL_WOE_STRIKE_EFFECT, true, NULL, aurEff);
+ }
+
+ void Register() override
{
- DoCast(me, SPELL_SHADOW_AXE_DAMAGE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
- me->DespawnOrUnsummon(10000);
+ DoCheckProc += AuraCheckProcFn(spell_ingvar_woe_strike_AuraScript::CheckProc);
+ OnEffectProc += AuraEffectProcFn(spell_ingvar_woe_strike_AuraScript::HandleProc, EFFECT_1, SPELL_AURA_PROC_TRIGGER_SPELL);
}
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_ingvar_woe_strike_AuraScript();
}
- };
};
void AddSC_boss_ingvar_the_plunderer()
@@ -412,4 +460,6 @@ void AddSC_boss_ingvar_the_plunderer()
new boss_ingvar_the_plunderer();
new npc_annhylde_the_caller();
new npc_ingvar_throw_dummy();
+ new spell_ingvar_summon_banshee();
+ new spell_ingvar_woe_strike();
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index 8479a6bee21..a840f29072f 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -85,14 +85,14 @@ class npc_frost_tomb : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
DoCast(summoner, SPELL_FROST_TOMB, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* keleseth = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_PRINCE_KELESETH)))
keleseth->AI()->SetData(DATA_ON_THE_ROCKS, false);
@@ -102,7 +102,7 @@ class npc_frost_tomb : public CreatureScript
InstanceScript* _instance;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<npc_frost_tombAI>(creature);
}
@@ -117,7 +117,7 @@ class boss_keleseth : public CreatureScript
{
boss_kelesethAI(Creature* creature) : BossAI(creature, DATA_PRINCE_KELESETH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_SHADOWBOLT, urand(2, 3)*IN_MILLISECONDS);
@@ -127,7 +127,7 @@ class boss_keleseth : public CreatureScript
onTheRocks = true;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_EnterCombat();
Talk(SAY_START_COMBAT);
@@ -148,19 +148,19 @@ class boss_keleseth : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data == DATA_ON_THE_ROCKS)
onTheRocks = value;
}
- uint32 GetData(uint32 data) const OVERRIDE
+ uint32 GetData(uint32 data) const override
{
if (data == DATA_ON_THE_ROCKS)
return onTheRocks;
@@ -168,7 +168,7 @@ class boss_keleseth : public CreatureScript
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -221,7 +221,7 @@ class boss_keleseth : public CreatureScript
bool onTheRocks;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<boss_kelesethAI>(creature);
}
@@ -236,13 +236,13 @@ class npc_vrykul_skeleton : public CreatureScript
{
npc_vrykul_skeletonAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_DECREPIFY, urand(4, 6) * IN_MILLISECONDS);
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
{
if (damage >= me->GetHealth())
{
@@ -265,7 +265,7 @@ class npc_vrykul_skeleton : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -312,7 +312,7 @@ class npc_vrykul_skeleton : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<npc_vrykul_skeletonAI>(creature);
}
@@ -336,13 +336,13 @@ class spell_frost_tomb : public SpellScriptLoader
creature->DespawnOrUnsummon(1000);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_frost_tomb_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_frost_tomb_AuraScript();
}
@@ -353,7 +353,7 @@ class achievement_on_the_rocks : public AchievementCriteriaScript
public:
achievement_on_the_rocks() : AchievementCriteriaScript("achievement_on_the_rocks") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
return target && target->IsAIEnabled && target->GetAI()->GetData(DATA_ON_THE_ROCKS);
}
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 76ae2a1d374..9be91bf9c64 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -89,7 +89,7 @@ class boss_skarvald_the_constructor : public CreatureScript
bool Dalronn_isDead;
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
Charge_Timer = 5000;
StoneStrike_Timer = 10000;
@@ -103,7 +103,7 @@ class boss_skarvald_the_constructor : public CreatureScript
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!ghost)
{
@@ -112,7 +112,7 @@ class boss_skarvald_the_constructor : public CreatureScript
}
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (!Enraged && !ghost && me->HealthBelowPctDamaged(15, damage))
{
@@ -126,7 +126,7 @@ class boss_skarvald_the_constructor : public CreatureScript
summons.DespawnAll();
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (!ghost)
{
@@ -155,13 +155,13 @@ class boss_skarvald_the_constructor : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (!ghost && who->GetTypeId() == TYPEID_PLAYER)
Talk(YELL_SKARVALD_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -219,7 +219,7 @@ class boss_skarvald_the_constructor : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<boss_skarvald_the_constructorAI>(creature);
}
@@ -244,7 +244,7 @@ class boss_dalronn_the_controller : public CreatureScript
uint32 AggroYell_Timer;
bool Skarvald_isDead;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBolt_Timer = 1000;
Debilitate_Timer = 5000;
@@ -259,7 +259,7 @@ class boss_dalronn_the_controller : public CreatureScript
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!ghost)
{
@@ -273,7 +273,7 @@ class boss_dalronn_the_controller : public CreatureScript
summons.DespawnAll();
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (!ghost)
{
@@ -302,13 +302,13 @@ class boss_dalronn_the_controller : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (!ghost && who->GetTypeId() == TYPEID_PLAYER)
Talk(YELL_DALRONN_KILL);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -398,7 +398,7 @@ class boss_dalronn_the_controller : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<boss_dalronn_the_controllerAI>(creature);
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
index 763dcda24e1..69229be1771 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
@@ -51,7 +51,7 @@ class instance_utgarde_keep : public InstanceMapScript
IngvarGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -74,7 +74,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -87,7 +87,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -136,7 +136,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -149,7 +149,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -168,7 +168,7 @@ class instance_utgarde_keep : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -191,7 +191,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -205,7 +205,7 @@ class instance_utgarde_keep : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -249,7 +249,7 @@ class instance_utgarde_keep : public InstanceMapScript
uint64 IngvarGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_utgarde_keep_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
index 9d044d712bd..ebd0b4c0bb0 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
@@ -46,7 +46,7 @@ class npc_dragonflayer_forge_master : public CreatureScript
_forgeId = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!_forgeId)
_forgeId = GetForgeMasterType();
@@ -58,7 +58,7 @@ class npc_dragonflayer_forge_master : public CreatureScript
_instance->SetData(DATA_FORGE_1 + _forgeId - 1, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!_forgeId)
_forgeId = GetForgeMasterType();
@@ -67,7 +67,7 @@ class npc_dragonflayer_forge_master : public CreatureScript
_instance->SetData(DATA_FORGE_1 + _forgeId - 1, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!_forgeId)
_forgeId = GetForgeMasterType();
@@ -78,7 +78,7 @@ class npc_dragonflayer_forge_master : public CreatureScript
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!_forgeId)
_forgeId = GetForgeMasterType();
@@ -113,7 +113,7 @@ class npc_dragonflayer_forge_master : public CreatureScript
uint8 _forgeId;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardeKeepAI<npc_dragonflayer_forge_masterAI>(creature);
}
@@ -133,7 +133,7 @@ class spell_ticking_time_bomb : public SpellScriptLoader
{
PrepareAuraScript(spell_ticking_time_bomb_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TICKING_TIME_BOMB_EXPLODE))
return false;
@@ -146,13 +146,13 @@ class spell_ticking_time_bomb : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_TICKING_TIME_BOMB_EXPLODE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_ticking_time_bomb_AuraScript::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_ticking_time_bomb_AuraScript();
}
@@ -172,7 +172,7 @@ class spell_fixate : public SpellScriptLoader
{
PrepareSpellScript(spell_fixate_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FIXATE_TRIGGER))
return false;
@@ -184,13 +184,13 @@ class spell_fixate : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), SPELL_FIXATE_TRIGGER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_fixate_SpellScript::HandleScriptEffect, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_fixate_SpellScript();
}
@@ -228,7 +228,7 @@ class npc_enslaved_proto_drake : public CreatureScript
_setData = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_REND, urand(2000, 3000));
@@ -236,7 +236,7 @@ class npc_enslaved_proto_drake : public CreatureScript
_events.ScheduleEvent(EVENT_KNOCKAWAY, urand(3500, 6000));
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_LAST)
{
@@ -244,7 +244,7 @@ class npc_enslaved_proto_drake : public CreatureScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == TYPE_PROTODRAKE_AT && data == DATA_PROTODRAKE_MOVE && !_setData && me->GetDistance(protodrakeCheckPos) < 5.0f)
{
@@ -254,7 +254,7 @@ class npc_enslaved_proto_drake : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -294,7 +294,7 @@ class npc_enslaved_proto_drake : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_enslaved_proto_drakeAI(creature);
}
@@ -309,7 +309,7 @@ class spell_uk_second_wind_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_uk_second_wind_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UK_SECOUND_WIND_TRIGGER))
return false;
@@ -331,7 +331,7 @@ class spell_uk_second_wind_proc : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_UK_SECOUND_WIND_TRIGGER, SPELLVALUE_BASE_POINT0, 5, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_uk_second_wind_proc_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_uk_second_wind_proc_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
@@ -339,7 +339,7 @@ class spell_uk_second_wind_proc : public SpellScriptLoader
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_uk_second_wind_proc_AuraScript();
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index 7c42f75b72f..664facd31a1 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -102,7 +102,7 @@ public:
uint8 AddCount;
Phase Sequence[4];
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -135,12 +135,12 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -157,7 +157,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (currentPhase != PHASE_GORTOK_PALEHOOF)
return;
@@ -187,19 +187,19 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
//Talk(SAY_DEATH);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void DoAction(int32 actionId) OVERRIDE
+ void DoAction(int32 actionId) override
{
if (actionId != ACTION_NEXT_PHASE)
return;
@@ -226,7 +226,7 @@ public:
currentPhase = move;
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NOT_ATTACKABLE_1|UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -234,7 +234,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<boss_palehoofAI>(creature);
}
@@ -254,7 +254,7 @@ class npc_ravenous_furbolg : public CreatureScript
public:
npc_ravenous_furbolg() : CreatureScript("npc_ravenous_furbolg") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ravenous_furbolgAI>(creature);
}
@@ -272,7 +272,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChainLightingTimer = 5000;
uiCrazedTimer = 10000;
@@ -288,7 +288,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -315,7 +315,7 @@ public:
DoMeleeAttackIfReady();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -332,13 +332,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -362,7 +362,7 @@ class npc_frenzied_worgen : public CreatureScript
public:
npc_frenzied_worgen() : CreatureScript("npc_frenzied_worgen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_frenzied_worgenAI>(creature);
}
@@ -380,7 +380,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiMortalWoundTimer = 5000;
uiEnrage1Timer = 15000;
@@ -396,7 +396,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -423,7 +423,7 @@ public:
DoMeleeAttackIfReady();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -441,13 +441,13 @@ public:
instance->SetBossState(DATA_GORTOK_PALEHOOF, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -472,7 +472,7 @@ class npc_ferocious_rhino : public CreatureScript
public:
npc_ferocious_rhino() : CreatureScript("npc_ferocious_rhino") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ferocious_rhinoAI>(creature);
}
@@ -490,7 +490,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiStompTimer = 10000;
uiGoreTimer = 15000;
@@ -506,7 +506,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -534,7 +534,7 @@ public:
DoMeleeAttackIfReady();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -551,13 +551,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -587,7 +587,7 @@ class npc_massive_jormungar : public CreatureScript
public:
npc_massive_jormungar() : CreatureScript("npc_massive_jormungar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_massive_jormungarAI>(creature);
}
@@ -605,7 +605,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiAcidSpitTimer = 3000;
uiAcidSplatterTimer = 12000;
@@ -621,7 +621,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -650,7 +650,7 @@ public:
DoMeleeAttackIfReady();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -667,13 +667,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -688,7 +688,7 @@ class npc_palehoof_orb : public CreatureScript
public:
npc_palehoof_orb() : CreatureScript("npc_palehoof_orb") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_palehoof_orbAI>(creature);
}
@@ -704,7 +704,7 @@ public:
uint32 SummonTimer;
Phase currentPhase;
- void Reset() OVERRIDE
+ void Reset() override
{
currentPhase = PHASE_NONE;
SummonTimer = 5000;
@@ -714,7 +714,7 @@ public:
me->SetSpeed(MOVE_FLIGHT, 0.5f);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (currentPhase == PHASE_NONE)
return;
@@ -760,7 +760,7 @@ public:
SummonTimer -= diff;
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -802,7 +802,7 @@ class go_palehoof_sphere : public GameObjectScript
public:
go_palehoof_sphere() : GameObjectScript("go_palehoof_sphere") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index b6438008dde..4a5c0291ce0 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -160,7 +160,7 @@ class boss_skadi : public CreatureScript
public:
boss_skadi() : CreatureScript("boss_skadi") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_skadiAI>(creature);
}
@@ -190,7 +190,7 @@ public:
CombatPhase Phase;
- void Reset() OVERRIDE
+ void Reset() override
{
triggersGUID.clear();
@@ -212,7 +212,7 @@ public:
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
me->SetCanFly(false);
me->Dismount();
@@ -221,7 +221,7 @@ public:
me->SummonCreature(NPC_GRAUF, Location[0].GetPositionX(), Location[0].GetPositionY(), Location[0].GetPositionZ(), 3.0f);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -240,7 +240,7 @@ public:
Summons.DespawnEntry(NPC_GRAUF);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -263,14 +263,14 @@ public:
Summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summoned) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_GRAUF)
m_uiGraufGUID = 0;
Summons.Despawn(summoned);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_HARPOON_DAMAGE)
{
@@ -291,12 +291,12 @@ public:
m_uiCrushTimer = 8000;
m_uiPoisonedSpearTimer = 10000;
m_uiWhirlwindTimer = 20000;
- me->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM));
+ AttackStart(SelectTarget(SELECT_TARGET_RANDOM));
}
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
switch (Phase)
{
@@ -401,14 +401,14 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
Summons.DespawnAll();
instance->SetBossState(DATA_SKADI_THE_RUTHLESS, DONE);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
@@ -463,7 +463,7 @@ class go_harpoon_launcher : public GameObjectScript
public:
go_harpoon_launcher() : GameObjectScript("go_harpoon_launcher") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 2a24b1145c0..621ef20e7e4 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -140,7 +140,7 @@ class boss_svala : public CreatureScript
_introCompleted = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_sacrificed = false;
@@ -158,20 +158,20 @@ class boss_svala : public CreatureScript
instance->SetData64(DATA_SACRIFICED_PLAYER, 0);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_RITUAL_CHANNELER)
summon->CastSpell(summon, SPELL_SUMMONED_VIS, true);
summons.Summon(summon);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who)
return;
@@ -193,13 +193,13 @@ class boss_svala : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (events.IsInPhase(SACRIFICING))
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
@@ -208,7 +208,7 @@ class boss_svala : public CreatureScript
Talk(SAY_DEATH);
}
- void SpellHitTarget(Unit* /*target*/, SpellInfo const* spellInfo) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, SpellInfo const* spellInfo) override
{
if (spellInfo->Id == SPELL_RITUAL_STRIKE_EFF_1 && !events.IsInPhase(NORMAL) && !events.IsInPhase(SVALADEAD))
{
@@ -222,7 +222,7 @@ class boss_svala : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (events.IsInPhase(IDLE))
return;
@@ -383,7 +383,7 @@ class boss_svala : public CreatureScript
bool _introCompleted;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<boss_svalaAI>(creature);
}
@@ -406,7 +406,7 @@ class npc_ritual_channeler : public CreatureScript
InstanceScript* instance;
uint32 paralyzeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
paralyzeTimer = 1600;
@@ -414,7 +414,7 @@ class npc_ritual_channeler : public CreatureScript
DoCast(me, SPELL_SHADOWS_IN_THE_DARK);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
@@ -431,7 +431,7 @@ class npc_ritual_channeler : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<npc_ritual_channelerAI>(creature);
}
@@ -446,9 +446,9 @@ class npc_spectator : public CreatureScript
{
npc_spectatorAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void MovementInform(uint32 motionType, uint32 pointId) OVERRIDE
+ void MovementInform(uint32 motionType, uint32 pointId) override
{
if (motionType == POINT_MOTION_TYPE)
{
@@ -460,7 +460,7 @@ class npc_spectator : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<npc_spectatorAI>(creature);
}
@@ -495,13 +495,13 @@ class spell_paralyze_pinnacle : public SpellScriptLoader
unitList.remove_if(RitualTargetCheck());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_paralyze_pinnacle_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_paralyze_pinnacle_SpellScript();
}
@@ -519,25 +519,25 @@ class npc_scourge_hulk : public CreatureScript
uint32 mightyBlow;
uint32 volatileInfection;
- void Reset() OVERRIDE
+ void Reset() override
{
mightyBlow = urand(4000, 9000);
volatileInfection = urand(10000, 14000);
killedByRitualStrike = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return type == DATA_INCREDIBLE_HULK ? killedByRitualStrike : 0;
}
- void DamageTaken(Unit* attacker, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* attacker, uint32 &damage) override
{
if (damage >= me->GetHealth() && attacker->GetEntry() == NPC_SVALA_SORROWGRAVE)
killedByRitualStrike = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -567,7 +567,7 @@ class npc_scourge_hulk : public CreatureScript
bool killedByRitualStrike;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<npc_scourge_hulkAI>(creature);
}
@@ -578,7 +578,7 @@ class achievement_incredible_hulk : public AchievementCriteriaScript
public:
achievement_incredible_hulk() : AchievementCriteriaScript("achievement_incredible_hulk") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
return target && target->IsAIEnabled && target->GetAI()->GetData(DATA_INCREDIBLE_HULK);
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index ba1dd0fc42b..a33d02fb083 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -146,7 +146,7 @@ public:
uint64 m_uiActivedCreatureGUID;
uint64 m_uiOrbGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
m_bIsWalking = false;
@@ -176,19 +176,19 @@ public:
m_uiOrbGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void SpellHitTarget(Unit* who, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* who, SpellInfo const* spell) override
{
if (who && who->GetTypeId() == TYPEID_PLAYER && spell->Id == 59302)
kingsBane = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_KINGS_BANE)
return kingsBane ? 1 : 0;
@@ -196,7 +196,7 @@ public:
return 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (m_bIsWalking)
{
@@ -354,13 +354,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
@@ -376,7 +376,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetUtgardePinnacleAI<boss_ymironAI>(creature);
}
@@ -387,7 +387,7 @@ class achievement_kings_bane : public AchievementCriteriaScript
public:
achievement_kings_bane() : AchievementCriteriaScript("achievement_kings_bane") { }
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
index 5068abd0131..6eea38c32a3 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
@@ -56,7 +56,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
SacrificedPlayerGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -95,7 +95,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -119,7 +119,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -132,7 +132,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
switch (type)
{
@@ -144,7 +144,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -181,7 +181,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -192,7 +192,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -244,7 +244,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
uint64 SacrificedPlayerGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_utgarde_pinnacle_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
index 398a0308760..c164f8fbf60 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
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_ROCK_SHARDS, 15000);
events.ScheduleEvent(EVENT_CHOKING_CLOUD, 30000);
@@ -87,7 +87,7 @@ class boss_archavon : public CreatureScript
}
// Below UpdateAI may need review/debug.
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -132,7 +132,7 @@ class boss_archavon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_archavonAI(creature);
}
@@ -154,7 +154,7 @@ class npc_archavon_warder : public CreatureScript
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_ROCK_SHOWER, 2000);
@@ -162,12 +162,12 @@ class npc_archavon_warder : public CreatureScript
events.ScheduleEvent(EVENT_WHIRL, 7500);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -203,7 +203,7 @@ class npc_archavon_warder : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_archavon_warderAI(creature);
}
@@ -219,7 +219,7 @@ class spell_archavon_rock_shards : public SpellScriptLoader
{
PrepareSpellScript(spell_archavon_rock_shards_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROCK_SHARDS_VISUAL_L)
|| !sSpellMgr->GetSpellInfo(SPELL_ROCK_SHARDS_VISUAL_R)
@@ -243,13 +243,13 @@ class spell_archavon_rock_shards : public SpellScriptLoader
caster->CastSpell((Unit*)NULL, SPELL_ROCK_SHARDS_DAMAGE_R, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_archavon_rock_shards_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_archavon_rock_shards_SpellScript();
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index 7377029080f..205030947d1 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -80,7 +80,7 @@ class boss_emalon : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
@@ -88,7 +88,7 @@ class boss_emalon : public CreatureScript
me->SummonCreature(NPC_TEMPEST_MINION, TempestMinions[i], TEMPSUMMON_CORPSE_DESPAWN, 0);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
BossAI::JustSummoned(summoned);
@@ -97,7 +97,7 @@ class boss_emalon : public CreatureScript
summoned->AI()->AttackStart(me->GetVictim());
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!summons.empty())
{
@@ -117,7 +117,7 @@ class boss_emalon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -166,7 +166,7 @@ class boss_emalon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_emalonAI(creature);
}
@@ -187,13 +187,13 @@ class npc_tempest_minion : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
OverchargedTimer = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* emalon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EMALON)))
{
@@ -205,7 +205,7 @@ class npc_tempest_minion : public CreatureScript
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
DoZoneInCombat();
events.ScheduleEvent(EVENT_SHOCK, 20000);
@@ -217,7 +217,7 @@ class npc_tempest_minion : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -266,7 +266,7 @@ class npc_tempest_minion : public CreatureScript
uint32 OverchargedTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_tempest_minionAI>(creature);
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index 9371068e231..b6c836eb0cd 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -61,7 +61,7 @@ class boss_koralon : public CreatureScript
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_BURNING_FURY);
@@ -73,7 +73,7 @@ class boss_koralon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -112,7 +112,7 @@ class boss_koralon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_koralonAI(creature);
}
@@ -132,12 +132,12 @@ class npc_flame_warder : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
@@ -145,7 +145,7 @@ class npc_flame_warder : public CreatureScript
events.ScheduleEvent(EVENT_FW_METEOR_FISTS, 10000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -176,7 +176,7 @@ class npc_flame_warder : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_flame_warderAI(creature);
}
@@ -191,7 +191,7 @@ class spell_koralon_meteor_fists : public SpellScriptLoader
{
PrepareAuraScript(spell_koralon_meteor_fists_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_METEOR_FISTS_DAMAGE))
return false;
@@ -204,13 +204,13 @@ class spell_koralon_meteor_fists : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_METEOR_FISTS_DAMAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_koralon_meteor_fists_AuraScript::TriggerFists, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_koralon_meteor_fists_AuraScript();
}
@@ -225,7 +225,7 @@ class spell_koralon_meteor_fists_damage : public SpellScriptLoader
{
PrepareSpellScript(spell_koralon_meteor_fists_damage_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_chainTargets = 0;
return true;
@@ -242,7 +242,7 @@ class spell_koralon_meteor_fists_damage : public SpellScriptLoader
SetHitDamage(GetHitDamage() / (_chainTargets + 1));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_koralon_meteor_fists_damage_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_TARGET_ENEMY);
OnHit += SpellHitFn(spell_koralon_meteor_fists_damage_SpellScript::CalculateSplitDamage);
@@ -252,7 +252,7 @@ class spell_koralon_meteor_fists_damage : public SpellScriptLoader
uint8 _chainTargets;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_koralon_meteor_fists_damage_SpellScript();
}
@@ -267,7 +267,7 @@ class spell_flame_warder_meteor_fists : public SpellScriptLoader
{
PrepareAuraScript(spell_flame_warder_meteor_fists_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FW_METEOR_FISTS_DAMAGE))
return false;
@@ -280,13 +280,13 @@ class spell_flame_warder_meteor_fists : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_FW_METEOR_FISTS_DAMAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_flame_warder_meteor_fists_AuraScript::TriggerFists, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_flame_warder_meteor_fists_AuraScript();
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index bd2128a1b4c..caba44a7100 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -65,7 +65,7 @@ class boss_toravon : public CreatureScript
{
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_FROZEN_MALLET);
@@ -76,7 +76,7 @@ class boss_toravon : public CreatureScript
_EnterCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -112,7 +112,7 @@ class boss_toravon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_toravonAI(creature);
}
@@ -130,12 +130,12 @@ class npc_frost_warder : public CreatureScript
{
npc_frost_warderAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
@@ -144,7 +144,7 @@ class npc_frost_warder : public CreatureScript
events.ScheduleEvent(EVENT_FROST_BLAST, 5000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -167,7 +167,7 @@ class npc_frost_warder : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_frost_warderAI(creature);
}
@@ -187,18 +187,18 @@ public:
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
done = false;
killTimer = 60000; // if after this time there is no victim -> destroy!
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!done)
{
@@ -222,7 +222,7 @@ public:
bool done;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_frozen_orbAI(creature);
}
@@ -250,7 +250,7 @@ class npc_frozen_orb_stalker : public CreatureScript
SetCombatMovement(false);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (spawned)
return;
@@ -275,7 +275,7 @@ class npc_frozen_orb_stalker : public CreatureScript
bool spawned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_frozen_orb_stalkerAI>(creature);
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
index 59b097d98b6..1f5b16f1a46 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
@@ -44,7 +44,7 @@ class instance_vault_of_archavon : public InstanceMapScript
KoralonDeath = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -59,7 +59,7 @@ class instance_vault_of_archavon : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -74,7 +74,7 @@ class instance_vault_of_archavon : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -103,7 +103,7 @@ class instance_vault_of_archavon : public InstanceMapScript
return true;
}
- bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) OVERRIDE
+ bool CheckAchievementCriteriaMeet(uint32 criteria_id, Player const* /*source*/, Unit const* /*target*/, uint32 /*miscvalue1*/) override
{
switch (criteria_id)
{
@@ -133,7 +133,7 @@ class instance_vault_of_archavon : public InstanceMapScript
time_t KoralonDeath;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_vault_of_archavon_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
index e53d046b396..cca2b347af7 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_cyanigosa.cpp
@@ -48,7 +48,7 @@ class boss_cyanigosa : public CreatureScript
public:
boss_cyanigosa() : CreatureScript("boss_cyanigosa") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_cyanigosaAI>(creature);
}
@@ -68,7 +68,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcaneVacuumTimer = 10000;
uiBlizzardTimer = 15000;
@@ -78,17 +78,17 @@ public:
instance->SetData(DATA_CYANIGOSA_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_CYANIGOSA_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_REMOVE_NPC) == 1)
{
@@ -138,14 +138,14 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_CYANIGOSA_EVENT, DONE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -163,7 +163,7 @@ class achievement_defenseless : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 441603dcdc8..66ab5a04c3c 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -47,7 +47,7 @@ class boss_erekem : public CreatureScript
public:
boss_erekem() : CreatureScript("boss_erekem") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_erekemAI>(creature);
}
@@ -67,7 +67,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiBloodlustTimer = 15000;
uiChainHealTimer = 0;
@@ -91,7 +91,7 @@ public:
}
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -118,7 +118,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoCast(me, SPELL_EARTH_SHIELD);
@@ -136,10 +136,10 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -200,7 +200,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -216,7 +216,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -255,7 +255,7 @@ class npc_erekem_guard : public CreatureScript
public:
npc_erekem_guard() : CreatureScript("npc_erekem_guard") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_erekem_guardAI>(creature);
}
@@ -273,14 +273,14 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiStrikeTimer = urand(4000, 8000);
uiHowlingScreechTimer = urand(8000, 13000);
uiGushingWoundTimer = urand(1000, 3000);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -294,10 +294,10 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index 7bdf8234087..5cbd4cafffb 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -76,7 +76,7 @@ class boss_ichoron : public CreatureScript
public:
boss_ichoron() : CreatureScript("boss_ichoron") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_ichoronAI>(creature);
}
@@ -99,7 +99,7 @@ public:
SummonList m_waterElements;
- void Reset() OVERRIDE
+ void Reset() override
{
bIsExploded = false;
bIsFrenzy = false;
@@ -116,7 +116,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -134,7 +134,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -148,7 +148,7 @@ public:
}
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
if (!me->IsAlive())
return;
@@ -192,7 +192,7 @@ public:
me->GetMotionMaster()->MoveChase(me->GetVictim());
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_DEHYDRATION)
return dehydration ? 1 : 0;
@@ -200,10 +200,10 @@ public:
return 0;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -271,7 +271,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -295,7 +295,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned)
{
@@ -306,7 +306,7 @@ public:
}
}
- void SummonedCreatureDespawn(Creature* summoned) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned)
{
@@ -315,7 +315,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -331,7 +331,7 @@ class npc_ichor_globule : public CreatureScript
public:
npc_ichor_globule() : CreatureScript("npc_ichor_globule") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ichor_globuleAI>(creature);
}
@@ -347,18 +347,18 @@ public:
uint32 uiRangeCheck_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiRangeCheck_Timer = 1000;
DoCast(me, SPELL_WATER_GLOBULE);
}
- void AttackStart(Unit* /*who*/) OVERRIDE
+ void AttackStart(Unit* /*who*/) override
{
return;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (uiRangeCheck_Timer < uiDiff)
{
@@ -376,7 +376,7 @@ public:
else uiRangeCheck_Timer -= uiDiff;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_SPLASH);
if (Creature* pIchoron = Unit::GetCreature(*me, instance->GetData64(DATA_ICHORON)))
@@ -394,7 +394,7 @@ class achievement_dehydration : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index ef0e6d900e7..3a08a4510ca 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -35,7 +35,7 @@ class boss_lavanthor : public CreatureScript
public:
boss_lavanthor() : CreatureScript("boss_lavanthor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lavanthorAI>(creature);
}
@@ -54,7 +54,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiFireboltTimer = 1000;
uiFlameBreathTimer = 5000;
@@ -66,7 +66,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_LAVANTHOR_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
@@ -80,7 +80,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -94,10 +94,10 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -133,7 +133,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_WAVE_COUNT) == 6)
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 5829adc7c86..12ace1b1c38 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -31,7 +31,7 @@ class boss_moragg : public CreatureScript
public:
boss_moragg() : CreatureScript("boss_moragg") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_moraggAI>(creature);
}
@@ -48,7 +48,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiOpticLinkTimer = 10000;
uiCorrosiveSalivaTimer = 5000;
@@ -59,7 +59,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_MORAGG_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
@@ -73,7 +73,7 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -87,10 +87,10 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -111,7 +111,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_WAVE_COUNT) == 6)
{
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 477be1ee56d..de08022b5ed 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -61,7 +61,7 @@ class boss_xevozz : public CreatureScript
public:
boss_xevozz() : CreatureScript("boss_xevozz") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_xevozzAI>(creature);
}
@@ -79,7 +79,7 @@ public:
uint32 uiArcaneBarrageVolley_Timer;
uint32 uiArcaneBuffet_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (instance->GetData(DATA_WAVE_COUNT) == 6)
instance->SetData(DATA_1ST_BOSS_EVENT, NOT_STARTED);
@@ -107,7 +107,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->SetSpeed(MOVE_RUN, 0.5f);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -117,7 +117,7 @@ public:
}
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -131,7 +131,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_XEVOZZ_CELL)))
@@ -146,10 +146,10 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -187,7 +187,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -204,7 +204,7 @@ public:
instance->SetData(DATA_WAVE_COUNT, 13);
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -220,7 +220,7 @@ class npc_ethereal_sphere : public CreatureScript
public:
npc_ethereal_sphere() : CreatureScript("npc_ethereal_sphere") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ethereal_sphereAI>(creature);
}
@@ -237,13 +237,13 @@ public:
uint32 uiSummonPlayers_Timer;
uint32 uiRangeCheck_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiSummonPlayers_Timer = urand(33000, 35000);
uiRangeCheck_Timer = 1000;
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
//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 6835228ca46..7ae1c7840db 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -56,7 +56,7 @@ class boss_zuramat : public CreatureScript
public:
boss_zuramat() : CreatureScript("boss_zuramat") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_zuramatAI>(creature);
}
@@ -75,7 +75,7 @@ public:
uint32 SpellShroudOfDarknessTimer;
bool voidDance;
- void Reset() OVERRIDE
+ void Reset() override
{
if (instance->GetData(DATA_WAVE_COUNT) == 6)
instance->SetData(DATA_1ST_BOSS_EVENT, NOT_STARTED);
@@ -88,7 +88,7 @@ public:
voidDance = true;
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -102,7 +102,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ZURAMAT_CELL)))
@@ -117,10 +117,10 @@ public:
instance->SetData(DATA_2ND_BOSS_EVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -148,13 +148,13 @@ public:
DoMeleeAttackIfReady();
}
- void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* /*who*/) override
{
if (summoned->GetEntry() == NPC_VOID_SENTRY)
voidDance = false;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_VOID_DANCE)
return voidDance ? 1 : 0;
@@ -162,7 +162,7 @@ public:
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -178,7 +178,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -186,10 +186,10 @@ public:
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->AI()->AttackStart(me->GetVictim());
- summon->AI()->DoCastAOE(SPELL_ZURAMAT_ADD_2);
+ summon->CastSpell((Unit*)NULL, SPELL_ZURAMAT_ADD_2);
summon->SetPhaseMask(17, true);
}
};
@@ -203,7 +203,7 @@ class achievement_void_dance : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* /*player*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*player*/, Unit* target) override
{
if (!target)
return false;
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 9d02929efdb..c799a2f1813 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -105,7 +105,7 @@ class instance_violet_hold : public InstanceMapScript
public:
instance_violet_hold() : InstanceMapScript("instance_violet_hold", 608) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_violet_hold_InstanceMapScript(map);
}
@@ -168,7 +168,7 @@ public:
std::string str_data;
- void Initialize() OVERRIDE
+ void Initialize() override
{
uiMoragg = 0;
uiErekem = 0;
@@ -218,7 +218,7 @@ public:
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -227,7 +227,7 @@ public:
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -272,7 +272,7 @@ public:
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -310,7 +310,7 @@ public:
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -406,7 +406,7 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
switch (type)
{
@@ -419,7 +419,7 @@ public:
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -440,7 +440,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -616,7 +616,7 @@ public:
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -633,7 +633,7 @@ public:
return str_data;
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -682,7 +682,7 @@ public:
return true;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (!instance->HavePlayers())
return;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 5f79e609e01..a4f142e1c89 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -260,7 +260,7 @@ class npc_sinclari_vh : public CreatureScript
public:
npc_sinclari_vh() : CreatureScript("npc_sinclari_vh") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -282,7 +282,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -305,7 +305,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_sinclariAI>(creature);
}
@@ -322,7 +322,7 @@ public:
uint8 uiPhase;
uint32 uiTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiPhase = 0;
uiTimer = 0;
@@ -346,7 +346,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
ScriptedAI::UpdateAI(uiDiff);
@@ -425,7 +425,7 @@ class npc_azure_saboteur : public CreatureScript
public:
npc_azure_saboteur() : CreatureScript("npc_azure_saboteur") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_saboteurAI>(creature);
}
@@ -444,7 +444,7 @@ public:
bool bHasGotMovingPoints;
uint32 uiBoss;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!uiBoss)
uiBoss = instance->GetData(DATA_WAVE_COUNT) == 6 ? instance->GetData(DATA_FIRST_BOSS) : instance->GetData(DATA_SECOND_BOSS);
@@ -453,7 +453,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (uiBoss)
{
@@ -484,7 +484,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
me->CastStop();
@@ -549,7 +549,7 @@ class npc_teleportation_portal_vh : public CreatureScript
public:
npc_teleportation_portal_vh() : CreatureScript("npc_teleportation_portal_vh") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_teleportation_portalAI>(creature);
}
@@ -571,18 +571,18 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
uiSpawnTimer = 10000;
bPortalGuardianOrKeeperOrEliteSpawn = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (instance->GetData(DATA_REMOVE_NPC) == 1)
{
@@ -654,18 +654,18 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_WAVE_COUNT, instance->GetData(DATA_WAVE_COUNT)+1);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
listOfMobs.Summon(summoned);
instance->SetData64(DATA_ADD_TRASH_MOB, summoned->GetGUID());
}
- void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) override
{
listOfMobs.Despawn(summoned);
instance->SetData64(DATA_DEL_TRASH_MOB, summoned->GetGUID());
@@ -690,7 +690,7 @@ struct violet_hold_trashAI : public npc_escortAI
uint32 portalLocationID;
uint32 secondPortalRouteID;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (portalLocationID)
{
@@ -721,7 +721,7 @@ struct violet_hold_trashAI : public npc_escortAI
}
}
- void UpdateAI(uint32) OVERRIDE
+ void UpdateAI(uint32) override
{
if (instance->GetData(DATA_MAIN_EVENT_PHASE) != IN_PROGRESS)
me->CastStop();
@@ -778,7 +778,7 @@ struct violet_hold_trashAI : public npc_escortAI
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_NPC_PRESENCE_AT_DOOR_REMOVE, 1);
}
@@ -797,7 +797,7 @@ class npc_azure_invader : public CreatureScript
public:
npc_azure_invader() : CreatureScript("npc_azure_invader") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_invaderAI>(creature);
}
@@ -814,7 +814,7 @@ public:
uint32 uiBrutalStrikeTimer;
uint32 uiSunderArmorTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiCleaveTimer = 5000;
uiImpaleTimer = 4000;
@@ -822,7 +822,7 @@ public:
uiSunderArmorTimer = 4000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -875,7 +875,7 @@ class npc_azure_binder : public CreatureScript
public:
npc_azure_binder() : CreatureScript("npc_azure_binder") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_binderAI>(creature);
}
@@ -892,7 +892,7 @@ public:
uint32 uiFrostNovaTimer;
uint32 uiFrostboltTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcaneExplosionTimer = 5000;
uiArcainBarrageTimer = 4000;
@@ -900,7 +900,7 @@ public:
uiFrostboltTimer = 4000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -953,7 +953,7 @@ class npc_azure_mage_slayer : public CreatureScript
public:
npc_azure_mage_slayer() : CreatureScript("npc_azure_mage_slayer") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_mage_slayerAI>(creature);
}
@@ -968,13 +968,13 @@ public:
uint32 uiArcaneEmpowermentTimer;
uint32 uiSpellLockTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcaneEmpowermentTimer = 5000;
uiSpellLockTimer = 5000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1013,7 +1013,7 @@ class npc_azure_raider : public CreatureScript
public:
npc_azure_raider() : CreatureScript("npc_azure_raider") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_raiderAI>(creature);
}
@@ -1028,13 +1028,13 @@ public:
uint32 uiConcussionBlowTimer;
uint32 uiMagicReflectionTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiConcussionBlowTimer = 5000;
uiMagicReflectionTimer = 8000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1072,14 +1072,14 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_backstabTimer = 1300;
_tacticalBlinkTimer = 8000;
_tacticalBlinkCast =false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1119,7 +1119,7 @@ public:
bool _tacticalBlinkCast;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_stalkerAI>(creature);
}
@@ -1142,7 +1142,7 @@ public:
uint32 uiChainsOfIceTimer;
uint32 uiConeOfColdTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcaneBlastTimer = 5000;
uiSlowTimer = 4000;
@@ -1150,7 +1150,7 @@ public:
uiConeOfColdTimer = 4000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1198,7 +1198,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_spellbreakerAI>(creature);
}
@@ -1209,7 +1209,7 @@ class npc_azure_captain : public CreatureScript
public:
npc_azure_captain() : CreatureScript("npc_azure_captain") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_captainAI>(creature);
}
@@ -1224,13 +1224,13 @@ public:
uint32 uiMortalStrikeTimer;
uint32 uiWhirlwindTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiMortalStrikeTimer = 5000;
uiWhirlwindTimer = 8000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1261,7 +1261,7 @@ class npc_azure_sorceror : public CreatureScript
public:
npc_azure_sorceror() : CreatureScript("npc_azure_sorceror") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_azure_sorcerorAI>(creature);
}
@@ -1277,14 +1277,14 @@ public:
uint32 uiArcaneStreamTimerStartingValueHolder;
uint32 uiManaDetonationTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiArcaneStreamTimer = 4000;
uiArcaneStreamTimerStartingValueHolder = uiArcaneStreamTimer;
uiManaDetonationTimer = 5000;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
violet_hold_trashAI::UpdateAI(diff);
npc_escortAI::UpdateAI(diff);
@@ -1324,7 +1324,7 @@ public:
uint32 DespawnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
DespawnTimer = 3000;
@@ -1332,9 +1332,9 @@ public:
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
- void EnterCombat(Unit * /*who*/) OVERRIDE { }
+ void EnterCombat(Unit * /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (DespawnTimer <= diff)
me->Kill(me);
@@ -1343,7 +1343,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_violet_hold_arcane_sphereAI(creature);
}
@@ -1354,7 +1354,7 @@ class go_activation_crystal : public GameObjectScript
public:
go_activation_crystal() : GameObjectScript("go_activation_crystal") { }
- bool OnGossipHello(Player * /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player * /*player*/, GameObject* go) override
{
go->EventInform(EVENT_ACTIVATE_CRYSTAL);
return false;
diff --git a/src/server/scripts/Northrend/isle_of_conquest.cpp b/src/server/scripts/Northrend/isle_of_conquest.cpp
index 1149c58e561..8cdfce90bc9 100644
--- a/src/server/scripts/Northrend/isle_of_conquest.cpp
+++ b/src/server/scripts/Northrend/isle_of_conquest.cpp
@@ -33,7 +33,7 @@ class npc_four_car_garage : public CreatureScript
{
npc_four_car_garageAI(Creature* creature) : NullCreatureAI(creature) { }
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
{
if (apply)
{
@@ -64,7 +64,7 @@ class npc_four_car_garage : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_four_car_garageAI(creature);
}
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index f840c0562b3..c226edf28b8 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -44,6 +44,7 @@ EndContentData */
#include "Player.h"
#include "SpellInfo.h"
#include "WorldSession.h"
+#include "SpellScript.h"
/*######
## npc_sinkhole_kill_credit
@@ -73,14 +74,14 @@ public:
uint8 phase;
uint64 casterGuid;
- void Reset() OVERRIDE
+ void Reset() override
{
phaseTimer = 500;
phase = 0;
casterGuid = 0;
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (phase || spell->Id != SPELL_SET_CART)
return;
@@ -93,9 +94,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!phase)
return;
@@ -161,7 +162,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_sinkhole_kill_creditAI(creature);
}
@@ -186,7 +187,7 @@ public:
{
npc_khunok_the_behemothAI(Creature* creature) : ScriptedAI(creature) { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
@@ -208,7 +209,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_khunok_the_behemothAI(creature);
}
@@ -230,7 +231,7 @@ class npc_keristrasza : public CreatureScript
public:
npc_keristrasza() : CreatureScript("npc_keristrasza") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -243,7 +244,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -276,7 +277,7 @@ class npc_corastrasza : public CreatureScript
public:
npc_corastrasza() : CreatureScript("npc_corastrasza") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -288,7 +289,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -322,7 +323,7 @@ class npc_iruk : public CreatureScript
public:
npc_iruk() : CreatureScript("npc_iruk") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_SPIRITS_WATCH_OVER_US) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_I, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
@@ -331,7 +332,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -374,12 +375,12 @@ public:
{
npc_nerubar_victimAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Player* player = killer->ToPlayer();
if (!player)
@@ -399,7 +400,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nerubar_victimAI(creature);
}
@@ -435,7 +436,7 @@ public:
bool setCrateNumber;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!setCrateNumber)
setCrateNumber = true;
@@ -457,12 +458,12 @@ public:
}
}
- void DamageTaken(Unit* /*pDone_by*/, uint32& /*uiDamage*/) OVERRIDE
+ void DamageTaken(Unit* /*pDone_by*/, uint32& /*uiDamage*/) override
{
DoCast(me, SPELL_DROP_CRATE, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (setCrateNumber)
{
@@ -478,7 +479,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_jennyAI(creature);
}
@@ -497,7 +498,7 @@ public:
{
npc_fezzix_geartwistAI(Creature* creature) : ScriptedAI(creature) { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
@@ -518,7 +519,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fezzix_geartwistAI(creature);
}
@@ -572,7 +573,7 @@ public:
uint8 phase;
uint32 phaseTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetVisible(false);
phaseTimer = 2500;
@@ -580,11 +581,11 @@ public:
go_caribouGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (GameObject* go_caribou = me->GetMap()->GetGameObject(go_caribouGUID))
go_caribou->SetLootState(GO_JUST_DEACTIVATED);
@@ -599,7 +600,7 @@ public:
go_caribou->SetGoState(GO_STATE_READY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (phaseTimer <= diff)
{
@@ -663,7 +664,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nesingwary_trapperAI(creature);
}
@@ -700,7 +701,7 @@ public:
uint32 IntroTimer;
uint32 IntroPhase;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -709,7 +710,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -724,7 +725,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IntroPhase)
{
@@ -780,12 +781,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lurgglbrAI(creature);
}
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE_WINTERFIN_CAVERNS)
{
@@ -848,18 +849,18 @@ public:
uint64 HarpoonerGUID;
bool WithRedDragonBlood;
- void Reset() OVERRIDE
+ void Reset() override
{
WithRedDragonBlood = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->IsValidAttackTarget(who))
AttackStart(who);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DRAKE_HARPOON && caster->GetTypeId() == TYPEID_PLAYER)
{
@@ -869,7 +870,7 @@ public:
WithRedDragonBlood = true;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
FollowerAI::MoveInLineOfSight(who);
@@ -893,7 +894,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (WithRedDragonBlood && HarpoonerGUID && !me->HasAura(SPELL_RED_DRAGONBLOOD))
{
@@ -923,7 +924,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nexus_drake_hatchlingAI(creature);
}
@@ -997,7 +998,7 @@ public:
uint32 phase;
uint32 phaseTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
me->RemoveStandFlags(UNIT_STAND_STATE_SIT);
@@ -1016,7 +1017,7 @@ public:
phaseTimer = 0;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -1049,7 +1050,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -1084,7 +1085,7 @@ public:
case 2:
if (talbot)
{
- talbot->UpdateEntry(NPC_PRINCE_VALANAR, ALLIANCE);
+ talbot->UpdateEntry(NPC_PRINCE_VALANAR);
talbot->setFaction(14);
talbot->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
talbot->SetReactState(REACT_PASSIVE);
@@ -1227,7 +1228,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* talbot = me->GetCreature(*me, talbotGUID))
talbot->RemoveFromWorld();
@@ -1243,7 +1244,7 @@ public:
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -1256,7 +1257,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -1269,7 +1270,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_thassarianAI(creature);
}
@@ -1288,12 +1289,12 @@ public:
{
npc_image_lich_kingAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
}
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -1304,7 +1305,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_image_lich_kingAI(creature);
}
@@ -1323,7 +1324,7 @@ public:
{
npc_general_arlosAI(Creature* creature) : ScriptedAI(creature) { }
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -1336,7 +1337,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_general_arlosAI(creature);
}
@@ -1370,7 +1371,7 @@ public:
uint32 deflectionTimer;
uint32 soulBlastTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
leryssaGUID = 0;
arlosGUID = 0;
@@ -1379,7 +1380,7 @@ public:
deflectionTimer = urand(20000, 25000);
soulBlastTimer = urand(12000, 18000);
}
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -1389,7 +1390,7 @@ public:
CAST_AI(npc_thassarian::npc_thassarianAI, summoner->ToCreature()->AI())->talbotInPosition = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bCheck)
{
@@ -1427,7 +1428,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (!leryssaGUID || !arlosGUID)
return;
@@ -1451,7 +1452,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_counselor_talbotAI(creature);
}
@@ -1482,7 +1483,7 @@ public:
uint32 phase;
uint32 phaseTimer;
- void MovementInform(uint32 type, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 type, uint32 /*uiId*/) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -1511,7 +1512,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
ScriptedAI::UpdateAI(diff);
@@ -1580,7 +1581,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_leryssaAI(creature);
}
@@ -1611,37 +1612,36 @@ public:
bool bEnslaved;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetReactState(REACT_AGGRESSIVE);
bEnslaved = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->IsValidAttackTarget(who))
AttackStart(who);
}
- void SpellHit(Unit* pCaster, const SpellInfo* pSpell) OVERRIDE
+ void SpellHit(Unit* pCaster, const SpellInfo* pSpell) override
{
if (pSpell->Id == SPELL_ARCANE_CHAINS && pCaster->GetTypeId() == TYPEID_PLAYER && !HealthAbovePct(50) && !bEnslaved)
{
EnterEvadeMode(); //We make sure that the npc is not attacking the player!
me->SetReactState(REACT_PASSIVE);
- StartFollow(pCaster->ToPlayer(), 0, NULL);
- me->UpdateEntry(NPC_CAPTURED_BERLY_SORCERER, TEAM_NEUTRAL);
+ StartFollow(pCaster->ToPlayer());
+ me->UpdateEntry(NPC_CAPTURED_BERLY_SORCERER);
DoCast(me, SPELL_COSMETIC_ENSLAVE_CHAINS_SELF, true);
if (Player* player = pCaster->ToPlayer())
- player->KilledMonsterCredit(NPC_CAPTURED_BERLY_SORCERER, 0);
+ player->KilledMonsterCredit(NPC_CAPTURED_BERLY_SORCERER);
bEnslaved = true;
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
-
+ void MoveInLineOfSight(Unit* who) override
{
FollowerAI::MoveInLineOfSight(who);
@@ -1652,7 +1652,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -1661,7 +1661,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_beryl_sorcererAI(creature);
}
@@ -1696,7 +1696,7 @@ public:
uint32 rebuff;
- void Reset() OVERRIDE
+ void Reset() override
{
if (me->GetReactState() != REACT_PASSIVE)
me->SetReactState(REACT_PASSIVE);
@@ -1704,7 +1704,7 @@ public:
rebuff = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
UpdateVictim();
@@ -1722,11 +1722,11 @@ public:
DoMeleeAttackIfReady();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void SpellHit(Unit* unit, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* unit, const SpellInfo* spell) override
{
if (spell->Id == SPELL_NEURAL_NEEDLE && unit->GetTypeId() == TYPEID_PLAYER)
{
@@ -1771,7 +1771,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_imprisoned_beryl_sorcererAI(creature);
}
@@ -1797,7 +1797,7 @@ class npc_mootoo_the_younger : public CreatureScript
public:
npc_mootoo_the_younger() : CreatureScript("npc_mootoo_the_younger") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPING_THE_MIST)
{
@@ -1821,18 +1821,18 @@ public:
{
npc_mootoo_the_youngerAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
SetDespawnAtFar(false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player=GetPlayerForEscort())
player->FailQuest(QUEST_ESCAPING_THE_MIST);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -1863,7 +1863,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mootoo_the_youngerAI(creature);
}
@@ -1887,7 +1887,7 @@ class npc_bonker_togglevolt : public CreatureScript
public:
npc_bonker_togglevolt() : CreatureScript("npc_bonker_togglevolt") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_GET_ME_OUTA_HERE)
{
@@ -1903,19 +1903,19 @@ public:
npc_bonker_togglevoltAI(Creature* creature) : npc_escortAI(creature) { }
uint32 Bonker_agro;
- void Reset() OVERRIDE
+ void Reset() override
{
Bonker_agro=0;
SetDespawnAtFar(false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_GET_ME_OUTA_HERE);
}
- void UpdateEscortAI(const uint32 /*diff*/) OVERRIDE
+ void UpdateEscortAI(const uint32 /*diff*/) override
{
if (GetAttack() && UpdateVictim())
{
@@ -1929,7 +1929,7 @@ public:
else Bonker_agro=0;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -1944,7 +1944,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bonker_togglevoltAI(creature);
}
@@ -2003,7 +2003,7 @@ public:
uint32 uiTimer;
bool bStarted;
- void Reset() OVERRIDE
+ void Reset() override
{
uiTimer = 1500;
bStarted = false;
@@ -2020,14 +2020,13 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bStarted)
{
if (uiTimer <= diff)
{
- Position pos;
- me->GetRandomNearPosition(pos, 10.0f);
+ Position pos = me->GetRandomNearPosition(10.0f);
me->GetMotionMaster()->MovePoint(0, pos);
bStarted = false;
}
@@ -2035,13 +2034,13 @@ public:
}
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
if (param == 1)
bStarted = true;
}
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -2061,7 +2060,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_trapped_mammoth_calfAI(creature);
}
@@ -2089,7 +2088,7 @@ public:
{
npc_magmoth_crusherAI(Creature* creature) : ScriptedAI(creature) { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Player* player = killer->ToPlayer();
if (!player)
@@ -2106,7 +2105,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_magmoth_crusherAI(creature);
}
@@ -2137,12 +2136,12 @@ public:
uint32 uiExplosionTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiExplosionTimer = urand(5000, 10000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiExplosionTimer < diff)
{
@@ -2165,7 +2164,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_seaforium_depth_chargeAI(creature);
}
@@ -2192,12 +2191,12 @@ public:
uint32 uiTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiTimer = urand(13000, 18000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (uiTimer <= diff)
{
@@ -2216,7 +2215,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_valiance_keep_cannoneerAI(creature);
}
@@ -2250,16 +2249,16 @@ public:
uint32 m_uiTimer; //Timer until recast
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiTimer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (m_uiTimer <= uiDiff)
{
@@ -2321,7 +2320,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_warmage_coldarraAI(creature);
}
@@ -2377,7 +2376,7 @@ public:
uint64 uiPlayerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
if (uiEmoteState)
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, uiEmoteState);
@@ -2395,7 +2394,7 @@ public:
me->RestoreFaction();
}
- void DoAction(int32 /*iParam*/) OVERRIDE
+ void DoAction(int32 /*iParam*/) override
{
me->StopMoving();
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
@@ -2405,7 +2404,7 @@ public:
uiEventPhase = 1;
}
- void SetGUID(uint64 uiGuid, int32 /*iId*/) OVERRIDE
+ void SetGUID(uint64 uiGuid, int32 /*iId*/) override
{
uiPlayerGUID = uiGuid;
}
@@ -2414,10 +2413,10 @@ public:
{
me->setFaction(14);
if (Player* player = ObjectAccessor::GetPlayer(*me, uiPlayerGUID))
- me->AI()->AttackStart(player);
+ AttackStart(player);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (uiEventTimer && uiEventTimer <= uiDiff)
{
@@ -2478,12 +2477,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_hidden_cultistAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
uint32 uiGossipText = 0;
const char* charGossipItem;
@@ -2518,7 +2517,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
@@ -2537,6 +2536,39 @@ public:
};
+enum WindsoulTotemAura
+{
+ SPELL_WINDSOUL_CREDT = 46378
+};
+
+class spell_windsoul_totem_aura : public SpellScriptLoader
+{
+public:
+ spell_windsoul_totem_aura() : SpellScriptLoader("spell_windsoul_totem_aura") { }
+
+ class spell_windsoul_totem_aura_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_windsoul_totem_aura_AuraScript);
+
+ void OnRemove(AuraEffect const*, AuraEffectHandleModes)
+ {
+ if (GetTarget()->isDead())
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(NULL, SPELL_WINDSOUL_CREDT);
+ }
+
+ void Register() override
+ {
+ OnEffectRemove += AuraEffectRemoveFn(spell_windsoul_totem_aura_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_windsoul_totem_aura_AuraScript();
+ }
+};
+
void AddSC_borean_tundra()
{
new npc_sinkhole_kill_credit();
@@ -2565,4 +2597,5 @@ void AddSC_borean_tundra()
new npc_valiance_keep_cannoneer();
new npc_warmage_coldarra();
new npc_hidden_cultist();
+ new spell_windsoul_totem_aura();
}
diff --git a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
index 9023f02111f..a5ff2271316 100644
--- a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
+++ b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
@@ -58,12 +58,12 @@ public:
uint64 targetGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
targetGUID = 0;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (me->IsNonMeleeSpellCast(false))
return;
@@ -103,7 +103,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_warmage_violetstandAI(creature);
}
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index bfdbfcee2ef..30e86fc3b63 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -66,13 +66,13 @@ public:
creature->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, true);
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || !who->IsInWorld() || who->GetZoneId() != 4395)
@@ -120,10 +120,10 @@ public:
return;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mageguard_dalaranAI(creature);
}
diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp
index 7487c3c8828..bda6d953d9f 100644
--- a/src/server/scripts/Northrend/zone_dragonblight.cpp
+++ b/src/server/scripts/Northrend/zone_dragonblight.cpp
@@ -155,7 +155,7 @@ class npc_commander_eligor_dawnbringer : public CreatureScript
talkWing = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
talkWing = 0;
memset(audienceList, 0, sizeof(audienceList));
@@ -164,7 +164,7 @@ class npc_commander_eligor_dawnbringer : public CreatureScript
_events.ScheduleEvent(EVENT_START_RANDOM, 20000);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -289,7 +289,7 @@ class npc_commander_eligor_dawnbringer : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -382,7 +382,7 @@ class npc_alexstrasza_wr_gate : public CreatureScript
public:
npc_alexstrasza_wr_gate() : CreatureScript("npc_alexstrasza_wr_gate") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -394,7 +394,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -460,13 +460,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12096_q12092_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12096_q12092_dummy_SpellScript();
}
@@ -492,13 +492,13 @@ public:
lothalor->DespawnOrUnsummon(4000);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12096_q12092_bark_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12096_q12092_bark_SpellScript();
}
@@ -535,7 +535,7 @@ class npc_wyrmrest_defender : public CreatureScript
public:
npc_wyrmrest_defender() : CreatureScript("npc_wyrmrest_defender") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_DEFENDING_WYRMREST_TEMPLE) == QUEST_STATUS_INCOMPLETE)
{
@@ -548,7 +548,7 @@ class npc_wyrmrest_defender : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -571,7 +571,7 @@ class npc_wyrmrest_defender : public CreatureScript
uint32 RenewRecoveryChecker;
- void Reset() OVERRIDE
+ void Reset() override
{
hpWarningReady = true;
renewRecoveryCanCheck = false;
@@ -579,7 +579,7 @@ class npc_wyrmrest_defender : public CreatureScript
RenewRecoveryChecker = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// 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),
@@ -601,7 +601,7 @@ class npc_wyrmrest_defender : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -625,7 +625,7 @@ class npc_wyrmrest_defender : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wyrmrest_defenderAI(creature);
}
@@ -654,16 +654,17 @@ class npc_torturer_lecraft : public CreatureScript
{
npc_torturer_lecraftAI(Creature* creature) : ScriptedAI(creature)
{
+ _textCounter = 1;
_playerGUID = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_textCounter = 1;
_playerGUID = 0;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_events.ScheduleEvent(EVENT_HEMORRHAGE, urand(5000, 8000));
_events.ScheduleEvent(EVENT_KIDNEY_SHOT, urand(12000, 15000));
@@ -672,7 +673,7 @@ class npc_torturer_lecraft : public CreatureScript
Talk (SAY_AGGRO, player);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id != SPELL_HIGH_EXECUTORS_BRANDING_IRON)
return;
@@ -697,7 +698,7 @@ class npc_torturer_lecraft : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index 112d42441b9..e98d424abd5 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -64,7 +64,7 @@ public:
{
npc_emilyAI(Creature* creature) : npc_escortAI(creature) { }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Creature* Mrfloppy = GetClosestCreatureWithEntry(me, NPC_MRFLOPPY, 50.0f))
summoned->AI()->AttackStart(Mrfloppy);
@@ -72,7 +72,7 @@ public:
summoned->AI()->AttackStart(me->GetVictim());
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -173,12 +173,12 @@ public:
}
}
- void EnterCombat(Unit* /*Who*/) OVERRIDE
+ void EnterCombat(Unit* /*Who*/) override
{
Talk(SAY_RANDOMAGGRO);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_mrfloppyGUID = 0;
_RavenousworgGUID = 0;
@@ -189,7 +189,7 @@ public:
uint64 _mrfloppyGUID;
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_PERILOUS_ADVENTURE)
{
@@ -203,7 +203,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_emilyAI(creature);
}
@@ -219,9 +219,9 @@ public:
{
npc_mrfloppyAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* Who) OVERRIDE
+ void EnterCombat(Unit* Who) override
{
if (Creature* Emily = GetClosestCreatureWithEntry(me, NPC_EMILY, 50.0f))
{
@@ -239,19 +239,19 @@ public:
}
}
- void EnterEvadeMode() OVERRIDE { }
+ void EnterEvadeMode() override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mrfloppyAI(creature);
}
@@ -281,19 +281,19 @@ public:
{
npc_outhouse_bunnyAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_counter = 0;
_gender = 0;
}
- void SetData(uint32 Type, uint32 Data) OVERRIDE
+ void SetData(uint32 Type, uint32 Data) override
{
if (Type == 1)
_gender = Data;
}
- void SpellHit(Unit* Caster, const SpellInfo* Spell) OVERRIDE
+ void SpellHit(Unit* Caster, const SpellInfo* Spell) override
{
if (Spell->Id == SPELL_OUTHOUSE_GROANS)
{
@@ -320,7 +320,7 @@ public:
uint8 _gender;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_outhouse_bunnyAI(creature);
}
@@ -343,12 +343,12 @@ public:
{
npc_tallhorn_stagAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_phase = 1;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (_phase == 1)
{
@@ -366,7 +366,7 @@ public:
uint8 _phase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_tallhorn_stagAI(creature);
}
@@ -395,7 +395,7 @@ public:
{
npc_amberpine_woodsmanAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
if (me->FindNearestCreature(NPC_TALLHORN_STAG, 0.2f))
{
@@ -405,7 +405,7 @@ public:
_events.ScheduleEvent(EVENT_WOODSMAN_1, 0);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -431,7 +431,7 @@ public:
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_amberpine_woodsmanAI(creature);
}
@@ -461,19 +461,19 @@ public:
{
npc_wounded_skirmisherAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_despawnTimer = 5000;
_playerGUID = 0;
}
- void MovementInform(uint32, uint32 id) OVERRIDE
+ void MovementInform(uint32, uint32 id) override
{
if (id == 1)
me->DespawnOrUnsummon(_despawnTimer);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_RENEW_SKIRMISHER && caster->GetTypeId() == TYPEID_PLAYER
&& caster->ToPlayer()->GetQuestStatus(QUEST_OVERWHELMED) == QUEST_STATUS_INCOMPLETE)
@@ -490,7 +490,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -502,7 +502,7 @@ public:
uint32 _despawnTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wounded_skirmisherAI(creature);
}
@@ -540,7 +540,7 @@ public:
{
npc_venture_co_stragglerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_playerGUID = 0;
@@ -548,7 +548,7 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -590,7 +590,7 @@ public:
DoMeleeAttackIfReady();
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_SMOKE_BOMB && caster->GetTypeId() == TYPEID_PLAYER)
{
@@ -607,7 +607,7 @@ public:
uint64 _playerGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_venture_co_stragglerAI(creature);
}
@@ -655,7 +655,7 @@ public:
{
npc_lake_frogAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_following = false;
_runningScript = false;
@@ -663,7 +663,7 @@ public:
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_following)
if (!me->HasAura(SPELL_FROG_LOVE))
@@ -702,7 +702,7 @@ public:
}
}
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
if (_following || _runningScript)
return;
@@ -732,7 +732,7 @@ public:
}
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
DoCast(player, SPELL_SUMMON_ASHWOOD_BRAND);
}
@@ -743,7 +743,7 @@ public:
bool _runningScript;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lake_frogAI(creature);
}
@@ -763,7 +763,7 @@ class spell_shredder_delivery : public SpellScriptLoader
{
PrepareSpellScript(spell_shredder_delivery_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -774,13 +774,13 @@ class spell_shredder_delivery : public SpellScriptLoader
GetCaster()->ToCreature()->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_shredder_delivery_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_shredder_delivery_SpellScript();
}
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 798801041f4..c577fb2864f 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -54,7 +54,7 @@ class npc_apothecary_hanes : public CreatureScript
public:
npc_apothecary_hanes() : CreatureScript("npc_apothecary_hanes") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_TRAIL_OF_FIRE)
{
@@ -77,19 +77,19 @@ public:
npc_Apothecary_HanesAI(Creature* creature) : npc_escortAI(creature){ }
uint32 PotTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
SetDespawnAtFar(false);
PotTimer = 10000; //10 sec cooldown on potion
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_TRAIL_OF_FIRE);
}
- void UpdateEscortAI(const uint32 diff) OVERRIDE
+ void UpdateEscortAI(const uint32 diff) override
{
if (HealthBelowPct(75))
{
@@ -103,7 +103,7 @@ public:
DoMeleeAttackIfReady();
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -153,7 +153,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_Apothecary_HanesAI(creature);
}
@@ -177,7 +177,7 @@ public:
{
npc_plaguehound_trackerAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
uint64 summonerGUID = 0;
@@ -193,7 +193,7 @@ public:
Start(false, false, summonerGUID);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
if (waypointId != 26)
return;
@@ -202,7 +202,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_plaguehound_trackerAI(creature);
}
@@ -231,7 +231,7 @@ class npc_razael_and_lyana : public CreatureScript
public:
npc_razael_and_lyana() : CreatureScript("npc_razael_and_lyana") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -260,7 +260,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -304,7 +304,7 @@ class npc_daegarn : public CreatureScript
public:
npc_daegarn() : CreatureScript("npc_daegarn") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_DEFEAT_AT_RING)
{
@@ -323,7 +323,7 @@ public:
bool bEventInProgress;
uint64 uiPlayerGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
bEventInProgress = false;
uiPlayerGUID = 0;
@@ -339,7 +339,7 @@ public:
SummonGladiator(NPC_FIRJUS);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (Player* player = ObjectAccessor::GetPlayer(*me, uiPlayerGUID))
{
@@ -360,7 +360,7 @@ public:
me->SummonCreature(uiEntry, afSummon[0], afSummon[1], afSummon[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30*IN_MILLISECONDS);
}
- void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) override
{
uint32 uiEntry = 0;
@@ -377,7 +377,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_daegarnAI(creature);
}
@@ -397,12 +397,12 @@ public:
{
npc_mindless_abominationAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_CHECK_CHARMED, 1000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -424,7 +424,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mindless_abominationAI(creature);
}
@@ -445,7 +445,7 @@ class spell_mindless_abomination_explosion_fx_master : public SpellScriptLoader
{
PrepareSpellScript(spell_mindless_abomination_explosion_fx_master_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON) || !sSpellMgr->GetSpellInfo(SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE))
return false;
@@ -458,21 +458,21 @@ class spell_mindless_abomination_explosion_fx_master : public SpellScriptLoader
if (!caster)
return;
- caster->AI()->DoCast(caster, SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE);
+ caster->CastSpell(caster, SPELL_COSMETIC_BLOOD_EXPLOSION_GREEN_LARGE);
for (uint8 i = 0; i < 10; ++i)
- caster->AI()->DoCast(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
+ caster->CastSpell(caster, SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON);
caster->DespawnOrUnsummon(4000);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_mindless_abomination_explosion_fx_master_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mindless_abomination_explosion_fx_master_SpellScript();
}
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index f7894c58b3e..93e1f19b195 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -46,7 +46,7 @@ class npc_squire_david : public CreatureScript
public:
npc_squire_david() : CreatureScript("npc_squire_david") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_THE_ASPIRANT_S_CHALLENGE_H) == QUEST_STATUS_INCOMPLETE ||
player->GetQuestStatus(QUEST_THE_ASPIRANT_S_CHALLENGE_A) == QUEST_STATUS_INCOMPLETE)//We need more info about it.
@@ -59,7 +59,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -98,13 +98,13 @@ public:
uint32 uiChargeTimer;
uint32 uiShieldBreakerTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiChargeTimer = 7000;
uiShieldBreakerTimer = 10000;
}
- void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 uiType, uint32 /*uiId*/) override
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -112,7 +112,7 @@ public:
me->setFaction(14);
}
- void DamageTaken(Unit* pDoneBy, uint32& uiDamage) OVERRIDE
+ void DamageTaken(Unit* pDoneBy, uint32& uiDamage) override
{
if (uiDamage > me->GetHealth() && pDoneBy->GetTypeId() == TYPEID_PLAYER)
{
@@ -125,7 +125,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
if (!UpdateVictim())
return;
@@ -146,7 +146,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_argent_valiantAI(creature);
}
@@ -177,7 +177,7 @@ public:
SetCombatMovement(false);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->GetAreaId() != AREA_SUNREAVER_PAVILION && me->GetAreaId() != AREA_SILVER_COVENANT_PAVILION)
@@ -197,7 +197,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_guardian_pavilionAI(creature);
}
@@ -223,7 +223,7 @@ public:
{
npc_vereth_the_cunningAI(Creature* creature) : ScriptedAI(creature) { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
ScriptedAI::MoveInLineOfSight(who);
@@ -243,7 +243,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_vereth_the_cunningAI(creature);
}
@@ -291,7 +291,7 @@ class npc_tournament_training_dummy : public CreatureScript
EventMap events;
bool isVulnerable;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetControlled(true, UNIT_STATE_STUNNED);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
@@ -312,7 +312,7 @@ class npc_tournament_training_dummy : public CreatureScript
events.ScheduleEvent(EVENT_DUMMY_RECAST_DEFEND, 5000);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!_EnterEvadeMode())
return;
@@ -320,13 +320,13 @@ class npc_tournament_training_dummy : public CreatureScript
Reset();
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
damage = 0;
events.RescheduleEvent(EVENT_DUMMY_RESET, 10000);
}
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
switch (me->GetEntry())
{
@@ -356,7 +356,7 @@ class npc_tournament_training_dummy : public CreatureScript
isVulnerable = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -398,11 +398,11 @@ class npc_tournament_training_dummy : public CreatureScript
me->SetControlled(true, UNIT_STATE_STUNNED);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_tournament_training_dummyAI(creature);
}
@@ -523,31 +523,31 @@ public:
uint64 guidMason[3];
uint64 guidHalof;
- void Reset() OVERRIDE
+ void Reset() override
{
me->setRegeneratingHealth(false);
DoCast(SPELL_THREAT_PULSE);
- me->AI()->Talk(BANNER_SAY);
+ Talk(BANNER_SAY);
events.ScheduleEvent(EVENT_SPAWN, 3000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void JustSummoned(Creature* Summoned) OVERRIDE
+ void JustSummoned(Creature* Summoned) override
{
Summons.Summon(Summoned);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Summons.DespawnAll();
me->DespawnOrUnsummon();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -778,7 +778,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_blessed_bannerAI(creature);
}
@@ -816,12 +816,12 @@ class npc_frostbrood_skytalon : public CreatureScript
EventMap events;
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
me->GetMotionMaster()->MovePoint(POINT_GRAB_DECOY, summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -832,7 +832,7 @@ class npc_frostbrood_skytalon : public CreatureScript
DoCast(summoner, SPELL_GRAB);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
VehicleAI::UpdateAI(diff);
events.Update(diff);
@@ -849,7 +849,7 @@ class npc_frostbrood_skytalon : public CreatureScript
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
switch (spell->Id)
{
@@ -864,7 +864,7 @@ class npc_frostbrood_skytalon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_frostbrood_skytalonAI(creature);
}
@@ -914,7 +914,7 @@ class npc_margrave_dhakar : public CreatureScript
{
npc_margrave_dhakarAI(Creature* creature) : ScriptedAI(creature) , _summons(me), _lichKingGuid(0) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
@@ -923,7 +923,7 @@ class npc_margrave_dhakar : public CreatureScript
_summons.DespawnAll();
}
- void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 action) override
{
if (player->GetQuestStatus(QUEST_FLESH_GIANT_CHAMPION) == QUEST_STATUS_INCOMPLETE && !player->IsInCombat())
{
@@ -935,7 +935,7 @@ class npc_margrave_dhakar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -1029,7 +1029,7 @@ class npc_margrave_dhakar : public CreatureScript
uint64 _lichKingGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_margrave_dhakarAI(creature);
}
@@ -1044,7 +1044,7 @@ class npc_morbidus : public CreatureScript
{
npc_morbidusAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
if (Creature* dhakar = me->FindNearestCreature(NPC_DHAKAR, 50.0f, true))
dhakar->AI()->Reset();
@@ -1056,7 +1056,7 @@ class npc_morbidus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_morbidusAI(creature);
}
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 0298500e790..3ec138dcfaa 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -67,7 +67,7 @@ public:
uint64 c_guid;
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
// if we will have other way to assign this to only one npc remove this part
@@ -78,7 +78,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -115,7 +115,7 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -128,7 +128,7 @@ public:
}
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -141,7 +141,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -162,13 +162,13 @@ public:
return true;
}
- bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* /*_Quest*/) OVERRIDE
+ bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* /*_Quest*/) override
{
creature->AI()->Talk(SAY_QUEST_ACCEPT_IRO);
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_injured_rainspeaker_oracleAI(creature);
}
@@ -198,7 +198,7 @@ class npc_vekjik : public CreatureScript
public:
npc_vekjik() : CreatureScript("npc_vekjik") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -214,7 +214,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -259,7 +259,7 @@ class npc_avatar_of_freya : public CreatureScript
public:
npc_avatar_of_freya() : CreatureScript("npc_avatar_of_freya") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -271,7 +271,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -308,7 +308,7 @@ public:
{
}
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
if (me->isDead())
return;
@@ -320,7 +320,7 @@ public:
Reset();
}
- void UpdateAI(uint32 /*uiDiff*/) OVERRIDE
+ void UpdateAI(uint32 /*uiDiff*/) override
{
if (!UpdateVictim())
return;
@@ -329,7 +329,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bushwhackerAI(creature);
}
@@ -369,7 +369,7 @@ public:
uint32 m_uiChatTimer;
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
@@ -408,12 +408,12 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiChatTimer = 4000;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -422,7 +422,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -438,12 +438,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_engineer_heliceAI(creature);
}
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_DISASTER)
{
@@ -504,7 +504,7 @@ public:
{
npc_jungle_punch_targetAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
sayTimer = 3500;
sayStep = 0;
@@ -514,7 +514,7 @@ public:
orphanGUID = 0;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!phase && who && who->GetDistance2d(me) < 10.0f)
if (Player* player = who->ToPlayer())
@@ -579,7 +579,7 @@ public:
timer -= diff;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (phase)
proceedCwEvent(diff);
@@ -600,7 +600,7 @@ public:
sayTimer -= diff;
}
- void SpellHit(Unit* caster, SpellInfo const* spellInfo) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
{
if (spellInfo->Id != SPELL_OFFER)
return;
@@ -641,7 +641,7 @@ public:
uint64 orphanGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_jungle_punch_targetAI(creature);
}
@@ -686,12 +686,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_adventurous_dwarfAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_12634) != QUEST_STATUS_INCOMPLETE)
return false;
@@ -709,7 +709,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
uint32 spellId = 0;
@@ -804,13 +804,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q12620_the_lifewarden_wrath_SpellScript::HandleSendEvent, EFFECT_0, SPELL_EFFECT_SEND_EVENT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12620_the_lifewarden_wrath_SpellScript();
}
@@ -927,14 +927,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_q12589_shoot_rjr_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_q12589_shoot_rjr_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12589_shoot_rjr_SpellScript();
}
@@ -964,7 +964,7 @@ public:
{
npc_haiphoonAI(Creature* creature) : VehicleAI(creature) { }
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (target == me)
return;
@@ -980,7 +980,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_haiphoonAI(creature);
}
@@ -1003,7 +1003,7 @@ enum ReconnaissanceFlight
VIC_SAY_6 = 6,
PLANE_EMOTE = 0,
- AURA_ENGINE = 52255, // Engine on Fire
+ SPELL_ENGINE = 52255, // Engine on Fire
SPELL_LAND = 52226, // Land Flying Machine
SPELL_CREDIT = 53328 // Land Flying Machine Credit
@@ -1018,13 +1018,20 @@ public:
{
npc_vics_flying_machineAI(Creature* creature) : VehicleAI(creature) { }
- void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* passenger, int8 /*seatId*/, bool apply) override
{
if (apply && passenger->GetTypeId() == TYPEID_PLAYER)
+ {
+ /// @workaround - Because accessory gets unmounted when using vehicle_template_accessory.
+ /// When vehicle spawns accessory is mounted to seat 0,but when player mounts
+ /// he uses the same seat (instead of mounting to seat 1) kicking the accessory out.
+ passenger->ChangeSeat(1, false);
+ me->GetVehicleKit()->InstallAccessory(NPC_PILOT, 0, true, TEMPSUMMON_DEAD_DESPAWN, 0);
me->GetMotionMaster()->MovePath(NPC_PLANE, false);
+ }
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != WAYPOINT_MOTION_TYPE)
return;
@@ -1054,13 +1061,14 @@ public:
pilot->AI()->Talk(VIC_SAY_6);
break;
case 25:
- me->AI()->Talk(PLANE_EMOTE);
- me->AI()->DoCast(AURA_ENGINE);
+ Talk(PLANE_EMOTE);
+ DoCast(SPELL_ENGINE);
+ me->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FORCE_MOVEMENT);
break;
}
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_LAND)
{
@@ -1073,10 +1081,10 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_vics_flying_machineAI(creature);
}
@@ -1121,13 +1129,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_shango_tracks_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_shango_tracks_SpellScript();
}
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index 70de4d4758d..a7faf776721 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -48,7 +48,7 @@ public:
{
npc_injured_goblinAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -65,18 +65,18 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Player* player = GetPlayerForEscort();
if (HasEscortState(STATE_ESCORT_ESCORTING) && player)
player->FailQuest(QUEST_BITTER_DEPARTURE);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
if (!UpdateVictim())
@@ -84,7 +84,7 @@ public:
DoMeleeAttackIfReady();
}
- void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 sender, uint32 action) override
{
if (sender == GOSSIP_ID && action == GOSSIP_OPTION_ID)
{
@@ -95,12 +95,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_injured_goblinAI(creature);
}
- bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_BITTER_DEPARTURE)
creature->AI()->Talk(SAY_QUEST_ACCEPT);
@@ -124,7 +124,7 @@ class npc_roxi_ramrocket : public CreatureScript
public:
npc_roxi_ramrocket() : CreatureScript("npc_roxi_ramrocket") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
//Quest Menu
if (creature->IsQuestGiver())
@@ -143,7 +143,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -183,18 +183,18 @@ public:
bool freed;
- void Reset() OVERRIDE
+ void Reset() override
{
freed = false;
me->CastSpell(me, SPELL_ICE_PRISON, true);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!freed)
return;
@@ -203,7 +203,7 @@ public:
me->DespawnOrUnsummon();
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id != SPELL_ICE_LANCE)
return;
@@ -218,7 +218,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_brunnhildar_prisonerAI(creature);
}
@@ -255,12 +255,12 @@ public:
EventMap events;
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_CHECK_AREA, 5000);
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != WAYPOINT_MOTION_TYPE)
return;
@@ -270,7 +270,7 @@ public:
events.ScheduleEvent(EVENT_REACHED_HOME, 2000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -290,28 +290,29 @@ public:
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 (Vehicle* vehicle = me->GetVehicleKit())
+ if (Unit* player = vehicle->GetPassenger(0))
+ if (player->GetTypeId() == TYPEID_PLAYER)
{
- if (prisoner->GetTypeId() != TYPEID_UNIT)
- return;
- prisoner->CastSpell(player, SPELL_KILL_CREDIT_PRISONER, true);
- prisoner->CastSpell(prisoner, SPELL_SUMMON_LIBERATED, true);
- prisoner->ExitVehicle();
+ // 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();
}
- me->CastSpell(me, SPELL_KILL_CREDIT_DRAKE, true);
- player->ExitVehicle();
- }
break;
}
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_freed_protodrakeAI(creature);
}
@@ -326,11 +327,11 @@ public:
{
npc_icefangAI(Creature* creature) : npc_escortAI(creature) { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void EnterEvadeMode() OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void EnterEvadeMode() override { }
- void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seatId*/, bool apply) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
{
@@ -339,11 +340,11 @@ public:
}
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE { }
- void JustDied(Unit* /*killer*/) OVERRIDE { }
- void OnCharmed(bool /*apply*/) OVERRIDE { }
+ void WaypointReached(uint32 /*waypointId*/) override { }
+ void JustDied(Unit* /*killer*/) override { }
+ void OnCharmed(bool /*apply*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -352,7 +353,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_icefangAI(creature);
}
@@ -373,7 +374,7 @@ class npc_hyldsmeet_protodrake : public CreatureScript
public:
npc_hyldsmeet_protodrakeAI(Creature* creature) : CreatureAI(creature), _accessoryRespawnTimer(0), _vehicleKit(creature->GetVehicleKit()) { }
- void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) override
{
if (apply)
return;
@@ -382,7 +383,7 @@ class npc_hyldsmeet_protodrake : public CreatureScript
_accessoryRespawnTimer = 5 * MINUTE * IN_MILLISECONDS;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//! 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.
@@ -400,7 +401,7 @@ class npc_hyldsmeet_protodrake : public CreatureScript
Vehicle* _vehicleKit;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_hyldsmeet_protodrakeAI(creature);
}
@@ -453,10 +454,13 @@ public:
{
npc_brann_bronzebeard_keystoneAI(Creature* creature) : ScriptedAI(creature)
{
+ memset(&objectGUID, 0, sizeof(objectGUID));
+ playerGUID = 0;
+ voiceGUID = 0;
objectCounter = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
memset(&objectGUID, 0, sizeof(objectGUID));
playerGUID = 0;
@@ -464,14 +468,14 @@ public:
objectCounter = 0;
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
playerGUID = player->GetGUID();
events.ScheduleEvent(EVENT_SCRIPT_1, 100);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -500,7 +504,7 @@ public:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
{
- voice->AI()->DoCast(voice, SPELL_RESURRECTION);
+ voice->CastSpell(voice, SPELL_RESURRECTION);
if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
voice->AI()->Talk(SAY_VOICE_1, player);
}
@@ -542,7 +546,7 @@ public:
break;
case EVENT_SCRIPT_9:
if (Creature* voice = ObjectAccessor::GetCreature(*me, voiceGUID))
- voice->AI()->DoCast(voice, SPELL_RESURRECTION);
+ voice->CastSpell(voice, SPELL_RESURRECTION);
events.ScheduleEvent(EVENT_SCRIPT_10, 6000);
break;
case EVENT_SCRIPT_10:
@@ -585,7 +589,7 @@ public:
uint8 objectCounter;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_brann_bronzebeard_keystoneAI(creature);
}
@@ -639,18 +643,19 @@ public:
{
npc_king_jokkum_vehicleAI(Creature* creature) : VehicleAI(creature)
{
+ playerGUID = 0;
pathEnd = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
playerGUID = 0;
pathEnd = false;
}
- void OnCharmed(bool /*apply*/) OVERRIDE { }
+ void OnCharmed(bool /*apply*/) override { }
- void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) OVERRIDE
+ void PassengerBoarded(Unit* who, int8 /*seat*/, bool apply) override
{
if (apply)
{
@@ -662,7 +667,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != WAYPOINT_MOTION_TYPE)
return;
@@ -689,7 +694,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!pathEnd)
return;
@@ -715,7 +720,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_king_jokkum_vehicleAI(creature);
}
@@ -729,7 +734,7 @@ class spell_jokkum_scriptcast : public SpellScriptLoader
{
PrepareAuraScript(spell_jokkum_scriptcast_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_JOKKUM_SUMMON))
return false;
@@ -742,13 +747,13 @@ class spell_jokkum_scriptcast : public SpellScriptLoader
target->CastSpell(target, SPELL_JOKKUM_SUMMON, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_jokkum_scriptcast_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_jokkum_scriptcast_AuraScript();
}
@@ -762,7 +767,7 @@ class spell_veranus_summon : public SpellScriptLoader
{
PrepareAuraScript(spell_veranus_summon_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_VERANUS_AND_THORIM))
return false;
@@ -775,49 +780,18 @@ class spell_veranus_summon : public SpellScriptLoader
target->CastSpell(target, SPELL_SUMMON_VERANUS_AND_THORIM, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_veranus_summon_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_veranus_summon_AuraScript();
}
};
-/*#####
-# spell_jokkum_eject_all
-#####*/
-
-class spell_jokkum_eject_all : public SpellScriptLoader
-{
- public: spell_jokkum_eject_all() : SpellScriptLoader("spell_jokkum_eject_all") { }
-
- class spell_jokkum_eject_all_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_jokkum_eject_all_SpellScript);
-
- void HandleScriptEffect(SpellEffIndex /* effIndex */)
- {
- if (Unit* caster = GetCaster())
- if (caster->IsVehicle())
- caster->GetVehicleKit()->RemoveAllPassengers();
- }
-
- void Register() OVERRIDE
- {
- OnEffectHitTarget += SpellEffectFn(spell_jokkum_eject_all_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
- };
-
- SpellScript* GetSpellScript() const OVERRIDE
- {
- return new spell_jokkum_eject_all_SpellScript();
- }
-};
-
enum CloseRift
{
SPELL_DESPAWN_RIFT = 61665
@@ -832,13 +806,13 @@ class spell_close_rift : public SpellScriptLoader
{
PrepareAuraScript(spell_close_rift_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_counter = 0;
return true;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
return sSpellMgr->GetSpellInfo(SPELL_DESPAWN_RIFT);
}
@@ -849,7 +823,7 @@ class spell_close_rift : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, SPELL_DESPAWN_RIFT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_close_rift_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
@@ -859,7 +833,7 @@ class spell_close_rift : public SpellScriptLoader
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_close_rift_AuraScript();
}
@@ -877,6 +851,5 @@ void AddSC_storm_peaks()
new npc_king_jokkum_vehicle();
new spell_jokkum_scriptcast();
new spell_veranus_summon();
- new spell_jokkum_eject_all();
new spell_close_rift();
}
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index e218741649d..fe74997bb39 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -115,7 +115,7 @@ class npc_wg_demolisher_engineer : public CreatureScript
public:
npc_wg_demolisher_engineer() : CreatureScript("npc_wg_demolisher_engineer") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -138,7 +138,7 @@ class npc_wg_demolisher_engineer : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->CLOSE_GOSSIP_MENU();
@@ -186,7 +186,7 @@ class npc_wg_spirit_guide : public CreatureScript
public:
npc_wg_spirit_guide() : CreatureScript("npc_wg_spirit_guide") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -204,7 +204,7 @@ class npc_wg_spirit_guide : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->CLOSE_GOSSIP_MENU();
@@ -224,14 +224,14 @@ class npc_wg_spirit_guide : public CreatureScript
{
npc_wg_spirit_guideAI(Creature* creature) : ScriptedAI(creature) { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!me->HasUnitState(UNIT_STATE_CASTING))
DoCast(me, SPELL_CHANNEL_SPIRIT_HEAL);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wg_spirit_guideAI(creature);
}
@@ -256,14 +256,14 @@ class npc_wg_queue : public CreatureScript
uint32 FrostArmor_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
FrostArmor_Timer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (FrostArmor_Timer <= diff)
{
@@ -276,12 +276,12 @@ class npc_wg_queue : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wg_queueAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -310,7 +310,7 @@ class npc_wg_queue : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
@@ -339,7 +339,7 @@ class go_wg_vehicle_teleporter : public GameObjectScript
{
go_wg_vehicle_teleporterAI(GameObject* gameObject) : GameObjectAI(gameObject), _checkTimer(1000) { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_checkTimer <= diff)
{
@@ -360,7 +360,7 @@ class go_wg_vehicle_teleporter : public GameObjectScript
uint32 _checkTimer;
};
- GameObjectAI* GetAI(GameObject* go) const OVERRIDE
+ GameObjectAI* GetAI(GameObject* go) const override
{
return new go_wg_vehicle_teleporterAI(go);
}
@@ -371,7 +371,7 @@ class npc_wg_quest_giver : public CreatureScript
public:
npc_wg_quest_giver() : CreatureScript("npc_wg_quest_giver") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
if (!wintergrasp)
@@ -483,7 +483,7 @@ class spell_wintergrasp_force_building : public SpellScriptLoader
{
PrepareSpellScript(spell_wintergrasp_force_building_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BUILD_CATAPULT_FORCE)
|| !sSpellMgr->GetSpellInfo(SPELL_BUILD_DEMOLISHER_FORCE)
@@ -499,13 +499,13 @@ class spell_wintergrasp_force_building : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), GetEffectValue(), false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_wintergrasp_force_building_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wintergrasp_force_building_SpellScript();
}
@@ -526,13 +526,13 @@ class spell_wintergrasp_grab_passenger : public SpellScriptLoader
target->CastSpell(GetCaster(), SPELL_RIDE_WG_VEHICLE, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_wintergrasp_grab_passenger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wintergrasp_grab_passenger_SpellScript();
}
@@ -543,7 +543,7 @@ class achievement_wg_didnt_stand_a_chance : public AchievementCriteriaScript
public:
achievement_wg_didnt_stand_a_chance() : AchievementCriteriaScript("achievement_wg_didnt_stand_a_chance") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (!target)
return false;
@@ -586,13 +586,13 @@ public:
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_wintergrasp_defender_teleport_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wintergrasp_defender_teleport_SpellScript();
}
@@ -611,19 +611,18 @@ public:
{
if (Unit* target = GetHitUnit())
{
- WorldLocation loc;
- target->GetPosition(&loc);
+ WorldLocation loc = target->GetWorldLocation();
SetExplTargetDest(loc);
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_wintergrasp_defender_teleport_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_wintergrasp_defender_teleport_trigger_SpellScript();
}
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 8f5ae0f65ff..78b9a99b2e4 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -49,7 +49,7 @@ public:
{
npc_drakuru_shacklesAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_rageclawGUID = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -85,7 +85,7 @@ public:
me->setDeathState(DEAD);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_UNLOCK_SHACKLE)
{
@@ -107,7 +107,7 @@ public:
uint64 _rageclawGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_drakuru_shacklesAI(creature);
}
@@ -133,22 +133,22 @@ public:
{
npc_captured_rageclawAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->setFaction(35);
DoCast(me, SPELL_KNEEL, true); // Little Hack for kneel - Thanks Illy :P
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_FREE_RAGECLAW)
{
me->RemoveAurasDueToSpell(SPELL_LEFT_CHAIN);
me->RemoveAurasDueToSpell(SPELL_RIGHT_CHAIN);
me->RemoveAurasDueToSpell(SPELL_KNEEL);
- me->setFaction(me->GetCreatureTemplate()->faction_H);
+ me->setFaction(me->GetCreatureTemplate()->faction);
DoCast(me, SPELL_UNSHACKLED, true);
Talk(SAY_RAGECLAW);
me->GetMotionMaster()->MoveRandom(10);
@@ -157,7 +157,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_captured_rageclawAI(creature);
}
@@ -177,14 +177,14 @@ public:
{
npc_released_offspring_harkoaAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
float x, y, z;
me->GetClosePoint(x, y, z, me->GetObjectSize() / 3, 25.0f);
me->GetMotionMaster()->MovePoint(0, x, y, z);
}
- void MovementInform(uint32 Type, uint32 /*uiId*/) OVERRIDE
+ void MovementInform(uint32 Type, uint32 /*uiId*/) override
{
if (Type != POINT_MOTION_TYPE)
return;
@@ -192,7 +192,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_released_offspring_harkoaAI(creature);
}
@@ -224,14 +224,14 @@ public:
{
npc_crusade_recruitAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
_heading = me->GetOrientation();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -259,7 +259,7 @@ public:
return;
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
_events.ScheduleEvent(EVENT_RECRUIT_1, 100);
player->CLOSE_GOSSIP_MENU();
@@ -272,7 +272,7 @@ public:
float _heading; // Store creature heading
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_crusade_recruitAI(creature);
}
@@ -295,7 +295,7 @@ class go_scourge_enclosure : public GameObjectScript
public:
go_scourge_enclosure() : GameObjectScript("go_scourge_enclosure") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_OUR_ONLY_HOPE) == QUEST_STATUS_INCOMPLETE)
@@ -453,16 +453,20 @@ public:
struct npc_alchemist_finklesteinAI : public ScriptedAI
{
- npc_alchemist_finklesteinAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_alchemist_finklesteinAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _playerGUID = 0;
+ _getingredienttry = 0;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
_playerGUID = 0;
_getingredienttry = 0;
_events.ScheduleEvent(EVENT_TURN_TO_POT, urand(15000, 26000));
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == 1 && data == 1)
switch (_getingredienttry)
@@ -485,7 +489,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -541,7 +545,7 @@ public:
}
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
DoCast(player, SPELL_ALCHEMIST_APPRENTICE_INVISBUFF);
@@ -556,7 +560,7 @@ public:
uint8 _getingredienttry;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_alchemist_finklesteinAI(creature);
}
@@ -567,7 +571,7 @@ class go_finklesteins_cauldron : public GameObjectScript
public:
go_finklesteins_cauldron() : GameObjectScript("go_finklesteins_cauldron") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
player->CastSpell(player, SPELL_POT_CHECK);
return true;
@@ -611,7 +615,7 @@ class spell_random_ingredient_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_random_ingredient_aura_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_EASY) || !sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_MEDIUM) || !sSpellMgr->GetSpellInfo(SPELL_RANDOM_INGREDIENT_HARD))
return false;
@@ -634,13 +638,13 @@ class spell_random_ingredient_aura : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_random_ingredient_aura_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_random_ingredient_aura_AuraScript();
}
@@ -658,7 +662,7 @@ class spell_random_ingredient : public SpellScriptLoader
{
PrepareSpellScript(spell_random_ingredient_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FETCH_KNOTROOT) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PICKLED_EAGLE_EGG) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SPECKLED_GUANO) ||
!sSpellMgr->GetSpellInfo(SPELL_FETCH_WITHERED_BATWING) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SEASONED_SLIDER_CIDER) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PULVERIZED_GARGOYLE_TEETH) ||
@@ -698,13 +702,13 @@ class spell_random_ingredient : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_random_ingredient_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_random_ingredient_SpellScript();
}
@@ -722,7 +726,7 @@ class spell_pot_check : public SpellScriptLoader
{
PrepareSpellScript(spell_pot_check_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FETCH_KNOTROOT) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PICKLED_EAGLE_EGG) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SPECKLED_GUANO) ||
!sSpellMgr->GetSpellInfo(SPELL_FETCH_WITHERED_BATWING) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_SEASONED_SLIDER_CIDER) || !sSpellMgr->GetSpellInfo(SPELL_FETCH_PULVERIZED_GARGOYLE_TEETH) ||
@@ -791,13 +795,13 @@ class spell_pot_check : public SpellScriptLoader
player->DestroyItemCount(FetchIngredients[i][2], 1, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pot_check_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pot_check_SpellScript();
}
@@ -827,13 +831,13 @@ class spell_fetch_ingredient_aura : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_fetch_ingredient_aura_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_fetch_ingredient_aura_AuraScript();
}
@@ -857,17 +861,17 @@ public:
{
npc_storm_cloudAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->CastSpell(me, STORM_VISUAL, true);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Reset();
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id != GYMERS_GRAB)
return;
@@ -881,7 +885,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_storm_cloudAI(creature);
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
index 5af51a5d07f..99b782336ec 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
@@ -368,7 +368,7 @@ class OutdoorPvP_hellfire_peninsula : public OutdoorPvPScript
{
}
- OutdoorPvP* GetOutdoorPvP() const OVERRIDE
+ OutdoorPvP* GetOutdoorPvP() const override
{
return new OutdoorPvPHP();
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
index 41cd17e1afd..08253022ec4 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
@@ -82,15 +82,15 @@ uint32 OPvPCapturePointNA::GetControllingFaction() const
void OPvPCapturePointNA::SpawnNPCsForTeam(uint32 team)
{
- const creature_type * creatures = NULL;
+ creature_type const* creatures = nullptr;
if (team == ALLIANCE)
- creatures=AllianceControlNPCs;
+ creatures = AllianceControlNPCs;
else if (team == HORDE)
- creatures=HordeControlNPCs;
+ creatures = HordeControlNPCs;
else
return;
for (int i = 0; i < NA_CONTROL_NPC_NUM; ++i)
- AddCreature(i, creatures[i].entry, creatures[i].teamval, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, 1000000);
+ AddCreature(i, creatures[i].entry, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, OutdoorPvP::GetTeamIdByTeam(team), 1000000);
}
void OPvPCapturePointNA::DeSpawnNPCs()
@@ -667,7 +667,7 @@ class OutdoorPvP_nagrand : public OutdoorPvPScript
{
}
- OutdoorPvP* GetOutdoorPvP() const OVERRIDE
+ OutdoorPvP* GetOutdoorPvP() const override
{
return new OutdoorPvPNA();
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
index cc32397741c..011775e1715 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
@@ -183,50 +183,50 @@ enum ControlNPCTypes
const creature_type HordeControlNPCs[NA_CONTROL_NPC_NUM] =
{
- {18816, 67, 530, -1523.92f, 7951.76f, -17.6942f, 3.51172f},
- {18821, 67, 530, -1527.75f, 7952.46f, -17.6948f, 3.99317f},
- {21474, 67, 530, -1520.14f, 7927.11f, -20.2527f, 3.39389f},
- {21484, 67, 530, -1524.84f, 7930.34f, -20.182f, 3.6405f},
- {21483, 67, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
- {18192, 67, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
- {18192, 67, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
- {18192, 67, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
- {18192, 67, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
- {18192, 67, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
- {18192, 67, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
- {18192, 67, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
- {18192, 67, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
- {18192, 67, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
- {18192, 67, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
- {18192, 67, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
- {18192, 67, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
- {18192, 67, 530, -1550.6f, 7944.45f, -21.63f, 3.559f},
- {18192, 67, 530, -1545.57f, 7935.83f, -21.13f, 3.448f},
- {18192, 67, 530, -1550.86f, 7937.56f, -21.7f, 3.801f}
+ {18816, 530, -1523.92f, 7951.76f, -17.6942f, 3.51172f},
+ {18821, 530, -1527.75f, 7952.46f, -17.6948f, 3.99317f},
+ {21474, 530, -1520.14f, 7927.11f, -20.2527f, 3.39389f},
+ {21484, 530, -1524.84f, 7930.34f, -20.182f, 3.6405f},
+ {21483, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
+ {18192, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
+ {18192, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
+ {18192, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
+ {18192, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
+ {18192, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
+ {18192, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
+ {18192, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
+ {18192, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
+ {18192, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
+ {18192, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
+ {18192, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
+ {18192, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
+ {18192, 530, -1550.6f, 7944.45f, -21.63f, 3.559f},
+ {18192, 530, -1545.57f, 7935.83f, -21.13f, 3.448f},
+ {18192, 530, -1550.86f, 7937.56f, -21.7f, 3.801f}
};
const creature_type AllianceControlNPCs[NA_CONTROL_NPC_NUM] =
{
- {18817, 469, 530, -1591.18f, 8020.39f, -22.2042f, 4.59022f},
- {18822, 469, 530, -1588.0f, 8019.0f, -22.2042f, 4.06662f},
- {21485, 469, 530, -1521.93f, 7927.37f, -20.2299f, 3.24631f},
- {21487, 469, 530, -1540.33f, 7971.95f, -20.7186f, 3.07178f},
- {21488, 469, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
- {18256, 469, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
- {18256, 469, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
- {18256, 469, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
- {18256, 469, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
- {18256, 469, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
- {18256, 469, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
- {18256, 469, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
- {18256, 469, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
- {18256, 469, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
- {18256, 469, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
- {18256, 469, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
- {18256, 469, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
- {18256, 469, 530, -1603.75f, 8000.36f, -24.18f, 4.516f},
- {18256, 469, 530, -1585.73f, 7994.68f, -23.29f, 4.439f},
- {18256, 469, 530, -1595.5f, 7991.27f, -23.53f, 4.738f}
+ {18817, 530, -1591.18f, 8020.39f, -22.2042f, 4.59022f},
+ {18822, 530, -1588.0f, 8019.0f, -22.2042f, 4.06662f},
+ {21485, 530, -1521.93f, 7927.37f, -20.2299f, 3.24631f},
+ {21487, 530, -1540.33f, 7971.95f, -20.7186f, 3.07178f},
+ {21488, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
+ {18256, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
+ {18256, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
+ {18256, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
+ {18256, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
+ {18256, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
+ {18256, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
+ {18256, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
+ {18256, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
+ {18256, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
+ {18256, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
+ {18256, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
+ {18256, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
+ {18256, 530, -1603.75f, 8000.36f, -24.18f, 4.516f},
+ {18256, 530, -1585.73f, 7994.68f, -23.29f, 4.439f},
+ {18256, 530, -1595.5f, 7991.27f, -23.53f, 4.738f}
};
enum WyvernStates
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
index 30ca2e8cb3f..a3ef9ce7b5c 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
@@ -244,7 +244,7 @@ class OutdoorPvP_silithus : public OutdoorPvPScript
{
}
- OutdoorPvP* GetOutdoorPvP() const OVERRIDE
+ OutdoorPvP* GetOutdoorPvP() const override
{
return new OutdoorPvPSI();
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
index 2877c5c0dcc..f9590634008 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
@@ -366,7 +366,7 @@ class OutdoorPvP_terokkar_forest : public OutdoorPvPScript
{
}
- OutdoorPvP* GetOutdoorPvP() const OVERRIDE
+ OutdoorPvP* GetOutdoorPvP() const override
{
return new OutdoorPvPTF();
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
index df526ed068d..c4b811859ef 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
@@ -256,8 +256,8 @@ OPvPCapturePointZM_GraveYard::OPvPCapturePointZM_GraveYard(OutdoorPvP* pvp)
m_GraveYardState = ZM_GRAVEYARD_N;
m_FlagCarrierGUID = 0;
// add field scouts here
- AddCreature(ZM_ALLIANCE_FIELD_SCOUT, ZM_AllianceFieldScout.entry, ZM_AllianceFieldScout.teamval, ZM_AllianceFieldScout.map, ZM_AllianceFieldScout.x, ZM_AllianceFieldScout.y, ZM_AllianceFieldScout.z, ZM_AllianceFieldScout.o);
- AddCreature(ZM_HORDE_FIELD_SCOUT, ZM_HordeFieldScout.entry, ZM_HordeFieldScout.teamval, ZM_HordeFieldScout.map, ZM_HordeFieldScout.x, ZM_HordeFieldScout.y, ZM_HordeFieldScout.z, ZM_HordeFieldScout.o);
+ AddCreature(ZM_ALLIANCE_FIELD_SCOUT, ZM_AllianceFieldScout.entry, ZM_AllianceFieldScout.map, ZM_AllianceFieldScout.x, ZM_AllianceFieldScout.y, ZM_AllianceFieldScout.z, ZM_AllianceFieldScout.o);
+ AddCreature(ZM_HORDE_FIELD_SCOUT, ZM_HordeFieldScout.entry, ZM_HordeFieldScout.map, ZM_HordeFieldScout.x, ZM_HordeFieldScout.y, ZM_HordeFieldScout.z, ZM_HordeFieldScout.o);
// add neutral banner
AddObject(0, ZM_Banner_N.entry, ZM_Banner_N.map, ZM_Banner_N.x, ZM_Banner_N.y, ZM_Banner_N.z, ZM_Banner_N.o, ZM_Banner_N.rot0, ZM_Banner_N.rot1, ZM_Banner_N.rot2, ZM_Banner_N.rot3);
}
@@ -460,7 +460,7 @@ class OutdoorPvP_zangarmarsh : public OutdoorPvPScript
{
}
- OutdoorPvP* GetOutdoorPvP() const OVERRIDE
+ OutdoorPvP* GetOutdoorPvP() const override
{
return new OutdoorPvPZM();
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
index 4b810ddb15f..fdd093a1bfe 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
@@ -52,10 +52,10 @@ const go_type ZM_Banner_H = { 182528, 530, 253.54f, 7083.81f, 36.7728f, -0.01745
const go_type ZM_Banner_N = { 182529, 530, 253.54f, 7083.81f, 36.7728f, -0.017453f, 0.0f, 0.0f, 0.008727f, -0.999962f };
// horde field scout spawn data
-const creature_type ZM_HordeFieldScout = {18564, 67, 530, 296.625f, 7818.4f, 42.6294f, 5.18363f};
+const creature_type ZM_HordeFieldScout = {18564, 530, 296.625f, 7818.4f, 42.6294f, 5.18363f};
// alliance field scout spawn data
-const creature_type ZM_AllianceFieldScout = {18581, 469, 530, 374.395f, 6230.08f, 22.8351f, 0.593412f};
+const creature_type ZM_AllianceFieldScout = {18581, 530, 374.395f, 6230.08f, 22.8351f, 0.593412f};
enum ZMCreatureTypes
{
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 5266a7bd137..9ab35aa188b 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -54,25 +54,29 @@ class npc_stolen_soul : public CreatureScript
public:
npc_stolen_soul() : CreatureScript("npc_stolen_soul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_stolen_soulAI(creature);
}
struct npc_stolen_soulAI : public ScriptedAI
{
- npc_stolen_soulAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_stolen_soulAI(Creature* creature) : ScriptedAI(creature)
+ {
+ myClass = CLASS_NONE;
+ Class_Timer = 1000;
+ }
uint8 myClass;
uint32 Class_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
myClass = CLASS_NONE;
Class_Timer = 1000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{ }
void SetMyClass(uint8 myclass)
@@ -80,7 +84,7 @@ public:
myClass = myclass;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -157,7 +161,7 @@ class boss_exarch_maladaar : public CreatureScript
public:
boss_exarch_maladaar() : CreatureScript("boss_exarch_maladaar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_exarch_maladaarAI(creature);
}
@@ -180,7 +184,7 @@ public:
bool HasTaunted;
bool Avatar_summoned;
- void Reset() OVERRIDE
+ void Reset() override
{
soulmodel = 0;
soulholder = 0;
@@ -193,7 +197,7 @@ public:
Avatar_summoned = false;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!HasTaunted && me->IsWithinDistInMap(who, 150.0f))
@@ -205,12 +209,12 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == ENTRY_STOLEN_SOUL)
{
@@ -228,7 +232,7 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (rand()%2)
return;
@@ -236,14 +240,14 @@ public:
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
//When Exarch Maladar is defeated D'ore appear.
me->SummonCreature(19412, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 600000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -308,7 +312,7 @@ class npc_avatar_of_martyred : public CreatureScript
public:
npc_avatar_of_martyred() : CreatureScript("npc_avatar_of_martyred") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_avatar_of_martyredAI(creature);
}
@@ -319,16 +323,16 @@ public:
uint32 Mortal_Strike_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Mortal_Strike_timer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 f73ff46908b..bd65cd9fc89 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
@@ -53,7 +53,7 @@ class boss_shirrak_the_dead_watcher : public CreatureScript
public:
boss_shirrak_the_dead_watcher() : CreatureScript("boss_shirrak_the_dead_watcher") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_shirrak_the_dead_watcherAI(creature);
}
@@ -71,7 +71,7 @@ public:
uint64 FocusedTargetGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
Inhibitmagic_Timer = 0;
Attractmagic_Timer = 28000;
@@ -80,10 +80,10 @@ public:
FocusedTargetGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{ }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned && summoned->GetEntry() == NPC_FOCUS_FIRE)
{
@@ -97,7 +97,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Inhibitmagic_Timer
if (Inhibitmagic_Timer <= diff)
@@ -165,7 +165,7 @@ class npc_focus_fire : public CreatureScript
public:
npc_focus_fire() : CreatureScript("npc_focus_fire") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_focus_fireAI(creature);
}
@@ -179,16 +179,16 @@ public:
uint32 FieryBlast_Timer;
bool fiery1, fiery2;
- void Reset() OVERRIDE
+ void Reset() override
{
FieryBlast_Timer = 3000+(rand()%1000);
fiery1 = fiery2 = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{ }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
index b003039f484..4b8a764fa03 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
@@ -32,7 +32,7 @@ class instance_auchenai_crypts : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_auchenai_crypts_InstanceMapScript(map);
}
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 7ccf7a7f9b2..67cc6b99e93 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -71,7 +71,7 @@ class boss_nexusprince_shaffar : public CreatureScript
public:
boss_nexusprince_shaffar() : CreatureScript("boss_nexusprince_shaffar") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_nexusprince_shaffarAI(creature);
}
@@ -91,7 +91,7 @@ public:
bool HasTaunted;
bool CanBlink;
- void Reset() OVERRIDE
+ void Reset() override
{
Blink_Timer = 1500;
Beacon_Timer = 10000;
@@ -110,13 +110,13 @@ public:
me->SummonCreature(NPC_BEACON, posX + dist, posY, posZ, angle, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200000);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
summons.DespawnAll();
ScriptedAI::EnterEvadeMode();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!HasTaunted && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 100.0f))
@@ -126,7 +126,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -134,7 +134,7 @@ public:
summons.DoZoneInCombat();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_BEACON)
{
@@ -147,23 +147,23 @@ public:
summons.Summon(summoned);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
summons.Despawn(summon);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEAD);
summons.DespawnAll();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -232,7 +232,7 @@ class npc_ethereal_beacon : public CreatureScript
public:
npc_ethereal_beacon() : CreatureScript("npc_ethereal_beacon") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ethereal_beaconAI(creature);
}
@@ -252,14 +252,14 @@ public:
me->Kill(me);
}
- void Reset() OVERRIDE
+ void Reset() override
{
Apprentice_Timer = DUNGEON_MODE(20000, 10000);
ArcaneBolt_Timer = 1000;
Check_Timer = 1000;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
// Send Shaffar to fight
Creature* Shaffar = me->FindNearestCreature(NPC_SHAFFAR, 100);
@@ -272,12 +272,12 @@ public:
Shaffar->AI()->AttackStart(who);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me->GetVictim());
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -324,7 +324,7 @@ class npc_ethereal_apprentice : public CreatureScript
public:
npc_ethereal_apprentice() : CreatureScript("npc_ethereal_apprentice") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ethereal_apprenticeAI(creature);
}
@@ -337,13 +337,13 @@ public:
bool isFireboltTurn;
- void Reset() OVERRIDE
+ void Reset() override
{
Cast_Timer = 3000;
isFireboltTurn = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -380,14 +380,14 @@ public:
{
npc_yorAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_DOUBLE_BREATH, urand(6000,9000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -414,7 +414,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_yorAI(creature);
}
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
index b19318e9c89..2a359419e79 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
@@ -44,7 +44,7 @@ class boss_pandemonius : public CreatureScript
public:
boss_pandemonius() : CreatureScript("boss_pandemonius") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_pandemoniusAI(creature);
}
@@ -59,29 +59,29 @@ public:
uint32 DarkShell_Timer;
uint32 VoidBlast_Counter;
- void Reset() OVERRIDE
+ void Reset() override
{
VoidBlast_Timer = 8000+rand()%15000;
DarkShell_Timer = 20000;
VoidBlast_Counter = 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
index baf8d2b7d01..48bea45a95b 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
@@ -32,7 +32,7 @@ class instance_mana_tombs : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_mana_tombs_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
index d888121403f..1787933143c 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
@@ -69,7 +69,7 @@ class boss_anzu : public CreatureScript
{
boss_anzuAI(Creature* creature) : BossAI(creature, DATA_ANZU) { }
- void Reset() OVERRIDE
+ void Reset() override
{
//_Reset();
events.Reset();
@@ -77,19 +77,19 @@ class boss_anzu : public CreatureScript
_under66Percent = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_PARALYZING_SCREECH, 14000);
events.ScheduleEvent(EVENT_CYCLONE_OF_FEATHERS, 5000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (me->HealthBelowPctDamaged(33, damage) && !_under33Percent)
{
@@ -106,7 +106,7 @@ class boss_anzu : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -157,7 +157,7 @@ class boss_anzu : public CreatureScript
bool _under66Percent;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSethekkHallsAI<boss_anzuAI>(creature);
}
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 25fdf84e739..098d35a292e 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -73,7 +73,7 @@ public:
{
boss_darkweaver_sythAI(Creature* creature) : BossAI(creature, DATA_DARKWEAVER_SYTH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
summon90 = false;
@@ -81,7 +81,7 @@ public:
summon10 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FLAME_SHOCK, 2000);
@@ -93,19 +93,19 @@ public:
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->AI()->AttackStart(target);
@@ -124,7 +124,7 @@ public:
DoCast(me, SPELL_SUMMON_SYTH_SHADOW, true); //right
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -192,7 +192,7 @@ public:
bool summon10;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSethekkHallsAI<boss_darkweaver_sythAI>(creature);
}
@@ -213,16 +213,16 @@ public:
uint32 flameshock_timer;
uint32 flamebuffet_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
flameshock_timer = 2500;
flamebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -247,7 +247,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_syth_fireAI(creature);
}
@@ -258,7 +258,7 @@ class npc_syth_arcane : public CreatureScript
public:
npc_syth_arcane() : CreatureScript("npc_syth_arcane") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_syth_arcaneAI(creature);
}
@@ -272,16 +272,16 @@ public:
uint32 arcaneshock_timer;
uint32 arcanebuffet_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_ARCANE, true);
arcaneshock_timer = 2500;
arcanebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -312,7 +312,7 @@ class npc_syth_frost : public CreatureScript
public:
npc_syth_frost() : CreatureScript("npc_syth_frost") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_syth_frostAI(creature);
}
@@ -326,16 +326,16 @@ public:
uint32 frostshock_timer;
uint32 frostbuffet_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FROST, true);
frostshock_timer = 2500;
frostbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -367,7 +367,7 @@ class npc_syth_shadow : public CreatureScript
public:
npc_syth_shadow() : CreatureScript("npc_syth_shadow") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_syth_shadowAI(creature);
}
@@ -381,16 +381,16 @@ public:
uint32 shadowshock_timer;
uint32 shadowbuffet_timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_SHADOW, true);
shadowshock_timer = 2500;
shadowbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 e6c416a3b61..cd53b5c18c1 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
@@ -60,7 +60,7 @@ public:
{
boss_talon_king_ikissAI(Creature* creature) : BossAI(creature, DATA_TALON_KING_IKISS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
ArcaneVolley_Timer = 5000;
@@ -72,7 +72,7 @@ public:
ManaShield = false;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->GetVictim() && me->CanCreatureAttack(who))
{
@@ -94,25 +94,25 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -200,7 +200,7 @@ public:
bool Intro;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetSethekkHallsAI<boss_talon_king_ikissAI>(creature);
}
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
index d70cc5dd566..308e5e80105 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
@@ -38,7 +38,7 @@ class instance_sethekk_halls : public InstanceMapScript
LoadDoorData(doorData);
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
if (creature->GetEntry() == NPC_ANZU)
{
@@ -49,19 +49,19 @@ class instance_sethekk_halls : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
if (go->GetEntry() == GO_IKISS_DOOR)
AddDoor(go, true);
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
if (go->GetEntry() == GO_IKISS_DOOR)
AddDoor(go, false);
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -72,7 +72,7 @@ class instance_sethekk_halls : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -105,7 +105,7 @@ class instance_sethekk_halls : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_sethekk_halls_InstanceMapScript(map);
}
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 e0f25bb18e2..a48f5245273 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
@@ -65,7 +65,7 @@ class boss_ambassador_hellmaw : public CreatureScript
_intro = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!me->IsAlive())
return;
@@ -81,7 +81,7 @@ class boss_ambassador_hellmaw : public CreatureScript
DoAction(ACTION_AMBASSADOR_HELLMAW_BANISH);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasAura(SPELL_BANISH))
return;
@@ -89,7 +89,7 @@ class boss_ambassador_hellmaw : public CreatureScript
npc_escortAI::MoveInLineOfSight(who);
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE
+ void WaypointReached(uint32 /*waypointId*/) override
{
}
@@ -118,25 +118,25 @@ class boss_ambassador_hellmaw : public CreatureScript
Start(true, false, 0, NULL, false, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_instance->SetBossState(DATA_AMBASSADOR_HELLMAW, IN_PROGRESS);
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_instance->SetBossState(DATA_AMBASSADOR_HELLMAW, DONE);
Talk(SAY_DEATH);
}
- void UpdateEscortAI(uint32 const diff) OVERRIDE
+ void UpdateEscortAI(uint32 const diff) override
{
if (!UpdateVictim())
return;
@@ -181,7 +181,7 @@ class boss_ambassador_hellmaw : public CreatureScript
bool _intro;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetShadowLabyrinthAI<boss_ambassador_hellmawAI>(creature);
}
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 d84181046de..2b7376a527b 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
@@ -64,12 +64,12 @@ class boss_blackheart_the_inciter : public CreatureScript
{
boss_blackheart_the_inciterAI(Creature* creature) : BossAI(creature, DATA_BLACKHEART_THE_INCITER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_INCITE_CHAOS, 20000);
@@ -79,19 +79,19 @@ class boss_blackheart_the_inciter : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -137,7 +137,7 @@ class boss_blackheart_the_inciter : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetShadowLabyrinthAI<boss_blackheart_the_inciterAI>(creature);
}
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 2bdd86afe47..d454b646647 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
@@ -90,7 +90,7 @@ class boss_grandmaster_vorpil : public CreatureScript
_intro = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_helpYell = false;
@@ -116,19 +116,19 @@ class boss_grandmaster_vorpil : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SHADOWBOLT_VOLLEY, urand(7000, 14000));
@@ -141,7 +141,7 @@ class boss_grandmaster_vorpil : public CreatureScript
SummonPortals();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
BossAI::MoveInLineOfSight(who);
@@ -152,7 +152,7 @@ class boss_grandmaster_vorpil : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -209,7 +209,7 @@ class boss_grandmaster_vorpil : public CreatureScript
bool _helpYell;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetShadowLabyrinthAI<boss_grandmaster_vorpilAI>(creature);
}
@@ -227,15 +227,15 @@ class npc_voidtraveler : public CreatureScript
_instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
_moveTimer = 0;
_sacrificed = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_moveTimer <= diff)
{
@@ -270,7 +270,7 @@ class npc_voidtraveler : public CreatureScript
bool _sacrificed;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetShadowLabyrinthAI<npc_voidtravelerAI>(creature);
}
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
index 130cdf31d42..31adf1522d4 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
@@ -64,7 +64,7 @@ class boss_murmur : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
events.ScheduleEvent(EVENT_SONIC_BOOM, 30000);
@@ -84,17 +84,17 @@ class boss_murmur : public CreatureScript
me->ResetPlayerDamageReq();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -167,7 +167,7 @@ class boss_murmur : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetShadowLabyrinthAI<boss_murmurAI>(creature);
}
@@ -183,7 +183,7 @@ class spell_murmur_sonic_boom : public SpellScriptLoader
{
PrepareSpellScript(spell_murmur_sonic_boom_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SONIC_BOOM_EFFECT))
return false;
@@ -195,13 +195,13 @@ class spell_murmur_sonic_boom : public SpellScriptLoader
GetCaster()->CastSpell((Unit*)NULL, SPELL_SONIC_BOOM_EFFECT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_murmur_sonic_boom_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_murmur_sonic_boom_SpellScript();
}
@@ -223,13 +223,13 @@ class spell_murmur_sonic_boom_effect : public SpellScriptLoader
SetHitDamage(target->CountPctFromMaxHealth(80)); /// @todo: find correct value
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_murmur_sonic_boom_effect_SpellScript::CalcDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_murmur_sonic_boom_effect_SpellScript();
}
@@ -265,13 +265,13 @@ class spell_murmur_thundering_storm : public SpellScriptLoader
targets.remove_if(ThunderingStormCheck(GetCaster()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_murmur_thundering_storm_SpellScript::FilterTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_murmur_thundering_storm_SpellScript();
}
diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
index 9e324d99879..4df80a0e15b 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
@@ -44,7 +44,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
FelOverseerCount = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -67,7 +67,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -80,7 +80,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -110,7 +110,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -122,7 +122,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -134,7 +134,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -145,7 +145,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -183,7 +183,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
uint32 FelOverseerCount;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_shadow_labyrinth_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index ba8eb2194f5..427265e2562 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -65,7 +65,7 @@ public:
{
npc_spirit_of_olumAI(Creature* creature) : ScriptedAI(creature) { }
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) override
{
if (action == 1)
{
@@ -76,7 +76,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_spirit_of_olumAI(creature);
}
@@ -98,22 +98,22 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
events.ScheduleEvent(EVENT_GET_CHANNELERS, 3000);
enteredCombat = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE { }
+ void JustDied(Unit* /*killer*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_CLEAVE, 5000);
events.ScheduleEvent(EVENT_IGNORED, 7000);
enteredCombat = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!enteredCombat)
@@ -156,11 +156,11 @@ public:
{
for (std::list<uint64>::const_iterator itr = bloodmage.begin(); itr != bloodmage.end(); ++itr)
if (Creature* bloodmage = (Unit::GetCreature(*me, *itr)))
- bloodmage->AI()->DoCast(SPELL_SUMMON_CHANNEL);
+ bloodmage->CastSpell((Unit*)NULL, SPELL_SUMMON_CHANNEL);
for (std::list<uint64>::const_iterator itr = deathshaper.begin(); itr != deathshaper.end(); ++itr)
if (Creature* deathshaper = (Unit::GetCreature(*me, *itr)))
- deathshaper->AI()->DoCast(SPELL_SUMMON_CHANNEL);
+ deathshaper->CastSpell((Unit*)NULL, SPELL_SUMMON_CHANNEL);
events.ScheduleEvent(EVENT_SET_CHANNELERS, 12000);
@@ -205,7 +205,7 @@ public:
bool enteredCombat;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_wrathbone_flayerAI>(creature);
}
diff --git a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
index a6a16f83a26..1f8c090230b 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_bloodboil.cpp
@@ -62,7 +62,7 @@ class boss_gurtogg_bloodboil : public CreatureScript
public:
boss_gurtogg_bloodboil() : CreatureScript("boss_gurtogg_bloodboil") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gurtogg_bloodboilAI>(creature);
}
@@ -93,7 +93,7 @@ public:
bool Phase1;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetBossState(DATA_GURTOGG_BLOODBOIL, NOT_STARTED);
@@ -118,19 +118,19 @@ public:
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
Talk(SAY_AGGRO);
instance->SetBossState(DATA_GURTOGG_BLOODBOIL, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_GURTOGG_BLOODBOIL, DONE);
@@ -193,7 +193,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index d74aecb9b25..f0498d8a5c2 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -379,14 +379,14 @@ public:
{
flame_of_azzinothAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
FlameBlastTimer = 15000;
CheckTimer = 5000;
GlaiveGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
@@ -431,7 +431,7 @@ public:
GlaiveGUID = guid;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -460,7 +460,7 @@ public:
uint64 GlaiveGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new flame_of_azzinothAI(creature);
}
@@ -481,11 +481,11 @@ public:
AkamaGUID = 0;
}
- void Reset() OVERRIDE;
+ void Reset() override;
- void JustSummoned(Creature* summon) OVERRIDE;
+ void JustSummoned(Creature* summon) override;
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->GetCreatureTemplate()->Entry == FLAME_OF_AZZINOTH)
{
@@ -502,7 +502,7 @@ public:
Summons.Despawn(summon);
}
- void MovementInform(uint32 /*MovementType*/, uint32 /*Data*/) OVERRIDE
+ void MovementInform(uint32 /*MovementType*/, uint32 /*Data*/) override
{
if (FlightCount == 7) // change hover point
{
@@ -517,13 +517,13 @@ public:
Timer[EVENT_FLIGHT_SEQUENCE] = 1000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->setActive(true);
DoZoneInCombat();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || Phase >= PHASE_TALK_SEQUENCE)
return;
@@ -534,10 +534,10 @@ public:
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit*) OVERRIDE { }
+ void MoveInLineOfSight(Unit*) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -547,7 +547,7 @@ public:
instance->HandleGameObject(instance->GetData64(i), true);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -555,7 +555,7 @@ public:
Talk(SAY_ILLIDAN_KILL);
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (damage >= me->GetHealth() && done_by != me)
damage = 0;
@@ -563,7 +563,7 @@ public:
done_by->AddThreat(me, -(3*(float)damage)/4); // do not let maiev tank him
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_GLAIVE_RETURNS) // Re-equip our warblades!
{
@@ -917,7 +917,7 @@ public:
++TransformCount;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((!UpdateVictim()) && Phase < PHASE_TALK_SEQUENCE)
return;
@@ -1121,7 +1121,7 @@ public:
SummonList Summons;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_illidan_stormrageAI>(creature);
}
@@ -1139,7 +1139,7 @@ public:
{
boss_maievAI(Creature* creature) : ScriptedAI(creature) { };
- void Reset() OVERRIDE
+ void Reset() override
{
MaxTimer = 0;
Phase = PHASE_NORMAL_MAIEV;
@@ -1151,17 +1151,17 @@ public:
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 45738);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void EnterEvadeMode() OVERRIDE { }
+ void EnterEvadeMode() override { }
void GetIllidanGUID(uint64 guid)
{
IllidanGUID = guid;
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetGUID() != IllidanGUID)
damage = 0;
@@ -1176,7 +1176,7 @@ public:
}
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || Timer[EVENT_MAIEV_STEALTH])
return;
@@ -1194,7 +1194,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void DoAction(int32 param) OVERRIDE
+ void DoAction(int32 param) override
{
if (param > PHASE_ILLIDAN_NULL && param < PHASE_ILLIDAN_MAX)
EnterPhase(PhaseIllidan(param));
@@ -1266,7 +1266,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if ((!UpdateVictim())
&& !Timer[EVENT_MAIEV_STEALTH])
@@ -1343,7 +1343,7 @@ public:
uint32 MaxTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_maievAI(creature);
}
@@ -1362,7 +1362,7 @@ public:
JustCreated = true;
}
- void Reset() OVERRIDE
+ void Reset() override
{
WalkCount = 0;
instance->SetBossState(DATA_ILLIDAN_STORMRAGE, NOT_STARTED);
@@ -1408,24 +1408,24 @@ public:
}
// Do not call reset in Akama's evade mode, as this will stop him from summoning minions after he kills the first bit
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->RemoveAllAuras();
me->DeleteThreatList();
me->CombatStop(true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void MovementInform(uint32 MovementType, uint32 /*Data*/) OVERRIDE
+ void MovementInform(uint32 MovementType, uint32 /*Data*/) override
{
if (MovementType == POINT_MOTION_TYPE)
Timer = 1;
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (damage > me->GetHealth() || done_by->GetGUID() != IllidanGUID)
damage = 0;
@@ -1666,7 +1666,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsVisible())
{
@@ -1749,7 +1749,7 @@ public:
DoMeleeAttackIfReady();
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
EnterPhase(PHASE_CHANNEL);
@@ -1772,7 +1772,7 @@ public:
uint32 Check_Timer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_akama_illidanAI>(creature);
}
@@ -1957,7 +1957,7 @@ public:
{
cage_trap_triggerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
IllidanGUID = 0;
@@ -1969,9 +1969,9 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Active)
@@ -1996,7 +1996,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (DespawnTimer)
{
@@ -2022,7 +2022,7 @@ public:
bool SummonedBeams;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new cage_trap_triggerAI(creature);
}
@@ -2033,7 +2033,7 @@ class gameobject_cage_trap : public GameObjectScript
public:
gameobject_cage_trap() : GameObjectScript("gameobject_cage_trap") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
float x, y, z;
player->GetPosition(x, y, z);
@@ -2055,34 +2055,34 @@ public:
{
shadow_demonAI(Creature* creature) : ScriptedAI(creature) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void Reset() OVERRIDE
+ void Reset() override
{
TargetGUID = 0;
DoCast(me, SPELL_SHADOW_DEMON_PASSIVE, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Unit* target = Unit::GetUnit(*me, TargetGUID))
target->RemoveAurasDueToSpell(SPELL_PARALYZE);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
return;
- if (me->GetVictim()->GetTypeId() != TYPEID_PLAYER)
+ if (me->EnsureVictim()->GetTypeId() != TYPEID_PLAYER)
return; // Only cast the below on players.
- if (!me->GetVictim()->HasAura(SPELL_PARALYZE))
+ if (!me->EnsureVictim()->HasAura(SPELL_PARALYZE))
{
- TargetGUID = me->GetVictim()->GetGUID();
+ TargetGUID = me->EnsureVictim()->GetGUID();
me->AddThreat(me->GetVictim(), 10000000.0f);
DoCastVictim(SPELL_PURPLE_BEAM, true);
DoCastVictim(SPELL_PARALYZE, true);
@@ -2096,7 +2096,7 @@ public:
uint64 TargetGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new shadow_demonAI(creature);
}
@@ -2111,14 +2111,14 @@ public:
{
blade_of_azzinothAI(Creature* creature) : NullCreatureAI(creature) { }
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_THROW_GLAIVE2 || spell->Id == SPELL_THROW_GLAIVE)
me->SetDisplayId(MODEL_BLADE);// appear when hit by Illidan's glaive
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new blade_of_azzinothAI(creature);
}
@@ -2137,7 +2137,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
IllidanGUID = instance->GetData64(DATA_ILLIDAN_STORMRAGE);
@@ -2145,7 +2145,7 @@ public:
DoCast(me, SPELL_SHADOWFIEND_PASSIVE, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
@@ -2154,8 +2154,8 @@ public:
{
if (me->isAttackReady() && me->IsWithinMeleeRange(me->GetVictim()))
{
- if (!me->GetVictim()->HasAura(SPELL_PARASITIC_SHADOWFIEND)
- && !me->GetVictim()->HasAura(SPELL_PARASITIC_SHADOWFIEND2))
+ if (!me->EnsureVictim()->HasAura(SPELL_PARASITIC_SHADOWFIEND)
+ && !me->EnsureVictim()->HasAura(SPELL_PARASITIC_SHADOWFIEND2))
{
if (Creature* illidan = Unit::GetCreature((*me), IllidanGUID))// summon only in 1. phase
if (CAST_AI(boss_illidan_stormrage::boss_illidan_stormrageAI, illidan->AI())->Phase == PHASE_NORMAL)
@@ -2166,7 +2166,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->GetVictim())
{
@@ -2202,7 +2202,7 @@ public:
uint32 CheckTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_parasitic_shadowfiendAI>(creature);
}
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index 7081607e755..ac91c2ac034 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -82,7 +82,7 @@ class boss_mother_shahraz : public CreatureScript
public:
boss_mother_shahraz() : CreatureScript("boss_mother_shahraz") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_shahrazAI>(creature);
}
@@ -111,7 +111,7 @@ public:
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetBossState(DATA_MOTHER_SHAHRAZ, NOT_STARTED);
@@ -133,7 +133,7 @@ public:
Enraged = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetBossState(DATA_MOTHER_SHAHRAZ, IN_PROGRESS);
@@ -141,12 +141,12 @@ public:
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_MOTHER_SHAHRAZ, DONE);
@@ -171,7 +171,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 ca0ea947295..39edb6b04aa 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -104,7 +104,7 @@ class npc_enslaved_soul : public CreatureScript
public:
npc_enslaved_soul() : CreatureScript("npc_enslaved_soul") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_enslaved_soulAI(creature);
}
@@ -115,15 +115,15 @@ public:
uint64 ReliquaryGUID;
- void Reset() OVERRIDE { ReliquaryGUID = 0; }
+ void Reset() override { ReliquaryGUID = 0; }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, ENSLAVED_SOUL_PASSIVE, true);
DoZoneInCombat();
}
- void JustDied(Unit* /*killer*/) OVERRIDE;
+ void JustDied(Unit* /*killer*/) override;
};
};
@@ -132,7 +132,7 @@ class boss_reliquary_of_souls : public CreatureScript
public:
boss_reliquary_of_souls() : CreatureScript("boss_reliquary_of_souls") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_reliquary_of_soulsAI>(creature);
}
@@ -156,7 +156,7 @@ public:
uint32 SoulCount;
uint32 SoulDeathCount;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetBossState(DATA_RELIQUARY_OF_SOULS, NOT_STARTED);
@@ -175,7 +175,7 @@ public:
me->RemoveAurasDueToSpell(SPELL_SUBMERGE);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who)
return;
@@ -192,7 +192,7 @@ public:
AttackStartNoMove(who);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
me->AddThreat(who, 10000.0f);
DoZoneInCombat();
@@ -239,12 +239,12 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_RELIQUARY_OF_SOULS, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Phase)
return;
@@ -295,13 +295,13 @@ public:
Timer = 1000;
if (Phase == 3)
{
- if (!Essence->IsAlive())
+ if (Essence && !Essence->IsAlive())
DoCast(me, 7, true);
else return;
}
else
{
- if (Essence->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
+ if (Essence && Essence->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
MergeThreatList(Essence);
Essence->RemoveAllAuras();
@@ -312,31 +312,37 @@ public:
break;
case 4:
Timer = 1500;
- if (Essence->IsWithinDistInMap(me, 10))
+ if (Essence)
{
- Essence->SetUInt32Value(UNIT_NPC_EMOTESTATE, 374); //rotate and disappear
- Timer = 2000;
- me->RemoveAurasDueToSpell(SPELL_SUBMERGE);
- }
- else
- {
- MergeThreatList(Essence);
- Essence->RemoveAllAuras();
- Essence->DeleteThreatList();
- Essence->GetMotionMaster()->MoveFollow(me, 0, 0);
- return;
+ if (Essence->IsWithinDistInMap(me, 10))
+ {
+ Essence->SetUInt32Value(UNIT_NPC_EMOTESTATE, 374); //rotate and disappear
+ Timer = 2000;
+ me->RemoveAurasDueToSpell(SPELL_SUBMERGE);
+ }
+ else
+ {
+ MergeThreatList(Essence);
+ Essence->RemoveAllAuras();
+ Essence->DeleteThreatList();
+ Essence->GetMotionMaster()->MoveFollow(me, 0, 0);
+ return;
+ }
}
break;
case 5:
- if (Phase == 1)
- {
- Essence->AI()->Talk(SUFF_SAY_AFTER);
- }
- else
+ if (Essence)
{
- Essence->AI()->Talk(DESI_SAY_AFTER);
+ if (Phase == 1)
+ {
+ Essence->AI()->Talk(SUFF_SAY_AFTER);
+ }
+ else
+ {
+ Essence->AI()->Talk(DESI_SAY_AFTER);
+ }
+ Essence->DespawnOrUnsummon();
}
- Essence->DespawnOrUnsummon();
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
EssenceGUID = 0;
SoulCount = 0;
@@ -383,7 +389,7 @@ class boss_essence_of_suffering : public CreatureScript
public:
boss_essence_of_suffering() : CreatureScript("boss_essence_of_suffering") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_essence_of_sufferingAI(creature);
}
@@ -400,7 +406,7 @@ public:
uint32 SoulDrainTimer;
uint32 AuraTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
StatAuraGUID = 0;
@@ -411,7 +417,7 @@ public:
AuraTimer = 5000;
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (damage >= me->GetHealth())
{
@@ -422,7 +428,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
@@ -434,7 +440,7 @@ public:
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SUFF_SAY_SLAY);
}
@@ -463,7 +469,7 @@ public:
me->AddThreat(target, 1000000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (me->IsInCombat())
{
@@ -506,7 +512,7 @@ class boss_essence_of_desire : public CreatureScript
public:
boss_essence_of_desire() : CreatureScript("boss_essence_of_desire") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_essence_of_desireAI(creature);
}
@@ -519,7 +525,7 @@ public:
uint32 DeadenTimer;
uint32 SoulShockTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
RuneShieldTimer = 60000;
DeadenTimer = 30000;
@@ -527,7 +533,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_CONFUSE, true);
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by == me)
return;
@@ -546,7 +552,7 @@ public:
}
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (me->GetCurrentSpell(CURRENT_GENERIC_SPELL))
for (uint8 i = 0; i < 3; ++i)
@@ -556,19 +562,19 @@ public:
me->InterruptSpell(CURRENT_GENERIC_SPELL, false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(DESI_SAY_FREED);
DoZoneInCombat();
DoCast(me, AURA_OF_DESIRE, true);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(DESI_SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -609,7 +615,7 @@ class boss_essence_of_anger : public CreatureScript
public:
boss_essence_of_anger() : CreatureScript("boss_essence_of_anger") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_essence_of_angerAI(creature);
}
@@ -628,7 +634,7 @@ public:
bool CheckedAggro;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTargetGUID = 0;
@@ -641,7 +647,7 @@ public:
CheckedAggro = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(ANGER_SAY_FREED);
@@ -649,35 +655,35 @@ public:
DoCast(me, AURA_OF_ANGER, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(ANGER_SAY_DEATH);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(ANGER_SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
return;
if (!CheckedAggro)
{
- AggroTargetGUID = me->GetVictim()->GetGUID();
+ AggroTargetGUID = me->EnsureVictim()->GetGUID();
CheckedAggro = true;
}
if (CheckTankTimer <= diff)
{
- if (me->GetVictim()->GetGUID() != AggroTargetGUID)
+ if (me->EnsureVictim()->GetGUID() != AggroTargetGUID)
{
Talk(ANGER_SAY_BEFORE);
DoCast(me, SPELL_SELF_SEETHE, true);
- AggroTargetGUID = me->GetVictim()->GetGUID();
+ AggroTargetGUID = me->EnsureVictim()->GetGUID();
}
CheckTankTimer = 2000;
} else CheckTankTimer -= diff;
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 48d1af27649..8e5eb5ca888 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -171,7 +171,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!HasKilledAkamaAndReseting)
{
@@ -196,14 +196,14 @@ public:
HasKilledAkamaAndReseting = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_SHADE_OF_AKAMA, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
@@ -215,7 +215,7 @@ public:
ScriptedAI::AttackStart(who);
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data == SETDATA_DATA && value == SETDATA_CHANNELER_DIED)
me->RemoveAuraFromStack(SPELL_SHADE_SOUL_CHANNEL_2);
@@ -223,7 +223,7 @@ public:
UpdateSpeed();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_AKAMA_SOUL_CHANNEL)
{
@@ -253,7 +253,7 @@ public:
me->AddUnitState(UNIT_STATE_ROOT);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (HasKilledAkamaAndReseting)
return;
@@ -402,7 +402,7 @@ public:
bool HasKilledAkamaAndReseting;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_shade_of_akamaAI>(creature);
}
@@ -424,7 +424,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->setFaction(FACTION_FRIENDLY);
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -435,7 +435,7 @@ public:
ShadeHasDied = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
if (Shade->IsAlive())
@@ -444,7 +444,7 @@ public:
me->GetMotionMaster()->MoveIdle();
}
- void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
{
if (spell->Id == SPELL_THREAT && !StartCombat)
{
@@ -457,13 +457,13 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 2000);
events.ScheduleEvent(EVENT_DESTRUCTIVE_POISON, 5000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (StartChannel)
{
@@ -524,7 +524,7 @@ public:
DoMeleeAttackIfReady();
}
- void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) OVERRIDE
+ void sGossipSelect(Player* player, uint32 /*sender*/, uint32 action) override
{
if (action == 0)
{
@@ -544,7 +544,7 @@ public:
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_akamaAI>(creature);
}
@@ -566,7 +566,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
@@ -575,16 +575,16 @@ public:
events.ScheduleEvent(EVENT_CHANNEL, 2000);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -616,7 +616,7 @@ public:
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_channelerAI>(creature);
}
@@ -638,7 +638,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
Summons.DespawnAll();
@@ -649,12 +649,12 @@ public:
leftSide = true;
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
Summons.Summon(summon);
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data == SETDATA_DATA)
{
@@ -687,7 +687,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (doSpawning)
{
@@ -724,7 +724,7 @@ public:
bool doSpawning;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_creature_generator_akamaAI>(creature);
}
@@ -747,7 +747,7 @@ public:
startedBanishing = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (!startedBanishing)
{
@@ -768,29 +768,29 @@ public:
switchToCombat = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED);
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* summoner = (Unit::GetCreature((*me), summonerGuid)))
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!switchToCombat)
return;
ScriptedAI::AttackStart(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -846,7 +846,7 @@ public:
bool switchToCombat;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_sorcererAI>(creature);
}
@@ -868,7 +868,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
summonerGuid = 0;
@@ -876,18 +876,18 @@ public:
AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* summoner = (Unit::GetCreature((*me), summonerGuid)))
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_HEROIC_STRIKE, 5000);
events.ScheduleEvent(EVENT_SHIELD_BASH, urand(10000, 16000));
@@ -895,7 +895,7 @@ public:
events.ScheduleEvent(EVENT_WINDFURY, urand(8000, 12000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -936,7 +936,7 @@ public:
uint64 summonerGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_defenderAI>(creature);
}
@@ -958,7 +958,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
summonerGuid = 0;
@@ -966,24 +966,24 @@ public:
AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* summoner = (Unit::GetCreature((*me), summonerGuid)))
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_DEBILITATING_POISON, urand(500, 2000));
events.ScheduleEvent(EVENT_EVISCERATE, urand(2000, 5000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1016,7 +1016,7 @@ public:
uint64 summonerGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_rogueAI>(creature);
}
@@ -1038,7 +1038,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
summonerGuid = 0;
@@ -1046,24 +1046,24 @@ public:
AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* summoner = (Unit::GetCreature((*me), summonerGuid)))
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 18000);
events.ScheduleEvent(EVENT_LIGHTNING_BOLT, 6000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1096,7 +1096,7 @@ public:
uint64 summonerGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_elementalistAI>(creature);
}
@@ -1118,7 +1118,7 @@ public:
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
spiritMend = false;
chainHeal = false;
@@ -1128,23 +1128,23 @@ public:
AttackStart(target);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->DespawnOrUnsummon(5000);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
if (Creature* summoner = (Unit::GetCreature((*me), summonerGuid)))
CAST_AI(npc_creature_generator_akama::npc_creature_generator_akamaAI, summoner->AI())->JustSummoned(me);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPIRIT_HEAL, urand (5000, 6000));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -1193,7 +1193,7 @@ public:
bool chainHeal;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ashtongue_spiritbinderAI>(creature);
}
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index 551213b8b2c..98a349f3606 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -63,7 +63,7 @@ class molten_flame : public CreatureScript
public:
molten_flame() : CreatureScript("molten_flame") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new molten_flameAI(creature);
}
@@ -72,7 +72,7 @@ public:
{
molten_flameAI(Creature* creature) : NullCreatureAI(creature) { }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
float x, y, z;
me->GetNearPoint(me, x, y, z, 1, 100, float(M_PI*2*rand_norm()));
@@ -88,7 +88,7 @@ class boss_supremus : public CreatureScript
public:
boss_supremus() : CreatureScript("boss_supremus") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_supremusAI>(creature);
}
@@ -105,7 +105,7 @@ public:
SummonList summons;
uint32 phase;
- void Reset() OVERRIDE
+ void Reset() override
{
if (me->IsAlive())
instance->SetBossState(DATA_SUPREMUS, NOT_STARTED);
@@ -116,7 +116,7 @@ public:
summons.DespawnAll();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetBossState(DATA_SUPREMUS, IN_PROGRESS);
@@ -152,19 +152,19 @@ public:
events.ScheduleEvent(EVENT_SWITCH_PHASE, 60000, GCD_CAST);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_SUPREMUS, DONE);
summons.DespawnAll();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summons.Summon(summon);
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
summons.Despawn(summon);
}
@@ -192,7 +192,7 @@ public:
return target;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -256,7 +256,7 @@ class npc_volcano : public CreatureScript
public:
npc_volcano() : CreatureScript("npc_volcano") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_volcanoAI(creature);
}
@@ -268,7 +268,7 @@ public:
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -278,17 +278,17 @@ public:
}
uint32 wait;
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void DoAction(int32 /*info*/) OVERRIDE
+ void DoAction(int32 /*info*/) override
{
me->RemoveAura(SPELL_VOLCANIC_ERUPTION);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 8deac58461c..35521a783be 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -56,7 +56,7 @@ class npc_doom_blossom : public CreatureScript
public:
npc_doom_blossom() : CreatureScript("npc_doom_blossom") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_doom_blossomAI(creature);
}
@@ -69,16 +69,16 @@ public:
uint32 ShadowBoltTimer;
uint64 TeronGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
CheckTeronTimer = 5000;
ShadowBoltTimer = 12000;
TeronGUID = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
void Despawn()
@@ -87,7 +87,7 @@ public:
me->RemoveCorpse();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CheckTeronTimer <= diff)
{
@@ -125,7 +125,7 @@ class npc_shadowy_construct : public CreatureScript
public:
npc_shadowy_construct() : CreatureScript("npc_shadowy_construct") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_shadowy_constructAI(creature);
}
@@ -140,7 +140,7 @@ public:
uint32 CheckPlayerTimer;
uint32 CheckTeronTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
GhostGUID = 0;
TeronGUID = 0;
@@ -149,9 +149,9 @@ public:
CheckTeronTimer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || (!who->IsAlive()) || (who->GetGUID() == GhostGUID))
@@ -161,7 +161,7 @@ public:
}
/* Comment it out for now. NOTE TO FUTURE DEV: UNCOMMENT THIS OUT ONLY AFTER MIND CONTROL IS IMPLEMENTED
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetGUID() != GhostGUID)
damage = 0; // Only the ghost can deal damage.
@@ -186,11 +186,11 @@ public:
if (target && me->IsWithinDistInMap(target, me->GetAttackDistance(target)))
{
DoCast(target, SPELL_ATROPHY);
- me->AI()->AttackStart(target);
+ AttackStart(target);
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CheckPlayerTimer <= diff)
{
@@ -215,7 +215,7 @@ class boss_teron_gorefiend : public CreatureScript
public:
boss_teron_gorefiend() : CreatureScript("boss_teron_gorefiend") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_teron_gorefiendAI>(creature);
}
@@ -244,7 +244,7 @@ public:
bool Intro;
bool Done;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetBossState(DATA_TERON_GOREFIEND, NOT_STARTED);
@@ -265,9 +265,9 @@ public:
Done = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Intro && who->GetTypeId() == TYPEID_PLAYER && me->CanCreatureAttack(who))
@@ -288,12 +288,12 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_TERON_GOREFIEND, DONE);
@@ -378,7 +378,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 39fcbc16297..5228f891294 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -76,7 +76,7 @@ class boss_najentus : public CreatureScript
public:
boss_najentus() : CreatureScript("boss_najentus") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_najentusAI>(creature);
}
@@ -93,7 +93,7 @@ public:
uint64 SpineTargetGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
events.Reset();
@@ -102,20 +102,20 @@ public:
instance->SetBossState(DATA_HIGH_WARLORD_NAJENTUS, NOT_STARTED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
events.DelayEvents(5000, GCD_YELL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_HIGH_WARLORD_NAJENTUS, DONE);
Talk(SAY_DEATH);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_HURL_SPINE && me->HasAura(SPELL_TIDAL_SHIELD))
{
@@ -125,7 +125,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetBossState(DATA_HIGH_WARLORD_NAJENTUS, IN_PROGRESS);
@@ -155,7 +155,7 @@ public:
events.RescheduleEvent(EVENT_SHIELD, 60000 + inc);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -222,7 +222,7 @@ class go_najentus_spine : public GameObjectScript
public:
go_najentus_spine() : GameObjectScript("go_najentus_spine") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
if (Creature* Najentus = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_HIGH_WARLORD_NAJENTUS)))
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 2db95b6ea53..4a4addd253e 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -120,7 +120,7 @@ class npc_blood_elf_council_voice_trigger : public CreatureScript
public:
npc_blood_elf_council_voice_trigger() : CreatureScript("npc_blood_elf_council_voice_trigger") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_blood_elf_council_voice_triggerAI(c);
}
@@ -142,7 +142,7 @@ public:
bool EventStarted;
- void Reset() OVERRIDE
+ void Reset() override
{
EnrageTimer = 900000; // 15 minutes
AggroYellTimer = 500;
@@ -164,13 +164,13 @@ public:
} else TC_LOG_ERROR("scripts", ERROR_INST_DATA);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!EventStarted)
return;
@@ -216,7 +216,7 @@ class npc_illidari_council : public CreatureScript
public:
npc_illidari_council() : CreatureScript("npc_illidari_council") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_illidari_councilAI>(creature);
}
@@ -241,7 +241,7 @@ public:
bool EventBegun;
- void Reset() OVERRIDE
+ void Reset() override
{
CheckTimer = 2000;
EndEventTimer = 0;
@@ -274,9 +274,9 @@ public:
me->SetDisplayId(11686);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
void StartEvent(Unit* target)
@@ -311,7 +311,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!EventBegun)
return;
@@ -390,7 +390,7 @@ struct boss_illidari_councilAI : public ScriptedAI
bool LoadedGUIDs;
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ILLIDARI_COUNCIL)))
CAST_AI(npc_illidari_council::npc_illidari_councilAI, controller->AI())->StartEvent(who);
@@ -403,7 +403,7 @@ struct boss_illidari_councilAI : public ScriptedAI
LoadGUIDs();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
for (uint8 i = 0; i < 4; ++i)
{
@@ -417,7 +417,7 @@ struct boss_illidari_councilAI : public ScriptedAI
ScriptedAI::EnterEvadeMode();
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by == me)
return;
@@ -450,7 +450,7 @@ class boss_gathios_the_shatterer : public CreatureScript
public:
boss_gathios_the_shatterer() : CreatureScript("boss_gathios_the_shatterer") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_gathios_the_shattererAI>(creature);
}
@@ -465,7 +465,7 @@ public:
uint32 AuraTimer;
uint32 BlessingTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ConsecrationTimer = 40000;
HammerOfJusticeTimer = 10000;
@@ -474,12 +474,12 @@ public:
BlessingTimer = 60000;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_GATH_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_GATH_DEATH);
}
@@ -513,7 +513,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -582,7 +582,7 @@ class boss_high_nethermancer_zerevor : public CreatureScript
public:
boss_high_nethermancer_zerevor() : CreatureScript("boss_high_nethermancer_zerevor") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_high_nethermancer_zerevorAI>(creature);
}
@@ -598,7 +598,7 @@ public:
uint32 Cooldown;
uint32 ArcaneExplosionTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
BlizzardTimer = urand(30, 91) * 1000;
FlamestrikeTimer = urand(30, 91) * 1000;
@@ -608,17 +608,17 @@ public:
Cooldown = 0;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_ZERE_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_ZERE_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -686,7 +686,7 @@ class boss_lady_malande : public CreatureScript
public:
boss_lady_malande() : CreatureScript("boss_lady_malande") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lady_malandeAI>(creature);
}
@@ -700,7 +700,7 @@ public:
uint32 DivineWrathTimer;
uint32 ReflectiveShieldTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
EmpoweredSmiteTimer = 38000;
CircleOfHealingTimer = 20000;
@@ -708,17 +708,17 @@ public:
ReflectiveShieldTimer = 0;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_MALA_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_MALA_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -764,7 +764,7 @@ class boss_veras_darkshadow : public CreatureScript
public:
boss_veras_darkshadow() : CreatureScript("boss_veras_darkshadow") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_veras_darkshadowAI>(creature);
}
@@ -781,7 +781,7 @@ public:
bool HasVanished;
- void Reset() OVERRIDE
+ void Reset() override
{
EnvenomTargetGUID = 0;
@@ -794,17 +794,17 @@ public:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_VERA_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_VERA_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -878,7 +878,7 @@ public:
{
PrepareAuraScript(spell_boss_lady_malande_shield_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
return sSpellMgr->GetSpellInfo(SPELL_REFLECTIVE_SHIELD_T);
}
@@ -892,13 +892,13 @@ public:
target->CastCustomSpell(dmgInfo.GetAttacker(), SPELL_REFLECTIVE_SHIELD_T, &bp, NULL, NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_boss_lady_malande_shield_AuraScript::Trigger, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_boss_lady_malande_shield_AuraScript();
}
diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
index 91ee58ea286..5b91367a9c9 100644
--- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
@@ -65,7 +65,7 @@ class instance_black_temple : public InstanceMapScript
memset(IllidanDoorGUIDs, 0, 2 * sizeof(uint64));
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -110,7 +110,7 @@ class instance_black_temple : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -140,7 +140,7 @@ class instance_black_temple : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -161,7 +161,7 @@ class instance_black_temple : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -202,7 +202,7 @@ class instance_black_temple : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -213,7 +213,7 @@ class instance_black_temple : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -266,7 +266,7 @@ class instance_black_temple : public InstanceMapScript
uint64 IllidanDoorGUIDs[2];
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_black_temple_InstanceMapScript(map);
}
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 9055bb1862d..6d43b0e910c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -102,7 +102,7 @@ class boss_fathomlord_karathress : public CreatureScript
public:
boss_fathomlord_karathress() : CreatureScript("boss_fathomlord_karathress") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_fathomlord_karathressAI>(creature);
}
@@ -127,7 +127,7 @@ public:
uint64 Advisors[MAX_ADVISORS];
- void Reset() OVERRIDE
+ void Reset() override
{
CataclysmicBolt_Timer = 10000;
Enrage_Timer = 600000; //10 minutes
@@ -191,12 +191,12 @@ public:
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -206,12 +206,12 @@ public:
me->SummonCreature(SEER_OLUM, OLUM_X, OLUM_Y, OLUM_Z, OLUM_O, TEMPSUMMON_TIMED_DESPAWN, 3600000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
StartEvent(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
@@ -298,7 +298,7 @@ class boss_fathomguard_sharkkis : public CreatureScript
public:
boss_fathomguard_sharkkis() : CreatureScript("boss_fathomguard_sharkkis") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_fathomguard_sharkkisAI>(creature);
}
@@ -322,7 +322,7 @@ public:
uint64 SummonedPet;
- void Reset() OVERRIDE
+ void Reset() override
{
LeechingThrow_Timer = 20000;
TheBeastWithin_Timer = 30000;
@@ -340,19 +340,19 @@ public:
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
CAST_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventSharkkisDeath();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
@@ -437,7 +437,7 @@ class boss_fathomguard_tidalvess : public CreatureScript
public:
boss_fathomguard_tidalvess() : CreatureScript("boss_fathomguard_tidalvess") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_fathomguard_tidalvessAI>(creature);
}
@@ -456,7 +456,7 @@ public:
uint32 PoisonCleansing_Timer;
uint32 Earthbind_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
FrostShock_Timer = 25000;
Spitfire_Timer = 60000;
@@ -466,20 +466,20 @@ public:
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
CAST_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventTidalvessDeath();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
DoCast(me, SPELL_WINDFURY_WEAPON);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
@@ -553,7 +553,7 @@ class boss_fathomguard_caribdis : public CreatureScript
public:
boss_fathomguard_caribdis() : CreatureScript("boss_fathomguard_caribdis") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_fathomguard_caribdisAI>(creature);
}
@@ -572,7 +572,7 @@ public:
uint32 Heal_Timer;
uint32 Cyclone_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
WaterBoltVolley_Timer = 35000;
TidalSurge_Timer = 15000+rand()%5000;
@@ -582,19 +582,19 @@ public:
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
CAST_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventCaribdisDeath();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
@@ -626,7 +626,8 @@ public:
{
DoCastVictim(SPELL_TIDAL_SURGE);
// Hacky way to do it - won't trigger elseways
- me->GetVictim()->CastSpell(me->GetVictim(), SPELL_TIDAL_SURGE_FREEZE, true);
+ if (me->GetVictim())
+ me->EnsureVictim()->CastSpell(me->GetVictim(), SPELL_TIDAL_SURGE_FREEZE, true);
TidalSurge_Timer = 15000+rand()%5000;
} else TidalSurge_Timer -= diff;
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 56055d8a5b4..c4d21d30328 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
@@ -84,7 +84,7 @@ class boss_hydross_the_unstable : public CreatureScript
public:
boss_hydross_the_unstable() : CreatureScript("boss_hydross_the_unstable") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_hydross_the_unstableAI>(creature);
}
@@ -113,7 +113,7 @@ public:
bool beam;
SummonList Summons;
- void Reset() OVERRIDE
+ void Reset() override
{
DeSummonBeams();
beams[0] = 0;
@@ -169,19 +169,19 @@ public:
}
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(CorruptedForm ? SAY_CORRUPT_SLAY : SAY_CLEAN_SLAY);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == ENTRY_PURE_SPAWN)
{
@@ -197,12 +197,12 @@ public:
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
Summons.Despawn(summon);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(CorruptedForm ? SAY_CORRUPT_DEATH : SAY_CLEAN_DEATH);
@@ -210,7 +210,7 @@ public:
Summons.DespawnAll();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 8d6eb064194..dbf0c419fad 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -138,7 +138,7 @@ class boss_lady_vashj : public CreatureScript
public:
boss_lady_vashj() : CreatureScript("boss_lady_vashj") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lady_vashjAI>(creature);
}
@@ -179,7 +179,7 @@ public:
bool CanAttack;
bool JustCreated;
- void Reset() OVERRIDE
+ void Reset() override
{
AggroTimer = 19000;
ShockBlastTimer = 1+rand()%60000;
@@ -227,12 +227,12 @@ public:
if (TaintedElementalTimer > 50000)
TaintedElementalTimer = 50000;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -248,7 +248,7 @@ public:
instance->SetData(DATA_LADYVASHJEVENT, IN_PROGRESS);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
// remove old tainted cores to prevent cheating in phase 2
Map* map = me->GetMap();
@@ -262,7 +262,7 @@ public:
AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Intro)
@@ -310,7 +310,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!CanAttack && Intro)
{
@@ -548,7 +548,7 @@ class npc_enchanted_elemental : public CreatureScript
public:
npc_enchanted_elemental() : CreatureScript("npc_enchanted_elemental") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_enchanted_elementalAI>(creature);
}
@@ -567,7 +567,7 @@ public:
uint64 VashjGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetSpeed(MOVE_WALK, 0.6f); // walk
me->SetSpeed(MOVE_RUN, 0.6f); // run
@@ -592,12 +592,12 @@ public:
VashjGUID = instance->GetData64(DATA_LADYVASHJ);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!VashjGUID)
return;
@@ -637,7 +637,7 @@ class npc_tainted_elemental : public CreatureScript
public:
npc_tainted_elemental() : CreatureScript("npc_tainted_elemental") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_tainted_elementalAI>(creature);
}
@@ -654,24 +654,24 @@ public:
uint32 PoisonBoltTimer;
uint32 DespawnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
PoisonBoltTimer = 5000+rand()%5000;
DespawnTimer = 30000;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* vashj = Unit::GetCreature((*me), instance->GetData64(DATA_LADYVASHJ)))
CAST_AI(boss_lady_vashj::boss_lady_vashjAI, vashj->AI())->EventTaintedElementalDeath();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
me->AddThreat(who, 0.1f);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// PoisonBoltTimer
if (PoisonBoltTimer <= diff)
@@ -705,7 +705,7 @@ class npc_toxic_sporebat : public CreatureScript
public:
npc_toxic_sporebat() : CreatureScript("npc_toxic_sporebat") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_toxic_sporebatAI>(creature);
}
@@ -725,7 +725,7 @@ public:
uint32 BoltTimer;
uint32 CheckTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetDisableGravity(true);
me->setFaction(14);
@@ -735,12 +735,12 @@ public:
CheckTimer = 1000;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -749,7 +749,7 @@ public:
MovementTimer = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// Random movement
if (MovementTimer <= diff)
@@ -801,7 +801,7 @@ class npc_shield_generator_channel : public CreatureScript
public:
npc_shield_generator_channel() : CreatureScript("npc_shield_generator_channel") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_shield_generator_channelAI>(creature);
}
@@ -817,7 +817,7 @@ public:
uint32 CheckTimer;
bool Cast;
- void Reset() OVERRIDE
+ void Reset() override
{
CheckTimer = 0;
Cast = false;
@@ -826,10 +826,10 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CheckTimer <= diff)
{
@@ -856,7 +856,7 @@ class item_tainted_core : public ItemScript
public:
item_tainted_core() : ItemScript("item_tainted_core") { }
- bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const& targets) OVERRIDE
+ bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const& targets) override
{
InstanceScript* instance = player->GetInstanceScript();
if (!instance)
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 f9370b44c20..462babdc597 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
@@ -74,7 +74,7 @@ class npc_inner_demon : public CreatureScript
public:
npc_inner_demon() : CreatureScript("npc_inner_demon") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_inner_demonAI(creature);
}
@@ -91,33 +91,33 @@ public:
uint32 Link_Timer;
uint64 victimGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBolt_Timer = 10000;
Link_Timer = 1000;
}
- void SetGUID(uint64 guid, int32 id/* = 0 */) OVERRIDE
+ void SetGUID(uint64 guid, int32 id/* = 0 */) override
{
if (id == INNER_DEMON_VICTIM)
victimGUID = guid;
}
- uint64 GetGUID(int32 id/* = 0 */) const OVERRIDE
+ uint64 GetGUID(int32 id/* = 0 */) const override
{
if (id == INNER_DEMON_VICTIM)
return victimGUID;
return 0;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Unit* unit = Unit::GetUnit(*me, victimGUID);
if (unit && unit->HasAura(SPELL_INSIDIOUS_WHISPER))
unit->RemoveAurasDueToSpell(SPELL_INSIDIOUS_WHISPER);
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetGUID() != victimGUID && done_by->GetGUID() != me->GetGUID())
{
@@ -126,19 +126,19 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!victimGUID)
return;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
return;
- if (me->GetVictim()->GetGUID() != victimGUID)
+ if (me->EnsureVictim()->GetGUID() != victimGUID)
{
DoModifyThreatPercent(me->GetVictim(), -100);
Unit* owner = Unit::GetUnit(*me, victimGUID);
@@ -179,7 +179,7 @@ class boss_leotheras_the_blind : public CreatureScript
public:
boss_leotheras_the_blind() : CreatureScript("boss_leotheras_the_blind") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_leotheras_the_blindAI>(creature);
}
@@ -218,7 +218,7 @@ public:
uint64 Demon;
uint64 SpellBinderGUID[3];
- void Reset() OVERRIDE
+ void Reset() override
{
CheckChannelers();
BanishTimer = 1000;
@@ -263,7 +263,7 @@ public:
SpellBinderGUID[i] = binder->GetGUID();
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasAura(AURA_BANISH))
@@ -382,7 +382,7 @@ public:
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -390,7 +390,7 @@ public:
Talk(DemonForm ? SAY_DEMON_SLAY : SAY_NIGHTELF_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -403,7 +403,7 @@ public:
instance->SetData(DATA_LEOTHERASTHEBLINDEVENT, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (me->HasAura(AURA_BANISH))
return;
@@ -411,7 +411,7 @@ public:
me->LoadEquipment();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (me->HasAura(AURA_BANISH) || !UpdateVictim())
@@ -519,7 +519,7 @@ public:
for (ThreatContainer::StorageType::const_iterator itr = ThreatList.begin(); itr != ThreatList.end(); ++itr)
{
Unit* tempTarget = Unit::GetUnit(*me, (*itr)->getUnitGuid());
- if (tempTarget && tempTarget->GetTypeId() == TYPEID_PLAYER && tempTarget->GetGUID() != me->GetVictim()->GetGUID() && TargetList.size()<5)
+ if (tempTarget && tempTarget->GetTypeId() == TYPEID_PLAYER && tempTarget->GetGUID() != me->EnsureVictim()->GetGUID() && TargetList.size()<5)
TargetList.push_back(tempTarget);
}
//SpellInfo* spell = GET_SPELL(SPELL_INSIDIOUS_WHISPER);
@@ -599,7 +599,7 @@ class boss_leotheras_the_blind_demonform : public CreatureScript
public:
boss_leotheras_the_blind_demonform() : CreatureScript("boss_leotheras_the_blind_demonform") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_leotheras_the_blind_demonformAI(creature);
}
@@ -611,7 +611,7 @@ public:
uint32 ChaosBlast_Timer;
bool DealDamage;
- void Reset() OVERRIDE
+ void Reset() override
{
ChaosBlast_Timer = 1000;
DealDamage = true;
@@ -622,7 +622,7 @@ public:
Talk(SAY_FREE);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -630,18 +630,18 @@ public:
Talk(SAY_DEMON_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
//invisibility (blizzlike, at the end of the fight he doesn't die, he disappears)
DoCast(me, 8149, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
StartEvent();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -672,7 +672,7 @@ class npc_greyheart_spellbinder : public CreatureScript
public:
npc_greyheart_spellbinder() : CreatureScript("npc_greyheart_spellbinder") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_greyheart_spellbinderAI>(creature);
}
@@ -695,7 +695,7 @@ public:
bool AddedBanish;
- void Reset() OVERRIDE
+ void Reset() override
{
Mindblast_Timer = urand(3000, 8000);
Earthshock_Timer = urand(5000, 10000);
@@ -706,13 +706,13 @@ public:
CAST_AI(boss_leotheras_the_blind::boss_leotheras_the_blindAI, leotheras->AI())->CheckChannelers(/*false*/);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
me->InterruptNonMeleeSpells(false);
instance->SetData64(DATA_LEOTHERAS_EVENT_STARTER, who->GetGUID());
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
AddedBanish = false;
Reset();
@@ -731,7 +731,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!leotherasGUID)
leotherasGUID = instance->GetData64(DATA_LEOTHERAS);
@@ -791,7 +791,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE { }
+ void JustDied(Unit* /*killer*/) override { }
};
};
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 718c32cd8ae..1f58573465f 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -79,7 +79,7 @@ class boss_the_lurker_below : public CreatureScript
public:
boss_the_lurker_below() : CreatureScript("boss_the_lurker_below") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_the_lurker_belowAI>(creature);
}
@@ -117,7 +117,7 @@ public:
return true;
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetSwim(true);
me->SetDisableGravity(true);
@@ -147,7 +147,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_THELURKERBELOWEVENT, DONE);
instance->SetData(DATA_STRANGE_POOL, IN_PROGRESS);
@@ -155,12 +155,12 @@ public:
Summons.DespawnAll();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_THELURKERBELOWEVENT, IN_PROGRESS);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!CanStartEvent) // boss is invisible, don't attack
@@ -173,13 +173,13 @@ public:
}
}
- void MovementInform(uint32 type, uint32 /*id*/) OVERRIDE
+ void MovementInform(uint32 type, uint32 /*id*/) override
{
if (type == ROTATE_MOTION_TYPE)
me->SetReactState(REACT_AGGRESSIVE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!CanStartEvent) // boss is invisible, don't attack
{
@@ -365,7 +365,7 @@ class npc_coilfang_ambusher : public CreatureScript
public:
npc_coilfang_ambusher() : CreatureScript("npc_coilfang_ambusher") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_coilfang_ambusherAI(creature);
}
@@ -380,13 +380,13 @@ public:
uint32 MultiShotTimer;
uint32 ShootBowTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
MultiShotTimer = 10000;
ShootBowTimer = 4000;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || me->GetVictim())
@@ -396,7 +396,7 @@ public:
AttackStart(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (MultiShotTimer <= diff)
{
@@ -425,7 +425,7 @@ class go_strange_pool : public GameObjectScript
public:
go_strange_pool() : GameObjectScript("go_strange_pool") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
// 25%
if (InstanceScript* instanceScript = go->GetInstanceScript())
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 77fd36f2f5e..75d2026537e 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -89,7 +89,7 @@ class boss_morogrim_tidewalker : public CreatureScript
public:
boss_morogrim_tidewalker() : CreatureScript("boss_morogrim_tidewalker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_morogrim_tidewalkerAI>(creature);
}
@@ -116,7 +116,7 @@ public:
bool Earthquake;
bool Phase2;
- void Reset() OVERRIDE
+ void Reset() override
{
TidalWave_Timer = 10000;
WateryGrave_Timer = 30000;
@@ -140,19 +140,19 @@ public:
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
PlayerList = &me->GetMap()->GetPlayers();
Playercount = PlayerList->getSize();
@@ -170,7 +170,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -289,7 +289,7 @@ class npc_water_globule : public CreatureScript
public:
npc_water_globule() : CreatureScript("npc_water_globule") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_water_globuleAI(creature);
}
@@ -300,7 +300,7 @@ public:
uint32 Check_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Check_Timer = 1000;
@@ -309,9 +309,9 @@ public:
me->setFaction(14);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || me->GetVictim())
@@ -325,7 +325,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
index 528726723ed..bc557d97ef5 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
@@ -64,7 +64,7 @@ class go_bridge_console : public GameObjectScript
public:
go_bridge_console() : GameObjectScript("go_bridge_console") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
@@ -89,7 +89,7 @@ class instance_serpent_shrine : public InstanceMapScript
{
}
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -122,7 +122,7 @@ class instance_serpent_shrine : public InstanceMapScript
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -131,7 +131,7 @@ class instance_serpent_shrine : public InstanceMapScript
return false;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
//Water checks
if (WaterCheckTimer <= diff)
@@ -191,7 +191,7 @@ class instance_serpent_shrine : public InstanceMapScript
FrenzySpawnTimer -= diff;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -216,7 +216,7 @@ class instance_serpent_shrine : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -246,7 +246,7 @@ class instance_serpent_shrine : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) OVERRIDE
+ void SetData64(uint32 type, uint64 data) override
{
if (type == DATA_KARATHRESSEVENT_STARTER)
KarathressEvent_Starter = data;
@@ -254,7 +254,7 @@ class instance_serpent_shrine : public InstanceMapScript
LeotherasEventStarter = data;
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -282,7 +282,7 @@ class instance_serpent_shrine : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -352,7 +352,7 @@ class instance_serpent_shrine : public InstanceMapScript
SaveToDB();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -392,7 +392,7 @@ class instance_serpent_shrine : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
std::ostringstream stream;
@@ -402,7 +402,7 @@ class instance_serpent_shrine : public InstanceMapScript
return stream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -447,7 +447,7 @@ class instance_serpent_shrine : public InstanceMapScript
bool DoSpawnFrenzy;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_serpentshrine_cavern_InstanceMapScript(map);
}
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 70b36e31713..848e9140f25 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
@@ -39,7 +39,7 @@ class boss_hydromancer_thespia : public CreatureScript
public:
boss_hydromancer_thespia() : CreatureScript("boss_hydromancer_thespia") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_thespiaAI>(creature);
}
@@ -57,7 +57,7 @@ public:
uint32 LungBurst_Timer;
uint32 EnvelopingWinds_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
LightningCloud_Timer = 15000;
LungBurst_Timer = 7000;
@@ -66,26 +66,26 @@ public:
instance->SetBossState(DATA_HYDROMANCER_THESPIA, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEAD);
instance->SetBossState(DATA_HYDROMANCER_THESPIA, DONE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetBossState(DATA_HYDROMANCER_THESPIA, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -136,7 +136,7 @@ class npc_coilfang_waterelemental : public CreatureScript
public:
npc_coilfang_waterelemental() : CreatureScript("npc_coilfang_waterelemental") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_coilfang_waterelementalAI(creature);
}
@@ -147,14 +147,14 @@ public:
uint32 WaterBoltVolley_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
WaterBoltVolley_Timer = 3000+rand()%3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 3661ebc8cc3..5dbc6a91418 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -55,7 +55,7 @@ class boss_mekgineer_steamrigger : public CreatureScript
public:
boss_mekgineer_steamrigger() : CreatureScript("boss_mekgineer_steamrigger") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_mekgineer_steamriggerAI>(creature);
}
@@ -76,7 +76,7 @@ public:
bool Summon50;
bool Summon25;
- void Reset() OVERRIDE
+ void Reset() override
{
Shrink_Timer = 20000;
Saw_Blade_Timer = 15000;
@@ -89,19 +89,19 @@ public:
instance->SetBossState(DATA_MEKGINEER_STEAMRIGGER, NOT_STARTED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_MEKGINEER_STEAMRIGGER, DONE);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
@@ -123,7 +123,7 @@ public:
DoSpawnCreature(NPC_STREAMRIGGER_MECHANIC, 7, -5, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 240000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -192,7 +192,7 @@ class npc_steamrigger_mechanic : public CreatureScript
public:
npc_steamrigger_mechanic() : CreatureScript("npc_steamrigger_mechanic") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_steamrigger_mechanicAI>(creature);
}
@@ -208,19 +208,19 @@ public:
uint32 Repair_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Repair_Timer = 2000;
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
+ void MoveInLineOfSight(Unit* /*who*/) override
{
//react only if attacked
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
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 fe035fc1dec..536ea77a98b 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
@@ -48,7 +48,7 @@ class npc_naga_distiller : public CreatureScript
public:
npc_naga_distiller() : CreatureScript("npc_naga_distiller") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_naga_distillerAI>(creature);
}
@@ -62,7 +62,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -75,7 +75,7 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void StartRageGen(Unit* /*caster*/)
{
@@ -87,7 +87,7 @@ public:
instance->SetData(DATA_DISTILLER, IN_PROGRESS);
}
- void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
{
if (me->GetHealth() <= damage)
instance->SetData(DATA_DISTILLER, DONE);
@@ -101,7 +101,7 @@ class boss_warlord_kalithresh : public CreatureScript
public:
boss_warlord_kalithresh() : CreatureScript("boss_warlord_kalithresh") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_warlord_kalithreshAI>(creature);
}
@@ -120,7 +120,7 @@ public:
uint32 Rage_Timer;
bool CanRage;
- void Reset() OVERRIDE
+ void Reset() override
{
Reflection_Timer = 10000;
Impale_Timer = 7000+rand()%7000;
@@ -130,19 +130,19 @@ public:
instance->SetBossState(DATA_WARLORD_KALITHRESH, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetBossState(DATA_WARLORD_KALITHRESH, IN_PROGRESS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
//hack :(
if (spell->Id == SPELL_WARLORDS_RAGE_PROC)
@@ -150,14 +150,14 @@ public:
me->RemoveAurasDueToSpell(SPELL_WARLORDS_RAGE_PROC);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
instance->SetBossState(DATA_WARLORD_KALITHRESH, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
index bd2d4d5f416..19e8c5187ba 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
@@ -24,7 +24,7 @@ class go_main_chambers_access_panel : public GameObjectScript
public:
go_main_chambers_access_panel() : GameObjectScript("go_main_chambers_access_panel") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
if (!instance)
@@ -65,7 +65,7 @@ class instance_steam_vault : public InstanceMapScript
DistillerState = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -83,7 +83,7 @@ class instance_steam_vault : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -95,7 +95,7 @@ class instance_steam_vault : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -111,20 +111,20 @@ class instance_steam_vault : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
if (type == DATA_DISTILLER)
DistillerState = data;
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_DISTILLER)
return DistillerState;
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -156,7 +156,7 @@ class instance_steam_vault : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -167,7 +167,7 @@ class instance_steam_vault : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -208,7 +208,7 @@ class instance_steam_vault : public InstanceMapScript
uint8 DistillerState;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_steam_vault_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
index 7243b6e6738..1037f92cc42 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
@@ -60,18 +60,18 @@ class boss_mennu_the_betrayer : public CreatureScript
{
boss_mennu_the_betrayerAI(Creature* creature) : BossAI(creature, DATA_MENNU_THE_BETRAYER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_TAINTED_STONESKIN_TOTEM, 30000);
@@ -82,12 +82,12 @@ class boss_mennu_the_betrayer : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -129,7 +129,7 @@ class boss_mennu_the_betrayer : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_mennu_the_betrayerAI(creature);
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp
index 856e90405cb..a71c9660623 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp
@@ -51,17 +51,17 @@ class boss_quagmirran : public CreatureScript
{
boss_quagmirranAI(Creature* creature) : BossAI(creature, DATA_QUAGMIRRAN) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_ACID_SPRAY, 25000);
@@ -70,9 +70,9 @@ class boss_quagmirran : public CreatureScript
events.ScheduleEvent(EVENT_POISON_BOLT_VOLLEY, 31000);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE { }
+ void KilledUnit(Unit* /*victim*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -112,7 +112,7 @@ class boss_quagmirran : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_quagmirranAI(creature);
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
index a819b59d359..6fb41f2eab5 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
@@ -50,18 +50,18 @@ class boss_rokmar_the_crackler : public CreatureScript
{
boss_rokmar_the_cracklerAI(Creature* creature) : BossAI(creature, DATA_MENNU_THE_BETRAYER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
rokmarFrenzy = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_GRIEVOUS_WOUND, 10000);
@@ -69,9 +69,9 @@ class boss_rokmar_the_crackler : public CreatureScript
events.ScheduleEvent(EVENT_WATER_SPIT, 14000);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE { }
+ void KilledUnit(Unit* /*victim*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -115,7 +115,7 @@ class boss_rokmar_the_crackler : public CreatureScript
bool rokmarFrenzy;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_rokmar_the_cracklerAI(creature);
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
index e942d0987fc..b6860d3e74c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
@@ -31,7 +31,7 @@ class instance_the_slave_pens : public InstanceMapScript
public:
instance_the_slave_pens() : InstanceMapScript(SPScriptName, 547) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_slave_pens_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
index 1ea58bce0ca..ae7d5fd2308 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
@@ -41,7 +41,7 @@ class boss_hungarfen : public CreatureScript
public:
boss_hungarfen() : CreatureScript("boss_hungarfen") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_hungarfenAI(creature);
}
@@ -56,18 +56,18 @@ public:
uint32 Mushroom_Timer;
uint32 AcidGeyser_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Root = false;
Mushroom_Timer = 5000; // 1 mushroom after 5s, then one per 10s. This should be different in heroic mode
AcidGeyser_Timer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -109,7 +109,7 @@ class npc_underbog_mushroom : public CreatureScript
public:
npc_underbog_mushroom() : CreatureScript("npc_underbog_mushroom") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_underbog_mushroomAI(creature);
}
@@ -122,7 +122,7 @@ public:
uint32 Grow_Timer;
uint32 Shrink_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Stop = false;
Grow_Timer = 0;
@@ -132,14 +132,14 @@ public:
DoCast(me, SPELL_SPORE_CLOUD, true);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Stop)
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
index 13ebf22436c..4f8c9390ba4 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
@@ -47,7 +47,7 @@ class boss_the_black_stalker : public CreatureScript
public:
boss_the_black_stalker() : CreatureScript("boss_the_black_stalker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_the_black_stalkerAI(creature);
}
@@ -68,7 +68,7 @@ public:
uint32 check_Timer;
std::list<uint64> Striders;
- void Reset() OVERRIDE
+ void Reset() override
{
Levitate_Timer = 12000;
ChainLightning_Timer = 6000;
@@ -80,9 +80,9 @@ public:
Striders.clear();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon && summon->GetEntry() == ENTRY_SPORE_STRIDER)
{
@@ -95,14 +95,14 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
for (std::list<uint64>::const_iterator i = Striders.begin(); i != Striders.end(); ++i)
if (Creature* strider = Unit::GetCreature(*me, *i))
strider->DisappearAndDie();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
index 9249cadbe49..f950a61133e 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
@@ -30,7 +30,7 @@ class instance_the_underbog : public InstanceMapScript
public:
instance_the_underbog() : InstanceMapScript("instance_the_underbog", 546) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_underbog_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
index 917dda1389a..592ffc1f69e 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp
@@ -83,7 +83,7 @@ class boss_gruul : public CreatureScript
bool m_bPerformingGroundSlam;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
m_uiGrowth_Timer= 30000;
@@ -95,25 +95,25 @@ class boss_gruul : public CreatureScript
m_uiReverberation_Timer= 60000+45000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void SpellHitTarget(Unit* target, const SpellInfo* pSpell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* pSpell) override
{
//This to emulate effect1 (77) of SPELL_GROUND_SLAM, knock back to any direction
//It's initially wrong, since this will cause fall damage, which is by comments, not intended.
@@ -153,7 +153,7 @@ class boss_gruul : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -250,7 +250,7 @@ class boss_gruul : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_gruulAI>(creature);
}
@@ -265,7 +265,7 @@ class spell_gruul_shatter : public SpellScriptLoader
{
PrepareSpellScript(spell_gruul_shatter_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_STONED))
return false;
@@ -283,13 +283,13 @@ class spell_gruul_shatter : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gruul_shatter_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gruul_shatter_SpellScript();
}
@@ -318,13 +318,13 @@ class spell_gruul_shatter_effect : public SpellScriptLoader
SetHitDamage(int32(GetHitDamage() * ((radius - distance) / radius)));
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_gruul_shatter_effect_SpellScript::CalculateDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gruul_shatter_effect_SpellScript();
}
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 f14e6badc35..c1e9d0a2b91 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
@@ -90,7 +90,7 @@ public:
bool Phase2;
- void Reset() OVERRIDE
+ void Reset() override
{
ArcingSmash_Timer = 10000;
MightyBlow_Timer = 40000;
@@ -105,12 +105,12 @@ public:
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -123,14 +123,14 @@ public:
Talk(SAY_OGRE_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -194,7 +194,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_high_king_maulgarAI>(creature);
}
@@ -218,7 +218,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
DarkDecay_Timer = 10000;
Summon_Timer = 15000;
@@ -227,7 +227,7 @@ public:
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who)
return;
@@ -242,13 +242,13 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
@@ -256,7 +256,7 @@ public:
instance->SetBossState(DATA_MAULGAR, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -289,7 +289,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_olm_the_summonerAI>(creature);
}
@@ -315,7 +315,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
GreaterPolymorph_Timer = 5000;
LightningBolt_Timer = 10000;
@@ -325,13 +325,13 @@ public:
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
@@ -339,7 +339,7 @@ public:
instance->SetBossState(DATA_MAULGAR, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -378,7 +378,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_kiggler_the_crazedAI>(creature);
}
@@ -402,7 +402,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
GreaterPowerWordShield_Timer = 5000;
Heal_Timer = urand(25000, 40000);
@@ -411,13 +411,13 @@ public:
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
@@ -425,7 +425,7 @@ public:
instance->SetBossState(DATA_MAULGAR, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -455,7 +455,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_blindeye_the_seerAI>(creature);
}
@@ -479,7 +479,7 @@ public:
InstanceScript* instance;
- void Reset() OVERRIDE
+ void Reset() override
{
GreaterFireball_Timer = 1000;
SpellShield_Timer = 5000;
@@ -488,13 +488,13 @@ public:
instance->SetBossState(DATA_MAULGAR, NOT_STARTED);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
instance->SetBossState(DATA_MAULGAR, IN_PROGRESS);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
@@ -502,7 +502,7 @@ public:
instance->SetBossState(DATA_MAULGAR, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -546,7 +546,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetGruulsLairAI<boss_krosh_firehandAI>(creature);
}
diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
index caba33e1513..ae3971a943e 100644
--- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
+++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
@@ -51,7 +51,7 @@ class instance_gruuls_lair : public InstanceMapScript
MaulgarGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -69,7 +69,7 @@ class instance_gruuls_lair : public InstanceMapScript
}
}
- void OnCreatureRemove(Creature* creature) OVERRIDE
+ void OnCreatureRemove(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -85,7 +85,7 @@ class instance_gruuls_lair : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -98,7 +98,7 @@ class instance_gruuls_lair : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -111,7 +111,7 @@ class instance_gruuls_lair : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -123,7 +123,7 @@ class instance_gruuls_lair : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -134,7 +134,7 @@ class instance_gruuls_lair : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -170,7 +170,7 @@ class instance_gruuls_lair : public InstanceMapScript
uint64 MaulgarGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_gruuls_lair_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index f610d6dd7e0..063a30ca875 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -57,7 +57,7 @@ class boss_broggok : public CreatureScript
uint32 PoisonBolt_Timer;
bool canAttack;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
AcidSpray_Timer = 10000;
@@ -66,13 +66,13 @@ class boss_broggok : public CreatureScript
DoAction(ACTION_RESET_BROGGOK);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -107,12 +107,12 @@ class boss_broggok : public CreatureScript
DoMeleeAttackIfReady();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -134,7 +134,7 @@ class boss_broggok : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBloodFurnaceAI<boss_broggokAI>(creature);
}
@@ -153,15 +153,15 @@ class npc_broggok_poison_cloud : public CreatureScript
creature->SetReactState(REACT_PASSIVE);
}
- void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
+ void IsSummonedBy(Unit* /*summoner*/) override
{
DoCast(me, SPELL_POISON_CLOUD_PASSIVE, true);
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_broggok_poison_cloudAI(creature);
}
@@ -172,7 +172,7 @@ class go_broggok_lever : public GameObjectScript
public:
go_broggok_lever() : GameObjectScript("go_broggok_lever") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetBossState(DATA_BROGGOK) != DONE && instance->GetBossState(DATA_BROGGOK) != IN_PROGRESS)
@@ -197,7 +197,7 @@ class spell_broggok_poison_cloud : public SpellScriptLoader
{
PrepareAuraScript(spell_broggok_poison_cloud_AuraScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].TriggerSpell))
return false;
@@ -213,13 +213,13 @@ class spell_broggok_poison_cloud : public SpellScriptLoader
GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, mod, (Unit*)NULL, TRIGGERED_FULL_MASK, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_broggok_poison_cloud_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_broggok_poison_cloud_AuraScript();
}
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 4c04c06b091..066772cb0f7 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
@@ -78,7 +78,7 @@ class boss_kelidan_the_breaker : public CreatureScript
bool addYell;
uint64 Channelers[5];
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
ShadowVolley_Timer = 1000;
@@ -92,7 +92,7 @@ class boss_kelidan_the_breaker : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_EnterCombat();
Talk(SAY_WAKE);
@@ -101,7 +101,7 @@ class boss_kelidan_the_breaker : public CreatureScript
DoStartMovement(who);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (rand()%2)
return;
@@ -135,7 +135,7 @@ class boss_kelidan_the_breaker : public CreatureScript
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE);
if (killer)
- me->AI()->AttackStart(killer);
+ AttackStart(killer);
}
uint64 GetChanneled(Creature* channeler1)
@@ -168,13 +168,13 @@ class boss_kelidan_the_breaker : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DIE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -246,7 +246,7 @@ class boss_kelidan_the_breaker : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBloodFurnaceAI<boss_kelidan_the_breakerAI>(creature);
}
@@ -279,7 +279,7 @@ class npc_shadowmoon_channeler : public CreatureScript
uint32 MarkOfShadow_Timer;
uint32 check_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBolt_Timer = 1000+rand()%1000;
MarkOfShadow_Timer = 5000+rand()%2000;
@@ -288,7 +288,7 @@ class npc_shadowmoon_channeler : public CreatureScript
me->InterruptNonMeleeSpells(true);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100))
CAST_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->ChannelerEngaged(who);
@@ -297,13 +297,13 @@ class npc_shadowmoon_channeler : public CreatureScript
DoStartMovement(who);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100))
CAST_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->ChannelerDied(killer);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -344,7 +344,7 @@ class npc_shadowmoon_channeler : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBloodFurnaceAI<npc_shadowmoon_channelerAI>(creature);
}
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 6ab356bfa4a..a24abac44d6 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
@@ -56,7 +56,7 @@ class boss_the_maker : public CreatureScript
uint32 Domination_Timer;
uint32 Knockdown_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
AcidSpray_Timer = 15000;
@@ -65,25 +65,25 @@ class boss_the_maker : public CreatureScript
Knockdown_Timer = 10000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DIE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -129,7 +129,7 @@ class boss_the_maker : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetBloodFurnaceAI<boss_the_makerAI>(creature);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
index bc399e4b43f..4f1200be37b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -63,7 +63,7 @@ class instance_blood_furnace : public InstanceMapScript
PrisonerCounter8 = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -84,13 +84,13 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- void OnUnitDeath(Unit* unit) OVERRIDE
+ void OnUnitDeath(Unit* unit) override
{
if (unit->GetTypeId() == TYPEID_UNIT && unit->GetEntry() == NPC_PRISONER)
PrisonerDied(unit->GetGUID());
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -136,7 +136,7 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -153,7 +153,7 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -170,7 +170,7 @@ class instance_blood_furnace : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -322,7 +322,7 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -333,7 +333,7 @@ class instance_blood_furnace : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -386,7 +386,7 @@ class instance_blood_furnace : public InstanceMapScript
uint8 PrisonerCounter8;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_blood_furnace_InstanceMapScript(map);
}
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 a68b3181e6f..b735a831e35 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
@@ -63,7 +63,7 @@ class boss_omor_the_unscarred : public CreatureScript
SetCombatMovement(false);
}
- void Reset() OVERRIDE
+ void Reset() override
{
Talk(SAY_WIPE);
@@ -80,13 +80,13 @@ class boss_omor_the_unscarred : public CreatureScript
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (rand()%2)
return;
@@ -94,7 +94,7 @@ class boss_omor_the_unscarred : public CreatureScript
Talk(SAY_KILL_1);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
Talk(SAY_SUMMON);
@@ -104,13 +104,13 @@ class boss_omor_the_unscarred : public CreatureScript
++SummonedCount;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DIE);
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -222,7 +222,7 @@ class boss_omor_the_unscarred : public CreatureScript
bool CanPullBack;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_omor_the_unscarredAI>(creature);
}
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 1193e45e73b..424090c87d0 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
@@ -76,22 +76,22 @@ class boss_nazan : public CreatureScript
flight = true;
}
- void Reset() OVERRIDE
+ void Reset() override
{
Fireball_Timer = 4000;
Fly_Timer = 45000;
Turn_Timer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (summoner->GetEntry() == NPC_VAZRUDEN_HERALD)
VazrudenGUID = summoner->GetGUID();
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned && summoned->GetEntry() == NPC_LIQUID_FIRE)
{
@@ -102,13 +102,13 @@ class boss_nazan : public CreatureScript
}
}
- void SpellHitTarget(Unit* target, const SpellInfo* entry) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* entry) override
{
if (target && entry->Id == uint32(SPELL_FIREBALL))
me->SummonCreature(NPC_LIQUID_FIRE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -134,7 +134,7 @@ class boss_nazan : public CreatureScript
me->SetWalk(true);
me->GetMotionMaster()->Clear();
if (Unit* victim = SelectTarget(SELECT_TARGET_NEAREST, 0))
- me->AI()->AttackStart(victim);
+ AttackStart(victim);
DoStartMovement(me->GetVictim());
Talk(EMOTE);
return;
@@ -188,7 +188,7 @@ class boss_nazan : public CreatureScript
uint64 VazrudenGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_nazanAI(creature);
}
@@ -203,7 +203,7 @@ class boss_vazruden : public CreatureScript
{
boss_vazrudenAI(Creature* creature) : BossAI(creature, DATA_VAZRUDEN) { }
- void Reset() OVERRIDE
+ void Reset() override
{
Revenge_Timer = 4000;
UnsummonCheck = 2000;
@@ -211,26 +211,26 @@ class boss_vazruden : public CreatureScript
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
_EnterCombat();
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who && who->GetEntry() != NPC_VAZRUDEN)
Talk(SAY_KILL);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer && killer != me)
Talk(SAY_DIE);
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -266,7 +266,7 @@ class boss_vazruden : public CreatureScript
uint32 UnsummonCheck;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_vazrudenAI(creature);
}
@@ -288,7 +288,7 @@ class boss_vazruden_the_herald : public CreatureScript
VazrudenGUID = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
phase = 0;
waypoint = 0;
@@ -337,7 +337,7 @@ class boss_vazruden_the_herald : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (phase == 0)
{
@@ -347,7 +347,7 @@ class boss_vazruden_the_herald : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (!summoned)
return;
@@ -375,7 +375,7 @@ class boss_vazruden_the_herald : public CreatureScript
sentryDown = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
switch (phase)
{
@@ -443,7 +443,7 @@ class boss_vazruden_the_herald : public CreatureScript
bool lootSpawned;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_vazruden_the_heraldAI(creature);
}
@@ -458,20 +458,20 @@ class npc_hellfire_sentry : public CreatureScript
{
npc_hellfire_sentryAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
KidneyShot_Timer = urand(3000, 7000);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (Creature* herald = me->FindNearestCreature(NPC_VAZRUDEN_HERALD, 150))
CAST_AI(boss_vazruden_the_herald::boss_vazruden_the_heraldAI, herald->AI())->SentryDownBy(killer);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -492,7 +492,7 @@ class npc_hellfire_sentry : public CreatureScript
uint32 KidneyShot_Timer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_hellfire_sentryAI(creature);
}
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 f1bf63397bf..82f101980fe 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
@@ -61,7 +61,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
{
boss_watchkeeper_gargolmarAI(Creature* creature) : BossAI(creature, DATA_WATCHKEEPER_GARGOLMAR) { }
- void Reset() OVERRIDE
+ void Reset() override
{
hasTaunted = false;
yelledForHeal = false;
@@ -69,7 +69,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
_Reset();
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_MORTAL_WOUND, 5000);
@@ -77,7 +77,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
_EnterCombat();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->GetVictim() && me->CanCreatureAttack(who))
@@ -99,18 +99,18 @@ class boss_watchkeeper_gargolmar : public CreatureScript
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DIE);
_JustDied();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -167,7 +167,7 @@ class boss_watchkeeper_gargolmar : public CreatureScript
bool retaliation;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_watchkeeper_gargolmarAI(creature);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
index a8fd639de6d..9a0e7c22308 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -36,13 +36,13 @@ class instance_ramparts : public InstanceMapScript
{
instance_ramparts_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(EncounterCount);
felIronChestGUID = 0;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -53,7 +53,7 @@ class instance_ramparts : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -72,7 +72,7 @@ class instance_ramparts : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -83,7 +83,7 @@ class instance_ramparts : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
@@ -121,7 +121,7 @@ class instance_ramparts : public InstanceMapScript
bool spawned;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_ramparts_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index e1d83931166..91aad3c00eb 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -108,12 +108,12 @@ class npc_abyssal : public CreatureScript
uint32 Despawn_Timer;
uint32 trigger;
- void Reset() OVERRIDE
+ void Reset() override
{
FireBlast_Timer = 6000;
}
- void SpellHit(Unit*, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit*, const SpellInfo* spell) override
{
if (trigger == 2 && spell->Id == SPELL_BLAZE_TARGET)
{
@@ -136,23 +136,23 @@ class npc_abyssal : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!trigger)
ScriptedAI::AttackStart(who);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!trigger)
ScriptedAI::MoveInLineOfSight(who);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (trigger)
{
@@ -188,7 +188,7 @@ class npc_abyssal : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_abyssalAI(creature);
}
@@ -227,7 +227,7 @@ class boss_magtheridon : public CreatureScript
bool Phase3;
bool NeedCheckCube;
- void Reset() OVERRIDE
+ void Reset() override
{
Berserk_Timer = 1320000;
Quake_Timer = 40000;
@@ -247,7 +247,7 @@ class boss_magtheridon : public CreatureScript
DoCast(me, SPELL_SHADOW_CAGE_C, true);
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SetData(DATA_MAGTHERIDON_EVENT, NOT_STARTED);
instance->SetData(DATA_COLLAPSE, false);
@@ -304,28 +304,28 @@ class boss_magtheridon : public CreatureScript
NeedCheckCube = false;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_PLAYER_KILLED);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_MAGTHERIDON_EVENT, DONE);
Talk(SAY_DEATH);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!me->HasUnitState(UNIT_STATE_STUNNED))
ScriptedAI::AttackStart(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_MAGTHERIDON_EVENT, IN_PROGRESS);
DoZoneInCombat();
@@ -336,7 +336,7 @@ class boss_magtheridon : public CreatureScript
Talk(SAY_FREED);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
{
@@ -449,7 +449,7 @@ class boss_magtheridon : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_magtheridonAI>(creature);
}
@@ -480,7 +480,7 @@ class npc_hellfire_channeler : public CreatureScript
uint32 Check_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
ShadowBoltVolley_Timer = urand(8000, 10000);
DarkMending_Timer = 10000;
@@ -490,7 +490,7 @@ class npc_hellfire_channeler : public CreatureScript
Check_Timer = 5000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_CHANNELER_EVENT, IN_PROGRESS);
@@ -498,30 +498,30 @@ class npc_hellfire_channeler : public CreatureScript
DoZoneInCombat();
}
- void JustReachedHome() OVERRIDE
+ void JustReachedHome() override
{
instance->SetData(DATA_CHANNELER_EVENT, NOT_STARTED);
DoCast(me, SPELL_SHADOW_GRASP_C, false);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->AI()->AttackStart(me->GetVictim());
}
- void DamageTaken(Unit*, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit*, uint32 &damage) override
{
if (damage >= me->GetHealth())
DoCast(me, SPELL_SOUL_TRANSFER, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_CHANNELER_EVENT, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -565,7 +565,7 @@ class npc_hellfire_channeler : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_hellfire_channelerAI>(creature);
}
@@ -579,7 +579,7 @@ public:
{
}
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
index 73f741fade1..71d9203fcac 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -66,7 +66,7 @@ class instance_magtheridons_lair : public InstanceMapScript
uint32 CageTimer;
uint32 RespawnTimer;
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -79,7 +79,7 @@ class instance_magtheridons_lair : public InstanceMapScript
RespawnTimer = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -88,7 +88,7 @@ class instance_magtheridons_lair : public InstanceMapScript
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -101,7 +101,7 @@ class instance_magtheridons_lair : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -123,7 +123,7 @@ class instance_magtheridons_lair : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -133,7 +133,7 @@ class instance_magtheridons_lair : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -211,14 +211,14 @@ class instance_magtheridons_lair : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
if (type == DATA_MAGTHERIDON_EVENT)
return m_auiEncounter[0];
return 0;
}
- void Update(uint32 diff) OVERRIDE
+ void Update(uint32 diff) override
{
if (CageTimer)
{
@@ -254,7 +254,7 @@ class instance_magtheridons_lair : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_magtheridons_lair_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 69906880705..187e5b4993b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -85,7 +85,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
{
boss_grand_warlock_nethekurseAI(Creature* creature) : BossAI(creature, DATA_NETHEKURSE) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -105,14 +105,14 @@ class boss_grand_warlock_nethekurse : public CreatureScript
Cleave_Timer = 5000;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DIE);
instance->SetBossState(DATA_NETHEKURSE, DONE);
}
- void SetData(uint32 data, uint32 value) OVERRIDE
+ void SetData(uint32 data, uint32 value) override
{
if (data != SETDATA_DATA)
return;
@@ -157,7 +157,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (IsIntroEvent || !IsMainEvent)
return;
@@ -171,7 +171,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!IntroOnce && me->IsWithinDistInMap(who, 30.0f))
@@ -192,12 +192,12 @@ class boss_grand_warlock_nethekurse : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->setFaction(16);
summoned->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -208,12 +208,12 @@ class boss_grand_warlock_nethekurse : public CreatureScript
summoned->CastSpell(summoned, SPELL_CONSUMPTION, false, 0, 0, me->GetGUID());
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsIntroEvent)
{
@@ -290,7 +290,7 @@ class boss_grand_warlock_nethekurse : public CreatureScript
bool Phase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_grand_warlock_nethekurseAI>(creature);
}
@@ -312,14 +312,14 @@ class npc_fel_orc_convert : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetNoCallAssistance(true); //we don't want any assistance (WE R HEROZ!)
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_HEMORRHAGE, 3000);
@@ -328,7 +328,7 @@ class npc_fel_orc_convert : public CreatureScript
Kurse->AI()->SetData(SETDATA_DATA, SETDATA_PEON_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetBossState(DATA_NETHEKURSE) != IN_PROGRESS)
return;
@@ -337,7 +337,7 @@ class npc_fel_orc_convert : public CreatureScript
Kurse->AI()->SetData(SETDATA_DATA, SETDATA_PEON_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -358,7 +358,7 @@ class npc_fel_orc_convert : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_fel_orc_convertAI>(creature);
}
@@ -377,13 +377,13 @@ class npc_lesser_shadow_fissure : public CreatureScript
{
npc_lesser_shadow_fissureAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void EnterCombat(Unit* /*who*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_lesser_shadow_fissureAI(creature);
}
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 2ed70ded6ef..69be4b46eff 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -140,7 +140,7 @@ class boss_warbringer_omrogg : public CreatureScript
RightHeadGUID = 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (Unit* LeftHead = Unit::GetUnit(*me, LeftHeadGUID))
{
@@ -188,7 +188,7 @@ class boss_warbringer_omrogg : public CreatureScript
ThreatYell = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0);
@@ -206,7 +206,7 @@ class boss_warbringer_omrogg : public CreatureScript
instance->SetBossState(DATA_OMROGG, IN_PROGRESS);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_LEFT_HEAD)
LeftHeadGUID = summoned->GetGUID();
@@ -219,7 +219,7 @@ class boss_warbringer_omrogg : public CreatureScript
summoned->SetVisible(false);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Creature* LeftHead = Creature::GetCreature(*me, LeftHeadGUID);
Creature* RightHead = Creature::GetCreature(*me, RightHeadGUID);
@@ -245,7 +245,7 @@ class boss_warbringer_omrogg : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Creature* LeftHead = Creature::GetCreature(*me, LeftHeadGUID);
Creature* RightHead = Creature::GetCreature(*me, RightHeadGUID);
@@ -260,7 +260,7 @@ class boss_warbringer_omrogg : public CreatureScript
instance->SetBossState(DATA_OMROGG, DONE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Delay_Timer <= diff)
{
@@ -383,7 +383,7 @@ class boss_warbringer_omrogg : public CreatureScript
uint32 ResetThreat_Timer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_warbringer_omroggAI>(creature);
}
@@ -405,9 +405,9 @@ class npc_omrogg_heads : public CreatureScript
instance = creature->GetInstanceScript();
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void SetData(uint32 data, uint32 value)
{
@@ -417,7 +417,7 @@ class npc_omrogg_heads : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
events.Update(diff);
@@ -433,7 +433,7 @@ class npc_omrogg_heads : public CreatureScript
EventMap events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_omrogg_headsAI>(creature);
}
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 bdb109910a8..f918038b369 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
@@ -67,7 +67,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
{
boss_warchief_kargath_bladefistAI(Creature* creature) : BossAI(creature, DATA_KARGATH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
removeAdds();
@@ -85,7 +85,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
resetcheck_timer = 5000;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
removeAdds();
@@ -93,12 +93,12 @@ class boss_warchief_kargath_bladefist : public CreatureScript
instance->SetBossState(DATA_KARGATH, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
switch (summoned->GetEntry())
{
@@ -114,7 +114,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
}
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
{
@@ -122,7 +122,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (InBlade)
{
@@ -175,7 +175,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
me->SummonCreature(NPC_SHATTERED_ASSASSIN, AssassExit[0], AssassExit[1]-8, AssassExit[2], 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Return since we have no target
if (!UpdateVictim())
@@ -308,7 +308,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
bool InBlade;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_warchief_kargath_bladefistAI>(creature);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
index 25ecf5331ad..a220f26e18b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
@@ -32,7 +32,7 @@ class instance_shattered_halls : public InstanceMapScript
public:
instance_shattered_halls() : InstanceMapScript("instance_shattered_halls", 540) { }
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_shattered_halls_InstanceMapScript(map);
}
@@ -41,7 +41,7 @@ class instance_shattered_halls : public InstanceMapScript
{
instance_shattered_halls_InstanceMapScript(Map* map) : InstanceScript(map) { }
- void Initialize() OVERRIDE
+ void Initialize() override
{
SetBossNumber(EncounterCount);
nethekurseGUID = 0;
@@ -49,7 +49,7 @@ class instance_shattered_halls : public InstanceMapScript
nethekurseDoor2GUID = 0;
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -62,7 +62,7 @@ class instance_shattered_halls : public InstanceMapScript
}
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -72,7 +72,7 @@ class instance_shattered_halls : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -97,7 +97,7 @@ class instance_shattered_halls : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -114,7 +114,7 @@ class instance_shattered_halls : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -125,7 +125,7 @@ class instance_shattered_halls : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* strIn) OVERRIDE
+ void Load(const char* strIn) override
{
if (!strIn)
{
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index a961800025d..ead163b3a82 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -107,7 +107,7 @@ class boss_alar : public CreatureScript
int8 cur_wp;
- void Reset() OVERRIDE
+ void Reset() override
{
instance->SetData(DATA_ALAREVENT, NOT_STARTED);
@@ -133,7 +133,7 @@ class boss_alar : public CreatureScript
me->setActive(false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
instance->SetData(DATA_ALAREVENT, IN_PROGRESS);
@@ -142,21 +142,21 @@ class boss_alar : public CreatureScript
me->setActive(true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
instance->SetData(DATA_ALAREVENT, DONE);
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == CREATURE_EMBER_OF_ALAR)
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
summon->AI()->AttackStart(target);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (Phase1)
AttackStartNoMove(who);
@@ -164,7 +164,7 @@ class boss_alar : public CreatureScript
ScriptedAI::AttackStart(who);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (damage >= me->GetHealth() && Phase1)
{
@@ -186,7 +186,7 @@ class boss_alar : public CreatureScript
}
}
- void SpellHit(Unit*, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit*, const SpellInfo* spell) override
{
if (spell->Id == SPELL_DIVE_BOMB_VISUAL)
{
@@ -196,7 +196,7 @@ class boss_alar : public CreatureScript
}
}
- void MovementInform(uint32 type, uint32 /*id*/) OVERRIDE
+ void MovementInform(uint32 type, uint32 /*id*/) override
{
if (type == POINT_MOTION_TYPE)
{
@@ -206,7 +206,7 @@ class boss_alar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat()) // sometimes IsInCombat but !incombat, faction bug?
return;
@@ -435,7 +435,7 @@ class boss_alar : public CreatureScript
Unit* target = NULL;
target = me->SelectNearestTargetInAttackDistance(5);
if (target)
- me->AI()->AttackStart(target);
+ AttackStart(target);
else
{
DoCast(me, SPELL_FLAME_BUFFET, true);
@@ -446,7 +446,7 @@ class boss_alar : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_alarAI>(creature);
}
@@ -469,22 +469,22 @@ class npc_ember_of_alar : public CreatureScript
InstanceScript* instance;
bool toDie;
- void Reset() OVERRIDE
+ void Reset() override
{
toDie = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoZoneInCombat();
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
me->setDeathState(JUST_DIED);
}
- void DamageTaken(Unit* killer, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* killer, uint32& damage) override
{
if (damage >= me->GetHealth() && killer != me && !toDie)
{
@@ -507,7 +507,7 @@ class npc_ember_of_alar : public CreatureScript
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -523,7 +523,7 @@ class npc_ember_of_alar : public CreatureScript
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ember_of_alarAI>(creature);
}
@@ -537,15 +537,15 @@ class npc_flame_patch_alar : public CreatureScript
struct npc_flame_patch_alarAI : public ScriptedAI
{
npc_flame_patch_alarAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_flame_patch_alarAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index 7caf1fd1771..5f92445f9dd 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -130,7 +130,7 @@ class boss_high_astromancer_solarian : public CreatureScript
bool AppearDelay;
bool BlindingLight;
- void Reset() OVERRIDE
+ void Reset() override
{
ArcaneMissiles_Timer = 2000;
m_uiWrathOfTheAstromancer_Timer = 15000;
@@ -157,12 +157,12 @@ class boss_high_astromancer_solarian : public CreatureScript
Summons.DespawnAll();
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->SetObjectScale(defaultsize);
me->SetDisplayId(MODEL_HUMAN);
@@ -170,7 +170,7 @@ class boss_high_astromancer_solarian : public CreatureScript
instance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
DoZoneInCombat();
@@ -205,7 +205,7 @@ class boss_high_astromancer_solarian : public CreatureScript
return (z*sqrt(radius*radius - (x - CENTER_X)*(x - CENTER_X)) + CENTER_Y);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -414,7 +414,7 @@ class boss_high_astromancer_solarian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_high_astromancer_solarianAI>(creature);
}
@@ -442,18 +442,18 @@ class npc_solarium_priest : public CreatureScript
uint32 holysmiteTimer;
uint32 aoesilenceTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
healTimer = 9000;
holysmiteTimer = 1;
aoesilenceTimer = 15000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -500,7 +500,7 @@ class npc_solarium_priest : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_solarium_priestAI>(creature);
}
@@ -515,7 +515,7 @@ class spell_astromancer_wrath_of_the_astromancer : public SpellScriptLoader
{
PrepareAuraScript(spell_astromancer_wrath_of_the_astromancer_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WRATH_OF_THE_ASTROMANCER_DOT))
return false;
@@ -532,13 +532,13 @@ class spell_astromancer_wrath_of_the_astromancer : public SpellScriptLoader
target->CastSpell(target, GetSpellInfo()->Effects[EFFECT_1].CalcValue(), false);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_astromancer_wrath_of_the_astromancer_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_astromancer_wrath_of_the_astromancer_AuraScript();
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index 077539b6b88..016e68a4e8d 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -165,7 +165,7 @@ struct advisorbase_ai : public ScriptedAI
uint32 DelayRes_Timer;
uint64 DelayRes_Target;
- void Reset() OVERRIDE
+ void Reset() override
{
if (m_bDoubled_Health)
{
@@ -187,7 +187,7 @@ struct advisorbase_ai : public ScriptedAI
Kaelthas->AI()->EnterEvadeMode();
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || FakeDeath || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -196,7 +196,7 @@ struct advisorbase_ai : public ScriptedAI
ScriptedAI::MoveInLineOfSight(who);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || FakeDeath || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -217,7 +217,7 @@ struct advisorbase_ai : public ScriptedAI
DelayRes_Timer = 2000;
}
- void DamageTaken(Unit* killer, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* killer, uint32 &damage) override
{
if (damage < me->GetHealth())
return;
@@ -253,7 +253,7 @@ struct advisorbase_ai : public ScriptedAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (DelayRes_Timer)
{
@@ -318,7 +318,7 @@ class boss_kaelthas : public CreatureScript
uint64 m_auiAdvisorGuid[MAX_ADVISORS];
- void Reset() OVERRIDE
+ void Reset() override
{
Fireball_Timer = 5000+rand()%10000;
ArcaneDisruption_Timer = 45000;
@@ -399,7 +399,7 @@ class boss_kaelthas : public CreatureScript
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->HasUnitState(UNIT_STATE_STUNNED) && me->CanCreatureAttack(who))
@@ -427,18 +427,18 @@ class boss_kaelthas : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (!instance->GetData(DATA_KAELTHASEVENT) && !Phase)
StartEvent();
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
// if not phoenix, then it's one of the 7 weapons
if (summoned->GetEntry() != NPC_PHOENIX)
@@ -450,12 +450,12 @@ class boss_kaelthas : public CreatureScript
}
}
- void SummonedCreatureDespawn(Creature* summon) OVERRIDE
+ void SummonedCreatureDespawn(Creature* summon) override
{
summons.Despawn(summon);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -473,7 +473,7 @@ class boss_kaelthas : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Phase 1
switch (Phase)
@@ -1000,7 +1000,7 @@ class boss_kaelthas : public CreatureScript
}
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_kaelthasAI>(creature);
}
@@ -1023,7 +1023,7 @@ class boss_thaladred_the_darkener : public CreatureScript
uint32 Silence_Timer;
uint32 PsychicBlow_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Gaze_Timer = 100;
Silence_Timer = 20000;
@@ -1032,7 +1032,7 @@ class boss_thaladred_the_darkener : public CreatureScript
advisorbase_ai::Reset();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1044,13 +1044,13 @@ class boss_thaladred_the_darkener : public CreatureScript
me->AddThreat(who, 5000000.0f);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_KAELTHASEVENT) == 3)
Talk(SAY_THALADRED_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
advisorbase_ai::UpdateAI(diff);
@@ -1098,7 +1098,7 @@ class boss_thaladred_the_darkener : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_thaladred_the_darkenerAI>(creature);
}
@@ -1119,13 +1119,13 @@ class boss_lord_sanguinar : public CreatureScript
uint32 Fear_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Fear_Timer = 20000;
advisorbase_ai::Reset();
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1136,13 +1136,13 @@ class boss_lord_sanguinar : public CreatureScript
Talk(SAY_SANGUINAR_AGGRO);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_KAELTHASEVENT) == 3)
Talk(SAY_SANGUINAR_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
advisorbase_ai::UpdateAI(diff);
@@ -1166,7 +1166,7 @@ class boss_lord_sanguinar : public CreatureScript
DoMeleeAttackIfReady();
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_lord_sanguinarAI>(creature);
}
@@ -1190,7 +1190,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
uint32 Yell_Timer;
bool Yell;
- void Reset() OVERRIDE
+ void Reset() override
{
Fireball_Timer = 2000;
Conflagration_Timer = 20000;
@@ -1201,13 +1201,13 @@ class boss_grand_astromancer_capernian : public CreatureScript
advisorbase_ai::Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_KAELTHASEVENT) == 3)
Talk(SAY_CAPERNIAN_DEATH);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (!who || FakeDeath || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1222,7 +1222,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
}
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1231,7 +1231,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
return;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
advisorbase_ai::UpdateAI(diff);
@@ -1310,7 +1310,7 @@ class boss_grand_astromancer_capernian : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_grand_astromancer_capernianAI>(creature);
}
@@ -1332,7 +1332,7 @@ class boss_master_engineer_telonicus : public CreatureScript
uint32 Bomb_Timer;
uint32 RemoteToy_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Bomb_Timer = 10000;
RemoteToy_Timer = 5000;
@@ -1340,13 +1340,13 @@ class boss_master_engineer_telonicus : public CreatureScript
advisorbase_ai::Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (instance->GetData(DATA_KAELTHASEVENT) == 3)
Talk(SAY_TELONICUS_DEATH);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1357,7 +1357,7 @@ class boss_master_engineer_telonicus : public CreatureScript
Talk(SAY_TELONICUS_AGGRO);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
advisorbase_ai::UpdateAI(diff);
@@ -1393,7 +1393,7 @@ class boss_master_engineer_telonicus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_master_engineer_telonicusAI>(creature);
}
@@ -1419,7 +1419,7 @@ class npc_kael_flamestrike : public CreatureScript
bool Casting;
bool KillSelf;
- void Reset() OVERRIDE
+ void Reset() override
{
Timer = 5000;
Casting = false;
@@ -1429,12 +1429,12 @@ class npc_kael_flamestrike : public CreatureScript
me->setFaction(14);
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Casting)
{
@@ -1461,7 +1461,7 @@ class npc_kael_flamestrike : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kael_flamestrikeAI(creature);
}
@@ -1482,20 +1482,20 @@ class npc_phoenix_tk : public CreatureScript
uint32 Cycle_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Cycle_Timer = 2000;
DoCast(me, SPELL_BURN, true);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
//is this spell in use anylonger?
//DoCast(me, SPELL_EMBER_BLAST, true);
me->SummonCreature(NPC_PHOENIX_EGG, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 16000);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1515,7 +1515,7 @@ class npc_phoenix_tk : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_phoenix_tkAI(creature);
}
@@ -1536,16 +1536,16 @@ class npc_phoenix_egg_tk : public CreatureScript
uint32 Rebirth_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Rebirth_Timer = 15000;
}
//ignore any
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->Attack(who, false))
{
@@ -1556,13 +1556,13 @@ class npc_phoenix_egg_tk : public CreatureScript
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AddThreat(me->GetVictim(), 0.0f);
summoned->CastSpell(summoned, SPELL_REBIRTH, false);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Rebirth_Timer)
return;
@@ -1577,7 +1577,7 @@ class npc_phoenix_egg_tk : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_phoenix_egg_tkAI(creature);
}
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 1a972f65360..58b5972c25c 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
@@ -68,7 +68,7 @@ class boss_void_reaver : public CreatureScript
bool Enraged;
- void Reset() OVERRIDE
+ void Reset() override
{
Pounding_Timer = 15000;
ArcaneOrb_Timer = 3000;
@@ -81,12 +81,12 @@ class boss_void_reaver : public CreatureScript
instance->SetData(DATA_VOIDREAVEREVENT, NOT_STARTED);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
DoZoneInCombat();
@@ -94,14 +94,14 @@ class boss_void_reaver : public CreatureScript
instance->SetData(DATA_VOIDREAVEREVENT, DONE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
instance->SetData(DATA_VOIDREAVEREVENT, IN_PROGRESS);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -168,7 +168,7 @@ class boss_void_reaver : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<boss_void_reaverAI>(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
index fcace2a3ab4..0da16967a49 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
@@ -60,7 +60,7 @@ class instance_the_eye : public InstanceMapScript
uint32 m_auiEncounter[MAX_ENCOUNTER];
- void Initialize() OVERRIDE
+ void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
@@ -76,7 +76,7 @@ class instance_the_eye : public InstanceMapScript
AlarEventPhase = 0;
}
- bool IsEncounterInProgress() const OVERRIDE
+ bool IsEncounterInProgress() const override
{
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
if (m_auiEncounter[i] == IN_PROGRESS)
@@ -85,7 +85,7 @@ class instance_the_eye : public InstanceMapScript
return false;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -113,7 +113,7 @@ class instance_the_eye : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const OVERRIDE
+ uint64 GetData64(uint32 identifier) const override
{
switch (identifier)
{
@@ -128,7 +128,7 @@ class instance_the_eye : public InstanceMapScript
return 0;
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -151,7 +151,7 @@ class instance_the_eye : public InstanceMapScript
SaveToDB();
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -163,7 +163,7 @@ class instance_the_eye : public InstanceMapScript
return 0;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -174,7 +174,7 @@ class instance_the_eye : public InstanceMapScript
return stream.str();
}
- void Load(const char* in) OVERRIDE
+ void Load(const char* in) override
{
if (!in)
{
@@ -192,7 +192,7 @@ class instance_the_eye : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_eye_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
index a09dd4c756e..32af9f647ad 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
@@ -52,17 +52,17 @@ class npc_crystalcore_devastator : public CreatureScript
uint32 Knockaway_Timer;
uint32 Countercharge_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Countercharge_Timer = 9000;
Knockaway_Timer = 25000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ class npc_crystalcore_devastator : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_crystalcore_devastatorAI(creature);
}
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 05050b4be2e..a60609e0656 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
@@ -59,13 +59,13 @@ class boss_gatewatcher_gyrokill : public CreatureScript
{
boss_gatewatcher_gyrokillAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_GYROKILL) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_STREAM_OF_MACHINE_FLUID, 10000);
@@ -74,12 +74,12 @@ class boss_gatewatcher_gyrokill : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -115,7 +115,7 @@ class boss_gatewatcher_gyrokill : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gatewatcher_gyrokillAI(creature);
}
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 e34e4ebdb23..151244f86c9 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
@@ -48,9 +48,9 @@ enum Spells
enum Events
{
- EVENT_STREAM_OF_MACHINE_FLUID = 0,
- EVENT_JACKHAMMER = 1,
- EVENT_SHADOW_POWER = 2
+ EVENT_STREAM_OF_MACHINE_FLUID = 1,
+ EVENT_JACKHAMMER = 2,
+ EVENT_SHADOW_POWER = 3
};
class boss_gatewatcher_iron_hand : public CreatureScript
@@ -62,7 +62,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
{
boss_gatewatcher_iron_handAI(Creature* creature) : BossAI(creature, DATA_GATEWATCHER_IRON_HAND) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_STREAM_OF_MACHINE_FLUID, 55000);
@@ -71,19 +71,19 @@ class boss_gatewatcher_iron_hand : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
if (roll_chance_i(50))
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -122,7 +122,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_gatewatcher_iron_handAI(creature);
}
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 b15318647a9..f8861d1fa7f 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
@@ -75,7 +75,7 @@ class boss_mechano_lord_capacitus : public CreatureScript
{
boss_mechano_lord_capacitusAI(Creature* creature) : BossAI(creature, DATA_MECHANOLORD_CAPACITUS) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(YELL_AGGRO);
@@ -88,18 +88,18 @@ class boss_mechano_lord_capacitus : public CreatureScript
events.ScheduleEvent(EVENT_POSITIVE_SHIFT, 15 * IN_MILLISECONDS);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(YELL_KILL);
}
- void JustDied(Unit* /*victim*/) OVERRIDE
+ void JustDied(Unit* /*victim*/) override
{
_JustDied();
Talk(YELL_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -132,11 +132,12 @@ class boss_mechano_lord_capacitus : public CreatureScript
events.ScheduleEvent(EVENT_POSITIVE_SHIFT, urand(45, 60) * IN_MILLISECONDS);
break;
case EVENT_SUMMON_NETHER_CHARGE:
- Position pos;
- me->GetRandomNearPosition(pos, 5.0f);
+ {
+ Position pos = me->GetRandomNearPosition(5.0f);
me->SummonCreature(NPC_NETHER_CHARGE, pos, TEMPSUMMON_TIMED_DESPAWN, 18000);
events.ScheduleEvent(EVENT_SUMMON_NETHER_CHARGE, 10 * IN_MILLISECONDS);
break;
+ }
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK);
break;
@@ -149,7 +150,7 @@ class boss_mechano_lord_capacitus : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_mechano_lord_capacitusAI(creature);
}
@@ -164,7 +165,7 @@ class spell_capacitus_polarity_charge : public SpellScriptLoader
{
PrepareSpellScript(spell_capacitus_polarity_charge_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POSITIVE_CHARGE))
return false;
@@ -210,14 +211,14 @@ class spell_capacitus_polarity_charge : public SpellScriptLoader
SetHitDamage(0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_capacitus_polarity_charge_SpellScript::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_capacitus_polarity_charge_SpellScript::HandleTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_capacitus_polarity_charge_SpellScript();
}
@@ -232,7 +233,7 @@ class spell_capacitus_polarity_shift : public SpellScriptLoader
{
PrepareSpellScript(spell_capacitus_polarity_shift_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POSITIVE_POLARITY) || !sSpellMgr->GetSpellInfo(SPELL_NEGATIVE_POLARITY))
return false;
@@ -247,13 +248,13 @@ class spell_capacitus_polarity_shift : public SpellScriptLoader
target->CastSpell(target, roll_chance_i(50) ? SPELL_POSITIVE_POLARITY : SPELL_NEGATIVE_POLARITY, true, NULL, NULL, caster->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_capacitus_polarity_shift_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_capacitus_polarity_shift_SpellScript();
}
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 d7e8eabd32f..3e4e6a213bd 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
@@ -67,7 +67,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
{
boss_nethermancer_sepethreaAI(Creature* creature) : BossAI(creature, DATA_NETHERMANCER_SEPRETHREA) { }
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FROST_ATTACK, urand(7000, 10000));
@@ -80,18 +80,18 @@ class boss_nethermancer_sepethrea : public CreatureScript
Talk(SAY_SUMMON);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -136,7 +136,7 @@ class boss_nethermancer_sepethrea : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_nethermancer_sepethreaAI(creature);
}
@@ -162,7 +162,7 @@ class npc_ragin_flames : public CreatureScript
bool onlyonce;
- void Reset() OVERRIDE
+ void Reset() override
{
inferno_Timer = 10000;
flame_timer = 500;
@@ -173,11 +173,11 @@ class npc_ragin_flames : public CreatureScript
me->SetSpeed(MOVE_RUN, DUNGEON_MODE(0.5f, 0.7f));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Check_Timer
if (Check_Timer <= diff)
@@ -218,7 +218,7 @@ class npc_ragin_flames : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetInstanceAI<npc_ragin_flamesAI>(creature);
}
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 8d6dde82770..3c6fe2040fc 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
@@ -75,7 +75,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
{
boss_pathaleon_the_calculatorAI(Creature* creature) : BossAI(creature, DATA_PATHALEON_THE_CALCULATOR) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SUMMON, 30000);
@@ -86,18 +86,18 @@ class boss_pathaleon_the_calculator : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
if (me->HealthBelowPctDamaged(20, damage) && !me->HasAura(SPELL_FRENZY))
{
@@ -106,7 +106,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -158,7 +158,7 @@ class boss_pathaleon_the_calculator : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_pathaleon_the_calculatorAI(creature);
}
@@ -179,7 +179,7 @@ class npc_nether_wraith : public CreatureScript
uint32 Die_Timer;
bool Detonation;
- void Reset() OVERRIDE
+ void Reset() override
{
ArcaneMissiles_Timer = urand(1000, 4000);
Detonation_Timer = 20000;
@@ -187,9 +187,9 @@ class npc_nether_wraith : public CreatureScript
Detonation = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -230,7 +230,7 @@ class npc_nether_wraith : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nether_wraithAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
index 9d2556d809b..4dddee83459 100644
--- a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
@@ -55,7 +55,7 @@ class instance_mechanar : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* gameObject) OVERRIDE
+ void OnGameObjectRemove(GameObject* gameObject) override
{
switch (gameObject->GetEntry())
{
@@ -69,7 +69,7 @@ class instance_mechanar : public InstanceMapScript
}
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -89,7 +89,7 @@ class instance_mechanar : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -100,7 +100,7 @@ class instance_mechanar : public InstanceMapScript
return saveStream.str();
}
- void Load(const char* str) OVERRIDE
+ void Load(const char* str) override
{
if (!str)
{
@@ -133,7 +133,7 @@ class instance_mechanar : public InstanceMapScript
}
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_mechanar_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index 3cc2e5dcc89..3befc3742ff 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -88,7 +88,7 @@ class npc_millhouse_manastorm : public CreatureScript
uint32 Pyroblast_Timer;
uint32 Fireball_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
EventProgress_Timer = 2000;
LowHp = false;
@@ -105,7 +105,7 @@ class npc_millhouse_manastorm : public CreatureScript
Talk(SAY_COMPLETE);
}
- void AttackStart(Unit* who) OVERRIDE
+ void AttackStart(Unit* who) override
{
if (me->Attack(who, true))
{
@@ -116,13 +116,13 @@ class npc_millhouse_manastorm : public CreatureScript
}
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
@@ -131,7 +131,7 @@ class npc_millhouse_manastorm : public CreatureScript
->FailQuest();*/
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Init)
{
@@ -213,7 +213,7 @@ class npc_millhouse_manastorm : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetArcatrazAI<npc_millhouse_manastormAI>(creature);
}
@@ -282,7 +282,7 @@ class npc_warden_mellichar : public CreatureScript
uint32 EventProgress_Timer;
uint32 Phase;
- void Reset() OVERRIDE
+ void Reset() override
{
IsRunning = false;
CanSpawn = false;
@@ -296,9 +296,9 @@ class npc_warden_mellichar : public CreatureScript
instance->SetBossState(DATA_HARBINGER_SKYRISS, NOT_STARTED);
}
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (IsRunning)
return;
@@ -316,7 +316,7 @@ class npc_warden_mellichar : public CreatureScript
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(YELL_INTRO1);
DoCast(me, SPELL_BUBBLE_VISUAL);
@@ -377,7 +377,7 @@ class npc_warden_mellichar : public CreatureScript
CanSpawn = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!IsRunning)
return;
@@ -490,7 +490,7 @@ class npc_warden_mellichar : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetArcatrazAI<npc_warden_mellicharAI>(creature);
}
@@ -516,7 +516,7 @@ class npc_zerekethvoidzone : public CreatureScript
{
npc_zerekethvoidzoneAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
me->setFaction(16);
@@ -525,10 +525,10 @@ class npc_zerekethvoidzone : public CreatureScript
DoCast(me, SPELL_VOID_ZONE_DAMAGE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_zerekethvoidzoneAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
index bfc304e6a99..41bc93cfdfe 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
@@ -59,15 +59,20 @@ class boss_dalliah_the_doomsayer : public CreatureScript
struct boss_dalliah_the_doomsayerAI : public BossAI
{
- boss_dalliah_the_doomsayerAI(Creature* creature) : BossAI(creature, DATA_DALLIAH) { }
+ boss_dalliah_the_doomsayerAI(Creature* creature) : BossAI(creature, DATA_DALLIAH)
+ {
+ soccothratesTaunt = false;
+ soccothratesDeath = false;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
+ soccothratesTaunt = false;
soccothratesDeath = false;
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -77,7 +82,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
soccothrates->AI()->SetData(1, 1);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_GIFT_OF_THE_DOOMSAYER, urand(1000, 4000));
@@ -88,12 +93,12 @@ class boss_dalliah_the_doomsayer : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
@@ -106,7 +111,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -182,7 +187,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
bool soccothratesDeath;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetArcatrazAI<boss_dalliah_the_doomsayerAI>(creature);
}
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 e94de3af56e..1917bae1a6c 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -81,7 +81,7 @@ class boss_harbinger_skyriss : public CreatureScript
uint32 Domination_Timer;
uint32 ManaBurn_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!Intro)
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
@@ -97,7 +97,7 @@ class boss_harbinger_skyriss : public CreatureScript
ManaBurn_Timer = 25000;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!Intro)
return;
@@ -105,15 +105,15 @@ class boss_harbinger_skyriss : public CreatureScript
ScriptedAI::MoveInLineOfSight(who);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
_JustDied();
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (!summon)
return;
@@ -126,7 +126,7 @@ class boss_harbinger_skyriss : public CreatureScript
summon->AI()->AttackStart(target);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
//won't yell killing pet/other unit
if (victim->GetEntry() == NPC_ALPHA_POD_TARGET)
@@ -148,7 +148,7 @@ class boss_harbinger_skyriss : public CreatureScript
DoCast(me, SPELL_33_ILLUSION);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Intro)
{
@@ -262,7 +262,7 @@ class boss_harbinger_skyriss : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetArcatrazAI<boss_harbinger_skyrissAI>(creature);
}
@@ -277,12 +277,12 @@ class boss_harbinger_skyriss_illusion : public CreatureScript
{
boss_harbinger_skyriss_illusionAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_harbinger_skyriss_illusionAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
index 044be4c1534..a519ec7207c 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
@@ -82,9 +82,14 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
struct boss_wrath_scryer_soccothratesAI : public BossAI
{
- boss_wrath_scryer_soccothratesAI(Creature* creature) : BossAI(creature, DATA_SOCCOTHRATES) { }
+ boss_wrath_scryer_soccothratesAI(Creature* creature) : BossAI(creature, DATA_SOCCOTHRATES)
+ {
+ preFight = false;
+ dalliahTaunt = false;
+ dalliahDeath = false;
+ }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
preFight = false;
@@ -93,7 +98,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
DoCast(me, SPELL_FEL_IMMOLATION);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
@@ -103,7 +108,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
dalliah->AI()->SetData(1, 1);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FELFIRE_SHOCK, urand(12000, 14000));
@@ -113,12 +118,12 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
preFight = false;
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (instance->GetData(DATA_CONVERSATION) == NOT_STARTED && who->GetTypeId() == TYPEID_PLAYER && me->IsWithinDistInMap(who, 70.0f))
{
@@ -130,7 +135,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
}
}
- void SetData(uint32 /*type*/, uint32 data) OVERRIDE
+ void SetData(uint32 /*type*/, uint32 data) override
{
switch (data)
{
@@ -143,7 +148,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -271,7 +276,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
bool dalliahDeath;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return GetArcatrazAI<boss_wrath_scryer_soccothratesAI>(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp
index 54246453100..4b43edef2e0 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp
@@ -50,18 +50,18 @@ class boss_zereketh_the_unbound : public CreatureScript
{
boss_zereketh_the_unboundAI(Creature* creature) : BossAI(creature, DATA_ZEREKETH) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_VOID_ZONE, urand (6000, 10000));
@@ -70,12 +70,12 @@ class boss_zereketh_the_unbound : public CreatureScript
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -113,7 +113,7 @@ class boss_zereketh_the_unbound : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_zereketh_the_unboundAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
index 90feaa8d091..a6d0b348984 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
@@ -49,7 +49,7 @@ class instance_arcatraz : public InstanceMapScript
memset(StasisPodStates, NOT_STARTED, 5 * sizeof(uint8));
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -67,7 +67,7 @@ class instance_arcatraz : public InstanceMapScript
}
}
- void OnGameObjectCreate(GameObject* go) OVERRIDE
+ void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -98,7 +98,7 @@ class instance_arcatraz : public InstanceMapScript
}
}
- void OnGameObjectRemove(GameObject* go) OVERRIDE
+ void OnGameObjectRemove(GameObject* go) override
{
switch (go->GetEntry())
{
@@ -111,7 +111,7 @@ class instance_arcatraz : public InstanceMapScript
}
}
- void SetData(uint32 type, uint32 data) OVERRIDE
+ void SetData(uint32 type, uint32 data) override
{
switch (type)
{
@@ -132,7 +132,7 @@ class instance_arcatraz : public InstanceMapScript
}
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
switch (type)
{
@@ -150,7 +150,7 @@ class instance_arcatraz : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const OVERRIDE
+ uint64 GetData64(uint32 data) const override
{
switch (data)
{
@@ -168,7 +168,7 @@ class instance_arcatraz : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -191,7 +191,7 @@ class instance_arcatraz : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -202,7 +202,7 @@ class instance_arcatraz : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -245,7 +245,7 @@ class instance_arcatraz : public InstanceMapScript
uint8 StasisPodStates[5];
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_arcatraz_InstanceMapScript(map);
}
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 fefb791715f..7b831e82a75 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
@@ -52,13 +52,13 @@ class boss_commander_sarannis : public CreatureScript
{
boss_commander_sarannisAI(Creature* creature) : BossAI(creature, DATA_COMMANDER_SARANNIS) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_phase = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -66,18 +66,18 @@ class boss_commander_sarannis : public CreatureScript
events.ScheduleEvent(EVENT_ARCANE_DEVASTATION, 15200);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (me->HealthBelowPctDamaged(50, damage) && _phase)
{
@@ -88,12 +88,12 @@ class boss_commander_sarannis : public CreatureScript
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
BossAI::JustSummoned(summon);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -129,7 +129,7 @@ class boss_commander_sarannis : public CreatureScript
bool _phase;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_commander_sarannisAI(creature);
}
@@ -167,13 +167,13 @@ class spell_commander_sarannis_summon_reinforcements : public SpellScriptLoader
GetCaster()->SummonCreature(NPC_SUMMONED_BLOODWARDER_RESERVIST, PosSummonReinforcements[3], TEMPSUMMON_CORPSE_DESPAWN);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_commander_sarannis_summon_reinforcements_SpellScript::HandleCast, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_commander_sarannis_summon_reinforcements_SpellScript();
}
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 db62a0e91b3..53727db2f4b 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
@@ -74,7 +74,7 @@ class boss_high_botanist_freywinn : public CreatureScript
uint32 DeadAddsCount;
bool MoveFree;
- void Reset() OVERRIDE
+ void Reset() override
{
Adds_List.clear();
@@ -85,12 +85,12 @@ class boss_high_botanist_freywinn : public CreatureScript
MoveFree = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_FRAYER)
Adds_List.push_back(summoned->GetGUID());
@@ -107,17 +107,17 @@ class boss_high_botanist_freywinn : public CreatureScript
}
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -200,7 +200,7 @@ class boss_high_botanist_freywinn : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_high_botanist_freywinnAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
index 839b452e631..8cab7485510 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp
@@ -70,7 +70,7 @@ class boss_laj : public CreatureScript
uint32 Transform_Timer;
uint32 Allergic_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetDisplayId(MODEL_DEFAULT);
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_SHADOW, true);
@@ -157,17 +157,17 @@ class boss_laj : public CreatureScript
CanSummon = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
if (summon && me->GetVictim())
summon->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -213,7 +213,7 @@ class boss_laj : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lajAI(creature);
}
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 cc3ffc26edf..d2a1d101ae4 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
@@ -54,14 +54,14 @@ class boss_thorngrin_the_tender : public CreatureScript
{
boss_thorngrin_the_tenderAI(Creature* creature) : BossAI(creature, DATA_THORNGRIN_THE_TENDER) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_Reset();
_phase1 = true;
_phase2 = true;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
@@ -70,18 +70,18 @@ class boss_thorngrin_the_tender : public CreatureScript
events.ScheduleEvent(EVENT_ENRAGE, 12000);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
_JustDied();
Talk(SAY_DEATH);
}
- void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* /*killer*/, uint32 &damage) override
{
if (me->HealthBelowPctDamaged(50, damage) && _phase1)
{
@@ -95,7 +95,7 @@ class boss_thorngrin_the_tender : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -140,7 +140,7 @@ class boss_thorngrin_the_tender : public CreatureScript
bool _phase2;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_thorngrin_the_tenderAI(creature);
}
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 7b83fa7009d..c9dd31cdc76 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
@@ -81,19 +81,19 @@ class npc_warp_splinter_treant : public CreatureScript
uint64 WarpGuid;
uint32 check_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
check_Timer = 0;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
{
if (WarpGuid && check_Timer <= diff)
{
@@ -115,11 +115,11 @@ class npc_warp_splinter_treant : public CreatureScript
return;
}
- if (me->GetVictim()->GetGUID() != WarpGuid)
+ if (me->EnsureVictim()->GetGUID() != WarpGuid)
DoMeleeAttackIfReady();
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_warp_splinter_treantAI(creature);
}
@@ -151,7 +151,7 @@ class boss_warp_splinter : public CreatureScript
float Treant_Spawn_Pos_X;
float Treant_Spawn_Pos_Y;
- void Reset() OVERRIDE
+ void Reset() override
{
War_Stomp_Timer = urand(25000, 40000);
Summon_Treants_Timer = 45000;
@@ -160,17 +160,17 @@ class boss_warp_splinter : public CreatureScript
me->SetSpeed(MOVE_RUN, 0.7f, true);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* /*victim*/) OVERRIDE
+ void KilledUnit(Unit* /*victim*/) override
{
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
@@ -191,7 +191,7 @@ class boss_warp_splinter : public CreatureScript
Talk(SAY_SUMMON);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -227,7 +227,7 @@ class boss_warp_splinter : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_warp_splinterAI(creature);
}
diff --git a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
index 72202c5d896..f8929f7e42a 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
@@ -35,7 +35,7 @@ class instance_the_botanica : public InstanceMapScript
WarpSplinterGUID = 0;
}
- void OnCreatureCreate(Creature* creature) OVERRIDE
+ void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
{
@@ -59,7 +59,7 @@ class instance_the_botanica : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const OVERRIDE
+ uint64 GetData64(uint32 type) const override
{
switch (type)
{
@@ -80,7 +80,7 @@ class instance_the_botanica : public InstanceMapScript
return 0;
}
- bool SetBossState(uint32 type, EncounterState state) OVERRIDE
+ bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))
return false;
@@ -100,7 +100,7 @@ class instance_the_botanica : public InstanceMapScript
return true;
}
- std::string GetSaveData() OVERRIDE
+ std::string GetSaveData() override
{
OUT_SAVE_INST_DATA;
@@ -111,7 +111,7 @@ class instance_the_botanica : public InstanceMapScript
return saveStream.str();
}
- void Load(char const* str) OVERRIDE
+ void Load(char const* str) override
{
if (!str)
{
@@ -152,7 +152,7 @@ class instance_the_botanica : public InstanceMapScript
uint64 WarpSplinterGUID;
};
- InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
{
return new instance_the_botanica_InstanceMapScript(map);
}
diff --git a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
index 3da0ee61aa3..eea03aae343 100644
--- a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
+++ b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
@@ -69,7 +69,7 @@ class boss_doomlord_kazzak : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SHADOW_VOLLEY, urand(6000, 10000));
@@ -82,17 +82,17 @@ class boss_doomlord_kazzak : public CreatureScript
_events.ScheduleEvent(EVENT_BERSERK, 180000);
}
- void JustRespawned() OVERRIDE
+ void JustRespawned() override
{
Talk(SAY_INTRO);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
// When Kazzak kills a player (not pets/totems), he regens some health
if (victim->GetTypeId() != TYPEID_PLAYER)
@@ -103,12 +103,12 @@ class boss_doomlord_kazzak : public CreatureScript
Talk(SAY_KILL);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// Return since we have no target
if (!UpdateVictim())
@@ -169,7 +169,7 @@ class boss_doomlord_kazzak : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_doomlordkazzakAI(creature);
}
@@ -184,7 +184,7 @@ class spell_mark_of_kazzak : public SpellScriptLoader
{
PrepareAuraScript(spell_mark_of_kazzak_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MARK_OF_KAZZAK_DAMAGE))
return false;
@@ -209,14 +209,14 @@ class spell_mark_of_kazzak : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_mark_of_kazzak_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_MANA_LEECH);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mark_of_kazzak_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_MANA_LEECH);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mark_of_kazzak_AuraScript();
}
diff --git a/src/server/scripts/Outland/boss_doomwalker.cpp b/src/server/scripts/Outland/boss_doomwalker.cpp
index 46777abce6a..a193e8ff880 100644
--- a/src/server/scripts/Outland/boss_doomwalker.cpp
+++ b/src/server/scripts/Outland/boss_doomwalker.cpp
@@ -59,7 +59,7 @@ class boss_doomwalker : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_ENRAGE, 0);
@@ -70,7 +70,7 @@ class boss_doomwalker : public CreatureScript
_inEnrage = false;
}
- void KilledUnit(Unit* victim) OVERRIDE
+ void KilledUnit(Unit* victim) override
{
victim->CastSpell(victim, SPELL_MARK_DEATH, 0);
@@ -80,17 +80,17 @@ class boss_doomwalker : public CreatureScript
Talk(SAY_SLAY);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(SAY_DEATH);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who && who->GetTypeId() == TYPEID_PLAYER && me->IsValidAttackTarget(who))
@@ -98,7 +98,7 @@ class boss_doomwalker : public CreatureScript
who->CastSpell(who, SPELL_AURA_DEATH, 1);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -159,7 +159,7 @@ class boss_doomwalker : public CreatureScript
bool _inEnrage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_doomwalkerAI(creature);
}
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index 3f1579c42b1..d21b92d3e92 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -75,15 +75,15 @@ public:
uint64 OgreGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
OgreGUID = 0;
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void UpdateAI(uint32 /*diff*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bloodmaul_brutebaneAI(creature);
}
@@ -115,16 +115,17 @@ public:
{
npc_bloodmaul_bruteAI(Creature* creature) : ScriptedAI(creature)
{
+ PlayerGUID = 0;
hp30 = false;
}
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
hp30 = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (urand (0, 100) < 35)
Talk(SAY_AGGRO);
@@ -133,14 +134,14 @@ public:
events.ScheduleEvent(EVENT_DEBILITATING_STRIKE, 15000);
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (killer->GetTypeId() == TYPEID_PLAYER)
if (killer->ToPlayer()->GetQuestRewardStatus(QUEST_INTO_THE_SOULGRINDER))
Talk(SAY_DEATH);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who || (!who->IsAlive()))
return;
@@ -154,7 +155,7 @@ public:
}
}
- void MovementInform(uint32 /*type*/, uint32 id) OVERRIDE
+ void MovementInform(uint32 /*type*/, uint32 id) override
{
if (id == 1)
{
@@ -172,7 +173,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -210,7 +211,7 @@ public:
bool hp30;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bloodmaul_bruteAI(creature);
}
@@ -259,7 +260,7 @@ public:
uint32 ManaBurn_Timer;
uint32 IntangiblePresence_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
IsNihil = false;
NihilSpeech_Timer = 3000;
@@ -270,9 +271,9 @@ public:
IntangiblePresence_Timer = 15000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
@@ -282,7 +283,7 @@ public:
}
//in case Creature was not summoned (not expected)
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -295,7 +296,7 @@ public:
}
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (spell->Id == SPELL_T_PHASE_MODULATOR && caster->GetTypeId() == TYPEID_PLAYER)
{
@@ -326,7 +327,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (IsNihil)
{
@@ -391,7 +392,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_nether_drakeAI(creature);
}
@@ -417,11 +418,11 @@ public:
{
npc_daranelleAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
@@ -438,7 +439,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_daranelleAI(creature);
}
@@ -467,7 +468,7 @@ class go_legion_obelisk : public GameObjectScript
public:
go_legion_obelisk() : GameObjectScript("go_legion_obelisk") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (player->GetQuestStatus(QUEST_YOURE_FIRED) == QUEST_STATUS_INCOMPLETE)
{
@@ -521,7 +522,7 @@ class go_thunderspike : public GameObjectScript
public:
go_thunderspike() : GameObjectScript("go_thunderspike") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (player->GetQuestStatus(QUEST_THUNDERSPIKE) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(NPC_GOR_GRIMGUT, 25.0f, true))
if (Creature* gorGrimgut = go->SummonCreature(NPC_GOR_GRIMGUT, -2413.4f, 6914.48f, 25.01f, 3.67f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000))
@@ -623,7 +624,7 @@ class npc_simon_bunny : public CreatureScript
EventMap _events;
std::list<uint8> colorSequence, playableSequence, playerSequence;
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
_events.Update(diff);
@@ -677,7 +678,7 @@ class npc_simon_bunny : public CreatureScript
}
}
- void DoAction(int32 action) OVERRIDE
+ void DoAction(int32 action) override
{
switch (action)
{
@@ -703,7 +704,7 @@ class npc_simon_bunny : public CreatureScript
}
// Called by color clusters script (go_simon_cluster) and used for knowing the button pressed by player
- void SetData(uint32 type, uint32 /*data*/) OVERRIDE
+ void SetData(uint32 type, uint32 /*data*/) override
{
if (!listening)
return;
@@ -726,7 +727,7 @@ class npc_simon_bunny : public CreatureScript
}
// Used for getting involved player guid. Parameter id is used for defining if is a large(Monument) or small(Relic) node
- void SetGUID(uint64 guid, int32 id) OVERRIDE
+ void SetGUID(uint64 guid, int32 id) override
{
me->SetCanFly(true);
@@ -1016,7 +1017,7 @@ class npc_simon_bunny : public CreatureScript
}
}
- void SpellHitTarget(Unit* target, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, const SpellInfo* spell) override
{
// Cast SPELL_BAD_PRESS_DAMAGE with scaled basepoints when the visual hits the target.
// Need Fix: When SPELL_BAD_PRESS_TRIGGER hits target it triggers spell SPELL_BAD_PRESS_DAMAGE by itself
@@ -1048,7 +1049,7 @@ class npc_simon_bunny : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_simon_bunnyAI(creature);
}
@@ -1059,7 +1060,7 @@ class go_simon_cluster : public GameObjectScript
public:
go_simon_cluster() : GameObjectScript("go_simon_cluster") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (Creature* bunny = go->FindNearestCreature(NPC_SIMON_BUNNY, 12.0f, true))
bunny->AI()->SetData(go->GetEntry(), 0);
@@ -1085,14 +1086,14 @@ class go_apexis_relic : public GameObjectScript
public:
go_apexis_relic() : GameObjectScript("go_apexis_relic") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
player->PrepareGossipMenu(go, go->GetGOInfo()->questgiver.gossipID);
player->SendPreparedGossip(go);
return true;
}
- bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 /*action*/) override
{
player->CLOSE_GOSSIP_MENU();
@@ -1134,7 +1135,7 @@ public:
timer = 500;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (GetClosestCreatureWithEntry(me, NPC_OSCILLATING_FREQUENCY_SCANNER_TOP_BUNNY, 25.0f))
me->DespawnOrUnsummon();
@@ -1149,13 +1150,13 @@ public:
timer = 500;
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
if (summoner->isType(TYPEMASK_PLAYER))
playerGuid = summoner->GetGUID();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (timer <= diff)
{
@@ -1173,7 +1174,7 @@ public:
uint32 timer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_oscillating_frequency_scanner_master_bunnyAI(creature);
}
@@ -1195,13 +1196,13 @@ class spell_oscillating_field : public SpellScriptLoader
player->CompleteQuest(QUEST_GAUGING_THE_RESONANT_FREQUENCY);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_oscillating_field_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_oscillating_field_SpellScript();
}
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 3736994e9a3..7b9b2be4674 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -60,7 +60,7 @@ public:
{
npc_aeranasAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
faction_Timer = 8000;
envelopingWinds_Timer = 9000;
@@ -72,7 +72,7 @@ public:
Talk(SAY_SUMMON);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (faction_Timer)
{
@@ -118,7 +118,7 @@ public:
uint32 shock_Timer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_aeranasAI(creature);
}
@@ -155,13 +155,13 @@ public:
Reset();
}
- void Reset() OVERRIDE
+ void Reset() override
{
ryga = NULL;
DoCast(me, SPELL_ANCESTRAL_WOLF_BUFF, true);
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!ryga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f))
@@ -171,7 +171,7 @@ public:
npc_escortAI::MoveInLineOfSight(who);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -192,7 +192,7 @@ public:
Creature* ryga;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_ancestral_wolfAI(creature);
}
@@ -225,15 +225,15 @@ public:
{
npc_wounded_blood_elfAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
Talk(SAY_ELF_AGGRO);
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
@@ -247,7 +247,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -282,7 +282,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wounded_blood_elfAI(creature);
}
@@ -307,13 +307,13 @@ public:
{
npc_fel_guard_houndAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
checkTimer = 5000; //check for creature every 5 sec
helboarGUID = 0;
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE || id != 1)
return;
@@ -328,7 +328,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (checkTimer <= diff)
{
@@ -355,7 +355,7 @@ public:
uint64 helboarGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fel_guard_houndAI(creature);
}
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index 9b7a3f8aa2a..3b9d865cb3b 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -60,7 +60,7 @@ class npc_greatmother_geyah : public CreatureScript
public:
npc_greatmother_geyah() : CreatureScript("npc_greatmother_geyah") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -121,7 +121,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -178,7 +178,7 @@ class npc_maghar_captive : public CreatureScript
public:
npc_maghar_captive() : CreatureScript("npc_maghar_captive") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_TOTEM_KARDASH_H)
{
@@ -197,7 +197,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_maghar_captiveAI(creature);
}
@@ -210,19 +210,19 @@ public:
uint32 HealTimer;
uint32 FrostShockTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ChainLightningTimer = 1000;
HealTimer = 0;
FrostShockTimer = 6000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_EARTHBIND_TOTEM, false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -234,7 +234,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -259,7 +259,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_MURK_BRUTE)
summoned->AI()->Talk(SAY_MAG_NO_ESCAPE);
@@ -273,7 +273,7 @@ public:
}
- void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_CHAIN_LIGHTNING)
{
@@ -284,7 +284,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -335,7 +335,7 @@ class npc_creditmarker_visit_with_ancestors : public CreatureScript
public:
npc_creditmarker_visit_with_ancestors() : CreatureScript("npc_creditmarker_visit_with_ancestors") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_creditmarker_visit_with_ancestorsAI(creature);
}
@@ -344,11 +344,11 @@ public:
{
npc_creditmarker_visit_with_ancestorsAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!who)
@@ -399,7 +399,7 @@ class go_corkis_prison : public GameObjectScript
public:
go_corkis_prison() : GameObjectScript("go_corkis_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->SetGoState(GO_STATE_READY);
if (go->GetEntry() == GO_CORKIS_PRISON)
@@ -440,7 +440,7 @@ class npc_corki : public CreatureScript
public:
npc_corki() : CreatureScript("npc_corki") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_corkiAI(creature);
}
@@ -452,13 +452,13 @@ public:
uint32 Say_Timer;
bool ReleasedFromCage;
- void Reset() OVERRIDE
+ void Reset() override
{
Say_Timer = 5000;
ReleasedFromCage = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (ReleasedFromCage)
{
@@ -472,7 +472,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type == POINT_MOTION_TYPE && id == 1)
{
@@ -524,7 +524,7 @@ class npc_kurenai_captive : public CreatureScript
public:
npc_kurenai_captive() : CreatureScript("npc_kurenai_captive") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_TOTEM_KARDASH_A)
{
@@ -543,7 +543,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kurenai_captiveAI(creature);
}
@@ -556,19 +556,19 @@ public:
uint32 HealTimer;
uint32 FrostShockTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ChainLightningTimer = 1000;
HealTimer = 0;
FrostShockTimer = 6000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
DoCast(me, SPELL_KUR_EARTHBIND_TOTEM, false);
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -580,7 +580,7 @@ public:
}
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
switch (waypointId)
{
@@ -609,7 +609,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_KUR_MURK_BRUTE)
Talk(SAY_KUR_NO_ESCAPE);
@@ -623,7 +623,7 @@ public:
summoned->AI()->AttackStart(me);
}
- void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) OVERRIDE
+ void SpellHitTarget(Unit* /*target*/, const SpellInfo* spell) override
{
if (spell->Id == SPELL_KUR_CHAIN_LIGHTNING)
{
@@ -642,7 +642,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
@@ -695,7 +695,7 @@ class go_warmaul_prison : public GameObjectScript
public:
go_warmaul_prison() : GameObjectScript("go_warmaul_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_FINDING_THE_SURVIVORS) != QUEST_STATUS_INCOMPLETE)
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index 72e7332381b..8fac7853f26 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -74,7 +74,7 @@ class npc_manaforge_control_console : public CreatureScript
public:
npc_manaforge_control_console() : CreatureScript("npc_manaforge_control_console") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_manaforge_control_consoleAI(creature);
}
@@ -91,7 +91,7 @@ public:
uint64 goConsole;
Creature* add;
- void Reset() OVERRIDE
+ void Reset() override
{
Event_Timer = 3000;
Wave_Timer = 0;
@@ -102,9 +102,9 @@ public:
add = NULL;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- /*void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ /*void SpellHit(Unit* caster, const SpellInfo* spell) override
{
//we have no way of telling the Creature was hit by spell -> got aura applied after 10-12 seconds
//then no way for the mobs to actually stop the shutdown as intended.
@@ -112,7 +112,7 @@ public:
DoSay("Silence! I kill you!", LANG_UNIVERSAL, NULL);
}*/
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
Talk(EMOTE_ABORT);
@@ -234,7 +234,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (Event_Timer <= diff)
{
@@ -311,7 +311,7 @@ class go_manaforge_control_console : public GameObjectScript
public:
go_manaforge_control_console() : GameObjectScript("go_manaforge_control_console") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER)
{
@@ -393,7 +393,7 @@ class npc_commander_dawnforge : public CreatureScript
public:
npc_commander_dawnforge() : CreatureScript("npc_commander_dawnforge") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_commander_dawnforgeAI(creature);
}
@@ -411,7 +411,7 @@ public:
uint32 Phase_Timer;
bool isEvent;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
ardonisGUID = 0;
@@ -423,9 +423,9 @@ public:
isEvent = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
pathaleonGUID = summoned->GetGUID();
}
@@ -488,7 +488,7 @@ public:
return false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Is event even running?
if (!isEvent)
@@ -626,7 +626,7 @@ class at_commander_dawnforge : public AreaTriggerScript
public:
at_commander_dawnforge() : AreaTriggerScript("at_commander_dawnforge") { }
- bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
+ bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) override
{
//if player lost aura or not have at all, we should not try start event.
if (!player->HasAura(SPELL_SUNFURY_DISGUISE))
@@ -669,7 +669,7 @@ public:
//if (quest->GetQuestId() == QUEST_DIMENSIUS)
//creature->AI()->Talk(WHISPER_DABIRI, player);
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -681,7 +681,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -721,14 +721,22 @@ class npc_phase_hunter : public CreatureScript
public:
npc_phase_hunter() : CreatureScript("npc_phase_hunter") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_phase_hunterAI(creature);
}
struct npc_phase_hunterAI : public ScriptedAI
{
- npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_phase_hunterAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Weak = false;
+ Materialize = false;
+ Drained = false;
+ WeakPercent = 25;
+ PlayerGUID = 0;
+ ManaBurnTimer = 5000;
+ }
bool Weak;
bool Materialize;
@@ -739,7 +747,7 @@ public:
uint32 ManaBurnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
Weak = false;
Materialize = false;
@@ -754,18 +762,18 @@ public:
me->UpdateEntry(NPC_PHASE_HUNTER_ENTRY);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
PlayerGUID = who->GetGUID();
}
- //void SpellHit(Unit* /*caster*/, const SpellInfo* /*spell*/) OVERRIDE
+ //void SpellHit(Unit* /*caster*/, const SpellInfo* /*spell*/) override
//{
// DoCast(me, SPELL_DE_MATERIALIZE);
//}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Materialize)
{
@@ -846,7 +854,7 @@ class npc_bessy : public CreatureScript
public:
npc_bessy() : CreatureScript("npc_bessy") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == Q_ALMABTRIEB)
{
@@ -857,7 +865,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_bessyAI(creature);
}
@@ -866,13 +874,13 @@ public:
{
npc_bessyAI(Creature* creature) : npc_escortAI(creature) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(Q_ALMABTRIEB);
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -901,12 +909,12 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
summoned->AI()->AttackStart(me);
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
}
@@ -928,7 +936,7 @@ class npc_maxx_a_million_escort : public CreatureScript
public:
npc_maxx_a_million_escort() : CreatureScript("npc_maxx_a_million_escort") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_maxx_a_million_escortAI(creature);
}
@@ -940,13 +948,13 @@ public:
bool bTake;
uint32 uiTakeTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
bTake=false;
uiTakeTimer=3000;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -972,13 +980,13 @@ public:
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
player->FailQuest(QUEST_MARK_V_IS_ALIVE);
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -1002,7 +1010,7 @@ public:
}
};
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_MARK_V_IS_ALIVE)
{
@@ -1031,7 +1039,7 @@ class go_captain_tyralius_prison : public GameObjectScript
public:
go_captain_tyralius_prison() : GameObjectScript("go_captain_tyralius_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (Creature* tyralius = go->FindNearestCreature(NPC_CAPTAIN_TYRALIUS, 1.0f))
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index f0defe88083..4efa108429a 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -72,7 +72,7 @@ class npc_mature_netherwing_drake : public CreatureScript
public:
npc_mature_netherwing_drake() : CreatureScript("npc_mature_netherwing_drake") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_mature_netherwing_drakeAI(creature);
}
@@ -89,7 +89,7 @@ public:
uint32 EatTimer;
uint32 CastTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
uiPlayerGUID = 0;
@@ -100,7 +100,7 @@ public:
CastTimer = 5000;
}
- void SpellHit(Unit* pCaster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* pCaster, SpellInfo const* spell) override
{
if (bCanEat || bIsEating)
return;
@@ -112,7 +112,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -125,7 +125,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (bCanEat || bIsEating)
{
@@ -210,7 +210,7 @@ class npc_enslaved_netherwing_drake : public CreatureScript
public:
npc_enslaved_netherwing_drake() : CreatureScript("npc_enslaved_netherwing_drake") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_enslaved_netherwing_drakeAI(creature);
}
@@ -228,7 +228,7 @@ public:
uint32 FlyTimer;
bool Tapped;
- void Reset() OVERRIDE
+ void Reset() override
{
if (!Tapped)
me->setFaction(FACTION_DEFAULT);
@@ -238,7 +238,7 @@ public:
me->SetVisible(true);
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (!caster)
return;
@@ -264,7 +264,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -286,7 +286,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
@@ -311,10 +311,10 @@ public:
Position pos;
if (Unit* EscapeDummy = me->FindNearestCreature(NPC_ESCAPE_DUMMY, 30))
- EscapeDummy->GetPosition(&pos);
+ pos = EscapeDummy->GetPosition();
else
{
- me->GetRandomNearPosition(pos, 20);
+ pos = me->GetRandomNearPosition(20);
pos.m_positionZ += 25;
}
@@ -341,7 +341,7 @@ class npc_dragonmaw_peon : public CreatureScript
public:
npc_dragonmaw_peon() : CreatureScript("npc_dragonmaw_peon") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dragonmaw_peonAI(creature);
}
@@ -354,14 +354,14 @@ public:
bool Tapped;
uint32 PoisonTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
Tapped = false;
PoisonTimer = 0;
}
- void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* caster, const SpellInfo* spell) override
{
if (!caster)
return;
@@ -379,7 +379,7 @@ public:
}
}
- void MovementInform(uint32 type, uint32 id) OVERRIDE
+ void MovementInform(uint32 type, uint32 id) override
{
if (type != POINT_MOTION_TYPE)
return;
@@ -391,7 +391,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (PoisonTimer)
{
@@ -420,7 +420,7 @@ class npc_drake_dealer_hurlunk : public CreatureScript
public:
npc_drake_dealer_hurlunk() : CreatureScript("npc_drake_dealer_hurlunk") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -429,7 +429,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsVendor() && player->GetReputationRank(1015) == REP_EXALTED)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
@@ -452,7 +452,7 @@ class npcs_flanis_swiftwing_and_kagrosh : public CreatureScript
public:
npcs_flanis_swiftwing_and_kagrosh() : CreatureScript("npcs_flanis_swiftwing_and_kagrosh") { }
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -478,7 +478,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(10583) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(30658, 1, true))
player->ADD_GOSSIP_ITEM(0, GOSSIP_HSK1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
@@ -508,7 +508,7 @@ class npc_oronok_tornheart : public CreatureScript
public:
npc_oronok_tornheart() : CreatureScript("npc_oronok_tornheart") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -548,7 +548,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -585,7 +585,7 @@ class npc_karynaku : public CreatureScript
public:
npc_karynaku() : CreatureScript("npc_karynaku") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ALLY_OF_NETHER)
player->ActivateTaxiPathTo(TAXI_PATH_ID);
@@ -639,7 +639,7 @@ class npc_overlord_morghor : public CreatureScript
public:
npc_overlord_morghor() : CreatureScript("npc_overlord_morghor") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest *_Quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest *_Quest) override
{
if (_Quest->GetQuestId() == QUEST_LORD_ILLIDAN_STORMRAGE)
{
@@ -650,7 +650,7 @@ public:
return false;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_overlord_morghorAI(creature);
}
@@ -667,7 +667,7 @@ public:
bool Event;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
IllidanGUID = 0;
@@ -900,7 +900,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!ConversationTimer)
return;
@@ -943,7 +943,7 @@ class npc_earthmender_wilda : public CreatureScript
public:
npc_earthmender_wilda() : CreatureScript("npc_earthmender_wilda") { }
- bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, const Quest* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE_COILSCAR)
{
@@ -956,7 +956,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_earthmender_wildaAI(creature);
}
@@ -967,12 +967,12 @@ public:
uint32 m_uiHealingTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
m_uiHealingTimer = 0;
}
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -1030,7 +1030,7 @@ public:
}
}
- void JustSummoned(Creature* summoned) OVERRIDE
+ void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_COILSKAR_ASSASSIN)
summoned->AI()->AttackStart(me);
@@ -1048,7 +1048,7 @@ public:
DoSummon(NPC_COILSKAR_ASSASSIN, me, 15.0f, 5000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
//don't always use
if (rand()%5)
@@ -1063,7 +1063,7 @@ public:
}
}
- void UpdateAI(uint32 uiDiff) OVERRIDE
+ void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
@@ -1186,7 +1186,7 @@ class npc_torloth_the_magnificent : public CreatureScript
public:
npc_torloth_the_magnificent() : CreatureScript("npc_torloth_the_magnificent") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_torloth_the_magnificentAI(c);
}
@@ -1204,7 +1204,7 @@ public:
bool Timers;
- void Reset() OVERRIDE
+ void Reset() override
{
AnimationTimer = 4000;
AnimationCount = 0;
@@ -1217,7 +1217,7 @@ public:
me->SetTarget(0);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void HandleAnimation()
{
@@ -1264,7 +1264,7 @@ public:
++AnimationCount;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (AnimationTimer)
{
@@ -1309,7 +1309,7 @@ public:
DoMeleeAttackIfReady();
}
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
switch (killer->GetTypeId())
{
@@ -1341,7 +1341,7 @@ class npc_lord_illidan_stormrage : public CreatureScript
public:
npc_lord_illidan_stormrage() : CreatureScript("npc_lord_illidan_stormrage") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_lord_illidan_stormrageAI(c);
}
@@ -1362,7 +1362,7 @@ public:
bool Announced;
bool Failed;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
@@ -1378,10 +1378,10 @@ public:
me->SetVisible(false);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
+ void AttackStart(Unit* /*who*/) override { }
void SummonNextWave();
@@ -1445,7 +1445,7 @@ public:
Announced = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!PlayerGUID || !EventStarted)
return;
@@ -1483,7 +1483,7 @@ class npc_illidari_spawn : public CreatureScript
public:
npc_illidari_spawn() : CreatureScript("npc_illidari_spawn") { }
- CreatureAI* GetAI(Creature* c) const OVERRIDE
+ CreatureAI* GetAI(Creature* c) const override
{
return new npc_illidari_spawnAI(c);
}
@@ -1496,15 +1496,15 @@ public:
uint32 SpellTimer1, SpellTimer2, SpellTimer3;
bool Timers;
- void Reset() OVERRIDE
+ void Reset() override
{
LordIllidanGUID = 0;
Timers = false;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
me->RemoveCorpse();
if (Creature* LordIllidan = (Unit::GetCreature(*me, LordIllidanGUID)))
@@ -1512,7 +1512,7 @@ public:
CAST_AI(npc_lord_illidan_stormrage::npc_lord_illidan_stormrageAI, LordIllidan->AI())->LiveCounter();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1669,7 +1669,7 @@ class go_crystal_prison : public GameObjectScript
public:
go_crystal_prison() : GameObjectScript("go_crystal_prison") { }
- bool OnQuestAccept(Player* player, GameObject* /*go*/, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, GameObject* /*go*/, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_BATTLE_OF_THE_CRIMSON_WATCH)
{
@@ -1738,7 +1738,7 @@ class npc_enraged_spirit : public CreatureScript
public:
npc_enraged_spirit() : CreatureScript("npc_enraged_spirit") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_enraged_spiritAI(creature);
}
@@ -1747,11 +1747,11 @@ public:
{
npc_enraged_spiritAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// always spawn spirit on death
// if totem around
@@ -1833,13 +1833,13 @@ class spell_unlocking_zuluheds_chains : public SpellScriptLoader
GetCaster()->ToPlayer()->KilledMonsterCredit(NPC_KARYNAKU, karynaku->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_unlocking_zuluheds_chains_SpellScript::HandleAfterHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_unlocking_zuluheds_chains_SpellScript();
}
@@ -1867,14 +1867,14 @@ public:
{
npc_shadowmoon_tuber_nodeAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
tapped = false;
tuberGUID = 0;
resetTimer = 60000;
}
- void SetData(uint32 id, uint32 data) OVERRIDE
+ void SetData(uint32 id, uint32 data) override
{
if (id == TYPE_BOAR && data == DATA_BOAR)
{
@@ -1891,7 +1891,7 @@ public:
}
}
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) OVERRIDE
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (!tapped && spell->Id == SPELL_WHISTLE)
{
@@ -1905,7 +1905,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (tapped)
{
@@ -1929,7 +1929,7 @@ public:
uint32 resetTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_shadowmoon_tuber_nodeAI(creature);
}
diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp
index a5cdb600311..9a62cde005c 100644
--- a/src/server/scripts/Outland/zone_shattrath_city.cpp
+++ b/src/server/scripts/Outland/zone_shattrath_city.cpp
@@ -58,7 +58,7 @@ class npc_raliq_the_drunk : public CreatureScript
public:
npc_raliq_the_drunk() : CreatureScript("npc_raliq_the_drunk") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -70,7 +70,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_RALIQ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
@@ -79,7 +79,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_raliq_the_drunkAI(creature);
}
@@ -94,13 +94,13 @@ public:
uint32 m_uiNormFaction;
uint32 Uppercut_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Uppercut_Timer = 5000;
me->RestoreFaction();
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -139,7 +139,7 @@ class npc_salsalabim : public CreatureScript
public:
npc_salsalabim() : CreatureScript("npc_salsalabim") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_10004) == QUEST_STATUS_INCOMPLETE)
{
@@ -155,7 +155,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_salsalabimAI(creature);
}
@@ -166,13 +166,13 @@ public:
uint32 MagneticPull_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
MagneticPull_Timer = 15000;
me->RestoreFaction();
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetTypeId() == TYPEID_PLAYER && me->HealthBelowPctDamaged(20, damage))
{
@@ -182,7 +182,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -214,7 +214,7 @@ class npc_shattrathflaskvendors : public CreatureScript
public:
npc_shattrathflaskvendors() : CreatureScript("npc_shattrathflaskvendors") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -223,7 +223,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->GetEntry() == 23484)
{
@@ -268,7 +268,7 @@ class npc_zephyr : public CreatureScript
public:
npc_zephyr() : CreatureScript("npc_zephyr") { }
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -277,7 +277,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetReputationRank(989) >= REP_REVERED)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HZ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
@@ -323,7 +323,7 @@ class npc_kservant : public CreatureScript
public:
npc_kservant() : CreatureScript("npc_kservant") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kservantAI(creature);
}
@@ -333,7 +333,7 @@ public:
public:
npc_kservantAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -411,7 +411,7 @@ public:
}
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
@@ -428,7 +428,7 @@ public:
}
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
};
};
@@ -444,7 +444,7 @@ class npc_ishanah : public CreatureScript
public:
npc_ishanah() : CreatureScript("npc_ishanah") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -455,7 +455,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -485,7 +485,7 @@ class npc_khadgar : public CreatureScript
public:
npc_khadgar() : CreatureScript("npc_khadgar") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -522,7 +522,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index 3fb106e8cd8..a902bd49154 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -61,7 +61,7 @@ class npc_unkor_the_ruthless : public CreatureScript
public:
npc_unkor_the_ruthless() : CreatureScript("npc_unkor_the_ruthless") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_unkor_the_ruthlessAI(creature);
}
@@ -74,7 +74,7 @@ public:
uint32 UnkorUnfriendly_Timer;
uint32 Pulverize_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
CanDoQuest = false;
UnkorUnfriendly_Timer = 0;
@@ -83,7 +83,7 @@ public:
me->setFaction(FACTION_HOSTILE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
void DoNice()
{
@@ -96,7 +96,7 @@ public:
UnkorUnfriendly_Timer = 60000;
}
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
Player* player = done_by->ToPlayer();
@@ -126,7 +126,7 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CanDoQuest)
{
@@ -168,7 +168,7 @@ class npc_infested_root_walker : public CreatureScript
public:
npc_infested_root_walker() : CreatureScript("npc_infested_root_walker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_infested_root_walkerAI(creature);
}
@@ -177,10 +177,10 @@ public:
{
npc_infested_root_walkerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by && done_by->GetTypeId() == TYPEID_PLAYER)
if (me->GetHealth() <= damage)
@@ -199,7 +199,7 @@ class npc_skywing : public CreatureScript
public:
npc_skywing() : CreatureScript("npc_skywing") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_skywingAI(creature);
}
@@ -209,7 +209,7 @@ public:
public:
npc_skywingAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -223,9 +223,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
@@ -237,9 +237,9 @@ public:
Start(false, false, who->GetGUID());
}
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
npc_escortAI::UpdateAI(diff);
}
@@ -255,7 +255,7 @@ class npc_rotting_forest_rager : public CreatureScript
public:
npc_rotting_forest_rager() : CreatureScript("npc_rotting_forest_rager") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_rotting_forest_ragerAI(creature);
}
@@ -264,10 +264,10 @@ public:
{
npc_rotting_forest_ragerAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
+ void DamageTaken(Unit* done_by, uint32 &damage) override
{
if (done_by->GetTypeId() == TYPEID_PLAYER)
if (me->GetHealth() <= damage)
@@ -298,7 +298,7 @@ class npc_netherweb_victim : public CreatureScript
public:
npc_netherweb_victim() : CreatureScript("npc_netherweb_victim") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_netherweb_victimAI(creature);
}
@@ -307,12 +307,12 @@ public:
{
npc_netherweb_victimAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
Player* player = killer->ToPlayer();
if (!player)
@@ -361,7 +361,7 @@ class npc_floon : public CreatureScript
public:
npc_floon() : CreatureScript("npc_floon") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -379,7 +379,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLOON1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
@@ -388,7 +388,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_floonAI(creature);
}
@@ -405,7 +405,7 @@ public:
uint32 Frostbolt_Timer;
uint32 FrostNova_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
Silence_Timer = 2000;
Frostbolt_Timer = 4000;
@@ -414,9 +414,9 @@ public:
me->setFaction(m_uiNormFaction);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -469,7 +469,7 @@ public:
{
npc_isla_starmaneAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -508,12 +508,12 @@ public:
}
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RestoreFaction();
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (Player* player = GetPlayerForEscort())
{
@@ -525,7 +525,7 @@ public:
}
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_EFTW_H || quest->GetQuestId() == QUEST_EFTW_A)
{
@@ -535,7 +535,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_isla_starmaneAI(creature);
}
@@ -554,7 +554,7 @@ class go_skull_pile : public GameObjectScript
public:
go_skull_pile() : GameObjectScript("go_skull_pile") { }
- bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
@@ -564,7 +564,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if ((player->GetQuestStatus(11885) == QUEST_STATUS_INCOMPLETE) || player->GetQuestRewardStatus(11885))
{
@@ -612,7 +612,7 @@ class npc_slim : public CreatureScript
public:
npc_slim() : CreatureScript("npc_slim") { }
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -621,7 +621,7 @@ public:
return true;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsVendor() && player->GetReputationRank(FACTION_CONSORTIUM) >= REP_FRIENDLY)
{
@@ -650,7 +650,7 @@ class npc_akuno : public CreatureScript
public:
npc_akuno() : CreatureScript("npc_akuno") { }
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPING_THE_TOMB)
{
@@ -665,7 +665,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_akunoAI(creature);
}
@@ -674,7 +674,7 @@ public:
{
npc_akunoAI(Creature* creature) : npc_escortAI(creature) { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -693,7 +693,7 @@ public:
}
}
- void JustSummoned(Creature* summon) OVERRIDE
+ void JustSummoned(Creature* summon) override
{
summon->AI()->AttackStart(me);
}
diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp
index f8ef3d7c3bd..b9736c523c3 100644
--- a/src/server/scripts/Outland/zone_zangarmarsh.cpp
+++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp
@@ -69,7 +69,7 @@ class npcs_ashyen_and_keleth : public CreatureScript
public:
npcs_ashyen_and_keleth() : CreatureScript("npcs_ashyen_and_keleth") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetReputationRank(942) > REP_NEUTRAL)
{
@@ -84,7 +84,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -183,16 +183,16 @@ public:
uint32 m_uiNormFaction;
uint32 LightningBolt_Timer;
- void Reset() OVERRIDE
+ void Reset() override
{
LightningBolt_Timer = 2000;
if (me->getFaction() != m_uiNormFaction)
me->setFaction(m_uiNormFaction);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -207,12 +207,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_cooshcooshAI(creature);
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_COOSH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
@@ -221,7 +221,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -247,7 +247,7 @@ class npc_elder_kuruti : public CreatureScript
public:
npc_elder_kuruti() : CreatureScript("npc_elder_kuruti") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(9803) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
@@ -257,7 +257,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -300,7 +300,7 @@ class npc_mortog_steamhead : public CreatureScript
public:
npc_mortog_steamhead() : CreatureScript("npc_mortog_steamhead") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsVendor() && player->GetReputationRank(942) == REP_EXALTED)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
@@ -310,7 +310,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -344,9 +344,9 @@ public:
{
npc_kayra_longmaneAI(Creature* creature) : npc_escortAI(creature) { }
- void Reset() OVERRIDE { }
+ void Reset() override { }
- void WaypointReached(uint32 waypointId) OVERRIDE
+ void WaypointReached(uint32 waypointId) override
{
Player* player = GetPlayerForEscort();
if (!player)
@@ -379,7 +379,7 @@ public:
}
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_ESCAPE_FROM)
{
@@ -391,7 +391,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_kayra_longmaneAI(creature);
}
@@ -414,7 +414,7 @@ class npc_timothy_daniels : public CreatureScript
public:
npc_timothy_daniels() : CreatureScript("npc_timothy_daniels") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -427,7 +427,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp
index 61c3de0e6b1..34da2a242f4 100644
--- a/src/server/scripts/Pet/pet_dk.cpp
+++ b/src/server/scripts/Pet/pet_dk.cpp
@@ -45,7 +45,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
{
npc_pet_dk_ebon_gargoyleAI(Creature* creature) : CasterAI(creature) { }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
// Not needed to be despawned now
_despawnTimer = 0;
@@ -68,7 +68,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
}
}
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
// Stop Feeding Gargoyle when it dies
if (Unit* owner = me->GetOwner())
@@ -76,7 +76,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
}
// Fly away when dismissed
- void SpellHit(Unit* source, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* source, SpellInfo const* spell) override
{
if (spell->Id != SPELL_DK_DISMISS_GARGOYLE || !me->IsAlive())
return;
@@ -107,7 +107,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
_despawnTimer = 4 * IN_MILLISECONDS;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (_despawnTimer > 0)
{
@@ -125,7 +125,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
uint32 _despawnTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_dk_ebon_gargoyleAI(creature);
}
diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp
index 2a41b293967..cfb4820c040 100644
--- a/src/server/scripts/Pet/pet_generic.cpp
+++ b/src/server/scripts/Pet/pet_generic.cpp
@@ -41,7 +41,7 @@ class npc_pet_gen_mojo : public CreatureScript
{
npc_pet_gen_mojoAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_victimGUID = 0;
@@ -49,10 +49,10 @@ class npc_pet_gen_mojo : public CreatureScript
me->GetMotionMaster()->MoveFollow(owner, 0.0f, 0.0f);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void UpdateAI(uint32 /*diff*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void UpdateAI(uint32 /*diff*/) override { }
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
me->HandleEmoteCommand(emote);
Unit* owner = me->GetOwner();
@@ -79,7 +79,7 @@ class npc_pet_gen_mojo : public CreatureScript
uint64 _victimGUID;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_gen_mojoAI(creature);
}
diff --git a/src/server/scripts/Pet/pet_hunter.cpp b/src/server/scripts/Pet/pet_hunter.cpp
index 8a0b78b5478..0346cebb220 100644
--- a/src/server/scripts/Pet/pet_hunter.cpp
+++ b/src/server/scripts/Pet/pet_hunter.cpp
@@ -44,9 +44,9 @@ class npc_pet_hunter_snake_trap : public CreatureScript
{
npc_pet_hunter_snake_trapAI(Creature* creature) : ScriptedAI(creature) { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void Reset() OVERRIDE
+ void Reset() override
{
_spellTimer = 0;
@@ -71,7 +71,7 @@ class npc_pet_hunter_snake_trap : public CreatureScript
}
// Redefined for random target selection:
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!me->GetVictim() && me->CanCreatureAttack(who))
{
@@ -91,12 +91,12 @@ class npc_pet_hunter_snake_trap : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
- if (!UpdateVictim())
+ if (!UpdateVictim() || !me->GetVictim())
return;
- if (me->GetVictim()->HasBreakableByDamageCrowdControlAura(me))
+ if (me->EnsureVictim()->HasBreakableByDamageCrowdControlAura(me))
{
me->InterruptNonMeleeSpells(false);
return;
@@ -124,7 +124,7 @@ class npc_pet_hunter_snake_trap : public CreatureScript
uint32 _spellTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_hunter_snake_trapAI(creature);
}
diff --git a/src/server/scripts/Pet/pet_mage.cpp b/src/server/scripts/Pet/pet_mage.cpp
index 69e924c0d43..260784fd26a 100644
--- a/src/server/scripts/Pet/pet_mage.cpp
+++ b/src/server/scripts/Pet/pet_mage.cpp
@@ -40,7 +40,7 @@ class npc_pet_mage_mirror_image : public CreatureScript
{
npc_pet_mage_mirror_imageAI(Creature* creature) : CasterAI(creature) { }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
CasterAI::InitializeAI();
Unit* owner = me->GetOwner();
@@ -55,7 +55,7 @@ class npc_pet_mage_mirror_image : public CreatureScript
}
// Do not reload Creature templates on evade mode enter - prevent visual lost
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (me->IsInEvadeMode() || !me->IsAlive())
return;
@@ -71,7 +71,7 @@ class npc_pet_mage_mirror_image : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_mage_mirror_imageAI(creature);
}
diff --git a/src/server/scripts/Pet/pet_priest.cpp b/src/server/scripts/Pet/pet_priest.cpp
index fc106a2a786..4a6d147615e 100644
--- a/src/server/scripts/Pet/pet_priest.cpp
+++ b/src/server/scripts/Pet/pet_priest.cpp
@@ -44,7 +44,7 @@ class npc_pet_pri_lightwell : public CreatureScript
DoCast(me, SPELL_PRIEST_LIGHTWELL_CHARGES, false);
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!me->IsAlive())
return;
@@ -55,7 +55,7 @@ class npc_pet_pri_lightwell : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_pri_lightwellAI(creature);
}
@@ -70,7 +70,7 @@ class npc_pet_pri_shadowfiend : public CreatureScript
{
npc_pet_pri_shadowfiendAI(Creature* creature) : PetAI(creature) { }
- void JustDied(Unit* /*killer*/) OVERRIDE
+ void JustDied(Unit* /*killer*/) override
{
if (me->IsSummon())
if (Unit* owner = me->ToTempSummon()->GetSummoner())
@@ -79,7 +79,7 @@ class npc_pet_pri_shadowfiend : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_pri_shadowfiendAI(creature);
}
diff --git a/src/server/scripts/Pet/pet_shaman.cpp b/src/server/scripts/Pet/pet_shaman.cpp
index 03e6c55b109..b9b89d92784 100644
--- a/src/server/scripts/Pet/pet_shaman.cpp
+++ b/src/server/scripts/Pet/pet_shaman.cpp
@@ -51,14 +51,14 @@ class npc_pet_shaman_earth_elemental : public CreatureScript
npc_pet_shaman_earth_elementalAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SHAMAN_ANGEREDEARTH, 0);
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -78,7 +78,7 @@ class npc_pet_shaman_earth_elemental : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_shaman_earth_elementalAI(creature);
}
@@ -93,7 +93,7 @@ class npc_pet_shaman_fire_elemental : public CreatureScript
{
npc_pet_shaman_fire_elementalAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SHAMAN_FIRENOVA, urand(5000, 20000));
@@ -102,7 +102,7 @@ class npc_pet_shaman_fire_elemental : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -140,7 +140,7 @@ class npc_pet_shaman_fire_elemental : public CreatureScript
EventMap _events;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_pet_shaman_fire_elementalAI(creature);
}
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 3fb74bddee0..9c6ed2ff120 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -76,7 +76,7 @@ class spell_dk_anti_magic_shell_raid : public SpellScriptLoader
uint32 absorbPct;
- bool Load() OVERRIDE
+ bool Load() override
{
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue(GetCaster());
return true;
@@ -93,14 +93,14 @@ class spell_dk_anti_magic_shell_raid : public SpellScriptLoader
absorbAmount = CalculatePct(dmgInfo.GetDamage(), absorbPct);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_anti_magic_shell_raid_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_dk_anti_magic_shell_raid_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_anti_magic_shell_raid_AuraScript();
}
@@ -117,14 +117,14 @@ class spell_dk_anti_magic_shell_self : public SpellScriptLoader
PrepareAuraScript(spell_dk_anti_magic_shell_self_AuraScript);
uint32 absorbPct, hpPct;
- bool Load() OVERRIDE
+ bool Load() override
{
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue(GetCaster());
hpPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster());
return true;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_RUNIC_POWER_ENERGIZE))
return false;
@@ -149,7 +149,7 @@ class spell_dk_anti_magic_shell_self : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DK_RUNIC_POWER_ENERGIZE, SPELLVALUE_BASE_POINT0, bp, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_anti_magic_shell_self_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_dk_anti_magic_shell_self_AuraScript::Absorb, EFFECT_0);
@@ -157,7 +157,7 @@ class spell_dk_anti_magic_shell_self : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_anti_magic_shell_self_AuraScript();
}
@@ -175,13 +175,13 @@ class spell_dk_anti_magic_zone : public SpellScriptLoader
uint32 absorbPct;
- bool Load() OVERRIDE
+ bool Load() override
{
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue(GetCaster());
return true;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_ANTI_MAGIC_SHELL_TALENT))
return false;
@@ -190,7 +190,7 @@ class spell_dk_anti_magic_zone : public SpellScriptLoader
void CalculateAmount(AuraEffect const* /*aurEff*/, int32 & amount, bool & /*canBeRecalculated*/)
{
- SpellInfo const* talentSpell = sSpellMgr->GetSpellInfo(SPELL_DK_ANTI_MAGIC_SHELL_TALENT);
+ SpellInfo const* talentSpell = sSpellMgr->EnsureSpellInfo(SPELL_DK_ANTI_MAGIC_SHELL_TALENT);
amount = talentSpell->Effects[EFFECT_0].CalcValue(GetCaster());
if (Player* player = GetCaster()->ToPlayer())
amount += int32(2 * player->GetTotalAttackPowerValue(BASE_ATTACK));
@@ -201,14 +201,14 @@ class spell_dk_anti_magic_zone : public SpellScriptLoader
absorbAmount = CalculatePct(dmgInfo.GetDamage(), absorbPct);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_anti_magic_zone_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_dk_anti_magic_zone_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_anti_magic_zone_AuraScript();
}
@@ -224,14 +224,14 @@ class spell_dk_blood_boil : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_blood_boil_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_BOIL_TRIGGERED))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_executed = false;
return GetCaster()->GetTypeId() == TYPEID_PLAYER && GetCaster()->getClass() == CLASS_DEATH_KNIGHT;
@@ -246,7 +246,7 @@ class spell_dk_blood_boil : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_DK_BLOOD_BOIL_TRIGGERED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_dk_blood_boil_SpellScript::HandleAfterHit);
}
@@ -254,7 +254,7 @@ class spell_dk_blood_boil : public SpellScriptLoader
bool _executed;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_blood_boil_SpellScript();
}
@@ -270,14 +270,14 @@ class spell_dk_blood_gorged : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_blood_gorged_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_GORGED_HEAL))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -295,7 +295,7 @@ class spell_dk_blood_gorged : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DK_BLOOD_GORGED_HEAL, SPELLVALUE_BASE_POINT0, heal, _procTarget, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_dk_blood_gorged_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_dk_blood_gorged_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
@@ -305,7 +305,7 @@ class spell_dk_blood_gorged : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_blood_gorged_AuraScript();
}
@@ -321,7 +321,7 @@ class spell_dk_butchery : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_blood_gorged_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BUTCHERY))
return false;
@@ -334,13 +334,13 @@ class spell_dk_butchery : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DK_BUTCHERY, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dk_blood_gorged_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_blood_gorged_AuraScript();
}
@@ -356,7 +356,7 @@ class spell_dk_death_coil : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_death_coil_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_COIL_DAMAGE) || !sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_COIL_HEAL))
return false;
@@ -400,14 +400,14 @@ class spell_dk_death_coil : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dk_death_coil_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_dk_death_coil_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_death_coil_SpellScript();
}
@@ -441,14 +441,14 @@ class spell_dk_death_gate : public SpellScriptLoader
target->CastSpell(target, GetEffectValue(), false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dk_death_gate_SpellScript::CheckClass);
OnEffectHitTarget += SpellEffectFn(spell_dk_death_gate_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_death_gate_SpellScript();
}
@@ -475,14 +475,14 @@ class spell_dk_death_grip : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dk_death_grip_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_death_grip_SpellScript();
}
@@ -531,14 +531,14 @@ class spell_dk_death_pact : public SpellScriptLoader
targetList.push_back(target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dk_death_pact_SpellScript::CheckCast);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dk_death_pact_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_death_pact_SpellScript();
}
@@ -554,7 +554,7 @@ class spell_dk_death_strike : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_death_strike_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_ENABLER) ||
!sSpellMgr->GetSpellInfo(SPELL_DK_DEATH_STRIKE_HEAL) ||
@@ -585,13 +585,13 @@ class spell_dk_death_strike : public SpellScriptLoader
GetCaster()->CastCustomSpell(SPELL_DK_BLOOD_SHIELD_ABSORB, SPELLVALUE_BASE_POINT0, GetCaster()->CountPctFromMaxHealth(aurEff->GetAmount()), GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dk_death_strike_SpellScript::HandleDummy, EFFECT_2, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_death_strike_SpellScript();
}
@@ -607,7 +607,7 @@ class spell_dk_death_strike_enabler : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_death_strike_enabler_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
for (uint8 i = 0; i < 5; ++i)
_damagePerSecond[i] = 0;
@@ -653,7 +653,7 @@ class spell_dk_death_strike_enabler : public SpellScriptLoader
amount += int32(_damagePerSecond[i]);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_dk_death_strike_enabler_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_dk_death_strike_enabler_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
@@ -665,7 +665,7 @@ class spell_dk_death_strike_enabler : public SpellScriptLoader
uint32 _damagePerSecond[5];
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_death_strike_enabler_AuraScript();
}
@@ -681,7 +681,7 @@ class spell_dk_ghoul_explode : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_ghoul_explode_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_CORPSE_EXPLOSION_TRIGGERED))
return false;
@@ -697,13 +697,13 @@ class spell_dk_ghoul_explode : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dk_ghoul_explode_SpellScript::Suicide, EFFECT_1, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_ghoul_explode_SpellScript();
}
@@ -719,7 +719,7 @@ class spell_dk_icebound_fortitude : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_icebound_fortitude_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
Unit* caster = GetCaster();
return caster && caster->GetTypeId() == TYPEID_PLAYER;
@@ -746,13 +746,13 @@ class spell_dk_icebound_fortitude : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_icebound_fortitude_AuraScript::CalculateAmount, EFFECT_2, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_icebound_fortitude_AuraScript();
}
@@ -768,7 +768,7 @@ class spell_dk_improved_blood_presence : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_improved_blood_presence_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
|| !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
@@ -806,7 +806,7 @@ class spell_dk_improved_blood_presence : public SpellScriptLoader
target->RemoveAura(SPELL_DK_BLOOD_PRESENCE_TRIGGERED);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dk_improved_blood_presence_AuraScript::HandleModDamagePctTaken, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectApply += AuraEffectApplyFn(spell_dk_improved_blood_presence_AuraScript::HandleModAttackerMeleeCritChance, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -814,7 +814,7 @@ class spell_dk_improved_blood_presence : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_improved_blood_presence_AuraScript();
}
@@ -830,7 +830,7 @@ class spell_dk_improved_frost_presence : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_improved_frost_presence_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
|| !sSpellMgr->GetSpellInfo(SPELL_DK_UNHOLY_PRESENCE)
@@ -851,14 +851,14 @@ class spell_dk_improved_frost_presence : public SpellScriptLoader
GetTarget()->RemoveAura(SPELL_DK_IMPROVED_FROST_PRESENCE_TRIGGERED);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dk_improved_frost_presence_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_dk_improved_frost_presence_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_improved_frost_presence_AuraScript();
}
@@ -874,7 +874,7 @@ class spell_dk_improved_unholy_presence : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_improved_unholy_presence_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
|| !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
@@ -895,14 +895,14 @@ class spell_dk_improved_unholy_presence : public SpellScriptLoader
GetTarget()->RemoveAura(SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dk_improved_unholy_presence_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_dk_improved_unholy_presence_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_improved_unholy_presence_AuraScript();
}
@@ -924,13 +924,13 @@ class spell_dk_necrotic_strike : public SpellScriptLoader
amount = int32(caster->GetTotalAttackPowerValue(BASE_ATTACK) * 0.7f);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_necrotic_strike_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_HEAL_ABSORB);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_necrotic_strike_AuraScript();
}
@@ -948,7 +948,7 @@ class spell_dk_presence : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_presence_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_BLOOD_PRESENCE)
|| !sSpellMgr->GetSpellInfo(SPELL_DK_FROST_PRESENCE)
@@ -1019,7 +1019,7 @@ class spell_dk_presence : public SpellScriptLoader
target->RemoveAura(SPELL_DK_IMPROVED_UNHOLY_PRESENCE_TRIGGERED);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dk_presence_AuraScript::HandleImprovedBloodPresence, EFFECT_0, SPELL_AURA_ANY, AURA_EFFECT_HANDLE_REAL);
AfterEffectApply += AuraEffectApplyFn(spell_dk_presence_AuraScript::HandleImprovedFrostPresence, EFFECT_0, SPELL_AURA_ANY, AURA_EFFECT_HANDLE_REAL);
@@ -1028,7 +1028,7 @@ class spell_dk_presence : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_presence_AuraScript();
}
@@ -1068,7 +1068,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_raise_dead_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_1].CalcValue())
|| !sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_2].CalcValue())
@@ -1078,7 +1078,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_result = SPELL_CAST_OK;
_corpse = false;
@@ -1170,7 +1170,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
GetCaster()->CastSpell(targets, spellInfo, NULL, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dk_raise_dead_SpellScript::CheckCast);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dk_raise_dead_SpellScript::CheckTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENTRY);
@@ -1185,7 +1185,7 @@ class spell_dk_raise_dead : public SpellScriptLoader
bool _corpse;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_raise_dead_SpellScript();
}
@@ -1206,13 +1206,13 @@ class spell_dk_rune_tap_party : public SpellScriptLoader
targets.remove(GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dk_rune_tap_party_SpellScript::CheckTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_PARTY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_rune_tap_party_SpellScript();
}
@@ -1228,7 +1228,7 @@ class spell_dk_scent_of_blood : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_scent_of_blood_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_SCENT_OF_BLOOD))
return false;
@@ -1242,13 +1242,13 @@ class spell_dk_scent_of_blood : public SpellScriptLoader
GetTarget()->RemoveAuraFromStack(GetId());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dk_scent_of_blood_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_scent_of_blood_AuraScript();
}
@@ -1265,13 +1265,13 @@ class spell_dk_scourge_strike : public SpellScriptLoader
PrepareSpellScript(spell_dk_scourge_strike_SpellScript);
float multiplier;
- bool Load() OVERRIDE
+ bool Load() override
{
multiplier = 1.0f;
return true;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_SCOURGE_STRIKE_TRIGGERED))
return false;
@@ -1304,14 +1304,14 @@ class spell_dk_scourge_strike : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dk_scourge_strike_SpellScript::HandleDummy, EFFECT_2, SPELL_EFFECT_DUMMY);
AfterHit += SpellHitFn(spell_dk_scourge_strike_SpellScript::HandleAfterHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dk_scourge_strike_SpellScript();
}
@@ -1332,13 +1332,13 @@ class spell_dk_vampiric_blood : public SpellScriptLoader
amount = GetUnitOwner()->CountPctFromMaxHealth(amount);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_vampiric_blood_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_MOD_INCREASE_HEALTH);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_vampiric_blood_AuraScript();
}
@@ -1354,7 +1354,7 @@ class spell_dk_will_of_the_necropolis : public SpellScriptLoader
{
PrepareAuraScript(spell_dk_will_of_the_necropolis_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DK_WILL_OF_THE_NECROPOLIS))
return false;
@@ -1382,14 +1382,14 @@ class spell_dk_will_of_the_necropolis : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_dk_will_of_the_necropolis_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_dk_will_of_the_necropolis_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_will_of_the_necropolis_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index 20448e79fb7..a352ebb41ae 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -80,13 +80,13 @@ class spell_dru_dash : public SpellScriptLoader
amount = 0;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_dash_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_INCREASE_SPEED);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_dash_AuraScript();
}
@@ -103,7 +103,7 @@ class spell_dru_eclipse : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_eclipse_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_NATURES_GRACE) ||
!sSpellMgr->GetSpellInfo(SPELL_DRUID_NATURES_GRACE_TRIGGER))
@@ -111,7 +111,7 @@ class spell_dru_eclipse : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -126,13 +126,13 @@ class spell_dru_eclipse : public SpellScriptLoader
caster->ToPlayer()->RemoveSpellCooldown(SPELL_DRUID_NATURES_GRACE_TRIGGER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_dru_eclipse_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_eclipse_AuraScript();
}
@@ -150,7 +150,7 @@ class spell_dru_eclipse_energize : public SpellScriptLoader
int32 energizeAmount;
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -236,13 +236,13 @@ class spell_dru_eclipse_energize : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dru_eclipse_energize_SpellScript::HandleEnergize, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_eclipse_energize_SpellScript;
}
@@ -258,7 +258,7 @@ class spell_dru_enrage : public SpellScriptLoader
{
PrepareSpellScript(spell_dru_enrage_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_KING_OF_THE_JUNGLE)
|| !sSpellMgr->GetSpellInfo(SPELL_DRUID_ENRAGE_MOD_DAMAGE))
@@ -272,13 +272,13 @@ class spell_dru_enrage : public SpellScriptLoader
GetHitUnit()->CastCustomSpell(SPELL_DRUID_ENRAGE_MOD_DAMAGE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetHitUnit(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_dru_enrage_SpellScript::OnHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_enrage_SpellScript();
}
@@ -294,7 +294,7 @@ class spell_dru_glyph_of_innervate : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_glyph_of_innervate_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_INNERVATE))
return false;
@@ -313,14 +313,14 @@ class spell_dru_glyph_of_innervate : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_DRUID_GLYPH_OF_INNERVATE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_dru_glyph_of_innervate_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_dru_glyph_of_innervate_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_glyph_of_innervate_AuraScript();
}
@@ -336,7 +336,7 @@ class spell_dru_glyph_of_starfire : public SpellScriptLoader
{
PrepareSpellScript(spell_dru_glyph_of_starfire_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_INCREASED_MOONFIRE_DURATION))
return false;
@@ -364,13 +364,13 @@ class spell_dru_glyph_of_starfire : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dru_glyph_of_starfire_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_glyph_of_starfire_SpellScript();
}
@@ -386,7 +386,7 @@ class spell_dru_glyph_of_starfire_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_glyph_of_starfire_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_GLYPH_OF_STARFIRE))
return false;
@@ -399,13 +399,13 @@ class spell_dru_glyph_of_starfire_proc : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_DRUID_GLYPH_OF_STARFIRE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dru_glyph_of_starfire_proc_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_glyph_of_starfire_proc_AuraScript();
}
@@ -435,13 +435,13 @@ class spell_dru_idol_lifebloom : public SpellScriptLoader
spellMod->value = aurEff->GetAmount() / 7;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_dru_idol_lifebloom_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_idol_lifebloom_AuraScript();
}
@@ -462,13 +462,13 @@ class spell_dru_innervate : public SpellScriptLoader
amount = CalculatePct(int32(GetUnitOwner()->GetCreatePowers(POWER_MANA) / aurEff->GetTotalTicks()), amount);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_innervate_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_ENERGIZE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_innervate_AuraScript();
}
@@ -491,13 +491,13 @@ class spell_dru_insect_swarm : public SpellScriptLoader
amount += relicAurEff->GetAmount() / aurEff->GetTotalTicks();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_insect_swarm_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_insect_swarm_AuraScript();
}
@@ -513,7 +513,7 @@ class spell_dru_lifebloom : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_lifebloom_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIFEBLOOM_FINAL_HEAL))
return false;
@@ -572,14 +572,14 @@ class spell_dru_lifebloom : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_dru_lifebloom_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterDispel += AuraDispelFn(spell_dru_lifebloom_AuraScript::HandleDispel);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_lifebloom_AuraScript();
}
@@ -595,7 +595,7 @@ class spell_dru_living_seed : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_living_seed_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIVING_SEED_PROC))
return false;
@@ -609,13 +609,13 @@ class spell_dru_living_seed : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DRUID_LIVING_SEED_PROC, SPELLVALUE_BASE_POINT0, amount, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dru_living_seed_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_living_seed_AuraScript();
}
@@ -631,7 +631,7 @@ class spell_dru_living_seed_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_living_seed_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_LIVING_SEED_HEAL))
return false;
@@ -644,13 +644,13 @@ class spell_dru_living_seed_proc : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_DRUID_LIVING_SEED_HEAL, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dru_living_seed_proc_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_living_seed_proc_AuraScript();
}
@@ -672,14 +672,14 @@ class spell_dru_predatory_strikes : public SpellScriptLoader
target->UpdateAttackPowerAndDamage();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dru_predatory_strikes_AuraScript::UpdateAmount, EFFECT_ALL, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectRemove += AuraEffectRemoveFn(spell_dru_predatory_strikes_AuraScript::UpdateAmount, EFFECT_ALL, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_predatory_strikes_AuraScript();
}
@@ -695,7 +695,7 @@ class spell_dru_rip : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_rip_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
Unit* caster = GetCaster();
return caster && caster->GetTypeId() == TYPEID_PLAYER;
@@ -721,13 +721,13 @@ class spell_dru_rip : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_rip_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_rip_AuraScript();
}
@@ -745,7 +745,7 @@ class spell_dru_savage_defense : public SpellScriptLoader
uint32 absorbPct;
- bool Load() OVERRIDE
+ bool Load() override
{
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue(GetCaster());
return true;
@@ -763,14 +763,14 @@ class spell_dru_savage_defense : public SpellScriptLoader
aurEff->SetAmount(0);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_savage_defense_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_dru_savage_defense_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_savage_defense_AuraScript();
}
@@ -795,7 +795,7 @@ class spell_dru_savage_roar : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dru_savage_roar_SpellScript::CheckCast);
}
@@ -805,7 +805,7 @@ class spell_dru_savage_roar : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_savage_roar_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_SAVAGE_ROAR))
return false;
@@ -823,19 +823,19 @@ class spell_dru_savage_roar : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(SPELL_DRUID_SAVAGE_ROAR);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dru_savage_roar_AuraScript::AfterApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_dru_savage_roar_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_savage_roar_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_savage_roar_AuraScript();
}
@@ -874,14 +874,14 @@ class spell_dru_starfall_dummy : public SpellScriptLoader
caster->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dru_starfall_dummy_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_dru_starfall_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_starfall_dummy_SpellScript();
}
@@ -897,7 +897,7 @@ class spell_dru_stampede : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_stampede_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_STAMPEDE_BAER_RANK_1) ||
!sSpellMgr->GetSpellInfo(SPELL_DRUID_STAMPEDE_CAT_RANK_1) ||
@@ -927,14 +927,14 @@ class spell_dru_stampede : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), sSpellMgr->GetSpellWithRank(SPELL_DRUID_STAMPEDE_BAER_RANK_1, GetSpellInfo()->GetRank()), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_dru_stampede_AuraScript::HandleEffectCatProc, EFFECT_0, SPELL_AURA_DUMMY);
OnEffectProc += AuraEffectProcFn(spell_dru_stampede_AuraScript::HandleEffectBearProc, EFFECT_1, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_stampede_AuraScript();
}
@@ -959,7 +959,7 @@ class spell_dru_survival_instincts : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_dru_survival_instincts_SpellScript::CheckCast);
}
@@ -969,7 +969,7 @@ class spell_dru_survival_instincts : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_survival_instincts_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DRUID_SURVIVAL_INSTINCTS))
return false;
@@ -988,19 +988,19 @@ class spell_dru_survival_instincts : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(SPELL_DRUID_SURVIVAL_INSTINCTS);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_dru_survival_instincts_AuraScript::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectRemove += AuraEffectRemoveFn(spell_dru_survival_instincts_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_survival_instincts_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_survival_instincts_AuraScript();
}
@@ -1016,7 +1016,7 @@ class spell_dru_swift_flight_passive : public SpellScriptLoader
{
PrepareAuraScript(spell_dru_swift_flight_passive_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1028,13 +1028,13 @@ class spell_dru_swift_flight_passive : public SpellScriptLoader
amount = 310;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dru_swift_flight_passive_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dru_swift_flight_passive_AuraScript();
}
@@ -1056,13 +1056,13 @@ class spell_dru_tiger_s_fury : public SpellScriptLoader
GetHitUnit()->CastCustomSpell(SPELL_DRUID_TIGER_S_FURY_ENERGIZE, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetHitUnit(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_dru_tiger_s_fury_SpellScript::OnHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_tiger_s_fury_SpellScript();
}
@@ -1085,13 +1085,13 @@ class spell_dru_typhoon : public SpellScriptLoader
PreventHitDefaultEffect(effIndex);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_dru_typhoon_SpellScript::HandleKnockBack, EFFECT_0, SPELL_EFFECT_KNOCK_BACK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_typhoon_SpellScript();
}
@@ -1107,7 +1107,7 @@ class spell_dru_t10_restoration_4p_bonus : public SpellScriptLoader
{
PrepareSpellScript(spell_dru_t10_restoration_4p_bonus_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1140,13 +1140,13 @@ class spell_dru_t10_restoration_4p_bonus : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dru_t10_restoration_4p_bonus_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_t10_restoration_4p_bonus_SpellScript();
}
@@ -1169,7 +1169,7 @@ class RaidCheck
Unit const* _caster;
};
-// -48438 - Wild Growth
+// 48438 - Wild Growth
class spell_dru_wild_growth : public SpellScriptLoader
{
public:
@@ -1179,7 +1179,7 @@ class spell_dru_wild_growth : public SpellScriptLoader
{
PrepareSpellScript(spell_dru_wild_growth_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (spellInfo->Effects[EFFECT_2].IsEffect() || spellInfo->Effects[EFFECT_2].CalcValue() <= 0)
return false;
@@ -1206,7 +1206,7 @@ class spell_dru_wild_growth : public SpellScriptLoader
targets = _targets;
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dru_wild_growth_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dru_wild_growth_SpellScript::SetTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ALLY);
@@ -1216,7 +1216,7 @@ class spell_dru_wild_growth : public SpellScriptLoader
std::list<WorldObject*> _targets;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dru_wild_growth_SpellScript();
}
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 891f578e73e..a97c5b8c18f 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -36,6 +36,7 @@
#include "SkillDiscovery.h"
#include "SpellScript.h"
#include "SpellAuraEffects.h"
+#include "Vehicle.h"
class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
{
@@ -48,7 +49,7 @@ class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
uint32 limit;
- bool Load() OVERRIDE
+ bool Load() override
{
// Max absorb stored in 1 dummy effect
limit = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
@@ -60,13 +61,13 @@ class spell_gen_absorb0_hitlimit1 : public SpellScriptLoader
absorbAmount = std::min(limit, absorbAmount);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectAbsorb += AuraEffectAbsorbFn(spell_gen_absorb0_hitlimit1_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_absorb0_hitlimit1_AuraScript();
}
@@ -91,7 +92,7 @@ class spell_gen_adaptive_warding : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_adaptive_warding_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_FIRE) ||
!sSpellMgr->GetSpellInfo(SPELL_GEN_ADAPTIVE_WARDING_NATURE) ||
@@ -150,14 +151,14 @@ class spell_gen_adaptive_warding : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), spellId, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_gen_adaptive_warding_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_gen_adaptive_warding_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_adaptive_warding_AuraScript();
}
@@ -179,7 +180,7 @@ class spell_gen_alchemist_stone : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_alchemist_stone_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(ALECHEMIST_STONE_HEAL) ||
!sSpellMgr->GetSpellInfo(ALECHEMIST_STONE_MANA))
@@ -211,14 +212,14 @@ class spell_gen_alchemist_stone : public SpellScriptLoader
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_gen_alchemist_stone_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_gen_alchemist_stone_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_alchemist_stone_AuraScript();
}
@@ -240,13 +241,13 @@ class spell_gen_allow_cast_from_item_only : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_allow_cast_from_item_only_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_allow_cast_from_item_only_SpellScript();
}
@@ -267,7 +268,7 @@ class spell_gen_animal_blood : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_animal_blood_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SPAWN_BLOOD_POOL))
return false;
@@ -288,14 +289,14 @@ class spell_gen_animal_blood : public SpellScriptLoader
owner->CastSpell(owner, SPELL_SPAWN_BLOOD_POOL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectRemoveFn(spell_gen_animal_blood_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_animal_blood_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_animal_blood_AuraScript();
}
@@ -318,13 +319,13 @@ class spell_gen_aura_of_anger : public SpellScriptLoader
aurEff->SetAmount(100 * aurEff->GetTickNumber());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_aura_of_anger_AuraScript::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_aura_of_anger_AuraScript();
}
@@ -349,7 +350,7 @@ class spell_gen_aura_service_uniform : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_aura_service_uniform_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SERVICE_UNIFORM))
return false;
@@ -376,14 +377,14 @@ class spell_gen_aura_service_uniform : public SpellScriptLoader
target->RestoreDisplayId();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectRemoveFn(spell_gen_aura_service_uniform_AuraScript::OnApply, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_aura_service_uniform_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_aura_service_uniform_AuraScript();
}
@@ -420,13 +421,13 @@ class spell_gen_av_drekthar_presence : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_gen_av_drekthar_presence_AuraScript::CheckAreaTarget);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_av_drekthar_presence_AuraScript();
}
@@ -446,7 +447,7 @@ class spell_gen_bandage : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_bandage_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RECENTLY_BANDAGED))
return false;
@@ -469,14 +470,14 @@ class spell_gen_bandage : public SpellScriptLoader
GetCaster()->CastSpell(target, SPELL_RECENTLY_BANDAGED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_bandage_SpellScript::CheckCast);
AfterHit += SpellHitFn(spell_gen_bandage_SpellScript::HandleScript);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_bandage_SpellScript();
}
@@ -517,13 +518,13 @@ class spell_gen_bonked : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_bonked_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_bonked_SpellScript();
}
@@ -626,13 +627,13 @@ class spell_gen_break_shield: public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_break_shield_SpellScript::HandleScriptEffect, EFFECT_FIRST_FOUND, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_break_shield_SpellScript();
}
@@ -654,13 +655,13 @@ class spell_gen_burn_brutallus : public SpellScriptLoader
aurEff->SetAmount(aurEff->GetAmount() * 2);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_burn_brutallus_AuraScript::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_burn_brutallus_AuraScript();
}
@@ -680,7 +681,7 @@ class spell_gen_cannibalize : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_cannibalize_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CANNIBALIZE_TRIGGERED))
return false;
@@ -706,14 +707,14 @@ class spell_gen_cannibalize : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_CANNIBALIZE_TRIGGERED, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_gen_cannibalize_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_gen_cannibalize_SpellScript::CheckIfCorpseNear);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_cannibalize_SpellScript();
}
@@ -733,7 +734,7 @@ class spell_gen_chaos_blast : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_chaos_blast_SpellScript)
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CHAOS_BLAST))
return false;
@@ -747,13 +748,13 @@ class spell_gen_chaos_blast : public SpellScriptLoader
caster->CastCustomSpell(target, SPELL_CHAOS_BLAST, &basepoints0, NULL, NULL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_chaos_blast_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_chaos_blast_SpellScript();
}
@@ -776,10 +777,10 @@ class spell_gen_clone : public SpellScriptLoader
void HandleScriptEffect(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
- GetHitUnit()->CastSpell(GetCaster(), GetEffectValue(), true);
+ GetHitUnit()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
if (m_scriptSpellId == SPELL_NIGHTMARE_FIGMENT_MIRROR_IMAGE)
{
@@ -794,7 +795,7 @@ class spell_gen_clone : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_clone_SpellScript();
}
@@ -824,19 +825,16 @@ class spell_gen_clone_weapon : public SpellScriptLoader
void HandleScriptEffect(SpellEffIndex effIndex)
{
PreventHitDefaultEffect(effIndex);
- Unit* caster = GetCaster();
-
- if (Unit* target = GetHitUnit())
- caster->CastSpell(target, GetEffectValue(), true);
+ GetHitUnit()->CastSpell(GetCaster(), uint32(GetEffectValue()), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_clone_weapon_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_clone_weapon_SpellScript();
}
@@ -851,9 +849,7 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_clone_weapon_auraScript);
- uint32 prevItem;
-
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_AURA) ||
!sSpellMgr->GetSpellInfo(SPELL_COPY_WEAPON_2_AURA) ||
@@ -865,6 +861,12 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
return true;
}
+ bool Load() override
+ {
+ prevItem = 0;
+ return true;
+ }
+
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
Unit* caster = GetCaster();
@@ -944,15 +946,17 @@ class spell_gen_clone_weapon_aura : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_gen_clone_weapon_auraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
OnEffectRemove += AuraEffectRemoveFn(spell_gen_clone_weapon_auraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
+ private:
+ uint32 prevItem;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_clone_weapon_auraScript();
}
@@ -978,7 +982,7 @@ class spell_gen_count_pct_from_max_hp : public SpellScriptLoader
SetHitDamage(GetHitUnit()->CountPctFromMaxHealth(_damagePct));
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_gen_count_pct_from_max_hp_SpellScript::RecalculateDamage);
}
@@ -987,7 +991,7 @@ class spell_gen_count_pct_from_max_hp : public SpellScriptLoader
int32 _damagePct;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_count_pct_from_max_hp_SpellScript(_damagePct);
}
@@ -1012,7 +1016,7 @@ class spell_gen_create_lance : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_create_lance_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_LANCE_ALLIANCE) ||
!sSpellMgr->GetSpellInfo(SPELL_CREATE_LANCE_HORDE))
@@ -1033,13 +1037,13 @@ class spell_gen_create_lance : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_create_lance_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_create_lance_SpellScript();
}
@@ -1064,13 +1068,13 @@ class spell_gen_creature_permanent_feign_death : public SpellScriptLoader
target->ToCreature()->SetReactState(REACT_PASSIVE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_gen_creature_permanent_feign_death_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_creature_permanent_feign_death_AuraScript();
}
@@ -1096,7 +1100,7 @@ class spell_gen_dalaran_disguise : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_dalaran_disguise_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
switch (spellInfo->Id)
{
@@ -1138,13 +1142,13 @@ class spell_gen_dalaran_disguise : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_dalaran_disguise_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_dalaran_disguise_SpellScript();
}
@@ -1166,7 +1170,7 @@ class spell_gen_defend : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_defend_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_VISUAL_SHIELD_1))
return false;
@@ -1206,9 +1210,9 @@ class spell_gen_defend : public SpellScriptLoader
rider->RemoveAurasDueToSpell(GetId());
}
- void Register() OVERRIDE
+ void Register() override
{
- SpellInfo const* spell = sSpellMgr->GetSpellInfo(m_scriptSpellId);
+ SpellInfo const* spell = sSpellMgr->EnsureSpellInfo(m_scriptSpellId);
// Defend spells cast by NPCs (add visuals)
if (spell->Effects[EFFECT_0].ApplyAuraName == SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN)
@@ -1230,7 +1234,7 @@ class spell_gen_defend : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_defend_AuraScript();
}
@@ -1245,7 +1249,7 @@ class spell_gen_despawn_self : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_despawn_self_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1256,13 +1260,13 @@ class spell_gen_despawn_self : public SpellScriptLoader
GetCaster()->ToCreature()->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_despawn_self_SpellScript::HandleDummy, EFFECT_ALL, SPELL_EFFECT_ANY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_despawn_self_SpellScript();
}
@@ -1283,12 +1287,12 @@ class spell_gen_divine_storm_cd_reset : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_divine_storm_cd_reset_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DIVINE_STORM))
return false;
@@ -1302,13 +1306,13 @@ class spell_gen_divine_storm_cd_reset : public SpellScriptLoader
caster->RemoveSpellCooldown(SPELL_DIVINE_STORM, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_divine_storm_cd_reset_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_divine_storm_cd_reset_SpellScript();
}
@@ -1339,13 +1343,13 @@ class spell_gen_ds_flush_knockback : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_ds_flush_knockback_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_ds_flush_knockback_SpellScript();
}
@@ -1366,7 +1370,7 @@ class spell_gen_dummy_trigger : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_dummy_trigger_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD_TRIGGERED) ||
!sSpellMgr->GetSpellInfo(SPELL_PERSISTANT_SHIELD))
@@ -1384,13 +1388,13 @@ class spell_gen_dummy_trigger : public SpellScriptLoader
caster->CastCustomSpell(target, SPELL_PERSISTANT_SHIELD_TRIGGERED, &damage, NULL, NULL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_dummy_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_dummy_trigger_SpellScript();
}
@@ -1405,7 +1409,7 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_dungeon_credit_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_handled = false;
return GetCaster()->GetTypeId() == TYPEID_UNIT;
@@ -1423,7 +1427,7 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
instance->UpdateEncounterState(ENCOUNTER_CREDIT_CAST_SPELL, GetSpellInfo()->Id, caster);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_gen_dungeon_credit_SpellScript::CreditEncounter);
}
@@ -1432,7 +1436,7 @@ class spell_gen_dungeon_credit : public SpellScriptLoader
bool _handled;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_dungeon_credit_SpellScript();
}
@@ -1459,7 +1463,7 @@ class spell_gen_elune_candle : public SpellScriptLoader
class spell_gen_elune_candle_SpellScript : public SpellScript
{
PrepareSpellScript(spell_gen_elune_candle_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_HEAD) ||
!sSpellMgr->GetSpellInfo(SPELL_ELUNE_CANDLE_OMEN_CHEST) ||
@@ -1498,13 +1502,13 @@ class spell_gen_elune_candle : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_elune_candle_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_elune_candle_SpellScript();
}
@@ -1526,7 +1530,7 @@ class spell_gen_gadgetzan_transporter_backfire : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_gadgetzan_transporter_backfire_SpellScript)
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_MALFUNCTION_POLYMORPH) ||
!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_EVIL_TWIN) ||
@@ -1547,13 +1551,13 @@ class spell_gen_gadgetzan_transporter_backfire : public SpellScriptLoader
caster->CastSpell(caster, SPELL_TRANSPORTER_MALFUNCTION_MISS, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_gadgetzan_transporter_backfire_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_gadgetzan_transporter_backfire_SpellScript();
}
@@ -1600,13 +1604,13 @@ class spell_gen_gift_of_naaru : public SpellScriptLoader
amount += int32(std::max(healTick, 0));
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_gen_gift_of_naaru_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_gift_of_naaru_AuraScript();
}
@@ -1627,7 +1631,7 @@ class spell_gen_gnomish_transporter : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_gnomish_transporter_SpellScript)
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_SUCCESS) ||
!sSpellMgr->GetSpellInfo(SPELL_TRANSPORTER_FAILURE))
@@ -1640,13 +1644,13 @@ class spell_gen_gnomish_transporter : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), roll_chance_i(50) ? SPELL_TRANSPORTER_SUCCESS : SPELL_TRANSPORTER_FAILURE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_gnomish_transporter_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_gnomish_transporter_SpellScript();
}
@@ -1661,7 +1665,7 @@ class spell_gen_gunship_portal : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_gunship_portal_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1674,13 +1678,13 @@ class spell_gen_gunship_portal : public SpellScriptLoader
bg->DoAction(1, caster->GetGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_gunship_portal_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_gunship_portal_SpellScript();
}
@@ -1703,7 +1707,7 @@ class spell_gen_interrupt : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_interrupt_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GEN_THROW_INTERRUPT))
return false;
@@ -1716,13 +1720,13 @@ class spell_gen_interrupt : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_GEN_THROW_INTERRUPT, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_gen_interrupt_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_interrupt_AuraScript();
}
@@ -1767,14 +1771,14 @@ class spell_gen_launch : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_launch_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_FORCE_CAST);
AfterHit += SpellHitFn(spell_gen_launch_SpellScript::Launch);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_launch_SpellScript();
}
@@ -1797,13 +1801,13 @@ class spell_gen_increase_stats_buff : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), GetEffectValue(), true); // single-target buff
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_increase_stats_buff_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_increase_stats_buff_SpellScript();
}
@@ -1830,7 +1834,7 @@ class spell_gen_lifebloom : public SpellScriptLoader
public:
spell_gen_lifebloom_AuraScript(uint32 spellId) : AuraScript(), _spellId(spellId) { }
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_spellId))
return false;
@@ -1847,7 +1851,7 @@ class spell_gen_lifebloom : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), _spellId, true, NULL, aurEff, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_lifebloom_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_HEAL, AURA_EFFECT_HANDLE_REAL);
}
@@ -1856,7 +1860,7 @@ class spell_gen_lifebloom : public SpellScriptLoader
uint32 _spellId;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_lifebloom_AuraScript(_spellId);
}
@@ -2008,9 +2012,9 @@ class spell_gen_mounted_charge: public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), spellId, false);
}
- void Register() OVERRIDE
+ void Register() override
{
- SpellInfo const* spell = sSpellMgr->GetSpellInfo(m_scriptSpellId);
+ SpellInfo const* spell = sSpellMgr->EnsureSpellInfo(m_scriptSpellId);
if (spell->HasEffect(SPELL_EFFECT_SCRIPT_EFFECT))
OnEffectHitTarget += SpellEffectFn(spell_gen_mounted_charge_SpellScript::HandleScriptEffect, EFFECT_FIRST_FOUND, SPELL_EFFECT_SCRIPT_EFFECT);
@@ -2020,7 +2024,7 @@ class spell_gen_mounted_charge: public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_mounted_charge_SpellScript();
}
@@ -2041,7 +2045,7 @@ class spell_gen_netherbloom : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_netherbloom_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint8 i = 0; i < 5; ++i)
if (!sSpellMgr->GetSpellInfo(SPELL_NETHERBLOOM_POLLEN_1 + i))
@@ -2072,13 +2076,13 @@ class spell_gen_netherbloom : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_netherbloom_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_netherbloom_SpellScript();
}
@@ -2099,7 +2103,7 @@ class spell_gen_nightmare_vine : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_nightmare_vine_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NIGHTMARE_POLLEN))
return false;
@@ -2118,13 +2122,13 @@ class spell_gen_nightmare_vine : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_nightmare_vine_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_nightmare_vine_SpellScript();
}
@@ -2150,7 +2154,7 @@ class spell_gen_obsidian_armor : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_obsidian_armor_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_HOLY) ||
!sSpellMgr->GetSpellInfo(SPELL_GEN_OBSIDIAN_ARMOR_FIRE) ||
@@ -2204,14 +2208,14 @@ class spell_gen_obsidian_armor : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), spellId, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_gen_obsidian_armor_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_gen_obsidian_armor_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_obsidian_armor_AuraScript();
}
@@ -2323,7 +2327,7 @@ class spell_gen_on_tournament_mount : public SpellScriptLoader
uint32 _pennantSpellId;
- bool Load() OVERRIDE
+ bool Load() override
{
_pennantSpellId = 0;
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
@@ -2457,14 +2461,14 @@ class spell_gen_on_tournament_mount : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_gen_on_tournament_mount_AuraScript::HandleApplyEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
OnEffectRemove += AuraEffectRemoveFn(spell_gen_on_tournament_mount_AuraScript::HandleRemoveEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_on_tournament_mount_AuraScript();
}
@@ -2479,7 +2483,7 @@ class spell_gen_oracle_wolvar_reputation : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_oracle_wolvar_reputation_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -2503,13 +2507,13 @@ class spell_gen_oracle_wolvar_reputation : public SpellScriptLoader
// EFFECT_INDEX_2 most likely update at war state, we already handle this in SetReputation
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_gen_oracle_wolvar_reputation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_oracle_wolvar_reputation_SpellScript();
}
@@ -2531,7 +2535,7 @@ class spell_gen_orc_disguise : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_orc_disguise_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_TRIGGER) ||
!sSpellMgr->GetSpellInfo(SPELL_ORC_DISGUISE_MALE) ||
@@ -2553,13 +2557,13 @@ class spell_gen_orc_disguise : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_orc_disguise_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_orc_disguise_SpellScript();
}
@@ -2581,7 +2585,7 @@ class spell_gen_parachute : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_parachute_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PARACHUTE) ||
!sSpellMgr->GetSpellInfo(SPELL_PARACHUTE_BUFF))
@@ -2599,13 +2603,13 @@ class spell_gen_parachute : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_parachute_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_parachute_AuraScript();
}
@@ -2632,13 +2636,13 @@ class spell_gen_parachute_ic : public SpellScriptLoader
target->CastSpell(target, SPELL_PARACHUTE_IC, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_parachute_ic_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_parachute_ic_AuraScript();
}
@@ -2660,7 +2664,7 @@ class spell_gen_pet_summoned : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_pet_summoned_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -2698,13 +2702,13 @@ class spell_gen_pet_summoned : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_pet_summoned_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_pet_summoned_SpellScript();
}
@@ -2719,7 +2723,7 @@ class spell_gen_profession_research : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_profession_research_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -2747,14 +2751,14 @@ class spell_gen_profession_research : public SpellScriptLoader
caster->UpdateCraftSkill(spellId);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_profession_research_SpellScript::CheckRequirement);
OnEffectHitTarget += SpellEffectFn(spell_gen_profession_research_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_profession_research_SpellScript();
}
@@ -2778,13 +2782,13 @@ class spell_gen_remove_flight_auras : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_remove_flight_auras_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_remove_flight_auras_SpellScript();
}
@@ -2841,13 +2845,13 @@ class spell_gen_replenishment : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gen_replenishment_SpellScript::RemoveInvalidTargets, EFFECT_ALL, TARGET_UNIT_CASTER_AREA_RAID);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_replenishment_SpellScript();
}
@@ -2856,7 +2860,7 @@ class spell_gen_replenishment : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_replenishment_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetUnitOwner()->GetPower(POWER_MANA);
}
@@ -2876,13 +2880,13 @@ class spell_gen_replenishment : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_gen_replenishment_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_ENERGIZE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_replenishment_AuraScript();
}
@@ -2905,7 +2909,7 @@ class spell_gen_running_wild : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_running_wild_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sCreatureDisplayInfoStore.LookupEntry(RUNNING_WILD_MODEL_MALE))
return false;
@@ -2926,7 +2930,7 @@ class spell_gen_running_wild : public SpellScriptLoader
target->CastSpell(target, mountCapability->SpeedModSpell, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_gen_running_wild_AuraScript::HandleMount, EFFECT_1, SPELL_AURA_MOUNTED, AURA_EFFECT_HANDLE_REAL);
}
@@ -2936,14 +2940,14 @@ class spell_gen_running_wild : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_running_wild_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ALTERED_FORM))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
// Definitely not a good thing, but currently the only way to do something at cast start
// Should be replaced as soon as possible with a new hook: BeforeCastStart
@@ -2951,17 +2955,17 @@ class spell_gen_running_wild : public SpellScriptLoader
return false;
}
- void Register() OVERRIDE
+ void Register() override
{
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_running_wild_AuraScript();
}
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_running_wild_SpellScript();
}
@@ -3004,14 +3008,14 @@ class spell_gen_two_forms : public SpellScriptLoader
target->CastCustomSpell(SPELL_ALTERED_FORM, SPELLVALUE_BASE_POINT0, 1, target, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_two_forms_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_gen_two_forms_SpellScript::HandleTransform, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_two_forms_SpellScript();
}
@@ -3031,13 +3035,13 @@ class spell_gen_darkflight : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_ALTERED_FORM, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterCast += SpellCastFn(spell_gen_darkflight_SpellScript::TriggerTransform);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_darkflight_SpellScript();
}
@@ -3056,14 +3060,14 @@ class spell_gen_seaforium_blast : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_seaforium_blast_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
// OriginalCaster is always available in Spell::prepare
return GetOriginalCaster()->GetTypeId() == TYPEID_PLAYER;
@@ -3078,13 +3082,13 @@ class spell_gen_seaforium_blast : public SpellScriptLoader
originalCaster->CastSpell(originalCaster, SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_seaforium_blast_SpellScript::AchievementCredit, EFFECT_1, SPELL_EFFECT_GAMEOBJECT_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_seaforium_blast_SpellScript();
}
@@ -3113,13 +3117,13 @@ class spell_gen_spectator_cheer_trigger : public SpellScriptLoader
GetCaster()->HandleEmoteCommand(EmoteArray[urand(0, 2)]);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_spectator_cheer_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_spectator_cheer_trigger_SpellScript();
}
@@ -3134,7 +3138,7 @@ class spell_gen_spirit_healer_res : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_spirit_healer_res_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetOriginalCaster() && GetOriginalCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -3150,13 +3154,13 @@ class spell_gen_spirit_healer_res : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_spirit_healer_res_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_spirit_healer_res_SpellScript();
}
@@ -3180,7 +3184,7 @@ class spell_gen_summon_elemental : public SpellScriptLoader
public:
spell_gen_summon_elemental_AuraScript(uint32 spellId) : AuraScript(), _spellId(spellId) { }
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_spellId))
return false;
@@ -3202,7 +3206,7 @@ class spell_gen_summon_elemental : public SpellScriptLoader
owner->ToPlayer()->RemovePet(NULL, PET_SAVE_NOT_IN_SLOT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_gen_summon_elemental_AuraScript::AfterApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_gen_summon_elemental_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -3212,7 +3216,7 @@ class spell_gen_summon_elemental : public SpellScriptLoader
uint32 _spellId;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_summon_elemental_AuraScript(_spellId);
}
@@ -3235,7 +3239,7 @@ class spell_gen_summon_tournament_mount : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_summon_tournament_mount_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LANCE_EQUIPPED))
return false;
@@ -3256,18 +3260,45 @@ class spell_gen_summon_tournament_mount : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_summon_tournament_mount_SpellScript::CheckIfLanceEquiped);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_summon_tournament_mount_SpellScript();
}
};
+// 41213, 43416, 69222, 73076 - Throw Shield
+class spell_gen_throw_shield : public SpellScriptLoader
+{
+ public:
+ spell_gen_throw_shield() : SpellScriptLoader("spell_gen_throw_shield") { }
+
+ class spell_gen_throw_shield_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_throw_shield_SpellScript);
+
+ void HandleScriptEffect(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ GetCaster()->CastSpell(GetHitUnit(), uint32(GetEffectValue()), true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_gen_throw_shield_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_gen_throw_shield_SpellScript();
+ }
+};
enum MountedDuelSpells
{
@@ -3284,7 +3315,7 @@ class spell_gen_tournament_duel : public SpellScriptLoader
{
PrepareSpellScript(spell_gen_tournament_duel_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ON_TOURNAMENT_MOUNT) ||
!sSpellMgr->GetSpellInfo(SPELL_MOUNTED_DUEL))
@@ -3309,13 +3340,13 @@ class spell_gen_tournament_duel : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_tournament_duel_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_tournament_duel_SpellScript();
}
@@ -3330,7 +3361,7 @@ class spell_gen_tournament_pennant : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_tournament_pennant_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -3342,13 +3373,13 @@ class spell_gen_tournament_pennant : public SpellScriptLoader
caster->RemoveAurasDueToSpell(GetId());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_gen_tournament_pennant_AuraScript::HandleApplyEffect, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_tournament_pennant_AuraScript();
}
@@ -3371,12 +3402,12 @@ class spell_pvp_trinket_wotf_shared_cd : public SpellScriptLoader
{
PrepareSpellScript(spell_pvp_trinket_wotf_shared_cd_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER) ||
!sSpellMgr->GetSpellInfo(SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF))
@@ -3391,13 +3422,13 @@ class spell_pvp_trinket_wotf_shared_cd : public SpellScriptLoader
GetCaster()->ToPlayer()->AddSpellAndCategoryCooldowns(GetSpellInfo(), GetCastItem() ? GetCastItem()->GetEntry() : 0, GetSpell());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterCast += SpellCastFn(spell_pvp_trinket_wotf_shared_cd_SpellScript::HandleScript);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pvp_trinket_wotf_shared_cd_SpellScript();
}
@@ -3438,7 +3469,7 @@ class spell_gen_turkey_marker : public SpellScriptLoader
ModStackAmount(-1, AURA_REMOVE_BY_EXPIRE);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_gen_turkey_marker_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_turkey_marker_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
@@ -3447,7 +3478,7 @@ class spell_gen_turkey_marker : public SpellScriptLoader
std::list<uint32> _applyTimes;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_turkey_marker_AuraScript();
}
@@ -3487,13 +3518,13 @@ class spell_gen_upper_deck_create_foam_sword : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_upper_deck_create_foam_sword_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_upper_deck_create_foam_sword_SpellScript();
}
@@ -3513,7 +3544,7 @@ class spell_gen_vehicle_scaling : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_vehicle_scaling_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -3544,7 +3575,7 @@ class spell_gen_vehicle_scaling : public SpellScriptLoader
amount = uint16((avgILvl - baseItemLevel) * factor);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_gen_vehicle_scaling_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_HEALING_PCT);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_gen_vehicle_scaling_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
@@ -3552,7 +3583,7 @@ class spell_gen_vehicle_scaling : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_vehicle_scaling_AuraScript();
}
@@ -3580,13 +3611,13 @@ class spell_gen_vendor_bark_trigger : public SpellScriptLoader
vendor->AI()->Talk(SAY_AMPHITHEATER_VENDOR);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_vendor_bark_trigger_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_vendor_bark_trigger_SpellScript();
}
@@ -3609,13 +3640,13 @@ class spell_gen_wg_water : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_gen_wg_water_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_gen_wg_water_SpellScript();
}
@@ -3635,7 +3666,7 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_whisper_gulch_yogg_saron_whisper_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_YOGG_SARON_WHISPER_DUMMY))
return false;
@@ -3648,18 +3679,45 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, SPELL_YOGG_SARON_WHISPER_DUMMY, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_whisper_gulch_yogg_saron_whisper_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_whisper_gulch_yogg_saron_whisper_AuraScript();
}
};
+class spell_gen_eject_all_passengers : public SpellScriptLoader
+{
+ public:
+ spell_gen_eject_all_passengers() : SpellScriptLoader("spell_gen_eject_all_passengers") { }
+
+ class spell_gen_eject_all_passengers_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_eject_all_passengers_SpellScript);
+
+ void RemoveVehicleAuras()
+ {
+ if (Vehicle* vehicle = GetHitUnit()->GetVehicleKit())
+ vehicle->RemoveAllPassengers();
+ }
+
+ void Register() override
+ {
+ AfterHit += SpellHitFn(spell_gen_eject_all_passengers_SpellScript::RemoveVehicleAuras);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_gen_eject_all_passengers_SpellScript();
+ }
+};
+
void AddSC_generic_spell_scripts()
{
new spell_gen_absorb0_hitlimit1();
@@ -3734,6 +3792,7 @@ void AddSC_generic_spell_scripts()
new spell_gen_summon_elemental("spell_gen_summon_fire_elemental", SPELL_SUMMON_FIRE_ELEMENTAL);
new spell_gen_summon_elemental("spell_gen_summon_earth_elemental", SPELL_SUMMON_EARTH_ELEMENTAL);
new spell_gen_summon_tournament_mount();
+ new spell_gen_throw_shield();
new spell_gen_tournament_duel();
new spell_gen_tournament_pennant();
new spell_pvp_trinket_wotf_shared_cd();
@@ -3743,4 +3802,5 @@ void AddSC_generic_spell_scripts()
new spell_gen_vendor_bark_trigger();
new spell_gen_wg_water();
new spell_gen_whisper_gulch_yogg_saron_whisper();
+ new spell_gen_eject_all_passengers();
}
diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp
index 07d95aa63f5..dc0c70975dd 100644
--- a/src/server/scripts/Spells/spell_holiday.cpp
+++ b/src/server/scripts/Spells/spell_holiday.cpp
@@ -99,14 +99,14 @@ class spell_love_is_in_the_air_romantic_picnic : public SpellScriptLoader
target->RemoveAura(SPELL_ROMANTIC_PICNIC_ACHIEV);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_love_is_in_the_air_romantic_picnic_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_love_is_in_the_air_romantic_picnic_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_love_is_in_the_air_romantic_picnic_AuraScript();
}
@@ -136,7 +136,7 @@ class spell_hallow_end_trick : public SpellScriptLoader
{
PrepareSpellScript(spell_hallow_end_trick_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_MALE) || !sSpellMgr->GetSpellInfo(SPELL_PIRATE_COSTUME_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_MALE)
|| !sSpellMgr->GetSpellInfo(SPELL_NINJA_COSTUME_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_MALE) || !sSpellMgr->GetSpellInfo(SPELL_LEPER_GNOME_COSTUME_FEMALE)
@@ -177,13 +177,13 @@ class spell_hallow_end_trick : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hallow_end_trick_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hallow_end_trick_SpellScript();
}
@@ -209,7 +209,7 @@ class spell_hallow_end_trick_or_treat : public SpellScriptLoader
{
PrepareSpellScript(spell_hallow_end_trick_or_treat_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRICK) || !sSpellMgr->GetSpellInfo(SPELL_TREAT) || !sSpellMgr->GetSpellInfo(SPELL_TRICKED_OR_TREATED))
return false;
@@ -226,13 +226,13 @@ class spell_hallow_end_trick_or_treat : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hallow_end_trick_or_treat_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hallow_end_trick_or_treat_SpellScript();
}
@@ -247,7 +247,7 @@ class spell_hallow_end_tricky_treat : public SpellScriptLoader
{
PrepareSpellScript(spell_hallow_end_tricky_treat_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRICKY_TREAT_SPEED))
return false;
@@ -265,13 +265,13 @@ class spell_hallow_end_tricky_treat : public SpellScriptLoader
caster->CastSpell(caster, SPELL_UPSET_TUMMY, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hallow_end_tricky_treat_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hallow_end_tricky_treat_SpellScript();
}
@@ -303,7 +303,7 @@ class spell_pilgrims_bounty_buff_food : public SpellScriptLoader
public:
spell_pilgrims_bounty_buff_food_AuraScript(uint32 triggeredSpellId) : AuraScript(), _triggeredSpellId(triggeredSpellId) { }
- bool Load() OVERRIDE
+ bool Load() override
{
_handled = false;
return true;
@@ -319,7 +319,7 @@ class spell_pilgrims_bounty_buff_food : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), _triggeredSpellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pilgrims_bounty_buff_food_AuraScript::HandleTriggerSpell, EFFECT_2, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
@@ -327,7 +327,7 @@ class spell_pilgrims_bounty_buff_food : public SpellScriptLoader
bool _handled;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pilgrims_bounty_buff_food_AuraScript(_triggeredSpellId);
}
@@ -349,7 +349,7 @@ class spell_winter_veil_mistletoe : public SpellScriptLoader
{
PrepareSpellScript(spell_winter_veil_mistletoe_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_MISTLETOE) ||
!sSpellMgr->GetSpellInfo(SPELL_CREATE_HOLLY) ||
@@ -367,13 +367,13 @@ class spell_winter_veil_mistletoe : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_winter_veil_mistletoe_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_winter_veil_mistletoe_SpellScript();
}
@@ -397,7 +397,7 @@ class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
{
PrepareSpellScript(spell_winter_veil_px_238_winter_wondervolt_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_1) ||
!sSpellMgr->GetSpellInfo(SPELL_PX_238_WINTER_WONDERVOLT_TRANSFORM_2) ||
@@ -429,7 +429,7 @@ class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_winter_veil_px_238_winter_wondervolt_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
@@ -438,7 +438,7 @@ class spell_winter_veil_px_238_winter_wondervolt : public SpellScriptLoader
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_winter_veil_px_238_winter_wondervolt_SpellScript();
}
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index c924b460cc0..e780b88c6be 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -74,7 +74,7 @@ class spell_hun_ancient_hysteria : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_ancient_hysteria_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY)
|| !sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT)
@@ -98,14 +98,14 @@ class spell_hun_ancient_hysteria : public SpellScriptLoader
target->CastSpell(target, SPELL_HUNTER_INSANITY, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hun_ancient_hysteria_SpellScript::RemoveInvalidTargets, EFFECT_ALL, TARGET_UNIT_CASTER_AREA_RAID);
AfterHit += SpellHitFn(spell_hun_ancient_hysteria_SpellScript::ApplyDebuff);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_ancient_hysteria_SpellScript();
}
@@ -121,7 +121,7 @@ class spell_hun_chimera_shot : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_chimera_shot_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_CHIMERA_SHOT_HEAL) ||
!sSpellMgr->GetSpellInfo(SPELL_HUNTER_SERPENT_STING))
@@ -129,7 +129,7 @@ class spell_hun_chimera_shot : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -142,13 +142,13 @@ class spell_hun_chimera_shot : public SpellScriptLoader
aur->SetDuration(aur->GetSpellInfo()->GetMaxDuration(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_chimera_shot_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_chimera_shot_SpellScript();
}
@@ -164,7 +164,7 @@ class spell_hun_cobra_shot : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_cobra_shot_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_GENERIC_ENERGIZE_FOCUS) ||
!sSpellMgr->GetSpellInfo(SPELL_HUNTER_SERPENT_STING))
@@ -172,7 +172,7 @@ class spell_hun_cobra_shot : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -188,13 +188,13 @@ class spell_hun_cobra_shot : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_cobra_shot_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_cobra_shot_SpellScript();
}
@@ -219,13 +219,13 @@ class spell_hun_disengage : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_hun_disengage_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_disengage_SpellScript();
}
@@ -255,13 +255,13 @@ class spell_hun_fire : public SpellScriptLoader
spellMod->value = -aurEff->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_hun_fire_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_fire_AuraScript();
}
@@ -277,7 +277,7 @@ class spell_hun_improved_mend_pet : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_improved_mend_pet_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_IMPROVED_MEND_PET))
return false;
@@ -295,14 +295,14 @@ class spell_hun_improved_mend_pet : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_IMPROVED_MEND_PET, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_hun_improved_mend_pet_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_hun_improved_mend_pet_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_improved_mend_pet_AuraScript();
}
@@ -332,13 +332,13 @@ class spell_hun_improved_serpent_sting : public SpellScriptLoader
spellMod->value = aurEff->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_hun_improved_serpent_sting_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_improved_serpent_sting_AuraScript();
}
@@ -354,7 +354,7 @@ class spell_hun_invigoration : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_invigoration_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_INVIGORATION_TRIGGERED))
return false;
@@ -369,13 +369,13 @@ class spell_hun_invigoration : public SpellScriptLoader
unitTarget->CastSpell(unitTarget, SPELL_HUNTER_INVIGORATION_TRIGGERED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_invigoration_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_invigoration_SpellScript();
}
@@ -391,7 +391,7 @@ class spell_hun_last_stand_pet : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_last_stand_pet_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_LAST_STAND_TRIGGERED))
return false;
@@ -405,13 +405,13 @@ class spell_hun_last_stand_pet : public SpellScriptLoader
caster->CastCustomSpell(caster, SPELL_HUNTER_PET_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, NULL, NULL, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_last_stand_pet_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_last_stand_pet_SpellScript();
}
@@ -427,7 +427,7 @@ class spell_hun_masters_call : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_masters_call_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_MASTERS_CALL_TRIGGERED) ||
!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
@@ -456,14 +456,14 @@ class spell_hun_masters_call : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_masters_call_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnEffectHitTarget += SpellEffectFn(spell_hun_masters_call_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_masters_call_SpellScript();
}
@@ -479,7 +479,7 @@ class spell_hun_misdirection : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_misdirection_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_MISDIRECTION_PROC))
return false;
@@ -503,7 +503,7 @@ class spell_hun_misdirection : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_MISDIRECTION_PROC, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_hun_misdirection_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
DoCheckProc += AuraCheckProcFn(spell_hun_misdirection_AuraScript::CheckProc);
@@ -511,7 +511,7 @@ class spell_hun_misdirection : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_misdirection_AuraScript();
}
@@ -532,13 +532,13 @@ class spell_hun_misdirection_proc : public SpellScriptLoader
GetTarget()->ResetRedirectThreat();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_hun_misdirection_proc_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_misdirection_proc_AuraScript();
}
@@ -554,14 +554,14 @@ class spell_hun_pet_carrion_feeder : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_pet_carrion_feeder_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster()->IsPet())
return false;
return true;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_CARRION_FEEDER_TRIGGERED))
return false;
@@ -588,14 +588,14 @@ class spell_hun_pet_carrion_feeder : public SpellScriptLoader
caster->CastSpell(caster, SPELL_HUNTER_PET_CARRION_FEEDER_TRIGGERED, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_hun_pet_carrion_feeder_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_hun_pet_carrion_feeder_SpellScript::CheckIfCorpseNear);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_pet_carrion_feeder_SpellScript();
}
@@ -611,14 +611,14 @@ class spell_hun_pet_heart_of_the_phoenix : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_pet_heart_of_the_phoenix_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster()->IsPet())
return false;
return true;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_TRIGGERED) || !sSpellMgr->GetSpellInfo(SPELL_HUNTER_PET_HEART_OF_THE_PHOENIX_DEBUFF))
return false;
@@ -636,13 +636,13 @@ class spell_hun_pet_heart_of_the_phoenix : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_pet_heart_of_the_phoenix_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_pet_heart_of_the_phoenix_SpellScript();
}
@@ -658,7 +658,7 @@ class spell_hun_rapid_recuperation : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_rapid_recuperation_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_RAPID_RECUPERATION))
return false;
@@ -683,14 +683,14 @@ class spell_hun_rapid_recuperation : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_HUNTER_RAPID_RECUPERATION, SPELLVALUE_BASE_POINT0, focus, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_hun_rapid_recuperation_AuraScript::HandleAbilityCast, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
OnEffectProc += AuraEffectProcFn(spell_hun_rapid_recuperation_AuraScript::HandleFocusRegen, EFFECT_1, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_rapid_recuperation_AuraScript();
}
@@ -706,7 +706,7 @@ class spell_hun_readiness : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_readiness_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -733,13 +733,13 @@ class spell_hun_readiness : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_readiness_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_readiness_SpellScript();
}
@@ -755,7 +755,7 @@ class spell_hun_ready_set_aim : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_ready_set_aim_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_FIRE))
return false;
@@ -771,13 +771,13 @@ class spell_hun_ready_set_aim : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_hun_ready_set_aim_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_ready_set_aim_AuraScript();
}
@@ -793,7 +793,7 @@ class spell_hun_scatter_shot : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_scatter_shot_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -807,13 +807,13 @@ class spell_hun_scatter_shot : public SpellScriptLoader
caster->SendAttackSwingCancelAttack();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_hun_scatter_shot_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_scatter_shot_SpellScript();
}
@@ -829,7 +829,7 @@ class spell_hun_sniper_training : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_sniper_training_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_SNIPER_TRAINING_R1) ||
!sSpellMgr->GetSpellInfo(SPELL_HUNTER_SNIPER_TRAINING_BUFF_R1))
@@ -866,14 +866,14 @@ class spell_hun_sniper_training : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hun_sniper_training_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_hun_sniper_training_AuraScript::HandleUpdatePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_sniper_training_AuraScript();
}
@@ -889,14 +889,14 @@ class spell_hun_steady_shot : public SpellScriptLoader
{
PrepareSpellScript(spell_hun_steady_shot_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_STEADY_SHOT_FOCUS))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -906,13 +906,13 @@ class spell_hun_steady_shot : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_HUNTER_STEADY_SHOT_FOCUS, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_hun_steady_shot_SpellScript::HandleOnHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_steady_shot_SpellScript();
}
@@ -958,13 +958,13 @@ class spell_hun_tame_beast : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_hun_tame_beast_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_tame_beast_SpellScript();
}
@@ -988,14 +988,14 @@ class spell_hun_target_only_pet_and_owner : public SpellScriptLoader
targets.push_back(owner);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hun_target_only_pet_and_owner_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_PARTY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_hun_target_only_pet_and_owner_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_CASTER_AREA_PARTY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_hun_target_only_pet_and_owner_SpellScript();
}
@@ -1011,7 +1011,7 @@ class spell_hun_thrill_of_the_hunt : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_thrill_of_the_hunt_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_THRILL_OF_THE_HUNT))
return false;
@@ -1027,13 +1027,13 @@ class spell_hun_thrill_of_the_hunt : public SpellScriptLoader
GetTarget()->CastCustomSpell(GetTarget(), SPELL_HUNTER_THRILL_OF_THE_HUNT, &focus, NULL, NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_hun_thrill_of_the_hunt_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_thrill_of_the_hunt_AuraScript();
}
@@ -1049,7 +1049,7 @@ class spell_hun_tnt : public SpellScriptLoader
{
PrepareAuraScript(spell_hun_tnt_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_HUNTER_LOCK_AND_LOAD))
return false;
@@ -1067,14 +1067,14 @@ class spell_hun_tnt : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_HUNTER_LOCK_AND_LOAD, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_hun_tnt_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_hun_tnt_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_tnt_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index d8d70246e99..e4563ba07fe 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -47,7 +47,7 @@ class spell_item_trigger_spell : public SpellScriptLoader
public:
spell_item_trigger_spell_SpellScript(uint32 triggeredSpellId) : SpellScript(), _triggeredSpellId(triggeredSpellId) { }
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(_triggeredSpellId))
return false;
@@ -61,13 +61,13 @@ class spell_item_trigger_spell : public SpellScriptLoader
caster->CastSpell(caster, _triggeredSpellId, true, item);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_trigger_spell_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_trigger_spell_SpellScript(_triggeredSpellId);
}
@@ -88,7 +88,7 @@ class spell_item_aegis_of_preservation : public SpellScriptLoader
{
PrepareAuraScript(spell_item_aegis_of_preservation_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AEGIS_HEAL))
return false;
@@ -101,13 +101,13 @@ class spell_item_aegis_of_preservation : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_AEGIS_HEAL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_item_aegis_of_preservation_AuraScript::HandleProc, EFFECT_1, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_aegis_of_preservation_AuraScript();
}
@@ -130,13 +130,13 @@ class spell_item_arcane_shroud : public SpellScriptLoader
amount += 2 * diff;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_item_arcane_shroud_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_THREAT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_arcane_shroud_AuraScript();
}
@@ -157,7 +157,7 @@ class spell_item_blessing_of_ancient_kings : public SpellScriptLoader
{
PrepareAuraScript(spell_item_blessing_of_ancient_kings_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PROTECTION_OF_ANCIENT_KINGS))
return false;
@@ -186,14 +186,14 @@ class spell_item_blessing_of_ancient_kings : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_PROTECTION_OF_ANCIENT_KINGS, SPELLVALUE_BASE_POINT0, absorb, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_item_blessing_of_ancient_kings_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_item_blessing_of_ancient_kings_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_blessing_of_ancient_kings_AuraScript();
}
@@ -220,7 +220,7 @@ class spell_item_defibrillate : public SpellScriptLoader
public:
spell_item_defibrillate_SpellScript(uint8 chance, uint32 failSpell) : SpellScript(), _chance(chance), _failSpell(failSpell) { }
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (_failSpell && !sSpellMgr->GetSpellInfo(_failSpell))
return false;
@@ -237,7 +237,7 @@ class spell_item_defibrillate : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_defibrillate_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_RESURRECT);
}
@@ -247,7 +247,7 @@ class spell_item_defibrillate : public SpellScriptLoader
uint32 _failSpell;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_defibrillate_SpellScript(_chance, _failSpell);
}
@@ -272,7 +272,7 @@ class spell_item_desperate_defense : public SpellScriptLoader
{
PrepareAuraScript(spell_item_desperate_defense_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_DESPERATE_RAGE))
return false;
@@ -285,13 +285,13 @@ class spell_item_desperate_defense : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_DESPERATE_RAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_item_desperate_defense_AuraScript::HandleProc, EFFECT_2, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_desperate_defense_AuraScript();
}
@@ -317,12 +317,12 @@ class spell_item_deviate_fish : public SpellScriptLoader
{
PrepareSpellScript(spell_item_deviate_fish_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint32 spellId = SPELL_SLEEPY; spellId <= SPELL_HEALTHY_SPIRIT; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -337,13 +337,13 @@ class spell_item_deviate_fish : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_deviate_fish_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_deviate_fish_SpellScript();
}
@@ -371,13 +371,13 @@ class spell_item_echoes_of_light : public SpellScriptLoader
targets.push_back(target);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_item_echoes_of_light_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_echoes_of_light_SpellScript();
}
@@ -401,7 +401,7 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
{
PrepareSpellScript(spell_item_flask_of_the_north_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_SP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_AP) || !sSpellMgr->GetSpellInfo(SPELL_FLASK_OF_THE_NORTH_STR))
return false;
@@ -441,13 +441,13 @@ class spell_item_flask_of_the_north : public SpellScriptLoader
caster->CastSpell(caster, possibleSpells[irand(0, (possibleSpells.size() - 1))], true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_flask_of_the_north_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_flask_of_the_north_SpellScript();
}
@@ -470,7 +470,7 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
{
PrepareSpellScript(spell_item_gnomish_death_ray_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_SELF) || !sSpellMgr->GetSpellInfo(SPELL_GNOMISH_DEATH_RAY_TARGET))
return false;
@@ -489,13 +489,13 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_gnomish_death_ray_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_gnomish_death_ray_SpellScript();
}
@@ -521,12 +521,12 @@ class spell_item_make_a_wish : public SpellScriptLoader
{
PrepareSpellScript(spell_item_make_a_wish_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_BLESSING) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_MIGHTY_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FURIOUS_MR_PINCHY) || !sSpellMgr->GetSpellInfo(SPELL_TINY_MAGICAL_CRAWDAD) || !sSpellMgr->GetSpellInfo(SPELL_MR_PINCHYS_GIFT))
return false;
@@ -547,13 +547,13 @@ class spell_item_make_a_wish : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_make_a_wish_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_make_a_wish_SpellScript();
}
@@ -603,13 +603,13 @@ class spell_item_mingos_fortune_generator : public SpellScriptLoader
CreateItem(effIndex, newitemid);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_mingos_fortune_generator_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_mingos_fortune_generator_SpellScript();
}
@@ -630,7 +630,7 @@ class spell_item_necrotic_touch : public SpellScriptLoader
{
PrepareAuraScript(spell_item_necrotic_touch_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ITEM_NECROTIC_TOUCH_PROC))
return false;
@@ -649,14 +649,14 @@ class spell_item_necrotic_touch : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_ITEM_NECROTIC_TOUCH_PROC, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_item_necrotic_touch_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_item_necrotic_touch_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_necrotic_touch_AuraScript();
}
@@ -680,7 +680,7 @@ class spell_item_net_o_matic : public SpellScriptLoader
{
PrepareSpellScript(spell_item_net_o_matic_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NET_O_MATIC_TRIGGERED3))
return false;
@@ -702,13 +702,13 @@ class spell_item_net_o_matic : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_net_o_matic_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_net_o_matic_SpellScript();
}
@@ -732,12 +732,12 @@ class spell_item_noggenfogger_elixir : public SpellScriptLoader
{
PrepareSpellScript(spell_item_noggenfogger_elixir_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_NOGGENFOGGER_ELIXIR_TRIGGERED3))
return false;
@@ -757,13 +757,13 @@ class spell_item_noggenfogger_elixir : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_noggenfogger_elixir_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_noggenfogger_elixir_SpellScript();
}
@@ -786,13 +786,13 @@ class spell_item_piccolo_of_the_flaming_fire : public SpellScriptLoader
target->HandleEmoteCommand(EMOTE_STATE_DANCE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_piccolo_of_the_flaming_fire_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_piccolo_of_the_flaming_fire_SpellScript();
}
@@ -817,12 +817,12 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
{
PrepareSpellScript(spell_item_savory_deviate_delight_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint32 spellId = SPELL_FLIP_OUT_MALE; spellId <= SPELL_YAAARRRR_FEMALE; ++spellId)
if (!sSpellMgr->GetSpellInfo(spellId))
@@ -844,13 +844,13 @@ class spell_item_savory_deviate_delight : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_savory_deviate_delight_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_savory_deviate_delight_SpellScript();
}
@@ -878,7 +878,7 @@ class spell_item_scroll_of_recall : public SpellScriptLoader
{
PrepareSpellScript(spell_item_scroll_of_recall_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -917,13 +917,13 @@ class spell_item_scroll_of_recall : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_scroll_of_recall_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_TELEPORT_UNITS);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_scroll_of_recall_SpellScript();
}
@@ -958,13 +958,13 @@ class spell_item_unsated_craving : public SpellScriptLoader
return true;
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_item_unsated_craving_AuraScript::CheckProc);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_unsated_craving_AuraScript();
}
@@ -989,13 +989,13 @@ class spell_item_shadows_fate : public SpellScriptLoader
caster->CastSpell(target, SPELL_SOUL_FEAST, TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnProc += AuraProcFn(spell_item_shadows_fate_AuraScript::HandleProc);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_shadows_fate_AuraScript();
}
@@ -1020,7 +1020,7 @@ class spell_item_shadowmourne : public SpellScriptLoader
{
PrepareAuraScript(spell_item_shadowmourne_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_DAMAGE))
return false;
@@ -1054,14 +1054,14 @@ class spell_item_shadowmourne : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_item_shadowmourne_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_item_shadowmourne_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_shadowmourne_AuraScript();
}
@@ -1077,7 +1077,7 @@ class spell_item_shadowmourne_soul_fragment : public SpellScriptLoader
{
PrepareAuraScript(spell_item_shadowmourne_soul_fragment_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_LOW) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_VISUAL_HIGH) || !sSpellMgr->GetSpellInfo(SPELL_SHADOWMOURNE_CHAOS_BANE_BUFF))
return false;
@@ -1112,14 +1112,14 @@ class spell_item_shadowmourne_soul_fragment : public SpellScriptLoader
target->RemoveAurasDueToSpell(SPELL_SHADOWMOURNE_VISUAL_HIGH);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_item_shadowmourne_soul_fragment_AuraScript::OnStackChange, EFFECT_0, SPELL_AURA_MOD_STAT, AuraEffectHandleModes(AURA_EFFECT_HANDLE_REAL | AURA_EFFECT_HANDLE_REAPPLY));
AfterEffectRemove += AuraEffectRemoveFn(spell_item_shadowmourne_soul_fragment_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_shadowmourne_soul_fragment_AuraScript();
}
@@ -1146,7 +1146,7 @@ class spell_item_six_demon_bag : public SpellScriptLoader
{
PrepareSpellScript(spell_item_six_demon_bag_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FROSTBOLT) || !sSpellMgr->GetSpellInfo(SPELL_POLYMORPH) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_FELHOUND_MINION) || !sSpellMgr->GetSpellInfo(SPELL_FIREBALL) || !sSpellMgr->GetSpellInfo(SPELL_CHAIN_LIGHTNING) || !sSpellMgr->GetSpellInfo(SPELL_ENVELOPING_WINDS))
return false;
@@ -1184,13 +1184,13 @@ class spell_item_six_demon_bag : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_six_demon_bag_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_six_demon_bag_SpellScript();
}
@@ -1213,13 +1213,13 @@ class spell_item_the_eye_of_diminution : public SpellScriptLoader
amount += diff;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_item_the_eye_of_diminution_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_THREAT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_item_the_eye_of_diminution_AuraScript();
}
@@ -1243,11 +1243,11 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
{
PrepareSpellScript(spell_item_underbelly_elixir_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED1) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED2) || !sSpellMgr->GetSpellInfo(SPELL_UNDERBELLY_ELIXIR_TRIGGERED3))
return false;
@@ -1266,13 +1266,13 @@ class spell_item_underbelly_elixir : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_underbelly_elixir_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_underbelly_elixir_SpellScript();
}
@@ -1294,7 +1294,7 @@ class spell_item_red_rider_air_rifle : public SpellScriptLoader
{
PrepareSpellScript(spell_item_red_rider_air_rifle_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_HOLD_VISUAL) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT) || !sSpellMgr->GetSpellInfo(SPELL_AIR_RIFLE_SHOOT_SELF))
return false;
@@ -1318,13 +1318,13 @@ class spell_item_red_rider_air_rifle : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_red_rider_air_rifle_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_red_rider_air_rifle_SpellScript();
}
@@ -1369,13 +1369,13 @@ class spell_item_create_heart_candy : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_create_heart_candy_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_create_heart_candy_SpellScript();
}
@@ -1390,7 +1390,7 @@ class spell_item_book_of_glyph_mastery : public SpellScriptLoader
{
PrepareSpellScript(spell_item_book_of_glyph_mastery_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1416,14 +1416,14 @@ class spell_item_book_of_glyph_mastery : public SpellScriptLoader
caster->learnSpell(discoveredSpellId, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_item_book_of_glyph_mastery_SpellScript::CheckRequirement);
OnEffectHitTarget += SpellEffectFn(spell_item_book_of_glyph_mastery_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_book_of_glyph_mastery_SpellScript();
}
@@ -1457,13 +1457,13 @@ class spell_item_gift_of_the_harvester : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_item_gift_of_the_harvester_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_gift_of_the_harvester_SpellScript();
}
@@ -1497,13 +1497,13 @@ class spell_item_map_of_the_geyser_fields : public SpellScriptLoader
return SPELL_FAILED_CUSTOM_ERROR;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_item_map_of_the_geyser_fields_SpellScript::CheckSinkholes);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_map_of_the_geyser_fields_SpellScript();
}
@@ -1525,7 +1525,7 @@ class spell_item_vanquished_clutches : public SpellScriptLoader
{
PrepareSpellScript(spell_item_vanquished_clutches_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CRUSHER) || !sSpellMgr->GetSpellInfo(SPELL_CONSTRICTOR) || !sSpellMgr->GetSpellInfo(SPELL_CORRUPTOR))
return false;
@@ -1539,13 +1539,13 @@ class spell_item_vanquished_clutches : public SpellScriptLoader
caster->CastSpell(caster, spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_vanquished_clutches_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_vanquished_clutches_SpellScript();
}
@@ -1576,7 +1576,7 @@ class spell_item_ashbringer : public SpellScriptLoader
{
PrepareSpellScript(spell_item_ashbringer_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1594,13 +1594,13 @@ class spell_item_ashbringer : public SpellScriptLoader
player->PlayDirectSound(sound_id, player);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_item_ashbringer_SpellScript::OnDummyEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_ashbringer_SpellScript();
}
@@ -1652,13 +1652,13 @@ class spell_magic_eater_food : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_magic_eater_food_AuraScript::HandleTriggerSpell, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_magic_eater_food_AuraScript();
}
@@ -1679,13 +1679,13 @@ class spell_item_shimmering_vessel : public SpellScriptLoader
target->setDeathState(JUST_RESPAWNED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_shimmering_vessel_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_shimmering_vessel_SpellScript();
}
@@ -1706,12 +1706,12 @@ class spell_item_purify_helboar_meat : public SpellScriptLoader
{
PrepareSpellScript(spell_item_purify_helboar_meat_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_PURIFIED_HELBOAR_MEAT) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_TOXIC_HELBOAR_MEAT))
return false;
@@ -1724,13 +1724,13 @@ class spell_item_purify_helboar_meat : public SpellScriptLoader
caster->CastSpell(caster, roll_chance_i(50) ? SPELL_SUMMON_PURIFIED_HELBOAR_MEAT : SPELL_SUMMON_TOXIC_HELBOAR_MEAT, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_purify_helboar_meat_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_purify_helboar_meat_SpellScript();
}
@@ -1750,7 +1750,7 @@ class spell_item_crystal_prison_dummy_dnd : public SpellScriptLoader
{
PrepareSpellScript(spell_item_crystal_prison_dummy_dnd_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sObjectMgr->GetGameObjectTemplate(OBJECT_IMPRISONED_DOOMGUARD))
return false;
@@ -1767,13 +1767,13 @@ class spell_item_crystal_prison_dummy_dnd : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_crystal_prison_dummy_dnd_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_crystal_prison_dummy_dnd_SpellScript();
}
@@ -1797,7 +1797,7 @@ class spell_item_reindeer_transformation : public SpellScriptLoader
{
PrepareSpellScript(spell_item_reindeer_transformation_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_310) || !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_280)
|| !sSpellMgr->GetSpellInfo(SPELL_FLYING_REINDEER_60) || !sSpellMgr->GetSpellInfo(SPELL_REINDEER_100)
@@ -1835,13 +1835,13 @@ class spell_item_reindeer_transformation : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_reindeer_transformation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_reindeer_transformation_SpellScript();
}
@@ -1862,7 +1862,7 @@ class spell_item_nigh_invulnerability : public SpellScriptLoader
{
PrepareSpellScript(spell_item_nigh_invulnerability_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NIGH_INVULNERABILITY) || !sSpellMgr->GetSpellInfo(SPELL_COMPLETE_VULNERABILITY))
return false;
@@ -1881,13 +1881,13 @@ class spell_item_nigh_invulnerability : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_nigh_invulnerability_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_nigh_invulnerability_SpellScript();
}
@@ -1908,7 +1908,7 @@ class spell_item_poultryizer : public SpellScriptLoader
{
PrepareSpellScript(spell_item_poultryizer_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_POULTRYIZER_BACKFIRE))
return false;
@@ -1921,13 +1921,13 @@ class spell_item_poultryizer : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), roll_chance_i(80) ? SPELL_POULTRYIZER_SUCCESS : SPELL_POULTRYIZER_BACKFIRE, true, GetCastItem());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_poultryizer_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_poultryizer_SpellScript();
}
@@ -1948,11 +1948,11 @@ class spell_item_socrethars_stone : public SpellScriptLoader
{
PrepareSpellScript(spell_item_socrethars_stone_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return (GetCaster()->GetAreaId() == 3900 || GetCaster()->GetAreaId() == 3742);
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_TO_SEAT) || !sSpellMgr->GetSpellInfo(SPELL_SOCRETHAR_FROM_SEAT))
return false;
@@ -1975,13 +1975,13 @@ class spell_item_socrethars_stone : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_socrethars_stone_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_socrethars_stone_SpellScript();
}
@@ -2003,14 +2003,14 @@ class spell_item_demon_broiled_surprise : public SpellScriptLoader
{
PrepareSpellScript(spell_item_demon_broiled_surprise_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_DEMON_BROILED_SURPRISE) || !sObjectMgr->GetCreatureTemplate(NPC_ABYSSAL_FLAMEBRINGER) || !sObjectMgr->GetQuestTemplate(QUEST_SUPER_HOT_STEW))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -2033,14 +2033,14 @@ class spell_item_demon_broiled_surprise : public SpellScriptLoader
return SPELL_FAILED_NOT_HERE;
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_demon_broiled_surprise_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_item_demon_broiled_surprise_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_demon_broiled_surprise_SpellScript();
}
@@ -2060,7 +2060,7 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
{
PrepareSpellScript(spell_item_complete_raptor_capture_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RAPTOR_CAPTURE_CREDIT))
return false;
@@ -2079,13 +2079,13 @@ class spell_item_complete_raptor_capture : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_complete_raptor_capture_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_complete_raptor_capture_SpellScript();
}
@@ -2106,7 +2106,7 @@ class spell_item_impale_leviroth : public SpellScriptLoader
{
PrepareSpellScript(spell_item_impale_leviroth_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sObjectMgr->GetCreatureTemplate(NPC_LEVIROTH))
return false;
@@ -2120,13 +2120,13 @@ class spell_item_impale_leviroth : public SpellScriptLoader
target->CastSpell(target, SPELL_LEVIROTH_SELF_IMPALE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_impale_leviroth_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_impale_leviroth_SpellScript();
}
@@ -2151,7 +2151,7 @@ class spell_item_brewfest_mount_transformation : public SpellScriptLoader
{
PrepareSpellScript(spell_item_brewfest_mount_transformation_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_RAM_60) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_100) || !sSpellMgr->GetSpellInfo(SPELL_MOUNT_KODO_60))
return false;
@@ -2187,13 +2187,13 @@ class spell_item_brewfest_mount_transformation : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_brewfest_mount_transformation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_brewfest_mount_transformation_SpellScript();
}
@@ -2214,14 +2214,14 @@ class spell_item_nitro_boots : public SpellScriptLoader
{
PrepareSpellScript(spell_item_nitro_boots_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCastItem())
return false;
return true;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOTS_SUCCESS) || !sSpellMgr->GetSpellInfo(SPELL_NITRO_BOOTS_BACKFIRE))
return false;
@@ -2234,13 +2234,13 @@ class spell_item_nitro_boots : public SpellScriptLoader
caster->CastSpell(caster, roll_chance_i(95) ? SPELL_NITRO_BOOTS_SUCCESS : SPELL_NITRO_BOOTS_BACKFIRE, true, GetCastItem());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_nitro_boots_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_nitro_boots_SpellScript();
}
@@ -2261,12 +2261,12 @@ class spell_item_teach_language : public SpellScriptLoader
{
PrepareSpellScript(spell_item_teach_language_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_LEARN_GNOMISH_BINARY) || !sSpellMgr->GetSpellInfo(SPELL_LEARN_GOBLIN_BINARY))
return false;
@@ -2281,13 +2281,13 @@ class spell_item_teach_language : public SpellScriptLoader
caster->CastSpell(caster, caster->GetTeam() == ALLIANCE ? SPELL_LEARN_GNOMISH_BINARY : SPELL_LEARN_GOBLIN_BINARY, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_teach_language_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_teach_language_SpellScript();
}
@@ -2307,12 +2307,12 @@ class spell_item_rocket_boots : public SpellScriptLoader
{
PrepareSpellScript(spell_item_rocket_boots_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROCKET_BOOTS_PROC))
return false;
@@ -2336,14 +2336,14 @@ class spell_item_rocket_boots : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_item_rocket_boots_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_item_rocket_boots_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_rocket_boots_SpellScript();
}
@@ -2364,7 +2364,7 @@ class spell_item_pygmy_oil : public SpellScriptLoader
{
PrepareSpellScript(spell_item_pygmy_oil_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_PYGMY_AURA) || !sSpellMgr->GetSpellInfo(SPELL_PYGMY_OIL_SMALLER_AURA))
return false;
@@ -2389,13 +2389,13 @@ class spell_item_pygmy_oil : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_pygmy_oil_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_pygmy_oil_SpellScript();
}
@@ -2416,13 +2416,13 @@ class spell_item_unusual_compass : public SpellScriptLoader
caster->SetFacingTo(frand(0.0f, 2.0f * M_PI));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_unusual_compass_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_unusual_compass_SpellScript();
}
@@ -2445,12 +2445,12 @@ class spell_item_chicken_cover : public SpellScriptLoader
{
PrepareSpellScript(spell_item_chicken_cover_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CHICKEN_NET) || !sSpellMgr->GetSpellInfo(SPELL_CAPTURE_CHICKEN_ESCAPE) || !sObjectMgr->GetQuestTemplate(QUEST_CHICKEN_PARTY) || !sObjectMgr->GetQuestTemplate(QUEST_FLOWN_THE_COOP))
return false;
@@ -2470,13 +2470,13 @@ class spell_item_chicken_cover : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_chicken_cover_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_chicken_cover_SpellScript();
}
@@ -2498,13 +2498,13 @@ class spell_item_muisek_vessel : public SpellScriptLoader
target->DespawnOrUnsummon();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_muisek_vessel_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_muisek_vessel_SpellScript();
}
@@ -2529,13 +2529,13 @@ public:
GetCaster()->CastSpell(GetCaster(), SPELL_FORCE_CAST_SUMMON_GNOME_SOUL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_item_greatmothers_soulcatcher_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_item_greatmothers_soulcatcher_SpellScript();
}
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 2b2834360a3..55c1edec480 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -113,7 +113,7 @@ class spell_mage_arcane_potency : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_arcane_potency_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_RANK_1) ||
!sSpellMgr->GetSpellInfo(SPELL_ARCANCE_POTENCY_RANK_2) ||
@@ -139,13 +139,13 @@ class spell_mage_arcane_potency : public SpellScriptLoader
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_mage_arcane_potency_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_arcane_potency_AuraScript();
}
@@ -155,7 +155,7 @@ class spell_mage_arcane_potency : public SpellScriptLoader
class spell_mage_incanters_absorbtion_base_AuraScript : public AuraScript
{
public:
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_INCANTERS_ABSORBTION_TRIGGERED))
return false;
@@ -186,7 +186,7 @@ class spell_mage_blast_wave : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_blast_wave_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FLAMESTRIKE))
return false;
@@ -214,7 +214,7 @@ class spell_mage_blast_wave : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mage_blast_wave_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
AfterCast += SpellCastFn(spell_mage_blast_wave_SpellScript::HandleImprovedFlamestrike);
@@ -224,7 +224,7 @@ class spell_mage_blast_wave : public SpellScriptLoader
uint32 _targetCount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_blast_wave_SpellScript();
}
@@ -240,7 +240,7 @@ class spell_mage_blazing_speed : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_blazing_speed_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_BLAZING_SPEED))
return false;
@@ -253,13 +253,13 @@ class spell_mage_blazing_speed : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_MAGE_BLAZING_SPEED, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_mage_blazing_speed_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_blazing_speed_AuraScript();
}
@@ -319,7 +319,7 @@ class spell_mage_cold_snap : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_cold_snap_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -331,7 +331,7 @@ class spell_mage_cold_snap : public SpellScriptLoader
const SpellCooldowns& cm = caster->GetSpellCooldownMap();
for (SpellCooldowns::const_iterator itr = cm.begin(); itr != cm.end();)
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itr->first);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(itr->first);
if (spellInfo->SpellFamilyName == SPELLFAMILY_MAGE &&
(spellInfo->GetSchoolMask() & SPELL_SCHOOL_MASK_FROST) &&
@@ -344,13 +344,13 @@ class spell_mage_cold_snap : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_mage_cold_snap_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_cold_snap_SpellScript();
}
@@ -379,13 +379,13 @@ class spell_mage_cone_of_cold : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_mage_cone_of_cold_SpellScript::HandleConeOfColdScript, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_cone_of_cold_SpellScript();
}
@@ -422,7 +422,7 @@ class spell_mage_conjure_refreshment : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_conjure_refreshment_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
for (uint8 i = 0; i < MAX_CONJURE_REFRESHMENT_SPELLS; ++i)
if (!sSpellMgr->GetSpellInfo(_conjureData[i].spellId))
@@ -430,7 +430,7 @@ class spell_mage_conjure_refreshment : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -450,13 +450,13 @@ class spell_mage_conjure_refreshment : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_mage_conjure_refreshment_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_conjure_refreshment_SpellScript();
}
@@ -472,7 +472,7 @@ class spell_mage_fire_frost_ward : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_fire_frost_ward_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FROST_WARDING_TRIGGERED) ||
!sSpellMgr->GetSpellInfo(SPELL_MAGE_FROST_WARDING_R1))
@@ -513,7 +513,7 @@ class spell_mage_fire_frost_ward : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_mage_fire_frost_ward_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_mage_fire_frost_ward_AuraScript::Absorb, EFFECT_0);
@@ -521,7 +521,7 @@ class spell_mage_fire_frost_ward : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_fire_frost_ward_AuraScript();
}
@@ -537,14 +537,14 @@ class spell_mage_focus_magic : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_focus_magic_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FOCUS_MAGIC_PROC))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -562,7 +562,7 @@ class spell_mage_focus_magic : public SpellScriptLoader
GetTarget()->CastSpell(_procTarget, SPELL_MAGE_FOCUS_MAGIC_PROC, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_focus_magic_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_mage_focus_magic_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_SPELL_CRIT_CHANCE);
@@ -572,7 +572,7 @@ class spell_mage_focus_magic : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_focus_magic_AuraScript();
}
@@ -624,7 +624,7 @@ class spell_mage_glyph_of_ice_block : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_glyph_of_ice_block_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_FROST_NOVA))
return false;
@@ -643,14 +643,14 @@ class spell_mage_glyph_of_ice_block : public SpellScriptLoader
GetTarget()->ToPlayer()->RemoveSpellCooldown(SPELL_MAGE_FROST_NOVA, true);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_glyph_of_ice_block_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_mage_glyph_of_ice_block_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_glyph_of_ice_block_AuraScript();
}
@@ -674,13 +674,13 @@ class spell_mage_glyph_of_icy_veins : public SpellScriptLoader
GetTarget()->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_mage_glyph_of_icy_veins_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_glyph_of_icy_veins_AuraScript();
}
@@ -696,7 +696,7 @@ class spell_mage_glyph_of_polymorph : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_glyph_of_polymorph_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_SHADOW_WORD_DEATH))
return false;
@@ -713,13 +713,13 @@ class spell_mage_glyph_of_polymorph : public SpellScriptLoader
target->RemoveAurasByType(SPELL_AURA_PERIODIC_LEECH);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_mage_glyph_of_polymorph_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_glyph_of_polymorph_AuraScript();
}
@@ -752,13 +752,13 @@ class spell_mage_living_bomb : public SpellScriptLoader
caster->CastSpell(GetTarget(), uint32(aurEff->GetAmount()), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_mage_living_bomb_AuraScript::AfterRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_living_bomb_AuraScript();
}
@@ -792,7 +792,7 @@ class spell_mage_ice_barrier : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_ice_barrier_AuraScript();
}
@@ -808,7 +808,7 @@ class spell_mage_ignite : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_ignite_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_IGNITE))
return false;
@@ -824,7 +824,7 @@ class spell_mage_ignite : public SpellScriptLoader
{
PreventDefaultAction();
- SpellInfo const* igniteDot = sSpellMgr->GetSpellInfo(SPELL_MAGE_IGNITE);
+ SpellInfo const* igniteDot = sSpellMgr->EnsureSpellInfo(SPELL_MAGE_IGNITE);
int32 pct = 8 * GetSpellInfo()->GetRank();
int32 amount = int32(CalculatePct(eventInfo.GetDamageInfo()->GetDamage(), pct) / igniteDot->GetMaxTicks());
@@ -832,14 +832,14 @@ class spell_mage_ignite : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_MAGE_IGNITE, SPELLVALUE_BASE_POINT0, amount, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_ignite_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_mage_ignite_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_ignite_AuraScript();
}
@@ -865,13 +865,13 @@ class spell_mage_mage_ward : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_mage_mage_ward_AuraScript::HandleAbsorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_mage_ward_AuraScript();
}
@@ -903,14 +903,14 @@ class spell_mage_mana_shield : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_MAGE_INCANTERS_ABSORBTION_R1, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectManaShield += AuraEffectManaShieldFn(spell_mage_mana_shield_AuraScript::HandleAbsorb, EFFECT_0);
AfterEffectRemove += AuraEffectRemoveFn(spell_mage_mana_shield_AuraScript::AfterRemove, EFFECT_0, SPELL_AURA_MANA_SHIELD, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_mana_shield_AuraScript();
}
@@ -926,7 +926,7 @@ class spell_mage_master_of_elements : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_master_of_elements_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_MASTER_OF_ELEMENTS_ENERGIZE))
return false;
@@ -949,14 +949,14 @@ class spell_mage_master_of_elements : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_MAGE_MASTER_OF_ELEMENTS_ENERGIZE, SPELLVALUE_BASE_POINT0, mana, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_master_of_elements_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_mage_master_of_elements_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_master_of_elements_AuraScript();
}
@@ -972,7 +972,7 @@ class spell_mage_nether_vortex : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_nether_vortex_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_SLOW))
return false;
@@ -994,14 +994,14 @@ class spell_mage_nether_vortex : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_MAGE_SLOW, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_nether_vortex_AuraScript::DoCheck);
OnEffectProc += AuraEffectProcFn(spell_mage_nether_vortex_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_nether_vortex_AuraScript();
}
@@ -1017,7 +1017,7 @@ class spell_mage_permafrost : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_permafrost_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_PERMAFROST))
return false;
@@ -1037,14 +1037,14 @@ class spell_mage_permafrost : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_MAGE_PERMAFROST, SPELLVALUE_BASE_POINT0, heal, (Unit*)NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_permafrost_AuraScript::DoCheck);
OnEffectProc += AuraEffectProcFn(spell_mage_permafrost_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_permafrost_AuraScript();
}
@@ -1060,7 +1060,7 @@ class spell_mage_polymorph : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_polymorph_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_IMPROVED_POLYMORPH_RANK_1) ||
!sSpellMgr->GetSpellInfo(SPELL_MAGE_IMPROVED_POLYMORPH_STUN_RANK_1) ||
@@ -1069,7 +1069,7 @@ class spell_mage_polymorph : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_caster = NULL;
return true;
@@ -1095,7 +1095,7 @@ class spell_mage_polymorph : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_mage_polymorph_AuraScript::DoCheck);
OnEffectProc += AuraEffectProcFn(spell_mage_polymorph_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_MOD_CONFUSE);
@@ -1105,7 +1105,7 @@ class spell_mage_polymorph : public SpellScriptLoader
Unit* _caster;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_polymorph_AuraScript();
}
@@ -1129,7 +1129,7 @@ class spell_mage_polymorph_cast_visual : public SpellScriptLoader
static const uint32 PolymorhForms[6];
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
// check if spell ids exist in dbc
for (uint32 i = 0; i < 6; i++)
@@ -1145,14 +1145,14 @@ class spell_mage_polymorph_cast_visual : public SpellScriptLoader
target->CastSpell(target, PolymorhForms[urand(0, 5)], true);
}
- void Register() OVERRIDE
+ void Register() override
{
// add dummy effect spell handler to Polymorph visual
OnEffectHitTarget += SpellEffectFn(spell_mage_polymorph_cast_visual_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_polymorph_cast_visual_SpellScript();
}
@@ -1218,7 +1218,7 @@ class spell_mage_ring_of_frost : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_ring_of_frost_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_RING_OF_FROST_SUMMON))
return false;
@@ -1229,7 +1229,7 @@ class spell_mage_ring_of_frost : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
ringOfFrost = NULL;
return true;
@@ -1269,14 +1269,14 @@ class spell_mage_ring_of_frost : public SpellScriptLoader
TempSummon* ringOfFrost;
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_mage_ring_of_frost_AuraScript::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
OnEffectApply += AuraEffectApplyFn(spell_mage_ring_of_frost_AuraScript::Apply, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_ring_of_frost_AuraScript();
}
@@ -1293,7 +1293,7 @@ class spell_mage_ring_of_frost_freeze : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_ring_of_frost_freeze_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_RING_OF_FROST_SUMMON))
return false;
@@ -1313,13 +1313,13 @@ class spell_mage_ring_of_frost_freeze : public SpellScriptLoader
targets.erase(itr--);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mage_ring_of_frost_freeze_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_ring_of_frost_freeze_SpellScript();
}
@@ -1328,7 +1328,7 @@ class spell_mage_ring_of_frost_freeze : public SpellScriptLoader
{
PrepareAuraScript(spell_mage_ring_of_frost_freeze_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_RING_OF_FROST_DUMMY))
return false;
@@ -1342,13 +1342,13 @@ class spell_mage_ring_of_frost_freeze : public SpellScriptLoader
GetCaster()->CastSpell(GetTarget(), SPELL_MAGE_RING_OF_FROST_DUMMY, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_mage_ring_of_frost_freeze_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_mage_ring_of_frost_freeze_AuraScript();
}
@@ -1364,7 +1364,7 @@ class spell_mage_time_warp : public SpellScriptLoader
{
PrepareSpellScript(spell_mage_time_warp_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MAGE_TEMPORAL_DISPLACEMENT)
|| !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY)
@@ -1388,14 +1388,14 @@ class spell_mage_time_warp : public SpellScriptLoader
target->CastSpell(target, SPELL_MAGE_TEMPORAL_DISPLACEMENT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mage_time_warp_SpellScript::RemoveInvalidTargets, EFFECT_ALL, TARGET_UNIT_CASTER_AREA_RAID);
AfterHit += SpellHitFn(spell_mage_time_warp_SpellScript::ApplyDebuff);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mage_time_warp_SpellScript();
}
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index abb14a9cc5d..2efcbd5d35e 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -60,6 +60,8 @@ enum PaladinSpells
SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT = 31790,
SPELL_PALADIN_SANCTIFIED_RETRIBUTION_AURA = 63531,
SPELL_PALADIN_SANCTIFIED_RETRIBUTION_R1 = 31869,
+ SPELL_PALADIN_SANCTIFIED_WRATH = 57318,
+ SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1 = 53375,
SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS = 25742,
SPELL_PALADIN_SWIFT_RETRIBUTION_R1 = 53379
};
@@ -93,7 +95,7 @@ class spell_pal_ardent_defender : public SpellScriptLoader
PAL_SPELL_ARDENT_DEFENDER_HEAL = 66235,
};
- bool Load() OVERRIDE
+ bool Load() override
{
healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue();
@@ -139,14 +141,14 @@ class spell_pal_ardent_defender : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_pal_ardent_defender_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_pal_ardent_defender_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_ardent_defender_AuraScript();
}
@@ -163,7 +165,7 @@ class spell_pal_aura_mastery : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_aura_mastery_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_AURA_MASTERY_IMMUNE))
return false;
@@ -180,14 +182,14 @@ class spell_pal_aura_mastery : public SpellScriptLoader
GetTarget()->RemoveOwnedAura(SPELL_PALADIN_AURA_MASTERY_IMMUNE, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_pal_aura_mastery_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_ADD_PCT_MODIFIER, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_pal_aura_mastery_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_ADD_PCT_MODIFIER, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_aura_mastery_AuraScript();
}
@@ -203,7 +205,7 @@ class spell_pal_aura_mastery_immune : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_aura_mastery_immune_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_CONCENTRACTION_AURA))
return false;
@@ -215,18 +217,64 @@ class spell_pal_aura_mastery_immune : public SpellScriptLoader
return target->HasAura(SPELL_PALADIN_CONCENTRACTION_AURA, GetCasterGUID());
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_pal_aura_mastery_immune_AuraScript::CheckAreaTarget);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_aura_mastery_immune_AuraScript();
}
};
+// 31884 - Avenging Wrath
+class spell_pal_avenging_wrath : public SpellScriptLoader
+{
+ public:
+ spell_pal_avenging_wrath() : SpellScriptLoader("spell_pal_avenging_wrath") { }
+
+ class spell_pal_avenging_wrath_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_pal_avenging_wrath_AuraScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SANCTIFIED_WRATH)
+ || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1))
+ return false;
+ return true;
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ Unit* target = GetTarget();
+ if (AuraEffect const* aurEff = target->GetAuraEffectOfRankedSpell(SPELL_PALADIN_SANCTIFIED_WRATH_TALENT_R1, EFFECT_2))
+ {
+ int32 basepoints = aurEff->GetAmount();
+ target->CastCustomSpell(target, SPELL_PALADIN_SANCTIFIED_WRATH, &basepoints, &basepoints, NULL, true, NULL, aurEff);
+ }
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->RemoveAurasDueToSpell(SPELL_PALADIN_SANCTIFIED_WRATH);
+ }
+
+ void Register() override
+ {
+ OnEffectApply += AuraEffectApplyFn(spell_pal_avenging_wrath_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_pal_avenging_wrath_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_pal_avenging_wrath_AuraScript();
+ }
+};
+
// 53651 - Beacon of Light
class spell_pal_beacon_of_light : public SpellScriptLoader
{
@@ -237,7 +285,7 @@ class spell_pal_beacon_of_light : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_beacon_of_light_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BEACON_OF_LIGHT_HEAL))
return false;
@@ -275,19 +323,20 @@ class spell_pal_beacon_of_light : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pal_beacon_of_light_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pal_beacon_of_light_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_beacon_of_light_AuraScript();
}
};
+
// 37877 - Blessing of Faith
class spell_pal_blessing_of_faith : public SpellScriptLoader
{
@@ -298,7 +347,7 @@ class spell_pal_blessing_of_faith : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_blessing_of_faith_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_DRUID) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PALADIN) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_PRIEST) || !sSpellMgr->GetSpellInfo(SPELL_PALADIN_BLESSING_OF_LOWER_CITY_SHAMAN))
return false;
@@ -332,13 +381,13 @@ class spell_pal_blessing_of_faith : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pal_blessing_of_faith_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_blessing_of_faith_SpellScript();
}
@@ -357,7 +406,7 @@ class spell_pal_divine_sacrifice : public SpellScriptLoader
uint32 groupSize, minHpPct;
int32 remainingAmount;
- bool Load() OVERRIDE
+ bool Load() override
{
if (Unit* caster = GetCaster())
@@ -388,13 +437,13 @@ class spell_pal_divine_sacrifice : public SpellScriptLoader
caster->RemoveAura(SPELL_PALADIN_DIVINE_SACRIFICE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectSplit += AuraEffectSplitFn(spell_pal_divine_sacrifice_AuraScript::Split, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_divine_sacrifice_AuraScript();
}
@@ -412,14 +461,14 @@ class spell_pal_divine_storm : public SpellScriptLoader
uint32 healPct;
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_DIVINE_STORM_DUMMY))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster());
return true;
@@ -431,13 +480,13 @@ class spell_pal_divine_storm : public SpellScriptLoader
caster->CastCustomSpell(SPELL_PALADIN_DIVINE_STORM_DUMMY, SPELLVALUE_BASE_POINT0, (GetHitDamage() * healPct) / 100, caster, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_pal_divine_storm_SpellScript::TriggerHeal);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_divine_storm_SpellScript();
}
@@ -453,7 +502,7 @@ class spell_pal_divine_storm_dummy : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_divine_storm_dummy_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_DIVINE_STORM_HEAL))
return false;
@@ -476,14 +525,14 @@ class spell_pal_divine_storm_dummy : public SpellScriptLoader
private:
uint32 _targetCount;
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pal_divine_storm_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_divine_storm_dummy_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_RAID);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_divine_storm_dummy_SpellScript();
}
@@ -513,13 +562,13 @@ class spell_pal_exorcism_and_holy_wrath_damage : public SpellScriptLoader
spellMod->value = aurEff->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_pal_exorcism_and_holy_wrath_damage_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_exorcism_and_holy_wrath_damage_AuraScript();
}
@@ -535,7 +584,7 @@ class spell_pal_eye_for_an_eye : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_eye_for_an_eye_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_EYE_FOR_AN_EYE_DAMAGE))
return false;
@@ -549,13 +598,13 @@ class spell_pal_eye_for_an_eye : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_PALADIN_EYE_FOR_AN_EYE_DAMAGE, SPELLVALUE_BASE_POINT0, damage, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pal_eye_for_an_eye_AuraScript::HandleEffectProc, EFFECT_0, m_scriptSpellId == SPELL_PALADIN_EYE_FOR_AN_EYE_RANK_1 ? SPELL_AURA_DUMMY : SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_eye_for_an_eye_AuraScript();
}
@@ -571,7 +620,7 @@ class spell_pal_grand_crusader : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_grand_crusader_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_AVENGERS_SHIELD))
return false;
@@ -588,14 +637,14 @@ class spell_pal_grand_crusader : public SpellScriptLoader
GetTarget()->ToPlayer()->RemoveSpellCooldown(SPELL_PALADIN_AVENGERS_SHIELD, true);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pal_grand_crusader_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pal_grand_crusader_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_grand_crusader_AuraScript();
}
@@ -622,13 +671,13 @@ class spell_pal_glyph_of_holy_light : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pal_glyph_of_holy_light_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_glyph_of_holy_light_SpellScript();
}
@@ -646,7 +695,7 @@ class spell_pal_hand_of_sacrifice : public SpellScriptLoader
int32 remainingAmount;
- bool Load() OVERRIDE
+ bool Load() override
{
if (Unit* caster = GetCaster())
{
@@ -666,13 +715,13 @@ class spell_pal_hand_of_sacrifice : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectSplit += AuraEffectSplitFn(spell_pal_hand_of_sacrifice_AuraScript::Split, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_hand_of_sacrifice_AuraScript();
}
@@ -688,7 +737,7 @@ class spell_pal_holy_shock : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_holy_shock_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
SpellInfo const* firstRankSpellInfo = sSpellMgr->GetSpellInfo(SPELL_PALADIN_HOLY_SHOCK_R1);
if (!firstRankSpellInfo)
@@ -737,14 +786,14 @@ class spell_pal_holy_shock : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_pal_holy_shock_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_pal_holy_shock_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_holy_shock_SpellScript();
}
@@ -780,13 +829,13 @@ class spell_pal_improved_aura_effect : public SpellScriptLoader
return false;
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_pal_improved_aura_effect_AuraScript::CheckAreaTarget);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_improved_aura_effect_AuraScript();
}
@@ -802,7 +851,7 @@ class spell_pal_item_healing_discount : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_item_healing_discount_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_ITEM_HEALING_TRANCE))
return false;
@@ -815,13 +864,13 @@ class spell_pal_item_healing_discount : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_PALADIN_ITEM_HEALING_TRANCE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pal_item_healing_discount_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_item_healing_discount_AuraScript();
}
@@ -838,7 +887,7 @@ class spell_pal_judgement : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_judgement_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_JUDGEMENT_DAMAGE))
return false;
@@ -864,13 +913,13 @@ class spell_pal_judgement : public SpellScriptLoader
GetCaster()->CastSpell(GetHitUnit(), spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pal_judgement_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_judgement_SpellScript();
}
@@ -886,7 +935,7 @@ class spell_pal_lay_on_hands : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_lay_on_hands_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_FORBEARANCE) ||
!sSpellMgr->GetSpellInfo(SPELL_PALADIN_IMMUNE_SHIELD_MARKER))
@@ -918,14 +967,14 @@ class spell_pal_lay_on_hands : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_pal_lay_on_hands_SpellScript::CheckCast);
AfterHit += SpellHitFn(spell_pal_lay_on_hands_SpellScript::HandleScript);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_lay_on_hands_SpellScript();
}
@@ -941,7 +990,7 @@ class spell_pal_righteous_defense : public SpellScriptLoader
{
PrepareSpellScript(spell_pal_righteous_defense_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT))
return false;
@@ -977,7 +1026,7 @@ class spell_pal_righteous_defense : public SpellScriptLoader
GetCaster()->CastSpell(target, SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_pal_righteous_defense_SpellScript::CheckCast);
//! WORKAROUND
@@ -989,7 +1038,7 @@ class spell_pal_righteous_defense : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_righteous_defense_SpellScript();
}
@@ -1017,13 +1066,13 @@ class spell_pal_sacred_shield : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_pal_sacred_shield_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_sacred_shield_SpellScript();
}
@@ -1048,7 +1097,7 @@ class spell_pal_templar_s_verdict : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
if (GetCaster()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1085,13 +1134,13 @@ class spell_pal_templar_s_verdict : public SpellScriptLoader
SetHitDamage(damage);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pal_templar_s_verdict_SpellScript::ChangeDamage, EFFECT_0, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pal_templar_s_verdict_SpellScript();
}
@@ -1107,7 +1156,7 @@ class spell_pal_seal_of_righteousness : public SpellScriptLoader
{
PrepareAuraScript(spell_pal_seal_of_righteousness_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS))
return false;
@@ -1130,14 +1179,14 @@ class spell_pal_seal_of_righteousness : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pal_seal_of_righteousness_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pal_seal_of_righteousness_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pal_seal_of_righteousness_AuraScript();
}
@@ -1149,6 +1198,7 @@ void AddSC_paladin_spell_scripts()
//new spell_pal_ardent_defender();
new spell_pal_aura_mastery();
new spell_pal_aura_mastery_immune();
+ new spell_pal_avenging_wrath();
new spell_pal_beacon_of_light();
new spell_pal_blessing_of_faith();
new spell_pal_divine_sacrifice();
diff --git a/src/server/scripts/Spells/spell_pet.cpp b/src/server/scripts/Spells/spell_pet.cpp
index 7c8a725ca08..f8466eb1f74 100644
--- a/src/server/scripts/Spells/spell_pet.cpp
+++ b/src/server/scripts/Spells/spell_pet.cpp
@@ -95,7 +95,7 @@ class spell_gen_pet_calculate : public SpellScriptLoader
{
PrepareAuraScript(spell_gen_pet_calculate_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -185,7 +185,7 @@ class spell_gen_pet_calculate : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
switch (m_scriptSpellId)
{
@@ -214,7 +214,7 @@ class spell_gen_pet_calculate : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_gen_pet_calculate_AuraScript();
}
@@ -229,7 +229,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_scaling_01_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -338,7 +338,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_warl_pet_scaling_01_AuraScript::RemoveEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectApply += AuraEffectApplyFn(spell_warl_pet_scaling_01_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
@@ -351,7 +351,7 @@ public:
uint32 _tempBonus;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_scaling_01_AuraScript();
}
@@ -366,7 +366,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_scaling_02_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -451,7 +451,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_warl_pet_scaling_02_AuraScript::RemoveEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectApply += AuraEffectApplyFn(spell_warl_pet_scaling_02_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
@@ -464,7 +464,7 @@ public:
uint32 _tempBonus;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_scaling_02_AuraScript();
}
@@ -479,7 +479,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_scaling_03_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -522,7 +522,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_scaling_03_AuraScript::CalculateFrostResistanceAmount, EFFECT_0, SPELL_AURA_MOD_RESISTANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_scaling_03_AuraScript::CalculateArcaneResistanceAmount, EFFECT_1, SPELL_AURA_MOD_RESISTANCE);
@@ -530,7 +530,7 @@ public:
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_scaling_03_AuraScript();
}
@@ -545,7 +545,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_scaling_04_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -564,13 +564,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_scaling_04_AuraScript::CalculateShadowResistanceAmount, EFFECT_0, SPELL_AURA_MOD_RESISTANCE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_scaling_04_AuraScript();
}
@@ -585,7 +585,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_scaling_05_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -637,7 +637,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_scaling_05_AuraScript::CalculateAmountMeleeHit, EFFECT_0, SPELL_AURA_MOD_HIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_scaling_05_AuraScript::CalculateAmountSpellHit, EFFECT_1, SPELL_AURA_MOD_SPELL_HIT_CHANCE);
@@ -645,7 +645,7 @@ public:
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_scaling_05_AuraScript();
}
@@ -660,7 +660,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_passive_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -711,14 +711,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_passive_AuraScript::CalculateAmountCritSpell, EFFECT_0, SPELL_AURA_MOD_SPELL_CRIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_passive_AuraScript::CalculateAmountCritMelee, EFFECT_1, SPELL_AURA_MOD_WEAPON_CRIT_PERCENT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_passive_AuraScript();
}
@@ -733,7 +733,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_passive_damage_done_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -762,14 +762,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_passive_damage_done_AuraScript::CalculateAmountDamageDone, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_passive_damage_done_AuraScript::CalculateAmountDamageDone, EFFECT_1, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_passive_damage_done_AuraScript();
}
@@ -784,7 +784,7 @@ public:
{
PrepareAuraScript(spell_warl_pet_passive_voidwalker_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -800,13 +800,13 @@ public:
amount += /* aurEff */ect->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_pet_passive_voidwalker_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_pet_passive_voidwalker_AuraScript();
}
@@ -821,7 +821,7 @@ public:
{
PrepareAuraScript(spell_sha_pet_scaling_04_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -858,14 +858,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_sha_pet_scaling_04_AuraScript::CalculateAmountMeleeHit, EFFECT_0, SPELL_AURA_MOD_HIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_sha_pet_scaling_04_AuraScript::CalculateAmountSpellHit, EFFECT_1, SPELL_AURA_MOD_SPELL_HIT_CHANCE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_pet_scaling_04_AuraScript();
}
@@ -895,7 +895,7 @@ public:
if (itr != pet->ToPet()->m_spells.end()) // If pet has Wild Hunt
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
AddPct(mod, spellInfo->Effects[EFFECT_0].CalcValue());
}
@@ -938,7 +938,7 @@ public:
if (itr != pet->ToPet()->m_spells.end()) // If pet has Wild Hunt
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
mod += CalculatePct(1.0f, spellInfo->Effects[EFFECT_1].CalcValue());
}
@@ -968,7 +968,7 @@ public:
if (itr != pet->ToPet()->m_spells.end()) // If pet has Wild Hunt
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(itr->first); // Then get the SpellProto and add the dummy effect value
mod += CalculatePct(1.0f, spellInfo->Effects[EFFECT_1].CalcValue());
}
@@ -978,7 +978,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_hun_pet_scaling_01_AuraScript::RemoveEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectApply += AuraEffectApplyFn(spell_hun_pet_scaling_01_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
@@ -991,7 +991,7 @@ public:
uint32 _tempHealth;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_scaling_01_AuraScript();
}
@@ -1006,7 +1006,7 @@ public:
{
PrepareAuraScript(spell_hun_pet_scaling_02_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1070,7 +1070,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_02_AuraScript::CalculateFrostResistanceAmount, EFFECT_1, SPELL_AURA_MOD_RESISTANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_02_AuraScript::CalculateFireResistanceAmount, EFFECT_0, SPELL_AURA_MOD_RESISTANCE);
@@ -1078,7 +1078,7 @@ public:
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_scaling_02_AuraScript();
}
@@ -1093,7 +1093,7 @@ public:
{
PrepareAuraScript(spell_hun_pet_scaling_03_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1157,7 +1157,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_03_AuraScript::CalculateShadowResistanceAmount, EFFECT_0, SPELL_AURA_MOD_RESISTANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_03_AuraScript::CalculateArcaneResistanceAmount, EFFECT_1, SPELL_AURA_MOD_RESISTANCE);
@@ -1165,7 +1165,7 @@ public:
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_scaling_03_AuraScript();
}
@@ -1180,7 +1180,7 @@ public:
{
PrepareAuraScript(spell_hun_pet_scaling_04_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1238,7 +1238,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_04_AuraScript::CalculateAmountMeleeHit, EFFECT_0, SPELL_AURA_MOD_HIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_scaling_04_AuraScript::CalculateAmountSpellHit, EFFECT_1, SPELL_AURA_MOD_SPELL_HIT_CHANCE);
@@ -1246,7 +1246,7 @@ public:
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_scaling_04_AuraScript();
}
@@ -1261,7 +1261,7 @@ public:
{
PrepareAuraScript(spell_hun_pet_passive_crit_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1310,14 +1310,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_passive_crit_AuraScript::CalculateAmountCritSpell, EFFECT_1, SPELL_AURA_MOD_SPELL_CRIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_passive_crit_AuraScript::CalculateAmountCritMelee, EFFECT_0, SPELL_AURA_MOD_WEAPON_CRIT_PERCENT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_passive_crit_AuraScript();
}
@@ -1332,7 +1332,7 @@ public:
{
PrepareAuraScript(spell_hun_pet_passive_damage_done_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1351,13 +1351,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_pet_passive_damage_done_AuraScript::CalculateAmountDamageDone, EFFECT_0, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_pet_passive_damage_done_AuraScript();
}
@@ -1372,7 +1372,7 @@ public:
{
PrepareAuraScript(spell_hun_animal_handler_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1392,13 +1392,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_hun_animal_handler_AuraScript::CalculateAmountDamageDone, EFFECT_0, SPELL_AURA_MOD_ATTACK_POWER_PCT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_hun_animal_handler_AuraScript();
}
@@ -1413,7 +1413,7 @@ public:
{
PrepareAuraScript(spell_dk_avoidance_passive_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1436,13 +1436,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_avoidance_passive_AuraScript::CalculateAvoidanceAmount, EFFECT_0, SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_avoidance_passive_AuraScript();
}
@@ -1457,7 +1457,7 @@ public:
{
PrepareAuraScript(spell_dk_pet_scaling_01_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1533,7 +1533,7 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectRemoveFn(spell_dk_pet_scaling_01_AuraScript::RemoveEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
AfterEffectApply += AuraEffectApplyFn(spell_dk_pet_scaling_01_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_MOD_STAT, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
@@ -1545,7 +1545,7 @@ public:
uint32 _tempHealth;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_pet_scaling_01_AuraScript();
}
@@ -1560,7 +1560,7 @@ public:
{
PrepareAuraScript(spell_dk_pet_scaling_02_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1582,13 +1582,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_pet_scaling_02_AuraScript::CalculateAmountMeleeHaste, EFFECT_1, SPELL_AURA_MELEE_SLOW);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_pet_scaling_02_AuraScript();
}
@@ -1603,7 +1603,7 @@ public:
{
PrepareAuraScript(spell_dk_pet_scaling_03_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1644,14 +1644,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_pet_scaling_03_AuraScript::CalculateAmountMeleeHit, EFFECT_0, SPELL_AURA_MOD_HIT_CHANCE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_pet_scaling_03_AuraScript::CalculateAmountSpellHit, EFFECT_1, SPELL_AURA_MOD_SPELL_HIT_CHANCE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_pet_scaling_03_AuraScript();
}
@@ -1666,7 +1666,7 @@ public:
{
PrepareAuraScript(spell_dk_rune_weapon_scaling_02_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
if (!GetCaster() || !GetCaster()->GetOwner() || GetCaster()->GetOwner()->GetTypeId() != TYPEID_PLAYER)
return false;
@@ -1703,14 +1703,14 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_rune_weapon_scaling_02_AuraScript::CalculateDamageDoneAmount, EFFECT_0, SPELL_AURA_MOD_DAMAGE_DONE);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_dk_rune_weapon_scaling_02_AuraScript::CalculateAmountMeleeHaste, EFFECT_1, SPELL_AURA_MELEE_SLOW);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_dk_rune_weapon_scaling_02_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index c92f9e30ac5..de82d1b9780 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -119,7 +119,7 @@ class spell_pri_body_and_soul : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_body_and_soul_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_CURE_DISEASE) ||
!sSpellMgr->GetSpellInfo(SPELL_PRIEST_BODY_AND_SOUL_DISPEL))
@@ -148,14 +148,14 @@ class spell_pri_body_and_soul : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_PRIEST_BODY_AND_SOUL_DISPEL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pri_body_and_soul_AuraScript::HandleEffectSpeedProc, EFFECT_0, SPELL_AURA_DUMMY);
OnEffectProc += AuraEffectProcFn(spell_pri_body_and_soul_AuraScript::HandleEffectDispelProc, EFFECT_1, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_body_and_soul_AuraScript();
}
@@ -171,7 +171,7 @@ class spell_pri_circle_of_healing : public SpellScriptLoader
{
PrepareSpellScript(spell_pri_circle_of_healing_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_CIRCLE_OF_HEALING))
return false;
@@ -191,13 +191,13 @@ class spell_pri_circle_of_healing : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_circle_of_healing_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_circle_of_healing_SpellScript();
}
@@ -272,7 +272,7 @@ class spell_pri_divine_aegis : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_divine_aegis_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_DIVINE_AEGIS))
return false;
@@ -299,14 +299,14 @@ class spell_pri_divine_aegis : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_PRIEST_DIVINE_AEGIS, SPELLVALUE_BASE_POINT0, absorb, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pri_divine_aegis_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pri_divine_aegis_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_divine_aegis_AuraScript();
}
@@ -335,13 +335,13 @@ class spell_pri_divine_hymn : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_divine_hymn_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_divine_hymn_SpellScript();
}
@@ -357,7 +357,7 @@ class spell_pri_glyph_of_prayer_of_healing : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_glyph_of_prayer_of_healing_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL))
return false;
@@ -368,18 +368,18 @@ class spell_pri_glyph_of_prayer_of_healing : public SpellScriptLoader
{
PreventDefaultAction();
- SpellInfo const* triggeredSpellInfo = sSpellMgr->GetSpellInfo(SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL);
+ SpellInfo const* triggeredSpellInfo = sSpellMgr->EnsureSpellInfo(SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL);
int32 heal = int32(CalculatePct(int32(eventInfo.GetHealInfo()->GetHeal()), aurEff->GetAmount()) / triggeredSpellInfo->GetMaxTicks());
GetTarget()->CastCustomSpell(SPELL_PRIEST_GLYPH_OF_PRAYER_OF_HEALING_HEAL, SPELLVALUE_BASE_POINT0, heal, eventInfo.GetProcTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pri_glyph_of_prayer_of_healing_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_glyph_of_prayer_of_healing_AuraScript();
}
@@ -408,13 +408,13 @@ class spell_pri_improved_power_word_shield : public SpellScriptLoader
spellMod->value = aurEff->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_pri_improved_power_word_shield_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_improved_power_word_shield_AuraScript();
}
@@ -430,7 +430,7 @@ class spell_pri_item_greater_heal_refund : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_item_greater_heal_refund_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_ITEM_EFFICIENCY))
return false;
@@ -443,13 +443,13 @@ class spell_pri_item_greater_heal_refund : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_PRIEST_ITEM_EFFICIENCY, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_pri_item_greater_heal_refund_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_item_greater_heal_refund_AuraScript();
}
@@ -467,14 +467,14 @@ class spell_pri_guardian_spirit : public SpellScriptLoader
uint32 healPct;
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_GUARDIAN_SPIRIT_HEAL))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
healPct = GetSpellInfo()->Effects[EFFECT_1].CalcValue();
return true;
@@ -499,14 +499,14 @@ class spell_pri_guardian_spirit : public SpellScriptLoader
absorbAmount = dmgInfo.GetDamage();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_pri_guardian_spirit_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_pri_guardian_spirit_AuraScript::Absorb, EFFECT_1);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_guardian_spirit_AuraScript();
}
@@ -536,13 +536,13 @@ class spell_pri_hymn_of_hope : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_hymn_of_hope_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_hymn_of_hope_SpellScript();
}
@@ -558,7 +558,7 @@ class spell_pri_leap_of_faith_effect_trigger : public SpellScriptLoader
{
PrepareSpellScript(spell_pri_leap_of_faith_effect_trigger_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_LEAP_OF_FAITH_EFFECT))
return false;
@@ -567,8 +567,7 @@ class spell_pri_leap_of_faith_effect_trigger : public SpellScriptLoader
void HandleEffectDummy(SpellEffIndex /*effIndex*/)
{
- Position destPos;
- GetHitDest()->GetPosition(&destPos);
+ Position destPos = GetHitDest()->GetPosition();
SpellCastTargets targets;
targets.SetDst(destPos);
@@ -576,13 +575,13 @@ class spell_pri_leap_of_faith_effect_trigger : public SpellScriptLoader
GetHitUnit()->CastSpell(targets, sSpellMgr->GetSpellInfo(GetEffectValue()), NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pri_leap_of_faith_effect_trigger_SpellScript::HandleEffectDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_leap_of_faith_effect_trigger_SpellScript();
}
@@ -608,13 +607,13 @@ class spell_pri_lightwell_renew : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_pri_lightwell_renew_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_lightwell_renew_AuraScript();
}
@@ -636,13 +635,13 @@ class spell_pri_mana_burn : public SpellScriptLoader
unitTarget->RemoveAurasWithMechanic((1 << MECHANIC_FEAR) | (1 << MECHANIC_POLYMORPH));
}
- void Register() OVERRIDE
+ void Register() override
{
AfterHit += SpellHitFn(spell_pri_mana_burn_SpellScript::HandleAfterHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_mana_burn_SpellScript;
}
@@ -658,14 +657,14 @@ class spell_pri_mana_leech : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_mana_leech_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_MANA_LEECH_PROC))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -683,7 +682,7 @@ class spell_pri_mana_leech : public SpellScriptLoader
GetTarget()->CastSpell(_procTarget, SPELL_PRIEST_MANA_LEECH_PROC, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pri_mana_leech_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pri_mana_leech_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
@@ -693,7 +692,7 @@ class spell_pri_mana_leech : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_mana_leech_AuraScript();
}
@@ -714,13 +713,13 @@ class spell_pri_mind_sear : public SpellScriptLoader
unitList.remove_if(Trinity::ObjectGUIDCheck(GetCaster()->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT)));
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_mind_sear_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_mind_sear_SpellScript();
}
@@ -744,13 +743,13 @@ class spell_pri_pain_and_suffering_proc : public SpellScriptLoader
aur->GetBase()->RefreshDuration();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pri_pain_and_suffering_proc_SpellScript::HandleEffectScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_pain_and_suffering_proc_SpellScript;
}
@@ -766,12 +765,12 @@ class spell_pri_penance : public SpellScriptLoader
{
PrepareSpellScript(spell_pri_penance_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
SpellInfo const* firstRankSpellInfo = sSpellMgr->GetSpellInfo(SPELL_PRIEST_PENANCE_R1);
if (!firstRankSpellInfo)
@@ -816,14 +815,14 @@ class spell_pri_penance : public SpellScriptLoader
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pri_penance_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_pri_penance_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_penance_SpellScript;
}
@@ -850,14 +849,14 @@ class spell_pri_phantasm : public SpellScriptLoader
GetTarget()->RemoveMovementImpairingAuras();
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pri_phantasm_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pri_phantasm_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_phantasm_AuraScript();
}
@@ -873,7 +872,7 @@ class spell_pri_power_word_shield : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_power_word_shield_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_REFLECTIVE_SHIELD_TRIGGERED))
return false;
@@ -925,14 +924,14 @@ class spell_pri_power_word_shield : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_pri_power_word_shield_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_pri_power_word_shield_AuraScript::ReflectDamage, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_power_word_shield_AuraScript();
}
@@ -961,13 +960,13 @@ class spell_pri_prayer_of_mending_heal : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_pri_prayer_of_mending_heal_SpellScript::HandleHeal, EFFECT_0, SPELL_EFFECT_HEAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_prayer_of_mending_heal_SpellScript();
}
@@ -983,14 +982,14 @@ class spell_pri_renew : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_renew_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_DIVINE_TOUCH))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1010,13 +1009,13 @@ class spell_pri_renew : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_pri_renew_AuraScript::HandleApplyEffect, EFFECT_0, SPELL_AURA_PERIODIC_HEAL, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_renew_AuraScript();
}
@@ -1043,13 +1042,13 @@ class spell_pri_shadow_word_death : public SpellScriptLoader
GetCaster()->CastCustomSpell(GetCaster(), SPELL_PRIEST_SHADOW_WORD_DEATH, &damage, 0, 0, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_pri_shadow_word_death_SpellScript::HandleDamage);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_shadow_word_death_SpellScript();
}
@@ -1065,7 +1064,7 @@ class spell_pri_shadowform : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_shadowform_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_SHADOWFORM_VISUAL_WITHOUT_GLYPH) ||
!sSpellMgr->GetSpellInfo(SPELL_PRIEST_SHADOWFORM_VISUAL_WITH_GLYPH))
@@ -1083,14 +1082,14 @@ class spell_pri_shadowform : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(GetTarget()->HasAura(SPELL_PRIEST_GLYPH_OF_SHADOW) ? SPELL_PRIEST_SHADOWFORM_VISUAL_WITH_GLYPH : SPELL_PRIEST_SHADOWFORM_VISUAL_WITHOUT_GLYPH);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_pri_shadowform_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_MOD_SHAPESHIFT, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
AfterEffectRemove += AuraEffectRemoveFn(spell_pri_shadowform_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_MOD_SHAPESHIFT, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_shadowform_AuraScript();
}
@@ -1106,7 +1105,7 @@ class spell_pri_vampiric_embrace : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_vampiric_embrace_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL))
return false;
@@ -1128,14 +1127,14 @@ class spell_pri_vampiric_embrace : public SpellScriptLoader
GetTarget()->CastCustomSpell((Unit*)NULL, SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL, &team, &self, NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_pri_vampiric_embrace_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_pri_vampiric_embrace_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_vampiric_embrace_AuraScript();
}
@@ -1156,13 +1155,13 @@ class spell_pri_vampiric_embrace_target : public SpellScriptLoader
unitList.remove(GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_vampiric_embrace_target_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_PARTY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_pri_vampiric_embrace_target_SpellScript();
}
@@ -1178,7 +1177,7 @@ class spell_pri_vampiric_touch : public SpellScriptLoader
{
PrepareAuraScript(spell_pri_vampiric_touch_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL) ||
!sSpellMgr->GetSpellInfo(SPELL_GEN_REPLENISHMENT))
@@ -1208,7 +1207,7 @@ class spell_pri_vampiric_touch : public SpellScriptLoader
eventInfo.GetProcTarget()->CastSpell((Unit*)NULL, SPELL_GEN_REPLENISHMENT, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterDispel += AuraDispelFn(spell_pri_vampiric_touch_AuraScript::HandleDispel);
DoCheckProc += AuraCheckProcFn(spell_pri_vampiric_touch_AuraScript::CheckProc);
@@ -1216,7 +1215,7 @@ class spell_pri_vampiric_touch : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_pri_vampiric_touch_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index cdf32bd94d5..f895381574e 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -61,7 +61,7 @@ class spell_generic_quest_update_entry_SpellScript : public SpellScript
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_generic_quest_update_entry_SpellScript::HandleDummy, _effIndex, _spellEffect);
}
@@ -80,7 +80,7 @@ class spell_q55_sacred_cleansing : public SpellScriptLoader
public:
spell_q55_sacred_cleansing() : SpellScriptLoader("spell_q55_sacred_cleansing") { }
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_generic_quest_update_entry_SpellScript(SPELL_EFFECT_DUMMY, EFFECT_1, NPC_MORBENT, NPC_WEAKENED_MORBENT, true);
}
@@ -101,7 +101,7 @@ class spell_q2203_thaumaturgy_channel : public SpellScriptLoader
{
PrepareAuraScript(spell_q2203_thaumaturgy_channel_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_THAUMATURGY_CHANNEL))
return false;
@@ -115,13 +115,13 @@ class spell_q2203_thaumaturgy_channel : public SpellScriptLoader
caster->CastSpell(caster, SPELL_THAUMATURGY_CHANNEL, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_q2203_thaumaturgy_channel_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q2203_thaumaturgy_channel_AuraScript();
}
@@ -144,12 +144,12 @@ class spell_q5206_test_fetid_skull : public SpellScriptLoader
{
PrepareSpellScript(spell_q5206_test_fetid_skull_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_CREATE_RESONATING_SKULL) || !sSpellMgr->GetSpellInfo(SPELL_CREATE_BONE_DUST))
return false;
@@ -163,13 +163,13 @@ class spell_q5206_test_fetid_skull : public SpellScriptLoader
caster->CastSpell(caster, spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q5206_test_fetid_skull_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q5206_test_fetid_skull_SpellScript();
}
@@ -196,7 +196,7 @@ class spell_q6124_6129_apply_salve : public SpellScriptLoader
{
PrepareSpellScript(spell_q6124_6129_apply_salve_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -227,13 +227,13 @@ class spell_q6124_6129_apply_salve : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q6124_6129_apply_salve_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q6124_6129_apply_salve_SpellScript();
}
@@ -252,7 +252,7 @@ class spell_q10255_administer_antidote : public SpellScriptLoader
public:
spell_q10255_administer_antidote() : SpellScriptLoader("spell_q10255_administer_antidote") { }
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_generic_quest_update_entry_SpellScript(SPELL_EFFECT_DUMMY, EFFECT_0, NPC_HELBOAR, NPC_DREADTUSK, true);
}
@@ -288,7 +288,7 @@ class spell_q11396_11399_force_shield_arcane_purple_x3 : public SpellScriptLoade
GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_q11396_11399_force_shield_arcane_purple_x3_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_q11396_11399_force_shield_arcane_purple_x3_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
@@ -296,7 +296,7 @@ class spell_q11396_11399_force_shield_arcane_purple_x3 : public SpellScriptLoade
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q11396_11399_force_shield_arcane_purple_x3_AuraScript();
}
@@ -312,7 +312,7 @@ class spell_q11396_11399_scourging_crystal_controller : public SpellScriptLoader
{
PrepareSpellScript(spell_q11396_11399_scourging_crystal_controller_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3) || !sSpellMgr->GetSpellInfo(SPELL_SCOURGING_CRYSTAL_CONTROLLER))
return false;
@@ -328,13 +328,13 @@ class spell_q11396_11399_scourging_crystal_controller : public SpellScriptLoader
GetCaster()->CastSpell(target, SPELL_SCOURGING_CRYSTAL_CONTROLLER, true, GetCastItem());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q11396_11399_scourging_crystal_controller_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11396_11399_scourging_crystal_controller_SpellScript();
};
@@ -350,7 +350,7 @@ class spell_q11396_11399_scourging_crystal_controller_dummy : public SpellScript
{
PrepareSpellScript(spell_q11396_11399_scourging_crystal_controller_dummy_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3))
return false;
@@ -364,13 +364,13 @@ class spell_q11396_11399_scourging_crystal_controller_dummy : public SpellScript
target->RemoveAurasDueToSpell(SPELL_FORCE_SHIELD_ARCANE_PURPLE_X3);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q11396_11399_scourging_crystal_controller_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11396_11399_scourging_crystal_controller_dummy_SpellScript();
};
@@ -389,7 +389,7 @@ class spell_q11515_fel_siphon_dummy : public SpellScriptLoader
public:
spell_q11515_fel_siphon_dummy() : SpellScriptLoader("spell_q11515_fel_siphon_dummy") { }
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_generic_quest_update_entry_SpellScript(SPELL_EFFECT_DUMMY, EFFECT_0, NPC_FELBLOOD_INITIATE, NPC_EMACIATED_FELBLOOD, true);
}
@@ -413,7 +413,7 @@ class spell_q11587_arcane_prisoner_rescue : public SpellScriptLoader
{
PrepareSpellScript(spell_q11587_arcane_prisoner_rescue_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_ARCANE_PRISONER_MALE) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_ARCANE_PRISONER_FEMALE) || !sSpellMgr->GetSpellInfo(SPELL_ARCANE_PRISONER_KILL_CREDIT))
return false;
@@ -433,13 +433,13 @@ class spell_q11587_arcane_prisoner_rescue : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q11587_arcane_prisoner_rescue_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11587_arcane_prisoner_rescue_SpellScript();
}
@@ -471,12 +471,12 @@ class spell_q11730_ultrasonic_screwdriver : public SpellScriptLoader
{
PrepareSpellScript(spell_q11730_ultrasonic_screwdriver_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER && GetCastItem();
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_SCAVENGEBOT_004A8) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_SENTRYBOT_57K) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_DEFENDOTANK_66D) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_SCAVENGEBOT_005B6) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_55D_COLLECTATRON) || !sSpellMgr->GetSpellInfo(SPELL_ROBOT_KILL_CREDIT))
return false;
@@ -506,13 +506,13 @@ class spell_q11730_ultrasonic_screwdriver : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q11730_ultrasonic_screwdriver_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11730_ultrasonic_screwdriver_SpellScript();
}
@@ -557,13 +557,13 @@ class spell_q12459_seeds_of_natures_wrath : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12459_seeds_of_natures_wrath_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12459_seeds_of_natures_wrath_SpellScript();
}
@@ -588,7 +588,7 @@ class spell_q12634_despawn_fruit_tosser : public SpellScriptLoader
{
PrepareSpellScript(spell_q12634_despawn_fruit_tosser_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BANANAS_FALL_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_ORANGE_FALLS_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_PAPAYA_FALLS_TO_GROUND) || !sSpellMgr->GetSpellInfo(SPELL_SUMMON_ADVENTUROUS_DWARF))
return false;
@@ -609,13 +609,13 @@ class spell_q12634_despawn_fruit_tosser : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), spellId, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q12634_despawn_fruit_tosser_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12634_despawn_fruit_tosser_SpellScript();
}
@@ -644,13 +644,13 @@ class spell_q12683_take_sputum_sample : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q12683_take_sputum_sample_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12683_take_sputum_sample_SpellScript();
}
@@ -705,14 +705,14 @@ class spell_q12851_going_bearback : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_q12851_going_bearback_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q12851_going_bearback_AuraScript();
}
@@ -735,12 +735,12 @@ class spell_q12937_relief_for_the_fallen : public SpellScriptLoader
{
PrepareSpellScript(spell_q12937_relief_for_the_fallen_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_TRIGGER_AID_OF_THE_EARTHEN))
return false;
@@ -758,13 +758,13 @@ class spell_q12937_relief_for_the_fallen : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12937_relief_for_the_fallen_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12937_relief_for_the_fallen_SpellScript();
}
@@ -786,7 +786,7 @@ class spell_q10041_q10040_who_are_they : public SpellScriptLoader
{
PrepareSpellScript(spell_q10041_q10040_who_are_they_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MALE_DISGUISE) || !sSpellMgr->GetSpellInfo(SPELL_FEMALE_DISGUISE) || !sSpellMgr->GetSpellInfo(SPELL_GENERIC_DISGUISE))
return false;
@@ -803,13 +803,13 @@ class spell_q10041_q10040_who_are_they : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q10041_q10040_who_are_they_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q10041_q10040_who_are_they_SpellScript();
}
@@ -845,13 +845,13 @@ class spell_symbol_of_life_dummy : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_symbol_of_life_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_symbol_of_life_dummy_SpellScript();
};
@@ -873,7 +873,7 @@ class spell_q12659_ahunaes_knife : public SpellScriptLoader
{
PrepareSpellScript(spell_q12659_ahunaes_knife_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -888,13 +888,13 @@ class spell_q12659_ahunaes_knife : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12659_ahunaes_knife_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12659_ahunaes_knife_SpellScript();
};
@@ -903,7 +903,7 @@ class spell_q12659_ahunaes_knife : public SpellScriptLoader
enum StoppingTheSpread
{
NPC_VILLAGER_KILL_CREDIT = 18240,
- SPELL_FLAMES = 39199,
+ SPELL_FLAMES = 39199
};
class spell_q9874_liquid_fire : public SpellScriptLoader
@@ -917,7 +917,7 @@ class spell_q9874_liquid_fire : public SpellScriptLoader
{
PrepareSpellScript(spell_q9874_liquid_fire_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -926,7 +926,7 @@ class spell_q9874_liquid_fire : public SpellScriptLoader
{
Player* caster = GetCaster()->ToPlayer();
if (Creature* target = GetHitCreature())
- if (target && target->HasAura(SPELL_FLAMES))
+ if (target && !target->HasAura(SPELL_FLAMES))
{
caster->KilledMonsterCredit(NPC_VILLAGER_KILL_CREDIT, 0);
target->CastSpell(target, SPELL_FLAMES, true);
@@ -934,13 +934,13 @@ class spell_q9874_liquid_fire : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q9874_liquid_fire_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q9874_liquid_fire_SpellScript();
};
@@ -962,7 +962,7 @@ class spell_q12805_lifeblood_dummy : public SpellScriptLoader
{
PrepareSpellScript(spell_q12805_lifeblood_dummy_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -978,13 +978,13 @@ class spell_q12805_lifeblood_dummy : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12805_lifeblood_dummy_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12805_lifeblood_dummy_SpellScript();
};
@@ -1018,13 +1018,13 @@ class spell_q13280_13283_plant_battle_standard: public SpellScriptLoader
player->ToPlayer()->KilledMonsterCredit(NPC_KING_OF_THE_MOUNTAINT_KC, 0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q13280_13283_plant_battle_standard_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13280_13283_plant_battle_standard_SpellScript();
}
@@ -1047,7 +1047,7 @@ class spell_q14112_14145_chum_the_water: public SpellScriptLoader
{
PrepareSpellScript(spell_q14112_14145_chum_the_water_SpellScript);
- bool Validate(SpellInfo const* /*spellEntry*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellEntry*/) override
{
if (!sSpellMgr->GetSpellInfo(SUMMON_ANGRY_KVALDIR) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_MAKO) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_THRESHER) || !sSpellMgr->GetSpellInfo(SUMMON_NORTH_SEA_BLUE_SHARK))
return false;
@@ -1060,13 +1060,13 @@ class spell_q14112_14145_chum_the_water: public SpellScriptLoader
caster->CastSpell(caster, RAND(SUMMON_ANGRY_KVALDIR, SUMMON_NORTH_SEA_MAKO, SUMMON_NORTH_SEA_THRESHER, SUMMON_NORTH_SEA_BLUE_SHARK));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q14112_14145_chum_the_water_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q14112_14145_chum_the_water_SpellScript();
}
@@ -1089,7 +1089,7 @@ class spell_q9452_cast_net: public SpellScriptLoader
{
PrepareSpellScript(spell_q9452_cast_net_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -1103,13 +1103,13 @@ class spell_q9452_cast_net: public SpellScriptLoader
caster->CastSpell(caster, SPELL_NEW_SUMMON_TEST, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q9452_cast_net_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q9452_cast_net_SpellScript();
}
@@ -1143,13 +1143,13 @@ public:
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_q12987_read_pronouncement_AuraScript::OnApply, EFFECT_0, SPELL_AURA_NONE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q12987_read_pronouncement_AuraScript();
}
@@ -1200,13 +1200,13 @@ class spell_q12277_wintergarde_mine_explosion : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12277_wintergarde_mine_explosion_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12277_wintergarde_mine_explosion_SpellScript();
}
@@ -1232,13 +1232,13 @@ public:
target->CastSpell(GetCaster(), SPELL_BUNNY_CREDIT_BEAM, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12066_bunny_kill_credit_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12066_bunny_kill_credit_SpellScript();
}
@@ -1283,13 +1283,13 @@ class spell_q12735_song_of_cleansing : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12735_song_of_cleansing_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12735_song_of_cleansing_SpellScript();
}
@@ -1314,13 +1314,13 @@ class spell_q12372_cast_from_gossip_trigger : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_SUMMON_WYRMREST_DEFENDER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12372_cast_from_gossip_trigger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12372_cast_from_gossip_trigger_SpellScript();
}
@@ -1355,13 +1355,13 @@ class spell_q12372_destabilize_azure_dragonshrine_dummy : public SpellScriptLoad
player->KilledMonsterCredit(NPC_WYRMREST_TEMPLE_CREDIT, 0);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12372_destabilize_azure_dragonshrine_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12372_destabilize_azure_dragonshrine_dummy_SpellScript();
}
@@ -1383,13 +1383,13 @@ class spell_q12372_azure_on_death_force_whisper : public SpellScriptLoader
defender->AI()->Talk(WHISPER_ON_HIT_BY_FORCE_WHISPER, defender->GetCharmerOrOwner());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12372_azure_on_death_force_whisper_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12372_azure_on_death_force_whisper_SpellScript();
}
@@ -1423,13 +1423,13 @@ class spell_q11010_q11102_q11023_aggro_check_aura : public SpellScriptLoader
target->CastSpell(target, SPELL_AGGRO_CHECK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_q11010_q11102_q11023_aggro_check_aura_AuraScript::HandleTriggerSpell, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q11010_q11102_q11023_aggro_check_aura_AuraScript();
}
@@ -1453,13 +1453,13 @@ class spell_q11010_q11102_q11023_aggro_check : public SpellScriptLoader
playerTarget->CastSpell(playerTarget, SPELL_FLAK_CANNON_TRIGGER, TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q11010_q11102_q11023_aggro_check_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11010_q11102_q11023_aggro_check_SpellScript();
}
@@ -1482,13 +1482,13 @@ class spell_q11010_q11102_q11023_aggro_burst : public SpellScriptLoader
target->CastSpell(target, SPELL_CHOOSE_LOC);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_q11010_q11102_q11023_aggro_burst_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q11010_q11102_q11023_aggro_burst_AuraScript();
}
@@ -1519,13 +1519,13 @@ class spell_q11010_q11102_q11023_choose_loc : public SpellScriptLoader
caster->SummonCreature(NPC_FEL_CANNON2, (*itr)->GetPositionX(), (*itr)->GetPositionY(), (*itr)->GetPositionZ());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q11010_q11102_q11023_choose_loc_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11010_q11102_q11023_choose_loc_SpellScript();
}
@@ -1551,13 +1551,13 @@ class spell_q11010_q11102_q11023_q11008_check_fly_mount : public SpellScriptLoad
return SPELL_CAST_OK;
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_q11010_q11102_q11023_q11008_check_fly_mount_SpellScript::CheckRequirement);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q11010_q11102_q11023_q11008_check_fly_mount_SpellScript();
}
@@ -1577,7 +1577,7 @@ class spell_q12527_zuldrak_rat : public SpellScriptLoader
{
PrepareSpellScript(spell_q12527_zuldrak_rat_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_GORGED_LURKING_BASILISK))
return false;
@@ -1594,13 +1594,13 @@ class spell_q12527_zuldrak_rat : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12527_zuldrak_rat_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12527_zuldrak_rat_SpellScript();
}
@@ -1623,13 +1623,13 @@ class spell_q12661_q12669_q12676_q12677_q12713_summon_stefan : public SpellScrip
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_q12661_q12669_q12676_q12677_q12713_summon_stefan_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_BACK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12661_q12669_q12676_q12677_q12713_summon_stefan_SpellScript();
}
@@ -1649,7 +1649,7 @@ class spell_q12730_quenching_mist : public SpellScriptLoader
{
PrepareAuraScript(spell_q12730_quenching_mist_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FLICKERING_FLAMES))
return false;
@@ -1661,13 +1661,13 @@ class spell_q12730_quenching_mist : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(SPELL_FLICKERING_FLAMES);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_q12730_quenching_mist_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q12730_quenching_mist_AuraScript();
}
@@ -1692,7 +1692,7 @@ class spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy : public
{
PrepareSpellScript(spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RIDE))
return false;
@@ -1709,13 +1709,13 @@ class spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy : public
GetHitCreature()->CastSpell(GetCaster(), SPELL_RIDE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy_SpellScript();
}
@@ -1738,13 +1738,13 @@ class spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon : public S
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_BACK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon_SpellScript();
}
@@ -1767,7 +1767,7 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScriptLoader
dest.RelocateOffset(offset);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_q12847_summon_soul_moveto_bunny_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER);
}
@@ -1795,7 +1795,7 @@ class spell_q13011_bear_flank_master : public SpellScriptLoader
{
PrepareSpellScript(spell_q13011_bear_flank_master_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BEAR_FLANK_MASTER) ||
!sSpellMgr->GetSpellInfo(SPELL_CREATE_BEAR_FLANK))
@@ -1803,7 +1803,7 @@ class spell_q13011_bear_flank_master : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1824,13 +1824,13 @@ class spell_q13011_bear_flank_master : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q13011_bear_flank_master_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13011_bear_flank_master_SpellScript();
}
@@ -1845,7 +1845,7 @@ class spell_q13086_cannons_target : public SpellScriptLoader
{
PrepareSpellScript(spell_q13086_cannons_target_SpellScript);
- bool Validate(SpellInfo const* spellInfo) OVERRIDE
+ bool Validate(SpellInfo const* spellInfo) override
{
if (!sSpellMgr->GetSpellInfo(spellInfo->Effects[EFFECT_0].CalcValue()))
return false;
@@ -1858,13 +1858,13 @@ class spell_q13086_cannons_target : public SpellScriptLoader
GetCaster()->CastSpell(pos->GetPositionX(), pos->GetPositionY(), pos->GetPositionZ(), GetEffectValue(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q13086_cannons_target_SpellScript::HandleEffectDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13086_cannons_target_SpellScript();
}
@@ -1896,7 +1896,7 @@ class spell_q12690_burst_at_the_seams : public SpellScriptLoader
{
PrepareSpellScript(spell_q12690_burst_at_the_seams_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS)
|| !sSpellMgr->GetSpellInfo(SPELL_BURST_AT_THE_SEAMS_DMG)
@@ -1908,7 +1908,7 @@ class spell_q12690_burst_at_the_seams : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
@@ -1944,14 +1944,14 @@ class spell_q12690_burst_at_the_seams : public SpellScriptLoader
GetCaster()->ToCreature()->DespawnOrUnsummon(2 * IN_MILLISECONDS);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_SpellScript::HandleKnockBack, EFFECT_1, SPELL_EFFECT_KNOCK_BACK);
OnEffectHitTarget += SpellEffectFn(spell_q12690_burst_at_the_seams_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12690_burst_at_the_seams_SpellScript();
}
@@ -1972,7 +1972,7 @@ class spell_q12308_escape_from_silverbrook : public SpellScriptLoader
{
PrepareSpellScript(spell_q12308_escape_from_silverbrook_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_WORGEN))
return false;
@@ -1984,13 +1984,13 @@ class spell_q12308_escape_from_silverbrook : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_SUMMON_WORGEN, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q12308_escape_from_silverbrook_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12308_escape_from_silverbrook_SpellScript();
}
@@ -2011,18 +2011,17 @@ class spell_q12308_escape_from_silverbrook_summon_worgen : public SpellScriptLoa
float dist = GetSpellInfo()->Effects[EFFECT_0].CalcRadius(GetCaster());
float angle = frand(0.75f, 1.25f) * M_PI;
- Position pos;
- GetCaster()->GetNearPosition(pos, dist, angle);
+ Position pos = GetCaster()->GetNearPosition(dist, angle);
dest.Relocate(pos);
}
- void Register() OVERRIDE
+ void Register() override
{
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_q12308_escape_from_silverbrook_summon_worgen_SpellScript::ModDest, EFFECT_0, TARGET_DEST_CASTER_SUMMON);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12308_escape_from_silverbrook_summon_worgen_SpellScript();
}
@@ -2052,7 +2051,7 @@ class spell_q12641_death_comes_from_on_high : public SpellScriptLoader
{
PrepareSpellScript(spell_q12641_death_comes_from_on_high_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_FORGE_CREDIT) ||
!sSpellMgr->GetSpellInfo(SPELL_TOWN_HALL_CREDIT) ||
@@ -2087,13 +2086,13 @@ class spell_q12641_death_comes_from_on_high : public SpellScriptLoader
GetCaster()->CastSpell((Unit*)NULL, spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12641_death_comes_from_on_high_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12641_death_comes_from_on_high_SpellScript();
}
@@ -2116,13 +2115,13 @@ class spell_q12619_emblazon_runeblade : public SpellScriptLoader
caster->CastSpell(caster, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_q12619_emblazon_runeblade_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_q12619_emblazon_runeblade_AuraScript();
}
@@ -2143,13 +2142,13 @@ class spell_q12619_emblazon_runeblade_effect : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), uint32(GetEffectValue()), false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHit += SpellEffectFn(spell_q12619_emblazon_runeblade_effect_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12619_emblazon_runeblade_effect_SpellScript();
}
@@ -2170,7 +2169,7 @@ class spell_q12919_gymers_grab : public SpellScriptLoader
{
PrepareSpellScript(spell_q12919_gymers_grab_SpellScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_RIDE_GYMER))
return false;
@@ -2186,13 +2185,13 @@ class spell_q12919_gymers_grab : public SpellScriptLoader
GetHitCreature()->CastSpell(GetHitCreature(), SPELL_GRABBED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12919_gymers_grab_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12919_gymers_grab_SpellScript();
}
@@ -2223,13 +2222,13 @@ class spell_q12919_gymers_throw : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q12919_gymers_throw_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q12919_gymers_throw_SpellScript();
}
@@ -2249,7 +2248,7 @@ class spell_q13400_illidan_kill_master : public SpellScriptLoader
{
PrepareSpellScript(spell_q13400_illidan_kill_master_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ILLIDAN_KILL_CREDIT))
return false;
@@ -2264,18 +2263,58 @@ class spell_q13400_illidan_kill_master : public SpellScriptLoader
passenger->CastSpell(passenger, SPELL_ILLIDAN_KILL_CREDIT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_q13400_illidan_kill_master_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_q13400_illidan_kill_master_SpellScript();
}
};
+enum RelicOfTheEarthenRing
+{
+ SPELL_TOTEM_OF_THE_EARTHEN_RING = 66747
+};
+
+// 66744 - Make Player Destroy Totems
+class spell_q14100_q14111_make_player_destroy_totems : public SpellScriptLoader
+{
+ public:
+ spell_q14100_q14111_make_player_destroy_totems() : SpellScriptLoader("spell_q14100_q14111_make_player_destroy_totems") { }
+
+ class spell_q14100_q14111_make_player_destroy_totems_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_q14100_q14111_make_player_destroy_totems_SpellScript);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_TOTEM_OF_THE_EARTHEN_RING))
+ return false;
+ return true;
+ }
+
+ void HandleScriptEffect(SpellEffIndex /*effIndex*/)
+ {
+ if (Player* player = GetHitPlayer())
+ player->CastSpell(player, SPELL_TOTEM_OF_THE_EARTHEN_RING, TRIGGERED_FULL_MASK); // ignore reagent cost, consumed by quest
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_q14100_q14111_make_player_destroy_totems_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_q14100_q14111_make_player_destroy_totems_SpellScript();
+ }
+};
+
void AddSC_quest_spell_scripts()
{
new spell_q55_sacred_cleansing();
@@ -2331,4 +2370,5 @@ void AddSC_quest_spell_scripts()
new spell_q12919_gymers_grab();
new spell_q12919_gymers_throw();
new spell_q13400_illidan_kill_master();
+ new spell_q14100_q14111_make_player_destroy_totems();
}
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index 7768ad7596c..98fe019bcc6 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -66,14 +66,14 @@ class spell_rog_blade_flurry : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_blade_flurry_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -95,7 +95,7 @@ class spell_rog_blade_flurry : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK, SPELLVALUE_BASE_POINT0, eventInfo.GetDamageInfo()->GetDamage(), _procTarget, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_rog_blade_flurry_AuraScript::CheckProc);
if (m_scriptSpellId == SPELL_ROGUE_BLADE_FLURRY)
@@ -108,7 +108,7 @@ class spell_rog_blade_flurry : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_blade_flurry_AuraScript();
}
@@ -126,14 +126,14 @@ class spell_rog_cheat_death : public SpellScriptLoader
uint32 absorbChance;
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_CHEAT_DEATH_COOLDOWN))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
absorbChance = GetSpellInfo()->Effects[EFFECT_0].CalcValue();
return GetUnitOwner()->ToPlayer();
@@ -164,14 +164,14 @@ class spell_rog_cheat_death : public SpellScriptLoader
absorbAmount = dmgInfo.GetDamage();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_cheat_death_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_cheat_death_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_cheat_death_AuraScript();
}
@@ -187,7 +187,7 @@ class spell_rog_crippling_poison : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_crippling_poison_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_CRIPPLING_POISON))
return false;
@@ -200,13 +200,13 @@ class spell_rog_crippling_poison : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_ROGUE_CRIPPLING_POISON, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_rog_crippling_poison_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_crippling_poison_AuraScript();
}
@@ -229,13 +229,13 @@ class spell_rog_cut_to_the_chase : public SpellScriptLoader
aur->SetDuration(aur->GetSpellInfo()->GetMaxDuration(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_rog_cut_to_the_chase_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_cut_to_the_chase_AuraScript();
}
@@ -251,7 +251,7 @@ class spell_rog_deadly_poison : public SpellScriptLoader
{
PrepareSpellScript(spell_rog_deadly_poison_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_stackAmount = 0;
// at this point CastItem must already be initialized
@@ -323,7 +323,7 @@ class spell_rog_deadly_poison : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleBeforeHit);
AfterHit += SpellHitFn(spell_rog_deadly_poison_SpellScript::HandleAfterHit);
@@ -332,7 +332,7 @@ class spell_rog_deadly_poison : public SpellScriptLoader
uint8 _stackAmount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rog_deadly_poison_SpellScript();
}
@@ -364,14 +364,14 @@ class spell_rog_killing_spree : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_rog_killing_spree_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_rog_killing_spree_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rog_killing_spree_SpellScript();
}
@@ -380,7 +380,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_killing_spree_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_KILLING_SPREE_TELEPORT)
|| !sSpellMgr->GetSpellInfo(SPELL_ROGUE_KILLING_SPREE_WEAPON_DMG)
@@ -415,7 +415,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
GetTarget()->RemoveAurasDueToSpell(SPELL_ROGUE_KILLING_SPREE_DMG_BUFF);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectApplyFn(spell_rog_killing_spree_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_killing_spree_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
@@ -432,7 +432,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
std::list<uint64> _targets;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_killing_spree_AuraScript();
}
@@ -487,7 +487,7 @@ class spell_rog_nerves_of_steel : public SpellScriptLoader
uint32 absorbPct;
- bool Load() OVERRIDE
+ bool Load() override
{
absorbPct = GetSpellInfo()->Effects[EFFECT_0].CalcValue(GetCaster());
return true;
@@ -506,14 +506,14 @@ class spell_rog_nerves_of_steel : public SpellScriptLoader
absorbAmount = CalculatePct(dmgInfo.GetDamage(), absorbPct);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_nerves_of_steel_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
OnEffectAbsorb += AuraEffectAbsorbFn(spell_rog_nerves_of_steel_AuraScript::Absorb, EFFECT_0);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_nerves_of_steel_AuraScript();
}
@@ -566,12 +566,12 @@ class spell_rog_preparation : public SpellScriptLoader
{
PrepareSpellScript(spell_rog_preparation_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_GLYPH_OF_PREPARATION))
return false;
@@ -586,8 +586,8 @@ class spell_rog_preparation : public SpellScriptLoader
SpellCooldowns const& cm = caster->GetSpellCooldownMap();
for (SpellCooldowns::const_iterator itr = cm.begin(); itr != cm.end();)
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itr->first);
- if (!spellInfo || spellInfo->SpellFamilyName != SPELLFAMILY_ROGUE)
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(itr->first);
+ if (spellInfo->SpellFamilyName != SPELLFAMILY_ROGUE)
{
++itr;
continue;
@@ -607,13 +607,13 @@ class spell_rog_preparation : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rog_preparation_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rog_preparation_SpellScript();
}
@@ -629,7 +629,7 @@ class spell_rog_prey_on_the_weak : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_prey_on_the_weak_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_PREY_ON_THE_WEAK))
return false;
@@ -652,13 +652,13 @@ class spell_rog_prey_on_the_weak : public SpellScriptLoader
target->RemoveAurasDueToSpell(SPELL_ROGUE_PREY_ON_THE_WEAK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_prey_on_the_weak_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_prey_on_the_weak_AuraScript();
}
@@ -674,7 +674,7 @@ class spell_rog_recuperate : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_recuperate_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -700,14 +700,14 @@ class spell_rog_recuperate : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_rog_recuperate_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_recuperate_AuraScript::CalculateBonus, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_recuperate_AuraScript();
}
@@ -723,7 +723,7 @@ class spell_rog_rupture : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_rupture_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
Unit* caster = GetCaster();
return caster && caster->GetTypeId() == TYPEID_PLAYER;
@@ -753,13 +753,13 @@ class spell_rog_rupture : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_rog_rupture_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_rupture_AuraScript();
}
@@ -775,12 +775,12 @@ class spell_rog_shiv : public SpellScriptLoader
{
PrepareSpellScript(spell_rog_shiv_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_SHIV_TRIGGERED))
return false;
@@ -794,13 +794,13 @@ class spell_rog_shiv : public SpellScriptLoader
caster->CastSpell(unitTarget, SPELL_ROGUE_SHIV_TRIGGERED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_rog_shiv_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_rog_shiv_SpellScript();
}
@@ -880,7 +880,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
{
PrepareAuraScript(spell_rog_tricks_of_the_trade_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_ROGUE_TRICKS_OF_THE_TRADE_DMG_BOOST))
return false;
@@ -889,7 +889,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_redirectTarget = NULL;
return true;
@@ -917,7 +917,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
Remove(AURA_REMOVE_BY_DEFAULT); // maybe handle by proc charges
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
DoCheckProc += AuraCheckProcFn(spell_rog_tricks_of_the_trade_AuraScript::CheckProc);
@@ -928,7 +928,7 @@ class spell_rog_tricks_of_the_trade : public SpellScriptLoader
Unit* _redirectTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_tricks_of_the_trade_AuraScript();
}
@@ -949,13 +949,13 @@ class spell_rog_tricks_of_the_trade_proc : public SpellScriptLoader
GetTarget()->ResetRedirectThreat();
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_rog_tricks_of_the_trade_proc_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_rog_tricks_of_the_trade_proc_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp
index 3dbda3489f9..013887234bf 100644
--- a/src/server/scripts/Spells/spell_shaman.cpp
+++ b/src/server/scripts/Spells/spell_shaman.cpp
@@ -85,7 +85,7 @@ class spell_sha_ancestral_awakening : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_ancestral_awakening_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TIDAL_WAVES))
return false;
@@ -100,13 +100,13 @@ class spell_sha_ancestral_awakening : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_SHAMAN_ANCESTRAL_AWAKENING, SPELLVALUE_BASE_POINT0, heal, (Unit*)NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_ancestral_awakening_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_ancestral_awakening_AuraScript();
}
@@ -123,7 +123,7 @@ class spell_sha_ancestral_awakening_proc : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_ancestral_awakening_proc_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC))
return false;
@@ -141,20 +141,20 @@ class spell_sha_ancestral_awakening_proc : public SpellScriptLoader
targets.clear();
targets.push_back(target);
}
-
+
void HandleDummy(SpellEffIndex /*effIndex*/)
{
GetCaster()->CastCustomSpell(SPELL_SHAMAN_ANCESTRAL_AWAKENING_PROC, SPELLVALUE_BASE_POINT0, GetEffectValue(), GetHitUnit(), true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_ancestral_awakening_proc_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_RAID);
OnEffectHitTarget += SpellEffectFn(spell_sha_ancestral_awakening_proc_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_ancestral_awakening_proc_SpellScript();
}
@@ -171,7 +171,7 @@ class spell_sha_bloodlust : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_bloodlust_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_SATED)
|| !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY)
@@ -193,7 +193,7 @@ class spell_sha_bloodlust : public SpellScriptLoader
target->CastSpell(target, SPELL_SHAMAN_SATED, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_bloodlust_SpellScript::RemoveInvalidTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_RAID);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_bloodlust_SpellScript::RemoveInvalidTargets, EFFECT_1, TARGET_UNIT_CASTER_AREA_RAID);
@@ -202,7 +202,7 @@ class spell_sha_bloodlust : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_bloodlust_SpellScript();
}
@@ -219,7 +219,7 @@ class spell_sha_chain_heal : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_chain_heal_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
firstHeal = true;
riptide = false;
@@ -249,7 +249,7 @@ class spell_sha_chain_heal : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_chain_heal_SpellScript::HandleHeal, EFFECT_0, SPELL_EFFECT_HEAL);
}
@@ -259,7 +259,7 @@ class spell_sha_chain_heal : public SpellScriptLoader
uint32 amount;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_chain_heal_SpellScript();
}
@@ -275,7 +275,7 @@ class spell_sha_earth_shield : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_earth_shield_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EARTH_SHIELD_HEAL) ||
!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_GLYPH_OF_EARTH_SHIELD))
@@ -318,7 +318,7 @@ class spell_sha_earth_shield : public SpellScriptLoader
player->AddSpellCooldown(SPELL_SHAMAN_EARTH_SHIELD_HEAL, 0, time(NULL) + 3);
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_sha_earth_shield_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_DUMMY);
DoCheckProc += AuraCheckProcFn(spell_sha_earth_shield_AuraScript::CheckProc);
@@ -326,7 +326,7 @@ class spell_sha_earth_shield : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_earth_shield_AuraScript();
}
@@ -343,7 +343,7 @@ class spell_sha_earthbind_totem : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_earthbind_totem_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_EARTHBIND_TOTEM) ||
!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_EARTHEN_POWER))
@@ -376,14 +376,14 @@ class spell_sha_earthbind_totem : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sha_earthbind_totem_AuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
OnEffectApply += AuraEffectApplyFn(spell_sha_earthbind_totem_AuraScript::Apply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_earthbind_totem_AuraScript();
}
@@ -421,13 +421,13 @@ class spell_sha_earthen_power : public SpellScriptLoader
unitList.remove_if(EarthenPowerTargetSelector());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_earthen_power_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_earthen_power_SpellScript();
}
@@ -443,7 +443,7 @@ class spell_sha_feedback : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_feedback_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ELEMENTAL_MASTERY))
return false;
@@ -457,13 +457,13 @@ class spell_sha_feedback : public SpellScriptLoader
target->ModifySpellCooldown(SPELL_SHAMAN_ELEMENTAL_MASTERY, aurEff->GetBaseAmount());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_feedback_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_feedback_AuraScript();
}
@@ -493,13 +493,13 @@ class spell_sha_fire_nova : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_fire_nova_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_fire_nova_SpellScript();
}
@@ -516,7 +516,7 @@ class spell_sha_flame_shock : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_flame_shock_AuraScript);
- bool Validate(SpellInfo const* /*spell*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spell*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_FLOWS_R1) ||
!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_FLOWS_TRIGGERED_R1))
@@ -541,13 +541,13 @@ class spell_sha_flame_shock : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterDispel += AuraDispelFn(spell_sha_flame_shock_AuraScript::HandleDispel);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_flame_shock_AuraScript();
}
@@ -563,7 +563,7 @@ class spell_sha_focused_insight : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_focused_insight_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_FOCUSED_INSIGHT))
return false;
@@ -579,13 +579,13 @@ class spell_sha_focused_insight : public SpellScriptLoader
GetTarget()->CastCustomSpell(GetTarget(), SPELL_SHAMAN_FOCUSED_INSIGHT, &basePoints0, &basePoints1, &basePoints1, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_focused_insight_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_focused_insight_AuraScript();
}
@@ -601,7 +601,7 @@ class spell_sha_glyph_of_healing_wave : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_glyph_of_healing_wave_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_GLYPH_OF_HEALING_WAVE))
return false;
@@ -622,14 +622,14 @@ class spell_sha_glyph_of_healing_wave : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_SHAMAN_GLYPH_OF_HEALING_WAVE, SPELLVALUE_BASE_POINT0, heal, (Unit*)NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_sha_glyph_of_healing_wave_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_sha_glyph_of_healing_wave_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_glyph_of_healing_wave_AuraScript();
}
@@ -646,7 +646,7 @@ class spell_sha_healing_stream_totem : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_healing_stream_totem_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
return sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TOTEM_HEALING_STREAM_HEAL);
}
@@ -673,13 +673,13 @@ class spell_sha_healing_stream_totem : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_healing_stream_totem_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_healing_stream_totem_SpellScript();
}
@@ -696,7 +696,7 @@ class spell_sha_heroism : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_heroism_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_EXHAUSTION)
|| !sSpellMgr->GetSpellInfo(SPELL_HUNTER_INSANITY)
@@ -718,7 +718,7 @@ class spell_sha_heroism : public SpellScriptLoader
target->CastSpell(target, SPELL_SHAMAN_EXHAUSTION, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_heroism_SpellScript::RemoveInvalidTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_RAID);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_heroism_SpellScript::RemoveInvalidTargets, EFFECT_1, TARGET_UNIT_CASTER_AREA_RAID);
@@ -727,7 +727,7 @@ class spell_sha_heroism : public SpellScriptLoader
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_heroism_SpellScript();
}
@@ -743,7 +743,7 @@ class spell_sha_item_lightning_shield : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_item_lightning_shield_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD))
return false;
@@ -756,13 +756,13 @@ class spell_sha_item_lightning_shield : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_item_lightning_shield_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_item_lightning_shield_AuraScript();
}
@@ -778,7 +778,7 @@ class spell_sha_item_lightning_shield_trigger : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_item_lightning_shield_trigger_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_MANA_SURGE))
return false;
@@ -791,13 +791,13 @@ class spell_sha_item_lightning_shield_trigger : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD_DAMAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_item_lightning_shield_trigger_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_item_lightning_shield_trigger_AuraScript();
}
@@ -813,7 +813,7 @@ class spell_sha_item_mana_surge : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_item_mana_surge_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_ITEM_LIGHTNING_SHIELD_DAMAGE))
return false;
@@ -829,13 +829,13 @@ class spell_sha_item_mana_surge : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_SHAMAN_ITEM_MANA_SURGE, SPELLVALUE_BASE_POINT0, mana, GetTarget(), true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_item_mana_surge_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_item_mana_surge_AuraScript();
}
@@ -852,7 +852,7 @@ class spell_sha_lava_lash : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_lava_lash_SpellScript)
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -873,14 +873,14 @@ class spell_sha_lava_lash : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_lava_lash_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_lava_lash_SpellScript();
}
@@ -895,7 +895,7 @@ class spell_sha_lava_surge : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_lava_surge_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_SURGE))
return false;
@@ -908,13 +908,13 @@ class spell_sha_lava_surge : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_LAVA_SURGE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_lava_surge_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_lava_surge_AuraScript();
}
@@ -929,14 +929,14 @@ class spell_sha_lava_surge_proc : public SpellScriptLoader
{
PrepareSpellScript(spell_sha_lava_surge_proc_SpellScript)
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LAVA_BURST))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -946,14 +946,14 @@ class spell_sha_lava_surge_proc : public SpellScriptLoader
GetCaster()->ToPlayer()->RemoveSpellCooldown(SPELL_SHAMAN_LAVA_BURST, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_lava_surge_proc_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_lava_surge_proc_SpellScript();
}
@@ -978,13 +978,13 @@ class spell_sha_mana_tide_totem : public SpellScriptLoader
amount = CalculatePct(owner->GetStat(STAT_SPIRIT), aurEff->GetAmount());
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_sha_mana_tide_totem_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_MOD_STAT);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_mana_tide_totem_AuraScript();
}
@@ -1000,7 +1000,7 @@ class spell_sha_nature_guardian : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_nature_guardian_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_NATURE_GUARDIAN))
return false;
@@ -1031,14 +1031,14 @@ class spell_sha_nature_guardian : public SpellScriptLoader
player->AddSpellCooldown(GetSpellInfo()->Id, 0, time(NULL) + aurEff->GetSpellInfo()->Effects[EFFECT_1].CalcValue());
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_sha_nature_guardian_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_sha_nature_guardian_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_nature_guardian_AuraScript();
}
@@ -1054,7 +1054,7 @@ class spell_sha_rolling_thunder : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_rolling_thunder_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_LIGHTNING_SHIELD))
return false;
@@ -1070,13 +1070,13 @@ class spell_sha_rolling_thunder : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_rolling_thunder_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_rolling_thunder_AuraScript();
}
@@ -1092,7 +1092,7 @@ class spell_sha_telluric_currents : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_telluric_currents_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TELLURIC_CURRENTS))
return false;
@@ -1107,13 +1107,13 @@ class spell_sha_telluric_currents : public SpellScriptLoader
GetTarget()->CastCustomSpell(GetTarget(), SPELL_SHAMAN_TELLURIC_CURRENTS, &basePoints0, NULL, NULL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_telluric_currents_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_telluric_currents_AuraScript();
}
@@ -1136,13 +1136,13 @@ class spell_sha_thunderstorm : public SpellScriptLoader
PreventHitDefaultEffect(effIndex);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_sha_thunderstorm_SpellScript::HandleKnockBack, EFFECT_2, SPELL_EFFECT_KNOCK_BACK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_sha_thunderstorm_SpellScript();
}
@@ -1158,7 +1158,7 @@ class spell_sha_tidal_waves : public SpellScriptLoader
{
PrepareAuraScript(spell_sha_tidal_waves_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_SHAMAN_TIDAL_WAVES))
return false;
@@ -1174,13 +1174,13 @@ class spell_sha_tidal_waves : public SpellScriptLoader
GetTarget()->CastCustomSpell(GetTarget(), SPELL_SHAMAN_TIDAL_WAVES, &basePoints0, &basePoints1, NULL, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_sha_tidal_waves_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_sha_tidal_waves_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp
index 9a374764949..2b0a5506a83 100644
--- a/src/server/scripts/Spells/spell_warlock.cpp
+++ b/src/server/scripts/Spells/spell_warlock.cpp
@@ -99,7 +99,7 @@ class spell_warl_aftermath : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_aftermath_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_AFTERMATH_STUN))
return false;
@@ -117,13 +117,13 @@ class spell_warl_aftermath : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warl_aftermath_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_aftermath_AuraScript();
}
@@ -139,7 +139,7 @@ class spell_warl_banish : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_banish_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_removed = false;
return true;
@@ -168,7 +168,7 @@ class spell_warl_banish : public SpellScriptLoader
PreventHitAura();
}
- void Register() OVERRIDE
+ void Register() override
{
BeforeHit += SpellHitFn(spell_warl_banish_SpellScript::HandleBanish);
AfterHit += SpellHitFn(spell_warl_banish_SpellScript::RemoveAura);
@@ -177,7 +177,7 @@ class spell_warl_banish : public SpellScriptLoader
bool _removed;
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_banish_SpellScript();
}
@@ -193,7 +193,7 @@ class spell_warl_conflagrate : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_conflagrate_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMMOLATE))
return false;
@@ -206,13 +206,13 @@ class spell_warl_conflagrate : public SpellScriptLoader
SetHitDamage(CalculatePct(aurEff->GetAmount(), GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster())));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_conflagrate_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_conflagrate_SpellScript();
}
@@ -228,14 +228,14 @@ class spell_warl_create_healthstone : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_create_healthstone_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_CREATE_HEALTHSTONE))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -245,13 +245,13 @@ class spell_warl_create_healthstone : public SpellScriptLoader
GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_CREATE_HEALTHSTONE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_create_healthstone_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_create_healthstone_SpellScript();
}
@@ -268,14 +268,14 @@ class spell_warl_bane_of_doom : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_curse_of_doom_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_BANE_OF_DOOM_EFFECT))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -293,13 +293,13 @@ class spell_warl_bane_of_doom : public SpellScriptLoader
GetCaster()->CastSpell(GetTarget(), SPELL_WARLOCK_BANE_OF_DOOM_EFFECT, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectRemove += AuraEffectRemoveFn(spell_warl_curse_of_doom_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_curse_of_doom_AuraScript();
}
@@ -333,7 +333,7 @@ class spell_warl_demonic_circle_summon : public SpellScriptLoader
// WARLOCK_DEMONIC_CIRCLE_ALLOW_CAST; allowing him to cast the WARLOCK_DEMONIC_CIRCLE_TELEPORT.
// If not in range remove the WARLOCK_DEMONIC_CIRCLE_ALLOW_CAST.
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_CIRCLE_TELEPORT);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(SPELL_WARLOCK_DEMONIC_CIRCLE_TELEPORT);
if (GetTarget()->IsWithinDist(circle, spellInfo->GetMaxRange(true)))
{
@@ -345,14 +345,14 @@ class spell_warl_demonic_circle_summon : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectApplyFn(spell_warl_demonic_circle_summon_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_warl_demonic_circle_summon_AuraScript::HandleDummyTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_demonic_circle_summon_AuraScript();
}
@@ -381,13 +381,13 @@ class spell_warl_demonic_circle_teleport : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_warl_demonic_circle_teleport_AuraScript::HandleTeleport, EFFECT_0, SPELL_AURA_MECHANIC_IMMUNITY, AURA_EFFECT_HANDLE_REAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_demonic_circle_teleport_AuraScript();
}
@@ -403,7 +403,7 @@ class spell_warl_demon_soul : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_demon_soul_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMON_SOUL_IMP))
return false;
@@ -448,13 +448,13 @@ class spell_warl_demon_soul : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_demon_soul_SpellScript::OnHitTarget, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_demon_soul_SpellScript;
}
@@ -471,7 +471,7 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_demonic_empowerment_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP))
return false;
@@ -485,6 +485,7 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
if (targetCreature->IsPet())
{
CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(targetCreature->GetEntry());
+ ASSERT(ci);
switch (ci->family)
{
case CREATURE_FAMILY_SUCCUBUS:
@@ -492,7 +493,7 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
break;
case CREATURE_FAMILY_VOIDWALKER:
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER);
int32 hp = int32(targetCreature->CountPctFromMaxHealth(GetCaster()->CalculateSpellDamage(targetCreature, spellInfo, 0)));
targetCreature->CastCustomSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, &hp, NULL, NULL, true);
break;
@@ -511,13 +512,13 @@ class spell_warl_demonic_empowerment : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_demonic_empowerment_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_demonic_empowerment_SpellScript();
}
@@ -542,13 +543,13 @@ class spell_warl_everlasting_affliction : public SpellScriptLoader
aurEff->GetBase()->RefreshDuration();
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_everlasting_affliction_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_everlasting_affliction_SpellScript();
}
@@ -579,13 +580,13 @@ class spell_warl_fel_flame : public SpellScriptLoader
aura->SetDuration(std::min(newDuration, aura->GetMaxDuration()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_fel_flame_SpellScript::OnHitTarget, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_fel_flame_SpellScript;
}
@@ -601,7 +602,7 @@ class spell_warl_fel_synergy : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_fel_synergy_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_FEL_SYNERGY_HEAL))
return false;
@@ -621,14 +622,14 @@ class spell_warl_fel_synergy : public SpellScriptLoader
GetTarget()->CastCustomSpell(SPELL_WARLOCK_FEL_SYNERGY_HEAL, SPELLVALUE_BASE_POINT0, heal, (Unit*)NULL, true, NULL, aurEff); // TARGET_UNIT_PET
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_warl_fel_synergy_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_warl_fel_synergy_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_fel_synergy_AuraScript();
}
@@ -644,7 +645,7 @@ class spell_warl_glyph_of_shadowflame : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_glyph_of_shadowflame_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME))
return false;
@@ -657,13 +658,13 @@ class spell_warl_glyph_of_shadowflame : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warl_glyph_of_shadowflame_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_glyph_of_shadowflame_AuraScript();
}
@@ -687,7 +688,7 @@ class spell_warl_haunt : public SpellScriptLoader
aurEff->SetAmount(CalculatePct(aurEff->GetAmount(), GetHitDamage()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_warl_haunt_SpellScript::HandleOnHit);
}
@@ -697,7 +698,7 @@ class spell_warl_haunt : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_haunt_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_HAUNT_HEAL))
return false;
@@ -713,18 +714,18 @@ class spell_warl_haunt : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectRemove += AuraEffectApplyFn(spell_warl_haunt_AuraScript::HandleRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_haunt_SpellScript();
}
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_haunt_AuraScript();
}
@@ -778,7 +779,7 @@ class spell_warl_health_funnel : public SpellScriptLoader
caster->DealSpellDamage(&damageInfo, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectApply += AuraEffectApplyFn(spell_warl_health_funnel_AuraScript::ApplyEffect, EFFECT_0, SPELL_AURA_OBS_MOD_HEALTH, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_warl_health_funnel_AuraScript::RemoveEffect, EFFECT_0, SPELL_AURA_OBS_MOD_HEALTH, AURA_EFFECT_HANDLE_REAL);
@@ -786,7 +787,7 @@ class spell_warl_health_funnel : public SpellScriptLoader
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_health_funnel_AuraScript();
}
@@ -808,13 +809,13 @@ class spell_warl_healthstone_heal : public SpellScriptLoader
SetHitHeal(heal);
}
- void Register() OVERRIDE
+ void Register() override
{
OnHit += SpellHitFn(spell_warl_healthstone_heal_SpellScript::HandleOnHit);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_healthstone_heal_SpellScript();
}
@@ -830,7 +831,7 @@ class spell_warl_improved_soul_fire : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_improved_soul_fire_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_SOUL_FIRE_PCT) ||
!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_IMPROVED_SOUL_FIRE_STATE))
@@ -845,13 +846,13 @@ class spell_warl_improved_soul_fire : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_WARLOCK_IMPROVED_SOUL_FIRE_STATE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warl_improved_soul_fire_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_improved_soul_fire_AuraScript();
}
@@ -868,12 +869,12 @@ class spell_warl_life_tap : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_life_tap_SpellScript);
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_LIFE_TAP_ENERGIZE) ||
!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2))
@@ -915,14 +916,14 @@ class spell_warl_life_tap : public SpellScriptLoader
return SPELL_FAILED_FIZZLE;
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_life_tap_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
OnCheckCast += SpellCheckCastFn(spell_warl_life_tap_SpellScript::CheckCast);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_life_tap_SpellScript();
}
@@ -939,7 +940,7 @@ class spell_warl_nether_ward_overrride : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_nether_ward_overrride_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_TALENT) ||
!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_NETHER_WARD) ||
@@ -956,13 +957,13 @@ class spell_warl_nether_ward_overrride : public SpellScriptLoader
amount = SPELL_WARLOCK_SHADOW_WARD;
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_nether_ward_overrride_AuraScript::CalculateAmount, EFFECT_2, SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_nether_ward_overrride_AuraScript();
}
@@ -978,7 +979,7 @@ class spell_warl_seduction : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_seduction_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SUCCUBUS) ||
!sSpellMgr->GetSpellInfo(SPELL_PRIEST_SHADOW_WORD_DEATH))
@@ -1000,13 +1001,13 @@ class spell_warl_seduction : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_seduction_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_seduction_SpellScript();
}
@@ -1029,13 +1030,13 @@ class spell_warl_seed_of_corruption : public SpellScriptLoader
targets.remove(GetExplTargetUnit());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_warl_seed_of_corruption_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_seed_of_corruption_SpellScript();
}
@@ -1052,7 +1053,7 @@ class spell_warl_shadow_trance_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_shadow_trance_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SHADOW_TRANCE))
return false;
@@ -1065,13 +1066,13 @@ class spell_warl_shadow_trance_proc : public SpellScriptLoader
GetTarget()->CastSpell(GetTarget(), SPELL_WARLOCK_SHADOW_TRANCE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warl_shadow_trance_proc_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_shadow_trance_proc_AuraScript();
}
@@ -1102,13 +1103,13 @@ class spell_warl_shadow_ward : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_shadow_ward_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_shadow_ward_AuraScript();
}
@@ -1124,7 +1125,7 @@ class spell_warl_soul_leech : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_soul_leech_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_GEN_REPLENISHMENT))
return false;
@@ -1136,13 +1137,13 @@ class spell_warl_soul_leech : public SpellScriptLoader
GetTarget()->CastSpell((Unit*)NULL, SPELL_GEN_REPLENISHMENT, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warl_soul_leech_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_soul_leech_AuraScript();
}
@@ -1158,7 +1159,7 @@ class spell_warl_soul_swap : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_soul_swap_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP) ||
!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_CD_MARKER) ||
@@ -1173,13 +1174,13 @@ class spell_warl_soul_swap : public SpellScriptLoader
GetHitUnit()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_DOT_MARKER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_soul_swap_SpellScript();
}
@@ -1195,14 +1196,14 @@ class spell_warl_soul_swap_override : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_soul_swap_override_AuraScript);
- bool Load() OVERRIDE
+ bool Load() override
{
_swapCaster = NULL;
return true;
}
//! Forced to, pure virtual functions must have a body when linking
- void Register() OVERRIDE { }
+ void Register() override { }
public:
void AddDot(uint32 id) { _dotList.push_back(id); }
@@ -1215,7 +1216,7 @@ class spell_warl_soul_swap_override : public SpellScriptLoader
Unit* _swapCaster;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_soul_swap_override_AuraScript();
}
@@ -1261,13 +1262,13 @@ class spell_warl_soul_swap_dot_marker : public SpellScriptLoader
swapSpellScript->SetOriginalSwapSource(swapVictim);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_dot_marker_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_soul_swap_dot_marker_SpellScript();
}
@@ -1283,7 +1284,7 @@ public:
{
PrepareSpellScript(spell_warl_soul_swap_exhale_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_MOD_COST) ||
!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
@@ -1339,14 +1340,14 @@ public:
GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_CD_MARKER, false);
}
- void Register() OVERRIDE
+ void Register() override
{
OnCheckCast += SpellCheckCastFn(spell_warl_soul_swap_exhale_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_exhale_SpellScript::OnEffectHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_soul_swap_exhale_SpellScript();
}
@@ -1363,7 +1364,7 @@ class spell_warl_soulshatter : public SpellScriptLoader
{
PrepareSpellScript(spell_warl_soulshatter_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOULSHATTER))
return false;
@@ -1378,13 +1379,13 @@ class spell_warl_soulshatter : public SpellScriptLoader
caster->CastSpell(target, SPELL_WARLOCK_SOULSHATTER, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warl_soulshatter_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warl_soulshatter_SpellScript();
}
@@ -1401,7 +1402,7 @@ class spell_warl_unstable_affliction : public SpellScriptLoader
{
PrepareAuraScript(spell_warl_unstable_affliction_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL))
return false;
@@ -1419,13 +1420,13 @@ class spell_warl_unstable_affliction : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
AfterDispel += AuraDispelFn(spell_warl_unstable_affliction_AuraScript::HandleDispel);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warl_unstable_affliction_AuraScript();
}
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 3a8af5f0e17..529d62b5297 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -28,6 +28,7 @@
enum WarriorSpells
{
+ SPELL_WARRIOR_BLADESTORM_PERIODIC_WHIRLWIND = 50622,
SPELL_WARRIOR_BLOODTHIRST = 23885,
SPELL_WARRIOR_BLOODTHIRST_DAMAGE = 23881,
SPELL_WARRIOR_CHARGE = 34846,
@@ -52,7 +53,8 @@ enum WarriorSpells
SPELL_WARRIOR_SHIELD_SLAM = 23922,
SPELL_WARRIOR_SLAM = 50782,
SPELL_WARRIOR_SUNDER_ARMOR = 58567,
- SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK = 26654,
+ SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1 = 12723,
+ SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 = 26654,
SPELL_WARRIOR_TAUNT = 355,
SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_1 = 46859,
SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_2 = 46860,
@@ -104,14 +106,14 @@ class spell_warr_bloodthirst : public SpellScriptLoader
GetCaster()->CastCustomSpell(GetCaster(), SPELL_WARRIOR_BLOODTHIRST, &damage, NULL, NULL, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_bloodthirst_SpellScript::HandleDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
OnEffectHit += SpellEffectFn(spell_warr_bloodthirst_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_bloodthirst_SpellScript();
}
@@ -133,13 +135,13 @@ class spell_warr_bloodthirst_heal : public SpellScriptLoader
SetHitHeal(GetCaster()->CountPctFromMaxHealth(spellInfo->Effects[EFFECT_1].CalcValue(GetCaster())) / 100);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_bloodthirst_heal_SpellScript::HandleHeal, EFFECT_0, SPELL_EFFECT_HEAL);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_bloodthirst_heal_SpellScript();
}
@@ -155,7 +157,7 @@ class spell_warr_charge : public SpellScriptLoader
{
PrepareSpellScript(spell_warr_charge_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_TALENT) ||
!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF) ||
@@ -175,13 +177,13 @@ class spell_warr_charge : public SpellScriptLoader
caster->CastSpell(caster, SPELL_WARRIOR_JUGGERNAUT_CRIT_BONUS_BUFF, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_charge_SpellScript::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_charge_SpellScript();
}
@@ -202,13 +204,13 @@ class spell_warr_concussion_blow : public SpellScriptLoader
SetHitDamage(CalculatePct(GetCaster()->GetTotalAttackPowerValue(BASE_ATTACK), GetEffectValue()));
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_concussion_blow_SpellScript::HandleDummy, EFFECT_2, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_concussion_blow_SpellScript();
}
@@ -224,7 +226,7 @@ class spell_warr_deep_wounds : public SpellScriptLoader
{
PrepareSpellScript(spell_warr_deep_wounds_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_1) ||
!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_2) ||
@@ -247,7 +249,7 @@ class spell_warr_deep_wounds : public SpellScriptLoader
damage = target->SpellDamageBonusTaken(caster, GetSpellInfo(), damage, SPELL_DIRECT_DAMAGE);
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_PERIODIC);
+ SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_PERIODIC);
uint32 ticks = spellInfo->GetDuration() / spellInfo->Effects[EFFECT_0].Amplitude;
// Add remaining ticks to damage done
@@ -260,13 +262,13 @@ class spell_warr_deep_wounds : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_deep_wounds_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_deep_wounds_SpellScript();
}
@@ -308,13 +310,13 @@ class spell_warr_execute : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_execute_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_execute_SpellScript();
}
@@ -344,13 +346,13 @@ class spell_warr_glyph_of_sunder_armor : public SpellScriptLoader
spellMod->value = aurEff->GetAmount();
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcSpellMod += AuraEffectCalcSpellModFn(spell_warr_glyph_of_sunder_armor_AuraScript::HandleEffectCalcSpellMod, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_glyph_of_sunder_armor_AuraScript();
}
@@ -372,13 +374,13 @@ class spell_warr_improved_spell_reflection : public SpellScriptLoader
unitList.remove(GetCaster());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_warr_improved_spell_reflection_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_CASTER_AREA_PARTY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_improved_spell_reflection_SpellScript();
}
@@ -399,14 +401,14 @@ class spell_warr_intimidating_shout : public SpellScriptLoader
unitList.remove(GetExplTargetWorldObject());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_warr_intimidating_shout_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_warr_intimidating_shout_SpellScript::FilterTargets, EFFECT_2, TARGET_UNIT_SRC_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_intimidating_shout_SpellScript();
}
@@ -422,7 +424,7 @@ class spell_warr_lambs_to_the_slaughter : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_lambs_to_the_slaughter_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_MORTAL_STRIKE) ||
!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_REND))
@@ -437,13 +439,13 @@ class spell_warr_lambs_to_the_slaughter : public SpellScriptLoader
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warr_lambs_to_the_slaughter_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_lambs_to_the_slaughter_AuraScript();
}
@@ -460,7 +462,7 @@ class spell_warr_last_stand : public SpellScriptLoader
{
PrepareSpellScript(spell_warr_last_stand_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_LAST_STAND_TRIGGERED))
return false;
@@ -474,14 +476,14 @@ class spell_warr_last_stand : public SpellScriptLoader
caster->CastCustomSpell(caster, SPELL_WARRIOR_LAST_STAND_TRIGGERED, &healthModSpellBasePoints0, NULL, NULL, true, NULL);
}
- void Register() OVERRIDE
+ void Register() override
{
// add dummy effect spell handler to Last Stand
OnEffectHit += SpellEffectFn(spell_warr_last_stand_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_last_stand_SpellScript();
}
@@ -513,13 +515,13 @@ class spell_warr_overpower : public SpellScriptLoader
target->CastSpell(target, spellId, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_overpower_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_ANY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_overpower_SpellScript();
}
@@ -535,14 +537,14 @@ class spell_warr_rallying_cry : public SpellScriptLoader
{
PrepareSpellScript(spell_warr_rallying_cry_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_RALLYING_CRY))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_PLAYER;
}
@@ -554,13 +556,13 @@ class spell_warr_rallying_cry : public SpellScriptLoader
GetCaster()->CastCustomSpell(GetHitUnit(), SPELL_WARRIOR_RALLYING_CRY, &basePoints0, NULL, NULL, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_rallying_cry_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_rallying_cry_SpellScript();
}
@@ -592,13 +594,13 @@ class spell_warr_rend : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warr_rend_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_rend_AuraScript();
}
@@ -614,7 +616,7 @@ class spell_warr_retaliation : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_retaliation_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_RETALIATION_DAMAGE))
return false;
@@ -633,14 +635,14 @@ class spell_warr_retaliation : public SpellScriptLoader
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARRIOR_RETALIATION_DAMAGE, true, NULL, aurEff);
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_warr_retaliation_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_warr_retaliation_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_retaliation_AuraScript();
}
@@ -665,13 +667,13 @@ class spell_warr_shattering_throw : public SpellScriptLoader
target->RemoveAurasWithMechanic(1 << MECHANIC_IMMUNE_SHIELD, AURA_REMOVE_BY_ENEMY_SPELL);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_shattering_throw_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_shattering_throw_SpellScript();
}
@@ -687,7 +689,7 @@ class spell_warr_slam : public SpellScriptLoader
{
PrepareSpellScript(spell_warr_slam_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SLAM))
return false;
@@ -700,13 +702,13 @@ class spell_warr_slam : public SpellScriptLoader
GetCaster()->CastCustomSpell(SPELL_WARRIOR_SLAM, SPELLVALUE_BASE_POINT0, GetEffectValue(), GetHitUnit(), TRIGGERED_FULL_MASK);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_slam_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_slam_SpellScript();
}
@@ -721,7 +723,7 @@ class spell_warr_second_wind_proc : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_second_wind_proc_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SECOUND_WIND_PROC_RANK_1) ||
!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SECOUND_WIND_PROC_RANK_2) ||
@@ -756,7 +758,7 @@ class spell_warr_second_wind_proc : public SpellScriptLoader
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_warr_second_wind_proc_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_warr_second_wind_proc_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
@@ -764,7 +766,7 @@ class spell_warr_second_wind_proc : public SpellScriptLoader
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_second_wind_proc_AuraScript();
}
@@ -784,13 +786,13 @@ class spell_warr_second_wind_trigger : public SpellScriptLoader
amount = int32(GetUnitOwner()->CountPctFromMaxHealth(amount));
}
- void Register() OVERRIDE
+ void Register() override
{
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warr_second_wind_trigger_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_PERIODIC_HEAL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_second_wind_trigger_AuraScript();
}
@@ -806,7 +808,7 @@ class spell_warr_sudden_death : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_sudden_death_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_COLOSSUS_SMASH))
return false;
@@ -820,13 +822,13 @@ class spell_warr_sudden_death : public SpellScriptLoader
player->RemoveSpellCooldown(SPELL_WARRIOR_COLOSSUS_SMASH, true);
}
- void Register() OVERRIDE
+ void Register() override
{
AfterEffectApply += AuraEffectRemoveFn(spell_warr_sudden_death_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); // correct?
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_sudden_death_AuraScript();
}
@@ -842,14 +844,14 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_sweeping_strikes_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
- if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK))
+ if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -861,13 +863,26 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader
return _procTarget;
}
- void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/)
+ void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
PreventDefaultAction();
- GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK, true, NULL, aurEff);
+ if (eventInfo.GetDamageInfo())
+ {
+ SpellInfo const* spellInfo = eventInfo.GetDamageInfo()->GetSpellInfo();
+ if (spellInfo && (spellInfo->Id == SPELL_WARRIOR_BLADESTORM_PERIODIC_WHIRLWIND || (spellInfo->Id == SPELL_WARRIOR_EXECUTE && !_procTarget->HasAuraState(AURA_STATE_HEALTHLESS_20_PERCENT))))
+ {
+ // If triggered by Execute (while target is not under 20% hp) or Bladestorm deals normalized weapon damage
+ GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2, true, NULL, aurEff);
+ }
+ else
+ {
+ int32 damage = eventInfo.GetDamageInfo()->GetDamage();
+ GetTarget()->CastCustomSpell(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1, SPELLVALUE_BASE_POINT0, damage, _procTarget, true, NULL, aurEff);
+ }
+ }
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_warr_sweeping_strikes_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_warr_sweeping_strikes_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
@@ -877,7 +892,7 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_sweeping_strikes_AuraScript();
}
@@ -893,7 +908,7 @@ class spell_warr_sword_and_board : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_sword_and_board_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SHIELD_SLAM))
return false;
@@ -907,13 +922,13 @@ class spell_warr_sword_and_board : public SpellScriptLoader
player->RemoveSpellCooldown(SPELL_WARRIOR_SHIELD_SLAM, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warr_sword_and_board_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_sword_and_board_AuraScript();
}
@@ -936,13 +951,13 @@ class spell_warr_victorious : public SpellScriptLoader
GetTarget()->RemoveAura(GetId());
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectProc += AuraEffectProcFn(spell_warr_victorious_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_victorious_AuraScript();
}
@@ -958,14 +973,14 @@ class spell_warr_vigilance : public SpellScriptLoader
{
PrepareAuraScript(spell_warr_vigilance_AuraScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_VENGEANCE))
return false;
return true;
}
- bool Load() OVERRIDE
+ bool Load() override
{
_procTarget = NULL;
return true;
@@ -995,7 +1010,7 @@ class spell_warr_vigilance : public SpellScriptLoader
}
}
- void Register() OVERRIDE
+ void Register() override
{
DoCheckProc += AuraCheckProcFn(spell_warr_vigilance_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_warr_vigilance_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
@@ -1006,7 +1021,7 @@ class spell_warr_vigilance : public SpellScriptLoader
Unit* _procTarget;
};
- AuraScript* GetAuraScript() const OVERRIDE
+ AuraScript* GetAuraScript() const override
{
return new spell_warr_vigilance_AuraScript();
}
@@ -1031,13 +1046,13 @@ class spell_warr_vigilance_trigger : public SpellScriptLoader
target->RemoveSpellCooldown(SPELL_WARRIOR_TAUNT, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_warr_vigilance_trigger_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_warr_vigilance_trigger_SpellScript();
}
diff --git a/src/server/scripts/World/achievement_scripts.cpp b/src/server/scripts/World/achievement_scripts.cpp
index 8ddfb0e9335..52d99ba0746 100644
--- a/src/server/scripts/World/achievement_scripts.cpp
+++ b/src/server/scripts/World/achievement_scripts.cpp
@@ -27,7 +27,7 @@ class achievement_resilient_victory : public AchievementCriteriaScript
public:
achievement_resilient_victory() : AchievementCriteriaScript("achievement_resilient_victory") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_RESILIENT_VICTORY, source, target);
@@ -41,7 +41,7 @@ class achievement_bg_control_all_nodes : public AchievementCriteriaScript
public:
achievement_bg_control_all_nodes() : AchievementCriteriaScript("achievement_bg_control_all_nodes") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Battleground* bg = source->GetBattleground())
return bg->IsAllNodesControlledByTeam(source->GetTeam());
@@ -55,7 +55,7 @@ class achievement_save_the_day : public AchievementCriteriaScript
public:
achievement_save_the_day() : AchievementCriteriaScript("achievement_save_the_day") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_SAVE_THE_DAY, source, target);
@@ -69,7 +69,7 @@ class achievement_bg_ic_resource_glut : public AchievementCriteriaScript
public:
achievement_bg_ic_resource_glut() : AchievementCriteriaScript("achievement_bg_ic_resource_glut") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (source->HasAura(SPELL_OIL_REFINERY) && source->HasAura(SPELL_QUARRY))
return true;
@@ -83,7 +83,7 @@ class achievement_bg_ic_glaive_grave : public AchievementCriteriaScript
public:
achievement_bg_ic_glaive_grave() : AchievementCriteriaScript("achievement_bg_ic_glaive_grave") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -100,7 +100,7 @@ class achievement_bg_ic_mowed_down : public AchievementCriteriaScript
public:
achievement_bg_ic_mowed_down() : AchievementCriteriaScript("achievement_bg_ic_mowed_down") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -117,7 +117,7 @@ class achievement_bg_sa_artillery : public AchievementCriteriaScript
public:
achievement_bg_sa_artillery() : AchievementCriteriaScript("achievement_bg_sa_artillery") { }
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
if (Creature* vehicle = source->GetVehicleCreatureBase())
{
@@ -137,7 +137,7 @@ class achievement_arena_kills : public AchievementCriteriaScript
{
}
- bool OnCheck(Player* source, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* source, Unit* /*target*/) override
{
// this checks GetBattleground() for NULL already
if (!source->InArena())
@@ -155,7 +155,7 @@ class achievement_sickly_gazelle : public AchievementCriteriaScript
public:
achievement_sickly_gazelle() : AchievementCriteriaScript("achievement_sickly_gazelle") { }
- bool OnCheck(Player* /*source*/, Unit* target) OVERRIDE
+ bool OnCheck(Player* /*source*/, Unit* target) override
{
if (!target)
return false;
@@ -173,7 +173,7 @@ class achievement_everything_counts : public AchievementCriteriaScript
public:
achievement_everything_counts() : AchievementCriteriaScript("achievement_everything_counts") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_EVERYTHING_COUNTS, source, target);
@@ -187,7 +187,7 @@ class achievement_bg_av_perfection : public AchievementCriteriaScript
public:
achievement_bg_av_perfection() : AchievementCriteriaScript("achievement_bg_av_perfection") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_AV_PERFECTION, source, target);
@@ -201,7 +201,7 @@ class achievement_bg_sa_defense_of_ancients : public AchievementCriteriaScript
public:
achievement_bg_sa_defense_of_ancients() : AchievementCriteriaScript("achievement_bg_sa_defense_of_ancients") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_DEFENSE_OF_THE_ANCIENTS, source, target);
@@ -225,7 +225,7 @@ class achievement_tilted : public AchievementCriteriaScript
public:
achievement_tilted() : AchievementCriteriaScript("achievement_tilted") { }
- bool OnCheck(Player* player, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* player, Unit* /*target*/) override
{
if (!player)
return false;
@@ -246,7 +246,7 @@ class achievement_not_even_a_scratch : public AchievementCriteriaScript
public:
achievement_not_even_a_scratch() : AchievementCriteriaScript("achievement_not_even_a_scratch") { }
- bool OnCheck(Player* source, Unit* target) OVERRIDE
+ bool OnCheck(Player* source, Unit* target) override
{
if (Battleground* bg = source->GetBattleground())
return bg->CheckAchievementCriteriaMeet(BG_CRITERIA_CHECK_NOT_EVEN_A_SCRATCH, source, target);
@@ -267,7 +267,7 @@ class achievement_flirt_with_disaster_perf_check : public AchievementCriteriaScr
public:
achievement_flirt_with_disaster_perf_check() : AchievementCriteriaScript("achievement_flirt_with_disaster_perf_check") { }
- bool OnCheck(Player* player, Unit* /*target*/) OVERRIDE
+ bool OnCheck(Player* player, Unit* /*target*/) override
{
if (!player)
return false;
@@ -284,7 +284,7 @@ class achievement_killed_exp_or_honor_target : public AchievementCriteriaScript
public:
achievement_killed_exp_or_honor_target() : AchievementCriteriaScript("achievement_killed_exp_or_honor_target") { }
- bool OnCheck(Player* player, Unit* target) OVERRIDE
+ bool OnCheck(Player* player, Unit* target) override
{
return target && player->isHonorOrXPTarget(target);
}
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index d95c4f878fa..73093037689 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -57,7 +57,7 @@ class AreaTrigger_at_coilfang_waterfall : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (GameObject* go = GetClosestGameObjectWithEntry(player, GO_COILFANG_WATERFALL, 35.0f))
if (go->getLootState() == GO_READY)
@@ -89,7 +89,7 @@ class AreaTrigger_at_legion_teleporter : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (player->IsAlive() && !player->IsInCombat())
{
@@ -131,7 +131,7 @@ class AreaTrigger_at_stormwright_shelf : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (!player->isDead() && player->GetQuestStatus(QUEST_STRENGTH_OF_THE_TEMPEST) == QUEST_STATUS_INCOMPLETE)
player->CastSpell(player, SPELL_CREATE_TRUE_POWER_OF_THE_TEMPEST, false);
@@ -159,7 +159,7 @@ class AreaTrigger_at_scent_larkorwi : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (!player->isDead() && player->GetQuestStatus(QUEST_SCENT_OF_LARKORWI) == QUEST_STATUS_INCOMPLETE)
{
@@ -190,7 +190,7 @@ class AreaTrigger_at_last_rites : public AreaTriggerScript
{
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
{
if (!(player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_INCOMPLETE ||
player->GetQuestStatus(QUEST_LAST_RITES) == QUEST_STATUS_COMPLETE ||
@@ -249,7 +249,7 @@ class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript
AreaTrigger_at_sholazar_waygate() : AreaTriggerScript("at_sholazar_waygate") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
{
if (!player->isDead() && (player->GetQuestStatus(QUEST_MEETING_A_GREAT_ONE) != QUEST_STATUS_NONE ||
(player->GetQuestStatus(QUEST_THE_MAKERS_OVERLOOK) == QUEST_STATUS_REWARDED && player->GetQuestStatus(QUEST_THE_MAKERS_PERCH) == QUEST_STATUS_REWARDED)))
@@ -286,7 +286,7 @@ class AreaTrigger_at_nats_landing : public AreaTriggerScript
public:
AreaTrigger_at_nats_landing() : AreaTriggerScript("at_nats_landing") { }
- bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /*trigger*/) override
{
if (!player->IsAlive() || !player->HasAura(SPELL_FISH_PASTE))
return false;
@@ -331,7 +331,7 @@ class AreaTrigger_at_brewfest : public AreaTriggerScript
_triggerTimes[AT_BREWFEST_DUROTAR] = _triggerTimes[AT_BREWFEST_DUN_MOROGH] = 0;
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
{
uint32 triggerId = trigger->id;
// Second trigger happened too early after first, skip for now
@@ -384,7 +384,7 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript
_triggerTimes[AT_AREA_52_SOUTH] = _triggerTimes[AT_AREA_52_NORTH] = _triggerTimes[AT_AREA_52_WEST] = _triggerTimes[AT_AREA_52_EAST] = 0;
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger) override
{
float x = 0.0f, y = 0.0f, z = 0.0f;
@@ -456,7 +456,7 @@ public:
stormforgedEradictorGUID = 0;
}
- bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */) OVERRIDE
+ bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */) override
{
if (player->GetQuestStatus(QUEST_THE_LONESOME_WATCHER) != QUEST_STATUS_INCOMPLETE)
return false;
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index c74405628b5..362c02e1af5 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -94,7 +94,7 @@ struct emerald_dragonAI : public WorldBossAI
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
WorldBossAI::Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
@@ -106,14 +106,14 @@ struct emerald_dragonAI : public WorldBossAI
}
// Target killed during encounter, mark them as suspectible for Aura Of Nature
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
who->CastSpell(who, SPELL_MARK_OF_NATURE, true);
}
// Execute and reschedule base events shared between all Emerald Dragons
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -137,7 +137,7 @@ struct emerald_dragonAI : public WorldBossAI
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -172,12 +172,12 @@ class npc_dream_fog : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_roamTimer = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -209,7 +209,7 @@ class npc_dream_fog : public CreatureScript
uint32 _roamTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dream_fogAI(creature);
}
@@ -249,21 +249,21 @@ class boss_ysondre : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_stage = 1;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_LIGHTNING_WAVE, 12000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_YSONDRE_AGGRO);
WorldBossAI::EnterCombat(who);
}
// Summon druid spirits on 75%, 50% and 25% health
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -275,7 +275,7 @@ class boss_ysondre : public CreatureScript
}
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -293,7 +293,7 @@ class boss_ysondre : public CreatureScript
uint8 _stage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_ysondreAI(creature);
}
@@ -337,20 +337,20 @@ class boss_lethon : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_stage = 1;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_SHADOW_BOLT_WHIRL, 10000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_LETHON_AGGRO);
WorldBossAI::EnterCombat(who);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -360,17 +360,16 @@ class boss_lethon : public CreatureScript
}
}
- void SpellHitTarget(Unit* target, SpellInfo const* spell) OVERRIDE
+ void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
if (spell->Id == SPELL_DRAW_SPIRIT && target->GetTypeId() == TYPEID_PLAYER)
{
- Position targetPos;
- target->GetPosition(&targetPos);
+ Position targetPos = target->GetPosition();
me->SummonCreature(NPC_SPIRIT_SHADE, targetPos, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 50000);
}
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -388,7 +387,7 @@ class boss_lethon : public CreatureScript
uint8 _stage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_lethonAI(creature);
}
@@ -405,13 +404,13 @@ class npc_spirit_shade : public CreatureScript
{
}
- void IsSummonedBy(Unit* summoner) OVERRIDE
+ void IsSummonedBy(Unit* summoner) override
{
_summonerGuid = summoner->GetGUID();
me->GetMotionMaster()->MoveFollow(summoner, 0.0f, 0.0f);
}
- void MovementInform(uint32 moveType, uint32 data) OVERRIDE
+ void MovementInform(uint32 moveType, uint32 data) override
{
if (moveType == FOLLOW_MOTION_TYPE && data == _summonerGuid)
{
@@ -424,7 +423,7 @@ class npc_spirit_shade : public CreatureScript
uint64 _summonerGuid;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_spirit_shadeAI(creature);
}
@@ -460,27 +459,27 @@ class boss_emeriss : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
_stage = 1;
emerald_dragonAI::Reset();
events.ScheduleEvent(EVENT_VOLATILE_INFECTION, 12000);
}
- void KilledUnit(Unit* who) OVERRIDE
+ void KilledUnit(Unit* who) override
{
if (who->GetTypeId() == TYPEID_PLAYER)
DoCast(who, SPELL_PUTRID_MUSHROOM, true);
emerald_dragonAI::KilledUnit(who);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_EMERISS_AGGRO);
WorldBossAI::EnterCombat(who);
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
if (!HealthAbovePct(100 - 25 * _stage))
{
@@ -490,7 +489,7 @@ class boss_emeriss : public CreatureScript
}
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -508,7 +507,7 @@ class boss_emeriss : public CreatureScript
uint8 _stage;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_emerissAI(creature);
}
@@ -552,7 +551,7 @@ class boss_taerar : public CreatureScript
{
}
- void Reset() OVERRIDE
+ void Reset() override
{
me->RemoveAurasDueToSpell(SPELL_SHADE);
_stage = 1;
@@ -566,18 +565,18 @@ class boss_taerar : public CreatureScript
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000);
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
Talk(SAY_TAERAR_AGGRO);
emerald_dragonAI::EnterCombat(who);
}
- void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) OVERRIDE
+ void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override
{
--_shades;
}
- void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
+ void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) override
{
// At 75, 50 or 25 percent health, we need to activate the shades and go "banished"
// Note: _stage holds the amount of times they have been summoned
@@ -604,7 +603,7 @@ class boss_taerar : public CreatureScript
}
}
- void ExecuteEvent(uint32 eventId) OVERRIDE
+ void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
@@ -622,7 +621,7 @@ class boss_taerar : public CreatureScript
}
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!me->IsInCombat())
return;
@@ -658,7 +657,7 @@ class boss_taerar : public CreatureScript
uint8 _stage; // check which "shade phase" we're at (75-50-25 percentage counters)
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new boss_taerarAI(creature);
}
@@ -695,13 +694,13 @@ class spell_dream_fog_sleep : public SpellScriptLoader
targets.remove_if(DreamFogTargetSelector());
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_dream_fog_sleep_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_dream_fog_sleep_SpellScript();
}
@@ -734,7 +733,7 @@ class spell_mark_of_nature : public SpellScriptLoader
{
PrepareSpellScript(spell_mark_of_nature_SpellScript);
- bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
+ bool Validate(SpellInfo const* /*spellInfo*/) override
{
if (!sSpellMgr->GetSpellInfo(SPELL_MARK_OF_NATURE))
return false;
@@ -754,14 +753,14 @@ class spell_mark_of_nature : public SpellScriptLoader
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_AURA_OF_NATURE, true);
}
- void Register() OVERRIDE
+ void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_mark_of_nature_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_mark_of_nature_SpellScript::HandleEffect, EFFECT_0, SPELL_EFFECT_APPLY_AURA);
}
};
- SpellScript* GetSpellScript() const OVERRIDE
+ SpellScript* GetSpellScript() const override
{
return new spell_mark_of_nature_SpellScript();
}
diff --git a/src/server/scripts/World/chat_log.cpp b/src/server/scripts/World/chat_log.cpp
index ef854246d20..ac0f4478571 100644
--- a/src/server/scripts/World/chat_log.cpp
+++ b/src/server/scripts/World/chat_log.cpp
@@ -22,144 +22,133 @@
class ChatLogScript : public PlayerScript
{
-public:
- ChatLogScript() : PlayerScript("ChatLogScript") { }
+ public:
+ ChatLogScript() : PlayerScript("ChatLogScript") { }
- void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg)
- {
- switch (type)
+ void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg) override
{
- case CHAT_MSG_ADDON:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s sends: %s",
- player->GetName().c_str(), msg.c_str());
- break;
-
- case CHAT_MSG_SAY:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC))
- TC_LOG_DEBUG("chat.log", "[SAY] Player %s says (language %u): %s",
+ switch (type)
+ {
+ case CHAT_MSG_SAY:
+ TC_LOG_DEBUG("chat.log.say", "Player %s says (language %u): %s",
player->GetName().c_str(), lang, msg.c_str());
- break;
+ break;
- case CHAT_MSG_EMOTE:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC))
- TC_LOG_DEBUG("chat.log", "[TEXTEMOTE] Player %s emotes: %s",
+ case CHAT_MSG_EMOTE:
+ TC_LOG_DEBUG("chat.log.emote", "Player %s emotes: %s",
player->GetName().c_str(), msg.c_str());
- break;
+ break;
- case CHAT_MSG_YELL:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC))
- TC_LOG_DEBUG("chat.log", "[YELL] Player %s yells (language %u): %s",
+ case CHAT_MSG_YELL:
+ TC_LOG_DEBUG("chat.log.yell", "Player %s yells (language %u): %s",
player->GetName().c_str(), lang, msg.c_str());
- break;
+ break;
+ }
+ }
+
+ void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver) override
+ {
+ if (lang != LANG_ADDON)
+ TC_LOG_DEBUG("chat.log.whisper", "Player %s tells %s: %s",
+ player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str());
+ else
+ TC_LOG_DEBUG("chat.log.addon.whisper", "Player %s tells %s: %s",
+ player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str());
}
- }
-
- void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver)
- {
- if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_WHISPER))
- TC_LOG_DEBUG("chat.log", "[WHISPER] Player %s tells %s: %s",
- player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str());
- else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells %s: %s",
- player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str());
- }
-
- void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group)
- {
- //! NOTE:
- //! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER"
- switch (type)
+
+ void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) override
{
- case CHAT_MSG_PARTY:
- if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY))
- TC_LOG_DEBUG("chat.log", "[PARTY] Player %s tells group with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells group with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- break;
-
- case CHAT_MSG_PARTY_LEADER:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY))
- TC_LOG_DEBUG("chat.log", "[PARTY] Leader %s tells group: %s",
+ //! NOTE:
+ //! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER"
+ switch (type)
+ {
+ case CHAT_MSG_PARTY:
+ if (lang != LANG_ADDON)
+ TC_LOG_DEBUG("chat.log.party", "Player %s tells group with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ else
+ TC_LOG_DEBUG("chat.log.addon.party", "Player %s tells group with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ break;
+
+ case CHAT_MSG_PARTY_LEADER:
+ TC_LOG_DEBUG("chat.log.party", "Leader %s tells group: %s",
player->GetName().c_str(), msg.c_str());
- break;
-
- case CHAT_MSG_RAID:
- if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_RAID))
- TC_LOG_DEBUG("chat.log", "[RAID] Player %s tells raid with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells raid with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- break;
-
- case CHAT_MSG_RAID_LEADER:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_RAID))
- TC_LOG_DEBUG("chat.log", "[RAID] Leader player %s tells raid: %s",
+ break;
+
+ case CHAT_MSG_RAID:
+ if (lang != LANG_ADDON)
+ TC_LOG_DEBUG("chat.log.raid", "Player %s tells raid with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ else
+ TC_LOG_DEBUG("chat.log.addon.raid", "Player %s tells raid with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ break;
+
+ case CHAT_MSG_RAID_LEADER:
+ TC_LOG_DEBUG("chat.log.raid", "Leader player %s tells raid: %s",
player->GetName().c_str(), msg.c_str());
- break;
+ break;
- case CHAT_MSG_RAID_WARNING:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_RAID))
- TC_LOG_DEBUG("chat.log", "[RAID] Leader player %s warns raid with: %s",
+ case CHAT_MSG_RAID_WARNING:
+ TC_LOG_DEBUG("chat.log.raid", "Leader player %s warns raid with: %s",
player->GetName().c_str(), msg.c_str());
- break;
-
- case CHAT_MSG_BATTLEGROUND:
- if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND))
- TC_LOG_DEBUG("chat.log", "[BATTLEGROUND] Player %s tells battleground with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells battleground with leader %s: %s",
- player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
- break;
-
- case CHAT_MSG_BATTLEGROUND_LEADER:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND))
- TC_LOG_DEBUG("chat.log", "[BATTLEGROUND] Leader player %s tells battleground: %s",
+ break;
+
+ case CHAT_MSG_BATTLEGROUND:
+ if (lang != LANG_ADDON)
+ TC_LOG_DEBUG("chat.log.bg", "Player %s tells battleground with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ else
+ TC_LOG_DEBUG("chat.log.addon.bg", "Player %s tells battleground with leader %s: %s",
+ player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str());
+ break;
+
+ case CHAT_MSG_BATTLEGROUND_LEADER:
+ TC_LOG_DEBUG("chat.log.bg", "Leader player %s tells battleground: %s",
player->GetName().c_str(), msg.c_str());
- break;
+ break;
+ }
}
- }
- void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild)
- {
- switch (type)
+ void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild) override
{
- case CHAT_MSG_GUILD:
- if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_GUILD))
- TC_LOG_DEBUG("chat.log", "[GUILD] Player %s tells guild %s: %s",
- player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str());
- else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
- TC_LOG_DEBUG("chat.log", "[ADDON] Player %s sends to guild %s: %s",
+ switch (type)
+ {
+ case CHAT_MSG_GUILD:
+ if (lang != LANG_ADDON)
+ TC_LOG_DEBUG("chat.log.guild", "Player %s tells guild %s: %s",
+ player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str());
+ else
+ TC_LOG_DEBUG("chat.log.addon.guild", "Player %s sends to guild %s: %s",
+ player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str());
+ break;
+
+ case CHAT_MSG_OFFICER:
+ TC_LOG_DEBUG("chat.log.guild.officer", "Player %s tells guild %s officers: %s",
player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str());
- break;
+ break;
+ }
+ }
- case CHAT_MSG_OFFICER:
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_GUILD))
- TC_LOG_DEBUG("chat.log", "[OFFICER] Player %s tells guild %s officers: %s",
- player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str());
- break;
+ void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Channel* channel) override
+ {
+ bool isSystem = channel &&
+ (channel->HasFlag(CHANNEL_FLAG_TRADE) ||
+ channel->HasFlag(CHANNEL_FLAG_GENERAL) ||
+ channel->HasFlag(CHANNEL_FLAG_CITY) ||
+ channel->HasFlag(CHANNEL_FLAG_LFG));
+
+ if (isSystem)
+ TC_LOG_DEBUG("chat.log.system", "Player %s tells channel %s: %s",
+ player->GetName().c_str(), channel->GetName().c_str(), msg.c_str());
+ else
+ {
+ std::string channelName = channel ? channel->GetName() : "<unknown>";
+ TC_LOG_DEBUG("chat.log.channel." + channelName, "Player %s tells channel %s: %s",
+ player->GetName().c_str(), channelName.c_str(), msg.c_str());
+ }
}
- }
-
- void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Channel* channel)
- {
- bool isSystem = channel &&
- (channel->HasFlag(CHANNEL_FLAG_TRADE) ||
- channel->HasFlag(CHANNEL_FLAG_GENERAL) ||
- channel->HasFlag(CHANNEL_FLAG_CITY) ||
- channel->HasFlag(CHANNEL_FLAG_LFG));
-
- if (sWorld->getBoolConfig(CONFIG_CHATLOG_SYSCHAN) && isSystem)
- TC_LOG_DEBUG("chat.log", "[SYSCHAN] Player %s tells channel %s: %s",
- player->GetName().c_str(), channel->GetName().c_str(), msg.c_str());
- else if (sWorld->getBoolConfig(CONFIG_CHATLOG_CHANNEL))
- TC_LOG_DEBUG("chat.log", "[CHANNEL] Player %s tells channel %s: %s",
- player->GetName().c_str(), channel ? channel->GetName().c_str() : "<unknown>", msg.c_str());
- }
};
void AddSC_chat_log()
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 886200ab84b..9dbcb91dc1a 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -69,7 +69,7 @@ class go_cat_figurine : public GameObjectScript
public:
go_cat_figurine() : GameObjectScript("go_cat_figurine") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
player->CastSpell(player, SPELL_SUMMON_GHOST_SABER, true);
return false;
@@ -85,7 +85,7 @@ class go_barov_journal : public GameObjectScript
public:
go_barov_journal() : GameObjectScript("go_barov_journal") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->HasSkill(SKILL_TAILORING) && player->GetBaseSkillValue(SKILL_TAILORING) >= 280 && !player->HasSpell(26086))
player->CastSpell(player, 26095, false);
@@ -103,7 +103,7 @@ class go_field_repair_bot_74A : public GameObjectScript
public:
go_field_repair_bot_74A() : GameObjectScript("go_field_repair_bot_74A") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->HasSkill(SKILL_ENGINEERING) && player->GetBaseSkillValue(SKILL_ENGINEERING) >= 300 && !player->HasSpell(22704))
player->CastSpell(player, 22864, false);
@@ -126,7 +126,7 @@ class go_gilded_brazier : public GameObjectScript
public:
go_gilded_brazier() : GameObjectScript("go_gilded_brazier") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
{
@@ -149,7 +149,7 @@ class go_orb_of_command : public GameObjectScript
public:
go_orb_of_command() : GameObjectScript("go_orb_of_command") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->GetQuestRewardStatus(7761))
player->CastSpell(player, 23460, true);
@@ -167,7 +167,7 @@ class go_tablet_of_madness : public GameObjectScript
public:
go_tablet_of_madness() : GameObjectScript("go_tablet_of_madness") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->HasSkill(SKILL_ALCHEMY) && player->GetSkillValue(SKILL_ALCHEMY) >= 300 && !player->HasSpell(24266))
player->CastSpell(player, 24267, false);
@@ -186,7 +186,7 @@ public:
go_tablet_of_the_seven() : GameObjectScript("go_tablet_of_the_seven") { }
/// @todo use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
return true;
@@ -207,7 +207,7 @@ class go_jump_a_tron : public GameObjectScript
public:
go_jump_a_tron() : GameObjectScript("go_jump_a_tron") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->GetQuestStatus(10111) == QUEST_STATUS_INCOMPLETE)
player->CastSpell(player, 33382, true);
@@ -241,7 +241,7 @@ class go_ethereum_prison : public GameObjectScript
public:
go_ethereum_prison() : GameObjectScript("go_ethereum_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
int Random = rand() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
@@ -291,7 +291,7 @@ class go_ethereum_stasis : public GameObjectScript
public:
go_ethereum_stasis() : GameObjectScript("go_ethereum_stasis") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
int Random = rand() % (sizeof(NpcStasisEntry) / sizeof(uint32));
@@ -317,7 +317,7 @@ class go_resonite_cask : public GameObjectScript
public:
go_resonite_cask() : GameObjectScript("go_resonite_cask") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
go->SummonCreature(NPC_GOGGEROC, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 300000);
@@ -340,7 +340,7 @@ class go_sacred_fire_of_life : public GameObjectScript
public:
go_sacred_fire_of_life() : GameObjectScript("go_sacred_fire_of_life") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
player->SummonCreature(NPC_ARIKARA, -5008.338f, -2118.894f, 83.657f, 0.874f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
@@ -368,7 +368,7 @@ class go_shrine_of_the_birds : public GameObjectScript
public:
go_shrine_of_the_birds() : GameObjectScript("go_shrine_of_the_birds") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
uint32 BirdEntry = 0;
@@ -411,7 +411,7 @@ class go_southfury_moonstone : public GameObjectScript
public:
go_southfury_moonstone() : GameObjectScript("go_southfury_moonstone") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
//implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose
//player->CastSpell(player, SPELL_SUMMON_RIZZLE, false);
@@ -440,7 +440,7 @@ class go_tele_to_dalaran_crystal : public GameObjectScript
public:
go_tele_to_dalaran_crystal() : GameObjectScript("go_tele_to_dalaran_crystal") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->GetQuestRewardStatus(QUEST_TELE_CRYSTAL_FLAG))
return false;
@@ -460,7 +460,7 @@ class go_tele_to_violet_stand : public GameObjectScript
public:
go_tele_to_violet_stand() : GameObjectScript("go_tele_to_violet_stand") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->GetQuestRewardStatus(QUEST_LEARN_LEAVE_RETURN) || player->GetQuestStatus(QUEST_LEARN_LEAVE_RETURN) == QUEST_STATUS_INCOMPLETE)
return false;
@@ -490,7 +490,7 @@ class go_fel_crystalforge : public GameObjectScript
public:
go_fel_crystalforge() : GameObjectScript("go_fel_crystalforge") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
player->PrepareQuestMenu(go->GetGUID()); /* return true*/
@@ -503,7 +503,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -549,7 +549,7 @@ class go_bashir_crystalforge : public GameObjectScript
public:
go_bashir_crystalforge() : GameObjectScript("go_bashir_crystalforge") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */
player->PrepareQuestMenu(go->GetGUID()); /* return true*/
@@ -562,7 +562,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -613,7 +613,7 @@ class go_matrix_punchograph : public GameObjectScript
public:
go_matrix_punchograph() : GameObjectScript("go_matrix_punchograph") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
switch (go->GetEntry())
{
@@ -666,7 +666,7 @@ class go_scourge_cage : public GameObjectScript
public:
go_scourge_cage() : GameObjectScript("go_scourge_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (Creature* pNearestPrisoner = go->FindNearestCreature(NPC_SCOURGE_PRISONER, 5.0f, true))
@@ -694,7 +694,7 @@ class go_arcane_prison : public GameObjectScript
public:
go_arcane_prison() : GameObjectScript("go_arcane_prison") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (player->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE)
{
@@ -721,7 +721,7 @@ class go_blood_filled_orb : public GameObjectScript
public:
go_blood_filled_orb() : GameObjectScript("go_blood_filled_orb") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
player->SummonCreature(NPC_ZELEMAR, -369.746f, 166.759f, -21.50f, 5.235f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
@@ -752,7 +752,7 @@ class go_jotunheim_cage : public GameObjectScript
public:
go_jotunheim_cage() : GameObjectScript("go_jotunheim_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
Creature* pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true);
@@ -802,7 +802,7 @@ class go_table_theka : public GameObjectScript
public:
go_table_theka() : GameObjectScript("go_table_theka") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (player->GetQuestStatus(QUEST_SPIDER_GOLD) == QUEST_STATUS_INCOMPLETE)
player->AreaExploredOrEventHappens(QUEST_SPIDER_GOLD);
@@ -828,7 +828,7 @@ class go_inconspicuous_landmark : public GameObjectScript
public:
go_inconspicuous_landmark() : GameObjectScript("go_inconspicuous_landmark") { }
- bool OnGossipHello(Player* player, GameObject* /*go*/) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* /*go*/) override
{
if (player->HasItemCount(ITEM_CUERGOS_KEY))
return false;
@@ -854,7 +854,7 @@ class go_ethereal_teleport_pad : public GameObjectScript
public:
go_ethereal_teleport_pad() : GameObjectScript("go_ethereal_teleport_pad") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
if (!player->HasItemCount(ITEM_TELEPORTER_POWER_PACK))
return false;
@@ -884,7 +884,7 @@ class go_soulwell : public GameObjectScript
/// _and_ CMSG_GAMEOBJECT_REPORT_USE, this GossipHello hook is called
/// twice. The script's handling is fine as it won't remove two charges
/// on the well. We have to find how to segregate REPORT_USE and USE.
- bool GossipHello(Player* player) OVERRIDE
+ bool GossipHello(Player* player) override
{
Unit* owner = go->GetOwner();
if (!owner || owner->GetTypeId() != TYPEID_PLAYER || !player->IsInSameRaidWith(owner->ToPlayer()))
@@ -893,7 +893,7 @@ class go_soulwell : public GameObjectScript
}
};
- GameObjectAI* GetAI(GameObject* go) const OVERRIDE
+ GameObjectAI* GetAI(GameObject* go) const override
{
return new go_soulwellAI(go);
}
@@ -918,7 +918,7 @@ class go_dragonflayer_cage : public GameObjectScript
public:
go_dragonflayer_cage() : GameObjectScript("go_dragonflayer_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) != QUEST_STATUS_INCOMPLETE)
@@ -966,7 +966,7 @@ class go_tadpole_cage : public GameObjectScript
public:
go_tadpole_cage() : GameObjectScript("go_tadpole_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_OH_NOES_THE_TADPOLES) == QUEST_STATUS_INCOMPLETE)
@@ -1007,7 +1007,7 @@ class go_amberpine_outhouse : public GameObjectScript
public:
go_amberpine_outhouse() : GameObjectScript("go_amberpine_outhouse") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
QuestStatus status = player->GetQuestStatus(QUEST_DOING_YOUR_DUTY);
if (status == QUEST_STATUS_INCOMPLETE || status == QUEST_STATUS_COMPLETE || status == QUEST_STATUS_REWARDED)
@@ -1021,7 +1021,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF +1)
@@ -1063,7 +1063,7 @@ class go_hive_pod : public GameObjectScript
public:
go_hive_pod() : GameObjectScript("go_hive_pod") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
player->SendLoot(go->GetGUID(), LOOT_CORPSE);
go->SummonCreature(NPC_HIVE_AMBUSHER, go->GetPositionX()+1, go->GetPositionY(), go->GetPositionZ(), go->GetAngle(player), TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
@@ -1077,7 +1077,7 @@ class go_massive_seaforium_charge : public GameObjectScript
public:
go_massive_seaforium_charge() : GameObjectScript("go_massive_seaforium_charge") { }
- bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
go->SetLootState(GO_JUST_DEACTIVATED);
return true;
@@ -1101,7 +1101,7 @@ class go_gjalerbron_cage : public GameObjectScript
public:
go_gjalerbron_cage() : GameObjectScript("go_gjalerbron_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if ((player->GetTeamId() == TEAM_ALLIANCE && player->GetQuestStatus(QUEST_ALLIANCE_OF_KEYS_AND_CAGES) == QUEST_STATUS_INCOMPLETE) ||
@@ -1128,7 +1128,7 @@ class go_large_gjalerbron_cage : public GameObjectScript
public:
go_large_gjalerbron_cage() : GameObjectScript("go_large_gjalerbron_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if ((player->GetTeamId() == TEAM_ALLIANCE && player->GetQuestStatus(QUEST_ALLIANCE_OF_KEYS_AND_CAGES) == QUEST_STATUS_INCOMPLETE) ||
@@ -1163,7 +1163,7 @@ class go_veil_skith_cage : public GameObjectScript
public:
go_veil_skith_cage() : GameObjectScript("go_veil_skith_cage") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton();
if (player->GetQuestStatus(QUEST_MISSING_FRIENDS) == QUEST_STATUS_INCOMPLETE)
@@ -1200,7 +1200,7 @@ class go_frostblade_shrine : public GameObjectScript
public:
go_frostblade_shrine() : GameObjectScript("go_frostblade_shrine") { }
- bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
+ bool OnGossipHello(Player* player, GameObject* go) override
{
go->UseDoorOrButton(10);
if (!player->HasAura(SPELL_RECENT_MEDITATION))
@@ -1227,7 +1227,7 @@ class go_midsummer_bonfire : public GameObjectScript
public:
go_midsummer_bonfire() : GameObjectScript("go_midsummer_bonfire") { }
- bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/) OVERRIDE
+ bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/) override
{
player->CastSpell(player, STAMP_OUT_BONFIRE_QUEST_COMPLETE, true);
player->CLOSE_GOSSIP_MENU();
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index 676eb7bd64f..416cab8efcd 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -56,13 +56,13 @@ public:
{
guard_genericAI(Creature* creature) : GuardAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
globalCooldown = 0;
buffTimer = 0;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (me->GetEntry() == NPC_CENARION_HOLD_INFANTRY)
Talk(SAY_GUARD_SIL_AGGRO, who);
@@ -70,7 +70,7 @@ public:
DoCast(who, spell->Id);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Always decrease our global cooldown first
if (globalCooldown > diff)
@@ -219,7 +219,7 @@ public:
}
}
- void ReceiveEmote(Player* player, uint32 textEmote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 textEmote) override
{
switch (me->GetEntry())
{
@@ -242,7 +242,7 @@ public:
uint32 buffTimer;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new guard_genericAI(creature);
}
@@ -265,7 +265,7 @@ public:
{
guard_shattrath_scryerAI(Creature* creature) : GuardAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
banishTimer = 5000;
exileTimer = 8500;
@@ -273,7 +273,7 @@ public:
canTeleport = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -315,7 +315,7 @@ public:
bool canTeleport;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new guard_shattrath_scryerAI(creature);
}
@@ -330,7 +330,7 @@ public:
{
guard_shattrath_aldorAI(Creature* creature) : GuardAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
banishTimer = 5000;
exileTimer = 8500;
@@ -338,7 +338,7 @@ public:
canTeleport = false;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -379,7 +379,7 @@ public:
bool canTeleport;
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new guard_shattrath_aldorAI(creature);
}
diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp
index 1eb9c304ec1..c53fe254db3 100644
--- a/src/server/scripts/World/item_scripts.cpp
+++ b/src/server/scripts/World/item_scripts.cpp
@@ -49,7 +49,7 @@ class item_only_for_flight : public ItemScript
public:
item_only_for_flight() : ItemScript("item_only_for_flight") { }
- bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) override
{
uint32 itemId = item->GetEntry();
bool disabled = false;
@@ -90,7 +90,7 @@ class item_nether_wraith_beacon : public ItemScript
public:
item_nether_wraith_beacon() : ItemScript("item_nether_wraith_beacon") { }
- bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const& /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const& /*targets*/) override
{
if (player->GetQuestStatus(10832) == QUEST_STATUS_INCOMPLETE)
{
@@ -113,7 +113,7 @@ class item_gor_dreks_ointment : public ItemScript
public:
item_gor_dreks_ointment() : ItemScript("item_gor_dreks_ointment") { }
- bool OnUse(Player* player, Item* item, SpellCastTargets const& targets) OVERRIDE
+ bool OnUse(Player* player, Item* item, SpellCastTargets const& targets) override
{
if (targets.GetUnitTarget() && targets.GetUnitTarget()->GetTypeId() == TYPEID_UNIT &&
targets.GetUnitTarget()->GetEntry() == 20748 && !targets.GetUnitTarget()->HasAura(32578))
@@ -133,7 +133,7 @@ class item_incendiary_explosives : public ItemScript
public:
item_incendiary_explosives() : ItemScript("item_incendiary_explosives") { }
- bool OnUse(Player* player, Item* item, SpellCastTargets const & /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* item, SpellCastTargets const & /*targets*/) override
{
if (player->FindNearestCreature(26248, 15) || player->FindNearestCreature(26249, 15))
return false;
@@ -154,7 +154,7 @@ class item_mysterious_egg : public ItemScript
public:
item_mysterious_egg() : ItemScript("item_mysterious_egg") { }
- bool OnExpire(Player* player, ItemTemplate const* /*pItemProto*/) OVERRIDE
+ bool OnExpire(Player* player, ItemTemplate const* /*pItemProto*/) override
{
ItemPosCountVec dest;
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 39883, 1); // Cracked Egg
@@ -174,7 +174,7 @@ class item_disgusting_jar : public ItemScript
public:
item_disgusting_jar() : ItemScript("item_disgusting_jar") { }
- bool OnExpire(Player* player, ItemTemplate const* /*pItemProto*/) OVERRIDE
+ bool OnExpire(Player* player, ItemTemplate const* /*pItemProto*/) override
{
ItemPosCountVec dest;
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 44718, 1); // Ripe Disgusting Jar
@@ -223,7 +223,7 @@ class item_pile_fake_furs : public ItemScript
public:
item_pile_fake_furs() : ItemScript("item_pile_fake_furs") { }
- bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const & /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* /*item*/, SpellCastTargets const & /*targets*/) override
{
GameObject* go = NULL;
for (uint8 i = 0; i < CaribouTrapsNum; ++i)
@@ -268,7 +268,7 @@ class item_petrov_cluster_bombs : public ItemScript
public:
item_petrov_cluster_bombs() : ItemScript("item_petrov_cluster_bombs") { }
- bool OnUse(Player* player, Item* /*item*/, const SpellCastTargets & /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* /*item*/, const SpellCastTargets & /*targets*/) override
{
if (player->GetZoneId() != ZONE_ID_HOWLING)
return false;
@@ -332,7 +332,7 @@ class item_dehta_trap_smasher : public ItemScript
public:
item_dehta_trap_smasher() : ItemScript("item_dehta_trap_smasher") { }
- bool OnUse(Player* player, Item* /*item*/, const SpellCastTargets & /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* /*item*/, const SpellCastTargets & /*targets*/) override
{
if (player->GetQuestStatus(QUEST_CANNOT_HELP_THEMSELVES) != QUEST_STATUS_INCOMPLETE)
return false;
@@ -368,7 +368,7 @@ class item_trident_of_nazjan : public ItemScript
public:
item_trident_of_nazjan() : ItemScript("item_Trident_of_Nazjan") { }
- bool OnUse(Player* player, Item* item, const SpellCastTargets & /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* item, const SpellCastTargets & /*targets*/) override
{
if (player->GetQuestStatus(QUEST_THE_EMISSARY) == QUEST_STATUS_INCOMPLETE)
{
@@ -395,7 +395,7 @@ class item_captured_frog : public ItemScript
public:
item_captured_frog() : ItemScript("item_captured_frog") { }
- bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) OVERRIDE
+ bool OnUse(Player* player, Item* item, SpellCastTargets const& /*targets*/) override
{
if (player->GetQuestStatus(QUEST_THE_PERFECT_SPIES) == QUEST_STATUS_INCOMPLETE)
{
diff --git a/src/server/scripts/World/mob_generic_creature.cpp b/src/server/scripts/World/mob_generic_creature.cpp
index 19ea4f9b60b..30666d5d2ea 100644
--- a/src/server/scripts/World/mob_generic_creature.cpp
+++ b/src/server/scripts/World/mob_generic_creature.cpp
@@ -42,20 +42,20 @@ public:
uint32 BuffTimer; //This variable keeps track of buffs
bool IsSelfRooted;
- void Reset() OVERRIDE
+ void Reset() override
{
GlobalCooldown = 0;
BuffTimer = 0; //Rebuff as soon as we can
IsSelfRooted = false;
}
- void EnterCombat(Unit* who) OVERRIDE
+ void EnterCombat(Unit* who) override
{
if (!me->IsWithinMeleeRange(who))
IsSelfRooted = true;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
//Always decrease our global cooldown first
if (GlobalCooldown > diff)
@@ -163,7 +163,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new generic_creatureAI(creature);
}
@@ -186,7 +186,7 @@ public:
uint32 timer, interval;
const SpellInfo* spell;
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (timer <= diff)
{
@@ -199,7 +199,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new trigger_periodicAI(creature);
}
@@ -213,14 +213,14 @@ public:
struct trigger_deathAI : public NullCreatureAI
{
trigger_deathAI(Creature* creature) : NullCreatureAI(creature) { }
- void JustDied(Unit* killer) OVERRIDE
+ void JustDied(Unit* killer) override
{
if (me->m_spells[0])
me->CastSpell(killer, me->m_spells[0], true);
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new trigger_deathAI(creature);
}
diff --git a/src/server/scripts/World/npc_innkeeper.cpp b/src/server/scripts/World/npc_innkeeper.cpp
index 7a766fb9eb1..b647cccf8ea 100644
--- a/src/server/scripts/World/npc_innkeeper.cpp
+++ b/src/server/scripts/World/npc_innkeeper.cpp
@@ -49,7 +49,7 @@ class npc_innkeeper : public CreatureScript
public:
npc_innkeeper() : CreatureScript("npc_innkeeper") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (IsHolidayActive(HOLIDAY_HALLOWS_END) && !player->HasAura(SPELL_TRICK_OR_TREATED))
{
@@ -86,7 +86,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1 && IsHolidayActive(HOLIDAY_HALLOWS_END) && !player->HasAura(SPELL_TRICK_OR_TREATED))
diff --git a/src/server/scripts/World/npc_professions.cpp b/src/server/scripts/World/npc_professions.cpp
index f08930026cf..08bc408f114 100644
--- a/src/server/scripts/World/npc_professions.cpp
+++ b/src/server/scripts/World/npc_professions.cpp
@@ -382,7 +382,7 @@ public:
return (player->HasSpell(S_TRANSMUTE) || player->HasSpell(S_ELIXIR) || player->HasSpell(S_POTION));
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -508,7 +508,7 @@ public:
}
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
@@ -547,7 +547,7 @@ public:
return (player->HasSpell(S_HAMMER) || player->HasSpell(S_AXE) || player->HasSpell(S_SWORD));
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -738,7 +738,7 @@ public:
}
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
@@ -808,7 +808,7 @@ public:
return res;
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
uint32 npcTextId = 0;
std::string gossipItem;
@@ -848,7 +848,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -886,7 +886,7 @@ class npc_prof_leather : public CreatureScript
public:
npc_prof_leather() : CreatureScript("npc_prof_leather") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -974,7 +974,7 @@ public:
}
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
@@ -1009,7 +1009,7 @@ public:
return (player->HasSpell(S_MOONCLOTH) || player->HasSpell(S_SHADOWEAVE) || player->HasSpell(S_SPELLFIRE));
}
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -1136,7 +1136,7 @@ public:
}
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
diff --git a/src/server/scripts/World/npc_taxi.cpp b/src/server/scripts/World/npc_taxi.cpp
index 730523c85f4..5abc021e283 100644
--- a/src/server/scripts/World/npc_taxi.cpp
+++ b/src/server/scripts/World/npc_taxi.cpp
@@ -63,7 +63,7 @@ class npc_taxi : public CreatureScript
public:
npc_taxi() : CreatureScript("npc_taxi") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -162,7 +162,6 @@ public:
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CRIMSONWING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+25);
break;
case 17209:
- player->SetTaxiCheater(true);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 28);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 29);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 30);
@@ -173,7 +172,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 3d085fe3d82..e6e0cbd575f 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -156,7 +156,7 @@ public:
SpawnAssociation* SpawnAssoc;
uint64 SpawnedGUID;
- void Reset() OVERRIDE { }
+ void Reset() override { }
Creature* SummonGuard()
{
@@ -183,7 +183,7 @@ public:
return NULL;
}
- void MoveInLineOfSight(Unit* who) OVERRIDE
+ void MoveInLineOfSight(Unit* who) override
{
if (!SpawnAssoc)
@@ -260,7 +260,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_air_force_botsAI(creature);
}
@@ -286,7 +286,7 @@ class npc_lunaclaw_spirit : public CreatureScript
public:
npc_lunaclaw_spirit() : CreatureScript("npc_lunaclaw_spirit") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (player->GetQuestStatus(QUEST_BODY_HEART_A) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_BODY_HEART_H) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GRANT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
@@ -295,7 +295,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -333,16 +333,16 @@ public:
uint32 ResetFlagTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ResetFlagTimer = 120000;
me->setFaction(FACTION_CHICKEN);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
// 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))
@@ -360,7 +360,7 @@ public:
DoMeleeAttackIfReady();
}
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
switch (emote)
{
@@ -384,12 +384,12 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_chicken_cluckAI(creature);
}
- bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_CLUCK)
CAST_AI(npc_chicken_cluck::npc_chicken_cluckAI, creature->AI())->Reset();
@@ -397,7 +397,7 @@ public:
return true;
}
- bool OnQuestComplete(Player* /*player*/, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestComplete(Player* /*player*/, Creature* creature, Quest const* quest) override
{
if (quest->GetQuestId() == QUEST_CLUCK)
CAST_AI(npc_chicken_cluck::npc_chicken_cluckAI, creature->AI())->Reset();
@@ -429,7 +429,7 @@ public:
bool Active;
uint32 CanIteract;
- void Reset() OVERRIDE
+ void Reset() override
{
Active = true;
CanIteract = 3500;
@@ -442,7 +442,7 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!Active)
{
@@ -457,9 +457,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
if (me->IsWithinLOS(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()) && me->IsWithinDistInMap(player, 30.0f))
{
@@ -489,7 +489,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_dancing_flamesAI(creature);
}
@@ -583,7 +583,7 @@ public:
std::list<uint64> Patients;
std::vector<Location*> Coordinates;
- void Reset() OVERRIDE
+ void Reset() override
{
PlayerGUID = 0;
@@ -684,12 +684,12 @@ public:
}
}
- void UpdateAI(uint32 diff) OVERRIDE;
+ void UpdateAI(uint32 diff) override;
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
};
- bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
+ bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
{
if ((quest->GetQuestId() == 6624) || (quest->GetQuestId() == 6622))
CAST_AI(npc_doctor::npc_doctorAI, creature->AI())->BeginEvent(player);
@@ -697,7 +697,7 @@ public:
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_doctorAI(creature);
}
@@ -719,7 +719,7 @@ public:
uint64 DoctorGUID;
Location* Coord;
- void Reset() OVERRIDE
+ void Reset() override
{
DoctorGUID = 0;
Coord = NULL;
@@ -752,9 +752,9 @@ public:
}
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
Player* player = caster->ToPlayer();
if (!player || !me->IsAlive() || spell->Id != 20804)
@@ -794,7 +794,7 @@ public:
}
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
//lower HP on every world tick makes it a useful counter, not officlone though
if (me->IsAlive() && me->GetHealth() > 6)
@@ -814,7 +814,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_injured_patientAI(creature);
}
@@ -921,7 +921,7 @@ public:
uint32 RunAwayTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
CasterGUID = 0;
@@ -935,9 +935,9 @@ public:
me->SetHealth(me->CountPctFromMaxHealth(70));
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void SpellHit(Unit* caster, SpellInfo const* spell) OVERRIDE
+ void SpellHit(Unit* caster, SpellInfo const* spell) override
{
if (spell->Id == SPELL_LESSER_HEAL_R2 || spell->Id == SPELL_FORTITUDE_R1)
{
@@ -1047,12 +1047,12 @@ public:
}
}
- void WaypointReached(uint32 /*waypointId*/) OVERRIDE
+ void WaypointReached(uint32 /*waypointId*/) override
{
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (CanRun && !me->IsInCombat())
{
@@ -1086,7 +1086,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_garments_of_questsAI(creature);
}
@@ -1110,16 +1110,16 @@ public:
{
npc_guardianAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE
+ void EnterCombat(Unit* /*who*/) override
{
}
- void UpdateAI(uint32 /*diff*/) OVERRIDE
+ void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
@@ -1132,7 +1132,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_guardianAI(creature);
}
@@ -1147,7 +1147,7 @@ class npc_mount_vendor : public CreatureScript
public:
npc_mount_vendor() : CreatureScript("npc_mount_vendor") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -1227,7 +1227,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_TRADE)
@@ -1278,7 +1278,7 @@ class npc_sayge : public CreatureScript
public:
npc_sayge() : CreatureScript("npc_sayge") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -1347,7 +1347,7 @@ public:
}
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (sender)
@@ -1409,8 +1409,8 @@ public:
{
npc_steam_tonkAI(Creature* creature) : ScriptedAI(creature) { }
- void Reset() OVERRIDE { }
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void Reset() override { }
+ void EnterCombat(Unit* /*who*/) override { }
void OnPossess(bool apply)
{
@@ -1427,7 +1427,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_steam_tonkAI(creature);
}
@@ -1452,17 +1452,17 @@ public:
uint32 ExplosionTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
ExplosionTimer = 3000;
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
- void AttackStart(Unit* /*who*/) OVERRIDE { }
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
+ void AttackStart(Unit* /*who*/) override { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (ExplosionTimer <= diff)
{
@@ -1474,7 +1474,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_tonk_mineAI(creature);
}
@@ -1498,7 +1498,7 @@ class npc_brewfest_reveler : public CreatureScript
{
npc_brewfest_revelerAI(Creature* creature) : ScriptedAI(creature) { }
- void ReceiveEmote(Player* player, uint32 emote) OVERRIDE
+ void ReceiveEmote(Player* player, uint32 emote) override
{
if (!IsHolidayActive(HOLIDAY_BREWFEST))
return;
@@ -1508,7 +1508,7 @@ class npc_brewfest_reveler : public CreatureScript
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_brewfest_revelerAI(creature);
}
@@ -1537,7 +1537,7 @@ public:
uint32 resetTimer;
uint32 despawnTimer;
- void Reset() OVERRIDE
+ void Reset() override
{
me->SetControlled(true, UNIT_STATE_STUNNED);//disable rotate
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);//imune to knock aways like blast wave
@@ -1546,7 +1546,7 @@ public:
despawnTimer = 15000;
}
- void EnterEvadeMode() OVERRIDE
+ void EnterEvadeMode() override
{
if (!_EnterEvadeMode())
return;
@@ -1554,13 +1554,13 @@ public:
Reset();
}
- void DamageTaken(Unit* /*doneBy*/, uint32& damage) OVERRIDE
+ void DamageTaken(Unit* /*doneBy*/, uint32& damage) override
{
resetTimer = 5000;
damage = 0;
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
return;
@@ -1588,10 +1588,10 @@ public:
}
}
- void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { }
+ void MoveInLineOfSight(Unit* /*who*/) override { }
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_training_dummyAI(creature);
}
@@ -1631,12 +1631,12 @@ class npc_wormhole : public CreatureScript
{
npc_wormholeAI(Creature* creature) : PassiveAI(creature) { }
- void InitializeAI() OVERRIDE
+ void InitializeAI() override
{
_showUnderground = urand(0, 100) == 0; // Guessed value, it is really rare though
}
- uint32 GetData(uint32 type) const OVERRIDE
+ uint32 GetData(uint32 type) const override
{
return (type == DATA_SHOW_UNDERGROUND && _showUnderground) ? 1 : 0;
}
@@ -1645,7 +1645,7 @@ class npc_wormhole : public CreatureScript
bool _showUnderground;
};
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsSummon())
{
@@ -1667,7 +1667,7 @@ class npc_wormhole : public CreatureScript
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
@@ -1702,7 +1702,7 @@ class npc_wormhole : public CreatureScript
return true;
}
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_wormholeAI(creature);
}
@@ -1729,7 +1729,7 @@ class npc_pet_trainer : public CreatureScript
public:
npc_pet_trainer() : CreatureScript("npc_pet_trainer") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -1747,7 +1747,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -1824,7 +1824,7 @@ class npc_locksmith : public CreatureScript
public:
npc_locksmith() : CreatureScript("npc_locksmith") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
// Arcatraz Key
if (player->GetQuestRewardStatus(QUEST_HOW_TO_BRAKE_IN_TO_THE_ARCATRAZ) && !player->HasItemCount(ITEM_ARCATRAZ_KEY, 1, true))
@@ -1869,7 +1869,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -1929,7 +1929,7 @@ class npc_experience : public CreatureScript
public:
npc_experience() : CreatureScript("npc_experience") { }
- bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
+ bool OnGossipHello(Player* player, Creature* creature) override
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_XP_OFF, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_XP_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
@@ -1937,7 +1937,7 @@ public:
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
+ bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override
{
player->PlayerTalkClass->ClearMenus();
bool noXPGain = player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN);
@@ -2206,7 +2206,7 @@ public:
return 0;
}
- void Reset() OVERRIDE
+ void Reset() override
{
if (GameObject* launcher = FindNearestLauncher())
{
@@ -2251,7 +2251,7 @@ public:
}
};
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_fireworkAI(creature);
}
@@ -2276,7 +2276,7 @@ class npc_spring_rabbit : public CreatureScript
public:
npc_spring_rabbit() : CreatureScript("npc_spring_rabbit") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ CreatureAI* GetAI(Creature* creature) const override
{
return new npc_spring_rabbitAI(creature);
}
@@ -2291,7 +2291,7 @@ public:
uint32 searchTimer;
uint64 rabbitGUID;
- void Reset() OVERRIDE
+ void Reset() override
{
inLove = false;
rabbitGUID = 0;
@@ -2302,16 +2302,16 @@ public:
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
}
- void EnterCombat(Unit* /*who*/) OVERRIDE { }
+ void EnterCombat(Unit* /*who*/) override { }
- void DoAction(int32 /*param*/) OVERRIDE
+ void DoAction(int32 /*param*/) override
{
inLove = true;
if (Unit* owner = me->GetOwner())
owner->CastSpell(owner, SPELL_SPRING_FLING, true);
}
- void UpdateAI(uint32 diff) OVERRIDE
+ void UpdateAI(uint32 diff) override
{
if (inLove)
{
diff --git a/src/server/shared/Common.h b/src/server/shared/Common.h
index 36c186a7a34..0485b6b7cc7 100644
--- a/src/server/shared/Common.h
+++ b/src/server/shared/Common.h
@@ -61,7 +61,7 @@
#include "Define.h"
-#include "Dynamic/UnorderedMap.h"
+#include <unordered_map>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -71,12 +71,6 @@
#include <signal.h>
#include <assert.h>
-#if PLATFORM == PLATFORM_WINDOWS
-#define STRCASECMP stricmp
-#else
-#define STRCASECMP strcasecmp
-#endif
-
#include <set>
#include <list>
#include <string>
@@ -114,8 +108,6 @@
#include <float.h>
-#define I32FMT "%08I32X"
-#define I64FMT "%016I64X"
#define snprintf _snprintf
#define atoll _atoi64
#define vsnprintf _vsnprintf
@@ -126,8 +118,6 @@
#define stricmp strcasecmp
#define strnicmp strncasecmp
-#define I32FMT "%08X"
-#define I64FMT "%016llX"
#endif
diff --git a/src/server/shared/CompilerDefs.h b/src/server/shared/CompilerDefs.h
index 8a557328af4..2c2d7ea861d 100644
--- a/src/server/shared/CompilerDefs.h
+++ b/src/server/shared/CompilerDefs.h
@@ -55,12 +55,4 @@
# error "FATAL ERROR: Unknown compiler."
#endif
-#if defined(__cplusplus) && __cplusplus == 201103L
-# define COMPILER_HAS_CPP11_SUPPORT 1
-#elif _MSC_VER >= 1700
-# define COMPILER_HAS_CPP11_SUPPORT 1
-#else
-# define COMPILER_HAS_CPP11_SUPPORT 0
-#endif
-
#endif
diff --git a/src/server/shared/DataStores/DBCFileLoader.h b/src/server/shared/DataStores/DBCFileLoader.h
index 0084e3b9381..84ee6e93e68 100644
--- a/src/server/shared/DataStores/DBCFileLoader.h
+++ b/src/server/shared/DataStores/DBCFileLoader.h
@@ -91,5 +91,8 @@ class DBCFileLoader
uint32 *fieldsOffset;
unsigned char *data;
unsigned char *stringTable;
+
+ DBCFileLoader(DBCFileLoader const& right) = delete;
+ DBCFileLoader& operator=(DBCFileLoader const& right) = delete;
};
#endif
diff --git a/src/server/shared/DataStores/DBCStore.h b/src/server/shared/DataStores/DBCStore.h
index 5f252318c8d..9d5836fcf0b 100644
--- a/src/server/shared/DataStores/DBCStore.h
+++ b/src/server/shared/DataStores/DBCStore.h
@@ -63,6 +63,10 @@ struct SqlDbc
}
}
}
+
+private:
+ SqlDbc(SqlDbc const& right) = delete;
+ SqlDbc& operator=(SqlDbc const& right) = delete;
};
template<class T>
@@ -291,6 +295,9 @@ class DBCStorage
T* dataTable;
StringPoolList stringPoolList;
+
+ DBCStorage(DBCStorage const& right) = delete;
+ DBCStorage& operator=(DBCStorage const& right) = delete;
};
#endif
diff --git a/src/server/shared/Database/AdhocStatement.cpp b/src/server/shared/Database/AdhocStatement.cpp
index 15732f20849..896fefde5b7 100644
--- a/src/server/shared/Database/AdhocStatement.cpp
+++ b/src/server/shared/Database/AdhocStatement.cpp
@@ -42,13 +42,13 @@ bool BasicStatementTask::Execute()
if (m_has_result)
{
ResultSet* result = m_conn->Query(m_sql);
- if (!result || !result->GetRowCount())
+ if (!result || !result->GetRowCount() || !result->NextRow())
{
delete result;
m_result.set(QueryResult(NULL));
return false;
}
- result->NextRow();
+
m_result.set(QueryResult(result));
return true;
}
diff --git a/src/server/shared/Database/DatabaseWorker.h b/src/server/shared/Database/DatabaseWorker.h
index 14e92924ed2..dc883dd3428 100644
--- a/src/server/shared/Database/DatabaseWorker.h
+++ b/src/server/shared/Database/DatabaseWorker.h
@@ -18,6 +18,7 @@
#ifndef _WORKERTHREAD_H
#define _WORKERTHREAD_H
+#include "Define.h"
#include <ace/Task.h>
#include <ace/Activation_Queue.h>
@@ -33,9 +34,11 @@ class DatabaseWorker : protected ACE_Task_Base
int wait() { return ACE_Task_Base::wait(); }
private:
- DatabaseWorker() : ACE_Task_Base() { }
ACE_Activation_Queue* m_queue;
MySQLConnection* m_conn;
+
+ DatabaseWorker(DatabaseWorker const& right) = delete;
+ DatabaseWorker& operator=(DatabaseWorker const& right) = delete;
};
#endif
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index 6c2e961d2ad..c60458323f7 100644
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -49,8 +49,7 @@ class DatabaseWorkerPool
{
public:
/* Activity state */
- DatabaseWorkerPool() :
- _queue(new ACE_Activation_Queue())
+ DatabaseWorkerPool() : _queue(new ACE_Activation_Queue()), _connectionInfo(NULL)
{
memset(_connectionCount, 0, sizeof(_connectionCount));
_connections.resize(IDX_SIZE);
@@ -66,7 +65,7 @@ class DatabaseWorkerPool
bool Open(const std::string& infoString, uint8 async_threads, uint8 synch_threads)
{
bool res = true;
- _connectionInfo = MySQLConnectionInfo(infoString);
+ _connectionInfo = new MySQLConnectionInfo(infoString);
TC_LOG_INFO("sql.driver", "Opening DatabasePool '%s'. Asynchronous connections: %u, synchronous connections: %u.",
GetDatabaseName(), async_threads, synch_threads);
@@ -75,7 +74,7 @@ class DatabaseWorkerPool
_connections[IDX_ASYNC].resize(async_threads);
for (uint8 i = 0; i < async_threads; ++i)
{
- T* t = new T(_queue, _connectionInfo);
+ T* t = new T(_queue, *_connectionInfo);
res &= t->Open();
if (res) // only check mysql version if connection is valid
WPFatal(mysql_get_server_version(t->GetHandle()) >= MIN_MYSQL_SERVER_VERSION, "TrinityCore does not support MySQL versions below 5.1");
@@ -87,7 +86,7 @@ class DatabaseWorkerPool
_connections[IDX_SYNCH].resize(synch_threads);
for (uint8 i = 0; i < synch_threads; ++i)
{
- T* t = new T(_connectionInfo);
+ T* t = new T(*_connectionInfo);
res &= t->Open();
_connections[IDX_SYNCH][i] = t;
++_connectionCount[IDX_SYNCH];
@@ -134,6 +133,9 @@ class DatabaseWorkerPool
delete _queue;
TC_LOG_INFO("sql.driver", "All connections on DatabasePool '%s' closed.", GetDatabaseName());
+
+ delete _connectionInfo;
+ _connectionInfo = NULL;
}
/**
@@ -232,13 +234,12 @@ class DatabaseWorkerPool
ResultSet* result = conn->Query(sql);
conn->Unlock();
- if (!result || !result->GetRowCount())
+ if (!result || !result->GetRowCount() || !result->NextRow())
{
delete result;
return QueryResult(NULL);
}
- result->NextRow();
return QueryResult(result);
}
@@ -508,7 +509,7 @@ class DatabaseWorkerPool
char const* GetDatabaseName() const
{
- return _connectionInfo.database.c_str();
+ return _connectionInfo->database.c_str();
}
private:
@@ -522,7 +523,7 @@ class DatabaseWorkerPool
ACE_Activation_Queue* _queue; //! Queue shared by async worker threads.
std::vector< std::vector<T*> > _connections;
uint32 _connectionCount[2]; //! Counter of MySQL connections;
- MySQLConnectionInfo _connectionInfo;
+ MySQLConnectionInfo* _connectionInfo;
};
#endif
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index eeda7b0a619..f2e9ed88e2e 100644
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -59,18 +59,10 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_SEL_CHARACTER_NAME_DATA, "SELECT race, class, gender, level FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_POSITION_XYZ, "SELECT map, position_x, position_y, position_z FROM characters WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_CHAR_POSITION, "SELECT position_x, position_y, position_z, orientation, map, taxi_path FROM characters WHERE guid = ?", CONNECTION_SYNCH);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_DAILY, "DELETE FROM character_queststatus_daily", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_WEEKLY, "DELETE FROM character_queststatus_weekly", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_MONTHLY, "DELETE FROM character_queststatus_monthly", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_SEASONAL, "DELETE FROM character_queststatus_seasonal WHERE event = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_DAILY_CHAR, "DELETE FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR, "DELETE FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_MONTHLY_CHAR, "DELETE FROM character_queststatus_monthly WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR, "DELETE FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC);
+
PrepareStatement(CHAR_DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_BATTLEGROUND_RANDOM, "INSERT INTO character_battleground_random (guid) VALUES (?)", CONNECTION_ASYNC);
- // Start LoginQueryHolder content
PrepareStatement(CHAR_SEL_CHARACTER, "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, "
"position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, "
"resettalents_time, talentTree, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, instance_mode_mask, "
@@ -85,14 +77,24 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_SEL_CHARACTER_SPELL, "SELECT spell, active, disabled FROM character_spell WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUS, "SELECT quest, status, explored, timer, mobcount1, mobcount2, mobcount3, mobcount4, "
"itemcount1, itemcount2, itemcount3, itemcount4, playercount FROM character_queststatus WHERE guid = ? AND status <> 0", CONNECTION_ASYNC);
- PrepareStatement(CHAR_SEL_CHARACTER_DAILYQUESTSTATUS, "SELECT quest, time FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS, "SELECT quest FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_SEL_CHARACTER_MONTHLYQUESTSTATUS, "SELECT quest FROM character_queststatus_monthly WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS, "SELECT quest, event FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_CHARACTER_DAILYQUESTSTATUS, "INSERT INTO character_queststatus_daily (guid, quest, time) VALUES (?, ?, ?)", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS, "INSERT INTO character_queststatus_weekly (guid, quest) VALUES (?, ?)", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_CHARACTER_MONTHLYQUESTSTATUS, "INSERT INTO character_queststatus_monthly (guid, quest) VALUES (?, ?)", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_CHARACTER_SEASONALQUESTSTATUS, "INSERT INTO character_queststatus_seasonal (guid, quest, event) VALUES (?, ?, ?)", CONNECTION_ASYNC);
+
+ PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_DAILY, "SELECT quest, time FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_WEEKLY, "SELECT quest FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_MONTHLY, "SELECT quest FROM character_queststatus_monthly WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUS_SEASONAL, "SELECT quest, event FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_DAILY, "DELETE FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_WEEKLY, "DELETE FROM character_queststatus_weekly WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_MONTHLY, "DELETE FROM character_queststatus_monthly WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_CHARACTER_QUESTSTATUS_SEASONAL, "DELETE FROM character_queststatus_seasonal WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY, "INSERT INTO character_queststatus_daily (guid, quest, time) VALUES (?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_CHARACTER_QUESTSTATUS_WEEKLY, "INSERT INTO character_queststatus_weekly (guid, quest) VALUES (?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_CHARACTER_QUESTSTATUS_MONTHLY, "INSERT INTO character_queststatus_monthly (guid, quest) VALUES (?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_CHARACTER_QUESTSTATUS_SEASONAL, "INSERT INTO character_queststatus_seasonal (guid, quest, event) VALUES (?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_DAILY, "DELETE FROM character_queststatus_daily", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_WEEKLY, "DELETE FROM character_queststatus_weekly", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_MONTHLY, "DELETE FROM character_queststatus_monthly", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_SEASONAL_BY_EVENT, "DELETE FROM character_queststatus_seasonal WHERE event = ?", CONNECTION_ASYNC);
+
PrepareStatement(CHAR_SEL_CHARACTER_REPUTATION, "SELECT faction, standing, flags FROM character_reputation WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_INVENTORY, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, bag, slot, "
"item, itemEntry FROM character_inventory ci JOIN item_instance ii ON ci.item = ii.guid WHERE ci.guid = ? ORDER BY bag, slot", CONNECTION_ASYNC);
@@ -120,7 +122,6 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_SEL_CHARACTER_BANNED, "SELECT guid FROM character_banned WHERE guid = ? AND active = 1", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_CHARACTER_QUESTSTATUSREW, "SELECT quest FROM character_queststatus_rewarded WHERE guid = ? AND active = 1", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_ACCOUNT_INSTANCELOCKTIMES, "SELECT instanceId, releaseTime FROM account_instance_times WHERE accountId = ?", CONNECTION_ASYNC);
- // End LoginQueryHolder content
PrepareStatement(CHAR_SEL_CHARACTER_ACTIONS_SPEC, "SELECT button, action, type FROM character_action WHERE guid = ? AND spec = ? ORDER BY button", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_MAILITEMS, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, item_guid, itemEntry, owner_guid FROM mail_items mi JOIN item_instance ii ON mi.item_guid = ii.guid WHERE mail_id = ?", CONNECTION_SYNCH);
@@ -392,7 +393,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_UPD_PETITION_NAME, "UPDATE petition SET name = ? WHERE petitionguid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_PETITION_SIGNATURE, "INSERT INTO petition_sign (ownerguid, petitionguid, playerguid, player_account) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_ACCOUNT_ONLINE, "UPDATE characters SET online = 0 WHERE account = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_INS_GROUP, "INSERT INTO groups (guid, leaderGuid, lootMethod, looterGuid, lootThreshold, icon1, icon2, icon3, icon4, icon5, icon6, icon7, icon8, groupType, difficulty, raiddifficulty) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_GROUP, "INSERT INTO groups (guid, leaderGuid, lootMethod, looterGuid, lootThreshold, icon1, icon2, icon3, icon4, icon5, icon6, icon7, icon8, groupType, difficulty, raiddifficulty, masterLooterGuid) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_GROUP_MEMBER, "INSERT INTO group_member (guid, memberGuid, memberFlags, subgroup, roles) VALUES(?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GROUP_MEMBER, "DELETE FROM group_member WHERE memberGuid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GROUP_INSTANCE_PERM_BINDING, "DELETE FROM group_instance WHERE guid = ? AND instance = ?", CONNECTION_ASYNC);
@@ -406,7 +407,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_DEL_INVALID_SPELL_TALENTS, "DELETE FROM character_talent WHERE spell = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_SPELL_SPELLS, "DELETE FROM character_spell WHERE spell = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_DELETE_INFO, "UPDATE characters SET deleteInfos_Name = name, deleteInfos_Account = account, deleteDate = UNIX_TIMESTAMP(), name = '', account = 0 WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_UDP_RESTORE_DELETE_INFO, "UPDATE characters SET name = ?, account = ?, deleteDate = NULL, deleteInfos_Name = NULL, deleteInfos_Account = NULL WHERE deleteDate IS NOT NULL AND guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_UPD_RESTORE_DELETE_INFO, "UPDATE characters SET name = ?, account = ?, deleteDate = NULL, deleteInfos_Name = NULL, deleteInfos_Account = NULL WHERE deleteDate IS NOT NULL AND guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_ZONE, "UPDATE characters SET zone = ? WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_LEVEL, "UPDATE characters SET level = ?, xp = 0 WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA, "DELETE FROM character_achievement_progress WHERE criteria = ?", CONNECTION_ASYNC);
@@ -532,10 +533,9 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_DEL_GUILD_EVENTLOG_BY_PLAYER, "DELETE FROM guild_eventlog WHERE PlayerGuid1 = ? OR PlayerGuid2 = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_GUILD_BANK_EVENTLOG_BY_PLAYER, "DELETE FROM guild_bank_eventlog WHERE PlayerGuid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_GLYPHS, "DELETE FROM character_glyphs WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_DEL_CHAR_QUESTSTATUS_DAILY, "DELETE FROM character_queststatus_daily WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_TALENT, "DELETE FROM character_talent WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SKILLS, "DELETE FROM character_skills WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_UDP_CHAR_MONEY, "UPDATE characters SET money = ? WHERE guid = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_UPD_CHAR_MONEY, "UPDATE characters SET money = ? WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHAR_ACTION, "INSERT INTO character_action (guid, spec, button, action, type) VALUES (?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_ACTION, "UPDATE character_action SET action = ?, type = ? WHERE guid = ? AND button = ? AND spec = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_ACTION_BY_BUTTON_SPEC, "DELETE FROM character_action WHERE guid = ? and button = ? and spec = ?", CONNECTION_ASYNC);
@@ -551,7 +551,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST, "UPDATE character_queststatus_rewarded SET active = 0 WHERE quest = ? AND guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_SKILL_BY_SKILL, "DELETE FROM character_skills WHERE guid = ? AND skill = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHAR_SKILLS, "INSERT INTO character_skills (guid, skill, value, max) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
- PrepareStatement(CHAR_UDP_CHAR_SKILLS, "UPDATE character_skills SET value = ?, max = ? WHERE guid = ? AND skill = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_UPD_CHAR_SKILLS, "UPDATE character_skills SET value = ?, max = ? WHERE guid = ? AND skill = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHAR_SPELL, "INSERT INTO character_spell (guid, spell, active, disabled) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_STATS, "DELETE FROM character_stats WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_INS_CHAR_STATS, "INSERT INTO character_stats (guid, maxhealth, maxpower1, maxpower2, maxpower3, maxpower4, maxpower5, strength, agility, stamina, intellect, spirit, "
@@ -608,7 +608,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_SEL_CHAR_PETS, "SELECT id FROM character_pet WHERE owner = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME_BY_OWNER, "DELETE FROM character_pet_declinedname WHERE owner = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME, "DELETE FROM character_pet_declinedname WHERE id = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_ADD_CHAR_PET_DECLINEDNAME, "INSERT INTO character_pet_declinedname (id, owner, genitive, dative, accusative, instrumental, prepositional) VALUES (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_INS_CHAR_PET_DECLINEDNAME, "INSERT INTO character_pet_declinedname (id, owner, genitive, dative, accusative, instrumental, prepositional) VALUES (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
PrepareStatement(CHAR_SEL_PET_AURA, "SELECT caster_guid, spell, effect_mask, recalculate_mask, stackcount, amount0, amount1, amount2, base_amount0, base_amount1, base_amount2, maxduration, remaintime, remaincharges FROM pet_aura WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PET_SPELL, "SELECT spell, active FROM pet_spell WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_SEL_PET_SPELL_COOLDOWN, "SELECT spell, time FROM pet_spell_cooldown WHERE guid = ?", CONNECTION_SYNCH);
@@ -627,8 +627,8 @@ void CharacterDatabaseConnection::DoPrepareStatements()
PrepareStatement(CHAR_SEL_CHAR_PET_BY_ENTRY_AND_SLOT, "SELECT id, entry, owner, modelid, level, exp, Reactstate, slot, name, renamed, curhealth, curmana, abdata, savetime, CreatedBySpell, PetType FROM character_pet WHERE owner = ? AND slot = ?", CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_OWNER, "DELETE FROM character_pet WHERE owner = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_PET_NAME, "UPDATE character_pet SET name = ?, renamed = 1 WHERE owner = ? AND id = ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID, "UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ? AND id <> ?", CONNECTION_ASYNC);
- PrepareStatement(CHAR_UDP_CHAR_PET_SLOT_BY_SLOT, "UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID, "UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ? AND id <> ?", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT, "UPDATE character_pet SET slot = ? WHERE owner = ? AND slot = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_UPD_CHAR_PET_SLOT_BY_ID, "UPDATE character_pet SET slot = ? WHERE owner = ? AND id = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_ID, "DELETE FROM character_pet WHERE id = ?", CONNECTION_ASYNC);
PrepareStatement(CHAR_DEL_CHAR_PET_BY_SLOT, "DELETE FROM character_pet WHERE owner = ? AND (slot = ? OR slot > ?)", CONNECTION_ASYNC);
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h
index 7f815c9f2f1..7fd299852c1 100755..100644
--- a/src/server/shared/Database/Implementation/CharacterDatabase.h
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.h
@@ -71,14 +71,7 @@ enum CharacterDatabaseStatements
CHAR_SEL_CHARACTER_NAME_DATA,
CHAR_SEL_CHAR_POSITION_XYZ,
CHAR_SEL_CHAR_POSITION,
- CHAR_DEL_QUEST_STATUS_DAILY,
- CHAR_DEL_QUEST_STATUS_WEEKLY,
- CHAR_DEL_QUEST_STATUS_MONTHLY,
- CHAR_DEL_QUEST_STATUS_SEASONAL,
- CHAR_DEL_QUEST_STATUS_DAILY_CHAR,
- CHAR_DEL_QUEST_STATUS_WEEKLY_CHAR,
- CHAR_DEL_QUEST_STATUS_MONTHLY_CHAR,
- CHAR_DEL_QUEST_STATUS_SEASONAL_CHAR,
+
CHAR_DEL_BATTLEGROUND_RANDOM,
CHAR_INS_BATTLEGROUND_RANDOM,
@@ -88,14 +81,24 @@ enum CharacterDatabaseStatements
CHAR_SEL_CHARACTER_AURAS,
CHAR_SEL_CHARACTER_SPELL,
CHAR_SEL_CHARACTER_QUESTSTATUS,
- CHAR_SEL_CHARACTER_DAILYQUESTSTATUS,
- CHAR_SEL_CHARACTER_WEEKLYQUESTSTATUS,
- CHAR_SEL_CHARACTER_MONTHLYQUESTSTATUS,
- CHAR_SEL_CHARACTER_SEASONALQUESTSTATUS,
- CHAR_INS_CHARACTER_DAILYQUESTSTATUS,
- CHAR_INS_CHARACTER_WEEKLYQUESTSTATUS,
- CHAR_INS_CHARACTER_MONTHLYQUESTSTATUS,
- CHAR_INS_CHARACTER_SEASONALQUESTSTATUS,
+
+ CHAR_SEL_CHARACTER_QUESTSTATUS_DAILY,
+ CHAR_SEL_CHARACTER_QUESTSTATUS_WEEKLY,
+ CHAR_SEL_CHARACTER_QUESTSTATUS_MONTHLY,
+ CHAR_SEL_CHARACTER_QUESTSTATUS_SEASONAL,
+ CHAR_DEL_CHARACTER_QUESTSTATUS_DAILY,
+ CHAR_DEL_CHARACTER_QUESTSTATUS_WEEKLY,
+ CHAR_DEL_CHARACTER_QUESTSTATUS_MONTHLY,
+ CHAR_DEL_CHARACTER_QUESTSTATUS_SEASONAL,
+ CHAR_INS_CHARACTER_QUESTSTATUS_DAILY,
+ CHAR_INS_CHARACTER_QUESTSTATUS_WEEKLY,
+ CHAR_INS_CHARACTER_QUESTSTATUS_MONTHLY,
+ CHAR_INS_CHARACTER_QUESTSTATUS_SEASONAL,
+ CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_DAILY,
+ CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_WEEKLY,
+ CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_MONTHLY,
+ CHAR_DEL_RESET_CHARACTER_QUESTSTATUS_SEASONAL_BY_EVENT,
+
CHAR_SEL_CHARACTER_REPUTATION,
CHAR_SEL_CHARACTER_INVENTORY,
CHAR_SEL_CHARACTER_ACTIONS,
@@ -341,7 +344,7 @@ enum CharacterDatabaseStatements
CHAR_DEL_INVALID_SPELL_SPELLS,
CHAR_DEL_INVALID_SPELL_TALENTS,
CHAR_UPD_DELETE_INFO,
- CHAR_UDP_RESTORE_DELETE_INFO,
+ CHAR_UPD_RESTORE_DELETE_INFO,
CHAR_UPD_ZONE,
CHAR_UPD_LEVEL,
CHAR_DEL_INVALID_ACHIEV_PROGRESS_CRITERIA,
@@ -466,10 +469,9 @@ enum CharacterDatabaseStatements
CHAR_DEL_GUILD_EVENTLOG_BY_PLAYER,
CHAR_DEL_GUILD_BANK_EVENTLOG_BY_PLAYER,
CHAR_DEL_CHAR_GLYPHS,
- CHAR_DEL_CHAR_QUESTSTATUS_DAILY,
CHAR_DEL_CHAR_TALENT,
CHAR_DEL_CHAR_SKILLS,
- CHAR_UDP_CHAR_MONEY,
+ CHAR_UPD_CHAR_MONEY,
CHAR_INS_CHAR_ACTION,
CHAR_UPD_CHAR_ACTION,
CHAR_DEL_CHAR_ACTION_BY_BUTTON_SPEC,
@@ -485,7 +487,7 @@ enum CharacterDatabaseStatements
CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST,
CHAR_DEL_CHAR_SKILL_BY_SKILL,
CHAR_INS_CHAR_SKILLS,
- CHAR_UDP_CHAR_SKILLS,
+ CHAR_UPD_CHAR_SKILLS,
CHAR_INS_CHAR_SPELL,
CHAR_DEL_CHAR_STATS,
CHAR_INS_CHAR_STATS,
@@ -543,10 +545,10 @@ enum CharacterDatabaseStatements
CHAR_SEL_CHAR_PET_BY_ENTRY_AND_SLOT_2,
CHAR_SEL_CHAR_PET_BY_SLOT,
CHAR_DEL_CHAR_PET_DECLINEDNAME,
- CHAR_ADD_CHAR_PET_DECLINEDNAME,
+ CHAR_INS_CHAR_PET_DECLINEDNAME,
CHAR_UPD_CHAR_PET_NAME,
- CHAR_UDP_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID,
- CHAR_UDP_CHAR_PET_SLOT_BY_SLOT,
+ CHAR_UPD_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID,
+ CHAR_UPD_CHAR_PET_SLOT_BY_SLOT,
CHAR_UPD_CHAR_PET_SLOT_BY_ID,
CHAR_DEL_CHAR_PET_BY_ID,
CHAR_DEL_CHAR_PET_BY_SLOT,
diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp
index f64ad558e74..800f9eafb60 100644
--- a/src/server/shared/Database/Implementation/WorldDatabase.cpp
+++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp
@@ -25,7 +25,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_SEL_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest", CONNECTION_SYNCH);
PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM linked_respawn WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_REP_CREATURE_LINKED_RESPAWN, "REPLACE INTO linked_respawn (guid, linkedGuid) VALUES (?, ?)", CONNECTION_ASYNC);
- PrepareStatement(WORLD_SEL_CREATURE_TEXT, "SELECT entry, groupid, id, text, type, language, probability, emote, duration, sound FROM creature_text", CONNECTION_SYNCH);
+ PrepareStatement(WORLD_SEL_CREATURE_TEXT, "SELECT entry, groupid, id, text, type, language, probability, emote, duration, sound, BroadcastTextID FROM creature_text", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_SMART_SCRIPTS, "SELECT entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o FROM smart_scripts ORDER BY entryorguid, source_type, id, link", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_SMARTAI_WP, "SELECT entry, pointid, position_x, position_y, position_z FROM waypoints ORDER BY entry, pointid", CONNECTION_SYNCH);
PrepareStatement(WORLD_DEL_GAMEOBJECT, "DELETE FROM gameobject WHERE guid = ?", CONNECTION_ASYNC);
@@ -38,7 +38,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_DEL_NPC_VENDOR, "DELETE FROM npc_vendor WHERE entry = ? AND item = ? AND type = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_NPC_VENDOR_REF, "SELECT item, maxcount, incrtime, ExtendedCost, type FROM npc_vendor WHERE entry = ? AND type = ? ORDER BY slot ASC", CONNECTION_SYNCH);
PrepareStatement(WORLD_UPD_CREATURE_MOVEMENT_TYPE, "UPDATE creature SET MovementType = ? WHERE guid = ?", CONNECTION_ASYNC);
- PrepareStatement(WORLD_UPD_CREATURE_FACTION, "UPDATE creature_template SET faction_A = ?, faction_H = ? WHERE entry = ?", CONNECTION_ASYNC);
+ PrepareStatement(WORLD_UPD_CREATURE_FACTION, "UPDATE creature_template SET faction = ? WHERE entry = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_UPD_CREATURE_NPCFLAG, "UPDATE creature_template SET npcflag = ? WHERE entry = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_UPD_CREATURE_POSITION, "UPDATE creature SET position_x = ?, position_y = ?, position_z = ?, orientation = ? WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_UPD_CREATURE_SPAWN_DISTANCE, "UPDATE creature SET spawndist = ?, MovementType = ? WHERE guid = ?", CONNECTION_ASYNC);
@@ -76,7 +76,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
PrepareStatement(WORLD_SEL_WAYPOINT_SCRIPT_ID_BY_GUID, "SELECT id FROM waypoint_scripts WHERE guid = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_DEL_CREATURE, "DELETE FROM creature WHERE guid = ?", CONNECTION_ASYNC);
PrepareStatement(WORLD_SEL_COMMANDS, "SELECT name, permission, 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, exp_unk, 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_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, type_flags2, 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, Mana_mod_extra, 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_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, exp_unk, faction, 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_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, type_flags2, 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, Mana_mod_extra, 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_ITEM_TEMPLATE_BY_NAME, "SELECT entry FROM item_template WHERE name = ?", CONNECTION_SYNCH);
PrepareStatement(WORLD_SEL_CREATURE_BY_ID, "SELECT guid FROM creature WHERE id = ?", CONNECTION_SYNCH);
diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h
index 161f459a7ad..512df7c16c7 100644
--- a/src/server/shared/Database/MySQLConnection.h
+++ b/src/server/shared/Database/MySQLConnection.h
@@ -38,8 +38,7 @@ enum ConnectionFlags
struct MySQLConnectionInfo
{
- MySQLConnectionInfo() { }
- MySQLConnectionInfo(const std::string& infoString)
+ explicit MySQLConnectionInfo(std::string const& infoString)
{
Tokenizer tokens(infoString, ';');
@@ -132,6 +131,9 @@ class MySQLConnection
MySQLConnectionInfo& m_connectionInfo; //! Connection info (used for logging)
ConnectionFlags m_connectionFlags; //! Connection flags (for preparing relevant statements)
ACE_Thread_Mutex m_Mutex;
+
+ MySQLConnection(MySQLConnection const& right) = delete;
+ MySQLConnection& operator=(MySQLConnection const& right) = delete;
};
#endif
diff --git a/src/server/shared/Database/PreparedStatement.h b/src/server/shared/Database/PreparedStatement.h
index 6a4d03bfb4d..6afb309db2c 100644
--- a/src/server/shared/Database/PreparedStatement.h
+++ b/src/server/shared/Database/PreparedStatement.h
@@ -101,6 +101,9 @@ class PreparedStatement
MySQLPreparedStatement* m_stmt;
uint32 m_index;
std::vector<PreparedStatementData> statement_data; //- Buffer of parameters, not tied to MySQL in any way yet
+
+ PreparedStatement(PreparedStatement const& right) = delete;
+ PreparedStatement& operator=(PreparedStatement const& right) = delete;
};
//- Class of which the instances are unique per MySQLConnection
@@ -145,6 +148,9 @@ class MySQLPreparedStatement
uint32 m_paramCount;
std::vector<bool> m_paramsSet;
MYSQL_BIND* m_bind;
+
+ MySQLPreparedStatement(MySQLPreparedStatement const& right) = delete;
+ MySQLPreparedStatement& operator=(MySQLPreparedStatement const& right) = delete;
};
typedef ACE_Future<PreparedQueryResult> PreparedQueryResultFuture;
diff --git a/src/server/shared/Database/QueryHolder.cpp b/src/server/shared/Database/QueryHolder.cpp
index 0c80f70acd2..7b4105ee076 100644
--- a/src/server/shared/Database/QueryHolder.cpp
+++ b/src/server/shared/Database/QueryHolder.cpp
@@ -89,10 +89,9 @@ QueryResult SQLQueryHolder::GetResult(size_t index)
if (index < m_queries.size())
{
ResultSet* result = m_queries[index].second.qresult;
- if (!result || !result->GetRowCount())
+ if (!result || !result->GetRowCount() || !result->NextRow())
return QueryResult(NULL);
- result->NextRow();
return QueryResult(result);
}
else
diff --git a/src/server/shared/Database/QueryResult.h b/src/server/shared/Database/QueryResult.h
index 74320aeba19..4795fef4a4c 100644
--- a/src/server/shared/Database/QueryResult.h
+++ b/src/server/shared/Database/QueryResult.h
@@ -55,6 +55,9 @@ class ResultSet
void CleanUp();
MYSQL_RES* _result;
MYSQL_FIELD* _fields;
+
+ ResultSet(ResultSet const& right) = delete;
+ ResultSet& operator=(ResultSet const& right) = delete;
};
typedef Trinity::AutoPtr<ResultSet, ACE_Thread_Mutex> QueryResult;
@@ -100,6 +103,8 @@ class PreparedResultSet
void CleanUp();
bool _NextRow();
+ PreparedResultSet(PreparedResultSet const& right) = delete;
+ PreparedResultSet& operator=(PreparedResultSet const& right) = delete;
};
typedef Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex> PreparedQueryResult;
diff --git a/src/server/shared/Database/SQLOperation.h b/src/server/shared/Database/SQLOperation.h
index 2c404c131ae..6f933a051e3 100644
--- a/src/server/shared/Database/SQLOperation.h
+++ b/src/server/shared/Database/SQLOperation.h
@@ -69,6 +69,10 @@ class SQLOperation : public ACE_Method_Request
virtual void SetConnection(MySQLConnection* con) { m_conn = con; }
MySQLConnection* m_conn;
+
+ private:
+ SQLOperation(SQLOperation const& right) = delete;
+ SQLOperation& operator=(SQLOperation const& right) = delete;
};
#endif
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp
index fcbfa221d6a..3b6bd3d2cc8 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.cpp
+++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp
@@ -29,15 +29,23 @@
inline LPTSTR ErrorMessage(DWORD dw)
{
LPVOID lpMsgBuf;
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- dw,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) &lpMsgBuf,
- 0, NULL);
- return (LPTSTR)lpMsgBuf;
+ DWORD formatResult = FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ dw,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &lpMsgBuf,
+ 0, NULL);
+ if (formatResult != 0)
+ return (LPTSTR)lpMsgBuf;
+ else
+ {
+ LPTSTR msgBuf = (LPTSTR)LocalAlloc(LPTR, 30);
+ sprintf(msgBuf, "Unknown error: %u", dw);
+ return msgBuf;
+ }
+
}
//============================== Global Variables =============================
@@ -51,6 +59,7 @@ LPTOP_LEVEL_EXCEPTION_FILTER WheatyExceptionReport::m_previousFilter;
HANDLE WheatyExceptionReport::m_hReportFile;
HANDLE WheatyExceptionReport::m_hDumpFile;
HANDLE WheatyExceptionReport::m_hProcess;
+SymbolPairs WheatyExceptionReport::symbols;
// Declare global instance of class
WheatyExceptionReport g_WheatyExceptionReport;
@@ -78,6 +87,7 @@ WheatyExceptionReport::~WheatyExceptionReport()
{
if (m_previousFilter)
SetUnhandledExceptionFilter(m_previousFilter);
+ ClearSymbols();
}
//===========================================================
@@ -498,12 +508,12 @@ PEXCEPTION_POINTERS pExceptionInfo)
WriteStackDetails(&trashableContext, true, NULL);
printTracesForAllThreads(true);
- _tprintf(_T("========================\r\n"));
+ /*_tprintf(_T("========================\r\n"));
_tprintf(_T("Global Variables\r\n"));
SymEnumSymbols(GetCurrentProcess(),
(UINT_PTR)GetModuleHandle(szFaultingModule),
- 0, EnumerateSymbolsCallback, 0);
+ 0, EnumerateSymbolsCallback, 0);*/
// #endif // X86 Only!
SymCleanup(GetCurrentProcess());
@@ -757,10 +767,11 @@ ULONG /*SymbolSize*/,
PVOID UserContext)
{
- char szBuffer[8192];
+ char szBuffer[1024 * 64];
__try
{
+ ClearSymbols();
if (FormatSymbolValue(pSymInfo, (STACKFRAME64*)UserContext,
szBuffer, sizeof(szBuffer)))
_tprintf(_T("\t%s\r\n"), szBuffer);
@@ -862,6 +873,9 @@ char* suffix)
{
bHandled = false;
+ if (!StoreSymbol(dwTypeIndex, offset))
+ return pszCurrBuffer;
+
DWORD typeTag;
if (!SymGetTypeInfo(m_hProcess, modBase, dwTypeIndex, TI_GET_SYMTAG, &typeTag))
return pszCurrBuffer;
@@ -872,6 +886,17 @@ char* suffix)
if (SymGetTypeInfo(m_hProcess, modBase, dwTypeIndex, TI_GET_SYMNAME,
&pwszTypeName))
{
+ // handle special cases
+ if (wcscmp(pwszTypeName, L"std::basic_string<char,std::char_traits<char>,std::allocator<char> >") == 0)
+ {
+ LocalFree(pwszTypeName);
+ pszCurrBuffer += sprintf(pszCurrBuffer, " %s", "std::string");
+ pszCurrBuffer = FormatOutputValue(pszCurrBuffer, btStdString, 0, (PVOID)offset);
+ pszCurrBuffer += sprintf(pszCurrBuffer, "\r\n");
+ bHandled = true;
+ return pszCurrBuffer;
+ }
+
pszCurrBuffer += sprintf(pszCurrBuffer, " %ls", pwszTypeName);
LocalFree(pwszTypeName);
}
@@ -879,12 +904,16 @@ char* suffix)
if (strlen(suffix) > 0)
pszCurrBuffer += sprintf(pszCurrBuffer, "%s", suffix);
+ DWORD innerTypeID;
switch (typeTag)
{
case SymTagPointerType:
- DWORD innerTypeID;
if (SymGetTypeInfo(m_hProcess, modBase, dwTypeIndex, TI_GET_TYPEID, &innerTypeID))
{
+#define MAX_NESTING_LEVEL 5
+ if (nestingLevel >= MAX_NESTING_LEVEL)
+ break;
+
pszCurrBuffer += sprintf(pszCurrBuffer, " %s", Name);
BOOL isReference;
SymGetTypeInfo(m_hProcess, modBase, dwTypeIndex, TI_GET_IS_REFERENCE, &isReference);
@@ -908,7 +937,7 @@ char* suffix)
LocalFree(pwszTypeName);
}
- pszCurrBuffer += sprintf(pszCurrBuffer, "%s = NULL", addressStr);
+ pszCurrBuffer += sprintf(pszCurrBuffer, "%s = NULL\r\n", addressStr);
bHandled = true;
return pszCurrBuffer;
@@ -918,9 +947,42 @@ char* suffix)
FormatOutputValue(&addressStr[1], btVoid, sizeof(PVOID), (PVOID)offset);
pszCurrBuffer = DumpTypeIndex(pszCurrBuffer, modBase, innerTypeID, nestingLevel + 1,
address, bHandled, "", addressStr);
+
+ if (!bHandled)
+ {
+ BasicType basicType = GetBasicType(dwTypeIndex, modBase);
+ pszCurrBuffer += sprintf(pszCurrBuffer, rgBaseType[basicType]);
+ // Get the size of the child member
+ ULONG64 length;
+ SymGetTypeInfo(m_hProcess, modBase, innerTypeID, TI_GET_LENGTH, &length);
+ pszCurrBuffer = FormatOutputValue(pszCurrBuffer, basicType, length, (PVOID)address);
+ pszCurrBuffer += sprintf(pszCurrBuffer, "\r\n");
+ bHandled = true;
+ return pszCurrBuffer;
+ }
}
}
break;
+ case SymTagData:
+ if (SymGetTypeInfo(m_hProcess, modBase, dwTypeIndex, TI_GET_TYPEID, &innerTypeID))
+ {
+ DWORD innerTypeTag;
+ if (!SymGetTypeInfo(m_hProcess, modBase, innerTypeID, TI_GET_SYMTAG, &innerTypeTag))
+ break;
+
+ if (innerTypeTag == SymTagPointerType)
+ {
+ pszCurrBuffer += sprintf(pszCurrBuffer, " %s", Name);
+
+ pszCurrBuffer = DumpTypeIndex(pszCurrBuffer, modBase, innerTypeID, nestingLevel + 1,
+ offset, bHandled, "", "");
+ }
+ }
+ break;
+ case SymTagBaseType:
+ break;
+ case SymTagEnum:
+ return pszCurrBuffer;
default:
break;
}
@@ -937,7 +999,7 @@ char* suffix)
// TI_FINDCHILDREN_PARAMS struct has. Use derivation to accomplish this.
struct FINDCHILDREN : TI_FINDCHILDREN_PARAMS
{
- ULONG MoreChildIds[1024];
+ ULONG MoreChildIds[1024*2];
FINDCHILDREN(){Count = sizeof(MoreChildIds) / sizeof(MoreChildIds[0]);}
} children;
@@ -997,13 +1059,6 @@ char* suffix)
ULONG64 length;
SymGetTypeInfo(m_hProcess, modBase, typeId, TI_GET_LENGTH, &length);
- // BasicType basicType = GetBasicType(children.ChildId[i], modBase);
- //
- // pszCurrBuffer += sprintf(pszCurrBuffer, rgBaseType[basicType]);
- //
- // Emit the variable name
- // pszCurrBuffer += sprintf(pszCurrBuffer, "\'%s\'", Name);
-
pszCurrBuffer = FormatOutputValue(pszCurrBuffer, basicType,
length, (PVOID)dwFinalOffset);
@@ -1022,41 +1077,60 @@ PVOID pAddress)
{
__try
{
- // Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
- if (length == 1)
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PBYTE)pAddress);
- else if (length == 2)
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PWORD)pAddress);
- else if (length == 4)
+ switch (basicType)
{
- if (basicType == btFloat)
- {
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %f", *(PFLOAT)pAddress);
- }
- else if (basicType == btChar)
- {
- if (!IsBadStringPtr(*(PSTR*)pAddress, 32))
+ case btChar:
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = \"%s\"", pAddress);
+ break;
+ case btStdString:
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = \"%s\"", static_cast<std::string*>(pAddress)->c_str());
+ break;
+ default:
+ // Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
+ if (length == 1)
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PBYTE)pAddress);
+ else if (length == 2)
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PWORD)pAddress);
+ else if (length == 4)
{
- pszCurrBuffer += sprintf(pszCurrBuffer, " = \"%.31s\"",
- *(PSTR*)pAddress);
+ if (basicType == btFloat)
+ {
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %f", *(PFLOAT)pAddress);
+ }
+ else if (basicType == btChar)
+ {
+ if (!IsBadStringPtr(*(PSTR*)pAddress, 32))
+ {
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = \"%.31s\"",
+ *(PSTR*)pAddress);
+ }
+ else
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %X",
+ *(PDWORD)pAddress);
+ }
+ else
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PDWORD)pAddress);
+ }
+ else if (length == 8)
+ {
+ if (basicType == btFloat)
+ {
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %lf",
+ *(double *)pAddress);
+ }
+ else
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %I64X",
+ *(DWORD64*)pAddress);
}
else
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %X",
- *(PDWORD)pAddress);
- }
- else
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", *(PDWORD)pAddress);
- }
- else if (length == 8)
- {
- if (basicType == btFloat)
- {
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %lf",
- *(double *)pAddress);
- }
- else
- pszCurrBuffer += sprintf(pszCurrBuffer, " = %I64X",
- *(DWORD64*)pAddress);
+ {
+ #if _WIN64
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %I64X", (DWORD64*)pAddress);
+ #else
+ pszCurrBuffer += sprintf(pszCurrBuffer, " = %X", (PDWORD)pAddress);
+ #endif
+ }
+ break;
}
}
__except (EXCEPTION_EXECUTE_HANDLER)
@@ -1102,7 +1176,7 @@ WheatyExceptionReport::GetBasicType(DWORD typeIndex, DWORD64 modBase)
//============================================================================
int __cdecl WheatyExceptionReport::_tprintf(const TCHAR * format, ...)
{
- TCHAR szBuff[8192];
+ TCHAR szBuff[1024 * 64];
int retValue;
DWORD cbWritten;
va_list argptr;
@@ -1116,4 +1190,14 @@ int __cdecl WheatyExceptionReport::_tprintf(const TCHAR * format, ...)
return retValue;
}
+bool WheatyExceptionReport::StoreSymbol(DWORD type, DWORD_PTR offset)
+{
+ return symbols.insert(SymbolPair(type, offset)).second;
+}
+
+void WheatyExceptionReport::ClearSymbols()
+{
+ symbols.clear();
+}
+
#endif // _WIN32
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/server/shared/Debugging/WheatyExceptionReport.h
index 48894a5db91..f6d6b7f4b9e 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.h
+++ b/src/server/shared/Debugging/WheatyExceptionReport.h
@@ -4,7 +4,7 @@
#if PLATFORM == PLATFORM_WINDOWS && !defined(__MINGW32__)
#include <dbghelp.h>
-
+#include <set>
#if _MSC_VER < 1400
# define countof(array) (sizeof(array) / sizeof(array[0]))
#else
@@ -31,7 +31,10 @@ enum BasicType // Stolen from CVCON
btComplex = 28,
btBit = 29,
btBSTR = 30,
- btHresult = 31
+ btHresult = 31,
+
+ // Custom types
+ btStdString = 101
};
const char* const rgBaseType[] =
@@ -70,6 +73,25 @@ const char* const rgBaseType[] =
" HRESULT " // btHresult = 31
};
+struct SymbolPair
+{
+ SymbolPair(DWORD type, DWORD_PTR offset)
+ {
+ _type = type;
+ _offset = offset;
+ }
+
+ bool operator<(const SymbolPair& other) const
+ {
+ return _offset < other._offset ||
+ (_offset == other._offset && _type < other._type);
+ }
+
+ DWORD _type;
+ DWORD_PTR _offset;
+};
+typedef std::set<SymbolPair> SymbolPairs;
+
class WheatyExceptionReport
{
public:
@@ -108,6 +130,9 @@ class WheatyExceptionReport
static int __cdecl _tprintf(const TCHAR * format, ...);
+ static bool StoreSymbol(DWORD type , DWORD_PTR offset);
+ static void ClearSymbols();
+
// Variables used by the class
static TCHAR m_szLogFileName[MAX_PATH];
static TCHAR m_szDumpFileName[MAX_PATH];
@@ -115,6 +140,7 @@ class WheatyExceptionReport
static HANDLE m_hReportFile;
static HANDLE m_hDumpFile;
static HANDLE m_hProcess;
+ static SymbolPairs symbols;
};
extern WheatyExceptionReport g_WheatyExceptionReport; // global instance of class
diff --git a/src/server/shared/Define.h b/src/server/shared/Define.h
index a7fbfda641c..0d62ccb4e83 100644
--- a/src/server/shared/Define.h
+++ b/src/server/shared/Define.h
@@ -70,14 +70,6 @@
# define ATTR_DEPRECATED
#endif //COMPILER == COMPILER_GNU
-#if COMPILER_HAS_CPP11_SUPPORT
-# define OVERRIDE override
-# define FINAL final
-#else
-# define OVERRIDE
-# define FINAL
-#endif //COMPILER_HAS_CPP11_SUPPORT
-
#define UI64FMTD ACE_UINT64_FORMAT_SPECIFIER
#define UI64LIT(N) ACE_UINT64_LITERAL(N)
diff --git a/src/server/shared/Dynamic/HashNamespace.h b/src/server/shared/Dynamic/HashNamespace.h
deleted file mode 100644
index 0e95332c05f..00000000000
--- a/src/server/shared/Dynamic/HashNamespace.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef TRINITY_HASH_NAMESPACE_H
-#define TRINITY_HASH_NAMESPACE_H
-
-#include "Define.h"
-
-#if COMPILER_HAS_CPP11_SUPPORT
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#elif defined(_STLPORT_VERSION)
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1600 // VS100
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1500 && _HAS_TR1
-# define HASH_NAMESPACE_START namespace std { namespace tr1 {
-# define HASH_NAMESPACE_END } }
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1300
-# define HASH_NAMESPACE_START namespace stdext {
-# define HASH_NAMESPACE_END }
-
-#if !_HAS_TRADITIONAL_STL
-#ifndef HASH_NAMESPACE
-#define HASH_NAMESPACE
-#else
-
-// can be not used by some platforms, so provide fake forward
-HASH_NAMESPACE_START
-
-template<class K>
-class hash
-{
-public:
- size_t operator() (K const&);
-};
-
-HASH_NAMESPACE_END
-
-#endif
-#endif
-
-#elif COMPILER == COMPILER_INTEL
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
-# define HASH_NAMESPACE_START namespace std { namespace tr1 {
-# define HASH_NAMESPACE_END } }
-#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
-# define HASH_NAMESPACE_START namespace __gnu_cxx {
-# define HASH_NAMESPACE_END }
-
-#include <ext/hash_fun.h>
-#include <string>
-
-HASH_NAMESPACE_START
-
-template<>
-class hash<unsigned long long>
-{
-public:
- size_t operator()(const unsigned long long &__x) const { return (size_t)__x; }
-};
-
-template<typename T>
-class hash<T *>
-{
-public:
- size_t operator()(T * const &__x) const { return (size_t)__x; }
-};
-
-template<> struct hash<std::string>
-{
- size_t operator()(const std::string &__x) const
- {
- return hash<char const*>()(__x.c_str());
- }
-};
-
-HASH_NAMESPACE_END
-
-#else
-# define HASH_NAMESPACE_START namespace std {
-# define HASH_NAMESPACE_END }
-#endif
-
-#if COMPILER != COMPILER_MICROSOFT
-
-// Visual Studio use non standard hash calculation function, so provide fake forward for other
-HASH_NAMESPACE_START
-
-template<class K>
-size_t hash_value(K const&);
-
-HASH_NAMESPACE_END
-
-#endif
-
-#endif
diff --git a/src/server/shared/Dynamic/LinkedList.h b/src/server/shared/Dynamic/LinkedList.h
index 72d035c2cb6..402aaf3d40c 100644
--- a/src/server/shared/Dynamic/LinkedList.h
+++ b/src/server/shared/Dynamic/LinkedList.h
@@ -33,8 +33,8 @@ class LinkedListElement
LinkedListElement* iNext;
LinkedListElement* iPrev;
public:
- LinkedListElement(): iNext(NULL), iPrev(NULL) { }
- ~LinkedListElement() { delink(); }
+ LinkedListElement() : iNext(NULL), iPrev(NULL) { }
+ virtual ~LinkedListElement() { delink(); }
bool hasNext() const { return(iNext && iNext->iNext != NULL); }
bool hasPrev() const { return(iPrev && iPrev->iPrev != NULL); }
@@ -73,6 +73,10 @@ class LinkedListElement
iNext->iPrev = pElem;
iNext = pElem;
}
+
+ private:
+ LinkedListElement(LinkedListElement const&);
+ LinkedListElement& operator=(LinkedListElement const&);
};
//============================================
@@ -83,6 +87,7 @@ class LinkedListHead
LinkedListElement iFirst;
LinkedListElement iLast;
uint32 iSize;
+
public:
LinkedListHead(): iSize(0)
{
@@ -92,6 +97,8 @@ class LinkedListHead
iLast.iPrev = &iFirst;
}
+ virtual ~LinkedListHead() { }
+
bool isEmpty() const { return(!iFirst.iNext->isInList()); }
LinkedListElement * getFirst() { return(isEmpty() ? NULL : iFirst.iNext); }
@@ -239,6 +246,10 @@ class LinkedListHead
};
typedef Iterator<LinkedListElement> iterator;
+
+ private:
+ LinkedListHead(LinkedListHead const&);
+ LinkedListHead& operator=(LinkedListHead const&);
};
//============================================
diff --git a/src/server/shared/Dynamic/LinkedReference/Reference.h b/src/server/shared/Dynamic/LinkedReference/Reference.h
index 1ba41f1f454..83a1dd155b1 100644
--- a/src/server/shared/Dynamic/LinkedReference/Reference.h
+++ b/src/server/shared/Dynamic/LinkedReference/Reference.h
@@ -94,6 +94,10 @@ template <class TO, class FROM> class Reference : public LinkedListElement
TO* getTarget() const { return iRefTo; }
FROM* GetSource() const { return iRefFrom; }
+
+ private:
+ Reference(Reference const&);
+ Reference& operator=(Reference const&);
};
//=====================================================
diff --git a/src/server/shared/Dynamic/ObjectRegistry.h b/src/server/shared/Dynamic/ObjectRegistry.h
index 4b17b2fc558..be7ce00ac05 100644
--- a/src/server/shared/Dynamic/ObjectRegistry.h
+++ b/src/server/shared/Dynamic/ObjectRegistry.h
@@ -20,12 +20,12 @@
#define TRINITY_OBJECTREGISTRY_H
#include "Define.h"
-#include "Dynamic/UnorderedMap.h"
#include <ace/Singleton.h>
#include <string>
#include <vector>
#include <map>
+#include <unordered_map>
/** ObjectRegistry holds all registry item of the same type
*/
diff --git a/src/server/shared/Dynamic/UnorderedMap.h b/src/server/shared/Dynamic/UnorderedMap.h
deleted file mode 100644
index f97c4830c75..00000000000
--- a/src/server/shared/Dynamic/UnorderedMap.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef TRINITY_UNORDERED_MAP_H
-#define TRINITY_UNORDERED_MAP_H
-
-#include "HashNamespace.h"
-
-#if COMPILER_HAS_CPP11_SUPPORT
-# include <unordered_map>
-#elif COMPILER == COMPILER_INTEL
-# include <ext/hash_map>
-#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
-# include <unordered_map>
-#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
-# include <tr1/unordered_map>
-#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
-# include <ext/hash_map>
-#elif COMPILER == COMPILER_MICROSOFT && ((_MSC_VER >= 1500 && _HAS_TR1) || _MSC_VER >= 1700) // VC9.0 SP1 and later
-# include <unordered_map>
-#else
-# include <hash_map>
-#endif
-
-#ifdef _STLPORT_VERSION
-# define UNORDERED_MAP std::hash_map
-# define UNORDERED_MULTIMAP std::hash_multimap
-#elif COMPILER_HAS_CPP11_SUPPORT
-# define UNORDERED_MAP std::unordered_map
-# define UNORDERED_MULTIMAP std::unordered_multimap
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1600 // VS100
-# define UNORDERED_MAP std::tr1::unordered_map
-# define UNORDERED_MULTIMAP std::tr1::unordered_multimap
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1500 && _HAS_TR1
-# define UNORDERED_MAP std::tr1::unordered_map
-# define UNORDERED_MULTIMAP std::tr1::unordered_multimap
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1300
-# define UNORDERED_MAP stdext::hash_map
-# define UNORDERED_MULTIMAP stdext::hash_multimap
-#elif COMPILER == COMPILER_INTEL
-# define UNORDERED_MAP std::hash_map
-# define UNORDERED_MULTIMAP std::hash_multimap
-#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
-# define UNORDERED_MAP std::unordered_map
-# define UNORDERED_MULTIMAP std::unordered_multimap
-#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
-# define UNORDERED_MAP std::tr1::unordered_map
-# define UNORDERED_MULTIMAP std::tr1::unordered_multimap
-#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
-# define UNORDERED_MAP __gnu_cxx::hash_map
-# define UNORDERED_MULTIMAP __gnu_cxx::hash_multimap
-#else
-# define UNORDERED_MAP std::hash_map
-# define UNORDERED_MULTIMAP std::hash_multimap
-#endif
-
-#endif
diff --git a/src/server/shared/Dynamic/UnorderedSet.h b/src/server/shared/Dynamic/UnorderedSet.h
deleted file mode 100644
index 0e084698c47..00000000000
--- a/src/server/shared/Dynamic/UnorderedSet.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef TRINITY_UNORDERED_SET_H
-#define TRINITY_UNORDERED_SET_H
-
-#include "HashNamespace.h"
-
-#if COMPILER_HAS_CPP11_SUPPORT
-# include <unordered_set>
-#elif COMPILER == COMPILER_INTEL
-# include <ext/hash_set>
-#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
-# include <unordered_set>
-#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
-# include <tr1/unordered_set>
-#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
-# include <ext/hash_set>
-#elif COMPILER == COMPILER_MICROSOFT && ((_MSC_VER >= 1500 && _HAS_TR1) || _MSC_VER >= 1700) // VC9.0 SP1 and later
-# include <unordered_set>
-#else
-# include <hash_set>
-#endif
-
-#ifdef _STLPORT_VERSION
-# define UNORDERED_SET std::hash_set
-using std::hash_set;
-#elif COMPILER_HAS_CPP11_SUPPORT
-# define UNORDERED_SET std::unordered_set
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1600 // VS100
-# define UNORDERED_SET std::tr1::unordered_set
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1500 && _HAS_TR1
-# define UNORDERED_SET std::tr1::unordered_set
-#elif COMPILER == COMPILER_MICROSOFT && _MSC_VER >= 1300
-# define UNORDERED_SET stdext::hash_set
-using stdext::hash_set;
-#elif COMPILER == COMPILER_INTEL
-# define UNORDERED_SET std::hash_set
-using std::hash_set;
-#elif COMPILER == COMPILER_GNU && defined(__clang__) && defined(_LIBCPP_VERSION)
-# define UNORDERED_SET std::unordered_set
-#elif COMPILER == COMPILER_GNU && GCC_VERSION > 40200
-# define UNORDERED_SET std::tr1::unordered_set
-#elif COMPILER == COMPILER_GNU && GCC_VERSION >= 30000
-# define UNORDERED_SET __gnu_cxx::hash_set
-#else
-# define UNORDERED_SET std::hash_set
-using std::hash_set;
-#endif
-
-#endif
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index b373f0459c9..84d0dc14eca 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -20,8 +20,7 @@
#include "Define.h"
#include <time.h>
-#include "Dynamic/UnorderedMap.h"
-
+#include <unordered_map>
#include <string>
// Values assigned have their equivalent in enum ACE_Log_Priority
@@ -105,6 +104,6 @@ class Appender
AppenderFlags flags;
};
-typedef UNORDERED_MAP<uint8, Appender*> AppenderMap;
+typedef std::unordered_map<uint8, Appender*> AppenderMap;
#endif
diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/server/shared/Logging/AppenderFile.cpp
index b9c2fd7339d..f2532ad8bb8 100644
--- a/src/server/shared/Logging/AppenderFile.cpp
+++ b/src/server/shared/Logging/AppenderFile.cpp
@@ -16,6 +16,7 @@
*/
#include "AppenderFile.h"
+#include "Common.h"
#if PLATFORM == PLATFORM_WINDOWS
# include <Windows.h>
@@ -33,7 +34,8 @@ AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, co
dynamicName = std::string::npos != filename.find("%s");
backup = (_flags & APPENDER_FLAGS_MAKE_FILE_BACKUP) != 0;
- logfile = !dynamicName ? OpenFile(_filename, _mode, mode == "w" && backup) : NULL;
+ if (!dynamicName)
+ logfile = OpenFile(_filename, _mode, mode == "w" && backup);
}
AppenderFile::~AppenderFile()
@@ -49,7 +51,15 @@ void AppenderFile::_write(LogMessage const& message)
{
char namebuf[TRINITY_PATH_MAX];
snprintf(namebuf, TRINITY_PATH_MAX, filename.c_str(), message.param1.c_str());
- logfile = OpenFile(namebuf, mode, backup || exceedMaxSize);
+ // always use "a" with dynamic name otherwise it could delete the log we wrote in last _write() call
+ FILE* file = OpenFile(namebuf, "a", backup || exceedMaxSize);
+ if (!file)
+ return;
+ fprintf(file, "%s%s", message.prefix.c_str(), message.text.c_str());
+ fflush(file);
+ fileSize += uint64(message.Size());
+ fclose(file);
+ return;
}
else if (exceedMaxSize)
logfile = OpenFile(filename, "w", true);
@@ -60,9 +70,6 @@ void AppenderFile::_write(LogMessage const& message)
fprintf(logfile, "%s%s", message.prefix.c_str(), message.text.c_str());
fflush(logfile);
fileSize += uint64(message.Size());
-
- if (dynamicName)
- CloseFile();
}
FILE* AppenderFile::OpenFile(std::string const &filename, std::string const &mode, bool backup)
@@ -74,6 +81,7 @@ FILE* AppenderFile::OpenFile(std::string const &filename, std::string const &mod
std::string newName(fullName);
newName.push_back('.');
newName.append(LogMessage::getTimeStr(time(NULL)));
+ std::replace(newName.begin(), newName.end(), ':', '-');
rename(fullName.c_str(), newName.c_str()); // no error handling... if we couldn't make a backup, just ignore
}
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index d7d70e7d4ea..bc002668b3b 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -250,13 +250,13 @@ void Log::ReadLoggersFromConfig()
AppenderConsole* appender = new AppenderConsole(NextAppenderId(), "Console", LOG_LEVEL_DEBUG, APPENDER_FLAGS_NONE);
appenders[appender->getId()] = appender;
- Logger& logger = loggers[LOGGER_ROOT];
- logger.Create(LOGGER_ROOT, LOG_LEVEL_ERROR);
- logger.addAppender(appender->getId(), appender);
+ Logger& rootLogger = loggers[LOGGER_ROOT];
+ rootLogger.Create(LOGGER_ROOT, LOG_LEVEL_ERROR);
+ rootLogger.addAppender(appender->getId(), appender);
- logger = loggers["server"];
- logger.Create("server", LOG_LEVEL_ERROR);
- logger.addAppender(appender->getId(), appender);
+ Logger& serverLogger = loggers["server"];
+ serverLogger.Create("server", LOG_LEVEL_INFO);
+ serverLogger.addAppender(appender->getId(), appender);
}
}
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index dcac93e5a60..5fa638e2f40 100644
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -23,8 +23,8 @@
#include "Appender.h"
#include "Logger.h"
#include "LogWorker.h"
-#include "Dynamic/UnorderedMap.h"
+#include <unordered_map>
#include <string>
#include <ace/Singleton.h>
@@ -34,8 +34,8 @@ class Log
{
friend class ACE_Singleton<Log, ACE_Thread_Mutex>;
- typedef UNORDERED_MAP<std::string, Logger> LoggerMap;
- typedef UNORDERED_MAP<std::string, Logger const*> CachedLoggerContainer;
+ typedef std::unordered_map<std::string, Logger> LoggerMap;
+ typedef std::unordered_map<std::string, Logger const*> CachedLoggerContainer;
private:
Log();
@@ -103,16 +103,12 @@ inline Logger const* Log::GetLoggerByType(std::string const& originalType)
}
while (!logger);
- cachedLoggers[type] = logger;
+ cachedLoggers[originalType] = logger;
return logger;
}
inline bool Log::ShouldLog(std::string const& type, LogLevel level)
{
- // TODO: Use cache to store "Type.sub1.sub2": "Type" equivalence, should
- // Speed up in cases where requesting "Type.sub1.sub2" but only configured
- // Logger "Type"
-
Logger const* logger = GetLoggerByType(type);
if (!logger)
return false;
diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h
index a1369b005b7..906633a1254 100644
--- a/src/server/shared/Packets/ByteBuffer.h
+++ b/src/server/shared/Packets/ByteBuffer.h
@@ -85,6 +85,8 @@ class ByteBuffer
{
}
+ virtual ~ByteBuffer() { }
+
void clear()
{
_storage.clear();
diff --git a/src/server/shared/Threading/Callback.h b/src/server/shared/Threading/Callback.h
index b074ff49c3c..c48546bbf5c 100644
--- a/src/server/shared/Threading/Callback.h
+++ b/src/server/shared/Threading/Callback.h
@@ -109,6 +109,9 @@ class QueryCallback
ACE_Future<Result> _result;
ParamType _param;
uint8 _stage;
+
+ QueryCallback(QueryCallback const& right) = delete;
+ QueryCallback& operator=(QueryCallback const& right) = delete;
};
template <typename Result, typename ParamType1, typename ParamType2, bool chain = false>
@@ -201,6 +204,9 @@ class QueryCallback_2
ParamType1 _param_1;
ParamType2 _param_2;
uint8 _stage;
+
+ QueryCallback_2(QueryCallback_2 const& right) = delete;
+ QueryCallback_2& operator=(QueryCallback_2 const& right) = delete;
};
#endif \ No newline at end of file
diff --git a/src/server/worldserver/CommandLine/CliRunnable.h b/src/server/worldserver/CommandLine/CliRunnable.h
index 0306109ab54..5510173973e 100644
--- a/src/server/worldserver/CommandLine/CliRunnable.h
+++ b/src/server/worldserver/CommandLine/CliRunnable.h
@@ -27,7 +27,7 @@
class CliRunnable : public ACE_Based::Runnable
{
public:
- void run() OVERRIDE;
+ void run() override;
};
#endif
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp
index f4b2b542de6..c5424374f5a 100644
--- a/src/server/worldserver/Master.cpp
+++ b/src/server/worldserver/Master.cpp
@@ -95,7 +95,7 @@ public:
void SetDelayTime(uint32 t) { _delaytime = t; }
- void run() OVERRIDE
+ void run() override
{
if (!_delaytime)
return;
@@ -200,42 +200,44 @@ int Master::Run()
ACE_Based::Thread rarThread(new RARunnable);
+#if defined(_WIN32) || defined(__linux__)
+
///- Handle affinity for multiple processors and process priority
uint32 affinity = sConfigMgr->GetIntDefault("UseProcessors", 0);
bool highPriority = sConfigMgr->GetBoolDefault("ProcessPriority", false);
#ifdef _WIN32 // Windows
+
+ HANDLE hProcess = GetCurrentProcess();
+
+ if (affinity > 0)
{
- HANDLE hProcess = GetCurrentProcess();
-
- if (affinity > 0)
- {
- ULONG_PTR appAff;
- ULONG_PTR sysAff;
-
- if (GetProcessAffinityMask(hProcess, &appAff, &sysAff))
- {
- ULONG_PTR currentAffinity = affinity & appAff; // remove non accessible processors
-
- if (!currentAffinity)
- TC_LOG_ERROR("server.worldserver", "Processors marked in UseProcessors bitmask (hex) %x are not accessible for the worldserver. Accessible processors bitmask (hex): %x", affinity, appAff);
- else if (SetProcessAffinityMask(hProcess, currentAffinity))
- TC_LOG_INFO("server.worldserver", "Using processors (bitmask, hex): %x", currentAffinity);
- else
- TC_LOG_ERROR("server.worldserver", "Can't set used processors (hex): %x", currentAffinity);
- }
- }
-
- if (highPriority)
+ ULONG_PTR appAff;
+ ULONG_PTR sysAff;
+
+ if (GetProcessAffinityMask(hProcess, &appAff, &sysAff))
{
- if (SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS))
- TC_LOG_INFO("server.worldserver", "worldserver process priority class set to HIGH");
+ ULONG_PTR currentAffinity = affinity & appAff; // remove non accessible processors
+
+ if (!currentAffinity)
+ TC_LOG_ERROR("server.worldserver", "Processors marked in UseProcessors bitmask (hex) %x are not accessible for the worldserver. Accessible processors bitmask (hex): %x", affinity, appAff);
+ else if (SetProcessAffinityMask(hProcess, currentAffinity))
+ TC_LOG_INFO("server.worldserver", "Using processors (bitmask, hex): %x", currentAffinity);
else
- TC_LOG_ERROR("server.worldserver", "Can't set worldserver process priority class.");
+ TC_LOG_ERROR("server.worldserver", "Can't set used processors (hex): %x", currentAffinity);
}
}
-#elif __linux__ // Linux
-
+
+ if (highPriority)
+ {
+ if (SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS))
+ TC_LOG_INFO("server.worldserver", "worldserver process priority class set to HIGH");
+ else
+ TC_LOG_ERROR("server.worldserver", "Can't set worldserver process priority class.");
+ }
+
+#else // Linux
+
if (affinity > 0)
{
cpu_set_t mask;
@@ -262,7 +264,8 @@ int Master::Run()
else
TC_LOG_INFO("server.worldserver", "worldserver process priority class set to %i", getpriority(PRIO_PROCESS, 0));
}
-
+
+#endif
#endif
//Start soap serving thread
diff --git a/src/server/worldserver/RemoteAccess/RARunnable.h b/src/server/worldserver/RemoteAccess/RARunnable.h
index 052b532572e..540ac762f30 100644
--- a/src/server/worldserver/RemoteAccess/RARunnable.h
+++ b/src/server/worldserver/RemoteAccess/RARunnable.h
@@ -31,7 +31,7 @@ class RARunnable : public ACE_Based::Runnable
public:
RARunnable();
virtual ~RARunnable();
- void run() OVERRIDE;
+ void run() override;
private:
ACE_Reactor* m_Reactor;
diff --git a/src/server/worldserver/RemoteAccess/RASocket.h b/src/server/worldserver/RemoteAccess/RASocket.h
index ae201747010..2cbb14b3578 100644
--- a/src/server/worldserver/RemoteAccess/RASocket.h
+++ b/src/server/worldserver/RemoteAccess/RASocket.h
@@ -37,9 +37,9 @@ class RASocket : public ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
RASocket();
virtual ~RASocket() { }
- virtual int svc() OVERRIDE;
- virtual int open(void* = 0) OVERRIDE;
- virtual int handle_close(ACE_HANDLE = ACE_INVALID_HANDLE, ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK) OVERRIDE;
+ virtual int svc() override;
+ virtual int open(void* = 0) override;
+ virtual int handle_close(ACE_HANDLE = ACE_INVALID_HANDLE, ACE_Reactor_Mask = ACE_Event_Handler::ALL_EVENTS_MASK) override;
private:
int recv_line(std::string& outLine);
diff --git a/src/server/worldserver/TCSoap/TCSoap.h b/src/server/worldserver/TCSoap/TCSoap.h
index 34a3b336464..427d37ef0cc 100644
--- a/src/server/worldserver/TCSoap/TCSoap.h
+++ b/src/server/worldserver/TCSoap/TCSoap.h
@@ -29,7 +29,7 @@ class TCSoapRunnable : public ACE_Based::Runnable
public:
TCSoapRunnable() : _port(0) { }
- void run() OVERRIDE;
+ void run() override;
void SetListenArguments(const std::string& host, uint16 port)
{
diff --git a/src/server/worldserver/WorldThread/WorldRunnable.h b/src/server/worldserver/WorldThread/WorldRunnable.h
index 563a6b03827..dfc74dd1e3a 100644
--- a/src/server/worldserver/WorldThread/WorldRunnable.h
+++ b/src/server/worldserver/WorldThread/WorldRunnable.h
@@ -27,7 +27,7 @@
class WorldRunnable : public ACE_Based::Runnable
{
public:
- void run() OVERRIDE;
+ void run() override;
};
#endif
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 6d0caa707ac..12d25d98b19 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -411,78 +411,6 @@ PidFile = ""
PacketLogFile = ""
-#
-# ChatLogs.Channel
-# Description: Log custom channel chat.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Channel = 0
-
-#
-# ChatLogs.Whisper
-# Description: Log whispers between players.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Whisper = 0
-
-#
-# ChatLogs.SysChan
-# Description: Log system channel messages.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.SysChan = 0
-
-#
-# ChatLogs.Party
-# Description: Log party chat.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Party = 0
-
-#
-# ChatLogs.Raid
-# Description: Log raid chat.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Raid = 0
-
-#
-# ChatLogs.Guild
-# Description: Log guild chat.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Guild = 0
-
-#
-# ChatLogs.Public
-# Description: Log public chat (say/yell/emote).
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Public = 0
-
-#
-# ChatLogs.Addon
-# Description: Log addon messages.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.Addon = 0
-
-#
-# ChatLogs.BattleGround
-# Description: Log battleground chat.
-# Default: 0 - (Disabled)
-# 1 - (Enabled)
-
-ChatLogs.BattleGround = 0
-
# Extended Logging system configuration moved to end of file (on purpose)
#
###################################################################################################
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
index 0267f17fd6c..c2ea8a85926 100644
--- a/src/tools/CMakeLists.txt
+++ b/src/tools/CMakeLists.txt
@@ -11,9 +11,7 @@
add_subdirectory(map_extractor)
add_subdirectory(vmap4_assembler)
add_subdirectory(vmap4_extractor)
-
-#if (WITH_MESHEXTRACTOR)
-# add_subdirectory(mesh_extractor)
-#else()
-# add_subdirectory(mmaps_generator)
-#endif()
+add_subdirectory(mmaps_generator)
+if (WITH_MESHEXTRACTOR)
+ add_subdirectory(mesh_extractor)
+endif()
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index 9eafb68ca15..a4de6f92a8d 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -1114,7 +1114,7 @@ void ExtractDBCFiles(int l, bool basicLocale)
}
filename = foundFile.cFileName;
- filename = outputPath + filename.substr(filename.rfind('\\'));
+ filename = outputPath + filename.substr(filename.rfind('\\') + 1);
if (FileExists(filename.c_str()))
continue;
@@ -1161,7 +1161,7 @@ void ExtractDB2Files(int l, bool basicLocale)
}
filename = foundFile.cFileName;
- filename = outputPath + filename.substr(filename.rfind('\\'));
+ filename = outputPath + filename.substr(filename.rfind('\\') + 1);
if (ExtractFile(dbcFile, filename.c_str()))
++count;
diff --git a/src/tools/map_extractor/adt.h b/src/tools/map_extractor/adt.h
index 2395bdd1cff..9f8ada77317 100644
--- a/src/tools/map_extractor/adt.h
+++ b/src/tools/map_extractor/adt.h
@@ -40,6 +40,8 @@ enum LiquidType
#define ADT_CELL_SIZE 8
#define ADT_GRID_SIZE (ADT_CELLS_PER_GRID*ADT_CELL_SIZE)
+#pragma pack(push, 1)
+
//
// Adt file height map chunk
//
@@ -307,4 +309,6 @@ public:
adt_MCNK* cells[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID];
};
+#pragma pack(pop)
+
#endif
diff --git a/src/tools/map_extractor/dbcfile.h b/src/tools/map_extractor/dbcfile.h
index 3c71b615cc9..2bf27f5c7f6 100644
--- a/src/tools/map_extractor/dbcfile.h
+++ b/src/tools/map_extractor/dbcfile.h
@@ -86,6 +86,8 @@ class DBCFile
friend class DBCFile;
friend class DBCFile::Iterator;
+
+ Record& operator=(Record const& right);
};
/** Iterator that iterates over records
*/
@@ -118,6 +120,8 @@ class DBCFile
private:
Record record;
+
+ Iterator& operator=(Iterator const& right);
};
// Get record by id
diff --git a/src/tools/map_extractor/loadlib/loadlib.h b/src/tools/map_extractor/loadlib/loadlib.h
index 973d181f91a..2bea59e2c97 100644
--- a/src/tools/map_extractor/loadlib/loadlib.h
+++ b/src/tools/map_extractor/loadlib/loadlib.h
@@ -49,6 +49,8 @@ typedef uint8_t uint8;
#define FILE_FORMAT_VERSION 18
+#pragma pack(push, 1)
+
union u_map_fcc
{
char fcc_txt[4];
@@ -83,4 +85,7 @@ public:
bool loadFile(HANDLE mpq, char *filename, bool log = true);
virtual void free();
};
+
+#pragma pack(pop)
+
#endif
diff --git a/src/tools/map_extractor/wdt.h b/src/tools/map_extractor/wdt.h
index 3184b0727a3..d897cbfd854 100644
--- a/src/tools/map_extractor/wdt.h
+++ b/src/tools/map_extractor/wdt.h
@@ -25,6 +25,8 @@
//**************************************************************************************
#define WDT_MAP_SIZE 64
+#pragma pack(push, 1)
+
class wdt_MWMO{
union{
uint32 fcc;
@@ -83,4 +85,6 @@ public:
wdt_MWMO *wmo;
};
+#pragma pack(pop)
+
#endif \ No newline at end of file
diff --git a/src/tools/mmaps_generator/MapBuilder.cpp b/src/tools/mmaps_generator/MapBuilder.cpp
index aa02d76fe47..cc24035b05e 100644
--- a/src/tools/mmaps_generator/MapBuilder.cpp
+++ b/src/tools/mmaps_generator/MapBuilder.cpp
@@ -36,7 +36,7 @@ namespace DisableMgr
}
#define MMAP_MAGIC 0x4d4d4150 // 'MMAP'
-#define MMAP_VERSION 4
+#define MMAP_VERSION 5
struct MmapTileHeader
{
@@ -553,7 +553,9 @@ namespace MMAP
config.borderSize = config.walkableRadius + 3;
config.maxEdgeLen = VERTEX_PER_TILE + 1; // anything bigger than tileSize
config.walkableHeight = m_bigBaseUnit ? 3 : 6;
- config.walkableClimb = m_bigBaseUnit ? 2 : 4; // keep less than walkableHeight
+ // a value >= 3|6 allows npcs to walk over some fences
+ // a value >= 4|8 allows npcs to walk over all fences
+ config.walkableClimb = m_bigBaseUnit ? 4 : 8;
config.minRegionArea = rcSqr(60);
config.mergeRegionArea = rcSqr(50);
config.maxSimplificationError = 1.8f; // eliminates most jagged edges (tiny polygons)
diff --git a/src/tools/mmaps_generator/MapBuilder.h b/src/tools/mmaps_generator/MapBuilder.h
index 33f45a86549..86a6db2077c 100644
--- a/src/tools/mmaps_generator/MapBuilder.h
+++ b/src/tools/mmaps_generator/MapBuilder.h
@@ -61,7 +61,7 @@ namespace MMAP
class MapBuilder
{
public:
- MapBuilder(float maxWalkableAngle = 55.f,
+ MapBuilder(float maxWalkableAngle = 70.f,
bool skipLiquid = false,
bool skipContinents = false,
bool skipJunkMaps = true,
diff --git a/src/tools/mmaps_generator/PathGenerator.cpp b/src/tools/mmaps_generator/PathGenerator.cpp
index 1df24cfa332..d88ab8ca16d 100644
--- a/src/tools/mmaps_generator/PathGenerator.cpp
+++ b/src/tools/mmaps_generator/PathGenerator.cpp
@@ -242,7 +242,7 @@ int finish(const char* message, int returnValue)
int main(int argc, char** argv)
{
int threads = 3, mapnum = -1;
- float maxAngle = 55.0f;
+ float maxAngle = 70.0f;
int tileX = -1, tileY = -1;
bool skipLiquid = false,
skipContinents = false,
diff --git a/src/tools/vmap4_extractor/wmo.h b/src/tools/vmap4_extractor/wmo.h
index 220bb607315..c027c356ef5 100644
--- a/src/tools/vmap4_extractor/wmo.h
+++ b/src/tools/vmap4_extractor/wmo.h
@@ -67,6 +67,8 @@ struct WMOLiquidHeader
short type;
};
+#pragma pack(push, 1)
+
struct WMOLiquidVert
{
uint16 unk1;
@@ -74,6 +76,8 @@ struct WMOLiquidVert
float height;
};
+#pragma pack(pop)
+
class WMOGroup
{
private: