aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/CMakeLists.txt1
-rw-r--r--src/server/scripts/Commands/cs_account.cpp2
-rw-r--r--src/server/scripts/Commands/cs_arena.cpp8
-rw-r--r--src/server/scripts/Commands/cs_ban.cpp2
-rw-r--r--src/server/scripts/Commands/cs_character.cpp74
-rw-r--r--src/server/scripts/Commands/cs_cheat.cpp2
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp44
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp4
-rw-r--r--src/server/scripts/Commands/cs_go.cpp2
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp8
-rw-r--r--src/server/scripts/Commands/cs_group.cpp24
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp10
-rw-r--r--src/server/scripts/Commands/cs_honor.cpp6
-rw-r--r--src/server/scripts/Commands/cs_instance.cpp2
-rw-r--r--src/server/scripts/Commands/cs_lfg.cpp4
-rw-r--r--src/server/scripts/Commands/cs_list.cpp16
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp69
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp46
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp22
-rw-r--r--src/server/scripts/Commands/cs_pet.cpp2
-rw-r--r--src/server/scripts/Commands/cs_quest.cpp4
-rw-r--r--src/server/scripts/Commands/cs_reset.cpp12
-rw-r--r--src/server/scripts/Commands/cs_send.cpp12
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp10
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp8
-rw-r--r--src/server/scripts/Commands/cs_titles.cpp8
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp105
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp119
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp85
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp13
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp50
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp32
-rw-r--r--src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp19
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp31
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp39
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp42
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp55
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp42
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp19
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp9
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp18
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp43
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp97
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp31
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp65
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp21
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp23
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp34
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp50
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp78
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp26
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp20
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp17
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp44
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp7
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp16
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp3
-rw-r--r--src/server/scripts/Events/childrens_week.cpp60
-rw-r--r--src/server/scripts/Examples/example_escort.cpp2
-rw-r--r--src/server/scripts/Examples/example_spell.cpp4
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp2
-rw-r--r--src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp30
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp22
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp44
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h8
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp32
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp60
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp1
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp173
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp58
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp52
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp25
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp10
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp7
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp17
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp23
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp3
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp3
-rw-r--r--src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp5
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp14
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp8
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp28
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp40
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp25
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp18
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp7
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp20
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp34
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp11
-rw-r--r--src/server/scripts/Kalimdor/zone_azshara.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp14
-rw-r--r--src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_desolace.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_durotar.cpp8
-rw-r--r--src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp2
-rw-r--r--src/server/scripts/Kalimdor/zone_moonglade.cpp10
-rw-r--r--src/server/scripts/Kalimdor/zone_mulgore.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_orgrimmar.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp44
-rw-r--r--src/server/scripts/Kalimdor/zone_tanaris.cpp30
-rw-r--r--src/server/scripts/Kalimdor/zone_the_barrens.cpp12
-rw-r--r--src/server/scripts/Kalimdor/zone_ungoro_crater.cpp4
-rw-r--r--src/server/scripts/Kalimdor/zone_winterspring.cpp15
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp23
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp27
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp53
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp12
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp105
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp20
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp16
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp22
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp6
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp6
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp78
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp52
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp5
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp37
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp42
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp45
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp46
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp14
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp33
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp10
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp96
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp55
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp4
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp10
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp2
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp29
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp10
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp96
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h4
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp93
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp18
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp20
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp28
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp2
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp62
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_eck.cpp134
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp416
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp247
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp69
-rw-r--r--src/server/scripts/Northrend/Gundrak/gundrak.h106
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp779
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp67
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp26
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp28
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp15
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp38
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp22
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp13
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp16
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp20
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp17
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp58
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp30
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp40
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp157
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp12
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp22
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp18
-rw-r--r--src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp54
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp62
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp44
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp12
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp18
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp22
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp20
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp6
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp37
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp21
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp72
-rw-r--r--src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp52
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp20
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp15
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp41
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp21
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp12
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp90
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp40
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp49
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp70
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp144
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp6
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp35
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h8
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp28
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp10
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp20
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp374
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp51
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h14
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp6
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp10
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp28
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp14
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp16
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp12
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp26
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp16
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp83
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp133
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp61
-rw-r--r--src/server/scripts/Northrend/zone_crystalsong_forest.cpp4
-rw-r--r--src/server/scripts/Northrend/zone_dragonblight.cpp37
-rw-r--r--src/server/scripts/Northrend/zone_grizzly_hills.cpp16
-rw-r--r--src/server/scripts/Northrend/zone_howling_fjord.cpp8
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp33
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp42
-rw-r--r--src/server/scripts/Northrend/zone_storm_peaks.cpp34
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp6
-rw-r--r--src/server/scripts/Northrend/zone_zuldrak.cpp9
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp12
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp6
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.h2
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp4
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp4
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp18
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.h6
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp16
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp28
-rw-r--r--src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp51
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp14
-rw-r--r--src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp227
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp2
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp18
-rw-r--r--src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp10
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp16
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp43
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp182
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp100
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp139
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp8
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp76
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp395
-rw-r--r--src/server/scripts/Outland/BlackTemple/illidari_council.cpp161
-rw-r--r--src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp49
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp118
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp39
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp108
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp61
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp20
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp45
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp17
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp22
-rw-r--r--src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp8
-rw-r--r--src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp25
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp48
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp13
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp2
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp3
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp10
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp29
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp10
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp13
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp23
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp26
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp6
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp6
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp16
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp20
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp28
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp3
-rw-r--r--src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp19
-rw-r--r--src/server/scripts/Outland/boss_doomwalker.cpp2
-rw-r--r--src/server/scripts/Outland/zone_blades_edge_mountains.cpp19
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp4
-rw-r--r--src/server/scripts/Outland/zone_nagrand.cpp8
-rw-r--r--src/server/scripts/Outland/zone_netherstorm.cpp19
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp192
-rw-r--r--src/server/scripts/Outland/zone_terokkar_forest.cpp2
-rw-r--r--src/server/scripts/Pet/pet_dk.cpp4
-rw-r--r--src/server/scripts/Pet/pet_generic.cpp10
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp4
-rw-r--r--src/server/scripts/Spells/spell_druid.cpp5
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp36
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp2
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp65
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp4
-rw-r--r--src/server/scripts/Spells/spell_warrior.cpp6
-rw-r--r--src/server/scripts/World/action_ip_logger.cpp8
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp8
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp6
-rw-r--r--src/server/scripts/World/go_scripts.cpp8
-rw-r--r--src/server/scripts/World/guards.cpp12
-rw-r--r--src/server/scripts/World/item_scripts.cpp2
-rw-r--r--src/server/scripts/World/npcs_special.cpp41
382 files changed, 5555 insertions, 6176 deletions
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index f193cf4aa6a..8c40a93e197 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -143,6 +143,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/game/World
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders
${MYSQL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_library(scripts STATIC
diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp
index 4b7aa8ecad3..91e42fc68f7 100644
--- a/src/server/scripts/Commands/cs_account.cpp
+++ b/src/server/scripts/Commands/cs_account.cpp
@@ -775,7 +775,7 @@ public:
if (handler->HasLowerSecurityAccount(NULL, targetAccountId, true))
return false;
- if (strcmp(password, passwordConfirmation))
+ if (strcmp(password, passwordConfirmation) != 0)
{
handler->SendSysMessage(LANG_NEW_PASSWORDS_NOT_MATCH);
handler->SetSentErrorMessage(true);
diff --git a/src/server/scripts/Commands/cs_arena.cpp b/src/server/scripts/Commands/cs_arena.cpp
index 5658701bd54..4db7c088d35 100644
--- a/src/server/scripts/Commands/cs_arena.cpp
+++ b/src/server/scripts/Commands/cs_arena.cpp
@@ -103,7 +103,7 @@ public:
}
sArenaTeamMgr->AddArenaTeam(arena);
- handler->PSendSysMessage(LANG_ARENA_CREATE, arena->GetName().c_str(), arena->GetId(), arena->GetType(), arena->GetCaptain());
+ handler->PSendSysMessage(LANG_ARENA_CREATE, arena->GetName().c_str(), arena->GetId(), arena->GetType(), arena->GetCaptain().GetCounter());
}
else
{
@@ -232,7 +232,7 @@ public:
return false;
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid))
return false;
@@ -275,7 +275,7 @@ public:
arena->SetCaptain(targetGuid);
- CharacterNameData const* oldCaptainNameData = sWorld->GetCharacterNameData(GUID_LOPART(arena->GetCaptain()));
+ CharacterNameData const* oldCaptainNameData = sWorld->GetCharacterNameData(arena->GetCaptain());
if (!oldCaptainNameData)
{
handler->SetSentErrorMessage(true);
@@ -313,7 +313,7 @@ public:
handler->PSendSysMessage(LANG_ARENA_INFO_HEADER, arena->GetName().c_str(), arena->GetId(), arena->GetRating(), arena->GetType(), arena->GetType());
for (ArenaTeam::MemberList::iterator itr = arena->m_membersBegin(); itr != arena->m_membersEnd(); ++itr)
- handler->PSendSysMessage(LANG_ARENA_INFO_MEMBERS, itr->Name.c_str(), GUID_LOPART(itr->Guid), itr->PersonalRating, (arena->GetCaptain() == itr->Guid ? "- Captain" : ""));
+ handler->PSendSysMessage(LANG_ARENA_INFO_MEMBERS, itr->Name.c_str(), itr->Guid.GetCounter(), itr->PersonalRating, (arena->GetCaptain() == itr->Guid ? "- Captain" : ""));
return true;
}
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp
index 6143a4ca344..2ffd5e3b605 100644
--- a/src/server/scripts/Commands/cs_ban.cpp
+++ b/src/server/scripts/Commands/cs_ban.cpp
@@ -340,7 +340,7 @@ public:
bool permanent = (fields[1].GetUInt32() == uint32(0));
std::string banTime = permanent ? handler->GetTrinityString(LANG_BANINFO_INFINITE) : secsToTimeString(fields[1].GetUInt32(), true);
handler->PSendSysMessage(LANG_BANINFO_HISTORYENTRY,
- fields[0].GetCString(), banTime.c_str(), active ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO), fields[4].GetCString(), fields[5].GetCString());
+ TimeToTimestampStr(fields[0].GetUInt32()).c_str(), banTime.c_str(), active ? handler->GetTrinityString(LANG_YES) : handler->GetTrinityString(LANG_NO), fields[4].GetCString(), fields[5].GetCString());
}
while (result->NextRow());
diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp
index 7722c330e5f..c6769493020 100644
--- a/src/server/scripts/Commands/cs_character.cpp
+++ b/src/server/scripts/Commands/cs_character.cpp
@@ -79,7 +79,7 @@ public:
// Stores informations about a deleted character
struct DeletedInfo
{
- uint32 lowGuid; ///< the low GUID from the character
+ ObjectGuid guid; ///< the GUID from the character
std::string name; ///< the character name
uint32 accountId; ///< the account id
std::string accountName; ///< the account name
@@ -133,7 +133,7 @@ public:
DeletedInfo info;
- info.lowGuid = fields[0].GetUInt32();
+ info.guid = ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt32());
info.name = fields[1].GetString();
info.accountId = fields[2].GetUInt32();
@@ -173,11 +173,11 @@ public:
if (!handler->GetSession())
handler->PSendSysMessage(LANG_CHARACTER_DELETED_LIST_LINE_CONSOLE,
- itr->lowGuid, itr->name.c_str(), itr->accountName.empty() ? "<Not existed>" : itr->accountName.c_str(),
+ itr->guid.GetCounter(), itr->name.c_str(), itr->accountName.empty() ? "<Not existed>" : itr->accountName.c_str(),
itr->accountId, dateStr.c_str());
else
handler->PSendSysMessage(LANG_CHARACTER_DELETED_LIST_LINE_CHAT,
- itr->lowGuid, itr->name.c_str(), itr->accountName.empty() ? "<Not existed>" : itr->accountName.c_str(),
+ itr->guid.GetCounter(), itr->name.c_str(), itr->accountName.empty() ? "<Not existed>" : itr->accountName.c_str(),
itr->accountId, dateStr.c_str());
}
@@ -199,7 +199,7 @@ public:
{
if (delInfo.accountName.empty()) // account not exist
{
- handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_ACCOUNT, delInfo.name.c_str(), delInfo.lowGuid, delInfo.accountId);
+ handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_ACCOUNT, delInfo.name.c_str(), delInfo.guid.GetCounter(), delInfo.accountId);
return;
}
@@ -207,29 +207,29 @@ public:
uint32 charcount = AccountMgr::GetCharactersCount(delInfo.accountId);
if (charcount >= 10)
{
- handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_FULL, delInfo.name.c_str(), delInfo.lowGuid, delInfo.accountId);
+ handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_FULL, delInfo.name.c_str(), delInfo.guid.GetCounter(), delInfo.accountId);
return;
}
if (sObjectMgr->GetPlayerGUIDByName(delInfo.name))
{
- handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_NAME, delInfo.name.c_str(), delInfo.lowGuid, delInfo.accountId);
+ handler->PSendSysMessage(LANG_CHARACTER_DELETED_SKIP_NAME, delInfo.name.c_str(), delInfo.guid.GetCounter(), delInfo.accountId);
return;
}
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_RESTORE_DELETE_INFO);
stmt->setString(0, delInfo.name);
stmt->setUInt32(1, delInfo.accountId);
- stmt->setUInt32(2, delInfo.lowGuid);
+ stmt->setUInt32(2, delInfo.guid.GetCounter());
CharacterDatabase.Execute(stmt);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_NAME_DATA);
- stmt->setUInt32(0, delInfo.lowGuid);
+ stmt->setUInt32(0, delInfo.guid.GetCounter());
if (PreparedQueryResult result = CharacterDatabase.Query(stmt))
- sWorld->AddCharacterNameData(delInfo.lowGuid, delInfo.name, (*result)[2].GetUInt8(), (*result)[0].GetUInt8(), (*result)[1].GetUInt8(), (*result)[3].GetUInt8());
+ sWorld->AddCharacterNameData(delInfo.guid, delInfo.name, (*result)[2].GetUInt8(), (*result)[0].GetUInt8(), (*result)[1].GetUInt8(), (*result)[3].GetUInt8());
}
- static void HandleCharacterLevel(Player* player, uint64 playerGuid, uint32 oldLevel, uint32 newLevel, ChatHandler* handler)
+ static void HandleCharacterLevel(Player* player, ObjectGuid playerGuid, uint32 oldLevel, uint32 newLevel, ChatHandler* handler)
{
if (player)
{
@@ -252,7 +252,7 @@ public:
// Update level and reset XP, everything else will be updated at login
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_LEVEL);
stmt->setUInt8(0, uint8(newLevel));
- stmt->setUInt32(1, GUID_LOPART(playerGuid));
+ stmt->setUInt32(1, playerGuid.GetCounter());
CharacterDatabase.Execute(stmt);
}
}
@@ -303,7 +303,7 @@ public:
static bool HandleCharacterRenameCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -318,7 +318,7 @@ public:
if (target)
{
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
playerOldName = target->GetName();
@@ -368,7 +368,7 @@ public:
// Remove declined name from db
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_DECLINED_NAME);
- stmt->setUInt32(0, targetGuid);
+ stmt->setUInt32(0, targetGuid.GetCounter());
CharacterDatabase.Execute(stmt);
if (target)
@@ -382,7 +382,7 @@ public:
{
stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_NAME_BY_GUID);
stmt->setString(0, newName);
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ stmt->setUInt32(1, targetGuid.GetCounter());
CharacterDatabase.Execute(stmt);
}
@@ -396,14 +396,14 @@ public:
sLog->outCommand(session->GetAccountId(), "GM %s (Account: %u) forced rename %s to player %s (Account: %u)", player->GetName().c_str(), session->GetAccountId(), newName.c_str(), playerOldName.c_str(), sObjectMgr->GetPlayerAccountIdByGUID(targetGuid));
}
else
- sLog->outCommand(0, "CONSOLE forced rename '%s' to '%s' (GUID: %u)", playerOldName.c_str(), newName.c_str(), GUID_LOPART(targetGuid));
+ sLog->outCommand(0, "CONSOLE forced rename '%s' to '%s' (%s)", playerOldName.c_str(), newName.c_str(), targetGuid.ToString().c_str());
}
else
{
if (target)
{
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_RENAME_PLAYER, handler->GetNameLink(target).c_str());
@@ -416,11 +416,11 @@ public:
return false;
std::string oldNameLink = handler->playerLink(targetName);
- handler->PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid));
+ handler->PSendSysMessage(LANG_RENAME_PLAYER_GUID, oldNameLink.c_str(), targetGuid.GetCounter());
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
stmt->setUInt16(0, uint16(AT_LOGIN_RENAME));
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ stmt->setUInt32(1, targetGuid.GetCounter());
CharacterDatabase.Execute(stmt);
}
}
@@ -444,7 +444,7 @@ public:
}
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid, &targetName))
return false;
@@ -472,7 +472,7 @@ public:
static bool HandleCharacterCustomizeCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -488,8 +488,8 @@ public:
else
{
std::string oldNameLink = handler->playerLink(targetName);
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
- handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid));
+ stmt->setUInt32(1, targetGuid.GetCounter());
+ handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), targetGuid.GetCounter());
}
CharacterDatabase.Execute(stmt);
@@ -499,7 +499,7 @@ public:
static bool HandleCharacterChangeFactionCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
@@ -516,8 +516,8 @@ public:
else
{
std::string oldNameLink = handler->playerLink(targetName);
- handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid));
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), targetGuid.GetCounter());
+ stmt->setUInt32(1, targetGuid.GetCounter());
}
CharacterDatabase.Execute(stmt);
@@ -527,7 +527,7 @@ public:
static bool HandleCharacterChangeRaceCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -545,8 +545,8 @@ public:
{
std::string oldNameLink = handler->playerLink(targetName);
/// @todo add text into database
- handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), GUID_LOPART(targetGuid));
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER_GUID, oldNameLink.c_str(), targetGuid.GetCounter());
+ stmt->setUInt32(1, targetGuid.GetCounter());
}
CharacterDatabase.Execute(stmt);
@@ -721,7 +721,7 @@ public:
// Call the appropriate function to delete them (current account for deleted characters is 0)
for (DeletedInfoList::const_iterator itr = foundList.begin(); itr != foundList.end(); ++itr)
- Player::DeleteFromDB(itr->lowGuid, 0, false, true);
+ Player::DeleteFromDB(itr->guid, 0, false, true);
return true;
}
@@ -773,7 +773,7 @@ public:
if (!normalizePlayerName(characterName))
return false;
- uint64 characterGuid;
+ ObjectGuid characterGuid;
uint32 accountId;
Player* player = sObjectAccessor->FindPlayerByName(characterName);
@@ -799,7 +799,7 @@ public:
AccountMgr::GetName(accountId, accountName);
Player::DeleteFromDB(characterGuid, accountId, true, true);
- handler->PSendSysMessage(LANG_CHARACTER_DELETED, characterName.c_str(), GUID_LOPART(characterGuid), accountName.c_str(), accountId);
+ handler->PSendSysMessage(LANG_CHARACTER_DELETED, characterName.c_str(), characterGuid.GetCounter(), accountName.c_str(), accountId);
return true;
}
@@ -818,7 +818,7 @@ public:
}
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid, &targetName))
return false;
@@ -921,7 +921,7 @@ public:
return false;
}
- if (sObjectMgr->GetPlayerAccountIdByGUID(guid))
+ if (sObjectMgr->GetPlayerAccountIdByGUID(ObjectGuid(HIGHGUID_PLAYER, guid)))
{
handler->PSendSysMessage(LANG_CHARACTER_GUID_IN_USE, guid);
handler->SetSentErrorMessage(true);
@@ -966,10 +966,10 @@ public:
if (!fileStr || !playerStr)
return false;
- uint64 guid;
+ ObjectGuid guid;
// character name can't start from number
if (isNumeric(playerStr))
- guid = MAKE_NEW_GUID(atoi(playerStr), 0, HIGHGUID_PLAYER);
+ guid = ObjectGuid(HIGHGUID_PLAYER, uint32(atoi(playerStr)));
else
{
std::string name = handler->extractPlayerNameFromLink(playerStr);
diff --git a/src/server/scripts/Commands/cs_cheat.cpp b/src/server/scripts/Commands/cs_cheat.cpp
index b61cf2c54fe..7ab414b0d63 100644
--- a/src/server/scripts/Commands/cs_cheat.cpp
+++ b/src/server/scripts/Commands/cs_cheat.cpp
@@ -227,7 +227,7 @@ public:
if (!chr)
chr = handler->GetSession()->GetPlayer();
- else if (handler->HasLowerSecurity(chr, 0)) // check online security
+ else if (handler->HasLowerSecurity(chr, ObjectGuid::Empty)) // check online security
return false;
if (argstr == "on")
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 1dc0cdef330..6a810070347 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -239,7 +239,7 @@ public:
return false;
SellResult msg = SellResult(atoi(args));
- handler->GetSession()->GetPlayer()->SendSellError(msg, 0, 0, 0);
+ handler->GetSession()->GetPlayer()->SendSellError(msg, nullptr, ObjectGuid::Empty, 0);
return true;
}
@@ -249,7 +249,7 @@ public:
return false;
BuyResult msg = BuyResult(atoi(args));
- handler->GetSession()->GetPlayer()->SendBuyError(msg, 0, 0, 0);
+ handler->GetSession()->GetPlayer()->SendBuyError(msg, nullptr, 0, 0);
return true;
}
@@ -320,7 +320,7 @@ public:
std::string type;
parsedStream >> type;
- if (type == "")
+ if (type.empty())
break;
if (type == "uint8")
@@ -361,11 +361,11 @@ public:
}
else if (type == "appitsguid")
{
- data.append(unit->GetPackGUID());
+ data << unit->GetPackGUID();
}
else if (type == "appmyguid")
{
- data.append(player->GetPackGUID());
+ data << player->GetPackGUID();
}
else if (type == "appgoguid")
{
@@ -377,7 +377,7 @@ public:
ifs.close();
return false;
}
- data.append(obj->GetPackGUID());
+ data << obj->GetPackGUID();
}
else if (type == "goguid")
{
@@ -558,10 +558,10 @@ public:
for (uint8 j = 0; j < bag->GetBagSize(); ++j)
if (Item* item2 = bag->GetItemByPos(j))
if (item2->GetState() == state)
- handler->PSendSysMessage("bag: 255 slot: %d guid: %d owner: %d", item2->GetSlot(), item2->GetGUIDLow(), GUID_LOPART(item2->GetOwnerGUID()));
+ handler->PSendSysMessage("bag: 255 slot: %d guid: %d owner: %d", item2->GetSlot(), item2->GetGUIDLow(), item2->GetOwnerGUID().GetCounter());
}
else if (item->GetState() == state)
- handler->PSendSysMessage("bag: 255 slot: %d guid: %d owner: %d", item->GetSlot(), item->GetGUIDLow(), GUID_LOPART(item->GetOwnerGUID()));
+ handler->PSendSysMessage("bag: 255 slot: %d guid: %d owner: %d", item->GetSlot(), item->GetGUIDLow(), item->GetOwnerGUID().GetCounter());
}
}
}
@@ -623,7 +623,7 @@ public:
if (item->GetOwnerGUID() != player->GetGUID())
{
- handler->PSendSysMessage("The item with slot %d and itemguid %d does have non-matching owner guid (%d) and player guid (%d) !", item->GetSlot(), item->GetGUIDLow(), GUID_LOPART(item->GetOwnerGUID()), player->GetGUIDLow());
+ handler->PSendSysMessage("The item with slot %d and itemguid %d does have non-matching owner guid (%d) and player guid (%d) !", item->GetSlot(), item->GetGUIDLow(), item->GetOwnerGUID().GetCounter(), player->GetGUIDLow());
error = true;
continue;
}
@@ -683,7 +683,7 @@ public:
if (item2->GetOwnerGUID() != player->GetGUID())
{
- handler->PSendSysMessage("The item in bag %d at slot %d and with itemguid %d, the owner's guid (%d) and the player's guid (%d) don't match!", bag->GetSlot(), item2->GetSlot(), item2->GetGUIDLow(), GUID_LOPART(item2->GetOwnerGUID()), player->GetGUIDLow());
+ handler->PSendSysMessage("The item in bag %d at slot %d and with itemguid %d, the owner's guid (%d) and the player's guid (%d) don't match!", bag->GetSlot(), item2->GetSlot(), item2->GetGUIDLow(), item2->GetOwnerGUID().GetCounter(), player->GetGUIDLow());
error = true;
continue;
}
@@ -745,7 +745,7 @@ public:
if (item->GetOwnerGUID() != player->GetGUID())
{
- handler->PSendSysMessage("queue(%zu): For the item with guid %d, the owner's guid (%d) and the player's guid (%d) don't match!", i, item->GetGUIDLow(), GUID_LOPART(item->GetOwnerGUID()), player->GetGUIDLow());
+ handler->PSendSysMessage("queue(%zu): For the item with guid %d, the owner's guid (%d) and the player's guid (%d) don't match!", i, item->GetGUIDLow(), item->GetOwnerGUID().GetCounter(), player->GetGUIDLow());
error = true;
continue;
}
@@ -972,7 +972,7 @@ public:
uint32 guid = (uint32)atoi(e);
uint32 index = (uint32)atoi(f);
- Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(MAKE_NEW_GUID(guid, 0, HIGHGUID_ITEM));
+ Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(ObjectGuid(HIGHGUID_ITEM, 0, guid));
if (!i)
return false;
@@ -1003,7 +1003,7 @@ public:
uint32 index = (uint32)atoi(f);
uint32 value = (uint32)atoi(g);
- Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(MAKE_NEW_GUID(guid, 0, HIGHGUID_ITEM));
+ Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(ObjectGuid(HIGHGUID_ITEM, 0, guid));
if (!i)
return false;
@@ -1027,7 +1027,7 @@ public:
uint32 guid = (uint32)atoi(e);
- Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(MAKE_NEW_GUID(guid, 0, HIGHGUID_ITEM));
+ Item* i = handler->GetSession()->GetPlayer()->GetItemByGuid(ObjectGuid(HIGHGUID_ITEM, guid));
if (!i)
return false;
@@ -1106,12 +1106,12 @@ public:
return false;
}
- uint64 guid = target->GetGUID();
+ ObjectGuid guid = target->GetGUID();
uint32 field = (uint32)atoi(x);
if (field >= target->GetValuesCount())
{
- handler->PSendSysMessage(LANG_TOO_BIG_INDEX, field, GUID_LOPART(guid), target->GetValuesCount());
+ handler->PSendSysMessage(LANG_TOO_BIG_INDEX, field, guid.GetCounter(), target->GetValuesCount());
return false;
}
@@ -1123,13 +1123,13 @@ public:
{
uint32 value = (uint32)atoi(y);
target->SetUInt32Value(field, value);
- handler->PSendSysMessage(LANG_SET_UINT_FIELD, GUID_LOPART(guid), field, value);
+ handler->PSendSysMessage(LANG_SET_UINT_FIELD, guid.GetCounter(), field, value);
}
else
{
float value = (float)atof(y);
target->SetFloatValue(field, value);
- handler->PSendSysMessage(LANG_SET_FLOAT_FIELD, GUID_LOPART(guid), field, value);
+ handler->PSendSysMessage(LANG_SET_FLOAT_FIELD, guid.GetCounter(), field, value);
}
return true;
@@ -1154,12 +1154,12 @@ public:
return false;
}
- uint64 guid = target->GetGUID();
+ ObjectGuid guid = target->GetGUID();
uint32 opcode = (uint32)atoi(x);
if (opcode >= target->GetValuesCount())
{
- handler->PSendSysMessage(LANG_TOO_BIG_INDEX, opcode, GUID_LOPART(guid), target->GetValuesCount());
+ handler->PSendSysMessage(LANG_TOO_BIG_INDEX, opcode, guid.GetCounter(), target->GetValuesCount());
return false;
}
@@ -1170,12 +1170,12 @@ public:
if (isInt32)
{
uint32 value = target->GetUInt32Value(opcode);
- handler->PSendSysMessage(LANG_GET_UINT_FIELD, GUID_LOPART(guid), opcode, value);
+ handler->PSendSysMessage(LANG_GET_UINT_FIELD, guid.GetCounter(), opcode, value);
}
else
{
float value = target->GetFloatValue(opcode);
- handler->PSendSysMessage(LANG_GET_FLOAT_FIELD, GUID_LOPART(guid), opcode, value);
+ handler->PSendSysMessage(LANG_GET_FLOAT_FIELD, guid.GetCounter(), opcode, value);
}
return true;
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index 90fd0bdd71c..29f8c904f97 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -111,7 +111,7 @@ public:
handler->SendSysMessage(LANG_USE_BOL);
return false;
}
- data.append(target->GetPackGUID());
+ data << target->GetPackGUID();
data << uint32(0); // unknown
target->SendMessageToSet(&data, true);
handler->PSendSysMessage(LANG_COMMAND_FLYMODE_STATUS, handler->GetNameLink(target).c_str(), args);
@@ -211,7 +211,7 @@ public:
if (param == "on")
{
- if (_player->HasAura(VISUAL_AURA, 0))
+ if (_player->HasAura(VISUAL_AURA))
_player->RemoveAurasDueToSpell(VISUAL_AURA);
_player->SetGMVisible(true);
diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp
index 44ebb1ea4e0..d2b97e81479 100644
--- a/src/server/scripts/Commands/cs_go.cpp
+++ b/src/server/scripts/Commands/cs_go.cpp
@@ -140,7 +140,7 @@ public:
Transport* transport = NULL;
- if (Creature* creature = ObjectAccessor::GetObjectInWorld(MAKE_NEW_GUID(guid, id, HIGHGUID_UNIT), (Creature*)NULL))
+ if (Creature* creature = ObjectAccessor::GetObjectInWorld(ObjectGuid(HIGHGUID_UNIT, id, guid), (Creature*)NULL))
{
x = creature->GetPositionX();
y = creature->GetPositionY();
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index ed5b39e476d..f3ddc6f0137 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -324,7 +324,7 @@ public:
return false;
}
- GameObject* target = handler->GetSession()->GetPlayer()->GetMap()->GetGameObject(MAKE_NEW_GUID(guidLow, id, HIGHGUID_GAMEOBJECT));
+ GameObject* target = handler->GetSession()->GetPlayer()->GetMap()->GetGameObject(ObjectGuid(HIGHGUID_GAMEOBJECT, id, guidLow));
handler->PSendSysMessage(LANG_GAMEOBJECT_DETAIL, guidLow, objectInfo->name.c_str(), guidLow, id, x, y, z, mapId, o, phase);
@@ -367,13 +367,13 @@ public:
return false;
}
- uint64 ownerGuid = object->GetOwnerGUID();
+ ObjectGuid ownerGuid = object->GetOwnerGUID();
if (ownerGuid)
{
Unit* owner = ObjectAccessor::GetUnit(*handler->GetSession()->GetPlayer(), ownerGuid);
- if (!owner || !IS_PLAYER_GUID(ownerGuid))
+ if (!owner || !ownerGuid.IsPlayer())
{
- handler->PSendSysMessage(LANG_COMMAND_DELOBJREFERCREATURE, GUID_LOPART(ownerGuid), object->GetGUIDLow());
+ handler->PSendSysMessage(LANG_COMMAND_DELOBJREFERCREATURE, ownerGuid.GetCounter(), object->GetGUIDLow());
handler->SetSentErrorMessage(true);
return false;
}
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 470eb27bad2..e39aca6f6a7 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -57,7 +57,7 @@ public:
return false;
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
Group* group = target->GetGroup();
@@ -95,7 +95,7 @@ public:
continue;
// check online security
- if (handler->HasLowerSecurity(player, 0))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty))
return false;
std::string plNameLink = handler->GetNameLink(player);
@@ -147,7 +147,7 @@ public:
{
Player* player = NULL;
Group* group = NULL;
- uint64 guid = 0;
+ ObjectGuid guid;
char* nameStr = strtok((char*)args, " ");
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
@@ -173,7 +173,7 @@ public:
{
Player* player = NULL;
Group* group = NULL;
- uint64 guid = 0;
+ ObjectGuid guid;
char* nameStr = strtok((char*)args, " ");
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
@@ -194,7 +194,7 @@ public:
{
Player* player = NULL;
Group* group = NULL;
- uint64 guid = 0;
+ ObjectGuid guid;
char* nameStr = strtok((char*)args, " ");
if (!handler->GetPlayerGroupAndGUIDByName(nameStr, player, group, guid))
@@ -220,8 +220,8 @@ public:
Player* playerTarget = NULL;
Group* groupSource = NULL;
Group* groupTarget = NULL;
- uint64 guidSource = 0;
- uint64 guidTarget = 0;
+ ObjectGuid guidSource;
+ ObjectGuid guidTarget;
char* nameplgrStr = strtok((char*)args, " ");
char* nameplStr = strtok(NULL, " ");
@@ -263,18 +263,18 @@ public:
// Get ALL the variables!
Player* playerTarget;
uint32 phase = 0;
- uint64 guidTarget;
+ ObjectGuid guidTarget;
std::string nameTarget;
std::string zoneName;
const char* onlineState = "";
// Parse the guid to uint32...
- uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
+ ObjectGuid parseGUID(HIGHGUID_PLAYER, uint32(atol((char*)args)));
// ... and try to extract a player out of it.
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, nameTarget))
{
- playerTarget = sObjectMgr->GetPlayerByLowGUID(parseGUID);
+ playerTarget = ObjectAccessor::FindPlayer(parseGUID);
guidTarget = parseGUID;
}
// If not, we return false and end right away.
@@ -292,7 +292,7 @@ public:
if (!groupTarget)
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GROUP_MEMBER);
- stmt->setUInt32(0, guidTarget);
+ stmt->setUInt32(0, guidTarget.GetCounter());
PreparedQueryResult resultGroup = CharacterDatabase.Query(stmt);
if (resultGroup)
groupTarget = sGroupMgr->GetGroupByDbStoreId((*resultGroup)[0].GetUInt32());
@@ -368,7 +368,7 @@ public:
// Now we can print those informations for every single member of each group!
handler->PSendSysMessage(LANG_GROUP_PLAYER_NAME_GUID, slot.name.c_str(), onlineState,
- zoneName.c_str(), phase, GUID_LOPART(slot.guid), flags.c_str(),
+ zoneName.c_str(), phase, slot.guid.GetCounter(), flags.c_str(),
lfg::GetRolesString(slot.roles).c_str());
}
diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp
index 7b074087c0f..7c025cd4e95 100644
--- a/src/server/scripts/Commands/cs_guild.cpp
+++ b/src/server/scripts/Commands/cs_guild.cpp
@@ -130,7 +130,7 @@ public:
return false;
// if not guild name only (in "") then player name
- uint64 targetGuid;
+ ObjectGuid targetGuid;
if (!handler->extractPlayerTarget(*args != '"' ? (char*)args : NULL, NULL, &targetGuid))
return false;
@@ -154,7 +154,7 @@ public:
static bool HandleGuildUninviteCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid))
return false;
@@ -179,7 +179,7 @@ public:
return false;
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string target_name;
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid, &target_name))
return false;
@@ -249,7 +249,7 @@ public:
{
Guild* guild = nullptr;
- if (args && strlen(args) > 0)
+ if (args && args[0] != '\0')
{
if (isNumeric(args))
{
@@ -273,7 +273,7 @@ public:
std::string guildMasterName;
if (sObjectMgr->GetPlayerNameByGUID(guild->GetLeaderGUID(), guildMasterName))
- handler->PSendSysMessage(LANG_GUILD_INFO_GUILD_MASTER, guildMasterName.c_str(), guild->GetLeaderGUID()); // Guild Master
+ handler->PSendSysMessage(LANG_GUILD_INFO_GUILD_MASTER, guildMasterName.c_str(), guild->GetLeaderGUID().GetCounter()); // Guild Master
// Format creation date
char createdDateStr[20];
diff --git a/src/server/scripts/Commands/cs_honor.cpp b/src/server/scripts/Commands/cs_honor.cpp
index 6b76f753403..eeaee40fea9 100644
--- a/src/server/scripts/Commands/cs_honor.cpp
+++ b/src/server/scripts/Commands/cs_honor.cpp
@@ -71,7 +71,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
uint32 amount = (uint32)atoi(args);
@@ -91,7 +91,7 @@ public:
// check online security
if (Player* player = target->ToPlayer())
- if (handler->HasLowerSecurity(player, 0))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty))
return false;
handler->GetSession()->GetPlayer()->RewardHonor(target, 1);
@@ -109,7 +109,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
target->UpdateHonorFields();
diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp
index 464d58ad908..a426c49a5f7 100644
--- a/src/server/scripts/Commands/cs_instance.cpp
+++ b/src/server/scripts/Commands/cs_instance.cpp
@@ -125,7 +125,7 @@ public:
uint16 counter = 0;
uint16 MapId = 0;
- if (strcmp(map, "all"))
+ if (strcmp(map, "all") != 0)
{
MapId = uint16(atoi(map));
if (!MapId)
diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp
index 2f6afd29e9f..1a4cce16d68 100644
--- a/src/server/scripts/Commands/cs_lfg.cpp
+++ b/src/server/scripts/Commands/cs_lfg.cpp
@@ -27,7 +27,7 @@ void GetPlayerInfo(ChatHandler* handler, Player* player)
if (!player)
return;
- uint64 guid = player->GetGUID();
+ ObjectGuid guid = player->GetGUID();
lfg::LfgDungeonSet dungeons = sLFGMgr->GetSelectedDungeons(guid);
std::string const& state = lfg::GetStateString(sLFGMgr->GetState(guid));
@@ -86,7 +86,7 @@ public:
return true;
}
- uint64 guid = grp->GetGUID();
+ ObjectGuid guid = grp->GetGUID();
std::string const& state = lfg::GetStateString(sLFGMgr->GetState(guid));
handler->PSendSysMessage(LANG_LFG_GROUP_INFO, grp->isLFGGroup(),
state.c_str(), sLFGMgr->GetDungeon(guid));
diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp
index 6a0755b82e8..0f21200c22d 100644
--- a/src/server/scripts/Commands/cs_list.cpp
+++ b/src/server/scripts/Commands/cs_list.cpp
@@ -447,8 +447,8 @@ public:
handler->PSendSysMessage(LANG_COMMAND_TARGET_AURADETAIL, aura->GetId(), (handler->GetSession() ? ss_name.str().c_str() : name),
aurApp->GetEffectMask(), aura->GetCharges(), aura->GetStackAmount(), aurApp->GetSlot(),
aura->GetDuration(), aura->GetMaxDuration(), (aura->IsPassive() ? passiveStr : ""),
- (talent ? talentStr : ""), IS_PLAYER_GUID(aura->GetCasterGUID()) ? "player" : "creature",
- GUID_LOPART(aura->GetCasterGUID()));
+ (talent ? talentStr : ""), aura->GetCasterGUID().IsPlayer() ? "player" : "creature",
+ aura->GetCasterGUID().GetCounter());
}
for (uint16 i = 0; i < TOTAL_AURAS; ++i)
@@ -469,25 +469,25 @@ public:
static bool HandleListMailCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
PreparedStatement* stmt = NULL;
if (!*args)
return false;
- uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
+ ObjectGuid parseGUID(HIGHGUID_PLAYER, uint32(atol((char*)args)));
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, targetName))
{
- target = sObjectMgr->GetPlayerByLowGUID(parseGUID);
+ target = ObjectAccessor::FindPlayer(parseGUID);
targetGuid = parseGUID;
}
else if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_MAIL_LIST_COUNT);
- stmt->setUInt32(0, targetGuid);
+ stmt->setUInt32(0, targetGuid.GetCounter());
PreparedQueryResult queryResult = CharacterDatabase.Query(stmt);
if (queryResult)
{
@@ -495,11 +495,11 @@ public:
uint32 countMail = fields[0].GetUInt64();
std::string nameLink = handler->playerLink(targetName);
- handler->PSendSysMessage(LANG_LIST_MAIL_HEADER, countMail, nameLink.c_str(), targetGuid);
+ handler->PSendSysMessage(LANG_LIST_MAIL_HEADER, countMail, nameLink.c_str(), targetGuid.GetCounter());
handler->PSendSysMessage(LANG_ACCOUNT_LIST_BAR);
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_MAIL_LIST_INFO);
- stmt->setUInt32(0, targetGuid);
+ stmt->setUInt32(0, targetGuid.GetCounter());
PreparedQueryResult queryResult = CharacterDatabase.Query(stmt);
if (queryResult)
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index 3e7b242f3cc..b4b9928d6f8 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -136,7 +136,7 @@ public:
WorldObject* object = NULL;
if (*args)
{
- uint64 guid = handler->extractGuidFromLink((char*)args);
+ ObjectGuid guid = handler->extractGuidFromLink((char*)args);
if (guid)
object = (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*handler->GetSession()->GetPlayer(), guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT);
@@ -181,9 +181,8 @@ public:
GridCoord gridCoord = Trinity::ComputeGridCoord(object->GetPositionX(), object->GetPositionY());
- // 63? WHY?
- int gridX = 63 - gridCoord.x_coord;
- int gridY = 63 - gridCoord.y_coord;
+ int gridX = (MAX_NUMBER_OF_GRIDS - 1) - gridCoord.x_coord;
+ int gridY = (MAX_NUMBER_OF_GRIDS - 1) - gridCoord.y_coord;
uint32 haveMap = Map::ExistMap(mapId, gridX, gridY) ? 1 : 0;
uint32 haveVMap = Map::ExistVMap(mapId, gridX, gridY) ? 1 : 0;
@@ -199,10 +198,12 @@ public:
else
handler->PSendSysMessage(LANG_GPS_NO_VMAP);
+ char const* unknown = handler->GetTrinityString(LANG_UNKNOWN);
+
handler->PSendSysMessage(LANG_MAP_POSITION,
- mapId, (mapEntry ? mapEntry->name[handler->GetSessionDbcLocale()] : handler->GetTrinityString(LANG_UNKNOWN)),
- zoneId, (zoneEntry ? zoneEntry->area_name[handler->GetSessionDbcLocale()] : handler->GetTrinityString(LANG_UNKNOWN)),
- areaId, (areaEntry ? areaEntry->area_name[handler->GetSessionDbcLocale()] : handler->GetTrinityString(LANG_UNKNOWN)),
+ mapId, (mapEntry ? mapEntry->name[handler->GetSessionDbcLocale()] : unknown),
+ zoneId, (zoneEntry ? zoneEntry->area_name[handler->GetSessionDbcLocale()] : unknown),
+ areaId, (areaEntry ? areaEntry->area_name[handler->GetSessionDbcLocale()] : unknown),
object->GetPhaseMask(),
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation(),
cell.GridX(), cell.GridY(), cell.CellX(), cell.CellY(), object->GetInstanceId(),
@@ -266,7 +267,7 @@ public:
static bool HandleAppearCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -282,7 +283,7 @@ public:
if (target)
{
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string chrNameLink = handler->playerLink(targetName);
@@ -408,7 +409,7 @@ public:
static bool HandleSummonCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -425,7 +426,7 @@ public:
{
std::string nameLink = handler->playerLink(targetName);
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
if (target->IsBeingTeleported())
@@ -537,7 +538,7 @@ public:
}
if (Player* player = target->ToPlayer())
- if (handler->HasLowerSecurity(player, 0, false))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty, false))
return false;
if (target->IsAlive())
@@ -554,7 +555,7 @@ public:
static bool HandleReviveCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid))
return false;
@@ -597,16 +598,16 @@ public:
static bool HandleGUIDCommand(ChatHandler* handler, char const* /*args*/)
{
- uint64 guid = handler->GetSession()->GetPlayer()->GetTarget();
+ ObjectGuid guid = handler->GetSession()->GetPlayer()->GetTarget();
- if (guid == 0)
+ if (guid.IsEmpty())
{
handler->SendSysMessage(LANG_NO_SELECTION);
handler->SetSentErrorMessage(true);
return false;
}
- handler->PSendSysMessage(LANG_OBJECT_GUID, GUID_LOPART(guid), GUID_HIPART(guid));
+ handler->PSendSysMessage(LANG_OBJECT_GUID, guid.GetCounter(), guid.GetHigh());
return true;
}
@@ -703,7 +704,7 @@ public:
if (*args)
{
- uint64 guid = handler->extractGuidFromLink((char*)args);
+ ObjectGuid guid = handler->extractGuidFromLink((char*)args);
if (guid)
obj = (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*handler->GetSession()->GetPlayer(), guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT);
@@ -737,7 +738,7 @@ public:
return false;
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
if (target->IsBeingTeleported())
@@ -805,7 +806,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string kickReasonStr = handler->GetTrinityString(LANG_NO_REASON);
@@ -1380,17 +1381,17 @@ public:
{
// Define ALL the player variables!
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
PreparedStatement* stmt = NULL;
// To make sure we get a target, we convert our guid to an omniversal...
- uint32 parseGUID = MAKE_NEW_GUID(atol((char*)args), 0, HIGHGUID_PLAYER);
+ ObjectGuid parseGUID(HIGHGUID_PLAYER, uint32(atol((char*)args)));
// ... and make sure we get a target, somehow.
if (sObjectMgr->GetPlayerNameByGUID(parseGUID, targetName))
{
- target = sObjectMgr->GetPlayerByLowGUID(parseGUID);
+ target = ObjectAccessor::FindPlayer(parseGUID);
targetGuid = parseGUID;
}
// if not, then return false. Which shouldn't happen, now should it ?
@@ -1432,7 +1433,7 @@ public:
// Account data print variables
std::string userName = handler->GetTrinityString(LANG_ERROR);
uint32 accId = 0;
- uint32 lowguid = GUID_LOPART(targetGuid);
+ uint32 lowguid = targetGuid.GetCounter();
std::string eMail = handler->GetTrinityString(LANG_ERROR);
std::string regMail = handler->GetTrinityString(LANG_ERROR);
uint32 security = 0;
@@ -1486,7 +1487,7 @@ public:
if (target)
{
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
accId = target->GetSession()->GetAccountId();
@@ -1711,7 +1712,9 @@ public:
}
if (target)
- handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name[locale], (!zoneName.empty() ? zoneName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)), (!areaName.empty() ? areaName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)));
+ handler->PSendSysMessage(LANG_PINFO_CHR_MAP, map->name[locale],
+ (!zoneName.empty() ? zoneName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)),
+ (!areaName.empty() ? areaName.c_str() : handler->GetTrinityString(LANG_UNKNOWN)));
// Output XVII. - XVIX. if they are not empty
if (!guildName.empty())
@@ -1796,7 +1799,7 @@ public:
muteReasonStr = muteReason;
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid, &targetName))
return false;
@@ -1859,7 +1862,7 @@ public:
static bool HandleUnmuteCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -2115,7 +2118,7 @@ public:
}
if (Player* player = target->ToPlayer())
- if (handler->HasLowerSecurity(player, 0, false))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty, false))
return false;
if (!target->IsAlive())
@@ -2187,7 +2190,7 @@ public:
{
Player* target = NULL;
- if (args && strlen(args) > 0)
+ if (args && args[0] != '\0')
{
target = sObjectAccessor->FindPlayerByName(args);
if (!target)
@@ -2205,7 +2208,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
target->CombatStop();
@@ -2226,7 +2229,7 @@ public:
return false;
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
// Repair items
@@ -2266,7 +2269,7 @@ public:
// Get the args that we might have (up to 2)
char const* arg1 = strtok((char*)args, " ");
char const* arg2 = strtok(NULL, " ");
-
+
// Analyze them to see if we got either a playerName or duration or both
if (arg1)
{
@@ -2452,7 +2455,7 @@ public:
}
WorldPacket data(SMSG_PLAY_SOUND, 4);
- data << uint32(soundId) << handler->GetSession()->GetPlayer()->GetGUID();
+ data << uint32(soundId);
sWorld->SendGlobalMessage(&data);
handler->PSendSysMessage(LANG_COMMAND_PLAYED_TO_ALL, soundId);
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index f70f17232eb..3c2f122324d 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -106,7 +106,7 @@ public:
return false;
}
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_HP, handler->GetNameLink(target).c_str(), hp, hpm);
@@ -144,7 +144,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_MANA, handler->GetNameLink(target).c_str(), mana, manam);
@@ -193,7 +193,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_ENERGY, handler->GetNameLink(target).c_str(), energy/10, energym/10);
@@ -244,7 +244,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_RAGE, handler->GetNameLink(target).c_str(), rage/10, ragem/10);
@@ -398,7 +398,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_SPELLFLATID, spellflatid, val, mark, handler->GetNameLink(target).c_str());
@@ -436,7 +436,7 @@ public:
if (target->GetTypeId() == TYPEID_PLAYER)
{
// check online security
- if (handler->HasLowerSecurity(target->ToPlayer(), 0))
+ if (handler->HasLowerSecurity(target->ToPlayer(), ObjectGuid::Empty))
return false;
target->ToPlayer()->SetFreeTalentPoints(tp);
target->ToPlayer()->SendTalentsInfoData(false);
@@ -448,7 +448,7 @@ public:
if (owner && owner->GetTypeId() == TYPEID_PLAYER && ((Pet*)target)->IsPermanentPetFor(owner->ToPlayer()))
{
// check online security
- if (handler->HasLowerSecurity(owner->ToPlayer(), 0))
+ if (handler->HasLowerSecurity(owner->ToPlayer(), ObjectGuid::Empty))
return false;
((Pet*)target)->SetFreeTalentPoints(tp);
owner->ToPlayer()->SendTalentsInfoData(true);
@@ -485,7 +485,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string targetNameLink = handler->GetNameLink(target);
@@ -533,7 +533,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string targetNameLink = handler->GetNameLink(target);
@@ -578,7 +578,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string targetNameLink = handler->GetNameLink(target);
@@ -623,7 +623,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string targetNameLink = handler->GetNameLink(target);
@@ -668,7 +668,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_FLY_SPEED, FSpeed, handler->GetNameLink(target).c_str());
@@ -705,7 +705,7 @@ public:
if (Player* player = target->ToPlayer())
{
// check online security
- if (handler->HasLowerSecurity(player, 0))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink(player).c_str());
@@ -953,7 +953,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
handler->PSendSysMessage(LANG_YOU_GIVE_MOUNT, handler->GetNameLink(target).c_str());
@@ -964,14 +964,14 @@ public:
target->Mount(mId);
WorldPacket data(SMSG_FORCE_RUN_SPEED_CHANGE, (8+4+1+4));
- data.append(target->GetPackGUID());
+ data << target->GetPackGUID();
data << (uint32)0;
data << (uint8)0; //new 2.1.0
data << float(speed);
target->SendMessageToSet(&data, true);
data.Initialize(SMSG_FORCE_SWIM_SPEED_CHANGE, (8+4+4));
- data.append(target->GetPackGUID());
+ data << target->GetPackGUID();
data << (uint32)0;
data << float(speed);
target->SendMessageToSet(&data, true);
@@ -994,7 +994,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
int32 moneyToAdd = 0;
@@ -1061,7 +1061,7 @@ public:
}
// check online security
- if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), 0))
+ if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), ObjectGuid::Empty))
return false;
char* pField = strtok((char*)args, " ");
@@ -1115,7 +1115,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
int32 amount = (uint32)atoi(args);
@@ -1156,7 +1156,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
char* factionTxt = handler->extractKeyFromLink((char*)args, "Hfaction");
@@ -1255,7 +1255,7 @@ public:
target = handler->GetSession()->GetPlayer();
// check online security
- else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), 0))
+ else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), ObjectGuid::Empty))
return false;
target->SetDisplayId(display_id);
@@ -1276,7 +1276,7 @@ public:
target = handler->GetSession()->GetPlayer();
// check online security
- else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), 0))
+ else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), ObjectGuid::Empty))
return false;
target->SetPhaseMask(phasemask, true);
@@ -1386,7 +1386,7 @@ public:
target = handler->GetSession()->GetPlayer();
// check online security
- else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), 0))
+ else if (target->GetTypeId() == TYPEID_PLAYER && handler->HasLowerSecurity(target->ToPlayer(), ObjectGuid::Empty))
return false;
target->DeMorph();
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 9737b1dd5b9..987c12debb7 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -521,7 +521,7 @@ public:
return false;
if (CreatureData const* cr_data = sObjectMgr->GetCreatureData(lowguid))
- unit = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(MAKE_NEW_GUID(lowguid, cr_data->id, HIGHGUID_UNIT));
+ unit = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(ObjectGuid(HIGHGUID_UNIT, cr_data->id, lowguid));
}
else
unit = handler->getSelectedCreature();
@@ -681,8 +681,8 @@ public:
}
creature->AI()->SetData(data_1, data_2);
- std::string AIorScript = creature->GetAIName() != "" ? "AI type: " + creature->GetAIName() : (creature->GetScriptName() != "" ? "Script Name: " + creature->GetScriptName() : "No AI or Script Name Set");
- handler->PSendSysMessage(LANG_NPC_SETDATA, creature->GetGUID(), creature->GetEntry(), creature->GetName().c_str(), data_1, data_2, AIorScript.c_str());
+ std::string AIorScript = !creature->GetAIName().empty() ? "AI type: " + creature->GetAIName() : (!creature->GetScriptName().empty() ? "Script Name: " + creature->GetScriptName() : "No AI or Script Name Set");
+ handler->PSendSysMessage(LANG_NPC_SETDATA, creature->GetGUID().GetCounter(), creature->GetEntry(), creature->GetName().c_str(), data_1, data_2, AIorScript.c_str());
return true;
}
@@ -761,8 +761,8 @@ public:
handler->PSendSysMessage(npcFlagTexts[i].Name, npcFlagTexts[i].Value);
handler->PSendSysMessage(LANG_NPCINFO_MECHANIC_IMMUNE, mechanicImmuneMask);
- for (uint8 i = 0; i < MAX_MECHANIC; ++i)
- if ((mechanicImmuneMask << 1) & mechanicImmunes[i].Value)
+ for (uint8 i = 1; i < MAX_MECHANIC; ++i)
+ if (mechanicImmuneMask & (1 << (mechanicImmunes[i].Value - 1)))
handler->PSendSysMessage("%s (0x%X)", mechanicImmunes[i].Name, mechanicImmunes[i].Value);
return true;
@@ -1222,7 +1222,7 @@ public:
return false;
}
- creature->MonsterSay(args, LANG_UNIVERSAL, NULL);
+ creature->Say(args, LANG_UNIVERSAL);
// make some emotes
char lastchar = args[strlen(args) - 1];
@@ -1251,7 +1251,7 @@ public:
return false;
}
- creature->MonsterTextEmote(args, 0);
+ creature->TextEmote(args);
return true;
}
@@ -1321,14 +1321,14 @@ public:
return false;
}
- uint64 receiver_guid = atol(receiver_str);
+ ObjectGuid receiver_guid(HIGHGUID_PLAYER, uint32(atol(receiver_str)));
// check online security
Player* receiver = ObjectAccessor::FindPlayer(receiver_guid);
- if (handler->HasLowerSecurity(receiver, 0))
+ if (handler->HasLowerSecurity(receiver, ObjectGuid::Empty))
return false;
- creature->MonsterWhisper(text, receiver);
+ creature->Whisper(text, LANG_UNIVERSAL, receiver);
return true;
}
@@ -1349,7 +1349,7 @@ public:
return false;
}
- creature->MonsterYell(args, LANG_UNIVERSAL, NULL);
+ creature->Yell(args, LANG_UNIVERSAL);
// make an emote
creature->HandleEmoteCommand(EMOTE_ONESHOT_SHOUT);
diff --git a/src/server/scripts/Commands/cs_pet.cpp b/src/server/scripts/Commands/cs_pet.cpp
index 82f99501a58..bb5e0764f2f 100644
--- a/src/server/scripts/Commands/cs_pet.cpp
+++ b/src/server/scripts/Commands/cs_pet.cpp
@@ -85,7 +85,7 @@ public:
creatureTarget->RemoveCorpse();
creatureTarget->SetHealth(0); // just for nice GM-mode view
- pet->SetUInt64Value(UNIT_FIELD_CREATEDBY, player->GetGUID());
+ pet->SetGuidValue(UNIT_FIELD_CREATEDBY, player->GetGUID());
pet->SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, player->getFaction());
if (!pet->InitStatsForLevel(creatureTarget->getLevel()))
diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp
index 08603279824..dc75e0aedab 100644
--- a/src/server/scripts/Commands/cs_quest.cpp
+++ b/src/server/scripts/Commands/cs_quest.cpp
@@ -206,11 +206,11 @@ public:
{
if (CreatureTemplate const* creatureInfo = sObjectMgr->GetCreatureTemplate(creature))
for (uint16 z = 0; z < creatureCount; ++z)
- player->KilledMonster(creatureInfo, 0);
+ player->KilledMonster(creatureInfo, ObjectGuid::Empty);
}
else if (creature < 0)
for (uint16 z = 0; z < creatureCount; ++z)
- player->KillCreditGO(creature, 0);
+ player->KillCreditGO(creature);
}
// If the quest requires reputation to complete
diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp
index 00a669609f9..484d41a47d9 100644
--- a/src/server/scripts/Commands/cs_reset.cpp
+++ b/src/server/scripts/Commands/cs_reset.cpp
@@ -59,14 +59,14 @@ public:
static bool HandleResetAchievementsCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid))
return false;
if (target)
target->ResetAchievements();
else
- AchievementMgr::DeleteFromDB(GUID_LOPART(targetGuid));
+ AchievementMgr::DeleteFromDB(targetGuid);
return true;
}
@@ -158,7 +158,7 @@ public:
static bool HandleResetSpellsCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -175,7 +175,7 @@ public:
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
stmt->setUInt16(0, uint16(AT_LOGIN_RESET_SPELLS));
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ stmt->setUInt32(1, targetGuid.GetCounter());
CharacterDatabase.Execute(stmt);
handler->PSendSysMessage(LANG_RESET_SPELLS_OFFLINE, targetName.c_str());
@@ -205,7 +205,7 @@ public:
static bool HandleResetTalentsCommand(ChatHandler* handler, char const* args)
{
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
{
@@ -249,7 +249,7 @@ public:
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
stmt->setUInt16(0, uint16(AT_LOGIN_NONE | AT_LOGIN_RESET_PET_TALENTS));
- stmt->setUInt32(1, GUID_LOPART(targetGuid));
+ stmt->setUInt32(1, targetGuid.GetCounter());
CharacterDatabase.Execute(stmt);
std::string nameLink = handler->playerLink(targetName);
diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp
index 486645df290..e27f09278fd 100644
--- a/src/server/scripts/Commands/cs_send.cpp
+++ b/src/server/scripts/Commands/cs_send.cpp
@@ -51,7 +51,7 @@ public:
{
// format: name "subject text" "mail text"
Player* target;
- uint64 targetGuid;
+ ObjectGuid targetGuid;
std::string targetName;
if (!handler->extractPlayerTarget((char*)args, &target, &targetGuid, &targetName))
return false;
@@ -82,7 +82,7 @@ public:
/// @todo Fix poor design
SQLTransaction trans = CharacterDatabase.BeginTransaction();
MailDraft(subject, text)
- .SendMailTo(trans, MailReceiver(target, GUID_LOPART(targetGuid)), sender);
+ .SendMailTo(trans, MailReceiver(target, targetGuid.GetCounter()), sender);
CharacterDatabase.CommitTransaction(trans);
@@ -96,7 +96,7 @@ public:
{
// format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12]
Player* receiver;
- uint64 receiverGuid;
+ ObjectGuid receiverGuid;
std::string receiverName;
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
return false;
@@ -192,7 +192,7 @@ public:
}
}
- draft.SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
+ draft.SendMailTo(trans, MailReceiver(receiver, receiverGuid.GetCounter()), sender);
CharacterDatabase.CommitTransaction(trans);
std::string nameLink = handler->playerLink(receiverName);
@@ -205,7 +205,7 @@ public:
/// format: name "subject text" "mail text" money
Player* receiver;
- uint64 receiverGuid;
+ ObjectGuid receiverGuid;
std::string receiverName;
if (!handler->extractPlayerTarget((char*)args, &receiver, &receiverGuid, &receiverName))
return false;
@@ -242,7 +242,7 @@ public:
MailDraft(subject, text)
.AddMoney(money)
- .SendMailTo(trans, MailReceiver(receiver, GUID_LOPART(receiverGuid)), sender);
+ .SendMailTo(trans, MailReceiver(receiver, receiverGuid.GetCounter()), sender);
CharacterDatabase.CommitTransaction(trans);
diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp
index ad77464b6e1..6b4fb7d104d 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -123,7 +123,7 @@ public:
return false;
Player* target;
- uint64 target_guid;
+ ObjectGuid target_guid;
std::string target_name;
if (!handler->extractPlayerTarget(nameStr, &target, &target_guid, &target_name))
return false;
@@ -135,7 +135,7 @@ public:
else
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_HOMEBIND);
- stmt->setUInt32(0, target_guid);
+ stmt->setUInt32(0, target_guid.GetCounter());
PreparedQueryResult resultDB = CharacterDatabase.Query(stmt);
if (resultDB)
@@ -166,7 +166,7 @@ public:
if (target)
{
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
std::string chrNameLink = handler->playerLink(target_name);
@@ -225,7 +225,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
// id, or string, or [name] Shift-click form |color|Htele:id|h[name]|h|r
@@ -263,7 +263,7 @@ public:
continue;
// check online security
- if (handler->HasLowerSecurity(player, 0))
+ if (handler->HasLowerSecurity(player, ObjectGuid::Empty))
return false;
std::string plNameLink = handler->GetNameLink(player);
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index cbf0ae51a82..674658f41ff 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -95,7 +95,7 @@ public:
return true;
}
- uint64 targetGuid = sObjectMgr->GetPlayerGUIDByName(target);
+ ObjectGuid targetGuid = sObjectMgr->GetPlayerGUIDByName(target);
uint32 accountId = sObjectMgr->GetPlayerAccountIdByGUID(targetGuid);
// Target must exist and have administrative rights
if (!AccountMgr::HasPermission(accountId, rbac::RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, realmID))
@@ -153,7 +153,7 @@ public:
return true;
}
- sTicketMgr->CloseTicket(ticket->GetId(), player ? player->GetGUID() : -1);
+ sTicketMgr->CloseTicket(ticket->GetId(), player ? player->GetGUID() : ObjectGuid(uint64(-1)));
sTicketMgr->UpdateLastChange();
std::string msg = ticket->FormatMessageString(*handler, player ? player->GetName().c_str() : "Console", NULL, NULL, NULL, NULL);
@@ -376,7 +376,7 @@ public:
security = assignedPlayer->GetSession()->GetSecurity();
else
{
- uint64 guid = ticket->GetAssignedToGUID();
+ ObjectGuid guid = ticket->GetAssignedToGUID();
uint32 accountId = sObjectMgr->GetPlayerAccountIdByGUID(guid);
security = AccountMgr::GetSecurity(accountId, realmID);
}
@@ -434,7 +434,7 @@ public:
return false;
// Detect target's GUID
- uint64 guid = 0;
+ ObjectGuid guid;
if (Player* player = sObjectAccessor->FindPlayerByName(name))
guid = player->GetGUID();
else
diff --git a/src/server/scripts/Commands/cs_titles.cpp b/src/server/scripts/Commands/cs_titles.cpp
index dee9c33ae99..e75a36cb913 100644
--- a/src/server/scripts/Commands/cs_titles.cpp
+++ b/src/server/scripts/Commands/cs_titles.cpp
@@ -80,7 +80,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id);
@@ -125,7 +125,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id);
@@ -171,7 +171,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
CharTitlesEntry const* titleInfo = sCharTitlesStore.LookupEntry(id);
@@ -219,7 +219,7 @@ public:
}
// check online security
- if (handler->HasLowerSecurity(target, 0))
+ if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
return false;
uint64 titles2 = titles;
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index 647d8b49c1b..9b2667148a6 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -214,7 +214,7 @@ public:
target->LoadPath(pathid);
target->SetDefaultMovementType(WAYPOINT_MOTION_TYPE);
target->GetMotionMaster()->Initialize();
- target->MonsterSay("Path loaded.", LANG_UNIVERSAL, NULL);
+ target->Say("Path loaded.", LANG_UNIVERSAL);
return true;
}
@@ -267,7 +267,7 @@ public:
target->SetDefaultMovementType(IDLE_MOTION_TYPE);
target->GetMotionMaster()->MoveTargetedHome();
target->GetMotionMaster()->Initialize();
- target->MonsterSay("Path unloaded.", LANG_UNIVERSAL, NULL);
+ target->Say("Path unloaded.", LANG_UNIVERSAL);
return true;
}
@@ -628,7 +628,7 @@ public:
handler->PSendSysMessage("|cff00ff00DEBUG: wp modify del, PathID: |r|cff00ffff%u|r", pathid);
if (wpGuid != 0)
- if (Creature* wpCreature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(MAKE_NEW_GUID(wpGuid, VISUAL_WAYPOINT, HIGHGUID_UNIT)))
+ if (Creature* wpCreature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(ObjectGuid(HIGHGUID_UNIT, VISUAL_WAYPOINT, wpGuid)))
{
wpCreature->CombatStop();
wpCreature->DeleteFromDB();
@@ -661,7 +661,7 @@ public:
// Respawn the owner of the waypoints
if (wpGuid != 0)
{
- if (Creature* wpCreature = map->GetCreature(MAKE_NEW_GUID(wpGuid, VISUAL_WAYPOINT, HIGHGUID_UNIT)))
+ if (Creature* wpCreature = map->GetCreature(ObjectGuid(HIGHGUID_UNIT, VISUAL_WAYPOINT, wpGuid)))
{
wpCreature->CombatStop();
wpCreature->DeleteFromDB();
@@ -842,7 +842,7 @@ public:
{
Field* fields = result2->Fetch();
uint32 wpguid = fields[0].GetUInt32();
- Creature* creature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(MAKE_NEW_GUID(wpguid, VISUAL_WAYPOINT, HIGHGUID_UNIT));
+ Creature* creature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(ObjectGuid(HIGHGUID_UNIT, VISUAL_WAYPOINT, wpguid));
if (!creature)
{
@@ -1038,7 +1038,7 @@ public:
{
Field* fields = result->Fetch();
uint32 guid = fields[0].GetUInt32();
- Creature* creature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(MAKE_NEW_GUID(guid, VISUAL_WAYPOINT, HIGHGUID_UNIT));
+ Creature* creature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(ObjectGuid(HIGHGUID_UNIT, VISUAL_WAYPOINT, guid));
if (!creature)
{
handler->PSendSysMessage(LANG_WAYPOINT_NOTREMOVED, guid);
diff --git a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
index 651e487522d..c8717a73f16 100644
--- a/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
+++ b/src/server/scripts/EasternKingdoms/AlteracValley/boss_balinda.cpp
@@ -65,7 +65,7 @@ public:
void Initialize()
{
- WaterElementalGUID = 0;
+ WaterElementalGUID.Clear();
HasCastIceblock = false;
}
@@ -177,7 +177,7 @@ public:
private:
EventMap events;
SummonList summons;
- uint64 WaterElementalGUID;
+ ObjectGuid WaterElementalGUID;
bool HasCastIceblock;
};
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
index 51ca327738b..08b773bc61a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
@@ -38,10 +38,10 @@ public:
else
instance->SetData(TYPE_LYCEUM, IN_PROGRESS);
// If used brazier open linked doors (North or South)
- if (go->GetGUID() == instance->GetData64(DATA_SF_BRAZIER_N))
- instance->HandleGameObject(instance->GetData64(DATA_GOLEM_DOOR_N), true);
- else if (go->GetGUID() == instance->GetData64(DATA_SF_BRAZIER_S))
- instance->HandleGameObject(instance->GetData64(DATA_GOLEM_DOOR_S), true);
+ if (go->GetGUID() == instance->GetGuidData(DATA_SF_BRAZIER_N))
+ instance->HandleGameObject(instance->GetGuidData(DATA_GOLEM_DOOR_N), true);
+ else if (go->GetGUID() == instance->GetGuidData(DATA_SF_BRAZIER_S))
+ instance->HandleGameObject(instance->GetGuidData(DATA_GOLEM_DOOR_S), true);
}
return false;
}
@@ -138,9 +138,9 @@ public:
MobDeath_Timer = 0;
for (uint8 i = 0; i < MAX_NPC_AMOUNT; ++i)
- RingMobGUID[i] = 0;
+ RingMobGUID[i].Clear();
- RingBossGUID = 0;
+ RingBossGUID.Clear();
CanWalk = false;
}
@@ -154,8 +154,8 @@ public:
uint8 MobCount;
uint32 MobDeath_Timer;
- uint64 RingMobGUID[4];
- uint64 RingBossGUID;
+ ObjectGuid RingMobGUID[4];
+ ObjectGuid RingBossGUID;
bool CanWalk;
@@ -222,7 +222,7 @@ public:
void HandleGameObject(uint32 id, bool open)
{
- instance->HandleGameObject(instance->GetData64(id), open);
+ instance->HandleGameObject(instance->GetGuidData(id), open);
}
void UpdateAI(uint32 diff) override
@@ -238,7 +238,7 @@ public:
Creature* boss = ObjectAccessor::GetCreature(*me, RingBossGUID);
if (boss && !boss->IsAlive() && boss->isDead())
{
- RingBossGUID = 0;
+ RingBossGUID.Clear();
Event_Timer = 5000;
MobDeath_Timer = 0;
return;
@@ -251,7 +251,7 @@ public:
Creature* mob = ObjectAccessor::GetCreature(*me, RingMobGUID[i]);
if (mob && !mob->IsAlive() && mob->isDead())
{
- RingMobGUID[i] = 0;
+ RingMobGUID[i].Clear();
--MobCount;
//seems all are gone, so set timer to continue and discontinue this
@@ -1277,7 +1277,7 @@ public:
void DoGo(uint32 id, uint32 state)
{
- if (GameObject* go = instance->instance->GetGameObject(instance->GetData64(id)))
+ if (GameObject* go = instance->instance->GetGameObject(instance->GetGuidData(id)))
go->SetGoState((GOState)state);
}
@@ -1324,7 +1324,7 @@ public:
DoGo(DATA_GO_BAR_KEG_TRAP, 0); //doesn't work very well, leaving code here for future
//spell by trap has effect61, this indicate the bar go hostile
- if (Unit* tmp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PHALANX)))
+ if (Unit* tmp = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PHALANX)))
tmp->setFaction(14);
//for later, this event(s) has alot more to it.
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 cec29bcd4d1..4b2434c73c9 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
@@ -70,7 +70,7 @@ class boss_emperor_dagran_thaurissan : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* moira = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MOIRA)))
+ if (Creature* moira = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MOIRA)))
{
moira->AI()->EnterEvadeMode();
moira->setFaction(35);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
index e6bbbaa73a9..3230a700810 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
@@ -96,7 +96,7 @@ class boss_magmus : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
if (InstanceScript* instance = me->GetInstanceScript())
- instance->HandleGameObject(instance->GetData64(DATA_THRONE_DOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_THRONE_DOOR), true);
}
private:
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 77a8c68d28e..6706713698d 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
@@ -76,7 +76,7 @@ public:
if (InstanceScript* instance = creature->GetInstanceScript())
{
//are 5 minutes expected? go template may have data to despawn when used at quest
- instance->DoRespawnGameObject(instance->GetData64(DATA_GO_CHALICE), MINUTE*5);
+ instance->DoRespawnGameObject(instance->GetGuidData(DATA_GO_CHALICE), MINUTE*5);
}
break;
}
@@ -139,7 +139,7 @@ class boss_doomrel : public CreatureScript
creature->AI()->AttackStart(player);
InstanceScript* instance = creature->GetInstanceScript();
if (instance)
- instance->SetData64(DATA_EVENSTARTER, player->GetGUID());
+ instance->SetGuidData(DATA_EVENSTARTER, player->GetGUID());
break;
}
return true;
@@ -202,7 +202,7 @@ class boss_doomrel : public CreatureScript
{
ScriptedAI::EnterEvadeMode();
- _instance->SetData64(DATA_EVENSTARTER, 0);
+ _instance->SetGuidData(DATA_EVENSTARTER, ObjectGuid::Empty);
}
void JustDied(Unit* /*killer*/) override
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 67219a2990a..22999c221dd 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
@@ -81,37 +81,37 @@ public:
uint32 encounter[MAX_ENCOUNTER];
std::string str_data;
- uint64 EmperorGUID;
- uint64 PhalanxGUID;
- uint64 MagmusGUID;
- uint64 MoiraGUID;
-
- uint64 GoArena1GUID;
- uint64 GoArena2GUID;
- uint64 GoArena3GUID;
- uint64 GoArena4GUID;
- uint64 GoShadowLockGUID;
- uint64 GoShadowMechGUID;
- uint64 GoShadowGiantGUID;
- uint64 GoShadowDummyGUID;
- uint64 GoBarKegGUID;
- uint64 GoBarKegTrapGUID;
- uint64 GoBarDoorGUID;
- uint64 GoTombEnterGUID;
- uint64 GoTombExitGUID;
- uint64 GoLyceumGUID;
- uint64 GoSFSGUID;
- uint64 GoSFNGUID;
- uint64 GoGolemNGUID;
- uint64 GoGolemSGUID;
- uint64 GoThroneGUID;
- uint64 GoChestGUID;
- uint64 GoSpectralChaliceGUID;
+ ObjectGuid EmperorGUID;
+ ObjectGuid PhalanxGUID;
+ ObjectGuid MagmusGUID;
+ ObjectGuid MoiraGUID;
+
+ ObjectGuid GoArena1GUID;
+ ObjectGuid GoArena2GUID;
+ ObjectGuid GoArena3GUID;
+ ObjectGuid GoArena4GUID;
+ ObjectGuid GoShadowLockGUID;
+ ObjectGuid GoShadowMechGUID;
+ ObjectGuid GoShadowGiantGUID;
+ ObjectGuid GoShadowDummyGUID;
+ ObjectGuid GoBarKegGUID;
+ ObjectGuid GoBarKegTrapGUID;
+ ObjectGuid GoBarDoorGUID;
+ ObjectGuid GoTombEnterGUID;
+ ObjectGuid GoTombExitGUID;
+ ObjectGuid GoLyceumGUID;
+ ObjectGuid GoSFSGUID;
+ ObjectGuid GoSFNGUID;
+ ObjectGuid GoGolemNGUID;
+ ObjectGuid GoGolemSGUID;
+ ObjectGuid GoThroneGUID;
+ ObjectGuid GoChestGUID;
+ ObjectGuid GoSpectralChaliceGUID;
uint32 BarAleCount;
uint32 GhostKillCount;
- uint64 TombBossGUIDs[7];
- uint64 TombEventStarterGUID;
+ ObjectGuid TombBossGUIDs[7];
+ ObjectGuid TombEventStarterGUID;
uint32 TombTimer;
uint32 TombEventCounter;
@@ -120,41 +120,10 @@ public:
SetHeaders(DataHeader);
memset(&encounter, 0, sizeof(encounter));
- EmperorGUID = 0;
- PhalanxGUID = 0;
- MagmusGUID = 0;
- MoiraGUID = 0;
-
- GoArena1GUID = 0;
- GoArena2GUID = 0;
- GoArena3GUID = 0;
- GoArena4GUID = 0;
- GoShadowLockGUID = 0;
- GoShadowMechGUID = 0;
- GoShadowGiantGUID = 0;
- GoShadowDummyGUID = 0;
- GoBarKegGUID = 0;
- GoBarKegTrapGUID = 0;
- GoBarDoorGUID = 0;
- GoTombEnterGUID = 0;
- GoTombExitGUID = 0;
- GoLyceumGUID = 0;
- GoSFSGUID = 0;
- GoSFNGUID = 0;
- GoGolemNGUID = 0;
- GoGolemSGUID = 0;
- GoThroneGUID = 0;
- GoChestGUID = 0;
- GoSpectralChaliceGUID = 0;
-
BarAleCount = 0;
GhostKillCount = 0;
- TombEventStarterGUID = 0;
TombTimer = TIMER_TOMBOFTHESEVEN;
TombEventCounter = 0;
-
- for (uint8 i = 0; i < 7; ++i)
- TombBossGUIDs[i] = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -174,7 +143,7 @@ public:
case NPC_MAGMUS:
MagmusGUID = creature->GetGUID();
if (!creature->IsAlive())
- HandleGameObject(GetData64(DATA_THRONE_DOOR), true); // if Magmus is dead open door to last boss
+ HandleGameObject(GetGuidData(DATA_THRONE_DOOR), true); // if Magmus is dead open door to last boss
break;
}
}
@@ -198,9 +167,9 @@ public:
case GO_TOMB_EXIT:
GoTombExitGUID = go->GetGUID();
if (GhostKillCount >= 7)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
else
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_LYCEUM: GoLyceumGUID = go->GetGUID(); break;
case GO_SF_S: GoSFSGUID = go->GetGUID(); break;
@@ -213,9 +182,9 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
- TC_LOG_DEBUG("scripts", "Instance Blackrock Depths: SetData64 update (Type: %u Data " UI64FMTD ")", type, data);
+ TC_LOG_DEBUG("scripts", "Instance Blackrock Depths: SetGuidData update (Type: %u Data %s)", type, data.ToString().c_str());
switch (type)
{
@@ -301,7 +270,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -340,7 +309,7 @@ public:
case DATA_GO_CHALICE:
return GoSpectralChaliceGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
std::string GetSaveData() override
@@ -409,7 +378,7 @@ public:
}
}
GhostKillCount = 0;
- TombEventStarterGUID = 0;
+ TombEventStarterGUID.Clear();
TombEventCounter = 0;
TombTimer = TIMER_TOMBOFTHESEVEN;
SetData(TYPE_TOMB_OF_SEVEN, NOT_STARTED);
@@ -427,7 +396,7 @@ public:
DoRespawnGameObject(GoChestGUID, DAY);
HandleGameObject(GoTombExitGUID, true);//event done, open exit door
HandleGameObject(GoTombEnterGUID, true);//event done, open entrance door
- TombEventStarterGUID = 0;
+ TombEventStarterGUID.Clear();
SetData(TYPE_TOMB_OF_SEVEN, DONE);
}
void Update(uint32 diff) override
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 2bd43e7283c..92906009b9a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -104,10 +104,10 @@ public:
break;
case 2:
// Close these two doors on Blackhand Incarcerators aggro
- if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_IN)))
+ if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_IN)))
if (door1->GetGoState() == GO_STATE_ACTIVE)
door1->SetGoState(GO_STATE_READY);
- if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetData64(GO_DOORS)))
+ if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_DOORS)))
if (door2->GetGoState() == GO_STATE_ACTIVE)
door2->SetGoState(GO_STATE_READY);
break;
@@ -166,33 +166,33 @@ public:
void OpenDoors(bool Boss_Killed)
{
// These two doors reopen on reset or boss kill
- if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_IN)))
+ if (GameObject* door1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_IN)))
door1->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetData64(GO_DOORS)))
+ if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_DOORS)))
door2->SetGoState(GO_STATE_ACTIVE);
// This door opens on boss kill
if (Boss_Killed)
- if (GameObject* door3 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_OUT)))
+ if (GameObject* door3 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_OUT)))
door3->SetGoState(GO_STATE_ACTIVE);
}
void UpdateRunes(GOState state)
{
// update all runes
- if (GameObject* rune1 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_1)))
+ if (GameObject* rune1 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_1)))
rune1->SetGoState(state);
- if (GameObject* rune2 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_2)))
+ if (GameObject* rune2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_2)))
rune2->SetGoState(state);
- if (GameObject* rune3 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_3)))
+ if (GameObject* rune3 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_3)))
rune3->SetGoState(state);
- if (GameObject* rune4 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_4)))
+ if (GameObject* rune4 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_4)))
rune4->SetGoState(state);
- if (GameObject* rune5 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_5)))
+ if (GameObject* rune5 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_5)))
rune5->SetGoState(state);
- if (GameObject* rune6 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_6)))
+ if (GameObject* rune6 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_6)))
rune6->SetGoState(state);
- if (GameObject* rune7 = me->GetMap()->GetGameObject(instance->GetData64(GO_EMBERSEER_RUNE_7)))
+ if (GameObject* rune7 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_EMBERSEER_RUNE_7)))
rune7->SetGoState(state);
}
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 94bf3e991f4..2018f12b613 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
@@ -167,16 +167,16 @@ public:
boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND)
{
gythEvent = false;
- victorGUID = 0;
- portcullisGUID = 0;
+ victorGUID.Clear();
+ portcullisGUID.Clear();
}
void Reset() override
{
_Reset();
gythEvent = false;
- victorGUID = 0;
- portcullisGUID = 0;
+ victorGUID.Clear();
+ portcullisGUID.Clear();
}
void EnterCombat(Unit* /*who*/) override
@@ -437,8 +437,8 @@ public:
private:
bool gythEvent;
- uint64 victorGUID;
- uint64 portcullisGUID;
+ ObjectGuid victorGUID;
+ ObjectGuid portcullisGUID;
};
CreatureAI* GetAI(Creature* creature) const override
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 e95fb8da42e..34d524a5470 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
@@ -52,29 +52,6 @@ public:
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- HighlordOmokk = 0;
- ShadowHunterVoshgajin = 0;
- WarMasterVoone = 0;
- MotherSmolderweb = 0;
- UrokDoomhowl = 0;
- QuartermasterZigris = 0;
- GizrultheSlavener = 0;
- Halycon = 0;
- OverlordWyrmthalak = 0;
- PyroguardEmberseer = 0;
- WarchiefRendBlackhand = 0;
- Gyth = 0;
- LordVictorNefarius = 0;
- TheBeast = 0;
- GeneralDrakkisath = 0;
- go_emberseerin = 0;
- go_doors = 0;
- go_emberseerout = 0;
- go_blackrockaltar = 0;
- go_portcullis_active = 0;
- go_portcullis_tobossrooms = 0;
- memset(go_roomrunes, 0, sizeof(go_roomrunes));
- memset(go_emberseerrunes, 0, sizeof(go_emberseerrunes));
}
void OnCreatureCreate(Creature* creature) override
@@ -145,97 +122,97 @@ public:
case GO_EMBERSEER_IN:
go_emberseerin = go->GetGUID();
if (GetBossState(DATA_DRAGONSPIRE_ROOM) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_DOORS:
go_doors = go->GetGUID();
if (GetBossState(DATA_DRAGONSPIRE_ROOM) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_EMBERSEER_OUT:
go_emberseerout = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_HALL_RUNE_1:
go_roomrunes[0] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_1) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_2:
go_roomrunes[1] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_2) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_3:
go_roomrunes[2] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_3) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_4:
go_roomrunes[3] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_4) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_5:
go_roomrunes[4] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_5) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_6:
go_roomrunes[5] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_6) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_HALL_RUNE_7:
go_roomrunes[6] = go->GetGUID();
if (GetBossState(DATA_HALL_RUNE_7) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_1:
go_emberseerrunes[0] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_2:
go_emberseerrunes[1] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_3:
go_emberseerrunes[2] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_4:
go_emberseerrunes[3] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_5:
go_emberseerrunes[4] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_6:
go_emberseerrunes[5] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_EMBERSEER_RUNE_7:
go_emberseerrunes[6] = go->GetGUID();
if (GetBossState(DATA_PYROGAURD_EMBERSEER) == DONE)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_PORTCULLIS_ACTIVE:
go_portcullis_active = go->GetGUID();
if (GetBossState(DATA_GYTH) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_PORTCULLIS_TOBOSSROOMS:
go_portcullis_tobossrooms = go->GetGUID();
if (GetBossState(DATA_GYTH) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
default:
break;
@@ -309,7 +286,7 @@ public:
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -382,7 +359,7 @@ public:
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void Update(uint32 diff) override
@@ -459,7 +436,7 @@ public:
if (!_mobAlive && rune->GetGoState() == GO_STATE_ACTIVE)
{
- HandleGameObject(0, false, rune);
+ HandleGameObject(ObjectGuid::Empty, false, rune);
switch (rune->GetEntry())
{
@@ -496,38 +473,38 @@ public:
{
SetBossState(DATA_DRAGONSPIRE_ROOM, DONE);
if (GameObject* door1 = instance->GetGameObject(go_emberseerin))
- HandleGameObject(0, true, door1);
+ HandleGameObject(ObjectGuid::Empty, true, door1);
if (GameObject* door2 = instance->GetGameObject(go_doors))
- HandleGameObject(0, true, door2);
+ HandleGameObject(ObjectGuid::Empty, true, door2);
}
}
protected:
EventMap Events;
- uint64 HighlordOmokk;
- uint64 ShadowHunterVoshgajin;
- uint64 WarMasterVoone;
- uint64 MotherSmolderweb;
- uint64 UrokDoomhowl;
- uint64 QuartermasterZigris;
- uint64 GizrultheSlavener;
- uint64 Halycon;
- uint64 OverlordWyrmthalak;
- uint64 PyroguardEmberseer;
- uint64 WarchiefRendBlackhand;
- uint64 Gyth;
- uint64 LordVictorNefarius;
- uint64 TheBeast;
- uint64 GeneralDrakkisath;
- uint64 go_emberseerin;
- uint64 go_doors;
- uint64 go_emberseerout;
- uint64 go_blackrockaltar;
- uint64 go_roomrunes[7];
- uint64 go_emberseerrunes[7];
- uint64 runecreaturelist[7][5];
- uint64 go_portcullis_active;
- uint64 go_portcullis_tobossrooms;
+ ObjectGuid HighlordOmokk;
+ ObjectGuid ShadowHunterVoshgajin;
+ ObjectGuid WarMasterVoone;
+ ObjectGuid MotherSmolderweb;
+ ObjectGuid UrokDoomhowl;
+ ObjectGuid QuartermasterZigris;
+ ObjectGuid GizrultheSlavener;
+ ObjectGuid Halycon;
+ ObjectGuid OverlordWyrmthalak;
+ ObjectGuid PyroguardEmberseer;
+ ObjectGuid WarchiefRendBlackhand;
+ ObjectGuid Gyth;
+ ObjectGuid LordVictorNefarius;
+ ObjectGuid TheBeast;
+ ObjectGuid GeneralDrakkisath;
+ ObjectGuid go_emberseerin;
+ ObjectGuid go_doors;
+ ObjectGuid go_emberseerout;
+ ObjectGuid go_blackrockaltar;
+ ObjectGuid go_roomrunes[7];
+ ObjectGuid go_emberseerrunes[7];
+ ObjectGuid runecreaturelist[7][5];
+ ObjectGuid go_portcullis_active;
+ ObjectGuid go_portcullis_tobossrooms;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
index b83cc4694ab..2efea4ae30c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
@@ -175,7 +175,7 @@ public:
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetData(DATA_EGG_EVENT) != DONE)
- if (Creature* razor = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_RAZORGORE_THE_UNTAMED)))
+ if (Creature* razor = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_RAZORGORE_THE_UNTAMED)))
{
razor->Attack(player, true);
player->CastSpell(razor, SPELL_MINDCONTROL);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
index 1282cdcd313..6b2d6e1f11a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
@@ -78,7 +78,7 @@ public:
void Initialize()
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
HasYelled = false;
}
@@ -231,7 +231,7 @@ public:
}
private:
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
bool HasYelled;
};
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 ae52e281c9d..bae3f1b9b5c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -60,25 +60,6 @@ public:
// 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);
}
@@ -87,26 +68,6 @@ public:
// Razorgore
EggCount = 0;
EggEvent = 0;
- RazorgoreTheUntamedGUID = 0;
- RazorgoreDoorGUID = 0;
- EggList.clear();
- // 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;
}
void OnCreatureCreate(Creature* creature) override
@@ -162,23 +123,23 @@ public:
break;
case 175946: // Door
RazorgoreDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(BOSS_RAZORGORE) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_RAZORGORE) == DONE, go);
break;
case 175185: // Door
VaelastraszDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(BOSS_VAELASTRAZ) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_VAELASTRAZ) == DONE, go);
break;
case 180424: // Door
BroodlordDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(BOSS_BROODLORD) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_BROODLORD) == DONE, go);
break;
case 185483: // Door
ChrommagusDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(BOSS_FIREMAW) == DONE && GetBossState(BOSS_EBONROC) == DONE && GetBossState(BOSS_FLAMEGOR) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_FIREMAW) == DONE && GetBossState(BOSS_EBONROC) == DONE && GetBossState(BOSS_FLAMEGOR) == DONE, go);
break;
case 181125: // Door
NefarianDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(BOSS_CHROMAGGUS) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(BOSS_CHROMAGGUS) == DONE, go);
break;
}
}
@@ -200,7 +161,7 @@ public:
HandleGameObject(RazorgoreDoorGUID, state == DONE);
if (state == DONE)
{
- for (std::list<uint64>::const_iterator itr = EggList.begin(); itr != EggList.end(); ++itr)
+ for (GuidList::const_iterator itr = EggList.begin(); itr != EggList.end(); ++itr)
if (GameObject* egg = instance->GetGameObject((*itr)))
egg->SetPhaseMask(2, true);
}
@@ -239,7 +200,7 @@ public:
return true;
}
- uint64 GetData64(uint32 id) const override
+ ObjectGuid GetGuidData(uint32 id) const override
{
switch (id)
{
@@ -254,7 +215,7 @@ public:
case DATA_NEFARIAN: return NefarianGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -340,31 +301,31 @@ public:
// Razorgore
uint8 EggCount;
uint32 EggEvent;
- uint64 RazorgoreTheUntamedGUID;
- uint64 RazorgoreDoorGUID;
- std::list<uint64> EggList;
+ ObjectGuid RazorgoreTheUntamedGUID;
+ ObjectGuid RazorgoreDoorGUID;
+ GuidList EggList;
// Vaelastrasz the Corrupt
- uint64 VaelastraszTheCorruptGUID;
- uint64 VaelastraszDoorGUID;
+ ObjectGuid VaelastraszTheCorruptGUID;
+ ObjectGuid VaelastraszDoorGUID;
// Broodlord Lashlayer
- uint64 BroodlordLashlayerGUID;
- uint64 BroodlordDoorGUID;
+ ObjectGuid BroodlordLashlayerGUID;
+ ObjectGuid BroodlordDoorGUID;
// 3 Dragons
- uint64 FiremawGUID;
- uint64 EbonrocGUID;
- uint64 FlamegorGUID;
- uint64 ChrommagusDoorGUID;
+ ObjectGuid FiremawGUID;
+ ObjectGuid EbonrocGUID;
+ ObjectGuid FlamegorGUID;
+ ObjectGuid ChrommagusDoorGUID;
// Chormaggus
- uint64 ChromaggusGUID;
- uint64 NefarianDoorGUID;
+ ObjectGuid ChromaggusGUID;
+ ObjectGuid NefarianDoorGUID;
// Nefarian
- uint64 LordVictorNefariusGUID;
- uint64 NefarianGUID;
+ ObjectGuid LordVictorNefariusGUID;
+ ObjectGuid NefarianGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
index c8b33e48852..cdfe00c767f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
@@ -150,7 +150,7 @@ class npc_core_rager : public CreatureScript
if (HealthAbovePct(50) || !instance)
return;
- if (Creature* pGolemagg = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_GOLEMAGG_THE_INCINERATOR)))
+ if (Creature* pGolemagg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_GOLEMAGG_THE_INCINERATOR)))
{
if (pGolemagg->IsAlive())
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
index 4a0e22b1ba8..58f38ec4267 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
@@ -153,7 +153,7 @@ class boss_ragnaros : public CreatureScript
break;
case EVENT_INTRO_4:
Talk(SAY_ARRIVAL5_RAG);
- if (Creature* executus = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MAJORDOMO_EXECUTUS)))
+ if (Creature* executus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MAJORDOMO_EXECUTUS)))
me->Kill(executus);
break;
case EVENT_INTRO_5:
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 800b6bb0edc..7de89b41b7f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
@@ -45,9 +45,6 @@ class instance_molten_core : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
- _golemaggTheIncineratorGUID = 0;
- _majordomoExecutusGUID = 0;
- _cacheOfTheFirelordGUID = 0;
_executusSchedule = false;
_ragnarosAddDeaths = 0;
}
@@ -107,7 +104,7 @@ class instance_molten_core : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -117,7 +114,7 @@ class instance_molten_core : public InstanceMapScript
return _majordomoExecutusGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 bossId, EncounterState state) override
@@ -176,9 +173,9 @@ class instance_molten_core : public InstanceMapScript
}
private:
- uint64 _golemaggTheIncineratorGUID;
- uint64 _majordomoExecutusGUID;
- uint64 _cacheOfTheFirelordGUID;
+ ObjectGuid _golemaggTheIncineratorGUID;
+ ObjectGuid _majordomoExecutusGUID;
+ ObjectGuid _cacheOfTheFirelordGUID;
bool _executusSchedule;
uint8 _ragnarosAddDeaths;
};
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
index 7338620a8b2..029c3f08a8d 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
@@ -133,7 +133,7 @@ public:
++uiHealth;
DoCastAOE(SPELL_SMITE_STOMP, false);
SetCombatMovement(false);
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_SMITE_CHEST)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_SMITE_CHEST)))
{
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MovePoint(1, go->GetPositionX() - 3.0f, go->GetPositionY(), go->GetPositionZ());
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index c5f4f9cdbf9..d7667b37e87 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -28,7 +28,6 @@ EndScriptData */
#include "deadmines.h"
#include "TemporarySummon.h"
#include "WorldPacket.h"
-#include "Opcodes.h"
enum Sounds
{
@@ -59,32 +58,24 @@ class instance_deadmines : public InstanceMapScript
{
instance_deadmines_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 FactoryDoorGUID;
- uint64 IronCladDoorGUID;
- uint64 DefiasCannonGUID;
- uint64 DoorLeverGUID;
- uint64 DefiasPirate1GUID;
- uint64 DefiasPirate2GUID;
- uint64 DefiasCompanionGUID;
+ ObjectGuid FactoryDoorGUID;
+ ObjectGuid IronCladDoorGUID;
+ ObjectGuid DefiasCannonGUID;
+ ObjectGuid DoorLeverGUID;
+ ObjectGuid DefiasPirate1GUID;
+ ObjectGuid DefiasPirate2GUID;
+ ObjectGuid DefiasCompanionGUID;
uint32 State;
uint32 CannonBlast_Timer;
uint32 PiratesDelay_Timer;
- uint64 uiSmiteChestGUID;
+ ObjectGuid uiSmiteChestGUID;
void Initialize() override
{
SetHeaders(DataHeader);
- FactoryDoorGUID = 0;
- IronCladDoorGUID = 0;
- DefiasCannonGUID = 0;
- DoorLeverGUID = 0;
- DefiasPirate1GUID = 0;
- DefiasPirate2GUID = 0;
- DefiasCompanionGUID = 0;
State = CANNON_NOT_USED;
- uiSmiteChestGUID = 0;
}
virtual void Update(uint32 diff) override
@@ -101,9 +92,9 @@ class instance_deadmines : public InstanceMapScript
case CANNON_GUNPOWDER_USED:
CannonBlast_Timer = DATA_CANNON_BLAST_TIMER;
// it's a hack - Mr. Smite should do that but his too far away
- pIronCladDoor->SetName("Mr. Smite");
- pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM1, LANG_UNIVERSAL, NULL);
- DoPlaySound(pIronCladDoor, SOUND_MR_SMITE_ALARM1);
+ //pIronCladDoor->SetName("Mr. Smite");
+ //pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM1, LANG_UNIVERSAL, NULL);
+ pIronCladDoor->PlayDirectSound(SOUND_MR_SMITE_ALARM1);
State = CANNON_BLAST_INITIATED;
break;
case CANNON_BLAST_INITIATED:
@@ -114,8 +105,8 @@ class instance_deadmines : public InstanceMapScript
ShootCannon();
BlastOutDoor();
LeverStucked();
- pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM2, LANG_UNIVERSAL, NULL);
- DoPlaySound(pIronCladDoor, SOUND_MR_SMITE_ALARM2);
+ //pIronCladDoor->MonsterYell(SAY_MR_SMITE_ALARM2, LANG_UNIVERSAL, NULL);
+ pIronCladDoor->PlayDirectSound(SOUND_MR_SMITE_ALARM2);
State = PIRATES_ATTACK;
} else CannonBlast_Timer -= diff;
break;
@@ -170,7 +161,7 @@ class instance_deadmines : public InstanceMapScript
if (GameObject* pDefiasCannon = instance->GetGameObject(DefiasCannonGUID))
{
pDefiasCannon->SetGoState(GO_STATE_ACTIVE);
- DoPlaySound(pDefiasCannon, SOUND_CANNONFIRE);
+ pDefiasCannon->PlayDirectSound(SOUND_CANNONFIRE);
}
}
@@ -179,7 +170,7 @@ class instance_deadmines : public InstanceMapScript
if (GameObject* pIronCladDoor = instance->GetGameObject(IronCladDoorGUID))
{
pIronCladDoor->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- DoPlaySound(pIronCladDoor, SOUND_DESTROYDOOR);
+ pIronCladDoor->PlayDirectSound(SOUND_DESTROYDOOR);
}
}
@@ -228,7 +219,7 @@ class instance_deadmines : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -236,14 +227,7 @@ class instance_deadmines : public InstanceMapScript
return uiSmiteChestGUID;
}
- return 0;
- }
-
- void DoPlaySound(GameObject* unit, uint32 sound)
- {
- WorldPacket data(SMSG_PLAY_SOUND, 4);
- data << uint32(sound);
- unit->SendMessageToSet(&data, false);
+ return ObjectGuid::Empty;
}
};
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
index d009986651a..6d9d07fdd81 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
@@ -103,8 +103,8 @@ public:
uint8 uiPhase;
uint32 uiTimer;
- std::list<uint64> SummonList;
- std::list<uint64> GoSummonList;
+ GuidList SummonList;
+ GuidList GoSummonList;
void Reset() override
{
@@ -147,7 +147,7 @@ public:
if (GoSummonList.empty())
return;
- for (std::list<uint64>::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
+ for (GuidList::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
{
if (GameObject* go = ObjectAccessor::GetGameObject(*me, *itr))
{
@@ -162,33 +162,33 @@ public:
}
}
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(isRight ? DATA_GO_CAVE_IN_RIGHT : DATA_GO_CAVE_IN_LEFT)))
- instance->HandleGameObject(0, false, go);
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(isRight ? DATA_GO_CAVE_IN_RIGHT : DATA_GO_CAVE_IN_LEFT)))
+ instance->HandleGameObject(ObjectGuid::Empty, false, go);
}
void SetInFace(bool isRight)
{
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(isRight ? DATA_GO_CAVE_IN_RIGHT : DATA_GO_CAVE_IN_LEFT)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(isRight ? DATA_GO_CAVE_IN_RIGHT : DATA_GO_CAVE_IN_LEFT)))
me->SetFacingToObject(go);
}
void RestoreAll()
{
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
- instance->HandleGameObject(0, false, go);
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_CAVE_IN_RIGHT)))
+ instance->HandleGameObject(ObjectGuid::Empty, false, go);
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
- instance->HandleGameObject(0, false, go);
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_CAVE_IN_LEFT)))
+ instance->HandleGameObject(ObjectGuid::Empty, false, go);
if (!GoSummonList.empty())
- for (std::list<uint64>::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
+ for (GuidList::const_iterator itr = GoSummonList.begin(); itr != GoSummonList.end(); ++itr)
{
if (GameObject* go = ObjectAccessor::GetGameObject(*me, *itr))
go->RemoveFromWorld();
}
if (!SummonList.empty())
- for (std::list<uint64>::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
+ for (GuidList::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
{
if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
{
@@ -398,8 +398,8 @@ public:
SetInFace(true);
Talk(SAY_BLASTMASTER_5);
Summon(1);
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_RIGHT)))
- instance->HandleGameObject(0, true, go);
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_CAVE_IN_RIGHT)))
+ instance->HandleGameObject(ObjectGuid::Empty, true, go);
NextStep(3000, true);
break;
case 7:
@@ -444,8 +444,8 @@ public:
case 16:
Talk(SAY_BLASTMASTER_14);
SetInFace(false);
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_CAVE_IN_LEFT)))
- instance->HandleGameObject(0, true, go);
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_CAVE_IN_LEFT)))
+ instance->HandleGameObject(ObjectGuid::Empty, true, go);
NextStep(2000, true);
break;
case 17:
diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
index f8e00fab682..9cd6afaca78 100644
--- a/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
+++ b/src/server/scripts/EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
@@ -41,19 +41,14 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
- uint64 uiCaveInLeftGUID;
- uint64 uiCaveInRightGUID;
+ ObjectGuid uiCaveInLeftGUID;
+ ObjectGuid uiCaveInRightGUID;
- uint64 uiBastmasterEmiShortfuseGUID;
+ ObjectGuid uiBastmasterEmiShortfuseGUID;
void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
-
- uiCaveInLeftGUID = 0;
- uiCaveInRightGUID = 0;
-
- uiBastmasterEmiShortfuseGUID = 0;
}
void Load(const char* in) override
@@ -93,12 +88,12 @@ public:
case GO_CAVE_IN_LEFT:
uiCaveInLeftGUID = go->GetGUID();
if (m_auiEncounter[0] == DONE || m_auiEncounter[0] == NOT_STARTED)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_CAVE_IN_RIGHT:
uiCaveInRightGUID = go->GetGUID();
if (m_auiEncounter[0] == DONE || m_auiEncounter[0] == NOT_STARTED)
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
}
}
@@ -124,7 +119,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiType) const override
+ ObjectGuid GetGuidData(uint32 uiType) const override
{
switch (uiType)
{
@@ -133,7 +128,7 @@ public:
case DATA_NPC_BASTMASTER_EMI_SHORTFUSE: return uiBastmasterEmiShortfuseGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
};
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
index bbddf0aa5f5..87f7ab5f07e 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
@@ -75,10 +75,10 @@ public:
void Initialize()
{
ResetTimer = 0;
- Midnight = 0;
+ Midnight.Clear();
}
- uint64 Midnight;
+ ObjectGuid Midnight;
uint8 Phase;
uint32 CleaveTimer;
uint32 CurseTimer;
@@ -141,11 +141,11 @@ public:
void Initialize()
{
Phase = 1;
- Attumen = 0;
+ Attumen.Clear();
Mount_Timer = 0;
}
- uint64 Attumen;
+ ObjectGuid Attumen;
uint8 Phase;
uint32 Mount_Timer;
@@ -242,7 +242,7 @@ public:
Mount_Timer = 1000;
}
- void SetMidnight(Creature* pAttumen, uint64 value)
+ void SetMidnight(Creature* pAttumen, ObjectGuid value)
{
ENSURE_AI(boss_attumen::boss_attumenAI, pAttumen->AI())->Midnight = value;
}
@@ -262,7 +262,7 @@ void boss_attumen::boss_attumenAI::UpdateAI(uint32 diff)
pMidnight->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pMidnight->SetVisible(true);
}
- Midnight = 0;
+ Midnight.Clear();
me->SetVisible(false);
me->Kill(me);
} else ResetTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
index 5b4f25aea44..0d9827d390c 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
@@ -107,7 +107,6 @@ public:
{
Initialize();
memset(AddId, 0, sizeof(AddId));
- memset(AddGUID, 0, sizeof(AddGUID));
instance = creature->GetInstanceScript();
}
@@ -126,7 +125,7 @@ public:
InstanceScript* instance;
- uint64 AddGUID[4];
+ ObjectGuid AddGUID[4];
uint32 Vanish_Timer;
uint32 Blind_Timer;
@@ -339,13 +338,10 @@ struct boss_moroes_guestAI : public ScriptedAI
{
InstanceScript* instance;
- uint64 GuestGUID[4];
+ ObjectGuid GuestGUID[4];
boss_moroes_guestAI(Creature* creature) : ScriptedAI(creature)
{
- for (uint8 i = 0; i < 4; ++i)
- GuestGUID[i] = 0;
-
instance = creature->GetInstanceScript();
}
@@ -356,15 +352,15 @@ struct boss_moroes_guestAI : public ScriptedAI
void AcquireGUID()
{
- if (Creature* Moroes = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOROES)))
+ if (Creature* Moroes = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MOROES)))
for (uint8 i = 0; i < 4; ++i)
- if (uint64 GUID = ENSURE_AI(boss_moroes::boss_moroesAI, Moroes->AI())->AddGUID[i])
+ if (ObjectGuid GUID = ENSURE_AI(boss_moroes::boss_moroesAI, Moroes->AI())->AddGUID[i])
GuestGUID[i] = GUID;
}
Unit* SelectGuestTarget()
{
- uint64 TempGUID = GuestGUID[rand32() % 4];
+ ObjectGuid TempGUID = GuestGUID[rand32() % 4];
if (TempGUID)
{
Unit* unit = ObjectAccessor::GetUnit(*me, TempGUID);
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
index a928413fea0..77e9e3fe86d 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
@@ -81,13 +81,6 @@ public:
Initialize();
instance = creature->GetInstanceScript();
- for (int i=0; i<3; ++i)
- {
- PortalGUID[i] = 0;
- BeamTarget[i] = 0;
- BeamerGUID[i] = 0;
- }
-
PortalPhase = false;
PhaseTimer = 0;
EmpowermentTimer = 0;
@@ -112,9 +105,9 @@ public:
uint32 NetherbreathTimer;
uint32 EmpowermentTimer;
uint32 PortalTimer; // timer for beam checking
- uint64 PortalGUID[3]; // guid's of portals
- uint64 BeamerGUID[3]; // guid's of auxiliary beaming portals
- uint64 BeamTarget[3]; // guid's of portals' current targets
+ ObjectGuid PortalGUID[3]; // guid's of portals
+ ObjectGuid BeamerGUID[3]; // guid's of auxiliary beaming portals
+ ObjectGuid BeamTarget[3]; // guid's of portals' current targets
bool IsBetween(WorldObject* u1, WorldObject* target, WorldObject* u2) // the in-line checker
{
@@ -157,7 +150,7 @@ public:
pos[GREEN_PORTAL] = ((r % 2) ? 0 : (r > 1 ? 2 : 1));
pos[BLUE_PORTAL] = (r > 1 ? 1 : 2); // Blue Portal not on the left side (0)
- for (int i=0; i<3; ++i)
+ for (int i = 0; i < 3; ++i)
if (Creature* portal = me->SummonCreature(PortalID[i], PortalCoord[pos[i]][0], PortalCoord[pos[i]][1], PortalCoord[pos[i]][2], 0, TEMPSUMMON_TIMED_DESPAWN, 60000))
{
PortalGUID[i] = portal->GetGUID();
@@ -173,14 +166,14 @@ public:
portal->DisappearAndDie();
if (Creature* portal = ObjectAccessor::GetCreature(*me, BeamerGUID[i]))
portal->DisappearAndDie();
- PortalGUID[i] = 0;
- BeamTarget[i] = 0;
+ PortalGUID[i].Clear();
+ BeamTarget[i].Clear();
}
}
void UpdatePortals() // Here we handle the beams' behavior
{
- for (int j=0; j<3; ++j) // j = color
+ for (int j = 0; j < 3; ++j) // j = color
if (Creature* portal = ObjectAccessor::GetCreature(*me, PortalGUID[j]))
{
// the one who's been cast upon before
@@ -198,9 +191,9 @@ public:
Player* p = i->GetSource();
if (p && p->IsAlive() // alive
&& (!target || target->GetDistance2d(portal)>p->GetDistance2d(portal)) // closer than current best
- && !p->HasAura(PlayerDebuff[j], 0) // not exhausted
- && !p->HasAura(PlayerBuff[(j+1)%3], 0) // not on another beam
- && !p->HasAura(PlayerBuff[(j+2)%3], 0)
+ && !p->HasAura(PlayerDebuff[j]) // not exhausted
+ && !p->HasAura(PlayerBuff[(j + 1) % 3]) // not on another beam
+ && !p->HasAura(PlayerBuff[(j + 2) % 3])
&& IsBetween(me, p, portal)) // on the beam
target = p;
}
@@ -220,7 +213,7 @@ public:
{
beamer->CastSpell(target, PortalBeam[j], false);
beamer->DisappearAndDie();
- BeamerGUID[j] = 0;
+ BeamerGUID[j].Clear();
}
// create new one and start beaming on the target
if (Creature* beamer = portal->SummonCreature(PortalID[j], portal->GetPositionX(), portal->GetPositionY(), portal->GetPositionZ(), portal->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 60000))
@@ -264,7 +257,7 @@ public:
void HandleDoors(bool open) // Massive Door switcher
{
- if (GameObject* Door = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GO_MASSIVE_DOOR) ))
+ if (GameObject* Door = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GO_MASSIVE_DOOR) ))
Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 7ce11653567..619e3c9cd15 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -159,8 +159,8 @@ public:
void HandleTerraceDoors(bool open)
{
- instance->HandleGameObject(instance->GetData64(DATA_MASTERS_TERRACE_DOOR_1), open);
- instance->HandleGameObject(instance->GetData64(DATA_MASTERS_TERRACE_DOOR_2), open);
+ instance->HandleGameObject(instance->GetGuidData(DATA_MASTERS_TERRACE_DOOR_1), open);
+ instance->HandleGameObject(instance->GetGuidData(DATA_MASTERS_TERRACE_DOOR_2), open);
}
void EnterCombat(Unit* /*who*/) override
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index c09b349f143..06e4859a931 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -110,11 +110,11 @@ public:
struct netherspite_infernalAI : public ScriptedAI
{
netherspite_infernalAI(Creature* creature) : ScriptedAI(creature),
- HellfireTimer(0), CleanupTimer(0), malchezaar(0), point(NULL) { }
+ HellfireTimer(0), CleanupTimer(0), point(NULL) { }
uint32 HellfireTimer;
uint32 CleanupTimer;
- uint64 malchezaar;
+ ObjectGuid malchezaar;
InfernalPoint *point;
void Reset() override { }
@@ -189,7 +189,6 @@ public:
Initialize();
instance = creature->GetInstanceScript();
- memset(axes, 0, sizeof(axes));
}
void Initialize()
@@ -208,7 +207,7 @@ public:
for (uint8 i = 0; i < 5; ++i)
{
- enfeeble_targets[i] = 0;
+ enfeeble_targets[i].Clear();
enfeeble_health[i] = 0;
}
}
@@ -225,12 +224,12 @@ public:
uint32 AxesTargetSwitchTimer;
uint32 InfernalCleanupTimer;
- std::vector<uint64> infernals;
+ GuidVector infernals;
std::vector<InfernalPoint*> positions;
- uint64 axes[2];
- uint64 enfeeble_targets[5];
- uint32 enfeeble_health[5];
+ ObjectGuid axes[2];
+ ObjectGuid enfeeble_targets[5];
+ uint64 enfeeble_health[5];
uint32 phase;
@@ -246,7 +245,7 @@ public:
for (uint8 i = 0; i < TOTAL_INFERNAL_POINTS; ++i)
positions.push_back(&InfernalPoints[i]);
- instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true);
}
void KilledUnit(Unit* /*victim*/) override
@@ -266,20 +265,20 @@ public:
for (uint8 i = 0; i < TOTAL_INFERNAL_POINTS; ++i)
positions.push_back(&InfernalPoints[i]);
- instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true);
}
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
- instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), false); // Open the door leading further in
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), false); // Open the door leading further in
}
void InfernalCleanup()
{
//Infernal Cleanup
- for (std::vector<uint64>::const_iterator itr = infernals.begin(); itr != infernals.end(); ++itr)
+ for (GuidVector::const_iterator itr = infernals.begin(); itr != infernals.end(); ++itr)
if (Unit* pInfernal = ObjectAccessor::GetUnit(*me, *itr))
if (pInfernal->IsAlive())
{
@@ -297,7 +296,7 @@ public:
Unit* axe = ObjectAccessor::GetUnit(*me, axes[i]);
if (axe && axe->IsAlive())
axe->Kill(axe);
- axes[i] = 0;
+ axes[i].Clear();
}
}
@@ -350,7 +349,7 @@ public:
Unit* target = ObjectAccessor::GetUnit(*me, enfeeble_targets[i]);
if (target && target->IsAlive())
target->SetHealth(enfeeble_health[i]);
- enfeeble_targets[i] = 0;
+ enfeeble_targets[i].Clear();
enfeeble_health[i] = 0;
}
}
@@ -398,7 +397,7 @@ public:
if (me->HasUnitState(UNIT_STATE_STUNNED)) // While shifting to phase 2 malchezaar stuns himself
return;
- if (me->GetVictim() && me->GetUInt64Value(UNIT_FIELD_TARGET) != me->EnsureVictim()->GetGUID())
+ if (me->GetVictim() && me->GetTarget() != me->EnsureVictim()->GetGUID())
me->SetTarget(me->EnsureVictim()->GetGUID());
if (phase == 1)
@@ -576,11 +575,13 @@ public:
void Cleanup(Creature* infernal, InfernalPoint *point)
{
- for (std::vector<uint64>::iterator itr = infernals.begin(); itr!= infernals.end(); ++itr)
- if (*itr == infernal->GetGUID())
+ for (GuidVector::iterator itr = infernals.begin(); itr!= infernals.end(); ++itr)
{
- infernals.erase(itr);
- break;
+ if (*itr == infernal->GetGUID())
+ {
+ infernals.erase(itr);
+ break;
+ }
}
positions.push_back(point);
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 c66f2b335c4..4cb0b61365d 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
@@ -134,7 +134,7 @@ public:
uint32 FlameWreathTimer;
uint32 FlameWreathCheckTime;
- uint64 FlameWreathTarget[3];
+ ObjectGuid FlameWreathTarget[3];
float FWTargPosX[3];
float FWTargPosY[3];
@@ -155,7 +155,7 @@ public:
// Not in progress
instance->SetData(TYPE_ARAN, NOT_STARTED);
- instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
}
void KilledUnit(Unit* /*victim*/) override
@@ -168,7 +168,7 @@ public:
Talk(SAY_DEATH);
instance->SetData(TYPE_ARAN, DONE);
- instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
}
void EnterCombat(Unit* /*who*/) override
@@ -176,7 +176,7 @@ public:
Talk(SAY_AGGRO);
instance->SetData(TYPE_ARAN, IN_PROGRESS);
- instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), false);
}
void FlameWreathEffect()
@@ -223,7 +223,7 @@ public:
{
if (CloseDoorTimer <= diff)
{
- instance->HandleGameObject(instance->GetData64(DATA_GO_LIBRARY_DOOR), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), false);
CloseDoorTimer = 0;
} else CloseDoorTimer -= diff;
}
@@ -393,9 +393,9 @@ public:
FlameWreathTimer = 20000;
FlameWreathCheckTime = 500;
- FlameWreathTarget[0] = 0;
- FlameWreathTarget[1] = 0;
- FlameWreathTarget[2] = 0;
+ FlameWreathTarget[0].Clear();
+ FlameWreathTarget[1].Clear();
+ FlameWreathTarget[2].Clear();
FlameWreathEffect();
break;
@@ -465,7 +465,7 @@ public:
{
unit->CastSpell(unit, 20476, true, 0, 0, me->GetGUID());
unit->CastSpell(unit, 11027, true);
- FlameWreathTarget[i] = 0;
+ FlameWreathTarget[i].Clear();
}
}
FlameWreathCheckTime = 500;
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
index ed40c18f70e..db8b1327585 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
@@ -101,7 +101,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- Creature* Terestian = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TERESTIAN));
+ Creature* Terestian = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TERESTIAN));
if (Terestian && Terestian->IsAlive())
DoCast(Terestian, SPELL_BROKEN_PACT, true);
}
@@ -144,10 +144,10 @@ public:
void Initialize()
{
- SacrificeGUID = 0;
+ SacrificeGUID.Clear();
}
- uint64 SacrificeGUID;
+ ObjectGuid SacrificeGUID;
void Reset() override
{
@@ -269,10 +269,8 @@ public:
{
boss_terestianAI(Creature* creature) : ScriptedAI(creature)
{
- Initialize();
- for (uint8 i = 0; i < 2; ++i)
- PortalGUID[i] = 0;
instance = creature->GetInstanceScript();
+ Initialize();
}
void Initialize()
@@ -289,7 +287,7 @@ public:
InstanceScript* instance;
- uint64 PortalGUID[2];
+ ObjectGuid PortalGUID[2];
uint8 PortalsCount;
uint32 SacrificeTimer;
@@ -312,7 +310,7 @@ public:
pPortal->DespawnOrUnsummon();
}
- PortalGUID[i] = 0;
+ PortalGUID[i].Clear();
}
}
@@ -367,7 +365,7 @@ public:
if (Creature* pPortal = ObjectAccessor::GetCreature((*me), PortalGUID[i]))
pPortal->DespawnOrUnsummon();
- PortalGUID[i] = 0;
+ PortalGUID[i].Clear();
}
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index 7b51b61ba0a..63d543568fb 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -250,11 +250,11 @@ public:
void Initialize()
{
- DorotheeGUID = 0;
+ DorotheeGUID.Clear();
YipTimer = 10000;
}
- uint64 DorotheeGUID;
+ ObjectGuid DorotheeGUID;
uint32 YipTimer;
void Reset() override
@@ -710,10 +710,10 @@ public:
Talk(SAY_CRONE_DEATH);
instance->SetData(TYPE_OPERA, DONE);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
- if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
+ if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -868,7 +868,7 @@ public:
FearTimer = urand(25000, 35000);
SwipeTimer = 5000;
- HoodGUID = 0;
+ HoodGUID.Clear();
TempThreat = 0;
IsChasing = false;
@@ -880,7 +880,7 @@ public:
uint32 FearTimer;
uint32 SwipeTimer;
- uint64 HoodGUID;
+ ObjectGuid HoodGUID;
float TempThreat;
bool IsChasing;
@@ -910,10 +910,10 @@ public:
DoPlaySoundToSet(me, SOUND_WOLF_DEATH);
instance->SetData(TYPE_OPERA, DONE);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
- if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
+ if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -947,7 +947,7 @@ public:
if (Unit* target = ObjectAccessor::GetUnit(*me, HoodGUID))
{
- HoodGUID = 0;
+ HoodGUID.Clear();
if (DoGetThreat(target))
DoModifyThreatPercent(target, -100);
me->AddThreat(target, TempThreat);
@@ -1073,7 +1073,7 @@ public:
void Initialize()
{
- RomuloGUID = 0;
+ RomuloGUID.Clear();
Phase = PHASE_JULIANNE;
BlindingPassionTimer = 30000;
@@ -1093,7 +1093,7 @@ public:
uint32 EntryYellTimer;
uint32 AggroYellTimer;
- uint64 RomuloGUID;
+ ObjectGuid RomuloGUID;
uint32 Phase;
@@ -1160,9 +1160,9 @@ public:
Talk(SAY_JULIANNE_DEATH02);
instance->SetData(TYPE_OPERA, DONE);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
- if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
+ if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
@@ -1197,7 +1197,7 @@ public:
void Initialize()
{
- JulianneGUID = 0;
+ JulianneGUID.Clear();
Phase = PHASE_ROMULO;
BackwardLungeTimer = 15000;
@@ -1212,7 +1212,7 @@ public:
InstanceScript* instance;
- uint64 JulianneGUID;
+ ObjectGuid JulianneGUID;
uint32 Phase;
uint32 EntryYellTimer;
@@ -1318,10 +1318,10 @@ public:
Talk(SAY_ROMULO_DEATH);
instance->SetData(TYPE_OPERA, DONE);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORLEFT), true);
- instance->HandleGameObject(instance->GetData64(DATA_GO_STAGEDOORRIGHT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
- if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetData64(DATA_GO_SIDE_ENTRANCE_DOOR)))
+ if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
index 8f6d142e22b..0d639df731a 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp
@@ -64,21 +64,21 @@ public:
uint32 m_uiOperaEvent;
uint32 m_uiOzDeathCount;
- uint64 m_uiCurtainGUID;
- uint64 m_uiStageDoorLeftGUID;
- uint64 m_uiStageDoorRightGUID;
- uint64 m_uiKilrekGUID;
- uint64 m_uiTerestianGUID;
- uint64 m_uiMoroesGUID;
- uint64 m_uiLibraryDoor; // Door at Shade of Aran
- uint64 m_uiMassiveDoor; // Door at Netherspite
- uint64 m_uiSideEntranceDoor; // Side Entrance
- uint64 m_uiGamesmansDoor; // Door before Chess
- uint64 m_uiGamesmansExitDoor; // Door after Chess
- uint64 m_uiNetherspaceDoor; // Door at Malchezaar
- uint64 MastersTerraceDoor[2];
- uint64 ImageGUID;
- uint64 DustCoveredChest;
+ ObjectGuid m_uiCurtainGUID;
+ ObjectGuid m_uiStageDoorLeftGUID;
+ ObjectGuid m_uiStageDoorRightGUID;
+ ObjectGuid m_uiKilrekGUID;
+ ObjectGuid m_uiTerestianGUID;
+ ObjectGuid m_uiMoroesGUID;
+ ObjectGuid m_uiLibraryDoor; // Door at Shade of Aran
+ ObjectGuid m_uiMassiveDoor; // Door at Netherspite
+ ObjectGuid m_uiSideEntranceDoor; // Side Entrance
+ ObjectGuid m_uiGamesmansDoor; // Door before Chess
+ ObjectGuid m_uiGamesmansExitDoor; // Door after Chess
+ ObjectGuid m_uiNetherspaceDoor; // Door at Malchezaar
+ ObjectGuid MastersTerraceDoor[2];
+ ObjectGuid ImageGUID;
+ ObjectGuid DustCoveredChest;
void Initialize() override
{
@@ -88,25 +88,6 @@ public:
// 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
m_uiOperaEvent = urand(1, 3);
m_uiOzDeathCount = 0;
-
- m_uiCurtainGUID = 0;
- m_uiStageDoorLeftGUID = 0;
- m_uiStageDoorRightGUID = 0;
-
- m_uiKilrekGUID = 0;
- m_uiTerestianGUID = 0;
- m_uiMoroesGUID = 0;
-
- m_uiLibraryDoor = 0;
- m_uiMassiveDoor = 0;
- m_uiSideEntranceDoor = 0;
- m_uiGamesmansDoor = 0;
- m_uiGamesmansExitDoor = 0;
- m_uiNetherspaceDoor = 0;
- MastersTerraceDoor[0]= 0;
- MastersTerraceDoor[1]= 0;
- ImageGUID = 0;
- DustCoveredChest = 0;
}
bool IsEncounterInProgress() const override
@@ -183,7 +164,7 @@ public:
}
}
- void SetData64(uint32 identifier, uint64 data) override
+ void SetGuidData(uint32 identifier, ObjectGuid data) override
{
switch (identifier)
{
@@ -265,7 +246,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiData) const override
+ ObjectGuid GetGuidData(uint32 uiData) const override
{
switch (uiData)
{
@@ -286,7 +267,7 @@ public:
case DATA_IMAGE_OF_MEDIVH: return ImageGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void Load(char const* chrIn)
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index c37829e26d5..159035c6eb3 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -139,7 +139,7 @@ public:
void Initialize()
{
- m_uiSpotlightGUID = 0;
+ m_uiSpotlightGUID.Clear();
TalkCount = 0;
TalkTimer = 2000;
@@ -150,7 +150,7 @@ public:
InstanceScript* instance;
- uint64 m_uiSpotlightGUID;
+ ObjectGuid m_uiSpotlightGUID;
uint32 TalkCount;
uint32 TalkTimer;
@@ -186,7 +186,7 @@ public:
{
case 0:
DoCast(me, SPELL_TUXEDO, false);
- instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_STAGEDOORLEFT));
+ instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_STAGEDOORLEFT));
break;
case 4:
TalkCount = 0;
@@ -202,12 +202,12 @@ public:
}
break;
case 8:
- instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_STAGEDOORLEFT));
+ instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_STAGEDOORLEFT));
PerformanceReady = true;
break;
case 9:
PrepareEncounter();
- instance->DoUseDoorOrButton(instance->GetData64(DATA_GO_CURTAINS));
+ instance->DoUseDoorOrButton(instance->GetGuidData(DATA_GO_CURTAINS));
break;
}
}
@@ -360,17 +360,17 @@ public:
case GOSSIP_ACTION_INFO_DEF+3:
player->CLOSE_GOSSIP_MENU();
pBarnesAI->m_uiEventId = EVENT_OZ;
- TC_LOG_INFO("scripts", "player (GUID " UI64FMTD ") manually set Opera event to EVENT_OZ", player->GetGUID());
+ TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_OZ", player->GetGUID().ToString().c_str());
break;
case GOSSIP_ACTION_INFO_DEF+4:
player->CLOSE_GOSSIP_MENU();
pBarnesAI->m_uiEventId = EVENT_HOOD;
- TC_LOG_INFO("scripts", "player (GUID " UI64FMTD ") manually set Opera event to EVENT_HOOD", player->GetGUID());
+ TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_HOOD", player->GetGUID().ToString().c_str());
break;
case GOSSIP_ACTION_INFO_DEF+5:
player->CLOSE_GOSSIP_MENU();
pBarnesAI->m_uiEventId = EVENT_RAJ;
- TC_LOG_INFO("scripts", "player (GUID " UI64FMTD ") manually set Opera event to EVENT_RAJ", player->GetGUID());
+ TC_LOG_INFO("scripts", "player (%s) manually set Opera event to EVENT_RAJ", player->GetGUID().ToString().c_str());
break;
}
@@ -491,14 +491,14 @@ public:
void Initialize()
{
- ArcanagosGUID = 0;
+ ArcanagosGUID.Clear();
EventStarted = false;
YellTimer = 0;
}
InstanceScript* instance;
- uint64 ArcanagosGUID;
+ ObjectGuid ArcanagosGUID;
uint32 YellTimer;
uint32 Step;
@@ -511,9 +511,9 @@ public:
{
Initialize();
- if (instance->GetData64(DATA_IMAGE_OF_MEDIVH) == 0)
+ if (instance->GetGuidData(DATA_IMAGE_OF_MEDIVH).IsEmpty())
{
- instance->SetData64(DATA_IMAGE_OF_MEDIVH, me->GetGUID());
+ instance->SetGuidData(DATA_IMAGE_OF_MEDIVH, me->GetGUID());
(*me).GetMotionMaster()->MovePoint(1, MedivPos[0], MedivPos[1], MedivPos[2]);
Step = 0;
}
@@ -560,25 +560,25 @@ public:
{
case 0: return 9999999;
case 1:
- me->MonsterYell(SAY_DIALOG_MEDIVH_1, LANG_UNIVERSAL, NULL);
+ me->Yell(SAY_DIALOG_MEDIVH_1, LANG_UNIVERSAL);
return 10000;
case 2:
if (arca)
- arca->MonsterYell(SAY_DIALOG_ARCANAGOS_2, LANG_UNIVERSAL, NULL);
+ arca->Yell(SAY_DIALOG_ARCANAGOS_2, LANG_UNIVERSAL);
return 20000;
case 3:
- me->MonsterYell(SAY_DIALOG_MEDIVH_3, LANG_UNIVERSAL, NULL);
+ me->Yell(SAY_DIALOG_MEDIVH_3, LANG_UNIVERSAL);
return 10000;
case 4:
if (arca)
- arca->MonsterYell(SAY_DIALOG_ARCANAGOS_4, LANG_UNIVERSAL, NULL);
+ arca->Yell(SAY_DIALOG_ARCANAGOS_4, LANG_UNIVERSAL);
return 20000;
case 5:
- me->MonsterYell(SAY_DIALOG_MEDIVH_5, LANG_UNIVERSAL, NULL);
+ me->Yell(SAY_DIALOG_MEDIVH_5, LANG_UNIVERSAL);
return 20000;
case 6:
if (arca)
- arca->MonsterYell(SAY_DIALOG_ARCANAGOS_6, LANG_UNIVERSAL, NULL);
+ arca->Yell(SAY_DIALOG_ARCANAGOS_6, LANG_UNIVERSAL);
return 10000;
case 7:
FireArcanagosTimer = 500;
@@ -588,7 +588,7 @@ public:
DoCast(me, SPELL_MANA_SHIELD);
return 10000;
case 9:
- me->MonsterTextEmote(EMOTE_DIALOG_MEDIVH_7, NULL, false);
+ me->TextEmote(EMOTE_DIALOG_MEDIVH_7);
return 10000;
case 10:
if (arca)
@@ -596,7 +596,7 @@ public:
return 1000;
case 11:
if (arca)
- arca->MonsterYell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL, NULL);
+ arca->Yell(SAY_DIALOG_ARCANAGOS_8, LANG_UNIVERSAL);
return 5000;
case 12:
if (arca)
@@ -608,7 +608,7 @@ public:
}
return 10000;
case 13:
- me->MonsterYell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL, NULL);
+ me->Yell(SAY_DIALOG_MEDIVH_9, LANG_UNIVERSAL);
return 10000;
case 14:
me->SetVisible(false);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 1aafb32cef9..bae61f9b452 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -166,7 +166,7 @@ public:
instance->SetBossState(DATA_KAELTHAS, DONE);
// Enable the Translocation Orb Exit
- if (GameObject* escapeOrb = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_ESCAPE_ORB)))
+ if (GameObject* escapeOrb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ESCAPE_ORB)))
escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
}
@@ -253,7 +253,7 @@ public:
unit->CastSpell(unit, SPELL_GRAVITY_LAPSE_FLY, true, 0, 0, me->GetGUID());
// Use packet hack
WorldPacket data(SMSG_MOVE_SET_CAN_FLY, 12);
- data.append(unit->GetPackGUID());
+ data << unit->GetPackGUID();
data << uint32(0);
unit->SendMessageToSet(&data, true);
}
@@ -273,7 +273,7 @@ public:
unit->RemoveAurasDueToSpell(SPELL_GRAVITY_LAPSE_DOT);
WorldPacket data(SMSG_MOVE_UNSET_CAN_FLY, 12);
- data.append(unit->GetPackGUID());
+ data << unit->GetPackGUID();
data << uint32(0);
unit->SendMessageToSet(&data, true);
}
@@ -548,7 +548,7 @@ public:
me->ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->ClearAllReactives();
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->SetStandState(UNIT_STAND_STATE_DEAD);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
index cc2af3dcea5..9acf82c312e 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
@@ -119,7 +119,6 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
- memset(&m_auiLackeyGUID, 0, sizeof(m_auiLackeyGUID));
LackeyEntryList.clear();
}
@@ -138,7 +137,7 @@ public:
InstanceScript* instance;
std::vector<uint32> LackeyEntryList;
- uint64 m_auiLackeyGUID[MAX_ACTIVE_LACKEY];
+ ObjectGuid m_auiLackeyGUID[MAX_ACTIVE_LACKEY];
uint8 PlayersKilled;
@@ -361,7 +360,6 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
{
Initialize();
instance = creature->GetInstanceScript();
- memset(&m_auiLackeyGUIDs, 0, sizeof(m_auiLackeyGUIDs));
AcquireGUIDs();
}
@@ -378,7 +376,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
InstanceScript* instance;
- uint64 m_auiLackeyGUIDs[MAX_ACTIVE_LACKEY];
+ ObjectGuid m_auiLackeyGUIDs[MAX_ACTIVE_LACKEY];
uint32 ResetThreatTimer;
bool UsedPotion;
@@ -388,7 +386,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
Initialize();
// in case she is not alive and Reset was for some reason called, respawn her (most likely party wipe after killing her)
- if (Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DELRISSA)))
+ if (Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DELRISSA)))
{
if (!pDelrissa->IsAlive())
pDelrissa->Respawn();
@@ -412,7 +410,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
- if (Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DELRISSA)))
+ if (Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DELRISSA)))
{
if (pDelrissa->IsAlive() && !pDelrissa->GetVictim())
{
@@ -424,7 +422,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DELRISSA));
+ Creature* pDelrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DELRISSA));
uint32 uiLackeyDeathCount = instance->GetData(DATA_DELRISSA_DEATH_COUNT);
if (!pDelrissa)
@@ -453,13 +451,13 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
void KilledUnit(Unit* victim) override
{
- if (Creature* Delrissa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DELRISSA)))
+ if (Creature* Delrissa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DELRISSA)))
Delrissa->AI()->KilledUnit(victim);
}
void AcquireGUIDs()
{
- if (Creature* Delrissa = (ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DELRISSA))))
+ if (Creature* Delrissa = (ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DELRISSA))))
{
for (uint8 i = 0; i < MAX_ACTIVE_LACKEY; ++i)
m_auiLackeyGUIDs[i] = ENSURE_AI(boss_priestess_delrissa::boss_priestess_delrissaAI, Delrissa->AI())->m_auiLackeyGUID[i];
@@ -1054,7 +1052,6 @@ public:
boss_garaxxasAI(Creature* creature) : boss_priestess_lackey_commonAI(creature)
{
Initialize();
- m_uiPetGUID = 0;
}
void Initialize()
@@ -1067,7 +1064,7 @@ public:
Freezing_Trap_Timer = 15000;
}
- uint64 m_uiPetGUID;
+ ObjectGuid m_uiPetGUID;
uint32 Aimed_Shot_Timer;
uint32 Shoot_Timer;
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index d34123c58b2..c186470f2d5 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -71,7 +71,6 @@ class boss_selin_fireheart : public CreatureScript
{
boss_selin_fireheartAI(Creature* creature) : BossAI(creature, DATA_SELIN)
{
- CrystalGUID = 0;
_scheduledEvents = false;
}
@@ -89,7 +88,7 @@ class boss_selin_fireheart : public CreatureScript
}
_Reset();
- CrystalGUID = 0;
+ CrystalGUID.Clear();
_scheduledEvents = false;
}
@@ -221,7 +220,7 @@ class boss_selin_fireheart : public CreatureScript
if (CrystalChosen && CrystalChosen->IsAlive())
CrystalChosen->Kill(CrystalChosen);
- CrystalGUID = 0;
+ CrystalGUID.Clear();
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveChase(me->GetVictim());
@@ -255,7 +254,7 @@ class boss_selin_fireheart : public CreatureScript
private:
std::list<Creature*> Crystals;
- uint64 CrystalGUID;
+ ObjectGuid CrystalGUID;
bool _scheduledEvents;
};
@@ -278,7 +277,7 @@ class npc_fel_crystal : public CreatureScript
{
if (InstanceScript* instance = me->GetInstanceScript())
{
- Creature* Selin = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SELIN));
+ Creature* Selin = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SELIN));
if (Selin && Selin->IsAlive())
Selin->AI()->DoAction(ACTION_SWITCH_PHASE);
}
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
index 01491c53f72..65fed52d998 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
@@ -50,12 +50,6 @@ class instance_magisters_terrace : public InstanceMapScript
LoadDoorData(doorData);
DelrissaDeathCount = 0;
-
- SelinGUID = 0;
- DelrissaGUID = 0;
- EscapeOrbGUID = 0;
-
- memset(KaelStatue, 0, 2 * sizeof(uint64));
}
uint32 GetData(uint32 type) const override
@@ -162,7 +156,7 @@ class instance_magisters_terrace : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -179,14 +173,14 @@ class instance_magisters_terrace : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 SelinGUID;
- uint64 DelrissaGUID;
- uint64 KaelStatue[2];
- uint64 EscapeOrbGUID;
+ ObjectGuid SelinGUID;
+ ObjectGuid DelrissaGUID;
+ ObjectGuid KaelStatue[2];
+ ObjectGuid EscapeOrbGUID;
uint32 DelrissaDeathCount;
};
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
index a20f595183f..6cd14598a58 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
@@ -165,7 +165,7 @@ public:
if (Player* player = i->GetSource())
{
if (spell && spell->Effects[0].MiscValue)
- player->KilledMonsterCredit(spell->Effects[0].MiscValue, 0);
+ player->KilledMonsterCredit(spell->Effects[0].MiscValue);
}
}
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index 58ebef77425..2fcdd276bdc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -107,7 +107,6 @@ public:
if (!me->GetCurrentEquipmentId())
me->SetCurrentEquipmentId(me->GetOriginalEquipmentId());
- playerGUID = 0;
wait_timer = 0;
anchorX = 0.f;
anchorY = 0.f;
@@ -115,15 +114,15 @@ public:
void Initialize()
{
- anchorGUID = 0;
+ anchorGUID.Clear();
phase = PHASE_CHAINED;
}
- uint64 playerGUID;
+ ObjectGuid playerGUID;
UnworthyInitiatePhase phase;
uint32 wait_timer;
float anchorX, anchorY;
- uint64 anchorGUID;
+ ObjectGuid anchorGUID;
EventMap events;
@@ -300,17 +299,17 @@ public:
struct npc_unworthy_initiate_anchorAI : public PassiveAI
{
- npc_unworthy_initiate_anchorAI(Creature* creature) : PassiveAI(creature), prisonerGUID(0) { }
+ npc_unworthy_initiate_anchorAI(Creature* creature) : PassiveAI(creature) { }
- uint64 prisonerGUID;
+ ObjectGuid prisonerGUID;
- void SetGUID(uint64 guid, int32 /*id*/) override
+ void SetGUID(ObjectGuid guid, int32 /*id*/) override
{
if (!prisonerGUID)
prisonerGUID = guid;
}
- uint64 GetGUID(int32 /*id*/) const override
+ ObjectGuid GetGUID(int32 /*id*/) const override
{
return prisonerGUID;
}
@@ -325,7 +324,7 @@ public:
bool OnGossipHello(Player* player, GameObject* go) override
{
if (Creature* anchor = go->FindNearestCreature(29521, 15))
- if (uint64 prisonerGUID = anchor->AI()->GetGUID())
+ if (ObjectGuid prisonerGUID = anchor->AI()->GetGUID())
if (Creature* prisoner = ObjectAccessor::GetCreature(*player, prisonerGUID))
ENSURE_AI(npc_unworthy_initiate::npc_unworthy_initiateAI, prisoner->AI())->EventStart(anchor, player);
@@ -421,7 +420,7 @@ class npc_eye_of_acherus : public CreatureScript
for (uint8 i = 0; i < MAX_MOVE_TYPE; ++i)
me->SetSpeed(UnitMoveType(i), owner->GetSpeedRate(UnitMoveType(i)), true);
- TalkToMap(TALK_CONTROL, owner);
+ Talk(TALK_CONTROL, owner);
}
me->SetDisableGravity(false);
DoCast(me, SPELL_EYE_FLIGHT);
@@ -532,14 +531,14 @@ public:
void Initialize()
{
- m_uiDuelerGUID = 0;
+ m_uiDuelerGUID.Clear();
m_uiDuelTimer = 5000;
m_bIsDuelInProgress = false;
lose = false;
}
bool lose;
- uint64 m_uiDuelerGUID;
+ ObjectGuid m_uiDuelerGUID;
uint32 m_uiDuelTimer;
bool m_bIsDuelInProgress;
@@ -655,7 +654,7 @@ class npc_dark_rider_of_acherus : public CreatureScript
PhaseTimer = 4000;
Phase = 0;
Intro = false;
- TargetGUID = 0;
+ TargetGUID.Clear();
}
void Reset() override
@@ -716,7 +715,7 @@ class npc_dark_rider_of_acherus : public CreatureScript
uint32 PhaseTimer;
uint32 Phase;
bool Intro;
- uint64 TargetGUID;
+ ObjectGuid TargetGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1010,7 +1009,7 @@ class npc_scarlet_miner_cart : public CreatureScript
struct npc_scarlet_miner_cartAI : public PassiveAI
{
- npc_scarlet_miner_cartAI(Creature* creature) : PassiveAI(creature), _minerGUID(0), _playerGUID(0)
+ npc_scarlet_miner_cartAI(Creature* creature) : PassiveAI(creature)
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetDisplayId(me->GetCreatureTemplate()->Modelid1); // Modelid2 is a horse.
@@ -1028,7 +1027,7 @@ class npc_scarlet_miner_cart : public CreatureScript
void SummonedCreatureDespawn(Creature* summon) override
{
if (summon->GetEntry() == NPC_MINER)
- _minerGUID = 0;
+ _minerGUID.Clear();
}
void DoAction(int32 /*param*/) override
@@ -1054,15 +1053,15 @@ class npc_scarlet_miner_cart : public CreatureScript
}
else
{
- _playerGUID = 0;
+ _playerGUID.Clear();
if (Creature* miner = ObjectAccessor::GetCreature(*me, _minerGUID))
miner->DespawnOrUnsummon();
}
}
private:
- uint64 _minerGUID;
- uint64 _playerGUID;
+ ObjectGuid _minerGUID;
+ ObjectGuid _playerGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1096,14 +1095,14 @@ class npc_scarlet_miner : public CreatureScript
void Initialize()
{
- carGUID = 0;
+ carGUID.Clear();
IntroTimer = 0;
IntroPhase = 0;
}
uint32 IntroTimer;
uint32 IntroPhase;
- uint64 carGUID;
+ ObjectGuid carGUID;
void Reset() override
{
@@ -1148,7 +1147,7 @@ class npc_scarlet_miner : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 /*id = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 /*id = 0*/) override
{
InitWaypoint();
Start(false, false, guid);
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index ee624c4f6a5..fe433a6692d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -60,12 +60,12 @@ public:
{
speechTimer = 0;
speechCounter = 0;
- playerGUID = 0;
+ playerGUID.Clear();
}
uint32 speechTimer;
uint32 speechCounter;
- uint64 playerGUID;
+ ObjectGuid playerGUID;
void Reset() override
{
@@ -223,7 +223,7 @@ public:
{
wave = 0;
waveTimer = 3000;
- valrothGUID = 0;
+ valrothGUID.Clear();
}
void Reset() override
@@ -357,7 +357,7 @@ public:
private:
uint8 wave;
uint32 waveTimer;
- uint64 valrothGUID;
+ ObjectGuid valrothGUID;
};
@@ -642,12 +642,12 @@ public:
{
ExecuteSpeech_Timer = 0;
ExecuteSpeech_Counter = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
}
uint32 ExecuteSpeech_Timer;
uint32 ExecuteSpeech_Counter;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
void Reset() override
{
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index f6757afd5bc..d67c28a3552 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -311,25 +311,6 @@ public:
{
npc_highlord_darion_mograineAI(Creature* creature) : npc_escortAI(creature)
{
- uiTirionGUID = 0;
- uiAlexandrosGUID = 0;
- uiDarionGUID = 0;
- uiKorfaxGUID = 0;
- uiMaxwellGUID = 0;
- uiEligorGUID = 0;
- uiRayneGUID = 0;
- uiKoltiraGUID = 0;
- uiOrbazGUID = 0;
- uiThassarianGUID = 0;
- uiLichKingGUID = 0;
-
- memset(uiDefenderGUID, 0, sizeof(uiDefenderGUID));
- memset(uiEarthshatterGUID, 0, sizeof(uiEarthshatterGUID));
- memset(uiAbominationGUID, 0, sizeof(uiAbominationGUID));
- memset(uiBehemothGUID, 0, sizeof(uiBehemothGUID));
- memset(uiGhoulGUID, 0, sizeof(uiGhoulGUID));
- memset(uiWarriorGUID, 0, sizeof(uiWarriorGUID));
-
Reset();
}
@@ -352,25 +333,25 @@ public:
uint32 uiTargetcheck;
// Dawn
- uint64 uiTirionGUID;
- uint64 uiAlexandrosGUID;
- uint64 uiDarionGUID;
- uint64 uiKorfaxGUID;
- uint64 uiMaxwellGUID;
- uint64 uiEligorGUID;
- uint64 uiRayneGUID;
- uint64 uiDefenderGUID[ENCOUNTER_DEFENDER_NUMBER];
- uint64 uiEarthshatterGUID[ENCOUNTER_EARTHSHATTER_NUMBER];
+ ObjectGuid uiTirionGUID;
+ ObjectGuid uiAlexandrosGUID;
+ ObjectGuid uiDarionGUID;
+ ObjectGuid uiKorfaxGUID;
+ ObjectGuid uiMaxwellGUID;
+ ObjectGuid uiEligorGUID;
+ ObjectGuid uiRayneGUID;
+ ObjectGuid uiDefenderGUID[ENCOUNTER_DEFENDER_NUMBER];
+ ObjectGuid uiEarthshatterGUID[ENCOUNTER_EARTHSHATTER_NUMBER];
// Death
- uint64 uiKoltiraGUID;
- uint64 uiOrbazGUID;
- uint64 uiThassarianGUID;
- uint64 uiLichKingGUID;
- uint64 uiAbominationGUID[ENCOUNTER_ABOMINATION_NUMBER];
- uint64 uiBehemothGUID[ENCOUNTER_BEHEMOTH_NUMBER];
- uint64 uiGhoulGUID[ENCOUNTER_GHOUL_NUMBER];
- uint64 uiWarriorGUID[ENCOUNTER_WARRIOR_NUMBER];
+ ObjectGuid uiKoltiraGUID;
+ ObjectGuid uiOrbazGUID;
+ ObjectGuid uiThassarianGUID;
+ ObjectGuid uiLichKingGUID;
+ ObjectGuid uiAbominationGUID[ENCOUNTER_ABOMINATION_NUMBER];
+ ObjectGuid uiBehemothGUID[ENCOUNTER_BEHEMOTH_NUMBER];
+ ObjectGuid uiGhoulGUID[ENCOUNTER_GHOUL_NUMBER];
+ ObjectGuid uiWarriorGUID[ENCOUNTER_WARRIOR_NUMBER];
void Reset() override
{
@@ -413,23 +394,23 @@ public:
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiRayneGUID))
temp->setDeathState(JUST_DIED);
- uiTirionGUID = 0;
- uiKorfaxGUID = 0;
- uiMaxwellGUID = 0;
- uiEligorGUID = 0;
- uiRayneGUID = 0;
+ uiTirionGUID.Clear();
+ uiKorfaxGUID.Clear();
+ uiMaxwellGUID.Clear();
+ uiEligorGUID.Clear();
+ uiRayneGUID.Clear();
for (uint8 i = 0; i < ENCOUNTER_DEFENDER_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiDefenderGUID[i]))
temp->setDeathState(JUST_DIED);
- uiDefenderGUID[i] = 0;
+ uiDefenderGUID[i].Clear();
}
for (uint8 i = 0; i < ENCOUNTER_EARTHSHATTER_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiEarthshatterGUID[i]))
temp->setDeathState(JUST_DIED);
- uiEarthshatterGUID[i] = 0;
+ uiEarthshatterGUID[i].Clear();
}
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiKoltiraGUID))
@@ -441,33 +422,33 @@ public:
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiLichKingGUID))
temp->Respawn();
- uiKoltiraGUID = 0;
- uiOrbazGUID = 0;
- uiThassarianGUID = 0;
- uiLichKingGUID = 0;
+ uiKoltiraGUID.Clear();
+ uiOrbazGUID.Clear();
+ uiThassarianGUID.Clear();
+ uiLichKingGUID.Clear();
for (uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiAbominationGUID[i]))
temp->setDeathState(JUST_DIED);
- uiAbominationGUID[i] = 0;
+ uiAbominationGUID[i].Clear();
}
for (uint8 i = 0; i < ENCOUNTER_BEHEMOTH_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiBehemothGUID[i]))
temp->setDeathState(JUST_DIED);
- uiBehemothGUID[i] = 0;
+ uiBehemothGUID[i].Clear();
}
for (uint8 i = 0; i < ENCOUNTER_GHOUL_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiGhoulGUID[i]))
temp->setDeathState(JUST_DIED);
- uiGhoulGUID[i] = 0;
+ uiGhoulGUID[i].Clear();
}
for (uint8 i = 0; i < ENCOUNTER_WARRIOR_NUMBER; ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiWarriorGUID[i]))
temp->setDeathState(JUST_DIED);
- uiWarriorGUID[i] = 0;
+ uiWarriorGUID[i].Clear();
}
}
}
@@ -552,18 +533,18 @@ public:
//Unit* pTirion = ObjectAccessor::GetCreature(*me, uiTirionGUID);
Talk(EMOTE_LIGHT_OF_DAWN05);
- if (me->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
+ if (me->HasAura(SPELL_THE_LIGHT_OF_DAWN))
me->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiKoltiraGUID))
{
- if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
+ if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN))
temp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[19].x, LightofDawnLoc[19].y, LightofDawnLoc[19].z);
}
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiThassarianGUID))
{
- if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
+ if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN))
temp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[21].x, LightofDawnLoc[21].y, LightofDawnLoc[21].z);
@@ -1143,7 +1124,7 @@ public:
me->SummonGameObject(GO_LIGHT_OF_DAWN, 2283.896f, -5287.914f, 83.066f, 0, 0, 0, 0, 0, 30);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiTirionGUID))
{
- if (temp->HasAura(SPELL_REBIRTH_OF_THE_ASHBRINGER, 0))
+ if (temp->HasAura(SPELL_REBIRTH_OF_THE_ASHBRINGER))
temp->RemoveAurasDueToSpell(SPELL_REBIRTH_OF_THE_ASHBRINGER);
temp->CastSpell(temp, 41542, false); // workarounds, light expoded, makes it cool
temp->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
@@ -1433,7 +1414,7 @@ public:
bIsBattle = false;
uiFight_duration = 300000;
- if (me->HasAura(SPELL_THE_MIGHT_OF_MOGRAINE, 0))
+ if (me->HasAura(SPELL_THE_MIGHT_OF_MOGRAINE))
me->RemoveAurasDueToSpell(SPELL_THE_MIGHT_OF_MOGRAINE);
me->RemoveAllAuras();
me->DeleteThreatList();
@@ -1532,7 +1513,7 @@ public:
++uiStep;
}
- void NPCChangeTarget(uint64 ui_GUID)
+ void NPCChangeTarget(ObjectGuid ui_GUID)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, ui_GUID))
if (temp->IsAlive())
@@ -1651,7 +1632,7 @@ public:
}
}
- void DespawnNPC(uint64 pGUID)
+ void DespawnNPC(ObjectGuid pGUID)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, pGUID))
if (temp->IsAlive())
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 0733640f4c3..58165df48ef 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -240,14 +240,14 @@ public:
void Initialize()
{
Phase = 0;
- bodyGUID = 0;
+ bodyGUID.Clear();
die = false;
withbody = true;
wait = 1000;
laugh = urand(15000, 30000);
}
- uint64 bodyGUID;
+ ObjectGuid bodyGUID;
uint32 Phase;
uint32 laugh;
@@ -352,7 +352,7 @@ public:
Creature* speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000);
if (speaker)
speaker->CastSpell(speaker, SPELL_HEAD_SPEAKS, false);
- me->MonsterTextEmote(EMOTE_LAUGHS, NULL);
+ me->TextEmote(EMOTE_LAUGHS);
}
else laugh -= diff;
}
@@ -390,8 +390,6 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
- headGUID = 0;
- PlayerGUID = 0;
id = 0;
whirlwind = 0;
wp_reached = false;
@@ -417,8 +415,8 @@ public:
InstanceScript* instance;
- uint64 headGUID;
- uint64 PlayerGUID;
+ ObjectGuid headGUID;
+ ObjectGuid PlayerGUID;
uint32 Phase;
uint32 id;
@@ -446,9 +444,9 @@ public:
if (headGUID)
{
if (Creature* Head = ObjectAccessor::GetCreature((*me), headGUID))
- Head->DisappearAndDie();
+ Head->DespawnOrUnsummon();
- headGUID = 0;
+ headGUID.Clear();
}
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
@@ -670,14 +668,14 @@ public:
if (count < 3)
{
if (player)
- player->Say(Text[count], 0);
+ player->Say(Text[count], LANG_UNIVERSAL);
}
else
{
DoCast(me, SPELL_RHYME_BIG);
if (player)
{
- player->Say(Text[count], 0);
+ player->Say(Text[count], LANG_UNIVERSAL);
player->HandleEmoteCommand(ANIM_EMOTE_SHOUT);
}
wp_reached = true;
@@ -735,7 +733,7 @@ public:
if (laugh <= diff)
{
laugh = urand(11000, 22000);
- me->MonsterTextEmote(EMOTE_LAUGHS, NULL);
+ me->TextEmote(EMOTE_LAUGHS);
DoPlaySoundToSet(me, RandomLaugh[rand32() % 3]);
}
else laugh -= diff;
@@ -806,18 +804,17 @@ public:
npc_pulsing_pumpkinAI(Creature* creature) : ScriptedAI(creature)
{
sprouted = false;
- debuffGUID = 0;
}
bool sprouted;
- uint64 debuffGUID;
+ ObjectGuid debuffGUID;
void Reset() override
{
float x, y, z;
me->GetPosition(x, y, z); //this visual aura some under ground
me->SetPosition(x, y, z + 0.35f, 0.0f);
- debuffGUID = 0;
+ debuffGUID.Clear();
Despawn();
Creature* debuff = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 14500);
if (debuff)
@@ -857,7 +854,7 @@ public:
if (debuff)
{
debuff->SetVisible(false);
- debuffGUID = 0;
+ debuffGUID.Clear();
}
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
index 3e752858e63..4f0cdc2ec16 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
@@ -77,7 +77,7 @@ class boss_interrogator_vishas : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
_JustDied();
- if (Creature* vorrel = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VORREL)))
+ if (Creature* vorrel = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VORREL)))
vorrel->AI()->Talk(SAY_TRIGGER_VORREL);
}
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 02f7c815414..da32e535ab2 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -132,7 +132,7 @@ public:
return;
//On first death, fake death and open door, as well as initiate whitemane if exist
- if (Unit* Whitemane = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_WHITEMANE)))
+ if (Unit* Whitemane = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_WHITEMANE)))
{
instance->SetBossState(DATA_MOGRAINE_AND_WHITE_EVENT, IN_PROGRESS);
@@ -180,7 +180,7 @@ public:
if (_bHasDied && !_bHeal && instance->GetBossState(DATA_MOGRAINE_AND_WHITE_EVENT) == SPECIAL)
{
//On resurrection, stop fake death and heal whitemane and resume fight
- if (Unit* Whitemane = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_WHITEMANE)))
+ if (Unit* Whitemane = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_WHITEMANE)))
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -302,7 +302,7 @@ public:
//When casting resuruction make sure to delay so on rez when reinstate battle deepsleep runs out
if (Wait_Timer <= diff)
{
- if (Creature* mograine = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOGRAINE)))
+ if (Creature* mograine = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MOGRAINE)))
{
DoCast(mograine, SPELL_SCARLETRESURRECTION);
Talk(SAY_WH_RESURRECT);
@@ -336,7 +336,7 @@ public:
if (!HealthAbovePct(75))
target = me;
- if (Creature* mograine = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOGRAINE)))
+ if (Creature* mograine = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MOGRAINE)))
{
// checking _bCanResurrectCheck prevents her healing Mograine while he is "faking death"
if (_bCanResurrectCheck && mograine->IsAlive() && !mograine->HealthAbovePct(75))
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
index 3a79dac3a90..ab0a44b013d 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
@@ -38,13 +38,6 @@ class instance_scarlet_monastery : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- PumpkinShrineGUID = 0;
- HorsemanGUID = 0;
- HeadGUID = 0;
- MograineGUID = 0;
- WhitemaneGUID = 0;
- VorrelGUID = 0;
-
HorsemanAdds.clear();
}
@@ -124,7 +117,7 @@ class instance_scarlet_monastery : public InstanceMapScript
case DATA_HORSEMAN_EVENT:
if (state == DONE)
{
- for (uint64 guid : HorsemanAdds)
+ for (ObjectGuid guid : HorsemanAdds)
{
Creature* add = instance->GetCreature(guid);
if (add && add->IsAlive())
@@ -140,7 +133,7 @@ class instance_scarlet_monastery : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -153,18 +146,18 @@ class instance_scarlet_monastery : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 PumpkinShrineGUID;
- uint64 HorsemanGUID;
- uint64 HeadGUID;
- uint64 MograineGUID;
- uint64 WhitemaneGUID;
- uint64 VorrelGUID;
-
- std::set<uint64> HorsemanAdds;
+ ObjectGuid PumpkinShrineGUID;
+ ObjectGuid HorsemanGUID;
+ ObjectGuid HeadGUID;
+ ObjectGuid MograineGUID;
+ ObjectGuid WhitemaneGUID;
+ ObjectGuid VorrelGUID;
+
+ GuidSet HorsemanAdds;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
index 0386341ed0c..24f7d90817d 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
@@ -59,14 +59,14 @@ class boss_darkmaster_gandling : public CreatureScript
void Reset() override
{
_Reset();
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_GANDLING)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
void JustDied(Unit* /*killer*/) override
{
_JustDied();
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_GANDLING)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
@@ -78,7 +78,7 @@ class boss_darkmaster_gandling : public CreatureScript
events.ScheduleEvent(EVENT_CURSE, 2000);
events.ScheduleEvent(EVENT_SHADOW_PORTAL, 16000);
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_GANDLING)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_READY);
}
@@ -181,32 +181,32 @@ class spell_shadow_portal : public SpellScriptLoader
switch (urand(0, 5))
{
case ROOM_HALL_OF_SECRETS:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_RAVENIAN)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_RAVENIAN)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_HALLOFSECRETS;
break;
case ROOM_HALL_OF_THE_DAMNED:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_THEOLEN)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_THEOLEN)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_HALLOFTHEDAMNED;
break;
case ROOM_THE_COVEN:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_MALICIA)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_MALICIA)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_THECOVEN;
break;
case ROOM_THE_SHADOW_VAULT:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_ILLUCIA)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_ILLUCIA)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_THESHADOWVAULT;
break;
case ROOM_BAROV_FAMILY_VAULT:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_BAROV)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_BAROV)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_BAROVFAMILYVAULT;
break;
case ROOM_VAULT_OF_THE_RAVENIAN:
- if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(GO_GATE_POLKELT)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(GO_GATE_POLKELT)))
if (go->GetGoState() == GO_STATE_ACTIVE)
spellId = SPELL_SHADOW_PORTAL_VAULTOFTHERAVENIAN;
break;
@@ -348,7 +348,7 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
}
}
- if (GameObject* gate = ObjectAccessor::GetGameObject(*caster, _instance->GetData64(gate_to_close)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*caster, _instance->GetGuidData(gate_to_close)))
gate->SetGoState(GO_STATE_READY);
}
}
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 3b423134f2a..05f5dcd9952 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
@@ -98,9 +98,9 @@ class boss_kirtonos_the_herald : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
{
brazier->ResetDoorOrButton();
brazier->SetGoState(GO_STATE_READY);
@@ -110,9 +110,9 @@ class boss_kirtonos_the_herald : public CreatureScript
void EnterEvadeMode() override
{
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
{
brazier->ResetDoorOrButton();
brazier->SetGoState(GO_STATE_READY);
@@ -160,13 +160,13 @@ class boss_kirtonos_the_herald : public CreatureScript
events.ScheduleEvent(INTRO_3, 1000);
break;
case INTRO_3:
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_GATE_KIRTONOS)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_KIRTONOS)))
gate->SetGoState(GO_STATE_READY);
me->SetFacingTo(0.01745329f);
events.ScheduleEvent(INTRO_4, 3000);
break;
case INTRO_4:
- if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetData64(GO_BRAZIER_OF_THE_HERALD)))
+ if (GameObject* brazier = me->GetMap()->GetGameObject(instance->GetGuidData(GO_BRAZIER_OF_THE_HERALD)))
brazier->SetGoState(GO_STATE_READY);
me->SetWalk(true);
me->SetDisableGravity(false);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
index dcb212eead8..f5b1dc34062 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_vectus.cpp
@@ -89,6 +89,7 @@ public:
case EVENT_BLAST_WAVE:
DoCast(me, SPELL_BLAST_WAVE);
events.ScheduleEvent(EVENT_BLAST_WAVE, 12000);
+ break;
case EVENT_FRENZY:
DoCast(me, SPELL_FRENZY);
Talk(EMOTE_FRENZY);
diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
index f1959b6cf56..9565666cee8 100644
--- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
+++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp
@@ -38,15 +38,6 @@ class instance_scholomance : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- GateKirtonosGUID = 0;
- GateGandlingGUID = 0;
- GateMiliciaGUID = 0;
- GateTheolenGUID = 0;
- GatePolkeltGUID = 0;
- GateRavenianGUID = 0;
- GateBarovGUID = 0;
- GateIlluciaGUID = 0;
- BrazierOfTheHeraldGUID = 0;
}
void OnGameObjectCreate(GameObject* go) override
@@ -107,7 +98,7 @@ class instance_scholomance : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -133,7 +124,7 @@ class instance_scholomance : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool CheckPreBosses(uint32 bossId) const
@@ -175,15 +166,15 @@ class instance_scholomance : public InstanceMapScript
}
protected:
- uint64 GateKirtonosGUID;
- uint64 GateGandlingGUID;
- uint64 GateMiliciaGUID;
- uint64 GateTheolenGUID;
- uint64 GatePolkeltGUID;
- uint64 GateRavenianGUID;
- uint64 GateBarovGUID;
- uint64 GateIlluciaGUID;
- uint64 BrazierOfTheHeraldGUID;
+ ObjectGuid GateKirtonosGUID;
+ ObjectGuid GateGandlingGUID;
+ ObjectGuid GateMiliciaGUID;
+ ObjectGuid GateTheolenGUID;
+ ObjectGuid GatePolkeltGUID;
+ ObjectGuid GateRavenianGUID;
+ ObjectGuid GateBarovGUID;
+ ObjectGuid GateIlluciaGUID;
+ ObjectGuid BrazierOfTheHeraldGUID;
};
};
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index 10c4aedf103..ae8cb74ea49 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -83,13 +83,13 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data;
- uint64 uiAshGUID;
- uint64 uiAdaGUID;
- uint64 uiArchmageArugalGUID;
+ ObjectGuid uiAshGUID;
+ ObjectGuid uiAdaGUID;
+ ObjectGuid uiArchmageArugalGUID;
- uint64 DoorCourtyardGUID;
- uint64 DoorSorcererGUID;
- uint64 DoorArugalGUID;
+ ObjectGuid DoorCourtyardGUID;
+ ObjectGuid DoorSorcererGUID;
+ ObjectGuid DoorArugalGUID;
uint8 uiPhase;
uint16 uiTimer;
@@ -99,14 +99,6 @@ public:
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- uiAshGUID = 0;
- uiAdaGUID = 0;
- uiArchmageArugalGUID = 0;
-
- DoorCourtyardGUID = 0;
- DoorSorcererGUID = 0;
- DoorArugalGUID = 0;
-
uiPhase = 0;
uiTimer = 0;
}
@@ -128,17 +120,17 @@ public:
case GO_COURTYARD_DOOR:
DoorCourtyardGUID = go->GetGUID();
if (m_auiEncounter[0] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_SORCERER_DOOR:
DoorSorcererGUID = go->GetGUID();
if (m_auiEncounter[2] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ARUGAL_DOOR:
DoorArugalGUID = go->GetGUID();
if (m_auiEncounter[3] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
}
}
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 0a09bc85ea3..e855b7e676f 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
@@ -132,7 +132,7 @@ public:
if (instance->GetData(TYPE_SH_QUEST))
{
if (Player* player = killer->ToPlayer())
- player->KilledMonsterCredit(SH_QUEST_CREDIT, 0);
+ player->KilledMonsterCredit(SH_QUEST_CREDIT);
}
}
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
index 43ce4d05297..927ca0b19ac 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp
@@ -56,21 +56,21 @@ class instance_stratholme : public InstanceMapScript
bool IsSilverHandDead[5];
- uint64 serviceEntranceGUID;
- uint64 gauntletGate1GUID;
- uint64 ziggurat1GUID;
- uint64 ziggurat2GUID;
- uint64 ziggurat3GUID;
- uint64 ziggurat4GUID;
- uint64 ziggurat5GUID;
- uint64 portGauntletGUID;
- uint64 portSlaugtherGUID;
- uint64 portElderGUID;
-
- uint64 baronGUID;
- uint64 ysidaTriggerGUID;
- std::set<uint64> crystalsGUID;
- std::set<uint64> abomnationGUID;
+ ObjectGuid serviceEntranceGUID;
+ ObjectGuid gauntletGate1GUID;
+ ObjectGuid ziggurat1GUID;
+ ObjectGuid ziggurat2GUID;
+ ObjectGuid ziggurat3GUID;
+ ObjectGuid ziggurat4GUID;
+ ObjectGuid ziggurat5GUID;
+ ObjectGuid portGauntletGUID;
+ ObjectGuid portSlaugtherGUID;
+ ObjectGuid portElderGUID;
+
+ ObjectGuid baronGUID;
+ ObjectGuid ysidaTriggerGUID;
+ GuidSet crystalsGUID;
+ GuidSet abomnationGUID;
EventMap events;
void Initialize() override
@@ -81,19 +81,6 @@ class instance_stratholme : public InstanceMapScript
for (uint8 i = 0; i < 5; ++i)
IsSilverHandDead[i] = false;
- serviceEntranceGUID = 0;
- gauntletGate1GUID = 0;
- ziggurat1GUID = 0;
- ziggurat2GUID = 0;
- ziggurat3GUID = 0;
- ziggurat4GUID = 0;
- ziggurat5GUID = 0;
- portGauntletGUID = 0;
- portSlaugtherGUID = 0;
- portElderGUID = 0;
-
- baronGUID = 0;
- ysidaTriggerGUID = 0;
crystalsGUID.clear();
abomnationGUID.clear();
}
@@ -113,7 +100,7 @@ class instance_stratholme : public InstanceMapScript
}
//if withRestoreTime true, then newState will be ignored and GO should be restored to original state after 10 seconds
- void UpdateGoState(uint64 goGuid, uint32 newState, bool withRestoreTime)
+ void UpdateGoState(ObjectGuid goGuid, uint32 newState, bool withRestoreTime)
{
if (!goGuid)
return;
@@ -176,37 +163,37 @@ class instance_stratholme : public InstanceMapScript
case GO_ZIGGURAT1:
ziggurat1GUID = go->GetGUID();
if (GetData(TYPE_BARONESS) == IN_PROGRESS)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ZIGGURAT2:
ziggurat2GUID = go->GetGUID();
if (GetData(TYPE_NERUB) == IN_PROGRESS)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ZIGGURAT3:
ziggurat3GUID = go->GetGUID();
if (GetData(TYPE_PALLID) == IN_PROGRESS)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ZIGGURAT4:
ziggurat4GUID = go->GetGUID();
if (GetData(TYPE_BARON) == DONE || GetData(TYPE_RAMSTEIN) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ZIGGURAT5:
ziggurat5GUID = go->GetGUID();
if (GetData(TYPE_BARON) == DONE || GetData(TYPE_RAMSTEIN) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_PORT_GAUNTLET:
portGauntletGUID = go->GetGUID();
if (GetData(TYPE_BARONESS) == IN_PROGRESS && GetData(TYPE_NERUB) == IN_PROGRESS && GetData(TYPE_PALLID) == IN_PROGRESS)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_PORT_SLAUGTHER:
portSlaugtherGUID = go->GetGUID();
if (GetData(TYPE_BARONESS) == IN_PROGRESS && GetData(TYPE_NERUB) == IN_PROGRESS && GetData(TYPE_PALLID) == IN_PROGRESS)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_PORT_ELDERS:
portElderGUID = go->GetGUID();
@@ -276,7 +263,7 @@ class instance_stratholme : public InstanceMapScript
HandleGameObject(portGauntletGUID, false);
uint32 count = abomnationGUID.size();
- for (std::set<uint64>::const_iterator i = abomnationGUID.begin(); i != abomnationGUID.end(); ++i)
+ for (GuidSet::const_iterator i = abomnationGUID.begin(); i != abomnationGUID.end(); ++i)
{
if (Creature* pAbom = instance->GetCreature(*i))
if (!pAbom->IsAlive())
@@ -418,7 +405,7 @@ class instance_stratholme : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -427,7 +414,7 @@ class instance_stratholme : public InstanceMapScript
case DATA_YSIDA_TRIGGER:
return ysidaTriggerGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void Update(uint32 diff) override
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
index 9c733677b42..384be9c90a8 100644
--- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
+++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp
@@ -117,12 +117,12 @@ public:
void Initialize()
{
- Tagger = 0;
+ Tagger.Clear();
Die_Timer = 5000;
Tagged = false;
}
- uint64 Tagger;
+ ObjectGuid Tagger;
uint32 Die_Timer;
bool Tagged;
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index ee16a662711..194f5790f44 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -63,13 +63,13 @@ public:
SetHeaders(DataHeader);
}
- uint64 GOAtalaiStatue1;
- uint64 GOAtalaiStatue2;
- uint64 GOAtalaiStatue3;
- uint64 GOAtalaiStatue4;
- uint64 GOAtalaiStatue5;
- uint64 GOAtalaiStatue6;
- uint64 GOAtalaiIdol;
+ ObjectGuid GOAtalaiStatue1;
+ ObjectGuid GOAtalaiStatue2;
+ ObjectGuid GOAtalaiStatue3;
+ ObjectGuid GOAtalaiStatue4;
+ ObjectGuid GOAtalaiStatue5;
+ ObjectGuid GOAtalaiStatue6;
+ ObjectGuid GOAtalaiIdol;
uint32 State;
@@ -82,13 +82,6 @@ public:
void Initialize() override
{
- GOAtalaiStatue1 = 0;
- GOAtalaiStatue2 = 0;
- GOAtalaiStatue3 = 0;
- GOAtalaiStatue4 = 0;
- GOAtalaiStatue5 = 0;
- GOAtalaiStatue6 = 0;
- GOAtalaiIdol = 0;
State = 0;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index 4e401be7df3..1ad113456ac 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -147,7 +147,7 @@ public:
if (!Intro || IsIntro)
return;
- if (Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MADRIGOSA)))
+ if (Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MADRIGOSA)))
{
Madrigosa->Respawn();
Madrigosa->setActive(true);
@@ -182,7 +182,7 @@ public:
void DoIntro()
{
- Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MADRIGOSA));
+ Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MADRIGOSA));
if (!Madrigosa)
return;
@@ -285,7 +285,7 @@ public:
{
if (IntroFrostBoltTimer <= diff)
{
- if (Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MADRIGOSA)))
+ if (Creature* Madrigosa = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MADRIGOSA)))
{
Madrigosa->CastSpell(me, SPELL_INTRO_FROSTBOLT, true);
IntroFrostBoltTimer = 2000;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
index d2382cda37d..7613811e021 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
@@ -114,7 +114,7 @@ public:
{
Enraged = false;
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALYTHESS)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALYTHESS)))
{
if (temp->isDead())
temp->Respawn();
@@ -134,7 +134,7 @@ public:
{
DoZoneInCombat();
- Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALYTHESS));
+ Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALYTHESS));
if (temp && temp->IsAlive() && !temp->GetVictim())
temp->AI()->AttackStart(who);
@@ -207,7 +207,7 @@ public:
{
if (!SisterDeath)
{
- Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ALYTHESS));
+ Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ALYTHESS));
if (Temp && Temp->isDead())
{
Talk(YELL_SISTER_ALYTHESS_DEAD);
@@ -366,7 +366,7 @@ public:
{
Enraged = false;
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SACROLASH)))
{
if (temp->isDead())
temp->Respawn();
@@ -386,7 +386,7 @@ public:
{
DoZoneInCombat();
- Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH));
+ Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SACROLASH));
if (temp && temp->IsAlive() && !temp->GetVictim())
temp->AI()->AttackStart(who);
@@ -486,7 +486,7 @@ public:
uint32 IntroStep(uint32 step)
{
- Creature* Sacrolash = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH));
+ Creature* Sacrolash = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SACROLASH));
switch (step)
{
case 0:
@@ -535,7 +535,7 @@ public:
if (!SisterDeath)
{
- Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_SACROLASH));
+ Unit* Temp = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_SACROLASH));
if (Temp && Temp->isDead())
{
Talk(YELL_SISTER_SACROLASH_DEAD);
@@ -546,7 +546,7 @@ public:
}
if (!me->GetVictim())
{
- Creature* sisiter = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SACROLASH));
+ Creature* sisiter = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SACROLASH));
if (sisiter && !sisiter->isDead() && sisiter->GetVictim())
{
me->AddThreat(sisiter->GetVictim(), 0.0f);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index 4b17f698553..859a09aff78 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -288,7 +288,7 @@ public:
{
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true);
if (!target)
- target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PLAYER_GUID));
+ target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PLAYER_GUID));
if (!target)
{
@@ -314,7 +314,7 @@ public:
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true);
if (!target)
- target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PLAYER_GUID));
+ target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PLAYER_GUID));
if (!target)
{
@@ -343,7 +343,7 @@ public:
{
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 150, true);
if (!target)
- target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PLAYER_GUID));
+ target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PLAYER_GUID));
if (!target)
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index 3284febb9f3..f88c9c6159e 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -115,7 +115,7 @@ public:
void Initialize()
{
- SathGUID = 0;
+ SathGUID.Clear();
ArcaneBuffetTimer = 8000;
FrostBreathTimer = 15000;
WildMagicTimer = 10000;
@@ -148,11 +148,11 @@ public:
bool isBanished;
bool bJustReset;
- uint64 SathGUID;
+ ObjectGuid SathGUID;
void Reset() override
{
- SathGUID = instance->GetData64(DATA_SATHROVARR);
+ SathGUID = instance->GetGuidData(DATA_SATHROVARR);
instance->SetBossState(DATA_KALECGOS, NOT_STARTED);
if (Creature* Sath = ObjectAccessor::GetCreature(*me, SathGUID))
@@ -456,7 +456,7 @@ public:
uint32 YellTimer;
uint32 YellSequence;
- uint64 SathGUID;
+ ObjectGuid SathGUID;
bool isEnraged; // if demon is enraged
@@ -464,7 +464,6 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
- SathGUID = 0;
}
void Initialize()
@@ -479,7 +478,7 @@ public:
void Reset() override
{
- SathGUID = instance->GetData64(DATA_SATHROVARR);
+ SathGUID = instance->GetGuidData(DATA_SATHROVARR);
Initialize();
}
@@ -593,8 +592,6 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
- KalecGUID = 0;
- KalecgosGUID = 0;
}
void Initialize()
@@ -616,8 +613,8 @@ public:
uint32 CheckTimer;
uint32 ResetThreat;
- uint64 KalecGUID;
- uint64 KalecgosGUID;
+ ObjectGuid KalecGUID;
+ ObjectGuid KalecgosGUID;
bool isEnraged;
bool isBanished;
@@ -626,13 +623,13 @@ public:
{
me->SetFullHealth();//dunno why it does not resets health at evade..
me->setActive(true);
- KalecgosGUID = instance->GetData64(DATA_KALECGOS_DRAGON);
+ KalecgosGUID = instance->GetGuidData(DATA_KALECGOS_DRAGON);
instance->SetBossState(DATA_KALECGOS, NOT_STARTED);
if (KalecGUID)
{
if (Creature* Kalec = ObjectAccessor::GetCreature(*me, KalecGUID))
Kalec->setDeathState(JUST_DIED);
- KalecGUID = 0;
+ KalecGUID.Clear();
}
Initialize();
@@ -769,7 +766,7 @@ public:
}
else
{
- me->MonsterTextEmote(EMOTE_UNABLE_TO_FIND, NULL);
+ me->TextEmote(EMOTE_UNABLE_TO_FIND);
EnterEvadeMode();
return;
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 79ebfa7b62b..9bddbcccf49 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -274,13 +274,13 @@ public:
switch (index)
{
case 0:
- return ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1));
+ return ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1));
case 1:
- return ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2));
+ return ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2));
case 2:
- return ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3));
+ return ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3));
case 3:
- return ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4));
+ return ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4));
}
return NULL;
@@ -375,7 +375,7 @@ public:
player->CastSpell(player, SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, false);
go->SetUInt32Value(GAMEOBJECT_FACTION, 0);
- if (Creature* pKalec = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_KALECGOS_KJ)))
+ if (Creature* pKalec = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_KALECGOS_KJ)))
ENSURE_AI(boss_kalecgos_kj::boss_kalecgos_kjAI, pKalec->AI())->SetRingOfBlueFlames();
go->Refresh();
@@ -437,7 +437,7 @@ public:
{
Initialize();
- if (Creature* pKalecKJ = ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_KALECGOS_KJ)))
+ if (Creature* pKalecKJ = ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_KALECGOS_KJ)))
ENSURE_AI(boss_kalecgos_kj::boss_kalecgos_kjAI, pKalecKJ->AI())->ResetOrbs();
summons.DespawnAll();
}
@@ -571,7 +571,7 @@ public:
{
Initialize();
- if (Creature* pKalec = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KALECGOS_KJ)))
+ if (Creature* pKalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KALECGOS_KJ)))
pKalec->RemoveDynObject(SPELL_RING_OF_BLUE_FLAMES);
me->SetFloatValue(UNIT_FIELD_COMBATREACH, 12);
@@ -631,7 +631,7 @@ public:
summons.DespawnAll();
// Reset the controller
- if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KILJAEDEN_CONTROLLER)))
+ if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KILJAEDEN_CONTROLLER)))
ENSURE_AI(npc_kiljaeden_controller::npc_kiljaeden_controllerAI, pControl->AI())->Reset();
}
@@ -713,10 +713,10 @@ public:
if (Speeches[speechCount].timer < SpeechTimer)
{
SpeechTimer = 0;
- if (Creature* speechCreature = ObjectAccessor::GetCreature(*me, instance->GetData64(Speeches[speechCount].creature)))
+ if (Creature* speechCreature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(Speeches[speechCount].creature)))
speechCreature->AI()->Talk(Speeches[speechCount].textid);
if (speechCount == 12)
- if (Creature* pAnveena = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ANVEENA)))
+ if (Creature* pAnveena = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ANVEENA)))
pAnveena->CastSpell(me, SPELL_SACRIFICE_OF_ANVEENA, false);
// ChangeTimers(true, 10000); // Kil should do an emote while screaming without attacking for 10 seconds
if (speechCount == speechPhaseEnd)
@@ -742,7 +742,7 @@ public:
for (uint8 z = 0; z < 6; ++z)
{
pRandomPlayer = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
- if (!pRandomPlayer || !pRandomPlayer->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0))
+ if (!pRandomPlayer || !pRandomPlayer->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT))
break;
}
@@ -815,7 +815,7 @@ public:
}
break;
case TIMER_ORBS_EMPOWER: //Phase 3
- if (Creature* pKalec = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KALECGOS_KJ)))
+ if (Creature* pKalec = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KALECGOS_KJ)))
{
switch (Phase)
{
@@ -835,7 +835,7 @@ public:
for (uint8 z = 0; z < 6; ++z)
{
target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
- if (!target || !target->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0)) break;
+ if (!target || !target->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT)) break;
}
if (target)
{
@@ -941,7 +941,7 @@ public:
void EnterCombat(Unit* who) override
{
instance->SetBossState(DATA_KILJAEDEN, IN_PROGRESS);
- if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KILJAEDEN_CONTROLLER)))
+ if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KILJAEDEN_CONTROLLER)))
pControl->AddThreat(who, 1.0f);
me->InterruptNonMeleeSpells(true);
@@ -949,7 +949,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KILJAEDEN_CONTROLLER)))
+ if (Creature* pControl = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KILJAEDEN_CONTROLLER)))
++(ENSURE_AI(npc_kiljaeden_controller::npc_kiljaeden_controllerAI, pControl->AI())->deceiverDeathCount);
}
@@ -962,7 +962,7 @@ public:
return;
// Gain Shadow Infusion at 20% health
- if (HealthBelowPct(20) && !me->HasAura(SPELL_SHADOW_INFUSION, 0))
+ if (HealthBelowPct(20) && !me->HasAura(SPELL_SHADOW_INFUSION))
DoCast(me, SPELL_SHADOW_INFUSION, true);
// Shadow Bolt Volley - Shoots Shadow Bolts at all enemies within 30 yards, for ~2k Shadow damage.
@@ -1260,7 +1260,7 @@ public:
if (uiTimer <= diff)
{
- if (Unit* random = ObjectAccessor::GetPlayer(*me, instance->GetData64(DATA_PLAYER_GUID)))
+ if (Unit* random = ObjectAccessor::GetPlayer(*me, instance->GetGuidData(DATA_PLAYER_GUID)))
DoCast(random, SPELL_SHADOW_BOLT, false);
uiTimer = urand(500, 1000);
} else uiTimer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index 823423fc3a8..99b710afb1e 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -153,7 +153,7 @@ public:
void EnterEvadeMode() override
{
- if (Creature* muru = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MURU)))
+ if (Creature* muru = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MURU)))
muru->AI()->Reset(); // Reset encounter.
me->DisappearAndDie();
summons.DespawnAll();
@@ -183,7 +183,7 @@ public:
{
DarkFiend = false;
HasEnraged = false;
- EntropiusGUID = 0;
+ EntropiusGUID.Clear();
}
void Reset() override
@@ -278,7 +278,7 @@ public:
private:
bool DarkFiend;
bool HasEnraged;
- uint64 EntropiusGUID;
+ ObjectGuid EntropiusGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -334,7 +334,7 @@ public:
void JustSummoned(Creature* summoned) override
{
- if (Player* target = ObjectAccessor::GetPlayer(*me, instance->GetData64(DATA_PLAYER_GUID)))
+ if (Player* target = ObjectAccessor::GetPlayer(*me, instance->GetGuidData(DATA_PLAYER_GUID)))
summoned->AI()->AttackStart(target);
Summons.Summon(summoned);
@@ -555,7 +555,7 @@ public:
{
if (SpellTimer <= diff)
{
- Unit* Victim = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PLAYER_GUID));
+ Unit* Victim = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PLAYER_GUID));
switch (NeedForAHack)
{
case 0:
@@ -574,7 +574,7 @@ public:
case 2:
SpellTimer = 400;
NeedForAHack = 3;
- me->RemoveAura(SPELL_BLACKHOLE_GROW, 1);
+ me->RemoveAura(SPELL_BLACKHOLE_GROW);
break;
case 3:
SpellTimer = urand(400, 900);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
index 2066c4309b2..f0e785bad16 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
@@ -53,21 +53,7 @@ class instance_sunwell_plateau : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- KalecgosDragonGUID = 0;
- KalecgosHumanGUID = 0;
- SathrovarrGUID = 0;
- BrutallusGUID = 0;
- MadrigosaGUID = 0;
- FelmystGUID = 0;
- AlythessGUID = 0;
- SacrolashGUID = 0;
- MuruGUID = 0;
- KilJaedenGUID = 0;
- KilJaedenControllerGUID = 0;
- AnveenaGUID = 0;
- KalecgosKjGUID = 0;
SpectralPlayers = 0;
-
SpectralRealmTimer = 5000;
}
@@ -80,7 +66,7 @@ class instance_sunwell_plateau : public InstanceMapScript
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
{
Player* player = itr->GetSource();
- if (player && !player->HasAura(45839, 0))
+ if (player && !player->HasAura(45839))
return player;
}
}
@@ -172,7 +158,7 @@ class instance_sunwell_plateau : public InstanceMapScript
}
}
- uint64 GetData64(uint32 id) const override
+ ObjectGuid GetGuidData(uint32 id) const override
{
switch (id)
{
@@ -205,32 +191,32 @@ class instance_sunwell_plateau : public InstanceMapScript
case DATA_PLAYER_GUID:
{
Player const* target = GetPlayerInMap();
- return target ? target->GetGUID() : 0;
+ return target ? target->GetGUID() : ObjectGuid::Empty;
}
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 KalecgosDragonGUID;
- uint64 KalecgosHumanGUID;
- uint64 SathrovarrGUID;
- uint64 BrutallusGUID;
- uint64 MadrigosaGUID;
- uint64 FelmystGUID;
- uint64 AlythessGUID;
- uint64 SacrolashGUID;
- uint64 MuruGUID;
- uint64 KilJaedenGUID;
- uint64 KilJaedenControllerGUID;
- uint64 AnveenaGUID;
- uint64 KalecgosKjGUID;
+ ObjectGuid KalecgosDragonGUID;
+ ObjectGuid KalecgosHumanGUID;
+ ObjectGuid SathrovarrGUID;
+ ObjectGuid BrutallusGUID;
+ ObjectGuid MadrigosaGUID;
+ ObjectGuid FelmystGUID;
+ ObjectGuid AlythessGUID;
+ ObjectGuid SacrolashGUID;
+ ObjectGuid MuruGUID;
+ ObjectGuid KilJaedenGUID;
+ ObjectGuid KilJaedenControllerGUID;
+ ObjectGuid AnveenaGUID;
+ ObjectGuid KalecgosKjGUID;
uint32 SpectralPlayers;
uint32 SpectralRealmTimer;
- std::vector<uint64> SpectralRealmList;
+ GuidVector SpectralRealmList;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
index f82d71901ac..6986cb8d6e9 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
@@ -98,7 +98,7 @@ class boss_archaedas : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
}
- void ActivateMinion(uint64 uiGuid, bool flag)
+ void ActivateMinion(ObjectGuid uiGuid, bool flag)
{
Unit* minion = ObjectAccessor::GetUnit(*me, uiGuid);
@@ -145,7 +145,7 @@ class boss_archaedas : public CreatureScript
} else if (bWakingUp && iAwakenTimer <= 0)
{
bWakingUp = false;
- AttackStart(ObjectAccessor::GetUnit(*me, instance->GetData64(0)));
+ AttackStart(ObjectAccessor::GetUnit(*me, instance->GetGuidData(0)));
return; // dont want to continue until we finish the AttackStart method
}
@@ -164,12 +164,12 @@ class boss_archaedas : public CreatureScript
//If we are <66 summon the guardians
if (!bGuardiansAwake && !HealthAbovePct(66))
{
- ActivateMinion(instance->GetData64(5), true); // EarthenGuardian1
- ActivateMinion(instance->GetData64(6), true); // EarthenGuardian2
- ActivateMinion(instance->GetData64(7), true); // EarthenGuardian3
- ActivateMinion(instance->GetData64(8), true); // EarthenGuardian4
- ActivateMinion(instance->GetData64(9), true); // EarthenGuardian5
- ActivateMinion(instance->GetData64(10), false); // EarthenGuardian6
+ ActivateMinion(instance->GetGuidData(5), true); // EarthenGuardian1
+ ActivateMinion(instance->GetGuidData(6), true); // EarthenGuardian2
+ ActivateMinion(instance->GetGuidData(7), true); // EarthenGuardian3
+ ActivateMinion(instance->GetGuidData(8), true); // EarthenGuardian4
+ ActivateMinion(instance->GetGuidData(9), true); // EarthenGuardian5
+ ActivateMinion(instance->GetGuidData(10), false); // EarthenGuardian6
Talk(SAY_SUMMON_GUARDIANS);
bGuardiansAwake = true;
}
@@ -177,10 +177,10 @@ class boss_archaedas : public CreatureScript
//If we are <33 summon the vault walkers
if (!bVaultWalkersAwake && !HealthAbovePct(33))
{
- ActivateMinion(instance->GetData64(1), true); // VaultWalker1
- ActivateMinion(instance->GetData64(2), true); // VaultWalker2
- ActivateMinion(instance->GetData64(3), true); // VaultWalker3
- ActivateMinion(instance->GetData64(4), false); // VaultWalker4
+ ActivateMinion(instance->GetGuidData(1), true); // VaultWalker1
+ ActivateMinion(instance->GetGuidData(2), true); // VaultWalker2
+ ActivateMinion(instance->GetGuidData(3), true); // VaultWalker3
+ ActivateMinion(instance->GetGuidData(4), false); // VaultWalker4
Talk(SAY_SUMMON_VAULT_WALKERS);
bVaultWalkersAwake = true;
}
@@ -297,7 +297,7 @@ class npc_archaedas_minions : public CreatureScript
{
bWakingUp = false;
bAmIAwake = true;
- // AttackStart(ObjectAccessor::GetUnit(*me, instance->GetData64(0))); // whoWokeArchaedasGUID
+ // AttackStart(ObjectAccessor::GetUnit(*me, instance->GetGuidData(0))); // whoWokeArchaedasGUID
return; // dont want to continue until we finish the AttackStart method
}
@@ -401,7 +401,7 @@ class go_altar_of_archaedas : public GameObjectScript
player->CastSpell (player, SPELL_BOSS_OBJECT_VISUAL, false);
- instance->SetData64(0, player->GetGUID()); // activate archaedas
+ instance->SetGuidData(0, player->GetGUID()); // activate archaedas
return false;
}
};
diff --git a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
index 17a6440702e..956f7099596 100644
--- a/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
+++ b/src/server/scripts/EasternKingdoms/Uldaman/instance_uldaman.cpp
@@ -52,18 +52,6 @@ class instance_uldaman : public InstanceMapScript
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- archaedasGUID = 0;
- ironayaGUID = 0;
- whoWokeuiArchaedasGUID = 0;
-
- altarOfTheKeeperTempleDoor = 0;
- archaedasTempleDoor = 0;
- ancientVaultDoor = 0;
-
- ironayaSealDoor = 0;
-
- keystoneGUID = 0;
-
ironayaSealDoorTimer = 27000; //animation time
keystoneCheck = false;
}
@@ -77,25 +65,25 @@ class instance_uldaman : public InstanceMapScript
return false;
}
- uint64 archaedasGUID;
- uint64 ironayaGUID;
- uint64 whoWokeuiArchaedasGUID;
+ ObjectGuid archaedasGUID;
+ ObjectGuid ironayaGUID;
+ ObjectGuid whoWokeuiArchaedasGUID;
- uint64 altarOfTheKeeperTempleDoor;
- uint64 archaedasTempleDoor;
- uint64 ancientVaultDoor;
- uint64 ironayaSealDoor;
+ ObjectGuid altarOfTheKeeperTempleDoor;
+ ObjectGuid archaedasTempleDoor;
+ ObjectGuid ancientVaultDoor;
+ ObjectGuid ironayaSealDoor;
- uint64 keystoneGUID;
+ ObjectGuid keystoneGUID;
uint32 ironayaSealDoorTimer;
bool keystoneCheck;
- std::vector<uint64> stoneKeepers;
- std::vector<uint64> altarOfTheKeeperCounts;
- std::vector<uint64> vaultWalkers;
- std::vector<uint64> earthenGuardians;
- std::vector<uint64> archaedasWallMinions; // minions lined up around the wall
+ GuidVector stoneKeepers;
+ GuidVector altarOfTheKeeperCounts;
+ GuidVector vaultWalkers;
+ GuidVector earthenGuardians;
+ GuidVector archaedasWallMinions; // minions lined up around the wall
uint32 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data;
@@ -108,14 +96,14 @@ class instance_uldaman : public InstanceMapScript
altarOfTheKeeperTempleDoor = go->GetGUID();
if (m_auiEncounter[0] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ARCHAEDAS_TEMPLE_DOOR:
archaedasTempleDoor = go->GetGUID();
if (m_auiEncounter[0] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ANCIENT_VAULT_DOOR:
@@ -124,14 +112,14 @@ class instance_uldaman : public InstanceMapScript
ancientVaultDoor = go->GetGUID();
if (m_auiEncounter[1] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_IRONAYA_SEAL_DOOR:
ironayaSealDoor = go->GetGUID();
if (m_auiEncounter[2] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_KEYSTONE:
@@ -139,7 +127,7 @@ class instance_uldaman : public InstanceMapScript
if (m_auiEncounter[2] == DONE)
{
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
go->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND);
}
break;
@@ -155,7 +143,7 @@ class instance_uldaman : public InstanceMapScript
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
}
- void SetDoor(uint64 guid, bool open)
+ void SetDoor(ObjectGuid guid, bool open)
{
GameObject* go = instance->GetGameObject(guid);
if (!go)
@@ -164,7 +152,7 @@ class instance_uldaman : public InstanceMapScript
HandleGameObject(guid, open);
}
- void BlockGO(uint64 guid)
+ void BlockGO(ObjectGuid guid)
{
GameObject* go = instance->GetGameObject(guid);
if (!go)
@@ -177,7 +165,7 @@ class instance_uldaman : public InstanceMapScript
{
if (GetData(DATA_ALTAR_DOORS) != DONE)
{
- for (std::vector<uint64>::const_iterator i = stoneKeepers.begin(); i != stoneKeepers.end(); ++i)
+ for (GuidVector::const_iterator i = stoneKeepers.begin(); i != stoneKeepers.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (!target || !target->IsAlive())
@@ -199,7 +187,7 @@ class instance_uldaman : public InstanceMapScript
if (!archaedas)
return;
- for (std::vector<uint64>::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
+ for (GuidVector::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (!target || !target->IsAlive() || target->getFaction() == 14)
@@ -217,7 +205,7 @@ class instance_uldaman : public InstanceMapScript
void DeActivateMinions()
{
// first despawn any aggroed wall minions
- for (std::vector<uint64>::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
+ for (GuidVector::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (!target || target->isDead() || target->getFaction() != 14)
@@ -227,7 +215,7 @@ class instance_uldaman : public InstanceMapScript
}
// Vault Walkers
- for (std::vector<uint64>::const_iterator i = vaultWalkers.begin(); i != vaultWalkers.end(); ++i)
+ for (GuidVector::const_iterator i = vaultWalkers.begin(); i != vaultWalkers.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (!target || target->isDead() || target->getFaction() != 14)
@@ -237,7 +225,7 @@ class instance_uldaman : public InstanceMapScript
}
// Earthen Guardians
- for (std::vector<uint64>::const_iterator i = earthenGuardians.begin(); i != earthenGuardians.end(); ++i)
+ for (GuidVector::const_iterator i = earthenGuardians.begin(); i != earthenGuardians.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (!target || target->isDead() || target->getFaction() != 14)
@@ -247,7 +235,7 @@ class instance_uldaman : public InstanceMapScript
}
}
- void ActivateArchaedas(uint64 target)
+ void ActivateArchaedas(ObjectGuid target)
{
Creature* archaedas = instance->GetCreature(archaedasGUID);
if (!archaedas)
@@ -274,7 +262,7 @@ class instance_uldaman : public InstanceMapScript
void RespawnMinions()
{
// first respawn any aggroed wall minions
- for (std::vector<uint64>::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
+ for (GuidVector::const_iterator i = archaedasWallMinions.begin(); i != archaedasWallMinions.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (target && target->isDead())
@@ -286,7 +274,7 @@ class instance_uldaman : public InstanceMapScript
}
// Vault Walkers
- for (std::vector<uint64>::const_iterator i = vaultWalkers.begin(); i != vaultWalkers.end(); ++i)
+ for (GuidVector::const_iterator i = vaultWalkers.begin(); i != vaultWalkers.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (target && target->isDead())
@@ -298,7 +286,7 @@ class instance_uldaman : public InstanceMapScript
}
// Earthen Guardians
- for (std::vector<uint64>::const_iterator i = earthenGuardians.begin(); i != earthenGuardians.end(); ++i)
+ for (GuidVector::const_iterator i = earthenGuardians.begin(); i != earthenGuardians.end(); ++i)
{
Creature* target = instance->GetCreature(*i);
if (target && target->isDead())
@@ -394,7 +382,7 @@ class instance_uldaman : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
// Archaedas
if (type == 0)
@@ -470,7 +458,7 @@ class instance_uldaman : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -492,8 +480,8 @@ class instance_uldaman : public InstanceMapScript
break;
}
- return 0;
- } // end GetData64
+ return ObjectGuid::Empty;
+ } // end GetGuidData
void ProcessEvent(WorldObject* /*gameObject*/, uint32 eventId) override
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
index b15fdd85a00..275435121f1 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
@@ -93,10 +93,12 @@ class boss_akilzon : public CreatureScript
void Initialize()
{
- TargetGUID = 0;
- CloudGUID = 0;
- CycloneGUID = 0;
- memset(BirdGUIDs, 0, sizeof(BirdGUIDs));
+ TargetGUID.Clear();
+ CloudGUID.Clear();
+ CycloneGUID.Clear();
+ for (ObjectGuid& guid : BirdGUIDs)
+ guid.Clear();
+
StormCount = 0;
isRaining = false;
}
@@ -211,7 +213,7 @@ class boss_akilzon : public CreatureScript
StormCount = 0; // finish
events.ScheduleEvent(EVENT_SUMMON_EAGLES, 5000);
me->InterruptNonMeleeSpells(false);
- CloudGUID = 0;
+ CloudGUID.Clear();
if (Cloud)
Cloud->DealDamage(Cloud, Cloud->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
SetWeather(WEATHER_STATE_FINE, 0.0f);
@@ -364,10 +366,10 @@ class boss_akilzon : public CreatureScript
}
private:
- uint64 BirdGUIDs[8];
- uint64 TargetGUID;
- uint64 CycloneGUID;
- uint64 CloudGUID;
+ ObjectGuid BirdGUIDs[8];
+ ObjectGuid TargetGUID;
+ ObjectGuid CycloneGUID;
+ ObjectGuid CloudGUID;
uint8 StormCount;
bool isRaining;
};
@@ -394,12 +396,12 @@ class npc_akilzon_eagle : public CreatureScript
{
EagleSwoop_Timer = urand(5000, 10000);
arrived = true;
- TargetGUID = 0;
+ TargetGUID.Clear();
}
uint32 EagleSwoop_Timer;
bool arrived;
- uint64 TargetGUID;
+ ObjectGuid TargetGUID;
void Reset() override
{
@@ -422,7 +424,7 @@ class npc_akilzon_eagle : public CreatureScript
{
if (Unit* target = ObjectAccessor::GetUnit(*me, TargetGUID))
DoCast(target, SPELL_EAGLE_SWOOP, true);
- TargetGUID = 0;
+ TargetGUID.Clear();
me->SetSpeed(MOVE_RUN, 1.2f);
EagleSwoop_Timer = urand(5000, 10000);
}
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
index 0cf1f932f10..6e38ca6a39e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
@@ -85,7 +85,7 @@ class boss_halazzi : public CreatureScript
void Initialize()
{
- LynxGUID = 0;
+ LynxGUID.Clear();
TransformCount = 0;
BerserkTimer = 600000;
CheckTimer = 1000;
@@ -103,7 +103,7 @@ class boss_halazzi : public CreatureScript
uint32 BerserkTimer;
uint32 TransformCount;
- uint64 LynxGUID;
+ ObjectGuid LynxGUID;
void Reset() override
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
index 3c9d4397d24..55f7af71253 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
@@ -258,8 +258,8 @@ class boss_hexlord_malacrass : public CreatureScript
instance = creature->GetInstanceScript();
SelectAddEntry();
for (uint8 i = 0; i < 4; ++i)
- AddGUID[i] = 0;
- PlayerGUID = 0;
+ AddGUID[i].Clear();
+ PlayerGUID.Clear();
PlayerClass = CLASS_NONE;
}
@@ -275,10 +275,10 @@ class boss_hexlord_malacrass : public CreatureScript
InstanceScript* instance;
- uint64 AddGUID[4];
+ ObjectGuid AddGUID[4];
uint32 AddEntry[4];
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 SpiritBolts_Timer;
uint32 DrainPower_Timer;
@@ -306,7 +306,7 @@ class boss_hexlord_malacrass : public CreatureScript
instance->SetData(DATA_HEXLORDEVENT, IN_PROGRESS);
DoZoneInCombat();
- me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_AGGRO, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_AGGRO);
for (uint8 i = 0; i < 4; ++i)
@@ -327,11 +327,11 @@ class boss_hexlord_malacrass : public CreatureScript
switch (urand(0, 1))
{
case 0:
- me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_KILL_ONE, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE);
break;
case 1:
- me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_KILL_TWO, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO);
break;
}
@@ -341,7 +341,7 @@ class boss_hexlord_malacrass : public CreatureScript
{
instance->SetData(DATA_HEXLORDEVENT, DONE);
- me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_DEATH, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_DEATH);
for (uint8 i = 0; i < 4; ++i)
@@ -415,7 +415,7 @@ class boss_hexlord_malacrass : public CreatureScript
if (DrainPower_Timer <= diff)
{
DoCast(me, SPELL_DRAIN_POWER, true);
- me->MonsterYell(YELL_DRAIN_POWER, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_DRAIN_POWER, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_DRAIN_POWER);
DrainPower_Timer = urand(40000, 55000); // must cast in 60 sec, or buff/debuff will disappear
} else DrainPower_Timer -= diff;
@@ -427,7 +427,7 @@ class boss_hexlord_malacrass : public CreatureScript
else
{
DoCast(me, SPELL_SPIRIT_BOLTS, false);
- me->MonsterYell(YELL_SPIRIT_BOLTS, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_SPIRIT_BOLTS, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_SPIRIT_BOLTS);
SpiritBolts_Timer = 40000;
SiphonSoul_Timer = 10000; // ready to drain
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 2e434ed6ab5..37b8b559895 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -141,7 +141,7 @@ class boss_janalai : public CreatureScript
isFlameBreathing = false;
for (uint8 i = 0; i < 40; ++i)
- FireBombGUIDs[i] = 0;
+ FireBombGUIDs[i].Clear();
}
InstanceScript* instance;
@@ -159,7 +159,7 @@ class boss_janalai : public CreatureScript
bool isFlameBreathing;
- uint64 FireBombGUIDs[40];
+ ObjectGuid FireBombGUIDs[40];
void Reset() override
{
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index c9c028021f1..279ca60a484 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -227,7 +227,7 @@ class boss_nalorakk : public CreatureScript
case 0:
if (me->IsWithinDistInMap(who, 50))
{
- me->MonsterYell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE1);
(*me).GetMotionMaster()->MovePoint(1, NalorakkWay[1][0], NalorakkWay[1][1], NalorakkWay[1][2]);
@@ -240,7 +240,7 @@ class boss_nalorakk : public CreatureScript
case 2:
if (me->IsWithinDistInMap(who, 40))
{
- me->MonsterYell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE2);
(*me).GetMotionMaster()->MovePoint(3, NalorakkWay[3][0], NalorakkWay[3][1], NalorakkWay[3][2]);
@@ -253,7 +253,7 @@ class boss_nalorakk : public CreatureScript
case 5:
if (me->IsWithinDistInMap(who, 40))
{
- me->MonsterYell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE3);
(*me).GetMotionMaster()->MovePoint(6, NalorakkWay[6][0], NalorakkWay[6][1], NalorakkWay[6][2]);
@@ -268,7 +268,7 @@ class boss_nalorakk : public CreatureScript
{
SendAttacker(who);
- me->MonsterYell(YELL_NALORAKK_WAVE4, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_NALORAKK_WAVE4, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE4);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -287,7 +287,7 @@ class boss_nalorakk : public CreatureScript
{
instance->SetData(DATA_NALORAKKEVENT, IN_PROGRESS);
- me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_AGGRO, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_AGGRO);
DoZoneInCombat();
}
@@ -296,7 +296,7 @@ class boss_nalorakk : public CreatureScript
{
instance->SetData(DATA_NALORAKKEVENT, DONE);
- me->MonsterYell(YELL_DEATH, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_DEATH, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_DEATH);
}
@@ -305,11 +305,11 @@ class boss_nalorakk : public CreatureScript
switch (urand(0, 1))
{
case 0:
- me->MonsterYell(YELL_KILL_ONE, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_KILL_ONE, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE);
break;
case 1:
- me->MonsterYell(YELL_KILL_TWO, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_KILL_TWO, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO);
break;
}
@@ -373,7 +373,7 @@ class boss_nalorakk : public CreatureScript
if (Berserk_Timer <= diff)
{
DoCast(me, SPELL_BERSERK, true);
- me->MonsterYell(YELL_BERSERK, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_BERSERK, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_BERSERK);
Berserk_Timer = 600000;
} else Berserk_Timer -= diff;
@@ -383,7 +383,7 @@ class boss_nalorakk : public CreatureScript
if (inBearForm)
{
// me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 5122);
- me->MonsterYell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_TOTROLL);
me->RemoveAurasDueToSpell(SPELL_BEARFORM);
Surge_Timer = urand(15000, 20000);
@@ -395,7 +395,7 @@ class boss_nalorakk : public CreatureScript
else
{
// me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
- me->MonsterYell(YELL_SHIFTEDTOBEAR, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_SHIFTEDTOBEAR, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_TOBEAR);
DoCast(me, SPELL_BEARFORM, true);
LaceratingSlash_Timer = 2000; // dur 18s
@@ -426,7 +426,7 @@ class boss_nalorakk : public CreatureScript
if (Surge_Timer <= diff)
{
- me->MonsterYell(YELL_SURGE, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_SURGE, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_YELL_SURGE);
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true);
if (target)
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
index 5b9957cb94d..dfb7f96ec4a 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
@@ -138,7 +138,6 @@ class boss_zuljin : public CreatureScript
{
Initialize();
instance = creature->GetInstanceScript();
- memset(SpiritGUID, 0, sizeof(SpiritGUID));
health_20 = 0;
}
@@ -164,15 +163,15 @@ class boss_zuljin : public CreatureScript
Flame_Breath_Timer = 6000;
Pillar_Of_Fire_Timer = 7000;
- ClawTargetGUID = 0;
- TankGUID = 0;
+ ClawTargetGUID.Clear();
+ TankGUID.Clear();
}
InstanceScript* instance;
- uint64 SpiritGUID[4];
- uint64 ClawTargetGUID;
- uint64 TankGUID;
+ ObjectGuid SpiritGUID[4];
+ ObjectGuid ClawTargetGUID;
+ ObjectGuid TankGUID;
uint32 Phase;
uint32 health_20;
@@ -299,7 +298,7 @@ class boss_zuljin : public CreatureScript
temp->setDeathState(DEAD);
}
}
- SpiritGUID[i] = 0;
+ SpiritGUID[i].Clear();
}
}
@@ -465,7 +464,7 @@ class boss_zuljin : public CreatureScript
Claw_Rage_Timer = urand(15000, 20000);
me->SetSpeed(MOVE_RUN, 1.2f);
AttackStart(ObjectAccessor::GetUnit(*me, TankGUID));
- TankGUID = 0;
+ TankGUID.Clear();
return;
}
else
@@ -513,7 +512,7 @@ class boss_zuljin : public CreatureScript
Lynx_Rush_Timer = urand(15000, 20000);
me->SetSpeed(MOVE_RUN, 1.2f);
AttackStart(ObjectAccessor::GetUnit(*me, TankGUID));
- TankGUID = 0;
+ TankGUID.Clear();
}
else
AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0));
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
index 6081887e609..72bd8446972 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
@@ -68,19 +68,19 @@ class instance_zulaman : public InstanceMapScript
{
instance_zulaman_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 HarkorsSatchelGUID;
- uint64 TanzarsTrunkGUID;
- uint64 AshlisBagGUID;
- uint64 KrazsPackageGUID;
- uint64 StrangeGongGUID;
- uint64 HarrisonJonesGUID;
-
- uint64 HexLordGateGUID;
- uint64 ZulJinGateGUID;
- uint64 MassiveGateGUID;
- uint64 AkilzonDoorGUID;
- uint64 ZulJinDoorGUID;
- uint64 HalazziDoorGUID;
+ ObjectGuid HarkorsSatchelGUID;
+ ObjectGuid TanzarsTrunkGUID;
+ ObjectGuid AshlisBagGUID;
+ ObjectGuid KrazsPackageGUID;
+ ObjectGuid StrangeGongGUID;
+ ObjectGuid HarrisonJonesGUID;
+
+ ObjectGuid HexLordGateGUID;
+ ObjectGuid ZulJinGateGUID;
+ ObjectGuid MassiveGateGUID;
+ ObjectGuid AkilzonDoorGUID;
+ ObjectGuid ZulJinDoorGUID;
+ ObjectGuid HalazziDoorGUID;
uint32 QuestTimer;
uint16 BossKilled;
@@ -95,20 +95,6 @@ class instance_zulaman : public InstanceMapScript
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- HarkorsSatchelGUID = 0;
- TanzarsTrunkGUID = 0;
- AshlisBagGUID = 0;
- KrazsPackageGUID = 0;
- StrangeGongGUID = 0;
- HexLordGateGUID = 0;
- ZulJinGateGUID = 0;
- MassiveGateGUID = 0;
- AkilzonDoorGUID = 0;
- HalazziDoorGUID = 0;
- ZulJinDoorGUID = 0;
-
- HarrisonJonesGUID = 0;
-
QuestTimer = 0;
QuestMinute = 0;
BossKilled = 0;
@@ -351,7 +337,7 @@ class instance_zulaman : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -361,7 +347,7 @@ class instance_zulaman : public InstanceMapScript
return MassiveGateGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
};
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index 6784ff086c7..958cf0bd899 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -288,7 +288,7 @@ class npc_harrison_jones : public CreatureScript
me->RemoveAllAuras();
me->SetEntry(NPC_HARRISON_JONES_2);
me->SetDisplayId(MODEL_HARRISON_JONES_2);
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_DEAD);
me->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
instance->SetData(DATA_GONGEVENT, DONE);
@@ -318,14 +318,14 @@ class npc_harrison_jones : public CreatureScript
_gongTimer = 4000;
break;
case GONG_EVENT_3:
- if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG)))
+ if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
_gongEvent = GONG_EVENT_4;
_gongTimer = 105000;
break;
case GONG_EVENT_4:
me->RemoveAura(SPELL_BANGING_THE_GONG);
- if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG)))
+ if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
// trigger or gong will need to be scripted to set IN_PROGRESS after enough hits.
@@ -387,7 +387,7 @@ class npc_harrison_jones : public CreatureScript
}
}
- if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_MASSIVE_GATE)))
+ if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_MASSIVE_GATE)))
gate->SetGoState(GO_STATE_ACTIVE);
_gongTimer = 2000;
_gongEvent = GONG_EVENT_8;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
index 0d780da6560..32aff72f435 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
@@ -95,8 +95,6 @@ class boss_arlokk : public CreatureScript
boss_arlokkAI(Creature* creature) : BossAI(creature, DATA_ARLOKK)
{
Initialize();
- memset(_triggersSideAGUID, 0, sizeof(_triggersSideAGUID));
- memset(_triggersSideBGUID, 0, sizeof(_triggersSideBGUID));
}
void Initialize()
@@ -162,7 +160,7 @@ class boss_arlokk : public CreatureScript
void EnterEvadeMode() override
{
BossAI::EnterEvadeMode();
- if (GameObject* object = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_GONG_OF_BETHEKK)))
+ if (GameObject* object = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GONG_OF_BETHEKK)))
object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
me->DespawnOrUnsummon(4000);
}
@@ -305,8 +303,8 @@ class boss_arlokk : public CreatureScript
private:
uint8 _summonCountA;
uint8 _summonCountB;
- uint64 _triggersSideAGUID[5];
- uint64 _triggersSideBGUID[5];
+ ObjectGuid _triggersSideAGUID[5];
+ ObjectGuid _triggersSideBGUID[5];
};
CreatureAI* GetAI(Creature* creature) const override
@@ -357,7 +355,7 @@ class npc_zulian_prowler : public CreatureScript
DoCast(me, SPELL_SNEAK_RANK_1_1);
DoCast(me, SPELL_SNEAK_RANK_1_2);
- if (Unit* arlokk = ObjectAccessor::GetUnit(*me, _instance->GetData64(NPC_ARLOKK)))
+ if (Unit* arlokk = ObjectAccessor::GetUnit(*me, _instance->GetGuidData(NPC_ARLOKK)))
me->GetMotionMaster()->MovePoint(0, arlokk->GetPositionX(), arlokk->GetPositionY(), arlokk->GetPositionZ());
_events.ScheduleEvent(EVENT_ATTACK, 6000);
}
@@ -377,7 +375,7 @@ class npc_zulian_prowler : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Unit* arlokk = ObjectAccessor::GetUnit(*me, _instance->GetData64(NPC_ARLOKK)))
+ if (Unit* arlokk = ObjectAccessor::GetUnit(*me, _instance->GetGuidData(NPC_ARLOKK)))
{
if (arlokk->IsAlive())
arlokk->GetAI()->SetData(_sideData, 0);
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
index d1c9579c027..3ffdf18d3d4 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
@@ -199,7 +199,7 @@ class npc_healing_ward : public CreatureScript
// Heal_Timer
if (Heal_Timer <= diff)
{
- if (Unit* jindo = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JINDO)))
+ if (Unit* jindo = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JINDO)))
DoCast(jindo, SPELL_HEAL);
Heal_Timer = 3000;
} else Heal_Timer -= diff;
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index 6244d2b72b1..8238bc3d278 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -115,7 +115,6 @@ class boss_mandokir : public CreatureScript
boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_MANDOKIR)
{
Initialize();
- memset(chainedSpirtGUIDs, 0, sizeof(chainedSpirtGUIDs));
}
void Initialize()
@@ -131,7 +130,7 @@ class boss_mandokir : public CreatureScript
Initialize();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
events.ScheduleEvent(EVENT_CHECK_START, 1000);
- if (Creature* speaker = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_VILEBRANCH_SPEAKER)))
+ if (Creature* speaker = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_VILEBRANCH_SPEAKER)))
if (!speaker->IsAlive())
speaker->Respawn(true);
}
@@ -180,7 +179,7 @@ class boss_mandokir : public CreatureScript
if (++killCount == 3)
{
Talk(SAY_DING_KILL);
- if (Creature* jindo = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_JINDO)))
+ if (Creature* jindo = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_JINDO)))
if (jindo->IsAlive())
jindo->AI()->Talk(SAY_GRATS_JINDO);
DoCast(me, SPELL_LEVEL_UP, true);
@@ -286,7 +285,7 @@ class boss_mandokir : public CreatureScript
private:
uint8 killCount;
- uint64 chainedSpirtGUIDs[CHAINED_SPIRT_COUNT];
+ ObjectGuid chainedSpirtGUIDs[CHAINED_SPIRT_COUNT];
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
index 57a286c1e58..4fa24786f3d 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
@@ -180,7 +180,7 @@ class boss_thekal : public CreatureScript
if (instance->GetBossState(DATA_LORKHAN) == SPECIAL)
{
//Resurrect LorKhan
- if (Unit* pLorKhan = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LORKHAN)))
+ if (Unit* pLorKhan = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LORKHAN)))
{
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pLorKhan->setFaction(14);
@@ -193,7 +193,7 @@ class boss_thekal : public CreatureScript
if (instance->GetBossState(DATA_ZATH) == SPECIAL)
{
//Resurrect Zath
- if (Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ZATH)))
+ if (Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ZATH)))
{
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pZath->setFaction(14);
@@ -333,8 +333,8 @@ class npc_zealot_lorkhan : public CreatureScript
//Casting Greaterheal to Thekal or Zath if they are in meele range.
if (GreaterHeal_Timer <= diff)
{
- Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THEKAL));
- Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ZATH));
+ Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THEKAL));
+ Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ZATH));
if (!pThekal || !pZath)
return;
@@ -367,7 +367,7 @@ class npc_zealot_lorkhan : public CreatureScript
if (instance->GetBossState(DATA_THEKAL) == SPECIAL)
{
//Resurrect Thekal
- if (Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THEKAL)))
+ if (Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THEKAL)))
{
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -379,7 +379,7 @@ class npc_zealot_lorkhan : public CreatureScript
if (instance->GetBossState(DATA_ZATH) == SPECIAL)
{
//Resurrect Zath
- if (Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ZATH)))
+ if (Unit* pZath = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ZATH)))
{
pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -517,7 +517,7 @@ class npc_zealot_zath : public CreatureScript
if (instance->GetBossState(DATA_LORKHAN) == SPECIAL)
{
//Resurrect LorKhan
- if (Unit* pLorKhan = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LORKHAN)))
+ if (Unit* pLorKhan = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LORKHAN)))
{
pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -529,7 +529,7 @@ class npc_zealot_zath : public CreatureScript
if (instance->GetBossState(DATA_THEKAL) == SPECIAL)
{
//Resurrect Thekal
- if (Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THEKAL)))
+ if (Unit* pThekal = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THEKAL)))
{
pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
index 5aa37642798..57e4798b2da 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
@@ -46,17 +46,6 @@ class instance_zulgurub : public InstanceMapScript
LoadDoorData(doorData);
}
- void Initialize() override
- {
- _zealotLorkhanGUID = 0;
- _zealotZathGUID = 0;
- _highPriestTekalGUID = 0;
- _jindoTheHexxerGUID = 0;
- _vilebranchSpeakerGUID = 0;
- _arlokkGUID = 0;
- _goGongOfBethekkGUID = 0;
- }
-
bool IsEncounterInProgress() const override
{
// not active in Zul'Gurub
@@ -119,7 +108,7 @@ class instance_zulgurub : public InstanceMapScript
}
}
- uint64 GetData64(uint32 uiData) const override
+ ObjectGuid GetGuidData(uint32 uiData) const override
{
switch (uiData)
{
@@ -142,20 +131,20 @@ class instance_zulgurub : public InstanceMapScript
return _goGongOfBethekkGUID;
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
private:
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
//Storing Lorkhan, Zath and Thekal because we need to cast on them later. Jindo is needed for healfunction too.
- uint64 _zealotLorkhanGUID;
- uint64 _zealotZathGUID;
- uint64 _highPriestTekalGUID;
- uint64 _jindoTheHexxerGUID;
- uint64 _vilebranchSpeakerGUID;
- uint64 _arlokkGUID;
- uint64 _goGongOfBethekkGUID;
+ ObjectGuid _zealotLorkhanGUID;
+ ObjectGuid _zealotZathGUID;
+ ObjectGuid _highPriestTekalGUID;
+ ObjectGuid _jindoTheHexxerGUID;
+ ObjectGuid _vilebranchSpeakerGUID;
+ ObjectGuid _arlokkGUID;
+ ObjectGuid _goGongOfBethekkGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
index 84f650ec9f4..b725712d473 100644
--- a/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
@@ -197,13 +197,13 @@ public:
{
Phase = 0;
KillCount = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
}
uint32 Phase;
int8 KillCount;
uint32 WaitTimer;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
SummonList Summons;
bool QuestInProgress;
@@ -280,7 +280,7 @@ public:
{
case 0:
if (WaitTimer == WAIT_SECS)
- me->MonsterSay(NPCSAY_INIT, LANG_UNIVERSAL, NULL); //no blizzlike
+ me->Say(NPCSAY_INIT, LANG_UNIVERSAL); //no blizzlike
if (WaitTimer <= diff)
{
@@ -310,7 +310,7 @@ public:
{
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
{
- me->MonsterSay(NPCSAY_END, LANG_UNIVERSAL, NULL); //not blizzlike
+ me->Say(NPCSAY_END, LANG_UNIVERSAL); //not blizzlike
player->GroupEventHappens(QUEST_PYREWOOD_AMBUSH, me);
}
}
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index ee29c0a7b6e..b111923ae15 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -243,13 +243,13 @@ public:
uiTimer = 0;
uiPhase = 0;
- MarzonGUID = 0;
+ MarzonGUID.Clear();
}
uint32 uiTimer;
uint32 uiPhase;
- uint64 MarzonGUID;
+ ObjectGuid MarzonGUID;
void Reset() override
{
diff --git a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
index 20e9f28e0b7..c0717958640 100644
--- a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
@@ -46,7 +46,7 @@ public:
{
npc_galen_goodwardAI(Creature* creature) : npc_escortAI(creature)
{
- galensCageGUID = 0;
+ galensCageGUID.Clear();
Reset();
}
@@ -135,7 +135,7 @@ public:
}
private:
- uint64 galensCageGUID;
+ ObjectGuid galensCageGUID;
uint32 periodicSay;
};
diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
index f953742b864..70d274b9f2f 100644
--- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
@@ -77,12 +77,12 @@ public:
{
m_uiPhase = 0;
m_uiPhaseTimer = 5000;
- m_uiPlayerGUID = 0;
+ m_uiPlayerGUID.Clear();
}
uint32 m_uiPhase;
uint32 m_uiPhaseTimer;
- uint64 m_uiPlayerGUID;
+ ObjectGuid m_uiPlayerGUID;
void Reset() override
{
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index ea997c5563f..48f614a73c0 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -108,7 +108,7 @@ public:
{
LamentEventTimer = 5000;
LamentEvent = false;
- targetGUID = 0;
+ targetGUID.Clear();
FadeTimer = 30000;
SummonSkeletonTimer = 20000;
@@ -119,7 +119,7 @@ public:
uint32 LamentEventTimer;
bool LamentEvent;
- uint64 targetGUID;
+ ObjectGuid targetGUID;
uint32 FadeTimer;
uint32 SummonSkeletonTimer;
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index d242d17806c..952d191bd1a 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -322,7 +322,6 @@ public:
npc_anchorite_truuenAI(Creature* creature) : npc_escortAI(creature)
{
Initialize();
- UghostGUID = 0;
}
void Initialize()
@@ -332,7 +331,7 @@ public:
uint32 m_uiChatTimer;
- uint64 UghostGUID;
+ ObjectGuid UghostGUID;
void Reset() override
{
diff --git a/src/server/scripts/Events/childrens_week.cpp b/src/server/scripts/Events/childrens_week.cpp
index 4bc0642e348..6e95b9351fd 100644
--- a/src/server/scripts/Events/childrens_week.cpp
+++ b/src/server/scripts/Events/childrens_week.cpp
@@ -131,13 +131,13 @@ enum Misc
DISPLAY_INVISIBLE = 11686
};
-uint64 getOrphanGUID(Player* player, uint32 orphan)
+ObjectGuid getOrphanGUID(Player* player, uint32 orphan)
{
if (Aura* orphanOut = player->GetAura(SPELL_ORPHAN_OUT))
if (orphanOut->GetCaster() && orphanOut->GetCaster()->GetEntry() == orphan)
return orphanOut->GetCaster()->GetGUID();
- return 0;
+ return ObjectGuid::Empty;
}
/*######
@@ -159,8 +159,8 @@ class npc_winterfin_playmate : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -235,8 +235,8 @@ class npc_winterfin_playmate : public CreatureScript
private:
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
@@ -265,8 +265,8 @@ class npc_snowfall_glade_playmate : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -342,8 +342,8 @@ class npc_snowfall_glade_playmate : public CreatureScript
private:
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
CreatureAI* GetAI(Creature* pCreature) const override
@@ -372,8 +372,8 @@ class npc_the_biggest_tree : public CreatureScript
{
timer = 1000;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -436,8 +436,8 @@ class npc_the_biggest_tree : public CreatureScript
private:
uint32 timer;
uint8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
@@ -466,8 +466,8 @@ class npc_high_oracle_soo_roo : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -533,8 +533,8 @@ class npc_high_oracle_soo_roo : public CreatureScript
private:
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
@@ -563,8 +563,8 @@ class npc_elder_kekek : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -628,8 +628,8 @@ class npc_elder_kekek : public CreatureScript
private:
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
@@ -659,8 +659,8 @@ class npc_the_etymidian : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -732,8 +732,8 @@ class npc_the_etymidian : public CreatureScript
private:
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
@@ -762,8 +762,8 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
{
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
}
void Reset() override
@@ -900,8 +900,8 @@ class npc_alexstraza_the_lifebinder : public CreatureScript
private:
int8 phase;
uint32 timer;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
diff --git a/src/server/scripts/Examples/example_escort.cpp b/src/server/scripts/Examples/example_escort.cpp
index 88188a45296..229d32e6c4a 100644
--- a/src/server/scripts/Examples/example_escort.cpp
+++ b/src/server/scripts/Examples/example_escort.cpp
@@ -166,7 +166,7 @@ class example_escort : public CreatureScript
{
if (m_uiChatTimer <= uiDiff)
{
- if (me->HasAura(SPELL_ELIXIR_OF_FORTITUDE, 0))
+ if (me->HasAura(SPELL_ELIXIR_OF_FORTITUDE))
{
Talk(SAY_RAND_1);
DoCast(me, SPELL_BLUE_FIREWORK, false);
diff --git a/src/server/scripts/Examples/example_spell.cpp b/src/server/scripts/Examples/example_spell.cpp
index 9097f7cd650..f90cc069780 100644
--- a/src/server/scripts/Examples/example_spell.cpp
+++ b/src/server/scripts/Examples/example_spell.cpp
@@ -117,11 +117,11 @@ class spell_ex_5581 : public SpellScriptLoader
void HandleDummyLaunchTarget(SpellEffIndex /*effIndex*/)
{
- uint64 targetGUID = 0;
+ ObjectGuid targetGUID;
if (Unit* unitTarget = GetHitUnit())
targetGUID = unitTarget->GetGUID();
// we're handling SPELL_EFFECT_DUMMY in effIndex 0 here
- TC_LOG_INFO("misc", "Spell %u with SPELL_EFFECT_DUMMY is just launched at it's target: " UI64FMTD "!", GetSpellInfo()->Id, targetGUID);
+ TC_LOG_INFO("misc", "Spell %u with SPELL_EFFECT_DUMMY is just launched at it's target: " UI64FMTD "!", GetSpellInfo()->Id, targetGUID.GetRawValue());
}
void HandleDummyHit(SpellEffIndex /*effIndex*/)
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
index f8ba2ab6646..0fe3eee2805 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
@@ -210,7 +210,7 @@ public:
{
Talk(SAY_MORRIDUNE_1);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- Start(false, false, 0);
+ Start(false);
}
void WaypointReached(uint32 waypointId) override
diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
index 28b414ba9ca..b23d0cdaa3c 100644
--- a/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
+++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
@@ -66,14 +66,14 @@ public:
{
instance_blackfathom_deeps_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 twilightLordKelrisGUID;
- uint64 shrine1GUID;
- uint64 shrine2GUID;
- uint64 shrine3GUID;
- uint64 shrine4GUID;
- uint64 shrineOfGelihastGUID;
- uint64 altarOfTheDeepsGUID;
- uint64 mainDoorGUID;
+ ObjectGuid twilightLordKelrisGUID;
+ ObjectGuid shrine1GUID;
+ ObjectGuid shrine2GUID;
+ ObjectGuid shrine3GUID;
+ ObjectGuid shrine4GUID;
+ ObjectGuid shrineOfGelihastGUID;
+ ObjectGuid altarOfTheDeepsGUID;
+ ObjectGuid mainDoorGUID;
uint8 encounter[MAX_ENCOUNTER];
uint8 countFires;
@@ -84,14 +84,6 @@ public:
SetHeaders(DataHeader);
memset(&encounter, 0, sizeof(encounter));
- twilightLordKelrisGUID = 0;
- shrine1GUID = 0;
- shrine2GUID = 0;
- shrine3GUID = 0;
- shrine4GUID = 0;
- shrineOfGelihastGUID = 0;
- altarOfTheDeepsGUID = 0;
- mainDoorGUID = 0;
countFires = 0;
deathTimes = 0;
}
@@ -137,7 +129,7 @@ public:
break;
case GO_AKU_MAI_DOOR:
if (encounter[2] == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
mainDoorGUID = go->GetGUID();
break;
}
@@ -234,7 +226,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -254,7 +246,7 @@ public:
return mainDoorGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
};
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
index 782632602b3..131f875bc05 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
@@ -100,7 +100,7 @@ public:
{
if (waypointId == 7)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -194,12 +194,12 @@ public:
ImmolationTimer = 5000;
CheckTimer = 5000;
instance = creature->GetInstanceScript();
- AnetheronGUID = instance->GetData64(DATA_ANETHERON);
+ AnetheronGUID = instance->GetGuidData(DATA_ANETHERON);
}
uint32 ImmolationTimer;
uint32 CheckTimer;
- uint64 AnetheronGUID;
+ ObjectGuid AnetheronGUID;
InstanceScript* instance;
void Reset() override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 2885a838cee..992b20d2580 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -97,18 +97,18 @@ public:
void Initialize()
{
CheckTimer = 1000;
- ArchimondeGUID = 0;
+ ArchimondeGUID.Clear();
}
InstanceScript* instance;
- uint64 ArchimondeGUID;
+ ObjectGuid ArchimondeGUID;
uint32 CheckTimer;
void Reset() override
{
Initialize();
- ArchimondeGUID = instance->GetData64(DATA_ARCHIMONDE);
+ ArchimondeGUID = instance->GetGuidData(DATA_ARCHIMONDE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -187,11 +187,11 @@ public:
void Initialize()
{
- TargetGUID = 0;
+ TargetGUID.Clear();
ChangeTargetTimer = 5000;
}
- uint64 TargetGUID;
+ ObjectGuid TargetGUID;
uint32 ChangeTargetTimer;
void Reset() override
@@ -222,7 +222,7 @@ public:
if (Unit* temp = ObjectAccessor::GetUnit(*me, TargetGUID))
{
me->GetMotionMaster()->MoveFollow(temp, 0.0f, 0.0f);
- TargetGUID = 0;
+ TargetGUID.Clear();
}
else
{
@@ -264,9 +264,9 @@ public:
void Initialize()
{
- DoomfireSpiritGUID = 0;
+ DoomfireSpiritGUID.Clear();
damageTaken = 0;
- WorldTreeGUID = 0;
+ WorldTreeGUID.Clear();
DrainNordrassilTimer = 0;
FearTimer = 42000;
@@ -290,8 +290,8 @@ public:
InstanceScript* instance;
- uint64 DoomfireSpiritGUID;
- uint64 WorldTreeGUID;
+ ObjectGuid DoomfireSpiritGUID;
+ ObjectGuid WorldTreeGUID;
uint32 DrainNordrassilTimer;
uint32 FearTimer;
@@ -429,7 +429,7 @@ public:
if (Unit* DoomfireSpirit = ObjectAccessor::GetUnit(*me, DoomfireSpiritGUID))
{
summoned->GetMotionMaster()->MoveFollow(DoomfireSpirit, 0.0f, 0.0f);
- DoomfireSpiritGUID = 0;
+ DoomfireSpiritGUID.Clear();
}
}
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
index 7e50fd7b775..aa411707952 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
@@ -105,7 +105,7 @@ public:
{
if (waypointId == 7 && instance)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -201,13 +201,13 @@ public:
WarstompTimer = 10000;
CheckTimer = 5000;
instance = creature->GetInstanceScript();
- AzgalorGUID = instance->GetData64(DATA_AZGALOR);
+ AzgalorGUID = instance->GetGuidData(DATA_AZGALOR);
}
uint32 CrippleTimer;
uint32 WarstompTimer;
uint32 CheckTimer;
- uint64 AzgalorGUID;
+ ObjectGuid AzgalorGUID;
InstanceScript* instance;
void Reset() override
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
index d3c137b67e8..baa28dad2a2 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
@@ -100,7 +100,7 @@ public:
{
if (waypointId == 7 && instance)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
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 5ce9b30eb58..cecad84e099 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
@@ -95,7 +95,7 @@ public:
{
if (waypointId == 7 && instance)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index a7fa54b12e1..a4745eade7d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -321,8 +321,6 @@ hyjalAI::hyjalAI(Creature* creature) : npc_escortAI(creature), Summons(me)
instance = creature->GetInstanceScript();
VeinsSpawned[0] = false;
VeinsSpawned[1] = false;
- for (uint8 i=0; i<14; ++i)
- VeinGUID[i] = 0;
InfernalCount = 0;
TeleportTimer = 1000;
Overrun = false;
@@ -335,7 +333,6 @@ hyjalAI::hyjalAI(Creature* creature) : npc_escortAI(creature), Summons(me)
DoRespawn = false;
MassTeleportTimer = 0;
DoMassTeleport = false;
- DummyGuid = 0;
}
void hyjalAI::Initialize()
@@ -343,9 +340,9 @@ void hyjalAI::Initialize()
IsDummy = false;
// GUIDs
- PlayerGUID = 0;
- BossGUID[0] = 0;
- BossGUID[1] = 0;
+ PlayerGUID.Clear();
+ BossGUID[0].Clear();
+ BossGUID[1].Clear();
// Timers
NextWaveTimer = 10000;
@@ -651,21 +648,23 @@ void hyjalAI::SpawnVeins()
{
if (VeinsSpawned[0])//prevent any buggers
return;
- for (uint8 i = 0; i<7; ++i)
+ for (uint8 i = 0; i < 7; ++i)
{
GameObject* gem = me->SummonGameObject(GO_ANCIENT_VEIN, VeinPos[i][0], VeinPos[i][1], VeinPos[i][2], VeinPos[i][3], VeinPos[i][4], VeinPos[i][5], VeinPos[i][6], VeinPos[i][7], 0);
if (gem)
VeinGUID[i]=gem->GetGUID();
}
VeinsSpawned[0] = true;
- }else{
+ }
+ else
+ {
if (VeinsSpawned[1])
return;
- for (uint8 i = 7; i<14; ++i)
+ for (uint8 i = 7; i < 14; ++i)
{
GameObject* gem = me->SummonGameObject(GO_ANCIENT_VEIN, VeinPos[i][0], VeinPos[i][1], VeinPos[i][2], VeinPos[i][3], VeinPos[i][4], VeinPos[i][5], VeinPos[i][6], VeinPos[i][7], 0);
if (gem)
- VeinGUID[i]=gem->GetGUID();
+ VeinGUID[i] = gem->GetGUID();
}
VeinsSpawned[1] = true;
}
@@ -675,22 +674,25 @@ void hyjalAI::DeSpawnVeins()
{
if (Faction == 1)
{
- Creature* unit=ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_JAINAPROUDMOORE));
+ Creature* unit=ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (!unit)return;
hyjalAI* ai = CAST_AI(hyjalAI, unit->AI());
if (!ai)return;
- for (uint8 i = 0; i<7; ++i)
+ for (uint8 i = 0; i < 7; ++i)
{
if (GameObject* gem = instance->instance->GetGameObject(ai->VeinGUID[i]))
gem->Delete();
}
- } else if (Faction)
+ }
+ else if (Faction)
{
- Creature* unit=ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_THRALL));
- if (!unit)return;
+ Creature* unit=ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_THRALL));
+ if (!unit)
+ return;
hyjalAI* ai = CAST_AI(hyjalAI, unit->AI());
- if (!ai)return;
- for (uint8 i = 7; i<14; ++i)
+ if (!ai)
+ return;
+ for (uint8 i = 7; i < 14; ++i)
{
if (GameObject* gem = instance->instance->GetGameObject(ai->VeinGUID[i]))
gem->Delete();
@@ -706,7 +708,9 @@ void hyjalAI::UpdateAI(uint32 diff)
{
DoCast(me, SPELL_MASS_TELEPORT, false);
DoMassTeleport = false;
- } else MassTeleportTimer -= diff;
+ }
+ else
+ MassTeleportTimer -= diff;
return;
}
if (DoHide)
@@ -830,7 +834,7 @@ void hyjalAI::UpdateAI(uint32 diff)
EventBegun = false;
CheckTimer = 0;
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- BossGUID[i] = 0;
+ BossGUID[i].Clear();
instance->DoUpdateWorldState(WORLD_STATE_ENEMY, 0); // Reset world state for enemies to disable it
}
}
@@ -940,7 +944,7 @@ void hyjalAI::WaypointReached(uint32 waypointId)
{
if (waypointId == 1 || (waypointId == 0 && me->GetEntry() == THRALL))
{
- me->MonsterYell(YELL_HURRY, LANG_UNIVERSAL, NULL);
+ me->Yell(YELL_HURRY, LANG_UNIVERSAL);
WaitForTeleport = true;
TeleportTimer = 20000;
if (me->GetEntry() == JAINA)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
index 43afc58879c..468decbd43a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
@@ -160,9 +160,9 @@ struct hyjalAI : public npc_escortAI
public:
InstanceScript* instance;
- uint64 PlayerGUID;
- uint64 BossGUID[2];
- uint64 VeinGUID[14];
+ ObjectGuid PlayerGUID;
+ ObjectGuid BossGUID[2];
+ ObjectGuid VeinGUID[14];
uint32 NextWaveTimer;
uint32 WaveCount;
@@ -193,7 +193,7 @@ struct hyjalAI : public npc_escortAI
bool IsDummy;
uint32 MassTeleportTimer;
bool DoMassTeleport;
- uint64 DummyGuid;
+ ObjectGuid DummyGuid;
struct Spell
{
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 8e1a78ea5f2..c6adbd58c4a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -447,7 +447,7 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -486,7 +486,7 @@ public:
CanMove = true;
if (instance->GetData(DATA_ALLIANCE_RETREAT) && !instance->GetData(DATA_HORDE_RETREAT))
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
} else if (instance->GetData(DATA_ALLIANCE_RETREAT) && instance->GetData(DATA_HORDE_RETREAT)){
@@ -563,13 +563,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -662,13 +662,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -773,13 +773,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -886,13 +886,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -982,13 +982,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -1068,13 +1068,13 @@ public:
{
if (instance->GetData(DATA_ALLIANCE_RETREAT))//2.alliance boss down, attack thrall
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
else
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_JAINAPROUDMOORE));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_JAINAPROUDMOORE));
if (target && target->IsAlive())
me->AddThreat(target, 0.0f);
}
@@ -1160,7 +1160,7 @@ public:
{
if (waypointId == 2 && !IsOverrun)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
{
me->AddThreat(target, 0.0f);
@@ -1281,7 +1281,7 @@ public:
{
if (waypointId == 2 && !IsOverrun)
{
- Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_THRALL));
+ Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_THRALL));
if (target && target->IsAlive())
{
me->AddThreat(target, 0.0f);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
index 6c718a4a16a..55860d98cc5 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
@@ -29,7 +29,6 @@ EndScriptData */
#include "hyjal_trash.h"
#include "Player.h"
#include "WorldPacket.h"
-#include "Opcodes.h"
#include "Chat.h"
/* Battle of Mount Hyjal encounters:
@@ -62,18 +61,6 @@ public:
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- m_uiAncientGemGUID.clear();
-
- RageWinterchill = 0;
- Anetheron = 0;
- Kazrogal = 0;
- Azgalor = 0;
- Archimonde = 0;
- JainaProudmoore = 0;
- Thrall = 0;
- TyrandeWhisperwind = 0;
- HordeGate = 0;
- ElfGate = 0;
RaidDamage = 0;
Trash = 0;
hordeRetreat = 0;
@@ -98,16 +85,16 @@ public:
case GO_HORDE_ENCAMPMENT_PORTAL:
HordeGate = go->GetGUID();
if (allianceRetreat)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
else
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_NIGHT_ELF_VILLAGE_PORTAL:
ElfGate = go->GetGUID();
if (hordeRetreat)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
else
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
break;
case GO_ANCIENT_GEM:
m_uiAncientGemGUID.push_back(go->GetGUID());
@@ -130,7 +117,7 @@ public:
}
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -144,7 +131,7 @@ public:
case DATA_TYRANDEWHISPERWIND: return TyrandeWhisperwind;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -185,15 +172,12 @@ public:
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
- if (i->GetSource())
+ if (Player* player = i->GetSource())
{
WorldPacket packet;
- ChatHandler::BuildChatPacket(packet, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, unit, i->GetSource(), YELL_EFFORTS);
- i->GetSource()->GetSession()->SendPacket(&packet);
-
- WorldPacket data2(SMSG_PLAY_SOUND, 4);
- data2 << 10986;
- i->GetSource()->GetSession()->SendPacket(&data2);
+ ChatHandler::BuildChatPacket(packet, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, unit, player, YELL_EFFORTS);
+ player->SendDirectMessage(&packet);
+ player->PlayDirectSound(10986, player);
}
}
}
@@ -219,7 +203,7 @@ public:
{
if (!m_uiAncientGemGUID.empty())
{
- for (std::list<uint64>::const_iterator itr = m_uiAncientGemGUID.begin(); itr != m_uiAncientGemGUID.end(); ++itr)
+ for (GuidList::const_iterator itr = m_uiAncientGemGUID.begin(); itr != m_uiAncientGemGUID.end(); ++itr)
{
//don't know how long it expected
DoRespawnGameObject(*itr, DAY);
@@ -309,17 +293,17 @@ public:
protected:
uint32 m_auiEncounter[EncounterCount];
std::string str_data;
- std::list<uint64> m_uiAncientGemGUID;
- uint64 RageWinterchill;
- uint64 Anetheron;
- uint64 Kazrogal;
- uint64 Azgalor;
- uint64 Archimonde;
- uint64 JainaProudmoore;
- uint64 Thrall;
- uint64 TyrandeWhisperwind;
- uint64 HordeGate;
- uint64 ElfGate;
+ GuidList m_uiAncientGemGUID;
+ ObjectGuid RageWinterchill;
+ ObjectGuid Anetheron;
+ ObjectGuid Kazrogal;
+ ObjectGuid Azgalor;
+ ObjectGuid Archimonde;
+ ObjectGuid JainaProudmoore;
+ ObjectGuid Thrall;
+ ObjectGuid TyrandeWhisperwind;
+ ObjectGuid HordeGate;
+ ObjectGuid ElfGate;
uint32 Trash;
uint32 hordeRetreat;
uint32 allianceRetreat;
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 3d1e9363cd8..3f74ed2eb88 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
@@ -150,7 +150,7 @@ public:
return;
}
- if (Creature* pArthas = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ARTHAS)))
+ if (Creature* pArthas = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ARTHAS)))
if (pArthas->isDead())
{
EnterEvadeMode();
@@ -199,7 +199,7 @@ public:
uiOutroTimer = 8000;
break;
case 2:
- me->SetTarget(instance->GetData64(DATA_ARTHAS));
+ me->SetTarget(instance->GetGuidData(DATA_ARTHAS));
me->HandleEmoteCommand(29);
Talk(SAY_ESCAPE_SPEECH_2);
++uiOutroStep;
@@ -229,7 +229,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
instance->SetBossState(DATA_MAL_GANIS, DONE);
- DoCastAOE(SPELL_MAL_GANIS_KILL_CREDIT);
+ DoCastAOE(SPELL_MAL_GANIS_KILL_CREDIT, true);
// give achievement credit and LFG rewards to players. criteria use spell 58630 which doesn't exist, but it was created in spell_dbc
DoCastAOE(SPELL_KILL_CREDIT);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
index 143f901ec0b..10ee66c86d0 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
@@ -70,6 +70,7 @@ class boss_meathook : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100.0f, true))
DoCast(target, SPELL_CONSTRICTING_CHAINS);
events.ScheduleEvent(EVENT_CHAIN, urand(2000, 4000));
+ break;
case EVENT_DISEASE:
DoCastAOE(SPELL_DISEASE_EXPULSION);
events.ScheduleEvent(EVENT_DISEASE, urand(1500, 4000));
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 6925badf272..1d2ed933243 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
@@ -15,14 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* Script Data Start
-SDName: Boss salramm
-SDAuthor: Tartalo
-SD%Complete: 80
-SDComment: @todo Intro
-SDCategory:
-Script Data End */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "culling_of_stratholme.h"
@@ -31,9 +23,7 @@ enum Spells
{
SPELL_CURSE_OF_TWISTED_FLESH = 58845,
SPELL_EXPLODE_GHOUL = 52480,
- H_SPELL_EXPLODE_GHOUL = 58825,
SPELL_SHADOW_BOLT = 57725,
- H_SPELL_SHADOW_BOLT = 58828,
SPELL_STEAL_FLESH = 52708,
SPELL_SUMMON_GHOULS = 52451
};
@@ -49,114 +39,89 @@ enum Yells
SAY_SUMMON_GHOULS = 6
};
-class boss_salramm : public CreatureScript
+enum Events
{
-public:
- boss_salramm() : CreatureScript("boss_salramm") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_salrammAI>(creature);
- }
-
- struct boss_salrammAI : public ScriptedAI
- {
- boss_salrammAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- Talk(SAY_SPAWN);
- }
-
- void Initialize()
- {
- uiCurseFleshTimer = 30000; //30s DBM
- uiExplodeGhoulTimer = urand(25000, 28000); //approx 6 sec after summon ghouls
- uiShadowBoltTimer = urand(8000, 12000); // approx 10s
- uiStealFleshTimer = 12345;
- uiSummonGhoulsTimer = urand(19000, 24000); //on a video approx 24s after aggro
- }
-
- uint32 uiCurseFleshTimer;
- uint32 uiExplodeGhoulTimer;
- uint32 uiShadowBoltTimer;
- uint32 uiStealFleshTimer;
- uint32 uiSummonGhoulsTimer;
-
- InstanceScript* instance;
-
- void Reset() override
- {
- Initialize();
-
- instance->SetBossState(DATA_SALRAMM, NOT_STARTED);
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
+ EVENT_CURSE_FLESH = 1,
+ EVENT_EXPLODE_GHOUL,
+ EVENT_SHADOW_BOLT,
+ EVENT_STEAL_FLESH,
+ EVENT_SUMMON_GHOULS
+};
- instance->SetBossState(DATA_SALRAMM, IN_PROGRESS);
- }
+class boss_salramm : public CreatureScript
+{
+ public:
+ boss_salramm() : CreatureScript("boss_salramm") { }
- void UpdateAI(uint32 diff) override
+ struct boss_salrammAI : public BossAI
{
- //Return since we have no target
- if (!UpdateVictim())
- return;
-
- //Curse of twisted flesh timer
- if (uiCurseFleshTimer <= diff)
+ boss_salrammAI(Creature* creature) : BossAI(creature, DATA_SALRAMM)
{
- DoCastVictim(SPELL_CURSE_OF_TWISTED_FLESH);
- uiCurseFleshTimer = 37000;
- } else uiCurseFleshTimer -= diff;
+ Talk(SAY_SPAWN);
+ }
- //Shadow bolt timer
- if (uiShadowBoltTimer <= diff)
+ void EnterCombat(Unit* /*who*/) override
{
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_SHADOW_BOLT);
- uiShadowBoltTimer = urand(8000, 12000);
- } else uiShadowBoltTimer -= diff;
+ Talk(SAY_AGGRO);
+ _EnterCombat();
- //Steal Flesh timer
- if (uiStealFleshTimer <= diff)
- {
- Talk(SAY_STEAL_FLESH);
- if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(random_pTarget, SPELL_STEAL_FLESH);
- uiStealFleshTimer = 10000;
- } else uiStealFleshTimer -= diff;
+ events.ScheduleEvent(EVENT_CURSE_FLESH, 30000);
+ events.ScheduleEvent(EVENT_SUMMON_GHOULS, urand(19000, 24000));
+ events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(8000, 12000));
+ events.ScheduleEvent(EVENT_STEAL_FLESH, 12345); /// @todo: adjust timer
+ }
- //Summon ghouls timer
- if (uiSummonGhoulsTimer <= diff)
+ void ExecuteEvent(uint32 eventId) override
{
- Talk(SAY_SUMMON_GHOULS);
- if (Unit* random_pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(random_pTarget, SPELL_SUMMON_GHOULS);
- uiSummonGhoulsTimer = 10000;
- } else uiSummonGhoulsTimer -= diff;
-
- DoMeleeAttackIfReady();
- }
-
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
+ switch (eventId)
+ {
+ case EVENT_CURSE_FLESH:
+ DoCastVictim(SPELL_CURSE_OF_TWISTED_FLESH);
+ events.ScheduleEvent(EVENT_CURSE_FLESH, 37000);
+ break;
+ case EVENT_SUMMON_GHOULS:
+ Talk(SAY_SUMMON_GHOULS);
+ DoCast(me, SPELL_SUMMON_GHOULS);
+ events.ScheduleEvent(EVENT_SUMMON_GHOULS, 10000);
+ events.ScheduleEvent(EVENT_EXPLODE_GHOUL, 6000);
+ break;
+ case EVENT_SHADOW_BOLT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40.0f, true))
+ DoCast(target, SPELL_SHADOW_BOLT);
+ events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(8000, 12000));
+ break;
+ case EVENT_STEAL_FLESH:
+ Talk(SAY_STEAL_FLESH);
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
+ DoCast(target, SPELL_STEAL_FLESH);
+ events.ScheduleEvent(EVENT_STEAL_FLESH, 12345);
+ break;
+ case EVENT_EXPLODE_GHOUL:
+ Talk(SAY_EXPLODE_GHOUL);
+ DoCast(me, SPELL_EXPLODE_GHOUL, true);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ Talk(SAY_DEATH);
+ _JustDied();
+ }
- instance->SetBossState(DATA_SALRAMM, DONE);
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
+ };
- void KilledUnit(Unit* victim) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (victim->GetTypeId() != TYPEID_PLAYER)
- return;
-
- Talk(SAY_SLAY);
+ return GetInstanceAI<boss_salrammAI>(creature);
}
- };
-
};
void AddSC_boss_salramm()
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 3c80be2734a..ff104a28197 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -360,23 +360,23 @@ public:
void Initialize()
{
- utherGUID = 0;
- jainaGUID = 0;
+ utherGUID.Clear();
+ jainaGUID.Clear();
for (uint8 i = 0; i < 2; ++i)
- citymenGUID[i] = 0;
+ citymenGUID[i].Clear();
for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
- waveGUID[i] = 0;
+ waveGUID[i].Clear();
for (uint8 i = 0; i < ENCOUNTER_DRACONIAN_NUMBER; ++i)
- infiniteDraconianGUID[i] = 0;
+ infiniteDraconianGUID[i].Clear();
- stalkerGUID = 0;
- bossGUID = 0;
- epochGUID = 0;
- malganisGUID = 0;
- infiniteGUID = 0;
+ stalkerGUID.Clear();
+ bossGUID.Clear();
+ epochGUID.Clear();
+ malganisGUID.Clear();
+ infiniteGUID.Clear();
phaseTimer = 1000;
exorcismTimer = 7300;
@@ -393,17 +393,17 @@ public:
uint32 wave;
uint32 WavesCounter;
- uint64 utherGUID;
- uint64 jainaGUID;
- uint64 citymenGUID[2];
- uint64 waveGUID[ENCOUNTER_WAVES_MAX_SPAWNS];
- uint64 infiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER];
- uint64 stalkerGUID;
+ ObjectGuid utherGUID;
+ ObjectGuid jainaGUID;
+ ObjectGuid citymenGUID[2];
+ ObjectGuid waveGUID[ENCOUNTER_WAVES_MAX_SPAWNS];
+ ObjectGuid infiniteDraconianGUID[ENCOUNTER_DRACONIAN_NUMBER];
+ ObjectGuid stalkerGUID;
- uint64 bossGUID;
- uint64 epochGUID;
- uint64 malganisGUID;
- uint64 infiniteGUID;
+ ObjectGuid bossGUID;
+ ObjectGuid epochGUID;
+ ObjectGuid malganisGUID;
+ ObjectGuid infiniteGUID;
uint32 exorcismTimer;
@@ -436,7 +436,7 @@ public:
instance->SetBossState(DATA_ARTHAS, FAIL);
}
- void SpawnTimeRift(uint32 timeRiftID, uint64* guidVector)
+ void SpawnTimeRift(uint32 timeRiftID, ObjectGuid* guidVector)
{
me->SummonCreature((uint32)RiftAndSpawnsLocations[timeRiftID][0], RiftAndSpawnsLocations[timeRiftID][1], RiftAndSpawnsLocations[timeRiftID][2], RiftAndSpawnsLocations[timeRiftID][3], RiftAndSpawnsLocations[timeRiftID][4], TEMPSUMMON_TIMED_DESPAWN, 11000);
@@ -455,7 +455,7 @@ public:
}
}
- void SpawnWaveGroup(uint32 waveID, uint64* guidVector)
+ void SpawnWaveGroup(uint32 waveID, ObjectGuid* guidVector)
{
for (uint32 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
{
@@ -568,7 +568,7 @@ public:
Talk(SAY_PHASE403);
break;
case 36:
- if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_SHKAF_GATE)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_SHKAF_GATE)))
gate->SetGoState(GO_STATE_ACTIVE);
break;
case 45:
@@ -736,7 +736,7 @@ public:
case 21:
SetEscortPaused(false);
bStepping = false;
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
JumpToNextStep(0);
break;
//After waypoint 3
@@ -756,7 +756,7 @@ public:
if (Creature* uther = ObjectAccessor::GetCreature(*me, utherGUID))
uther->DisappearAndDie();
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
JumpToNextStep(0);
break;
//After Gossip 1 (waypoint 8)
@@ -779,7 +779,7 @@ public:
SetEscortPaused(false);
bStepping = false;
SetRun(false);
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
JumpToNextStep(0);
break;
//After waypoint 9
@@ -938,7 +938,7 @@ public:
uint32 deadCounter = 0;
for (uint8 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i)
{
- if (waveGUID[i] == 0)
+ if (waveGUID[i].IsEmpty())
break;
++mobCounter;
Unit* temp = ObjectAccessor::GetCreature(*me, waveGUID[i]);
@@ -1168,7 +1168,7 @@ public:
malganisGUID = malganis->GetGUID();
malganis->SetReactState(REACT_PASSIVE);
}
- if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MAL_GANIS_GATE_1)))
+ if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MAL_GANIS_GATE_1)))
gate->SetGoState(GO_STATE_ACTIVE);
SetHoldState(false);
bStepping = false;
@@ -1208,7 +1208,7 @@ public:
break;
case 90:
instance->SetBossState(DATA_ARTHAS, DONE); //Rewards: Achiev & Chest ;D
- me->SetTarget(instance->GetData64(DATA_MAL_GANIS_GATE_2)); //Look behind
+ me->SetTarget(instance->GetGuidData(DATA_MAL_GANIS_GATE_2)); //Look behind
Talk(SAY_PHASE504);
bStepping = false;
break;
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 b3e8d88bc2a..c25a061d622 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
@@ -61,21 +61,9 @@ class instance_culling_of_stratholme : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- _chromieGUID = 0;
- _arthasGUID = 0;
- _meathookGUID = 0;
- _salrammGUID = 0;
- _epochGUID = 0;
- _malGanisGUID = 0;
- _infiniteGUID = 0;
- _shkafGateGUID = 0;
- _malGanisGate1GUID = 0;
- _malGanisGate2GUID = 0;
- _exitGateGUID = 0;
- _malGanisChestGUID = 0;
- _genericBunnyGUID = 0;
_crateCount = 0;
_eventTimer = 0;
+ _infiniteCouterState = NOT_STARTED;
}
void FillInitialWorldStates(WorldPacket& data) override
@@ -175,7 +163,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
// Summon Chromie and global whisper
if (Creature* chromie = instance->SummonCreature(NPC_CHROMIE_2, ChromieSummonPos[0]))
if (!instance->GetPlayers().isEmpty())
- chromie->AI()->TalkToMap(SAY_CRATES_COMPLETED);
+ chromie->AI()->Talk(SAY_CRATES_COMPLETED);
}
DoUpdateWorldState(WORLDSTATE_CRATES_REVEALED, _crateCount);
break;
@@ -241,7 +229,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -270,7 +258,7 @@ class instance_culling_of_stratholme : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void Update(uint32 diff) override
@@ -289,17 +277,17 @@ class instance_culling_of_stratholme : public InstanceMapScript
case 25:
if (instance->HavePlayers())
if (Creature* chromie = instance->GetCreature(_chromieGUID))
- chromie->AI()->TalkToMap(SAY_INFINITE_START);
+ chromie->AI()->Talk(SAY_INFINITE_START);
break;
case 5:
if (instance->HavePlayers())
if (Creature* chromie = instance->GetCreature(_chromieGUID))
- chromie->AI()->TalkToMap(SAY_INFINITE);
+ chromie->AI()->Talk(SAY_INFINITE);
break;
case 0:
if (instance->HavePlayers())
if (Creature* chromie = instance->GetCreature(_chromieGUID))
- chromie->AI()->TalkToMap(SAY_INFINITE_FAIL);
+ chromie->AI()->Talk(SAY_INFINITE_FAIL);
if (Creature* infinite = instance->GetCreature(_infiniteGUID))
{
@@ -330,19 +318,19 @@ class instance_culling_of_stratholme : public InstanceMapScript
}
private:
- uint64 _chromieGUID;
- uint64 _arthasGUID;
- uint64 _meathookGUID;
- uint64 _salrammGUID;
- uint64 _epochGUID;
- uint64 _malGanisGUID;
- uint64 _infiniteGUID;
- uint64 _shkafGateGUID;
- uint64 _malGanisGate1GUID;
- uint64 _malGanisGate2GUID;
- uint64 _exitGateGUID;
- uint64 _malGanisChestGUID;
- uint64 _genericBunnyGUID;
+ ObjectGuid _chromieGUID;
+ ObjectGuid _arthasGUID;
+ ObjectGuid _meathookGUID;
+ ObjectGuid _salrammGUID;
+ ObjectGuid _epochGUID;
+ ObjectGuid _malGanisGUID;
+ ObjectGuid _infiniteGUID;
+ ObjectGuid _shkafGateGUID;
+ ObjectGuid _malGanisGate1GUID;
+ ObjectGuid _malGanisGate2GUID;
+ ObjectGuid _exitGateGUID;
+ ObjectGuid _malGanisChestGUID;
+ ObjectGuid _genericBunnyGUID;
uint32 _crateCount;
uint32 _eventTimer;
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 32062be6f3c..0220ff98750 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
@@ -58,9 +58,9 @@ public:
uint32 mBarrelCount;
uint32 mThrallEventCount;
- uint64 ThrallGUID;
- uint64 TarethaGUID;
- uint64 EpochGUID;
+ ObjectGuid ThrallGUID;
+ ObjectGuid TarethaGUID;
+ ObjectGuid EpochGUID;
void Initialize() override
{
@@ -69,9 +69,6 @@ public:
mBarrelCount = 0;
mThrallEventCount = 0;
- ThrallGUID = 0;
- TarethaGUID = 0;
- EpochGUID = 0;
}
Player* GetPlayerInMap()
@@ -100,7 +97,7 @@ public:
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
{
if (Player* player = itr->GetSource())
- player->KilledMonsterCredit(LODGE_QUEST_TRIGGER, 0);
+ player->KilledMonsterCredit(LODGE_QUEST_TRIGGER);
}
}
}
@@ -115,9 +112,9 @@ public:
case TARETHA_ENTRY:
TarethaGUID = creature->GetGUID();
break;
- case EPOCH_ENTRY:
- EpochGUID = creature->GetGUID();
- break;
+ case EPOCH_ENTRY:
+ EpochGUID = creature->GetGUID();
+ break;
}
}
@@ -224,7 +221,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -232,10 +229,10 @@ public:
return ThrallGUID;
case DATA_TARETHA:
return TarethaGUID;
- case DATA_EPOCH:
- return EpochGUID;
+ case DATA_EPOCH:
+ return EpochGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
};
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index 56e95fafece..66ce5e93720 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -404,7 +404,7 @@ public:
me->SummonCreature(NPC_INN_GUARDSMAN, 2656.39f, 659.77f, 61.93f, 2.61f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000);
break;
case 94:
- if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TARETHA)))
+ if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TARETHA)))
Taretha->AI()->Talk(SAY_TA_ESCAPED, me);
break;
case 95:
@@ -426,7 +426,7 @@ public:
case 106:
{
//trigger taretha to run down outside
- if (Creature* Taretha = instance->instance->GetCreature(instance->GetData64(DATA_TARETHA)))
+ if (Creature* Taretha = instance->instance->GetCreature(instance->GetGuidData(DATA_TARETHA)))
{
if (Player* player = GetPlayerForEscort())
ENSURE_AI(npc_escortAI, (Taretha->AI()))->Start(false, true, player->GetGUID());
@@ -440,7 +440,7 @@ public:
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
{
if (Player* player = itr->GetSource())
- player->KilledMonsterCredit(20156, 0);
+ player->KilledMonsterCredit(20156);
}
}
@@ -588,10 +588,10 @@ public:
if (instance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS)
{
instance->SetData(TYPE_THRALL_PART4, IN_PROGRESS);
- if (instance->GetData64(DATA_EPOCH) == 0)
+ if (instance->GetGuidData(DATA_EPOCH).IsEmpty())
creature->SummonCreature(ENTRY_EPOCH, 2639.13f, 698.55f, 65.43f, 4.59f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
- if (Creature* thrall = (ObjectAccessor::GetCreature(*creature, instance->GetData64(DATA_THRALL))))
+ if (Creature* thrall = (ObjectAccessor::GetCreature(*creature, instance->GetGuidData(DATA_THRALL))))
ENSURE_AI(npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI, thrall->AI())->StartWP();
}
}
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 35497b1f9ce..ed49cc41c39 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
@@ -89,13 +89,12 @@ public:
uint8 mRiftWaveCount;
uint8 mRiftWaveId;
- uint64 _medivhGUID;
+ ObjectGuid _medivhGUID;
uint8 _currentRiftId;
void Initialize() override
{
SetHeaders(DataHeader);
- _medivhGUID = 0;
Clear();
}
@@ -253,12 +252,12 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
if (data == DATA_MEDIVH)
return _medivhGUID;
- return 0;
+ return ObjectGuid::Empty;
}
Creature* SummonedPortalBoss(Creature* me)
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 1fa104ada00..64d99c03dab 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
@@ -321,7 +321,7 @@ public:
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));
if (Unit* Summon = DoSummon(creature_entry, pos, 30000, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT))
- if (Unit* temp = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_MEDIVH)))
+ if (Unit* temp = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_MEDIVH)))
Summon->AddThreat(temp, 0.0f);
}
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index 62c85491a20..5c083e43d3d 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -140,8 +140,8 @@ public:
MovePoint = urand(0, 5);
PointData = GetMoveData();
SummonWhelpCount = 0;
- triggerGUID = 0;
- tankGUID = 0;
+ triggerGUID.Clear();
+ tankGUID.Clear();
IsMoving = false;
}
@@ -153,7 +153,7 @@ public:
SetCombatMovement(true);
_Reset();
-
+ me->SetReactState(REACT_AGGRESSIVE);
instance->SetData(DATA_ONYXIA_PHASE, Phase);
instance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
@@ -162,12 +162,10 @@ public:
{
_EnterCombat();
Talk(SAY_AGGRO);
-
events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 20000));
events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(15000, 20000));
events.ScheduleEvent(EVENT_CLEAVE, urand(2000, 5000));
events.ScheduleEvent(EVENT_WING_BUFFET, urand(10000, 20000));
-
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
}
@@ -331,9 +329,10 @@ public:
{
if (HealthBelowPct(65))
{
+ if (Unit* target = me->GetVictim())
+ tankGUID = target->GetGUID();
SetCombatMovement(false);
Phase = PHASE_BREATH;
- tankGUID = me->GetVictim()->GetGUID();
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
me->GetMotionMaster()->MovePoint(10, Phase2Location);
@@ -356,7 +355,7 @@ public:
Trinity::GameObjectLastSearcher<Trinity::GameObjectInRangeCheck> searcher(me, Floor, check);
me->VisitNearbyGridObject(30, searcher);
if (Floor)
- instance->SetData64(DATA_FLOOR_ERUPTION_GUID, Floor->GetGUID());
+ instance->SetGuidData(DATA_FLOOR_ERUPTION_GUID, Floor->GetGUID());
events.ScheduleEvent(EVENT_BELLOWING_ROAR, 30000);
break;
}
@@ -474,8 +473,8 @@ public:
uint8 Phase;
uint8 MovePoint;
uint8 SummonWhelpCount;
- uint64 triggerGUID;
- uint64 tankGUID;
+ ObjectGuid triggerGUID;
+ ObjectGuid tankGUID;
bool IsMoving;
};
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index 6aa50e71b17..4bbbf26b84e 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -53,7 +53,6 @@ public:
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- onyxiaGUID = 0;
onyxiaLiftoffTimer = 0;
manyWhelpsCounter = 0;
eruptTimer = 0;
@@ -102,7 +101,7 @@ public:
}
}
- void FloorEruption(uint64 floorEruptedGUID)
+ void FloorEruption(ObjectGuid floorEruptedGUID)
{
if (GameObject* floorEruption = instance->GetGameObject(floorEruptedGUID))
{
@@ -121,7 +120,7 @@ public:
{
if (((*itr)->GetGOInfo()->displayId == 4392 || (*itr)->GetGOInfo()->displayId == 4472) && (*itr)->GetGOInfo()->trap.spellId == 17731)
{
- uint64 nearFloorGUID = (*itr)->GetGUID();
+ ObjectGuid nearFloorGUID = (*itr)->GetGUID();
if (FloorEruptionGUID[1].find(nearFloorGUID) != FloorEruptionGUID[1].end() && (*FloorEruptionGUID[1].find(nearFloorGUID)).second == 0)
{
(*FloorEruptionGUID[1].find(nearFloorGUID)).second = (*FloorEruptionGUID[1].find(floorEruptedGUID)).second+1;
@@ -173,7 +172,7 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
switch (type)
{
@@ -185,7 +184,7 @@ public:
}
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -193,7 +192,7 @@ public:
return onyxiaGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void Update(uint32 diff) override
@@ -212,8 +211,8 @@ public:
{
if (eruptTimer <= diff)
{
- uint64 frontGuid = FloorEruptionGUIDQueue.front();
- std::map<uint64, uint32>::iterator itr = FloorEruptionGUID[1].find(frontGuid);
+ ObjectGuid frontGuid = FloorEruptionGUIDQueue.front();
+ std::map<ObjectGuid, uint32>::iterator itr = FloorEruptionGUID[1].find(frontGuid);
if (itr != FloorEruptionGUID[1].end())
{
uint32 treeHeight = itr->second;
@@ -252,11 +251,9 @@ public:
}
protected:
- std::map<uint64, uint32> FloorEruptionGUID[2];
- std::queue<uint64> FloorEruptionGUIDQueue;
- uint64 onyxiaGUID;
- uint64 triggerGUID;
- uint64 tankGUID;
+ std::map<ObjectGuid, uint32> FloorEruptionGUID[2];
+ std::queue<ObjectGuid> FloorEruptionGUIDQueue;
+ ObjectGuid onyxiaGUID;
uint32 onyxiaLiftoffTimer;
uint32 manyWhelpsCounter;
uint32 eruptTimer;
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index ca5e6a9828c..8a82f782918 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -59,7 +59,6 @@ public:
void Initialize() override
{
- goGongGUID = 0;
gongWave = 0;
fiendsKilled = 0;
reaversKilled = 0;
@@ -172,7 +171,7 @@ public:
}
protected:
- uint64 goGongGUID;
+ ObjectGuid goGongGUID;
uint16 gongWave;
uint8 fiendsKilled;
uint8 reaversKilled;
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
index 6f9ba0afa7b..07cb6e65ee9 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
@@ -44,14 +44,13 @@ public:
{
instance_razorfen_kraul_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 DoorWardGUID;
+ ObjectGuid DoorWardGUID;
int WardKeeperDeath;
void Initialize() override
{
SetHeaders(DataHeader);
WardKeeperDeath = 0;
- DoorWardGUID = 0;
}
Player* GetPlayerInMap()
diff --git a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
index e3021ff7a95..8cbd611a18a 100644
--- a/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
@@ -159,13 +159,12 @@ public:
npc_snufflenose_gopherAI(Creature* creature) : PetAI(creature)
{
IsMovementActive = false;
- TargetTubberGUID = 0;
}
void Reset() override
{
IsMovementActive = false;
- TargetTubberGUID = 0;
+ TargetTubberGUID.Clear();
}
void MovementInform(uint32 type, uint32 id) override
@@ -227,7 +226,7 @@ public:
bool IsMovementActive;
- uint64 TargetTubberGUID;
+ ObjectGuid TargetTubberGUID;
};
};
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index 19cc5316fa4..1a09ef27b04 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -200,14 +200,14 @@ class boss_ayamiss : public CreatureScript
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true))
{
DoCast(target, SPELL_PARALYZE);
- instance->SetData64(DATA_PARALYZED, target->GetGUID());
+ instance->SetGuidData(DATA_PARALYZED, target->GetGUID());
uint8 Index = urand(0, 1);
me->SummonCreature(NPC_LARVA, LarvaPos[Index], TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000);
}
events.ScheduleEvent(EVENT_PARALYZE, 15000);
break;
case EVENT_SWARMER_ATTACK:
- for (std::list<uint64>::iterator i = _swarmers.begin(); i != _swarmers.end(); ++i)
+ for (GuidList::iterator i = _swarmers.begin(); i != _swarmers.end(); ++i)
if (Creature* swarmer = me->GetMap()->GetCreature(*i))
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM))
swarmer->AI()->AttackStart(target);
@@ -234,7 +234,7 @@ class boss_ayamiss : public CreatureScript
}
}
private:
- std::list<uint64> _swarmers;
+ GuidList _swarmers;
uint8 _phase;
bool _enraged;
};
@@ -261,7 +261,7 @@ class npc_hive_zara_larva : public CreatureScript
{
if (type == POINT_MOTION_TYPE)
if (id == POINT_PARALYZE)
- if (Player* target = ObjectAccessor::GetPlayer(*me, _instance->GetData64(DATA_PARALYZED)))
+ if (Player* target = ObjectAccessor::GetPlayer(*me, _instance->GetGuidData(DATA_PARALYZED)))
DoCast(target, SPELL_FEED); // Omnomnom
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
index cf6703a01f5..d6640b5a0ab 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
@@ -76,8 +76,8 @@ class boss_buru : public CreatureScript
{
BossAI::EnterEvadeMode();
- for (std::list<uint64>::iterator i = Eggs.begin(); i != Eggs.end(); ++i)
- if (Creature* egg = me->GetMap()->GetCreature(*Eggs.begin()))
+ for (ObjectGuid eggGuid : Eggs)
+ if (Creature* egg = me->GetMap()->GetCreature(eggGuid))
egg->Respawn();
Eggs.clear();
@@ -127,7 +127,7 @@ class boss_buru : public CreatureScript
}
}
- void ManageRespawn(uint64 EggGUID)
+ void ManageRespawn(ObjectGuid EggGUID)
{
ChaseNewVictim();
Eggs.push_back(EggGUID);
@@ -183,8 +183,8 @@ class boss_buru : public CreatureScript
DoMeleeAttackIfReady();
}
private:
+ GuidList Eggs;
uint8 _phase;
- std::list<uint64> Eggs;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -208,7 +208,7 @@ class npc_buru_egg : public CreatureScript
void EnterCombat(Unit* attacker) override
{
- if (Creature* buru = me->GetMap()->GetCreature(_instance->GetData64(DATA_BURU)))
+ if (Creature* buru = me->GetMap()->GetCreature(_instance->GetGuidData(DATA_BURU)))
if (!buru->IsInCombat())
buru->AI()->AttackStart(attacker);
}
@@ -216,7 +216,7 @@ class npc_buru_egg : public CreatureScript
void JustSummoned(Creature* who) override
{
if (who->GetEntry() == NPC_HATCHLING)
- if (Creature* buru = me->GetMap()->GetCreature(_instance->GetData64(DATA_BURU)))
+ if (Creature* buru = me->GetMap()->GetCreature(_instance->GetGuidData(DATA_BURU)))
if (Unit* target = buru->AI()->SelectTarget(SELECT_TARGET_RANDOM))
who->AI()->AttackStart(target);
}
@@ -227,7 +227,7 @@ class npc_buru_egg : public CreatureScript
DoCastAOE(SPELL_EXPLODE_2, true); // Unknown purpose
DoCast(me, SPELL_SUMMON_HATCHLING, true);
- if (Creature* buru = me->GetMap()->GetCreature(_instance->GetData64(DATA_BURU)))
+ if (Creature* buru = me->GetMap()->GetCreature(_instance->GetGuidData(DATA_BURU)))
if (boss_buru::boss_buruAI* buruAI = dynamic_cast<boss_buru::boss_buruAI*>(buru->AI()))
buruAI->ManageRespawn(me->GetGUID());
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index adb6723d2af..776971b1f9f 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -83,7 +83,7 @@ class boss_kurinnaxx : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
_JustDied();
- if (Creature* Ossirian = me->GetMap()->GetCreature(instance->GetData64(DATA_OSSIRIAN)))
+ if (Creature* Ossirian = me->GetMap()->GetCreature(instance->GetGuidData(DATA_OSSIRIAN)))
sCreatureTextMgr->SendChat(Ossirian, SAY_KURINAXX_DEATH, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_ZONE);
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
index 0180bbeddac..2ba755d3c4e 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
@@ -95,12 +95,12 @@ class boss_ossirian : public CreatureScript
void Initialize()
{
CrystalIterator = 0;
- TriggerGUID = 0;
- CrystalGUID = 0;
+ TriggerGUID.Clear();
+ CrystalGUID.Clear();
}
- uint64 TriggerGUID;
- uint64 CrystalGUID;
+ ObjectGuid TriggerGUID;
+ ObjectGuid CrystalGUID;
uint8 CrystalIterator;
bool SaidIntro;
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 1b62527dab7..0e34f4a5595 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
@@ -30,14 +30,6 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(NUM_ENCOUNTER);
-
- _kurinaxxGUID = 0;
- _rajaxxGUID = 0;
- _moamGUID = 0;
- _buruGUID = 0;
- _ayamissGUID = 0;
- _ossirianGUID = 0;
- _paralyzedGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -73,13 +65,13 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
return true;
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
if (type == DATA_PARALYZED)
_paralyzedGUID = data;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -99,17 +91,17 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript
return _paralyzedGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
private:
- uint64 _kurinaxxGUID;
- uint64 _rajaxxGUID;
- uint64 _moamGUID;
- uint64 _buruGUID;
- uint64 _ayamissGUID;
- uint64 _ossirianGUID;
- uint64 _paralyzedGUID;
+ ObjectGuid _kurinaxxGUID;
+ ObjectGuid _rajaxxGUID;
+ ObjectGuid _moamGUID;
+ ObjectGuid _buruGUID;
+ ObjectGuid _ayamissGUID;
+ ObjectGuid _ossirianGUID;
+ ObjectGuid _paralyzedGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index be103541989..4ed4c3c2e26 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -315,11 +315,11 @@ public:
switch (urand(0, 2))
{
case 0:
- if (Creature* kri = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KRI)))
+ if (Creature* kri = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KRI)))
DoCast(kri, SPELL_HEAL);
break;
case 1:
- if (Creature* vem = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VEM)))
+ if (Creature* vem = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VEM)))
DoCast(vem, SPELL_HEAL);
break;
case 2:
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index c9795133d14..218aa69304c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -307,7 +307,7 @@ public:
me->SetReactState(REACT_PASSIVE);
//Remove any target
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
//Select random target for dark beam to start on
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -384,7 +384,7 @@ public:
//Transition phase
case PHASE_CTHUN_TRANSITION:
//Remove any target
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->SetHealth(0);
me->SetVisible(false);
break;
@@ -420,7 +420,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
//Remove Target field
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
//Death animation/respawning;
instance->SetData(DATA_CTHUN_PHASE, PHASE_CTHUN_TRANSITION);
@@ -475,7 +475,7 @@ public:
PhaseTimer = 10000; //Emerge in 10 seconds
//No hold player for transition
- HoldPlayer = 0;
+ HoldPlayer.Clear();
//Body Phase
EyeTentacleTimer = 30000;
@@ -485,7 +485,7 @@ public:
StomachAcidTimer = 4000; //Every 4 seconds
StomachEnterTimer = 10000; //Every 10 seconds
StomachEnterVisTimer = 0; //Always 3.5 seconds after Stomach Enter Timer
- StomachEnterTarget = 0; //Target to be teleported to stomach
+ StomachEnterTarget.Clear(); //Target to be teleported to stomach
}
InstanceScript* instance;
@@ -499,7 +499,7 @@ public:
//-------------------
//Phase transition
- uint64 HoldPlayer;
+ ObjectGuid HoldPlayer;
//Body Phase
uint32 EyeTentacleTimer;
@@ -509,10 +509,10 @@ public:
uint32 StomachAcidTimer;
uint32 StomachEnterTimer;
uint32 StomachEnterVisTimer;
- uint64 StomachEnterTarget;
+ ObjectGuid StomachEnterTarget;
//Stomach map, bool = true then in stomach
- std::unordered_map<uint64, bool> Stomach_Map;
+ std::unordered_map<ObjectGuid, bool> Stomach_Map;
void Reset() override
{
@@ -548,7 +548,7 @@ public:
if (Stomach_Map.empty())
return NULL;
- std::unordered_map<uint64, bool>::const_iterator i = Stomach_Map.begin();
+ std::unordered_map<ObjectGuid, bool>::const_iterator i = Stomach_Map.begin();
std::list<Unit*> temp;
std::list<Unit*>::const_iterator j;
@@ -610,7 +610,7 @@ public:
return;
}
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
uint32 currentPhase = instance->GetData(DATA_CTHUN_PHASE);
if (currentPhase == PHASE_CTHUN_STOMACH || currentPhase == PHASE_CTHUN_WEAK)
@@ -680,7 +680,7 @@ public:
//Body Phase
case PHASE_CTHUN_STOMACH:
//Remove Target field
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
//Weaken
if (FleshTentaclesKilled > 1)
@@ -692,7 +692,7 @@ public:
DoCast(me, SPELL_PURPLE_COLORATION, true);
- std::unordered_map<uint64, bool>::iterator i = Stomach_Map.begin();
+ std::unordered_map<ObjectGuid, bool>::iterator i = Stomach_Map.begin();
//Kick all players out of stomach
while (i != Stomach_Map.end())
@@ -724,7 +724,7 @@ public:
if (StomachAcidTimer <= diff)
{
//Apply aura to all players in stomach
- std::unordered_map<uint64, bool>::iterator i = Stomach_Map.begin();
+ std::unordered_map<ObjectGuid, bool>::iterator i = Stomach_Map.begin();
while (i != Stomach_Map.end())
{
@@ -786,7 +786,7 @@ public:
DoTeleportPlayer(unit, STOMACH_X, STOMACH_Y, STOMACH_Z, STOMACH_O);
}
- StomachEnterTarget = 0;
+ StomachEnterTarget.Clear();
StomachEnterVisTimer = 0;
} else StomachEnterVisTimer -= diff;
}
@@ -913,7 +913,6 @@ public:
MindflayTimer = 500;
KillSelfTimer = 35000;
- Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -925,7 +924,7 @@ public:
uint32 MindflayTimer;
uint32 KillSelfTimer;
- uint64 Portal;
+ ObjectGuid Portal;
void JustDied(Unit* /*killer*/) override
{
@@ -995,7 +994,6 @@ public:
SetCombatMovement(false);
- Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_SMALL_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -1006,7 +1004,7 @@ public:
uint32 GroundRuptureTimer;
uint32 HamstringTimer;
uint32 EvadeTimer;
- uint64 Portal;
+ ObjectGuid Portal;
void JustDied(Unit* /*killer*/) override
{
@@ -1111,7 +1109,6 @@ public:
SetCombatMovement(false);
- Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_GIANT_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -1123,7 +1120,7 @@ public:
uint32 ThrashTimer;
uint32 HamstringTimer;
uint32 EvadeTimer;
- uint64 Portal;
+ ObjectGuid Portal;
void JustDied(Unit* /*killer*/) override
{
@@ -1233,7 +1230,6 @@ public:
SetCombatMovement(false);
- Portal = 0;
if (Creature* pPortal = me->SummonCreature(NPC_GIANT_PORTAL, *me, TEMPSUMMON_CORPSE_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
@@ -1242,7 +1238,7 @@ public:
}
uint32 BeamTimer;
- uint64 Portal;
+ ObjectGuid Portal;
void JustDied(Unit* /*killer*/) override
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index e65dbacc1f2..c653064d62c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -110,7 +110,7 @@ struct boss_twinemperorsAI : public ScriptedAI
Creature* GetOtherBoss()
{
- return ObjectAccessor::GetCreature(*me, instance->GetData64(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
+ return ObjectAccessor::GetCreature(*me, instance->GetGuidData(IAmVeklor() ? DATA_VEKNILASH : DATA_VEKLOR));
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
index 7f223f21269..fe6e0a435a7 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
@@ -272,7 +272,7 @@ class npc_glob_of_viscidus : public CreatureScript
{
InstanceScript* Instance = me->GetInstanceScript();
- if (Creature* Viscidus = me->GetMap()->GetCreature(Instance->GetData64(DATA_VISCIDUS)))
+ if (Creature* Viscidus = me->GetMap()->GetCreature(Instance->GetGuidData(DATA_VISCIDUS)))
{
if (BossAI* ViscidusAI = dynamic_cast<BossAI*>(Viscidus->GetAI()))
ViscidusAI->SummonedCreatureDespawn(me);
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 e6d9bd86a4d..456ff749e84 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
@@ -45,12 +45,12 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
bool IsBossDied[3];
//Storing Skeram, Vem and Kri.
- uint64 SkeramGUID;
- uint64 VemGUID;
- uint64 KriGUID;
- uint64 VeklorGUID;
- uint64 VeknilashGUID;
- uint64 ViscidusGUID;
+ ObjectGuid SkeramGUID;
+ ObjectGuid VemGUID;
+ ObjectGuid KriGUID;
+ ObjectGuid VeklorGUID;
+ ObjectGuid VeknilashGUID;
+ ObjectGuid ViscidusGUID;
uint32 BugTrioDeathCount;
@@ -63,13 +63,6 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
IsBossDied[1] = false;
IsBossDied[2] = false;
- SkeramGUID = 0;
- VemGUID = 0;
- KriGUID = 0;
- VeklorGUID = 0;
- VeknilashGUID = 0;
- ViscidusGUID = 0;
-
BugTrioDeathCount = 0;
CthunPhase = 0;
@@ -134,7 +127,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -151,8 +144,8 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript
case DATA_VISCIDUS:
return ViscidusGUID;
}
- return 0;
- } // end GetData64
+ return ObjectGuid::Empty;
+ } // end GetGuidData
void SetData(uint32 type, uint32 data) override
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
index b8f6c0ed80e..7b20e5dd8a9 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
@@ -103,14 +103,16 @@ public:
gatherOthersWhenAggro = true;
}
- uint64 NearbyGUID[3];
+ ObjectGuid NearbyGUID[3];
void ClearBuddyList()
{
- NearbyGUID[0] = NearbyGUID[1] = NearbyGUID[2] = 0;
+ NearbyGUID[0].Clear();
+ NearbyGUID[1].Clear();
+ NearbyGUID[2].Clear();
}
- void AddBuddyToList(uint64 CreatureGUID)
+ void AddBuddyToList(ObjectGuid CreatureGUID)
{
if (CreatureGUID == me->GetGUID())
return;
@@ -130,7 +132,7 @@ public:
void GiveBuddyMyList(Creature* c)
{
aqsentinelAI* cai = ENSURE_AI(aqsentinelAI, (c)->AI());
- for (int i=0; i<3; ++i)
+ for (int32 i = 0; i < 3; ++i)
if (NearbyGUID[i] && NearbyGUID[i] != c->GetGUID())
cai->AddBuddyToList(NearbyGUID[i]);
cai->AddBuddyToList(me->GetGUID());
@@ -138,14 +140,14 @@ public:
void SendMyListToBuddies()
{
- for (int i=0; i<3; ++i)
+ for (int32 i = 0; i < 3; ++i)
if (Creature* pNearby = ObjectAccessor::GetCreature(*me, NearbyGUID[i]))
GiveBuddyMyList(pNearby);
}
void CallBuddiesToAttack(Unit* who)
{
- for (int i=0; i<3; ++i)
+ for (int32 i = 0; i < 3; ++i)
{
Creature* c = ObjectAccessor::GetCreature(*me, NearbyGUID[i]);
if (c)
@@ -222,7 +224,7 @@ public:
{
if (!me->isDead())
{
- for (int i=0; i<3; ++i)
+ for (int i = 0; i < 3; ++i)
{
if (!NearbyGUID[i])
continue;
@@ -252,7 +254,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- for (int ni=0; ni<3; ++ni)
+ for (int ni = 0; ni < 3; ++ni)
{
Creature* sent = ObjectAccessor::GetCreature(*me, NearbyGUID[ni]);
if (!sent)
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
index bb2fc8bca20..5d7202588a9 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
@@ -46,7 +46,7 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
bool yelled;
- uint64 NaralexGUID;
+ ObjectGuid NaralexGUID;
void Initialize() override
{
@@ -54,7 +54,6 @@ public:
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
yelled = false;
- NaralexGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -99,10 +98,10 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
if (data == DATA_NARALEX)return NaralexGUID;
- return 0;
+ return ObjectGuid::Empty;
}
std::string GetSaveData() override
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
index bb872421197..522d6eee464 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
@@ -259,7 +259,7 @@ public:
++eventProgress;
eventTimer = 15000;
//CAST_AI(npc_escort::npc_escortAI, me->AI())->SetCanDefend(false);
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
DoCast(naralex, SPELL_NARALEXS_AWAKENING, true);
Talk(EMOTE_AWAKENING_RITUAL);
}
@@ -268,7 +268,7 @@ public:
{
++eventProgress;
eventTimer = 15000;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->AI()->Talk(EMOTE_TROUBLED_SLEEP);
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 135.943f, 199.701f, -103.529f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
me->SummonCreature(NPC_DEVIATE_MOCCASIN, 151.08f, 221.13f, -103.609f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
@@ -279,7 +279,7 @@ public:
{
++eventProgress;
eventTimer = 30000;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->AI()->Talk(EMOTE_WRITHE_IN_AGONY);
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 133.413f, 207.188f, -102.469f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
me->SummonCreature(NPC_NIGHTMARE_ECTOPLASM, 142.857f, 218.645f, -102.905f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 15000);
@@ -293,7 +293,7 @@ public:
if (eventProgress == 5)
{
++eventProgress;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->AI()->Talk(EMOTE_HORRENDOUS_VISION);
me->SummonCreature(NPC_MUTANUS_THE_DEVOURER, 150.872f, 262.905f, -103.503f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000);
Talk(SAY_MUTANUS_THE_DEVOURER);
@@ -304,7 +304,7 @@ public:
{
++eventProgress;
eventTimer = 3000;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
{
if (me->HasAura(SPELL_NARALEXS_AWAKENING))
me->RemoveAura(SPELL_NARALEXS_AWAKENING);
@@ -318,7 +318,7 @@ public:
{
++eventProgress;
eventTimer = 6000;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->AI()->Talk(SAY_THANK_YOU);
}
else
@@ -326,7 +326,7 @@ public:
{
++eventProgress;
eventTimer = 8000;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
{
naralex->AI()->Talk(SAY_FAREWELL);
naralex->AddAura(SPELL_FLIGHT_FORM, naralex);
@@ -340,7 +340,7 @@ public:
{
++eventProgress;
eventTimer = 1500;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->GetMotionMaster()->MovePoint(25, naralex->GetPositionX(), naralex->GetPositionY(), naralex->GetPositionZ());
}
else
@@ -348,7 +348,7 @@ public:
{
++eventProgress;
eventTimer = 2500;
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
{
naralex->GetMotionMaster()->MovePoint(0, 117.095512f, 247.107971f, -96.167870f);
naralex->GetMotionMaster()->MovePoint(1, 90.388809f, 276.135406f, -83.389801f);
@@ -359,7 +359,7 @@ public:
else
if (eventProgress == 11)
{
- if (Creature* naralex = instance->instance->GetCreature(instance->GetData64(DATA_NARALEX)))
+ if (Creature* naralex = instance->instance->GetCreature(instance->GetGuidData(DATA_NARALEX)))
naralex->SetVisible(false);
me->SetVisible(false);
instance->SetData(TYPE_NARALEX_PART3, DONE);
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 83f1724130c..393028e0446 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -111,13 +111,13 @@ public:
instance_zulfarrak_InstanceMapScript(Map* map) : InstanceScript(map) { }
uint32 GahzRillaEncounter;
- uint64 ZumrahGUID;
- uint64 BlyGUID;
- uint64 WeegliGUID;
- uint64 OroGUID;
- uint64 RavenGUID;
- uint64 MurtaGUID;
- uint64 EndDoorGUID;
+ ObjectGuid ZumrahGUID;
+ ObjectGuid BlyGUID;
+ ObjectGuid WeegliGUID;
+ ObjectGuid OroGUID;
+ ObjectGuid RavenGUID;
+ ObjectGuid MurtaGUID;
+ ObjectGuid EndDoorGUID;
uint32 PyramidPhase;
uint32 major_wave_Timer;
uint32 minor_wave_Timer;
@@ -127,14 +127,6 @@ public:
void Initialize() override
{
SetHeaders(DataHeader);
- GahzRillaEncounter = NOT_STARTED;
- ZumrahGUID = 0;
- BlyGUID = 0;
- WeegliGUID = 0;
- OroGUID = 0;
- RavenGUID = 0;
- MurtaGUID = 0;
- EndDoorGUID = 0;
PyramidPhase = 0;
major_wave_Timer = 0;
minor_wave_Timer = 0;
@@ -198,7 +190,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -217,7 +209,7 @@ public:
case GO_END_DOOR:
return EndDoorGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -315,11 +307,11 @@ public:
};
}
- std::list<uint64> addsAtBase, movedadds;
+ GuidList addsAtBase, movedadds;
void MoveNPCIfAlive(uint32 entry, float x, float y, float z, float o)
{
- if (Creature* npc = instance->GetCreature(GetData64(entry)))
+ if (Creature* npc = instance->GetCreature(GetGuidData(entry)))
{
if (npc->IsAlive())
{
@@ -346,7 +338,7 @@ public:
bool IsWaveAllDead()
{
- for (std::list<uint64>::iterator itr = addsAtBase.begin(); itr != addsAtBase.end(); ++itr)
+ for (GuidList::iterator itr = addsAtBase.begin(); itr != addsAtBase.end(); ++itr)
{
if (Creature* add = instance->GetCreature((*itr)))
{
@@ -354,7 +346,7 @@ public:
return false;
}
}
- for (std::list<uint64>::iterator itr = movedadds.begin(); itr != movedadds.end(); ++itr)
+ for (GuidList::iterator itr = movedadds.begin(); itr != movedadds.end(); ++itr)
{
if (Creature* add = instance->GetCreature(((*itr))))
{
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 47d269a00ff..443bd1578d7 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -108,7 +108,6 @@ public:
instance = creature->GetInstanceScript();
postGossipStep = 0;
Text_Timer = 0;
- PlayerGUID = 0;
}
void Initialize()
@@ -123,7 +122,7 @@ public:
uint32 Text_Timer;
uint32 ShieldBash_Timer;
uint32 Revenge_Timer; //this is wrong, spell should never be used unless me->GetVictim() dodge, parry or block attack. Trinity support required.
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
void Reset() override
{
@@ -142,7 +141,7 @@ public:
{
case 1:
//weegli doesn't fight - he goes & blows up the door
- if (Creature* pWeegli = instance->instance->GetCreature(instance->GetData64(ENTRY_WEEGLI)))
+ if (Creature* pWeegli = instance->instance->GetCreature(instance->GetGuidData(ENTRY_WEEGLI)))
pWeegli->AI()->DoAction(0);
Talk(SAY_1);
Text_Timer = 5000;
@@ -195,7 +194,7 @@ public:
void switchFactionIfAlive(uint32 entry)
{
- if (Creature* crew = ObjectAccessor::GetCreature(*me, instance->GetData64(entry)))
+ if (Creature* crew = ObjectAccessor::GetCreature(*me, instance->GetGuidData(entry)))
if (crew->IsAlive())
crew->setFaction(FACTION_HOSTILE);
}
@@ -230,7 +229,7 @@ public:
private:
void initBlyCrewMember(InstanceScript* instance, uint32 entry, float x, float y, float z)
{
- if (Creature* crew = instance->instance->GetCreature(instance->GetData64(entry)))
+ if (Creature* crew = instance->instance->GetCreature(instance->GetGuidData(entry)))
{
crew->SetReactState(REACT_AGGRESSIVE);
crew->SetWalk(true);
@@ -370,7 +369,7 @@ public:
else
if (destroyingDoor)
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_END_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_END_DOOR));
/// @todo leave the area...
me->DespawnOrUnsummon();
};
diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp
index cec94617454..542e04a7dd5 100644
--- a/src/server/scripts/Kalimdor/zone_azshara.cpp
+++ b/src/server/scripts/Kalimdor/zone_azshara.cpp
@@ -314,7 +314,7 @@ public:
MustDieTimer = 3000;
CurrWP = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
MustDie = false;
Escape = false;
@@ -453,7 +453,7 @@ public:
}
private:
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 SpellEscapeTimer;
uint32 TeleportTimer;
uint32 CheckTimer;
diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
index e6869dbf0f5..c6f4e9d0ee6 100644
--- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
@@ -68,7 +68,7 @@ public:
void Initialize()
{
- pCaster = 0;
+ pCaster.Clear();
SayThanksTimer = 0;
RunAwayTimer = 0;
@@ -77,7 +77,7 @@ public:
CanSayHelp = true;
}
- uint64 pCaster;
+ ObjectGuid pCaster;
uint32 SayThanksTimer;
uint32 RunAwayTimer;
@@ -431,13 +431,13 @@ public:
void Initialize()
{
- SparkGUID = 0;
+ SparkGUID.Clear();
Step = 0;
EventStarted = false;
SayTimer = 0;
}
- uint64 SparkGUID;
+ ObjectGuid SparkGUID;
uint8 Step;
uint32 SayTimer;
@@ -528,7 +528,7 @@ public:
for (std::list<Player*>::const_iterator itr = players.begin(); itr != players.end(); ++itr)
if ((*itr)->GetQuestStatus(QUEST_TREES_COMPANY) == QUEST_STATUS_INCOMPLETE && (*itr)->HasAura(SPELL_TREE_DISGUISE))
- (*itr)->KilledMonsterCredit(NPC_SPARK, 0);
+ (*itr)->KilledMonsterCredit(NPC_SPARK);
}
void DespawnNagaFlag(bool despawn)
@@ -687,7 +687,7 @@ class npc_stillpine_capitive : public CreatureScript
void Initialize()
{
- _playerGUID = 0;
+ _playerGUID.Clear();
_movementComplete = false;
}
@@ -737,7 +737,7 @@ class npc_stillpine_capitive : public CreatureScript
}
private:
- uint64 _playerGUID;
+ ObjectGuid _playerGUID;
EventMap _events;
bool _movementComplete;
};
diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
index 81a175b57b7..5e2f4519b1e 100644
--- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
@@ -64,7 +64,7 @@ public:
{
case 0:
if (Player* player = killer->ToPlayer())
- player->KilledMonsterCredit(NPC_EXPEDITION_RESEARCHER, 0);
+ player->KilledMonsterCredit(NPC_EXPEDITION_RESEARCHER);
break;
case 1:
case 2:
diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp
index 0a56253cabd..7247286388a 100644
--- a/src/server/scripts/Kalimdor/zone_desolace.cpp
+++ b/src/server/scripts/Kalimdor/zone_desolace.cpp
@@ -103,7 +103,7 @@ public:
{
if (player->HasAura(SPELL_KODO_KOMBO_PLAYER_BUFF) && creature->HasAura(SPELL_KODO_KOMBO_DESPAWN_BUFF))
{
- player->TalkedToCreature(creature->GetEntry(), 0);
+ player->TalkedToCreature(creature->GetEntry(), ObjectGuid::Empty);
player->RemoveAurasDueToSpell(SPELL_KODO_KOMBO_PLAYER_BUFF);
}
diff --git a/src/server/scripts/Kalimdor/zone_durotar.cpp b/src/server/scripts/Kalimdor/zone_durotar.cpp
index e2f8dd0854d..93205738534 100644
--- a/src/server/scripts/Kalimdor/zone_durotar.cpp
+++ b/src/server/scripts/Kalimdor/zone_durotar.cpp
@@ -58,13 +58,10 @@ public:
void Initialize()
{
- PlayerGUID = 0;
RebuffTimer = 0;
work = false;
}
- uint64 PlayerGUID;
-
uint32 RebuffTimer;
bool work;
@@ -242,8 +239,7 @@ class npc_tiger_matriarch : public CreatureScript
struct npc_tiger_matriarchAI : public ScriptedAI
{
- npc_tiger_matriarchAI(Creature* creature) : ScriptedAI(creature),
- _tigerGuid(0)
+ npc_tiger_matriarchAI(Creature* creature) : ScriptedAI(creature)
{
}
@@ -343,7 +339,7 @@ class npc_tiger_matriarch : public CreatureScript
private:
EventMap _events;
- uint64 _tigerGuid;
+ ObjectGuid _tigerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
index ee244e51b09..9f5e7bdf29d 100644
--- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
@@ -655,7 +655,7 @@ public:
if (Creature* prisoner = go->FindNearestCreature(NPC_THERAMORE_PRISONER, 1.0f))
{
if (player)
- player->KilledMonsterCredit(NPC_THERAMORE_PRISONER, 0);
+ player->KilledMonsterCredit(NPC_THERAMORE_PRISONER);
prisoner->AI()->Talk(SAY_FREE); // We also emote cry here (handled in creature_text.emote)
prisoner->DespawnOrUnsummon(6000);
diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp
index 268db8da779..c8d880e66b7 100644
--- a/src/server/scripts/Kalimdor/zone_moonglade.cpp
+++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp
@@ -299,7 +299,7 @@ public:
npc_clintar_spiritAI(Creature* creature) : npc_escortAI(creature)
{
Initialize();
- PlayerGUID = 0;
+ PlayerGUID.Clear();
}
void Initialize()
@@ -307,7 +307,7 @@ public:
Step = 0;
CurrWP = 0;
EventTimer = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
checkPlayerTimer = 1000;
EventOnWait = false;
}
@@ -317,7 +317,7 @@ public:
uint32 EventTimer;
uint32 checkPlayerTimer;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
bool EventOnWait;
@@ -358,7 +358,7 @@ public:
if (player && player->GetQuestStatus(10965) == QUEST_STATUS_INCOMPLETE)
{
player->FailQuest(10965);
- PlayerGUID = 0;
+ PlayerGUID.Clear();
Reset();
}
}
@@ -536,7 +536,7 @@ public:
break;
case 2:
player->TalkedToCreature(me->GetEntry(), me->GetGUID());
- PlayerGUID = 0;
+ PlayerGUID.Clear();
Reset();
me->setDeathState(JUST_DIED);
break;
diff --git a/src/server/scripts/Kalimdor/zone_mulgore.cpp b/src/server/scripts/Kalimdor/zone_mulgore.cpp
index 289d7282ac6..31f3dffe70a 100644
--- a/src/server/scripts/Kalimdor/zone_mulgore.cpp
+++ b/src/server/scripts/Kalimdor/zone_mulgore.cpp
@@ -71,14 +71,14 @@ public:
{
EventActive = false;
IsMovingToLunch = false;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
EventTimer = 5000;
EventPhase = 0;
}
bool EventActive;
bool IsMovingToLunch;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 EventTimer;
uint8 EventPhase;
diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
index fd666b7fcd7..6097937f9d5 100644
--- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
+++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp
@@ -75,14 +75,14 @@ public:
CanEmote = false;
SaluteTimer = 6000;
ResetTimer = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
}
bool CanTalk;
bool CanEmote;
uint32 SaluteTimer;
uint32 ResetTimer;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
void Reset() override
{
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index 55f36779145..c977f1aee52 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -97,7 +97,7 @@ public:
case GOSSIP_ACTION_INFO_DEF + 6:
player->SEND_GOSSIP_MENU(7761, creature->GetGUID());
//'kill' our trigger to update quest status
- player->KilledMonsterCredit(TRIGGER_RUTGAR, 0);
+ player->KilledMonsterCredit(TRIGGER_RUTGAR);
break;
case GOSSIP_ACTION_INFO_DEF + 9:
@@ -123,7 +123,7 @@ public:
case GOSSIP_ACTION_INFO_DEF + 14:
player->SEND_GOSSIP_MENU(7767, creature->GetGUID());
//'kill' our trigger to update quest status
- player->KilledMonsterCredit(TRIGGER_FRANKAL, 0);
+ player->KilledMonsterCredit(TRIGGER_FRANKAL);
break;
}
return true;
@@ -431,24 +431,24 @@ public:
{
AnimationTimer = 1500;
AnimationCount = 0;
- AnachronosQuestTriggerGUID = 0;
- MerithraGUID = 0;
- ArygosGUID = 0;
- CaelestraszGUID = 0;
- FandralGUID = 0;
- PlayerGUID = 0;
+ AnachronosQuestTriggerGUID.Clear();
+ MerithraGUID.Clear();
+ ArygosGUID.Clear();
+ CaelestraszGUID.Clear();
+ FandralGUID.Clear();
+ PlayerGUID.Clear();
eventEnd = false;
}
uint32 AnimationTimer;
uint8 AnimationCount;
- uint64 AnachronosQuestTriggerGUID;
- uint64 MerithraGUID;
- uint64 ArygosGUID;
- uint64 CaelestraszGUID;
- uint64 FandralGUID;
- uint64 PlayerGUID;
+ ObjectGuid AnachronosQuestTriggerGUID;
+ ObjectGuid MerithraGUID;
+ ObjectGuid ArygosGUID;
+ ObjectGuid CaelestraszGUID;
+ ObjectGuid FandralGUID;
+ ObjectGuid PlayerGUID;
bool eventEnd;
void Reset() override
@@ -485,7 +485,7 @@ public:
Fandral->AI()->Talk(FANDRAL_SAY_1, me);
break;
case 2:
- Fandral->SetTarget(0);
+ Fandral->SetTarget(ObjectGuid::Empty);
Merithra->AI()->Talk(MERITHRA_EMOTE_1);
break;
case 3:
@@ -502,7 +502,7 @@ public:
Merithra->AI()->Talk(MERITHRA_SAY_2);
break;
case 7:
- Caelestrasz->SetTarget(0);
+ Caelestrasz->SetTarget(ObjectGuid::Empty);
Merithra->GetMotionMaster()->MoveCharge(-8065, 1530, 2.61f, 10);
break;
case 8:
@@ -769,14 +769,14 @@ public:
void Initialize()
{
- MobGUID = 0;
- PlayerGUID = 0;
+ MobGUID.Clear();
+ PlayerGUID.Clear();
Timers = false;
hasTarget = false;
}
- uint64 MobGUID;
- uint64 PlayerGUID;
+ ObjectGuid MobGUID;
+ ObjectGuid PlayerGUID;
uint32 SpellTimer1, SpellTimer2, SpellTimer3, SpellTimer4;
bool Timers;
bool hasTarget;
@@ -890,7 +890,7 @@ public:
void Initialize()
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
WaveTimer = 2000;
AnnounceTimer = 1000;
@@ -902,7 +902,7 @@ public:
Failed = false;
}
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 WaveTimer;
uint32 AnnounceTimer;
diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp
index fce0608faaf..dac104a8122 100644
--- a/src/server/scripts/Kalimdor/zone_tanaris.cpp
+++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp
@@ -49,7 +49,12 @@ enum Aquementas
AGGRO_YELL_AQUE = 0,
SPELL_AQUA_JET = 13586,
- SPELL_FROST_SHOCK = 15089
+ SPELL_FROST_SHOCK = 15089,
+
+ ITEM_BOOK_OF_AQUOR = 11169,
+ ITEM_SILVERY_CLAWS = 11172,
+ ITEM_IRONTREE_HEART = 11173,
+ ITEM_SILVER_TOTEM = 11522
};
class npc_aquementas : public CreatureScript
@@ -97,15 +102,15 @@ public:
{
Player* player = receiver->ToPlayer();
- if (player && player->HasItemCount(11169, 1, false) &&
- player->HasItemCount(11172, 11, false) &&
- player->HasItemCount(11173, 1, false) &&
- !player->HasItemCount(11522, 1, true))
+ if (player && player->HasItemCount(ITEM_BOOK_OF_AQUOR, 1, false) &&
+ player->HasItemCount(ITEM_SILVERY_CLAWS, 11, false) &&
+ player->HasItemCount(ITEM_IRONTREE_HEART, 1, false) &&
+ !player->HasItemCount(ITEM_SILVER_TOTEM, 1, true))
{
ItemPosCountVec dest;
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 11522, 1, NULL);
if (msg == EQUIP_ERR_OK)
- player->StoreNewItem(dest, 11522, 1, true);
+ player->StoreNewItem(dest, ITEM_SILVER_TOTEM, true);
}
}
@@ -175,7 +180,10 @@ enum CustodianOfTime
WHISPER_CUSTODIAN_11 = 10,
WHISPER_CUSTODIAN_12 = 11,
WHISPER_CUSTODIAN_13 = 12,
- WHISPER_CUSTODIAN_14 = 13
+ WHISPER_CUSTODIAN_14 = 13,
+
+ QUEST_CAVERNS_OF_TIME = 10277,
+ SPELL_QID_10277 = 34883
};
class npc_custodian_of_time : public CreatureScript
@@ -251,9 +259,9 @@ public:
break;
case 24:
Talk(WHISPER_CUSTODIAN_14, player);
- DoCast(player, 34883);
+ DoCast(player, SPELL_QID_10277);
// below here is temporary workaround, to be removed when spell works properly
- player->AreaExploredOrEventHappens(10277);
+ player->AreaExploredOrEventHappens(QUEST_CAVERNS_OF_TIME);
break;
}
}
@@ -546,14 +554,14 @@ public:
PostEventTimer = 1000;
PhasePostEvent = 0;
- TortaGUID = 0;
+ TortaGUID.Clear();
}
uint32 CheckSpeechTimer;
uint32 PostEventTimer;
uint32 PhasePostEvent;
- uint64 TortaGUID;
+ ObjectGuid TortaGUID;
void Reset() override
{
diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
index 03507c77efb..535253222e0 100644
--- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp
@@ -333,14 +333,14 @@ public:
WaveTimer = 600000;
ChallengerChecker = 0;
Wave = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
for (uint8 i = 0; i < 6; ++i)
{
- AffrayChallenger[i] = 0;
+ AffrayChallenger[i].Clear();
ChallengerDown[i] = false;
}
- BigWill = 0;
+ BigWill.Clear();
}
bool EventInProgress;
@@ -350,9 +350,9 @@ public:
uint8 Wave;
uint32 WaveTimer;
uint32 ChallengerChecker;
- uint64 PlayerGUID;
- uint64 AffrayChallenger[6];
- uint64 BigWill;
+ ObjectGuid PlayerGUID;
+ ObjectGuid AffrayChallenger[6];
+ ObjectGuid BigWill;
void Reset() override
{
diff --git a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
index ea4c743b8a5..9596f8a04f6 100644
--- a/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
+++ b/src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
@@ -212,14 +212,14 @@ public:
FaintTimer = urand(30000, 60000);
EndEventProgress = 0;
EndEventTimer = 1000;
- SpraggleGUID = 0;
+ SpraggleGUID.Clear();
}
uint32 FaintTimer;
uint32 EndEventProgress;
uint32 EndEventTimer;
- uint64 SpraggleGUID;
+ ObjectGuid SpraggleGUID;
void Reset() override
{
diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp
index 58d9b115398..ee73d9b27a9 100644
--- a/src/server/scripts/Kalimdor/zone_winterspring.cpp
+++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp
@@ -318,11 +318,6 @@ public:
DialogueHelper(introDialogue)
{
Initialize();
- _firstPriestessGUID = 0;
- _secondPriestessGUID = 0;
- _guardEluneGUID = 0;
- _voiceEluneGUID = 0;
- _altarGUID = 0;
}
void Initialize()
@@ -332,11 +327,11 @@ public:
uint32 _delayTimer;
- uint64 _firstPriestessGUID;
- uint64 _secondPriestessGUID;
- uint64 _guardEluneGUID;
- uint64 _voiceEluneGUID;
- uint64 _altarGUID;
+ ObjectGuid _firstPriestessGUID;
+ ObjectGuid _secondPriestessGUID;
+ ObjectGuid _guardEluneGUID;
+ ObjectGuid _voiceEluneGUID;
+ ObjectGuid _altarGUID;
void Reset() override
{
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 7ae8730d57b..4cb401a6e16 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
@@ -107,8 +107,8 @@ public:
if (!bFirstTime)
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, FAIL);
- instance->SetData64(DATA_PL_JEDOGA_TARGET, 0);
- instance->SetData64(DATA_ADD_JEDOGA_OPFER, 0);
+ instance->SetGuidData(DATA_PL_JEDOGA_TARGET, ObjectGuid::Empty);
+ instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, ObjectGuid::Empty);
instance->SetData(DATA_JEDOGA_RESET_INITIANDS, 0);
MoveUp();
@@ -215,7 +215,7 @@ public:
}
else
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_PL_JEDOGA_TARGET)))
+ if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_PL_JEDOGA_TARGET)))
{
AttackStart(target);
instance->SetData(DATA_JEDOGA_RESET_INITIANDS, 0);
@@ -248,13 +248,14 @@ public:
void OpferRufen()
{
- uint64 opfer = instance->GetData64(DATA_ADD_JEDOGA_INITIAND);
+ ObjectGuid opfer = instance->GetGuidData(DATA_ADD_JEDOGA_INITIAND);
if (opfer)
{
Talk(TEXT_SACRIFICE_1);
- instance->SetData64(DATA_ADD_JEDOGA_OPFER, opfer);
- } else
+ instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, opfer);
+ }
+ else
bCanDown = true;
}
@@ -380,7 +381,7 @@ public:
if (bWalking)
{
- if (Creature* boss = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_JEDOGA_SHADOWSEEKER)))
+ if (Creature* boss = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_JEDOGA_SHADOWSEEKER)))
{
if (!ENSURE_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerok)
ENSURE_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerokFail = true;
@@ -389,12 +390,12 @@ public:
boss->AI()->DoAction(ACTION_INITIAND_KILLED);
}
- instance->SetData64(DATA_ADD_JEDOGA_OPFER, 0);
+ instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, ObjectGuid::Empty);
bWalking = false;
}
if (killer->GetTypeId() == TYPEID_PLAYER)
- instance->SetData64(DATA_PL_JEDOGA_TARGET, killer->GetGUID());
+ instance->SetGuidData(DATA_PL_JEDOGA_TARGET, killer->GetGUID());
}
void EnterCombat(Unit* /*who*/) override
@@ -427,7 +428,7 @@ public:
{
case 1:
{
- Creature* boss = me->GetMap()->GetCreature(instance->GetData64(DATA_JEDOGA_SHADOWSEEKER));
+ Creature* boss = me->GetMap()->GetCreature(instance->GetGuidData(DATA_JEDOGA_SHADOWSEEKER));
if (boss)
{
ENSURE_AI(boss_jedoga_shadowseeker::boss_jedoga_shadowseekerAI, boss->AI())->bOpFerok = true;
@@ -443,7 +444,7 @@ public:
{
if (bCheckTimer <= diff)
{
- if (me->GetGUID() == instance->GetData64(DATA_ADD_JEDOGA_OPFER) && !bWalking)
+ if (me->GetGUID() == instance->GetGuidData(DATA_ADD_JEDOGA_OPFER) && !bWalking)
{
me->RemoveAurasDueToSpell(SPELL_SPHERE_VISUAL);
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, 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 9cc8540342f..cf80f21d290 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -88,16 +88,14 @@ 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
{
_Reset();
- _flameSphereTargetGUID = 0;
- _embraceTargetGUID = 0;
+ _flameSphereTargetGUID.Clear();
+ _embraceTargetGUID.Clear();
_embraceTakenDamage = 0;
}
@@ -194,7 +192,7 @@ class boss_prince_taldaram : public CreatureScript
events.ScheduleEvent(EVENT_FEEDING, 20000);
break;
case EVENT_FEEDING:
- _embraceTargetGUID = 0;
+ _embraceTargetGUID.Clear();
break;
default:
break;
@@ -213,7 +211,7 @@ class boss_prince_taldaram : public CreatureScript
_embraceTakenDamage += damage;
if (_embraceTakenDamage > DUNGEON_MODE<uint32>(DATA_EMBRACE_DMG, H_DATA_EMBRACE_DMG))
{
- _embraceTargetGUID = 0;
+ _embraceTargetGUID.Clear();
me->CastStop();
}
}
@@ -231,7 +229,7 @@ class boss_prince_taldaram : public CreatureScript
return;
if (victim->GetGUID() == _embraceTargetGUID)
- _embraceTargetGUID = 0;
+ _embraceTargetGUID.Clear();
Talk(SAY_SLAY);
}
@@ -263,12 +261,12 @@ class boss_prince_taldaram : public CreatureScript
me->SetDisableGravity(false);
me->GetMotionMaster()->MoveLand(0, me->GetHomePosition());
Talk(SAY_WARNING);
- instance->HandleGameObject(instance->GetData64(DATA_PRINCE_TALDARAM_PLATFORM), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_PRINCE_TALDARAM_PLATFORM), true);
}
private:
- uint64 _flameSphereTargetGUID;
- uint64 _embraceTargetGUID;
+ ObjectGuid _flameSphereTargetGUID;
+ ObjectGuid _embraceTargetGUID;
uint32 _embraceTakenDamage;
};
@@ -288,7 +286,6 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
{
npc_prince_taldaram_flame_sphereAI(Creature* creature) : ScriptedAI(creature)
{
- _flameSphereTargetGUID = 0;
}
void Reset() override
@@ -296,13 +293,13 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
DoCast(me, SPELL_FLAME_SPHERE_SPAWN_EFFECT, true);
DoCast(me, SPELL_FLAME_SPHERE_VISUAL, true);
- _flameSphereTargetGUID = 0;
+ _flameSphereTargetGUID.Clear();
_events.Reset();
_events.ScheduleEvent(EVENT_START_MOVE, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_DESPAWN, 13 * IN_MILLISECONDS);
}
- void SetGUID(uint64 guid, int32 /*id = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 /*id = 0*/) override
{
_flameSphereTargetGUID = guid;
}
@@ -364,7 +361,7 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
private:
EventMap _events;
- uint64 _flameSphereTargetGUID;
+ ObjectGuid _flameSphereTargetGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -385,7 +382,7 @@ class go_prince_taldaram_sphere : public GameObjectScript
if (!instance)
return false;
- Creature* PrinceTaldaram = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_PRINCE_TALDARAM));
+ Creature* PrinceTaldaram = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_PRINCE_TALDARAM));
if (PrinceTaldaram && PrinceTaldaram->IsAlive())
{
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
index 7c9ed240959..0bb2010a9d6 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
@@ -39,21 +39,10 @@ class instance_ahnkahet : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- ElderNadoxGUID = 0;
- PrinceTaldaramGUID = 0;
- JedogaShadowseekerGUID = 0;
- AmanitarGUID = 0;
- HeraldVolazjGUID = 0;
-
- PrinceTaldaramPlatformGUID = 0;
- JedogaSacrifices = 0;
- JedogaTarget = 0;
SwitchTrigger = 0;
SpheresState[0] = 0;
SpheresState[1] = 0;
-
- InitiandGUIDs.clear();
}
void OnCreatureCreate(Creature* creature) override
@@ -90,7 +79,7 @@ class instance_ahnkahet : public InstanceMapScript
case GO_PRINCE_TALDARAM_PLATFORM:
PrinceTaldaramPlatformGUID = go->GetGUID();
if (GetBossState(DATA_PRINCE_TALDARAM) == DONE)
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_SPHERE_1:
if (SpheresState[0])
@@ -142,7 +131,7 @@ class instance_ahnkahet : public InstanceMapScript
SwitchTrigger = data;
break;
case DATA_JEDOGA_RESET_INITIANDS:
- for (uint64 guid : InitiandGUIDs)
+ for (ObjectGuid guid : InitiandGUIDs)
{
if (Creature* creature = instance->GetCreature(guid))
{
@@ -165,7 +154,7 @@ class instance_ahnkahet : public InstanceMapScript
case DATA_SPHERE_2:
return SpheresState[type - DATA_SPHERE_1];
case DATA_ALL_INITIAND_DEAD:
- for (uint64 guid : InitiandGUIDs)
+ for (ObjectGuid guid : InitiandGUIDs)
{
Creature* cr = instance->GetCreature(guid);
if (!cr || cr->IsAlive())
@@ -180,7 +169,7 @@ class instance_ahnkahet : public InstanceMapScript
return 0;
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
switch (type)
{
@@ -195,7 +184,7 @@ class instance_ahnkahet : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -213,16 +202,16 @@ class instance_ahnkahet : public InstanceMapScript
return PrinceTaldaramPlatformGUID;
case DATA_ADD_JEDOGA_INITIAND:
{
- std::vector<uint64> vInitiands;
- vInitiands.clear();
- for (uint64 guid : InitiandGUIDs)
+ GuidVector vInitiands;
+ vInitiands.reserve(InitiandGUIDs.size());
+ for (ObjectGuid guid : InitiandGUIDs)
{
Creature* cr = instance->GetCreature(guid);
if (cr && cr->IsAlive())
vInitiands.push_back(guid);
}
if (vInitiands.empty())
- return 0;
+ return ObjectGuid::Empty;
return Trinity::Containers::SelectRandomContainerElement(vInitiands);
}
@@ -233,7 +222,7 @@ class instance_ahnkahet : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -246,11 +235,9 @@ class instance_ahnkahet : public InstanceMapScript
case DATA_JEDOGA_SHADOWSEEKER:
if (state == DONE)
{
- for (uint64 guid : InitiandGUIDs)
- {
+ for (ObjectGuid guid : InitiandGUIDs)
if (Creature* cr = instance->GetCreature(guid))
cr->DespawnOrUnsummon();
- }
}
break;
default:
@@ -271,17 +258,17 @@ class instance_ahnkahet : public InstanceMapScript
}
protected:
- uint64 ElderNadoxGUID;
- uint64 PrinceTaldaramGUID;
- uint64 JedogaShadowseekerGUID;
- uint64 AmanitarGUID;
- uint64 HeraldVolazjGUID;
+ ObjectGuid ElderNadoxGUID;
+ ObjectGuid PrinceTaldaramGUID;
+ ObjectGuid JedogaShadowseekerGUID;
+ ObjectGuid AmanitarGUID;
+ ObjectGuid HeraldVolazjGUID;
- uint64 PrinceTaldaramPlatformGUID;
- uint64 JedogaSacrifices;
- uint64 JedogaTarget;
+ ObjectGuid PrinceTaldaramPlatformGUID;
+ ObjectGuid JedogaSacrifices;
+ ObjectGuid JedogaTarget;
- std::set<uint64> InitiandGUIDs;
+ GuidSet InitiandGUIDs;
uint32 SpheresState[2];
uint8 SwitchTrigger;
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index 49d0840f08a..1d437fb18a5 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -96,7 +96,6 @@ public:
VenomancerTimer = 0;
DatterTimer = 0;
DelayTimer = 0;
- ImpaleTarget = 0;
}
void Initialize()
@@ -110,6 +109,7 @@ public:
UndergroundPhase = 0;
Channeling = false;
ImpalePhase = IMPALE_PHASE_TARGET;
+ ImpaleTarget.Clear();
}
InstanceScript* instance;
@@ -130,7 +130,7 @@ public:
uint32 ImpaleTimer;
uint32 ImpalePhase;
- uint64 ImpaleTarget;
+ ObjectGuid ImpaleTarget;
SummonList Summons;
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 00aa2120225..bdb060815d2 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
@@ -441,7 +441,7 @@ class npc_watcher_gashra : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ Creature* krikthir = _instance->GetCreature(DATA_KRIKTHIR_THE_GATEWATCHER);
if (krikthir && krikthir->IsAlive())
krikthir->AI()->Talk(SAY_PREFIGHT);
}
@@ -514,7 +514,7 @@ class npc_watcher_narjil : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ Creature* krikthir = _instance->GetCreature(DATA_KRIKTHIR_THE_GATEWATCHER);
if (krikthir && krikthir->IsAlive())
krikthir->AI()->Talk(SAY_PREFIGHT);
}
@@ -591,7 +591,7 @@ class npc_watcher_silthik : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- Creature* krikthir = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KRIKTHIR_THE_GATEWATCHER));
+ Creature* krikthir = _instance->GetCreature(DATA_KRIKTHIR_THE_GATEWATCHER);
if (krikthir && krikthir->IsAlive())
krikthir->AI()->Talk(SAY_PREFIGHT);
}
@@ -645,9 +645,7 @@ class npc_watcher_silthik : public CreatureScript
class achievement_watch_him_die : public AchievementCriteriaScript
{
public:
- achievement_watch_him_die() : AchievementCriteriaScript("achievement_watch_him_die")
- {
- }
+ achievement_watch_him_die() : AchievementCriteriaScript("achievement_watch_him_die") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
@@ -660,7 +658,7 @@ class achievement_watch_him_die : public AchievementCriteriaScript
for (uint8 n = 0; n < 3; ++n)
{
- if (Creature* watcher = ObjectAccessor::GetCreature(*target, instance->GetData64(DATA_WATCHER_GASHRA + n)))
+ if (Creature* watcher = instance->GetCreature(DATA_WATCHER_GASHRA + n))
if (!watcher->IsAlive())
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 1ae68f5a33e..1f474e5ddd5 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
@@ -28,6 +28,15 @@ DoorData const doorData[] =
{ 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
};
+ObjectData const creatureData[] =
+{
+ { NPC_KRIKTHIR, DATA_KRIKTHIR_THE_GATEWATCHER },
+ { NPC_WATCHER_NARJIL, DATA_WATCHER_GASHRA },
+ { NPC_WATCHER_GASHRA, DATA_WATCHER_SILTHIK },
+ { NPC_WATCHER_SILTHIK, DATA_WATCHER_NARJIL },
+ { 0, 0 } // END
+};
+
class instance_azjol_nerub : public InstanceMapScript
{
public:
@@ -40,102 +49,8 @@ class instance_azjol_nerub : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
-
- KrikthirGUID = 0;
- HadronoxGUID = 0;
- AnubarakGUID = 0;
- WatcherGashraGUID = 0;
- WatcherSilthikGUID = 0;
- WatcherNarjilGUID = 0;
- }
-
- void OnCreatureCreate(Creature* creature) override
- {
- switch (creature->GetEntry())
- {
- case NPC_KRIKTHIR:
- KrikthirGUID = creature->GetGUID();
- break;
- case NPC_HADRONOX:
- HadronoxGUID = creature->GetGUID();
- break;
- case NPC_ANUBARAK:
- AnubarakGUID = creature->GetGUID();
- break;
- case NPC_WATCHER_NARJIL:
- WatcherNarjilGUID = creature->GetGUID();
- break;
- case NPC_WATCHER_GASHRA:
- WatcherGashraGUID = creature->GetGUID();
- break;
- case NPC_WATCHER_SILTHIK:
- WatcherSilthikGUID = creature->GetGUID();
- break;
- default:
- break;
- }
- }
-
- void OnGameObjectCreate(GameObject* go) override
- {
- switch (go->GetEntry())
- {
- case GO_KRIKTHIR_DOOR:
- case GO_ANUBARAK_DOOR_1:
- case GO_ANUBARAK_DOOR_2:
- case GO_ANUBARAK_DOOR_3:
- AddDoor(go, true);
- break;
- default:
- break;
- }
+ LoadObjectData(creatureData, nullptr);
}
-
- void OnGameObjectRemove(GameObject* go) override
- {
- switch (go->GetEntry())
- {
- case GO_KRIKTHIR_DOOR:
- case GO_ANUBARAK_DOOR_1:
- case GO_ANUBARAK_DOOR_2:
- case GO_ANUBARAK_DOOR_3:
- AddDoor(go, false);
- break;
- default:
- break;
- }
- }
-
- uint64 GetData64(uint32 type) const override
- {
- switch (type)
- {
- case DATA_KRIKTHIR_THE_GATEWATCHER:
- return KrikthirGUID;
- case DATA_HADRONOX:
- return HadronoxGUID;
- case DATA_ANUBARAK:
- return AnubarakGUID;
- case DATA_WATCHER_GASHRA:
- return WatcherGashraGUID;
- case DATA_WATCHER_SILTHIK:
- return WatcherSilthikGUID;
- case DATA_WATCHER_NARJIL:
- return WatcherNarjilGUID;
- default:
- break;
- }
-
- return 0;
- }
-
- protected:
- uint64 KrikthirGUID;
- uint64 HadronoxGUID;
- uint64 AnubarakGUID;
- uint64 WatcherGashraGUID;
- uint64 WatcherSilthikGUID;
- uint64 WatcherNarjilGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 77ced6acef1..6afb56316b3 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -184,15 +184,15 @@ public:
Talk(SAY_SARTHARION_DEATH);
_JustDied();
- if (Creature* tenebron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TENEBRON)))
+ if (Creature* tenebron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TENEBRON)))
if (tenebron->IsAlive())
tenebron->DisappearAndDie();
- if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
if (shadron->IsAlive())
shadron->DisappearAndDie();
- if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VESPERON)))
+ if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VESPERON)))
if (vesperon->IsAlive())
vesperon->DisappearAndDie();
}
@@ -217,7 +217,7 @@ public:
void DrakeRespawn() // Drakes respawning system
{
- if (Creature* tenebron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TENEBRON)))
+ if (Creature* tenebron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TENEBRON)))
{
tenebron->SetHomePosition(3239.07f, 657.235f, 86.8775f, 4.74729f);
if (tenebron->IsAlive())
@@ -237,7 +237,7 @@ public:
}
}
- if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
{
shadron->SetHomePosition(3363.06f, 525.28f, 98.362f, 4.76475f);
if (shadron->IsAlive())
@@ -257,7 +257,7 @@ public:
}
}
- if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VESPERON)))
+ if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VESPERON)))
{
vesperon->SetHomePosition(3145.68f, 520.71f, 89.7f, 4.64258f);
if (vesperon->IsAlive())
@@ -286,7 +286,7 @@ public:
//if at least one of the dragons are alive and are being called
bool _canUseWill = false;
- if (Creature* fetchTene = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TENEBRON)))
+ if (Creature* fetchTene = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TENEBRON)))
{
if (fetchTene->IsAlive() && !fetchTene->GetVictim())
{
@@ -304,7 +304,7 @@ public:
}
}
- if (Creature* fetchShad = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (Creature* fetchShad = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
{
if (fetchShad->IsAlive() && !fetchShad->GetVictim())
{
@@ -322,7 +322,7 @@ public:
}
}
- if (Creature* fetchVesp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VESPERON)))
+ if (Creature* fetchVesp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VESPERON)))
{
if (fetchVesp && fetchVesp->IsAlive() && !fetchVesp->GetVictim())
{
@@ -346,7 +346,7 @@ public:
void CallDragon(uint32 dataId)
{
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(dataId)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(dataId)))
{
if (temp->IsAlive() && !temp->GetVictim())
{
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 5e4a31d6b5e..9f55ca8dc17 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
@@ -35,10 +35,6 @@ public:
void Initialize() override
{
SetHeaders(DataHeader);
- sartharionGUID = 0;
- tenebronGUID = 0;
- shadronGUID = 0;
- vesperonGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -83,7 +79,7 @@ public:
return true;
}
- uint64 GetData64(uint32 Data) const override
+ ObjectGuid GetGuidData(uint32 Data) const override
{
switch (Data)
{
@@ -96,14 +92,14 @@ public:
case DATA_VESPERON:
return vesperonGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 sartharionGUID;
- uint64 tenebronGUID;
- uint64 shadronGUID;
- uint64 vesperonGUID;
+ ObjectGuid sartharionGUID;
+ ObjectGuid tenebronGUID;
+ ObjectGuid shadronGUID;
+ ObjectGuid vesperonGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
index 58d7c6141b4..f4ef869b0b4 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
@@ -359,7 +359,7 @@ struct dummy_dragonAI : public ScriptedAI
return;
// Twilight Revenge to main boss
- if (Unit* sartharion = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_SARTHARION)))
+ if (Unit* sartharion = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_SARTHARION)))
if (sartharion->IsAlive())
{
sartharion->RemoveAurasDueToSpell(spellId);
@@ -635,12 +635,12 @@ class npc_acolyte_of_shadron : public CreatureScript
//if not solo fight, buff main boss, else place debuff on mini-boss. both spells TARGET_SCRIPT
if (instance->GetBossState(DATA_SARTHARION) == IN_PROGRESS)
{
- if (Creature* sartharion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SARTHARION)))
+ if (Creature* sartharion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SARTHARION)))
sartharion->AddAura(SPELL_GIFT_OF_TWILIGTH_SAR, sartharion);
}
else
{
- if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (Creature* shadron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
shadron->AddAura(SPELL_GIFT_OF_TWILIGTH_SHA, shadron);
}
@@ -649,7 +649,7 @@ class npc_acolyte_of_shadron : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
Map* map = me->GetMap();
@@ -662,7 +662,7 @@ class npc_acolyte_of_shadron : public CreatureScript
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
- if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_SHIFT, 0) && !i->GetSource()->GetVictim())
+ if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_SHIFT) && !i->GetSource()->GetVictim())
{
i->GetSource()->CastSpell(i->GetSource(), SPELL_TWILIGHT_SHIFT_REMOVAL_ALL, true);
i->GetSource()->CastSpell(i->GetSource(), SPELL_TWILIGHT_RESIDUE, true);
@@ -673,12 +673,12 @@ class npc_acolyte_of_shadron : public CreatureScript
}
// not solo fight, so main boss has debuff
- if (Creature* debuffTarget = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SARTHARION)))
+ if (Creature* debuffTarget = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SARTHARION)))
if (debuffTarget->IsAlive() && debuffTarget->HasAura(SPELL_GIFT_OF_TWILIGTH_SAR))
debuffTarget->RemoveAurasDueToSpell(SPELL_GIFT_OF_TWILIGTH_SAR);
// event not in progress, then solo fight and must remove debuff mini-boss
- if (Creature* debuffTarget = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADRON)))
+ if (Creature* debuffTarget = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADRON)))
if (debuffTarget->IsAlive() && debuffTarget->HasAura(SPELL_GIFT_OF_TWILIGTH_SHA))
debuffTarget->RemoveAurasDueToSpell(SPELL_GIFT_OF_TWILIGTH_SHA);
}
@@ -732,7 +732,7 @@ class npc_acolyte_of_vesperon : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_TWILIGHT_TORMENT_VESP_ACO);
// remove twilight torment on Vesperon
- if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VESPERON)))
+ if (Creature* vesperon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VESPERON)))
{
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
@@ -750,14 +750,14 @@ class npc_acolyte_of_vesperon : public CreatureScript
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
- if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_SHIFT, 0) && !i->GetSource()->GetVictim())
+ if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_SHIFT) && !i->GetSource()->GetVictim())
{
i->GetSource()->CastSpell(i->GetSource(), SPELL_TWILIGHT_SHIFT_REMOVAL_ALL, true);
i->GetSource()->CastSpell(i->GetSource(), SPELL_TWILIGHT_RESIDUE, true);
i->GetSource()->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT);
i->GetSource()->RemoveAurasDueToSpell(SPELL_TWILIGHT_SHIFT_ENTER);
}
- if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_TORMENT_VESP, 0) && !i->GetSource()->GetVictim())
+ if (i->GetSource()->IsAlive() && i->GetSource()->HasAura(SPELL_TWILIGHT_TORMENT_VESP) && !i->GetSource()->GetVictim())
i->GetSource()->RemoveAurasDueToSpell(SPELL_TWILIGHT_TORMENT_VESP);
}
}
@@ -836,7 +836,7 @@ public:
if (events.ExecuteEvent() == EVENT_TWILIGHT_EGGS)
{
- if (ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TENEBRON)))
+ if (ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TENEBRON)))
instance->SetBossState(DATA_PORTAL_OPEN, NOT_STARTED);
SpawnWhelps();
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 4e02b3ad2e8..c826b8fc9ef 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
@@ -132,7 +132,7 @@ class boss_baltharus_the_warborn : public CreatureScript
{
_JustDied();
Talk(SAY_DEATH);
- if (Creature* xerestrasza = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_XERESTRASZA)))
+ if (Creature* xerestrasza = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_XERESTRASZA)))
xerestrasza->AI()->DoAction(ACTION_BALTHARUS_DEATH);
}
@@ -190,7 +190,7 @@ class boss_baltharus_the_warborn : public CreatureScript
Talk(SAY_BALTHARUS_INTRO);
break;
case EVENT_OOC_CHANNEL:
- if (Creature* channelTarget = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CRYSTAL_CHANNEL_TARGET)))
+ if (Creature* channelTarget = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CRYSTAL_CHANNEL_TARGET)))
DoCast(channelTarget, SPELL_BARRIER_CHANNEL);
events.ScheduleEvent(EVENT_OOC_CHANNEL, 7000, 0, PHASE_INTRO);
break;
@@ -258,7 +258,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
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)))
+ if (Creature* baltharus = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_BALTHARUS_THE_WARBORN)))
killer->Kill(baltharus);
}
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 e41ea8de38b..f4e36b87f7d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -163,10 +163,10 @@ class boss_general_zarithrian : public CreatureScript
{
case EVENT_SUMMON_ADDS:
{
- if (Creature* stalker1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ZARITHRIAN_SPAWN_STALKER_1)))
+ if (Creature* stalker1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_1)))
stalker1->CastSpell(stalker1, SPELL_SUMMON_FLAMECALLER, false);
- if (Creature* stalker2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ZARITHRIAN_SPAWN_STALKER_2)))
+ if (Creature* stalker2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_2)))
stalker2->CastSpell(stalker2, SPELL_SUMMON_FLAMECALLER, false);
Talk(SAY_ADDS);
@@ -236,7 +236,7 @@ class npc_onyx_flamecaller : public CreatureScript
void IsSummonedBy(Unit* /*summoner*/) override
{
// Let Zarithrian count as summoner.
- if (Creature* zarithrian = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_GENERAL_ZARITHRIAN)))
+ if (Creature* zarithrian = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_GENERAL_ZARITHRIAN)))
zarithrian->AI()->JustSummoned(me);
}
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index 9d44e7d884f..5a1e2adfe06 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -267,7 +267,7 @@ struct generic_halionAI : public BossAI
// Rough radius, it is not an exactly perfect circle
if (me->GetDistance2d(HalionControllerSpawnPos.GetPositionX(), HalionControllerSpawnPos.GetPositionY()) > 48.5f)
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->EnterEvadeMode();
return false;
}
@@ -352,7 +352,7 @@ class boss_halion : public CreatureScript
events.ScheduleEvent(EVENT_METEOR_STRIKE, urand(20000, 25000));
events.ScheduleEvent(EVENT_FIERY_COMBUSTION, urand(15000, 18000));
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->SetData(DATA_FIGHT_PHASE, PHASE_ONE);
}
@@ -363,11 +363,11 @@ class boss_halion : public CreatureScript
Talk(SAY_DEATH);
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
- if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TWILIGHT_HALION)))
+ if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TWILIGHT_HALION)))
if (twilightHalion->IsAlive())
twilightHalion->Kill(twilightHalion);
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
if (controller->IsAlive())
controller->Kill(controller);
}
@@ -385,7 +385,7 @@ class boss_halion : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
DoCast(me, SPELL_TWILIGHT_PHASING);
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->SetData(DATA_FIGHT_PHASE, PHASE_TWO);
return;
}
@@ -396,7 +396,7 @@ class boss_halion : public CreatureScript
if (!me->InSamePhase(attacker))
return;
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->SetData(DATA_MATERIAL_DAMAGE_TAKEN, damage);
}
}
@@ -416,8 +416,8 @@ class boss_halion : public CreatureScript
case EVENT_ACTIVATE_FIREWALL:
// Flame ring is activated 5 seconds after starting encounter, DOOR_TYPE_ROOM is only instant.
for (uint8 i = DATA_FLAME_RING; i <= DATA_TWILIGHT_FLAME_RING; ++i)
- if (GameObject* flameRing = ObjectAccessor::GetGameObject(*me, instance->GetData64(i)))
- instance->HandleGameObject(instance->GetData64(DATA_FLAME_RING), false, flameRing);
+ if (GameObject* flameRing = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(i)))
+ instance->HandleGameObject(instance->GetGuidData(DATA_FLAME_RING), false, flameRing);
break;
case EVENT_METEOR_STRIKE:
{
@@ -476,7 +476,7 @@ class boss_twilight_halion : public CreatureScript
{
boss_twilight_halionAI(Creature* creature) : generic_halionAI(creature, DATA_TWILIGHT_HALION)
{
- Creature* halion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION));
+ Creature* halion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION));
if (!halion)
return;
@@ -516,7 +516,7 @@ class boss_twilight_halion : public CreatureScript
void JustDied(Unit* killer) override
{
- if (Creature* halion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION)))
+ if (Creature* halion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION)))
{
// Ensure looting
if (me->IsDamageEnoughForLootingAndReward())
@@ -526,7 +526,7 @@ class boss_twilight_halion : public CreatureScript
killer->Kill(halion);
}
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
if (controller->IsAlive())
controller->Kill(controller);
@@ -550,7 +550,7 @@ class boss_twilight_halion : public CreatureScript
if (!me->InSamePhase(attacker))
return;
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->SetData(DATA_TWILIGHT_DAMAGE_TAKEN, damage);
}
}
@@ -560,7 +560,7 @@ class boss_twilight_halion : public CreatureScript
switch (spell->Id)
{
case SPELL_TWILIGHT_DIVISION:
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->DoAction(ACTION_MONITOR_CORPOREALITY);
break;
default:
@@ -644,10 +644,10 @@ class npc_halion_controller : public CreatureScript
void JustReachedHome() override
{
- if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TWILIGHT_HALION)))
+ if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_TWILIGHT_HALION)))
twilightHalion->DespawnOrUnsummon();
- if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION)))
+ if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION)))
{
halion->AI()->SetData(DATA_EVADE_METHOD, 1);
halion->AI()->EnterEvadeMode();
@@ -669,7 +669,7 @@ class npc_halion_controller : public CreatureScript
{
for (uint8 itr = DATA_HALION; itr <= DATA_TWILIGHT_HALION; itr++)
{
- Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetData64(itr));
+ Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(itr));
if (!halion)
continue;
@@ -721,14 +721,14 @@ class npc_halion_controller : public CreatureScript
break;
case EVENT_INTRO_PROGRESS_1:
for (uint8 i = DATA_BURNING_TREE_3; i <= DATA_BURNING_TREE_4; ++i)
- if (GameObject* tree = ObjectAccessor::GetGameObject(*me, _instance->GetData64(i)))
- _instance->HandleGameObject(_instance->GetData64(i), true, tree);
+ if (GameObject* tree = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(i)))
+ _instance->HandleGameObject(_instance->GetGuidData(i), true, tree);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_2, 4000);
break;
case EVENT_INTRO_PROGRESS_2:
for (uint8 i = DATA_BURNING_TREE_1; i <= DATA_BURNING_TREE_2; ++i)
- if (GameObject* tree = ObjectAccessor::GetGameObject(*me, _instance->GetData64(i)))
- _instance->HandleGameObject(_instance->GetData64(i), true, tree);
+ if (GameObject* tree = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(i)))
+ _instance->HandleGameObject(_instance->GetGuidData(i), true, tree);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_3, 4000);
break;
case EVENT_INTRO_PROGRESS_3:
@@ -737,20 +737,20 @@ class npc_halion_controller : public CreatureScript
halion->AI()->Talk(SAY_INTRO);
break;
case EVENT_TWILIGHT_MENDING:
- if (ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION))) // Just check if physical Halion is spawned
- if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TWILIGHT_HALION)))
+ if (ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION))) // Just check if physical Halion is spawned
+ if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_TWILIGHT_HALION)))
twilightHalion->CastSpell((Unit*)NULL, SPELL_TWILIGHT_MENDING, true);
break;
case EVENT_TRIGGER_BERSERK:
for (uint8 i = DATA_HALION; i <= DATA_TWILIGHT_HALION; i++)
- if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetData64(i)))
+ if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(i)))
halion->CastSpell(halion, SPELL_BERSERK, true);
break;
case EVENT_SHADOW_PULSARS_SHOOT:
- if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TWILIGHT_HALION)))
+ if (Creature* twilightHalion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_TWILIGHT_HALION)))
twilightHalion->AI()->Talk(SAY_SPHERE_PULSE);
- if (Creature* orbCarrier = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ORB_CARRIER)))
+ if (Creature* orbCarrier = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ORB_CARRIER)))
orbCarrier->AI()->DoAction(ACTION_SHOOT);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS_SHOOT, 29000);
@@ -861,7 +861,7 @@ class npc_halion_controller : public CreatureScript
for (uint8 itr = DATA_HALION; itr <= DATA_TWILIGHT_HALION; itr++)
{
- if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetData64(itr)))
+ if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(itr)))
{
halion->CastSpell(halion, GetSpell(_materialCorporealityValue, itr == DATA_TWILIGHT_HALION), true);
@@ -921,7 +921,7 @@ class npc_orb_carrier : public CreatureScript
/// we are having two creatures involded here. This attribute is handled clientside, meaning the client
/// sends orientation update itself. Here, no packet is sent, and the creature does not rotate. By
/// forcing the carrier to always be facing the rotation focus, we ensure everything works as it should.
- if (Creature* rotationFocus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ORB_ROTATION_FOCUS)))
+ if (Creature* rotationFocus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ORB_ROTATION_FOCUS)))
me->SetFacingToObject(rotationFocus); // setInFront
}
@@ -998,7 +998,7 @@ class npc_meteor_strike_initial : public CreatureScript
return;
// Let Halion Controller count as summoner
- if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
DoCast(me, SPELL_METEOR_STRIKE_COUNTDOWN);
@@ -1067,7 +1067,7 @@ class npc_meteor_strike : public CreatureScript
void IsSummonedBy(Unit* /*summoner*/) override
{
// Let Halion Controller count as summoner.
- if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
}
@@ -1084,7 +1084,7 @@ class npc_meteor_strike : public CreatureScript
if (Creature* flame = me->SummonCreature(NPC_METEOR_STRIKE_FLAME, pos, TEMPSUMMON_TIMED_DESPAWN, 25000))
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(flame);
flame->CastSpell(flame, SPELL_METEOR_STRIKE_FIRE_AURA_2, true);
@@ -1116,7 +1116,7 @@ class npc_combustion_consumption : public CreatureScript
struct npc_combustion_consumptionAI : public ScriptedAI
{
npc_combustion_consumptionAI(Creature* creature) : ScriptedAI(creature),
- _instance(creature->GetInstanceScript()), _summonerGuid(0)
+ _instance(creature->GetInstanceScript())
{
SetCombatMovement(false);
@@ -1145,7 +1145,7 @@ class npc_combustion_consumption : public CreatureScript
void IsSummonedBy(Unit* summoner) override
{
// Let Halion Controller count as summoner
- if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
_summonerGuid = summoner->GetGUID();
@@ -1171,7 +1171,7 @@ class npc_combustion_consumption : public CreatureScript
InstanceScript* _instance;
uint32 _explosionSpell;
uint32 _damageSpell;
- uint64 _summonerGuid;
+ ObjectGuid _summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1195,7 +1195,7 @@ class npc_living_inferno : public CreatureScript
me->CastSpell(me, SPELL_BLAZING_AURA, true);
if (InstanceScript* instance = me->GetInstanceScript())
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
}
@@ -1244,7 +1244,7 @@ class npc_living_ember : public CreatureScript
void IsSummonedBy(Unit* /*summoner*/) override
{
if (InstanceScript* instance = me->GetInstanceScript())
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HALION_CONTROLLER)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HALION_CONTROLLER)))
controller->AI()->JustSummoned(me);
}
@@ -1394,7 +1394,7 @@ class spell_halion_combustion_consumption : public SpellScriptLoader
return;
if (GetTarget()->HasAura(_markSpell))
- GetTarget()->RemoveAurasDueToSpell(_markSpell, 0, 0, AURA_REMOVE_BY_EXPIRE);
+ GetTarget()->RemoveAurasDueToSpell(_markSpell, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1455,7 +1455,7 @@ class spell_halion_marks : public SpellScriptLoader
if (Unit* dispelledUnit = GetUnitOwner())
if (dispelledUnit->HasAura(_removeSpellId))
- dispelledUnit->RemoveAurasDueToSpell(_removeSpellId, 0, 0, AURA_REMOVE_BY_EXPIRE);
+ dispelledUnit->RemoveAurasDueToSpell(_removeSpellId, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1558,7 +1558,7 @@ class spell_halion_twilight_realm_handlers : public SpellScriptLoader
if (!target)
return;
- target->RemoveAurasDueToSpell(_beforeHitSpellId, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
+ target->RemoveAurasDueToSpell(_beforeHitSpellId, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
if (InstanceScript* instance = target->GetInstanceScript())
instance->SendEncounterUnit(ENCOUNTER_FRAME_UNK7);
}
@@ -1654,7 +1654,7 @@ class spell_halion_twilight_cutter : public SpellScriptLoader
return;
Unit* caster = GetCaster();
- if (Unit* channelTarget = ObjectAccessor::GetUnit(*caster, caster->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT)))
+ if (Unit* channelTarget = ObjectAccessor::GetUnit(*caster, caster->GetChannelObjectGuid()))
{
unitList.remove_if(TwilightCutterSelector(caster, channelTarget));
return;
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 be756a8ab36..98aed37a1d2 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
@@ -41,28 +41,12 @@ class instance_ruby_sanctum : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- BaltharusTheWarbornGUID = 0;
- GeneralZarithrianGUID = 0;
- SavianaRagefireGUID = 0;
- HalionGUID = 0;
- TwilightHalionGUID = 0;
- OrbCarrierGUID = 0;
- OrbRotationFocusGUID = 0;
- HalionControllerGUID = 0;
- CrystalChannelTargetGUID = 0;
- XerestraszaGUID = 0;
BaltharusSharedHealth = 0;
- FlameWallsGUID = 0;
- FlameRingGUID = 0;
- TwilightFlameRingGUID = 0;
-
- memset(ZarithrianSpawnStalkerGUID, 0, 2 * sizeof(uint64));
- memset(BurningTreeGUID, 0, 4 * sizeof(uint64));
}
void OnPlayerEnter(Player* /*player*/)
{
- if (!GetData64(DATA_HALION_CONTROLLER) && GetBossState(DATA_HALION) != DONE && GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE)
+ if (!GetGuidData(DATA_HALION_CONTROLLER) && GetBossState(DATA_HALION) != DONE && GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE)
{
instance->LoadGrid(HalionControllerSpawnPos.GetPositionX(), HalionControllerSpawnPos.GetPositionY());
if (Creature* halionController = instance->SummonCreature(NPC_HALION_CONTROLLER, HalionControllerSpawnPos))
@@ -184,7 +168,7 @@ class instance_ruby_sanctum : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -224,7 +208,7 @@ class instance_ruby_sanctum : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -305,21 +289,21 @@ class instance_ruby_sanctum : public InstanceMapScript
}
protected:
- uint64 BaltharusTheWarbornGUID;
- uint64 GeneralZarithrianGUID;
- uint64 SavianaRagefireGUID;
- uint64 HalionGUID;
- uint64 TwilightHalionGUID;
- uint64 HalionControllerGUID;
- uint64 OrbCarrierGUID;
- uint64 OrbRotationFocusGUID;
- uint64 CrystalChannelTargetGUID;
- uint64 XerestraszaGUID;
- uint64 FlameWallsGUID;
- uint64 ZarithrianSpawnStalkerGUID[2];
- uint64 BurningTreeGUID[4];
- uint64 FlameRingGUID;
- uint64 TwilightFlameRingGUID;
+ ObjectGuid BaltharusTheWarbornGUID;
+ ObjectGuid GeneralZarithrianGUID;
+ ObjectGuid SavianaRagefireGUID;
+ ObjectGuid HalionGUID;
+ ObjectGuid TwilightHalionGUID;
+ ObjectGuid HalionControllerGUID;
+ ObjectGuid OrbCarrierGUID;
+ ObjectGuid OrbRotationFocusGUID;
+ ObjectGuid CrystalChannelTargetGUID;
+ ObjectGuid XerestraszaGUID;
+ ObjectGuid FlameWallsGUID;
+ ObjectGuid ZarithrianSpawnStalkerGUID[2];
+ ObjectGuid BurningTreeGUID[4];
+ ObjectGuid FlameRingGUID;
+ ObjectGuid TwilightFlameRingGUID;
uint32 BaltharusSharedHealth;
};
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
index 0d2b98dbd1c..9f088a4cdfa 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
@@ -154,10 +154,10 @@ class at_baltharus_plateau : public AreaTriggerScript
// Only trigger once
if (InstanceScript* instance = player->GetInstanceScript())
{
- if (Creature* xerestrasza = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_XERESTRASZA)))
+ if (Creature* xerestrasza = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_XERESTRASZA)))
xerestrasza->AI()->DoAction(ACTION_INTRO_BALTHARUS);
- if (Creature* baltharus = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_BALTHARUS_THE_WARBORN)))
+ if (Creature* baltharus = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_BALTHARUS_THE_WARBORN)))
baltharus->AI()->DoAction(ACTION_INTRO_BALTHARUS);
}
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 f2d2c3e3d5b..abf57ad68d1 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -269,7 +269,6 @@ public:
Initialize();
instance = creature->GetInstanceScript();
- MemoryGUID = 0;
creature->SetReactState(REACT_PASSIVE);
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
creature->RestoreFaction();
@@ -288,7 +287,7 @@ public:
}
InstanceScript* instance;
- uint64 MemoryGUID;
+ ObjectGuid MemoryGUID;
bool bHealth;
bool bDone;
@@ -584,7 +583,7 @@ public:
break;
}
- Start(false, true, 0);
+ Start(false, true);
uiWaypoint = uiType;
}
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 e342b3bbfb1..60b25a649ca 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -81,7 +81,7 @@ public:
struct boss_black_knightAI : public ScriptedAI
{
- boss_black_knightAI(Creature* creature) : ScriptedAI(creature)
+ boss_black_knightAI(Creature* creature) : ScriptedAI(creature), summons(creature)
{
Initialize();
instance = creature->GetInstanceScript();
@@ -110,7 +110,7 @@ public:
InstanceScript* instance;
- std::list<uint64> SummonList;
+ SummonList summons;
bool bEventInProgress;
bool bEvent;
@@ -132,31 +132,22 @@ public:
void Reset() override
{
- RemoveSummons();
+ summons.DespawnAll();
me->SetDisplayId(me->GetNativeDisplayId());
me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
Initialize();
}
- void RemoveSummons()
+ void JustSummoned(Creature* summon) override
{
- if (SummonList.empty())
- return;
-
- for (std::list<uint64>::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
- {
- if (Creature* temp = ObjectAccessor::GetCreature(*me, *itr))
- if (temp)
- temp->DisappearAndDie();
- }
- SummonList.clear();
+ summons.Summon(summon);
+ summon->AI()->AttackStart(me->GetVictim());
}
- void JustSummoned(Creature* summon) override
+ void SummonedCreatureDespawn(Creature* summon) override
{
- SummonList.push_back(summon->GetGUID());
- summon->AI()->AttackStart(me->GetVictim());
+ summons.Despawn(summon);
}
void UpdateAI(uint32 uiDiff) override
@@ -281,7 +272,7 @@ public:
uiDamage = 0;
me->SetHealth(0);
me->AddUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
- RemoveSummons();
+ summons.DespawnAll();
switch (uiPhase)
{
case PHASE_UNDEAD:
@@ -367,20 +358,16 @@ public:
{
npc_black_knight_skeletal_gryphonAI(Creature* creature) : npc_escortAI(creature)
{
- Start(false, true, 0, NULL);
+ Start(false, true);
}
- void WaypointReached(uint32 /*waypointId*/) override
- {
-
- }
+ void WaypointReached(uint32 /*waypointId*/) override { }
void UpdateAI(uint32 uiDiff) override
{
npc_escortAI::UpdateAI(uiDiff);
- if (!UpdateVictim())
- return;
+ UpdateVictim();
}
};
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 027238be6d3..7e83c24e0dd 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -126,9 +126,9 @@ bool GrandChampionsOutVehicle(Creature* me)
if (!instance)
return false;
- Creature* pGrandChampion1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GRAND_CHAMPION_1));
- Creature* pGrandChampion2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GRAND_CHAMPION_2));
- Creature* pGrandChampion3 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GRAND_CHAMPION_3));
+ Creature* pGrandChampion1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GRAND_CHAMPION_1));
+ Creature* pGrandChampion2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GRAND_CHAMPION_2));
+ Creature* pGrandChampion3 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GRAND_CHAMPION_3));
if (pGrandChampion1 && pGrandChampion2 && pGrandChampion3)
{
@@ -208,7 +208,7 @@ public:
}
if (uiType <= 3)
- Start(false, true, 0, NULL);
+ Start(false, true);
}
void WaypointReached(uint32 waypointId) override
@@ -375,11 +375,11 @@ public:
{
bDone = true;
- if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_1))
+ if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_1))
me->SetHomePosition(739.678f, 662.541f, 412.393f, 4.49f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_2))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_2))
me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_3))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_3))
me->SetHomePosition(754.34f, 660.70f, 412.39f, 4.79f);
EnterEvadeMode();
@@ -514,11 +514,11 @@ public:
{
bDone = true;
- if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_1))
+ if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_1))
me->SetHomePosition(739.678f, 662.541f, 412.393f, 4.49f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_2))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_2))
me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_3))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_3))
me->SetHomePosition(754.34f, 660.70f, 412.39f, 4.79f);
instance->SetData(BOSS_GRAND_CHAMPIONS, IN_PROGRESS);
@@ -663,11 +663,11 @@ public:
{
bDone = true;
- if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_1))
+ if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_1))
me->SetHomePosition(739.678f, 662.541f, 412.393f, 4.49f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_2))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_2))
me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_3))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_3))
me->SetHomePosition(754.34f, 660.70f, 412.39f, 4.79f);
instance->SetData(BOSS_GRAND_CHAMPIONS, IN_PROGRESS);
@@ -769,7 +769,7 @@ public:
uiMultiShotTimer = 0;
uiLightningArrowsTimer = 7000;
- uiTargetGUID = 0;
+ uiTargetGUID.Clear();
bShoot = false;
}
@@ -783,7 +783,7 @@ public:
uint32 uiMultiShotTimer;
uint32 uiLightningArrowsTimer;
- uint64 uiTargetGUID;
+ ObjectGuid uiTargetGUID;
bool bShoot;
bool bDone;
@@ -813,11 +813,11 @@ public:
{
bDone = true;
- if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_1))
+ if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_1))
me->SetHomePosition(739.678f, 662.541f, 412.393f, 4.49f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_2))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_2))
me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_3))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_3))
me->SetHomePosition(754.34f, 660.70f, 412.39f, 4.79f);
instance->SetData(BOSS_GRAND_CHAMPIONS, IN_PROGRESS);
@@ -965,11 +965,11 @@ public:
{
bDone = true;
- if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_1))
+ if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_1))
me->SetHomePosition(739.678f, 662.541f, 412.393f, 4.49f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_2))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_2))
me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f);
- else if (me->GetGUID() == instance->GetData64(DATA_GRAND_CHAMPION_3))
+ else if (me->GetGUID() == instance->GetGuidData(DATA_GRAND_CHAMPION_3))
me->SetHomePosition(754.34f, 660.70f, 412.39f, 4.79f);
instance->SetData(BOSS_GRAND_CHAMPIONS, IN_PROGRESS);
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 021947db0f7..94bf20bc41f 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
@@ -49,18 +49,18 @@ public:
uint16 uiGrandChampionsDeaths;
uint8 uiArgentSoldierDeaths;
- uint64 uiAnnouncerGUID;
- uint64 uiMainGateGUID;
- uint64 uiGrandChampionVehicle1GUID;
- uint64 uiGrandChampionVehicle2GUID;
- uint64 uiGrandChampionVehicle3GUID;
- uint64 uiGrandChampion1GUID;
- uint64 uiGrandChampion2GUID;
- uint64 uiGrandChampion3GUID;
- uint64 uiChampionLootGUID;
- uint64 uiArgentChampionGUID;
-
- std::list<uint64> VehicleList;
+ ObjectGuid uiAnnouncerGUID;
+ ObjectGuid uiMainGateGUID;
+ ObjectGuid uiGrandChampionVehicle1GUID;
+ ObjectGuid uiGrandChampionVehicle2GUID;
+ ObjectGuid uiGrandChampionVehicle3GUID;
+ ObjectGuid uiGrandChampion1GUID;
+ ObjectGuid uiGrandChampion2GUID;
+ ObjectGuid uiGrandChampion3GUID;
+ ObjectGuid uiChampionLootGUID;
+ ObjectGuid uiArgentChampionGUID;
+
+ GuidList VehicleList;
std::string str_data;
@@ -73,21 +73,8 @@ public:
uiGrandChampionsDeaths = 0;
uiArgentSoldierDeaths = 0;
- uiAnnouncerGUID = 0;
- uiMainGateGUID = 0;
- uiGrandChampionVehicle1GUID = 0;
- uiGrandChampionVehicle2GUID = 0;
- uiGrandChampionVehicle3GUID = 0;
- uiGrandChampion1GUID = 0;
- uiGrandChampion2GUID = 0;
- uiGrandChampion3GUID = 0;
- uiChampionLootGUID = 0;
- uiArgentChampionGUID = 0;
-
bDone = false;
- VehicleList.clear();
-
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
}
@@ -183,7 +170,7 @@ public:
m_auiEncounter[0] = uiData;
if (uiData == IN_PROGRESS)
{
- for (std::list<uint64>::const_iterator itr = VehicleList.begin(); itr != VehicleList.end(); ++itr)
+ for (GuidList::const_iterator itr = VehicleList.begin(); itr != VehicleList.end(); ++itr)
if (Creature* summon = instance->GetCreature(*itr))
summon->RemoveFromWorld();
}else if (uiData == DONE)
@@ -252,7 +239,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 uiData) const override
+ ObjectGuid GetGuidData(uint32 uiData) const override
{
switch (uiData)
{
@@ -264,10 +251,10 @@ public:
case DATA_GRAND_CHAMPION_3: return uiGrandChampion3GUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
- void SetData64(uint32 uiType, uint64 uiData) override
+ void SetGuidData(uint32 uiType, ObjectGuid uiData) override
{
switch (uiType)
{
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 f601f06e16c..a66096ae615 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
@@ -80,14 +80,6 @@ public:
uiPhase = 0;
uiTimer = 0;
- uiVehicle1GUID = 0;
- uiVehicle2GUID = 0;
- uiVehicle3GUID = 0;
-
- Champion1List.clear();
- Champion2List.clear();
- Champion3List.clear();
-
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -111,13 +103,13 @@ public:
uint32 uiPhase;
uint32 uiTimer;
- uint64 uiVehicle1GUID;
- uint64 uiVehicle2GUID;
- uint64 uiVehicle3GUID;
+ ObjectGuid uiVehicle1GUID;
+ ObjectGuid uiVehicle2GUID;
+ ObjectGuid uiVehicle3GUID;
- std::list<uint64> Champion1List;
- std::list<uint64> Champion2List;
- std::list<uint64> Champion3List;
+ GuidList Champion1List;
+ GuidList Champion2List;
+ GuidList Champion3List;
void NextStep(uint32 uiTimerStep, bool bNextStep = true, uint8 uiPhaseStep = 0)
{
@@ -138,14 +130,14 @@ public:
break;
case DATA_IN_POSITION: //movement done.
me->GetMotionMaster()->MovePoint(1, 735.81f, 661.92f, 412.39f);
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MAIN_GATE)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MAIN_GATE)))
instance->HandleGameObject(go->GetGUID(), false);
NextStep(10000, false, 3);
break;
case DATA_LESSER_CHAMPIONS_DEFEATED:
{
++uiLesserChampions;
- std::list<uint64> TempList;
+ GuidList TempList;
if (uiLesserChampions == 3 || uiLesserChampions == 6)
{
switch (uiLesserChampions)
@@ -158,7 +150,7 @@ public:
break;
}
- for (std::list<uint64>::const_iterator itr = TempList.begin(); itr != TempList.end(); ++itr)
+ for (GuidList::const_iterator itr = TempList.begin(); itr != TempList.end(); ++itr)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
AggroAllPlayers(summon);
}else if (uiLesserChampions == 9)
@@ -230,36 +222,36 @@ public:
case 1:
{
uiVehicle1GUID = pBoss->GetGUID();
- uint64 uiGrandChampionBoss1 = 0;
+ ObjectGuid uiGrandChampionBoss1;
if (Vehicle* pVehicle = pBoss->GetVehicleKit())
if (Unit* unit = pVehicle->GetPassenger(0))
uiGrandChampionBoss1 = unit->GetGUID();
- instance->SetData64(DATA_GRAND_CHAMPION_VEHICLE_1, uiVehicle1GUID);
- instance->SetData64(DATA_GRAND_CHAMPION_1, uiGrandChampionBoss1);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_VEHICLE_1, uiVehicle1GUID);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_1, uiGrandChampionBoss1);
pBoss->AI()->SetData(1, 0);
break;
}
case 2:
{
uiVehicle2GUID = pBoss->GetGUID();
- uint64 uiGrandChampionBoss2 = 0;
+ ObjectGuid uiGrandChampionBoss2;
if (Vehicle* pVehicle = pBoss->GetVehicleKit())
if (Unit* unit = pVehicle->GetPassenger(0))
uiGrandChampionBoss2 = unit->GetGUID();
- instance->SetData64(DATA_GRAND_CHAMPION_VEHICLE_2, uiVehicle2GUID);
- instance->SetData64(DATA_GRAND_CHAMPION_2, uiGrandChampionBoss2);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_VEHICLE_2, uiVehicle2GUID);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_2, uiGrandChampionBoss2);
pBoss->AI()->SetData(2, 0);
break;
}
case 3:
{
uiVehicle3GUID = pBoss->GetGUID();
- uint64 uiGrandChampionBoss3 = 0;
+ ObjectGuid uiGrandChampionBoss3;
if (Vehicle* pVehicle = pBoss->GetVehicleKit())
if (Unit* unit = pVehicle->GetPassenger(0))
uiGrandChampionBoss3 = unit->GetGUID();
- instance->SetData64(DATA_GRAND_CHAMPION_VEHICLE_3, uiVehicle3GUID);
- instance->SetData64(DATA_GRAND_CHAMPION_3, uiGrandChampionBoss3);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_VEHICLE_3, uiVehicle3GUID);
+ instance->SetGuidData(DATA_GRAND_CHAMPION_3, uiGrandChampionBoss3);
pBoss->AI()->SetData(3, 0);
break;
}
@@ -414,7 +406,7 @@ public:
case 3:
if (!Champion1List.empty())
{
- for (std::list<uint64>::const_iterator itr = Champion1List.begin(); itr != Champion1List.end(); ++itr)
+ for (GuidList::const_iterator itr = Champion1List.begin(); itr != Champion1List.end(); ++itr)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr))
AggroAllPlayers(summon);
NextStep(0, false);
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 2f29e03a2f2..d5bd2bcae7e 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -196,7 +196,7 @@ class boss_anubarak_trial : public CreatureScript
std::list<Creature*> FrostSphereList;
me->GetCreatureListWithEntryInGrid(FrostSphereList, NPC_FROST_SPHERE, 150.0f);
if (!FrostSphereList.empty())
- for (std::list<Creature*>::iterator itr = FrostSphereList.begin(); itr != FrostSphereList.end(); itr++)
+ for (std::list<Creature*>::iterator itr = FrostSphereList.begin(); itr != FrostSphereList.end(); ++itr)
(*itr)->DespawnOrUnsummon();
_burrowGUID.clear();
@@ -243,7 +243,7 @@ class boss_anubarak_trial : public CreatureScript
me->GetCreatureListWithEntryInGrid(AddList, NPC_FROST_SPHERE, 150.0f);
me->GetCreatureListWithEntryInGrid(AddList, NPC_BURROWER, 150.0f);
if (!AddList.empty())
- for (std::list<Creature*>::iterator itr = AddList.begin(); itr != AddList.end(); itr++)
+ for (std::list<Creature*>::iterator itr = AddList.begin(); itr != AddList.end(); ++itr)
(*itr)->DespawnOrUnsummon();
}
@@ -346,7 +346,7 @@ class boss_anubarak_trial : public CreatureScript
/* WORKAROUND
* - The correct implementation is more likely the comment below but it needs spell knowledge
*/
- std::list<uint64>::iterator i = _burrowGUID.begin();
+ GuidList::iterator i = _burrowGUID.begin();
uint32 at = urand(0, _burrowGUID.size()-1);
for (uint32 k = 0; k < at; k++)
++i;
@@ -421,8 +421,8 @@ class boss_anubarak_trial : public CreatureScript
}
private:
- std::list<uint64> _burrowGUID;
- uint64 _sphereGUID[6];
+ GuidList _burrowGUID;
+ ObjectGuid _sphereGUID[6];
bool _intro;
bool _reachedPhase3;
};
@@ -458,7 +458,7 @@ class npc_swarm_scarab : public CreatureScript
DoCast(me, SPELL_ACID_MANDIBLE);
me->SetInCombatWithZone();
if (me->IsInCombat())
- if (Creature* Anubarak = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_ANUBARAK)))
+ if (Creature* Anubarak = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_ANUBARAK)))
Anubarak->AI()->JustSummoned(me);
}
@@ -538,7 +538,7 @@ class npc_nerubian_burrower : public CreatureScript
DoCast(me, SPELL_AWAKENED);
me->SetInCombatWithZone();
if (me->IsInCombat())
- if (Creature* Anubarak = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_ANUBARAK)))
+ if (Creature* Anubarak = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_ANUBARAK)))
Anubarak->AI()->JustSummoned(me);
}
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 3d59f24b6dd..562e67f4b6a 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -483,7 +483,7 @@ class boss_toc_champion_controller : public CreatureScript
SummonChampions((Team)uiData);
break;
case 1:
- for (std::list<uint64>::iterator i = _summons.begin(); i != _summons.end(); ++i)
+ for (SummonList::iterator i = _summons.begin(); i != _summons.end(); ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, *i))
{
@@ -565,7 +565,7 @@ struct boss_faction_championsAI : public BossAI
void JustReachedHome() override
{
- if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
+ if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetGuidData(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(2, FAIL);
me->DespawnOrUnsummon();
}
@@ -615,7 +615,7 @@ struct boss_faction_championsAI : public BossAI
void JustDied(Unit* /*killer*/) override
{
if (_aiType != AI_PET)
- if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
+ if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetGuidData(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(2, DONE);
}
@@ -623,7 +623,7 @@ struct boss_faction_championsAI : public BossAI
{
DoCast(me, SPELL_ANTI_AOE, true);
_EnterCombat();
- if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
+ if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), instance->GetGuidData(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(2, IN_PROGRESS);
}
@@ -640,11 +640,11 @@ struct boss_faction_championsAI : public BossAI
if (TeamInInstance == ALLIANCE)
{
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_VARIAN)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_VARIAN)))
temp->AI()->Talk(SAY_KILL_PLAYER);
}
else
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_GARROSH)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_GARROSH)))
temp->AI()->Talk(SAY_KILL_PLAYER);
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 f4112b7a43b..771151632ff 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
@@ -171,7 +171,7 @@ class boss_gormok : public CreatureScript
void EnterEvadeMode() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
ScriptedAI::EnterEvadeMode();
}
@@ -183,7 +183,7 @@ class boss_gormok : public CreatureScript
switch (pointId)
{
case 0:
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetInCombatWithZone();
@@ -200,7 +200,7 @@ class boss_gormok : public CreatureScript
void JustReachedHome() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
instance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
me->DespawnOrUnsummon();
@@ -294,7 +294,6 @@ 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);
@@ -305,7 +304,7 @@ class npc_snobold_vassal : public CreatureScript
_events.ScheduleEvent(EVENT_BATTER, 5*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEAD_CRACK, 25*IN_MILLISECONDS);
- _targetGUID = 0;
+ _targetGUID.Clear();
_targetDied = false;
//Workaround for Snobold
@@ -378,7 +377,7 @@ class npc_snobold_vassal : public CreatureScript
{
if (!target->IsAlive())
{
- Unit* gormok = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_GORMOK));
+ Unit* gormok = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_GORMOK));
if (gormok && gormok->IsAlive())
{
SetCombatMovement(false);
@@ -442,7 +441,7 @@ class npc_snobold_vassal : public CreatureScript
private:
EventMap _events;
InstanceScript* _instance;
- uint64 _targetGUID;
+ ObjectGuid _targetGUID;
bool _targetDied;
};
@@ -520,7 +519,7 @@ struct boss_jormungarAI : public BossAI
void JustDied(Unit* /*killer*/) override
{
- if (Creature* otherWorm = ObjectAccessor::GetCreature(*me, instance->GetData64(OtherWormEntry)))
+ if (Creature* otherWorm = ObjectAccessor::GetCreature(*me, instance->GetGuidData(OtherWormEntry)))
{
if (!otherWorm->IsAlive())
{
@@ -753,7 +752,7 @@ class boss_dreadscale : public CreatureScript
switch (pointId)
{
case 0:
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetInCombatWithZone();
@@ -765,13 +764,13 @@ class boss_dreadscale : public CreatureScript
void EnterEvadeMode() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
boss_jormungarAI::EnterEvadeMode();
}
void JustReachedHome() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
boss_jormungarAI::JustReachedHome();
}
@@ -877,7 +876,7 @@ class boss_icehowl : public CreatureScript
_movementStarted = false;
_movementFinish = false;
_trampleCast = false;
- _trampleTargetGUID = 0;
+ _trampleTargetGUID.Clear();
_trampleTargetX = 0;
_trampleTargetY = 0;
_trampleTargetZ = 0;
@@ -926,7 +925,7 @@ class boss_icehowl : public CreatureScript
_movementFinish = true;
break;
case 2:
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetInCombatWithZone();
@@ -938,13 +937,13 @@ class boss_icehowl : public CreatureScript
void EnterEvadeMode() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
ScriptedAI::EnterEvadeMode();
}
void JustReachedHome() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
instance->SetData(TYPE_NORTHREND_BEASTS, FAIL);
me->DespawnOrUnsummon();
}
@@ -1077,7 +1076,7 @@ class boss_icehowl : public CreatureScript
if (Player* target = ObjectAccessor::GetPlayer(*me, _trampleTargetGUID))
Talk(EMOTE_TRAMPLE_START, target);
me->GetMotionMaster()->MoveCharge(_trampleTargetX, _trampleTargetY, _trampleTargetZ, 42, 1);
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
_stage = 5;
break;
case 5:
@@ -1134,7 +1133,7 @@ class boss_icehowl : public CreatureScript
private:
float _trampleTargetX, _trampleTargetY, _trampleTargetZ;
- uint64 _trampleTargetGUID;
+ ObjectGuid _trampleTargetGUID;
bool _movementStarted;
bool _movementFinish;
bool _trampleCast;
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 1118c1ec27b..a645f3ca666 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -267,7 +267,7 @@ struct boss_twin_baseAI : public BossAI
// Called when sister pointer needed
Creature* GetSister()
{
- return ObjectAccessor::GetCreature((*me), instance->GetData64(SisterNpcId));
+ return ObjectAccessor::GetCreature((*me), instance->GetGuidData(SisterNpcId));
}
void EnterCombat(Unit* /*who*/) override
@@ -447,13 +447,13 @@ class boss_fjola : public CreatureScript
void EnterEvadeMode() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
boss_twin_baseAI::EnterEvadeMode();
}
void JustReachedHome() override
{
- instance->DoUseDoorOrButton(instance->GetData64(GO_MAIN_GATE_DOOR));
+ instance->DoUseDoorOrButton(instance->GetGuidData(GO_MAIN_GATE_DOOR));
boss_twin_baseAI::JustReachedHome();
}
@@ -864,7 +864,7 @@ class spell_power_of_the_twins : public SpellScriptLoader
{
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
{
- if (Creature* Valk = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(GetCaster()->GetEntry())))
+ if (Creature* Valk = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(GetCaster()->GetEntry())))
ENSURE_AI(boss_twin_baseAI, Valk->AI())->EnableDualWield(true);
}
}
@@ -873,7 +873,7 @@ class spell_power_of_the_twins : public SpellScriptLoader
{
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
{
- if (Creature* Valk = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(GetCaster()->GetEntry())))
+ if (Creature* Valk = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(GetCaster()->GetEntry())))
ENSURE_AI(boss_twin_baseAI, Valk->AI())->EnableDualWield(false);
}
}
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 949ee652d81..30d831da30c 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
@@ -45,29 +45,6 @@ class instance_trial_of_the_crusader : public InstanceMapScript
MistressOfPainCount = 0;
TributeToImmortalityEligible = true;
NeedSave = false;
-
- TirionFordringGUID = 0;
- BarrentGUID = 0;
- TirionGUID = 0;
- FizzlebangGUID = 0;
- GarroshGUID = 0;
- VarianGUID = 0;
- GormokGUID = 0;
- AcidmawGUID = 0;
- DreadscaleGUID = 0;
- IcehowlGUID = 0;
- JaraxxusGUID = 0;
- ChampionsControllerGUID = 0;
- DarkbaneGUID = 0;
- LightbaneGUID = 0;
- AnubarakGUID = 0;
-
- TributeChestGUID = 0;
- MainGateDoorGUID = 0;
- EastPortcullisGUID = 0;
- WebDoorGUID = 0;
- CrusadersCacheGUID = 0;
- FloorGUID = 0;
}
bool IsEncounterInProgress() const override
@@ -96,15 +73,15 @@ class instance_trial_of_the_crusader : public InstanceMapScript
// make sure Anub'arak isnt missing and floor is destroyed after a crash
if (GetBossState(BOSS_LICH_KING) == DONE && TrialCounter && GetBossState(BOSS_ANUBARAK) != DONE)
{
- if (Creature* anubArak = ObjectAccessor::GetCreature(*player, GetData64(NPC_ANUBARAK)))
+ if (Creature* anubArak = ObjectAccessor::GetCreature(*player, GetGuidData(NPC_ANUBARAK)))
anubArak = player->SummonCreature(NPC_ANUBARAK, AnubarakLoc[0].GetPositionX(), AnubarakLoc[0].GetPositionY(), AnubarakLoc[0].GetPositionZ(), 3, TEMPSUMMON_CORPSE_TIMED_DESPAWN, DESPAWN_TIME);
- if (GameObject* floor = ObjectAccessor::GetGameObject(*player, GetData64(GO_ARGENT_COLISEUM_FLOOR)))
+ if (GameObject* floor = ObjectAccessor::GetGameObject(*player, GetGuidData(GO_ARGENT_COLISEUM_FLOOR)))
floor->SetDestructibleState(GO_DESTRUCTIBLE_DAMAGED);
}
}
- void OpenDoor(uint64 guid)
+ void OpenDoor(ObjectGuid guid)
{
if (!guid)
return;
@@ -113,7 +90,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
go->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
}
- void CloseDoor(uint64 guid)
+ void CloseDoor(ObjectGuid guid)
{
if (!guid)
return;
@@ -173,6 +150,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
break;
case NPC_ANUBARAK:
AnubarakGUID = creature->GetGUID();
+ creature->SetRespawnDelay(7 * DAY);
break;
default:
break;
@@ -355,13 +333,13 @@ class instance_trial_of_the_crusader : public InstanceMapScript
if (IsEncounterInProgress())
{
- CloseDoor(GetData64(GO_EAST_PORTCULLIS));
- CloseDoor(GetData64(GO_WEB_DOOR));
+ CloseDoor(GetGuidData(GO_EAST_PORTCULLIS));
+ CloseDoor(GetGuidData(GO_WEB_DOOR));
}
else
{
- OpenDoor(GetData64(GO_EAST_PORTCULLIS));
- OpenDoor(GetData64(GO_WEB_DOOR));
+ OpenDoor(GetGuidData(GO_EAST_PORTCULLIS));
+ OpenDoor(GetGuidData(GO_WEB_DOOR));
}
if (type < MAX_ENCOUNTERS)
@@ -381,10 +359,10 @@ class instance_trial_of_the_crusader : public InstanceMapScript
// if theres no more attemps allowed
if (!TrialCounter)
{
- if (Unit* announcer = instance->GetCreature(GetData64(NPC_BARRENT)))
+ if (Unit* announcer = instance->GetCreature(GetGuidData(NPC_BARRENT)))
announcer->ToCreature()->DespawnOrUnsummon();
- if (Creature* anubArak = instance->GetCreature(GetData64(NPC_ANUBARAK)))
+ if (Creature* anubArak = instance->GetCreature(GetGuidData(NPC_ANUBARAK)))
anubArak->DespawnOrUnsummon();
}
}
@@ -395,7 +373,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
if (state == DONE || NeedSave)
{
- if (Unit* announcer = instance->GetCreature(GetData64(NPC_BARRENT)))
+ if (Unit* announcer = instance->GetCreature(GetGuidData(NPC_BARRENT)))
announcer->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
Save();
}
@@ -472,7 +450,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -520,7 +498,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
uint32 GetData(uint32 type) const override
@@ -742,29 +720,29 @@ class instance_trial_of_the_crusader : public InstanceMapScript
bool NeedSave;
std::string SaveDataBuffer;
- uint64 BarrentGUID;
- uint64 TirionGUID;
- uint64 TirionFordringGUID;
- uint64 FizzlebangGUID;
- uint64 GarroshGUID;
- uint64 VarianGUID;
-
- uint64 GormokGUID;
- uint64 AcidmawGUID;
- uint64 DreadscaleGUID;
- uint64 IcehowlGUID;
- uint64 JaraxxusGUID;
- uint64 ChampionsControllerGUID;
- uint64 DarkbaneGUID;
- uint64 LightbaneGUID;
- uint64 AnubarakGUID;
-
- uint64 CrusadersCacheGUID;
- uint64 FloorGUID;
- uint64 TributeChestGUID;
- uint64 MainGateDoorGUID;
- uint64 EastPortcullisGUID;
- uint64 WebDoorGUID;
+ ObjectGuid BarrentGUID;
+ ObjectGuid TirionGUID;
+ ObjectGuid TirionFordringGUID;
+ ObjectGuid FizzlebangGUID;
+ ObjectGuid GarroshGUID;
+ ObjectGuid VarianGUID;
+
+ ObjectGuid GormokGUID;
+ ObjectGuid AcidmawGUID;
+ ObjectGuid DreadscaleGUID;
+ ObjectGuid IcehowlGUID;
+ ObjectGuid JaraxxusGUID;
+ ObjectGuid ChampionsControllerGUID;
+ ObjectGuid DarkbaneGUID;
+ ObjectGuid LightbaneGUID;
+ ObjectGuid AnubarakGUID;
+
+ ObjectGuid CrusadersCacheGUID;
+ ObjectGuid FloorGUID;
+ ObjectGuid TributeChestGUID;
+ ObjectGuid MainGateDoorGUID;
+ ObjectGuid EastPortcullisGUID;
+ ObjectGuid WebDoorGUID;
// Achievement stuff
uint32 NotOneButTwoJormungarsTimer;
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 b068b458073..d8ec322c57c 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
@@ -173,7 +173,7 @@ class npc_announcer_toc10 : public CreatureScript
else if (instance->GetBossState(BOSS_JARAXXUS) != DONE)
{
// if Jaraxxus is spawned, but the raid wiped
- if (Creature* jaraxxus = ObjectAccessor::GetCreature(*player, instance->GetData64(NPC_JARAXXUS)))
+ if (Creature* jaraxxus = ObjectAccessor::GetCreature(*player, instance->GetGuidData(NPC_JARAXXUS)))
{
jaraxxus->RemoveAurasDueToSpell(SPELL_JARAXXUS_CHAINS);
jaraxxus->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -201,13 +201,13 @@ class npc_announcer_toc10 : public CreatureScript
}
else if (instance->GetBossState(BOSS_LICH_KING) != DONE)
{
- if (GameObject* floor = ObjectAccessor::GetGameObject(*player, instance->GetData64(GO_ARGENT_COLISEUM_FLOOR)))
+ if (GameObject* floor = ObjectAccessor::GetGameObject(*player, instance->GetGuidData(GO_ARGENT_COLISEUM_FLOOR)))
floor->SetDestructibleState(GO_DESTRUCTIBLE_DAMAGED);
creature->CastSpell(creature, SPELL_CORPSE_TELEPORT, false);
creature->CastSpell(creature, SPELL_DESTROY_FLOOR_KNOCKUP, false);
- Creature* anubArak = ObjectAccessor::GetCreature(*creature, instance->GetData64(NPC_ANUBARAK));
+ Creature* anubArak = ObjectAccessor::GetCreature(*creature, instance->GetGuidData(NPC_ANUBARAK));
if (!anubArak || !anubArak->IsAlive())
anubArak = creature->SummonCreature(NPC_ANUBARAK, AnubarakLoc[0].GetPositionX(), AnubarakLoc[0].GetPositionY(), AnubarakLoc[0].GetPositionZ(), 3, TEMPSUMMON_CORPSE_TIMED_DESPAWN, DESPAWN_TIME);
@@ -318,7 +318,7 @@ class boss_lich_king_toc : public CreatureScript
break;
case 5080:
{
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, _instance->GetData64(GO_ARGENT_COLISEUM_FLOOR)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_ARGENT_COLISEUM_FLOOR)))
{
go->SetDisplayId(DISPLAYID_DESTROYED_FLOOR);
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED | GO_FLAG_NODESPAWN);
@@ -329,7 +329,7 @@ class boss_lich_king_toc : public CreatureScript
me->CastSpell(me, SPELL_DESTROY_FLOOR_KNOCKUP, false);
_instance->SetBossState(BOSS_LICH_KING, DONE);
- Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_ANUBARAK));
+ Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_ANUBARAK));
if (!temp || !temp->IsAlive())
temp = me->SummonCreature(NPC_ANUBARAK, AnubarakLoc[0].GetPositionX(), AnubarakLoc[0].GetPositionY(), AnubarakLoc[0].GetPositionZ(), 3, TEMPSUMMON_CORPSE_TIMED_DESPAWN, DESPAWN_TIME);
@@ -368,21 +368,14 @@ class npc_fizzlebang_toc : public CreatureScript
{
npc_fizzlebang_tocAI(Creature* creature) : ScriptedAI(creature), _summons(me)
{
- Initialize();
_instance = me->GetInstanceScript();
- _triggerGUID = 0;
- }
-
- void Initialize()
- {
- _portalGUID = 0;
}
void JustDied(Unit* killer) override
{
Talk(SAY_STAGE_1_06, killer);
_instance->SetData(TYPE_EVENT, 1180);
- if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_JARAXXUS)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_JARAXXUS)))
{
temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
temp->SetReactState(REACT_AGGRESSIVE);
@@ -392,8 +385,8 @@ class npc_fizzlebang_toc : public CreatureScript
void Reset() override
{
+ _portalGUID.Clear();
me->SetWalk(true);
- Initialize();
me->GetMotionMaster()->MovePoint(1, ToCCommonLoc[10].GetPositionX(), ToCCommonLoc[10].GetPositionY()-60, ToCCommonLoc[10].GetPositionZ());
}
@@ -406,7 +399,7 @@ class npc_fizzlebang_toc : public CreatureScript
{
case 1:
me->SetWalk(false);
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
_instance->SetData(TYPE_EVENT, 1120);
_instance->SetData(TYPE_EVENT_TIMER, 1*IN_MILLISECONDS);
break;
@@ -489,7 +482,7 @@ class npc_fizzlebang_toc : public CreatureScript
_updateTimer = 5*IN_MILLISECONDS;
break;
case 1142:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_JARAXXUS)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_JARAXXUS)))
temp->SetTarget(me->GetGUID());
if (Creature* pTrigger = ObjectAccessor::GetCreature(*me, _triggerGUID))
pTrigger->DespawnOrUnsummon();
@@ -499,13 +492,13 @@ class npc_fizzlebang_toc : public CreatureScript
_updateTimer = 10*IN_MILLISECONDS;
break;
case 1144:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_JARAXXUS)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_JARAXXUS)))
temp->AI()->Talk(SAY_STAGE_1_05);
_instance->SetData(TYPE_EVENT, 1150);
_updateTimer = 5*IN_MILLISECONDS;
break;
case 1150:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetData64(NPC_JARAXXUS)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_JARAXXUS)))
{
//1-shot Fizzlebang
temp->CastSpell(me, 67888, false);
@@ -526,8 +519,8 @@ class npc_fizzlebang_toc : public CreatureScript
private:
InstanceScript* _instance;
SummonList _summons;
- uint64 _portalGUID;
- uint64 _triggerGUID;
+ ObjectGuid _portalGUID;
+ ObjectGuid _triggerGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -581,7 +574,7 @@ class npc_tirion_toc : public CreatureScript
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
if (_instance->GetBossState(BOSS_BEASTS) != DONE)
{
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
if (Creature* temp = me->SummonCreature(NPC_GORMOK, ToCSpawnLoc[0].GetPositionX(), ToCSpawnLoc[0].GetPositionY(), ToCSpawnLoc[0].GetPositionZ(), 5, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30*IN_MILLISECONDS))
{
@@ -603,7 +596,7 @@ class npc_tirion_toc : public CreatureScript
Talk(SAY_STAGE_0_04);
if (_instance->GetBossState(BOSS_BEASTS) != DONE)
{
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
if (Creature* temp = me->SummonCreature(NPC_DREADSCALE, ToCSpawnLoc[1].GetPositionX(), ToCSpawnLoc[1].GetPositionY(), ToCSpawnLoc[1].GetPositionZ(), 5, TEMPSUMMON_MANUAL_DESPAWN))
{
temp->GetMotionMaster()->MovePoint(0, ToCCommonLoc[5].GetPositionX(), ToCCommonLoc[5].GetPositionY(), ToCCommonLoc[5].GetPositionZ());
@@ -621,7 +614,7 @@ class npc_tirion_toc : public CreatureScript
Talk(SAY_STAGE_0_05);
if (_instance->GetBossState(BOSS_BEASTS) != DONE)
{
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
if (Creature* temp = me->SummonCreature(NPC_ICEHOWL, ToCSpawnLoc[0].GetPositionX(), ToCSpawnLoc[0].GetPositionY(), ToCSpawnLoc[0].GetPositionZ(), 5, TEMPSUMMON_DEAD_DESPAWN))
{
temp->GetMotionMaster()->MovePoint(2, ToCCommonLoc[5].GetPositionX(), ToCCommonLoc[5].GetPositionY(), ToCCommonLoc[5].GetPositionZ());
@@ -649,7 +642,7 @@ class npc_tirion_toc : public CreatureScript
case 1010:
Talk(SAY_STAGE_1_01);
_updateTimer = 7*IN_MILLISECONDS;
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
me->SummonCreature(NPC_FIZZLEBANG, ToCSpawnLoc[0].GetPositionX(), ToCSpawnLoc[0].GetPositionY(), ToCSpawnLoc[0].GetPositionZ(), 2, TEMPSUMMON_CORPSE_TIMED_DESPAWN, DESPAWN_TIME);
_instance->SetData(TYPE_EVENT, 0);
break;
@@ -703,7 +696,7 @@ class npc_tirion_toc : public CreatureScript
_instance->SetData(TYPE_EVENT, 3092);
break;
case 3092:
- if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), _instance->GetData64(NPC_CHAMPIONS_CONTROLLER)))
+ if (Creature* pChampionController = ObjectAccessor::GetCreature((*me), _instance->GetGuidData(NPC_CHAMPIONS_CONTROLLER)))
pChampionController->AI()->SetData(1, NOT_STARTED);
_instance->SetData(TYPE_EVENT, 3095);
break;
@@ -738,13 +731,13 @@ class npc_tirion_toc : public CreatureScript
_instance->SetData(TYPE_EVENT, 4015);
break;
case 4015:
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
- if (Creature* temp = ObjectAccessor::GetCreature((*me), _instance->GetData64(NPC_LIGHTBANE)))
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
+ if (Creature* temp = ObjectAccessor::GetCreature((*me), _instance->GetGuidData(NPC_LIGHTBANE)))
{
temp->GetMotionMaster()->MovePoint(1, ToCCommonLoc[8].GetPositionX(), ToCCommonLoc[8].GetPositionY(), ToCCommonLoc[8].GetPositionZ());
temp->SetVisible(true);
}
- if (Creature* temp = ObjectAccessor::GetCreature((*me), _instance->GetData64(NPC_DARKBANE)))
+ if (Creature* temp = ObjectAccessor::GetCreature((*me), _instance->GetGuidData(NPC_DARKBANE)))
{
temp->GetMotionMaster()->MovePoint(1, ToCCommonLoc[9].GetPositionX(), ToCCommonLoc[9].GetPositionY(), ToCCommonLoc[9].GetPositionZ());
temp->SetVisible(true);
@@ -753,7 +746,7 @@ class npc_tirion_toc : public CreatureScript
_instance->SetData(TYPE_EVENT, 4016);
break;
case 4016:
- _instance->DoUseDoorOrButton(_instance->GetData64(GO_MAIN_GATE_DOOR));
+ _instance->DoUseDoorOrButton(_instance->GetGuidData(GO_MAIN_GATE_DOOR));
_instance->SetData(TYPE_EVENT, 4017);
break;
case 4040:
@@ -783,7 +776,7 @@ class npc_tirion_toc : public CreatureScript
_instance->SetData(TYPE_EVENT, 6005);
break;
case 6005:
- if (Creature* tirionFordring = ObjectAccessor::GetCreature((*me), _instance->GetData64(NPC_TIRION_FORDRING)))
+ if (Creature* tirionFordring = ObjectAccessor::GetCreature((*me), _instance->GetGuidData(NPC_TIRION_FORDRING)))
tirionFordring->AI()->Talk(SAY_STAGE_4_06);
_updateTimer = 20*IN_MILLISECONDS;
_instance->SetData(TYPE_EVENT, 6010);
@@ -791,7 +784,7 @@ class npc_tirion_toc : public CreatureScript
case 6010:
if (IsHeroic())
{
- if (Creature* tirionFordring = ObjectAccessor::GetCreature((*me), _instance->GetData64(NPC_TIRION_FORDRING)))
+ if (Creature* tirionFordring = ObjectAccessor::GetCreature((*me), _instance->GetGuidData(NPC_TIRION_FORDRING)))
tirionFordring->AI()->Talk(SAY_STAGE_4_07);
_updateTimer = 1*MINUTE*IN_MILLISECONDS;
_instance->SetBossState(BOSS_ANUBARAK, SPECIAL);
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
index 694e502e508..9c6d9082db4 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_king_dred.cpp
@@ -211,7 +211,7 @@ class npc_drakkari_gutripper : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KING_DRED)))
+ if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KING_DRED)))
Dred->AI()->DoAction(ACTION_RAPTOR_KILLED);
}
};
@@ -267,7 +267,7 @@ class npc_drakkari_scytheclaw : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KING_DRED)))
+ if (Creature* Dred = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KING_DRED)))
Dred->AI()->DoAction(ACTION_RAPTOR_KILLED);
}
};
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 6b26143745b..6c3b4378bec 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -216,7 +216,7 @@ public:
void SetSummonerStatus(bool active)
{
for (uint8 i = 0; i < 4; i++)
- if (uint64 guid = instance->GetData64(summoners[i].data))
+ if (ObjectGuid guid = instance->GetGuidData(summoners[i].data))
if (Creature* crystalChannelTarget = ObjectAccessor::GetCreature(*me, guid))
{
if (active)
@@ -229,7 +229,7 @@ public:
void SetCrystalsStatus(bool active)
{
for (uint8 i = 0; i < 4; i++)
- if (uint64 guid = instance->GetData64(DATA_NOVOS_CRYSTAL_1 + i))
+ if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid))
SetCrystalStatus(crystal, active);
}
@@ -249,7 +249,7 @@ public:
void CrystalHandlerDied()
{
for (uint8 i = 0; i < 4; i++)
- if (uint64 guid = instance->GetData64(DATA_NOVOS_CRYSTAL_1 + i))
+ if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid))
if (crystal->GetGoState() == GO_STATE_ACTIVE)
{
@@ -266,7 +266,7 @@ public:
if (IsHeroic())
events.ScheduleEvent(EVENT_SUMMON_MINIONS, 15000);
}
- else if (uint64 guid = instance->GetData64(DATA_NOVOS_SUMMONER_4))
+ else if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_SUMMONER_4))
if (Creature* crystalChannelTarget = ObjectAccessor::GetCreature(*me, guid))
crystalChannelTarget->AI()->SetData(SPELL_SUMMON_CRYSTAL_HANDLER, 15000);
}
@@ -330,7 +330,7 @@ public:
void JustSummoned(Creature* summon) override
{
if (InstanceScript* instance = me->GetInstanceScript())
- if (uint64 guid = instance->GetData64(DATA_NOVOS))
+ if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS))
if (Creature* novos = ObjectAccessor::GetCreature(*me, guid))
novos->AI()->JustSummoned(summon);
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
index a8f083c97ee..b91ca893955 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp
@@ -135,7 +135,7 @@ class boss_trollgore : public CreatureScript
break;
case EVENT_SPAWN:
for (uint8 i = 0; i < 3; ++i)
- if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TROLLGORE_INVADER_SUMMONER_1 + i)))
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TROLLGORE_INVADER_SUMMONER_1 + i)))
trigger->CastSpell(trigger, RAND(SPELL_SUMMON_INVADER_A, SPELL_SUMMON_INVADER_B, SPELL_SUMMON_INVADER_C), true, NULL, NULL, me->GetGUID());
events.ScheduleEvent(EVENT_SPAWN, urand(30000, 40000));
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 30b473b6ebc..4e58d4dac03 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
@@ -31,15 +31,6 @@ class instance_drak_tharon_keep : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
-
- TrollgoreGUID = 0;
- NovosGUID = 0;
- KingDredGUID = 0;
- TharonJaGUID = 0;
-
- memset(TrollgoreInvaderSummonerGuids, 0, 3 * sizeof(uint64));
- memset(NovosCrystalGUIDs, 0, 4 * sizeof(uint64));
- memset(NovosSummonerGUIDs, 0, 4 * sizeof(uint64));
}
void OnCreatureCreate(Creature* creature) override
@@ -122,7 +113,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
NovosSummonerGUIDs[3] = creature->GetGUID();
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -150,7 +141,7 @@ class instance_drak_tharon_keep : public InstanceMapScript
return NovosSummonerGUIDs[type - DATA_NOVOS_SUMMONER_1];
}
- return 0;
+ return ObjectGuid::Empty;
}
void OnUnitDeath(Unit* unit) override
@@ -161,14 +152,14 @@ class instance_drak_tharon_keep : public InstanceMapScript
}
protected:
- uint64 TrollgoreGUID;
- uint64 NovosGUID;
- uint64 KingDredGUID;
- uint64 TharonJaGUID;
-
- uint64 TrollgoreInvaderSummonerGuids[3];
- uint64 NovosCrystalGUIDs[4];
- uint64 NovosSummonerGUIDs[4];
+ ObjectGuid TrollgoreGUID;
+ ObjectGuid NovosGUID;
+ ObjectGuid KingDredGUID;
+ ObjectGuid TharonJaGUID;
+
+ ObjectGuid TrollgoreInvaderSummonerGuids[3];
+ ObjectGuid NovosCrystalGUIDs[4];
+ ObjectGuid NovosSummonerGUIDs[4];
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index 670591a058c..77c97cc8342 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -203,8 +203,8 @@ class npc_corrupted_soul_fragment : public CreatureScript
if (TempSummon* summ = me->ToTempSummon())
{
- uint64 BronjahmGUID = instance->GetData64(DATA_BRONJAHM);
- if (GUID_LOPART(BronjahmGUID) != id)
+ ObjectGuid BronjahmGUID(instance->GetGuidData(DATA_BRONJAHM));
+ if (BronjahmGUID.GetCounter() != id)
return;
if (Creature* bronjahm = ObjectAccessor::GetCreature(*me, BronjahmGUID))
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 4b4fd398e72..32590135f27 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
@@ -301,7 +301,7 @@ class boss_devourer_of_souls : public CreatureScript
me->SetReactState(REACT_PASSIVE);
//Remove any target
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->GetMotionMaster()->Clear();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
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 f3034fa0796..97c9d407622 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
@@ -38,8 +38,6 @@ class instance_forge_of_souls : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
- bronjahm = 0;
- devourerOfSouls = 0;
teamInInstance = 0;
}
@@ -96,7 +94,7 @@ class instance_forge_of_souls : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -108,12 +106,12 @@ class instance_forge_of_souls : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
private:
- uint64 bronjahm;
- uint64 devourerOfSouls;
+ ObjectGuid bronjahm;
+ ObjectGuid devourerOfSouls;
uint32 teamInInstance;
};
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 b4d1ee2f09b..555a75a33a7 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -347,8 +347,6 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
npc_jaina_or_sylvanas_intro_horAI(Creature* creature) : ScriptedAI(creature)
{
_instance = me->GetInstanceScript();
- _utherGUID = 0;
- _lichkingGUID = 0;
}
void sGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
@@ -376,8 +374,8 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
{
_events.Reset();
- _utherGUID = 0;
- _lichkingGUID = 0;
+ _utherGUID.Clear();
+ _lichkingGUID.Clear();
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -391,7 +389,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
switch (_events.ExecuteEvent())
{
case EVENT_WALK_INTRO1:
- if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_KORELN_LORALEN)))
korelnOrLoralen->GetMotionMaster()->MovePoint(0, KorelnOrLoralenPos[0]);
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
@@ -415,7 +413,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
break;
case EVENT_START_INTRO:
- if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(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)
@@ -441,7 +439,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
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);
+ _instance->HandleGameObject(_instance->GetGuidData(DATA_FROSTMOURNE), true);
_events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
break;
case EVENT_INTRO_A2_4:
@@ -533,7 +531,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
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);
+ _instance->HandleGameObject(_instance->GetGuidData(DATA_FROSTMOURNE), true);
_events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
break;
case EVENT_INTRO_H2_4:
@@ -627,7 +625,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
{
uther->CastSpell(uther, SPELL_UTHER_DESPAWN, true);
uther->DespawnOrUnsummon(5000);
- _utherGUID = 0;
+ _utherGUID.Clear();
}
_events.ScheduleEvent(EVENT_INTRO_LK_4, 9000);
break;
@@ -635,7 +633,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
// 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)))
+ if (GameObject* frostmourne = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(DATA_FROSTMOURNE)))
frostmourne->SetPhaseMask(2, true);
lichking->CastSpell(lichking, SPELL_TAKE_FROSTMOURNE, true);
lichking->CastSpell(lichking, SPELL_FROSTMOURNE_VISUAL, true);
@@ -649,12 +647,12 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
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)))
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FALRIC)))
{
falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
falric->SetVisible(true);
}
- if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN)))
+ if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MARWYN)))
{
marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
marwyn->SetVisible(true);
@@ -669,7 +667,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
_events.ScheduleEvent(EVENT_OPEN_IMPENETRABLE_DOOR, 5000);
break;
case EVENT_INTRO_LK_7:
- if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MARWYN)))
+ if (Creature* marwyn = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MARWYN)))
{
marwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
marwyn->SetWalk(true);
@@ -678,7 +676,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_LK_8, 1000);
break;
case EVENT_INTRO_LK_8:
- if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC)))
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FALRIC)))
{
falric->AI()->Talk(SAY_FALRIC_INTRO_1);
falric->SetWalk(true);
@@ -687,7 +685,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_LK_9, 5000);
break;
case EVENT_INTRO_LK_9:
- if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FALRIC)))
+ if (Creature* falric = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FALRIC)))
falric->AI()->Talk(SAY_FALRIC_INTRO_2);
_instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
_events.ScheduleEvent(EVENT_INTRO_LK_10, 4000);
@@ -699,7 +697,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
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)))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_KORELN_LORALEN)))
korelnOrLoralen->GetMotionMaster()->MovePoint(1, KorelnOrLoralenPos[2]);
_events.ScheduleEvent(EVENT_INTRO_LK_11, 5000);
break;
@@ -719,7 +717,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
if (Creature* lichking = ObjectAccessor::GetCreature(*me, _lichkingGUID))
{
lichking->DespawnOrUnsummon(5000);
- _lichkingGUID = 0;
+ _lichkingGUID.Clear();
}
me->DespawnOrUnsummon(10000);
_events.ScheduleEvent(EVENT_CLOSE_IMPENETRABLE_DOOR, 7000);
@@ -730,7 +728,7 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
else
me->GetMotionMaster()->MovePoint(0, SylvanasIntroPosition[2]);
- if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_KORELN_LORALEN)))
korelnOrLoralen->GetMotionMaster()->MovePoint(0, KorelnOrLoralenPos[1]);
if (Creature* lichking = me->SummonCreature(NPC_THE_LICH_KING_INTRO, LichKingIntroPosition[0], TEMPSUMMON_MANUAL_DESPAWN))
@@ -745,13 +743,13 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_LK_4, 15000);
break;
case EVENT_OPEN_IMPENETRABLE_DOOR:
- _instance->HandleGameObject(_instance->GetData64(DATA_IMPENETRABLE_DOOR), true);
+ _instance->HandleGameObject(_instance->GetGuidData(DATA_IMPENETRABLE_DOOR), true);
break;
case EVENT_CLOSE_IMPENETRABLE_DOOR:
- _instance->HandleGameObject(_instance->GetData64(DATA_IMPENETRABLE_DOOR), false);
+ _instance->HandleGameObject(_instance->GetGuidData(DATA_IMPENETRABLE_DOOR), false);
break;
case EVENT_KORELN_LORALEN_DEATH:
- if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_KORELN_LORALEN)))
+ if (Creature* korelnOrLoralen = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_KORELN_LORALEN)))
korelnOrLoralen->CastSpell(korelnOrLoralen, SPELL_FEIGN_DEATH);
break;
default:
@@ -762,8 +760,8 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
private:
InstanceScript* _instance;
EventMap _events;
- uint64 _utherGUID;
- uint64 _lichkingGUID;
+ ObjectGuid _utherGUID;
+ ObjectGuid _lichkingGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -807,7 +805,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
lichking->AI()->EnterEvadeMode(); // event failed
}
@@ -868,10 +866,10 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
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));
+ _instance->HandleGameObject(_instance->GetGuidData(DATA_ICEWALL), true);
+ me->m_Events.AddEvent(new GameObjectDeleteDelayEvent(me, _instance->GetGuidData(DATA_ICEWALL)), me->m_Events.CalculateTime(5000));
- if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ICEWALL_TARGET)))
+ if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ICEWALL_TARGET)))
wallTarget->DespawnOrUnsummon();
}
@@ -879,7 +877,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
{
if (_icewall < 4)
{
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
lichking->StopMoving();
if (Creature* wallTarget = me->SummonCreature(NPC_ICE_WALL_TARGET, IceWallTargetPosition[_icewall], TEMPSUMMON_MANUAL_DESPAWN, 720000))
@@ -895,7 +893,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
if (_icewall < 4)
Talk(SAY_JAINA_SYLVANAS_ESCAPE_2 + _icewall);
- if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ICEWALL_TARGET)))
+ if (Creature* wallTarget = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ICEWALL_TARGET)))
me->SetFacingToObject(wallTarget);
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
@@ -925,7 +923,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
break;
case POINT_TRAP:
Talk(SAY_JAINA_SYLVANAS_ESCAPE_8);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
me->SetFacingToObject(lichking);
break;
default:
@@ -933,7 +931,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
}
}
- void DeleteAllFromThreatList(Unit* target, uint64 except)
+ void DeleteAllFromThreatList(Unit* target, ObjectGuid except)
{
ThreatContainer::StorageType threatlist = target->getThreatManager().getThreatList();
for (auto i : threatlist)
@@ -959,7 +957,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
else
DoCast(me, SPELL_SYLVANAS_CLOAK_OF_DARKNESS);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
me->CastSpell(lichking, SPELL_TAUNT_ARTHAS, true);
lichking->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
@@ -971,7 +969,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
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 (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
if (_instance->GetData(DATA_TEAM_IN_INSTANCE) == ALLIANCE)
lichking->AI()->Talk(SAY_LK_ESCAPE_1);
@@ -990,7 +988,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
else
DoCast(me, SPELL_SYLVANAS_BLINDING_RETREAT, true);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
lichking->SetReactState(REACT_PASSIVE);
lichking->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
@@ -1010,7 +1008,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
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)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
lichking->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
lichking->RemoveAllAttackers();
@@ -1024,7 +1022,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
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)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
lichking->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_PACIFIED);
@@ -1044,13 +1042,13 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
_events.ScheduleEvent(EVENT_ESCAPE_7, 1000);
break;
case EVENT_ESCAPE_7:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(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)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
lichking->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[0]);
_events.ScheduleEvent(EVENT_ESCAPE_9, 1000);
break;
@@ -1060,7 +1058,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
break;
case EVENT_ESCAPE_10:
me->GetMotionMaster()->MovePoint(0, NpcJainaOrSylvanasEscapeRoute[2]);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
lichking->GetMotionMaster()->MovePoint(1, LichKingFirstSummon);
_events.ScheduleEvent(EVENT_ESCAPE_11, 6000);
break;
@@ -1069,7 +1067,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
_events.ScheduleEvent(EVENT_ESCAPE_12, 4000);
break;
case EVENT_ESCAPE_12:
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
lichking->CastSpell(lichking, SPELL_PAIN_AND_SUFFERING, true);
me->GetMotionMaster()->MovePoint(POINT_ATTACK_ICEWALL, NpcJainaOrSylvanasEscapeRoute[3]);
@@ -1089,7 +1087,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
Talk(SAY_JAINA_SYLVANAS_ESCAPE_6);
- if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING_ESCAPE)))
+ if (Creature* lichking = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING_ESCAPE)))
{
lichking->GetMotionMaster()->MovePoint(2, LichKingFinalPos);
lichking->RemoveAurasDueToSpell(SPELL_REMORSELESS_WINTER);
@@ -1100,7 +1098,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
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)))
+ if (Transport* gunship = ObjectAccessor::GetTransport(*me, _instance->GetGuidData(DATA_GUNSHIP)))
gunship->EnableMovement(true);
_instance->SetBossState(DATA_THE_LICH_KING_ESCAPE, DONE);
break;
@@ -1163,16 +1161,16 @@ class npc_the_lich_king_escape_hor : public CreatureScript
switch (pointId)
{
case 1:
- if (Creature* target = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ if (Creature* target = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(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)))
+ if (Creature* target = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ESCAPE_LEADER)))
DoCast(target, SPELL_HARVEST_SOUL);
- if (Transport* gunship = ObjectAccessor::GetTransport(*me, _instance->GetData64(DATA_GUNSHIP)))
+ if (Transport* gunship = ObjectAccessor::GetTransport(*me, _instance->GetGuidData(DATA_GUNSHIP)))
gunship->EnableMovement(true);
break;
default:
@@ -1197,7 +1195,7 @@ class npc_the_lich_king_escape_hor : public CreatureScript
// All summons dead and no summon events scheduled
if (!_summonsCount && _events.Empty())
{
- if (Creature* jainaOrSylvanas = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ if (Creature* jainaOrSylvanas = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ESCAPE_LEADER)))
jainaOrSylvanas->AI()->DoAction(ACTION_WALL_BROKEN);
}
}
@@ -2023,12 +2021,12 @@ class at_hor_waves_restarter : public AreaTriggerScript
{
_instance->ProcessEvent(0, EVENT_SPAWN_WAVES);
- if (Creature* falric = ObjectAccessor::GetCreature(*player, _instance->GetData64(DATA_FALRIC)))
+ if (Creature* falric = ObjectAccessor::GetCreature(*player, _instance->GetGuidData(DATA_FALRIC)))
{
falric->CastSpell(falric, SPELL_BOSS_SPAWN_AURA, true);
falric->SetVisible(true);
}
- if (Creature* marwyn = ObjectAccessor::GetCreature(*player, _instance->GetData64(DATA_MARWYN)))
+ if (Creature* marwyn = ObjectAccessor::GetCreature(*player, _instance->GetGuidData(DATA_MARWYN)))
{
marwyn->CastSpell(marwyn, SPELL_BOSS_SPAWN_AURA, true);
marwyn->SetVisible(true);
@@ -2133,7 +2131,7 @@ struct npc_escape_event_trash : public ScriptedAI
void IsSummonedBy(Unit* /*summoner*/) override
{
DoZoneInCombat(me, 0.0f);
- if (Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ESCAPE_LEADER)))
+ if (Creature* leader = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ESCAPE_LEADER)))
{
me->SetInCombatWith(leader);
leader->SetInCombatWith(me);
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 578cf4f84fa..e44bf1d5aed 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -213,7 +213,7 @@ struct boss_horAI : BossAI
class GameObjectDeleteDelayEvent : public BasicEvent
{
public:
- GameObjectDeleteDelayEvent(Unit* owner, uint64 gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
+ GameObjectDeleteDelayEvent(Unit* owner, ObjectGuid gameObjectGUID) : _owner(owner), _gameObjectGUID(gameObjectGUID) { }
void DeleteGameObject()
{
@@ -234,7 +234,7 @@ class GameObjectDeleteDelayEvent : public BasicEvent
private:
Unit* _owner;
- uint64 _gameObjectGUID;
+ ObjectGuid _gameObjectGUID;
};
template<class AI>
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 51502b8a336..9dbc801f76d 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
@@ -85,27 +85,6 @@ class instance_halls_of_reflection : public InstanceMapScript
SetHeaders(DataHeader);
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;
@@ -200,7 +179,7 @@ class instance_halls_of_reflection : public InstanceMapScript
break;
}
case NPC_ICE_WALL_TARGET:
- IcewallTargetGUID = 0;
+ IcewallTargetGUID.Clear();
break;
case NPC_WORLD_TRIGGER:
case NPC_GUNSHIP_CANNON_HORDE:
@@ -256,11 +235,11 @@ class instance_halls_of_reflection : public InstanceMapScript
break;
case GO_IMPENETRABLE_DOOR:
ImpenetrableDoorGUID = go->GetGUID();
- HandleGameObject(0, GetBossState(DATA_MARWYN) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetBossState(DATA_MARWYN) == DONE, go);
break;
case GO_SHADOW_THRONE_DOOR:
ShadowThroneDoorGUID = go->GetGUID();
- HandleGameObject(0, GetData(DATA_FROSTSWORN_GENERAL) == DONE, go);
+ HandleGameObject(ObjectGuid::Empty, GetData(DATA_FROSTSWORN_GENERAL) == DONE, go);
break;
case GO_CAVE_IN:
CaveInGUID = go->GetGUID();
@@ -282,7 +261,7 @@ class instance_halls_of_reflection : public InstanceMapScript
CaptainsChestGUID = go->GetGUID();
break;
case GO_ICE_WALL:
- HandleGameObject(0, false, go);
+ HandleGameObject(ObjectGuid::Empty, false, go);
IcewallGUID = go->GetGUID();
break;
default:
@@ -483,7 +462,7 @@ class instance_halls_of_reflection : public InstanceMapScript
case NPC_WAVE_MAGE:
{
uint32 waveId = creature->AI()->GetData(0);
- for (uint64 guid : waveGuidList[waveId])
+ for (ObjectGuid guid : waveGuidList[waveId])
{
if (Creature* npc = instance->GetCreature(guid))
if (npc->IsAlive())
@@ -539,7 +518,7 @@ class instance_halls_of_reflection : public InstanceMapScript
{
tempList = possibilityList;
- uint64 bossGuid = i <= 3 ? FalricGUID : MarwynGUID;
+ ObjectGuid bossGuid = i <= 3 ? FalricGUID : MarwynGUID;
if (!i)
Trinity::Containers::RandomResizeList(tempList, 3);
@@ -571,7 +550,7 @@ class instance_halls_of_reflection : public InstanceMapScript
if (_waveCount % 5)
{
uint32 internalWaveId = _waveCount - ((_waveCount < 5) ? 1 : 2);
- for (uint64 guid : waveGuidList[internalWaveId])
+ for (ObjectGuid guid : waveGuidList[internalWaveId])
{
if (Creature* temp = instance->GetCreature(guid))
{
@@ -610,7 +589,7 @@ class instance_halls_of_reflection : public InstanceMapScript
// despawn wave npcs
for (uint8 i = 0; i < 8; ++i)
{
- for (uint64 guid : waveGuidList[i])
+ for (ObjectGuid guid : waveGuidList[i])
if (Creature* creature = instance->GetCreature(guid))
creature->DespawnOrUnsummon(1);
waveGuidList[i].clear();
@@ -630,9 +609,9 @@ class instance_halls_of_reflection : public InstanceMapScript
if (Creature* captain = instance->GetCreature(CaptainGUID))
captain->AI()->Talk(SAY_CAPTAIN_FIRE);
- for (uint64 guid : GunshipCannonGUIDs)
+ for (ObjectGuid guid : GunshipCannonGUIDs)
{
- uint32 entry = GUID_ENPART(guid);
+ uint32 entry = guid.GetEntry();
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);
@@ -642,7 +621,7 @@ class instance_halls_of_reflection : public InstanceMapScript
if (Transport* gunship = instance->GetTransport(GunshipGUID))
gunship->EnableMovement(false);
- for (uint64 guid : GunshipStairGUIDs)
+ for (ObjectGuid guid : GunshipStairGUIDs)
if (GameObject* stairs = instance->GetGameObject(guid))
stairs->SetRespawnTime(DAY);
@@ -677,7 +656,7 @@ class instance_halls_of_reflection : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -707,7 +686,7 @@ class instance_halls_of_reflection : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void WriteSaveDataMore(std::ostringstream& data) override
@@ -732,21 +711,21 @@ class instance_halls_of_reflection : public InstanceMapScript
}
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;
+ ObjectGuid JainaOrSylvanasIntroGUID; // unused
+ ObjectGuid KorelnOrLoralenGUID;
+ ObjectGuid TheLichkingIntroGUID; // unused
+ ObjectGuid FalricGUID;
+ ObjectGuid MarwynGUID;
+ ObjectGuid FrostmourneAltarBunnyGUID;
+ ObjectGuid FrostswornGeneralGUID;
+ ObjectGuid JainaOrSylvanasEscapeGUID;
+ ObjectGuid TheLichKingEscapeGUID;
+
+ ObjectGuid FrostmourneGUID;
+ ObjectGuid EntranceDoorGUID;
+ ObjectGuid ImpenetrableDoorGUID;
+ ObjectGuid ShadowThroneDoorGUID;
+ ObjectGuid CaveInGUID;
uint32 _teamInInstance;
uint32 _waveCount;
@@ -754,16 +733,16 @@ class instance_halls_of_reflection : public InstanceMapScript
uint32 _frostswornGeneralState;
EventMap events;
- std::set<uint64> waveGuidList[8];
+ GuidSet waveGuidList[8];
- uint64 GunshipGUID;
- uint64 CaptainsChestGUID;
- uint64 CaptainGUID;
- uint64 IcewallGUID;
- uint64 IcewallTargetGUID;
+ ObjectGuid GunshipGUID;
+ ObjectGuid CaptainsChestGUID;
+ ObjectGuid CaptainGUID;
+ ObjectGuid IcewallGUID;
+ ObjectGuid IcewallTargetGUID;
- std::set<uint64> GunshipCannonGUIDs;
- std::set<uint64> GunshipStairGUIDs;
+ GuidSet GunshipCannonGUIDs;
+ GuidSet GunshipStairGUIDs;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
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 62a6ac41074..3ac5ec3070a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -121,7 +121,7 @@ class boss_garfrost : public CreatureScript
Talk(SAY_DEATH);
me->RemoveAllGameObjects();
- if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TYRANNUS)))
+ if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TYRANNUS)))
tyrannus->AI()->Talk(SAY_TYRANNUS_DEATH);
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 5b147344a59..327ea2c9b7b 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -151,7 +151,7 @@ class boss_ick : public CreatureScript
Creature* GetKrick()
{
- return ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KRICK));
+ return ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KRICK));
}
void EnterCombat(Unit* /*who*/) override
@@ -293,8 +293,8 @@ class boss_krick : public CreatureScript
void Initialize()
{
_phase = PHASE_COMBAT;
- _outroNpcGUID = 0;
- _tyrannusGUID = 0;
+ _outroNpcGUID.Clear();
+ _tyrannusGUID.Clear();
}
void Reset() override
@@ -308,7 +308,7 @@ class boss_krick : public CreatureScript
Creature* GetIck()
{
- return ObjectAccessor::GetCreature(*me, _instanceScript->GetData64(DATA_ICK));
+ return ObjectAccessor::GetCreature(*me, _instanceScript->GetGuidData(DATA_ICK));
}
void KilledUnit(Unit* victim) override
@@ -333,7 +333,7 @@ class boss_krick : public CreatureScript
{
if (actionId == ACTION_OUTRO)
{
- Creature* tyrannusPtr = ObjectAccessor::GetCreature(*me, _instanceScript->GetData64(DATA_TYRANNUS_EVENT));
+ Creature* tyrannusPtr = ObjectAccessor::GetCreature(*me, _instanceScript->GetGuidData(DATA_TYRANNUS_EVENT));
if (tyrannusPtr)
tyrannusPtr->NearTeleportTo(outroPos[1].GetPositionX(), outroPos[1].GetPositionY(), outroPos[1].GetPositionZ(), outroPos[1].GetOrientation());
else
@@ -369,7 +369,7 @@ class boss_krick : public CreatureScript
{
case EVENT_OUTRO_1:
{
- if (Creature* temp = ObjectAccessor::GetCreature(*me, _instanceScript->GetData64(DATA_JAINA_SYLVANAS_1)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, _instanceScript->GetGuidData(DATA_JAINA_SYLVANAS_1)))
temp->DespawnOrUnsummon();
Creature* jainaOrSylvanas = NULL;
@@ -417,7 +417,7 @@ class boss_krick : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_6, 1000);
break;
case EVENT_OUTRO_6:
- if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _instanceScript->GetData64(DATA_TYRANNUS_EVENT)))
+ if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _instanceScript->GetGuidData(DATA_TYRANNUS_EVENT)))
{
tyrannus->SetSpeed(MOVE_FLIGHT, 3.5f, true);
tyrannus->GetMotionMaster()->MovePoint(1, outroPos[4]);
@@ -494,8 +494,8 @@ class boss_krick : public CreatureScript
EventMap _events;
KrickPhase _phase;
- uint64 _outroNpcGUID;
- uint64 _tyrannusGUID;
+ ObjectGuid _outroNpcGUID;
+ ObjectGuid _tyrannusGUID;
};
CreatureAI* GetAI(Creature* creature) const override
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 f392b21b173..c2b1b91a200 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
@@ -153,7 +153,7 @@ class boss_tyrannus : public CreatureScript
Creature* GetRimefang()
{
- return ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RIMEFANG));
+ return ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_RIMEFANG));
}
void EnterCombat(Unit* /*who*/) override
@@ -235,7 +235,7 @@ class boss_tyrannus : public CreatureScript
me->GetMotionMaster()->MovePoint(0, miscPos);
break;
case EVENT_COMBAT_START:
- if (Creature* rimefang = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RIMEFANG)))
+ if (Creature* rimefang = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_RIMEFANG)))
rimefang->AI()->DoAction(ACTION_START_RIMEFANG); //set rimefang also infight
events.SetPhase(PHASE_COMBAT);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -299,7 +299,7 @@ class boss_rimefang : public CreatureScript
void Initialize()
{
_currentWaypoint = 0;
- _hoarfrostTargetGUID = 0;
+ _hoarfrostTargetGUID.Clear();
}
void Reset() override
@@ -330,7 +330,7 @@ class boss_rimefang : public CreatureScript
_EnterEvadeMode();
}
- void SetGUID(uint64 guid, int32 type) override
+ void SetGUID(ObjectGuid guid, int32 type) override
{
if (type == GUID_HOARFROST)
{
@@ -366,7 +366,7 @@ class boss_rimefang : public CreatureScript
if (Unit* target = ObjectAccessor::GetUnit(*me, _hoarfrostTargetGUID))
{
DoCast(target, SPELL_HOARFROST);
- _hoarfrostTargetGUID = 0;
+ _hoarfrostTargetGUID.Clear();
}
break;
default:
@@ -377,7 +377,7 @@ class boss_rimefang : public CreatureScript
private:
Vehicle* _vehicle;
- uint64 _hoarfrostTargetGUID;
+ ObjectGuid _hoarfrostTargetGUID;
EventMap _events;
uint8 _currentWaypoint;
};
@@ -391,7 +391,7 @@ class boss_rimefang : public CreatureScript
class player_overlord_brandAI : public PlayerAI
{
public:
- player_overlord_brandAI(Player* player, uint64 casterGUID) : PlayerAI(player), _tyrannusGUID(casterGUID) { }
+ player_overlord_brandAI(Player* player, ObjectGuid casterGUID) : PlayerAI(player), _tyrannusGUID(casterGUID) { }
void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) override
{
@@ -409,7 +409,7 @@ class player_overlord_brandAI : public PlayerAI
void UpdateAI(uint32 /*diff*/) override { }
private:
- uint64 _tyrannusGUID;
+ ObjectGuid _tyrannusGUID;
};
class spell_tyrannus_overlord_brand : public SpellScriptLoader
@@ -480,7 +480,7 @@ class spell_tyrannus_mark_of_rimefang : public SpellScriptLoader
return;
if (InstanceScript* instance = caster->GetInstanceScript())
- if (Creature* rimefang = ObjectAccessor::GetCreature(*caster, instance->GetData64(DATA_RIMEFANG)))
+ if (Creature* rimefang = ObjectAccessor::GetCreature(*caster, instance->GetGuidData(DATA_RIMEFANG)))
rimefang->AI()->SetGUID(GetTarget()->GetGUID(), GUID_HOARFROST);
}
@@ -545,7 +545,7 @@ class at_tyrannus_event_starter : public AreaTriggerScript
return false;
if (instance->GetBossState(DATA_TYRANNUS) != IN_PROGRESS && instance->GetBossState(DATA_TYRANNUS) != DONE)
- if (Creature* tyrannus = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_TYRANNUS)))
+ if (Creature* tyrannus = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_TYRANNUS)))
{
tyrannus->AI()->DoAction(ACTION_START_INTRO);
return true;
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 d829b98f926..29fbc0be2b3 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
@@ -44,15 +44,7 @@ class instance_pit_of_saron : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(Doors);
- _garfrostGUID = 0;
- _krickGUID = 0;
- _ickGUID = 0;
- _tyrannusGUID = 0;
- _rimefangGUID = 0;
- _jainaOrSylvanas1GUID = 0;
- _jainaOrSylvanas2GUID = 0;
_teamInInstance = 0;
- _tyrannusEventGUID = 0;
}
void OnPlayerEnter(Player* player) override
@@ -239,7 +231,7 @@ class instance_pit_of_saron : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -263,19 +255,19 @@ class instance_pit_of_saron : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
private:
- uint64 _garfrostGUID;
- uint64 _krickGUID;
- uint64 _ickGUID;
- uint64 _tyrannusGUID;
- uint64 _rimefangGUID;
+ ObjectGuid _garfrostGUID;
+ ObjectGuid _krickGUID;
+ ObjectGuid _ickGUID;
+ ObjectGuid _tyrannusGUID;
+ ObjectGuid _rimefangGUID;
- uint64 _tyrannusEventGUID;
- uint64 _jainaOrSylvanas1GUID;
- uint64 _jainaOrSylvanas2GUID;
+ ObjectGuid _tyrannusEventGUID;
+ ObjectGuid _jainaOrSylvanas1GUID;
+ ObjectGuid _jainaOrSylvanas2GUID;
uint32 _teamInInstance;
};
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 4d2ebd44db8..062d6a13390 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -230,7 +230,7 @@ class spell_trash_npc_glacial_strike : public SpellScriptLoader
{
if (GetTarget()->IsFullHealth())
{
- GetTarget()->RemoveAura(GetId(), 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
+ GetTarget()->RemoveAura(GetId(), ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
PreventDefaultAction();
}
}
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 001f19679c4..f1fececfa7f 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -24,6 +24,13 @@
#include "gundrak.h"
#include "SpellInfo.h"
+enum Texts
+{
+ // Drakkari Elemental
+ EMOTE_MOJO = 0,
+ EMOTE_ACTIVATE_ALTAR = 1
+};
+
enum Spells
{
SPELL_EMERGE = 54850,
@@ -80,7 +87,7 @@ class boss_drakkari_colossus : public CreatureScript
struct boss_drakkari_colossusAI : public BossAI
{
- boss_drakkari_colossusAI(Creature* creature) : BossAI(creature, DATA_DRAKKARI_COLOSSUS_EVENT)
+ boss_drakkari_colossusAI(Creature* creature) : BossAI(creature, DATA_DRAKKARI_COLOSSUS)
{
Initialize();
me->SetReactState(REACT_PASSIVE);
@@ -103,41 +110,20 @@ class boss_drakkari_colossus : public CreatureScript
me->RemoveAura(SPELL_FREEZE_ANIM);
}
- //events.Reset(); -> done in _Reset();
events.ScheduleEvent(EVENT_MIGHTY_BLOW, urand(10000, 30000));
Initialize();
-
- // 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, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
-
me->RemoveAura(SPELL_FREEZE_ANIM);
-
- // 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, IN_PROGRESS);
}
void JustDied(Unit* /*killer*/) override
{
_JustDied();
-
- // 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, DONE);
- }
-
- 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
@@ -181,13 +167,12 @@ class boss_drakkari_colossus : public CreatureScript
if (phase == COLOSSUS_PHASE_NORMAL ||
phase == COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON)
{
- if (HealthBelowPct( phase == COLOSSUS_PHASE_NORMAL ? 50 : 5))
+ if (HealthBelowPct(phase == COLOSSUS_PHASE_NORMAL ? 50 : 5))
{
damage = 0;
phase = (phase == COLOSSUS_PHASE_NORMAL ? COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON : COLOSSUS_PHASE_SECOND_ELEMENTAL_SUMMON);
DoAction(ACTION_FREEZE_COLOSSUS);
DoAction(ACTION_SUMMON_ELEMENTAL);
-
}
}
}
@@ -248,7 +233,7 @@ class boss_drakkari_colossus : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_drakkari_colossusAI>(creature);
+ return GetGundrakAI<boss_drakkari_colossusAI>(creature);
}
};
@@ -275,10 +260,9 @@ class boss_drakkari_elemental : public CreatureScript
void JustDied(Unit* killer) override
{
- if (killer == me)
- return;
+ Talk(EMOTE_ACTIVATE_ALTAR);
- if (Creature* colossus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DRAKKARI_COLOSSUS)))
+ if (Creature* colossus = instance->GetCreature(DATA_DRAKKARI_COLOSSUS))
killer->Kill(colossus);
}
@@ -313,8 +297,9 @@ class boss_drakkari_elemental : public CreatureScript
switch (action)
{
case ACTION_RETURN_TO_COLOSSUS:
+ Talk(EMOTE_MOJO);
DoCast(SPELL_SURGE_VISUAL);
- if (Creature* colossus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DRAKKARI_COLOSSUS)))
+ if (Creature* colossus = instance->GetCreature(DATA_DRAKKARI_COLOSSUS))
// what if the elemental is more than 80 yards from drakkari colossus ?
DoCast(colossus, SPELL_MERGE, true);
break;
@@ -323,11 +308,11 @@ class boss_drakkari_elemental : public CreatureScript
void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- if (HealthBelowPct(50) && instance)
+ if (HealthBelowPct(50))
{
- if (Creature* colossus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DRAKKARI_COLOSSUS)))
+ if (Creature* colossus = instance->GetCreature(DATA_DRAKKARI_COLOSSUS))
{
- if (colossus->AI()->GetData(DATA_COLOSSUS_PHASE) == COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON)
+ if (colossus->AI()->GetData(DATA_COLOSSUS_PHASE) == COLOSSUS_PHASE_FIRST_ELEMENTAL_SUMMON)
{
damage = 0;
@@ -375,7 +360,7 @@ class boss_drakkari_elemental : public CreatureScript
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<boss_drakkari_elementalAI>(creature);
+ return GetGundrakAI<boss_drakkari_elementalAI>(creature);
}
};
@@ -386,7 +371,7 @@ public:
CreatureAI* GetAI(Creature* creature) const override
{
- return GetInstanceAI<npc_living_mojoAI>(creature);
+ return GetGundrakAI<npc_living_mojoAI>(creature);
}
struct npc_living_mojoAI : public ScriptedAI
@@ -429,7 +414,7 @@ public:
if (id == 1)
{
- if (Creature* colossus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DRAKKARI_COLOSSUS)))
+ if (Creature* colossus = instance->GetCreature(DATA_DRAKKARI_COLOSSUS))
{
colossus->AI()->DoAction(ACTION_UNFREEZE_COLOSSUS);
if (!colossus->AI()->GetData(DATA_INTRO_DONE))
@@ -446,13 +431,11 @@ public:
return;
// 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)))
+ if (Creature* colossus = instance->GetCreature(DATA_DRAKKARI_COLOSSUS))
{
Position homePosition = me->GetHomePosition();
- Position colossusHomePosition = colossus->GetHomePosition();
-
- float distance = homePosition.GetExactDist(colossusHomePosition.GetPositionX(), colossusHomePosition.GetPositionY(), colossusHomePosition.GetPositionZ());
+ float distance = homePosition.GetExactDist(&colossus->GetHomePosition());
if (distance < 12.0f)
{
@@ -484,6 +467,7 @@ public:
DoMeleeAttackIfReady();
}
+
private:
InstanceScript* instance;
uint32 mojoWaveTimer;
diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
index 9f8cc818958..baf749fec51 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp
@@ -19,13 +19,18 @@
#include "ScriptedCreature.h"
#include "gundrak.h"
+enum Texts
+{
+ EMOTE_SPAWN = 0
+};
+
enum Spells
{
- SPELL_ECK_BERSERK = 55816, //Eck goes berserk, increasing his attack speed by 150% and all damage he deals by 500%.
- SPELL_ECK_BITE = 55813, //Eck bites down hard, inflicting 150% of his normal damage to an enemy.
- SPELL_ECK_SPIT = 55814, //Eck spits toxic bile at enemies in a cone in front of him, inflicting 2970 Nature damage and draining 220 mana every 1 sec for 3 sec.
- SPELL_ECK_SPRING_1 = 55815, //Eck leaps at a distant target. --> Drops aggro and charges a random player. Tank can simply taunt him back.
- SPELL_ECK_SPRING_2 = 55837 //Eck leaps at a distant target.
+ SPELL_ECK_BERSERK = 55816, // Eck goes berserk, increasing his attack speed by 150% and all damage he deals by 500%.
+ SPELL_ECK_BITE = 55813, // Eck bites down hard, inflicting 150% of his normal damage to an enemy.
+ SPELL_ECK_SPIT = 55814, // Eck spits toxic bile at enemies in a cone in front of him, inflicting 2970 Nature damage and draining 220 mana every 1 sec for 3 sec.
+ SPELL_ECK_SPRING_1 = 55815, // Eck leaps at a distant target. --> Drops aggro and charges a random player. Tank can simply taunt him back.
+ SPELL_ECK_SPRING_2 = 55837 // Eck leaps at a distant target.
};
enum Events
@@ -38,79 +43,80 @@ enum Events
class boss_eck : public CreatureScript
{
-public:
- boss_eck() : CreatureScript("boss_eck") { }
+ public:
+ boss_eck() : CreatureScript("boss_eck") { }
- struct boss_eckAI : public BossAI
- {
- boss_eckAI(Creature* creature) : BossAI(creature, DATA_ECK_THE_FEROCIOUS_EVENT)
+ struct boss_eckAI : public BossAI
{
- Initialize();
- }
+ boss_eckAI(Creature* creature) : BossAI(creature, DATA_ECK_THE_FEROCIOUS)
+ {
+ Initialize();
+ Talk(EMOTE_SPAWN);
+ }
- void Initialize()
- {
- Berserk = false;
- }
+ void Initialize()
+ {
+ _berserk = false;
+ }
- void Reset() override
- {
- _Reset();
- Initialize();
- }
+ void Reset() override
+ {
+ _Reset();
+ Initialize();
+ }
- void EnterCombat(Unit* /*who*/) override
- {
- _EnterCombat();
- events.ScheduleEvent(EVENT_BITE, 5 * IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_SPIT, 10 * IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_SPRING, 8 * IN_MILLISECONDS);
- events.ScheduleEvent(EVENT_BERSERK, urand(60 * IN_MILLISECONDS, 90 * IN_MILLISECONDS)); //60-90 secs according to wowwiki
- }
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _EnterCombat();
+ events.ScheduleEvent(EVENT_BITE, 5 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_SPIT, 10 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_SPRING, 8 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_BERSERK, urand(60 * IN_MILLISECONDS, 90 * IN_MILLISECONDS)); // 60-90 secs according to wowwiki
+ }
- void DamageTaken(Unit* /*attacker*/, uint32& damage) override
- {
- if (me->HealthBelowPctDamaged(20, damage) && !Berserk)
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
{
- events.RescheduleEvent(EVENT_BERSERK, 1000);
- Berserk = true;
+ if (!_berserk && me->HealthBelowPctDamaged(20, damage))
+ {
+ events.RescheduleEvent(EVENT_BERSERK, 1000);
+ _berserk = true;
+ }
}
- }
- void ExecuteEvent(uint32 eventId) override
- {
- switch (eventId)
+ void ExecuteEvent(uint32 eventId) override
{
- case EVENT_BITE:
- DoCastVictim(SPELL_ECK_BITE);
- events.ScheduleEvent(EVENT_BITE, urand(8 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
- break;
- case EVENT_SPIT:
- DoCastVictim(SPELL_ECK_SPIT);
- events.ScheduleEvent(EVENT_SPIT, urand(6 * IN_MILLISECONDS, 14 * IN_MILLISECONDS));
- break;
- case EVENT_SPRING:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 35.0f, true))
- DoCast(target, RAND(SPELL_ECK_SPRING_1, SPELL_ECK_SPRING_2));
- events.ScheduleEvent(EVENT_SPRING, urand(5 * IN_MILLISECONDS, 10 * IN_MILLISECONDS));
- break;
- case EVENT_BERSERK:
- DoCast(me, SPELL_ECK_BERSERK);
- Berserk = true;
- break;
- default:
- break;
+ switch (eventId)
+ {
+ case EVENT_BITE:
+ DoCastVictim(SPELL_ECK_BITE);
+ events.ScheduleEvent(EVENT_BITE, urand(8 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
+ break;
+ case EVENT_SPIT:
+ DoCastVictim(SPELL_ECK_SPIT);
+ events.ScheduleEvent(EVENT_SPIT, urand(6 * IN_MILLISECONDS, 14 * IN_MILLISECONDS));
+ break;
+ case EVENT_SPRING:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 35.0f, true))
+ DoCast(target, RAND(SPELL_ECK_SPRING_1, SPELL_ECK_SPRING_2));
+ events.ScheduleEvent(EVENT_SPRING, urand(5 * IN_MILLISECONDS, 10 * IN_MILLISECONDS));
+ break;
+ case EVENT_BERSERK:
+ DoCast(me, SPELL_ECK_BERSERK);
+ _berserk = true;
+ break;
+ default:
+ break;
+ }
}
- }
private:
- bool Berserk;
- };
+ bool _berserk;
+ };
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_eckAI>(creature);
- }
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetGundrakAI<boss_eckAI>(creature);
+ }
};
void AddSC_boss_eck()
diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
index 22e7ac280fd..c9ea3a26f4d 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
@@ -17,281 +17,272 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellScript.h"
#include "gundrak.h"
-//Spells
+/// @todo: implement stampede
+
enum Spells
{
- SPELL_ENRAGE = 55285,
- H_SPELL_ENRAGE = 59828,
- SPELL_IMPALING_CHARGE = 54956,
- H_SPELL_IMPALING_CHARGE = 59827,
- SPELL_STOMP = 55292,
- H_SPELL_STOMP = 59829,
- SPELL_PUNCTURE = 55276,
- H_SPELL_PUNCTURE = 59826,
- SPELL_STAMPEDE = 55218,
- SPELL_WHIRLING_SLASH = 55250,
- H_SPELL_WHIRLING_SLASH = 59824,
+ SPELL_IMPALING_CHARGE = 54956,
+ SPELL_IMPALING_CHARGE_CONTROL_VEHICLE = 54958,
+ SPELL_STOMP = 55292,
+ SPELL_PUNCTURE = 55276,
+ SPELL_STAMPEDE = 55218,
+ SPELL_WHIRLING_SLASH = 55250,
+ SPELL_ENRAGE = 55285,
+ SPELL_HEARTH_BEAM_VISUAL = 54988,
+ SPELL_TRANSFORM_RHINO = 55297,
+ SPELL_TRANSFORM_BACK = 55299
};
-//Yells
enum Yells
{
- SAY_AGGRO = 0,
- SAY_SLAY = 1,
- SAY_DEATH = 2,
- SAY_SUMMON_RHINO = 3,
- SAY_TRANSFORM_1 = 4,
- SAY_TRANSFORM_2 = 5
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_SUMMON_RHINO = 3,
+ SAY_TRANSFORM_1 = 4,
+ SAY_TRANSFORM_2 = 5,
+ EMOTE_IMPALE = 6
};
-enum Displays
+enum CombatPhase
{
- DISPLAY_RHINO = 26265,
- DISPLAY_TROLL = 27061
+ PHASE_TROLL = 1,
+ PHASE_RHINO = 2
};
-enum CombatPhase
+enum Events
{
- TROLL,
- RHINO
+ EVENT_IMPALING_CHARGE = 1,
+ EVENT_STOMP,
+ EVENT_PUNCTURE,
+ EVENT_STAMPEDE,
+ EVENT_WHIRLING_SLASH,
+ EVENT_ENRAGE,
+ EVENT_TRANSFORM,
+
+ EVENT_GROUP_TROLL = PHASE_TROLL,
+ EVENT_GROUP_RHINO = PHASE_RHINO
};
enum Misc
{
- DATA_SHARE_THE_LOVE = 1
+ DATA_SHARE_THE_LOVE = 1
};
class boss_gal_darah : public CreatureScript
{
-public:
- boss_gal_darah() : CreatureScript("boss_gal_darah") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_gal_darahAI>(creature);
- }
+ public:
+ boss_gal_darah() : CreatureScript("boss_gal_darah") { }
- struct boss_gal_darahAI : public ScriptedAI
- {
- boss_gal_darahAI(Creature* creature) : ScriptedAI(creature)
+ struct boss_gal_darahAI : public BossAI
{
- Initialize();
- instance = creature->GetInstanceScript();
- }
+ boss_gal_darahAI(Creature* creature) : BossAI(creature, DATA_GAL_DARAH)
+ {
+ Initialize();
+ }
- void Initialize()
- {
- uiStampedeTimer = 10 * IN_MILLISECONDS;
- uiWhirlingSlashTimer = 21 * IN_MILLISECONDS;
- uiPunctureTimer = 10 * IN_MILLISECONDS;
- uiEnrageTimer = 15 * IN_MILLISECONDS;
- uiImpalingChargeTimer = 21 * IN_MILLISECONDS;
- uiStompTimer = 25 * IN_MILLISECONDS;
- uiTransformationTimer = 9 * IN_MILLISECONDS;
- uiPhaseCounter = 0;
-
- shareTheLove = 0;
- bStartOfTransformation = true;
- Phase = TROLL;
- }
+ void Initialize()
+ {
+ _phaseCounter = 0;
+ }
- uint32 uiStampedeTimer;
- uint32 uiWhirlingSlashTimer;
- uint32 uiPunctureTimer;
- uint32 uiEnrageTimer;
- uint32 uiImpalingChargeTimer;
- uint32 uiStompTimer;
- uint32 uiTransformationTimer;
- std::list<uint64> impaledList;
- uint8 shareTheLove;
+ void InitializeAI() override
+ {
+ BossAI::InitializeAI();
+ DoCastAOE(SPELL_HEARTH_BEAM_VISUAL, true);
+ }
- CombatPhase Phase;
+ void Reset() override
+ {
+ Initialize();
+ _Reset();
+ impaledPlayers.clear();
+ }
- uint8 uiPhaseCounter;
+ void JustReachedHome() override
+ {
+ _JustReachedHome();
+ DoCastAOE(SPELL_HEARTH_BEAM_VISUAL, true);
+ }
- bool bStartOfTransformation;
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _EnterCombat();
+ Talk(SAY_AGGRO);
- InstanceScript* instance;
+ SetPhase(PHASE_TROLL);
+ }
- void Reset() override
- {
- Initialize();
+ void SetPhase(CombatPhase phase)
+ {
+ events.SetPhase(phase);
+ switch (phase)
+ {
+ case PHASE_TROLL:
+ events.ScheduleEvent(EVENT_STAMPEDE, 10 * IN_MILLISECONDS, 0, PHASE_TROLL);
+ events.ScheduleEvent(EVENT_WHIRLING_SLASH, 21 * IN_MILLISECONDS, 0, PHASE_TROLL);
+ break;
+ case PHASE_RHINO:
+ events.ScheduleEvent(EVENT_STOMP, 25 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ events.ScheduleEvent(EVENT_IMPALING_CHARGE, 21 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ events.ScheduleEvent(EVENT_ENRAGE, 15 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ events.ScheduleEvent(EVENT_PUNCTURE, 10 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ break;
+ }
+ }
- impaledList.clear();
+ void SetGUID(ObjectGuid guid, int32 type /*= 0*/) override
+ {
+ if (type == DATA_SHARE_THE_LOVE)
+ {
+ if (Unit* target = ObjectAccessor::GetUnit(*me, guid))
+ Talk(EMOTE_IMPALE, target);
+ impaledPlayers.insert(guid);
+ }
+ }
- me->SetDisplayId(DISPLAY_TROLL);
+ uint32 GetData(uint32 type) const override
+ {
+ if (type == DATA_SHARE_THE_LOVE)
+ return impaledPlayers.size();
- instance->SetData(DATA_GAL_DARAH_EVENT, NOT_STARTED);
- }
+ return 0;
+ }
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
+ void JustDied(Unit* /*killer*/) override
+ {
+ _JustDied();
+ Talk(SAY_DEATH);
+ }
- instance->SetData(DATA_GAL_DARAH_EVENT, IN_PROGRESS);
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- void UpdateAI(uint32 diff) override
- {
- if (!UpdateVictim())
- return;
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo) override
+ {
+ if (spellInfo->Id == SPELL_TRANSFORM_BACK)
+ me->RemoveAurasDueToSpell(SPELL_TRANSFORM_RHINO);
+ }
- switch (Phase)
+ void ExecuteEvent(uint32 eventId) override
{
- case TROLL:
- if (uiPhaseCounter == 2)
- {
- if (uiTransformationTimer <= diff)
+ switch (eventId)
+ {
+ case EVENT_IMPALING_CHARGE:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 60.0f, true))
+ DoCast(target, SPELL_IMPALING_CHARGE);
+ if (++_phaseCounter >= 2)
+ events.ScheduleEvent(EVENT_TRANSFORM, 5 * IN_MILLISECONDS);
+ events.ScheduleEvent(eventId, 31 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ break;
+ case EVENT_STOMP:
+ DoCastAOE(SPELL_STOMP);
+ events.ScheduleEvent(eventId, 20 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ break;
+ case EVENT_PUNCTURE:
+ DoCastVictim(SPELL_PUNCTURE);
+ events.ScheduleEvent(eventId, 8 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ break;
+ case EVENT_STAMPEDE:
+ Talk(SAY_SUMMON_RHINO);
+ DoCast(me, SPELL_STAMPEDE);
+ events.ScheduleEvent(eventId, 15 * IN_MILLISECONDS, 0, PHASE_TROLL);
+ break;
+ case EVENT_WHIRLING_SLASH:
+ DoCastVictim(SPELL_WHIRLING_SLASH);
+ if (++_phaseCounter >= 2)
+ events.ScheduleEvent(EVENT_TRANSFORM, 5 * IN_MILLISECONDS);
+ events.ScheduleEvent(eventId, 21 * IN_MILLISECONDS, 0, PHASE_TROLL);
+ break;
+ case EVENT_ENRAGE:
+ DoCast(me, SPELL_ENRAGE);
+ events.ScheduleEvent(eventId, 20 * IN_MILLISECONDS, 0, PHASE_RHINO);
+ break;
+ case EVENT_TRANSFORM:
+ if (events.IsInPhase(PHASE_TROLL))
{
- me->SetDisplayId(DISPLAY_RHINO);
- Phase = RHINO;
- uiPhaseCounter = 0;
Talk(SAY_TRANSFORM_1);
- uiTransformationTimer = 5*IN_MILLISECONDS;
- bStartOfTransformation = true;
- me->ClearUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
- me->SetReactState(REACT_AGGRESSIVE);
+ DoCast(me, SPELL_TRANSFORM_RHINO);
+ SetPhase(PHASE_RHINO);
}
- else
+ else if (events.IsInPhase(PHASE_RHINO))
{
- uiTransformationTimer -= diff;
-
- if (bStartOfTransformation)
- {
- bStartOfTransformation = false;
- me->AddUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
- me->SetReactState(REACT_PASSIVE);
- }
- }
- }
- else
- {
- if (uiStampedeTimer <= diff)
- {
- DoCast(me, SPELL_STAMPEDE);
- Talk(SAY_SUMMON_RHINO);
- uiStampedeTimer = 15*IN_MILLISECONDS;
- } else uiStampedeTimer -= diff;
-
- if (uiWhirlingSlashTimer <= diff)
- {
- DoCastVictim(SPELL_WHIRLING_SLASH);
- uiWhirlingSlashTimer = 21*IN_MILLISECONDS;
- ++uiPhaseCounter;
- } else uiWhirlingSlashTimer -= diff;
- }
- break;
- case RHINO:
- if (uiPhaseCounter == 2)
- {
- if (uiTransformationTimer <= diff)
- {
- me->SetDisplayId(DISPLAY_TROLL);
- Phase = TROLL;
- uiPhaseCounter = 0;
Talk(SAY_TRANSFORM_2);
- uiTransformationTimer = 9*IN_MILLISECONDS;
- bStartOfTransformation = true;
- me->ClearUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
- me->SetReactState(REACT_AGGRESSIVE);
+ DoCast(me, SPELL_TRANSFORM_BACK);
+ SetPhase(PHASE_TROLL);
}
- else
- {
- uiTransformationTimer -= diff;
-
- if (bStartOfTransformation)
- {
- bStartOfTransformation = false;
- me->AddUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
- me->SetReactState(REACT_PASSIVE);
- }
- }
- }
- else
- {
- if (uiPunctureTimer <= diff)
- {
- DoCastVictim(SPELL_PUNCTURE);
- uiPunctureTimer = 8*IN_MILLISECONDS;
- } else uiPunctureTimer -= diff;
-
- if (uiEnrageTimer <= diff)
- {
- DoCastVictim(SPELL_ENRAGE);
- uiEnrageTimer = 20*IN_MILLISECONDS;
- } else uiEnrageTimer -= diff;
-
- if (uiStompTimer <= diff)
- {
- DoCastVictim(SPELL_STOMP);
- uiStompTimer = 20*IN_MILLISECONDS;
- } else uiStompTimer -= diff;
-
- if (uiImpalingChargeTimer <= diff)
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- {
- DoCast(target, SPELL_IMPALING_CHARGE);
- CheckAchievement(target->GetGUID());
- }
- uiImpalingChargeTimer = 31*IN_MILLISECONDS;
- ++uiPhaseCounter;
- } else uiImpalingChargeTimer -= diff;
- }
- break;
+ _phaseCounter = 0;
+ break;
+ default:
+ break;
+ }
}
- DoMeleeAttackIfReady();
- }
+ private:
+ std::set<uint64> impaledPlayers;
+ uint8 _phaseCounter;
+ };
- // 5 UNIQUE party members
- void CheckAchievement(uint64 guid)
+ CreatureAI* GetAI(Creature* creature) const override
{
- bool playerExists = false;
- for (std::list<uint64>::iterator itr = impaledList.begin(); itr != impaledList.end(); ++itr)
- if (guid != *itr)
- playerExists = true;
-
- if (playerExists)
- ++shareTheLove;
-
- impaledList.push_back(guid);
+ return GetGundrakAI<boss_gal_darahAI>(creature);
}
+};
- uint32 GetData(uint32 type) const override
+// 54956, 59827 - Impaling Charge
+class spell_gal_darah_impaling_charge : public SpellScriptLoader
+{
+ public:
+ spell_gal_darah_impaling_charge() : SpellScriptLoader("spell_gal_darah_impaling_charge") { }
+
+ class spell_gal_darah_impaling_charge_SpellScript : public SpellScript
{
- if (type == DATA_SHARE_THE_LOVE)
- return shareTheLove;
+ PrepareSpellScript(spell_gal_darah_impaling_charge_SpellScript);
- return 0;
- }
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_IMPALING_CHARGE_CONTROL_VEHICLE))
+ return false;
+ return true;
+ }
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
+ bool Load() override
+ {
+ return GetCaster()->GetVehicleKit() && GetCaster()->GetEntry() == NPC_GAL_DARAH;
+ }
- instance->SetData(DATA_GAL_DARAH_EVENT, DONE);
- }
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ if (Unit* target = GetHitUnit())
+ {
+ Unit* caster = GetCaster();
+ target->CastSpell(caster, SPELL_IMPALING_CHARGE_CONTROL_VEHICLE, true);
+ caster->ToCreature()->AI()->SetGUID(target->GetGUID(), DATA_SHARE_THE_LOVE);
+ }
+ }
- void KilledUnit(Unit* victim) override
- {
- if (victim->GetTypeId() != TYPEID_PLAYER)
- return;
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_gal_darah_impaling_charge_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_CHARGE);
+ }
+ };
- Talk(SAY_SLAY);
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_gal_darah_impaling_charge_SpellScript();
}
- };
-
};
class achievement_share_the_love : public AchievementCriteriaScript
{
public:
- achievement_share_the_love() : AchievementCriteriaScript("achievement_share_the_love")
- {
- }
+ achievement_share_the_love() : AchievementCriteriaScript("achievement_share_the_love") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
@@ -309,5 +300,6 @@ class achievement_share_the_love : public AchievementCriteriaScript
void AddSC_boss_gal_darah()
{
new boss_gal_darah();
+ new spell_gal_darah_impaling_charge();
new achievement_share_the_love();
}
diff --git a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
index 255a5ece261..7d7cac5601c 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_moorabi.cpp
@@ -17,170 +17,165 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
+#include "SpellInfo.h"
#include "gundrak.h"
+/// @todo: implement mojo frenzy
+
enum Spells
{
- SPELL_DETERMINED_STAB = 55104,
- SPELL_GROUND_TREMOR = 55142,
- SPELL_NUMBING_SHOUT = 55106,
- SPELL_DETERMINED_GORE = 55102,
- H_SPELL_DETERMINED_GORE = 59444,
- SPELL_QUAKE = 55101,
- SPELL_NUMBING_ROAR = 55100,
- SPELL_MOJO_FRENZY = 55163,
- SPELL_TRANSFORMATION = 55098, //Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects.
+ SPELL_DETERMINED_GORE = 55102,
+ SPELL_DETERMINED_STAB = 55104,
+ SPELL_GROUND_TREMOR = 55142,
+ SPELL_NUMBING_SHOUT = 55106,
+ SPELL_QUAKE = 55101,
+ SPELL_NUMBING_ROAR = 55100,
+ SPELL_MOJO_FRENZY = 55163,
+ SPELL_TRANSFORMATION = 55098, // Periodic, The caster transforms into a powerful mammoth, increasing Physical damage done by 25% and granting immunity to Stun effects.
};
enum Says
{
- SAY_AGGRO = 0,
- SAY_SLAY = 1,
- SAY_DEATH = 2,
- SAY_TRANSFORM = 3,
- SAY_QUAKE = 4,
- EMOTE_TRANSFORM = 5
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_DEATH = 2,
+ SAY_TRANSFORM = 3,
+ SAY_QUAKE = 4,
+ EMOTE_BEGIN_TRANSFORM = 5,
+ EMOTE_TRANSFORMED = 6,
+ EMOTE_ACTIVATE_ALTAR = 7
+};
+
+enum Events
+{
+ EVENT_GROUND_TREMOR = 1,
+ EVENT_NUMBLING_SHOUT,
+ EVENT_DETERMINED_STAB,
+ EVENT_TRANFORMATION
};
enum Misc
{
- DATA_LESS_RABI = 1
+ DATA_LESS_RABI = 1
};
class boss_moorabi : public CreatureScript
{
-public:
- boss_moorabi() : CreatureScript("boss_moorabi") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_moorabiAI>(creature);
- }
-
- struct boss_moorabiAI : public ScriptedAI
- {
- boss_moorabiAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- instance = creature->GetInstanceScript();
- }
-
- void Initialize()
- {
- uiGroundTremorTimer = 18 * IN_MILLISECONDS;
- uiNumblingShoutTimer = 10 * IN_MILLISECONDS;
- uiDeterminedStabTimer = 20 * IN_MILLISECONDS;
- uiTransformationTImer = 12 * IN_MILLISECONDS;
- bPhase = false;
- }
-
- InstanceScript* instance;
-
- bool bPhase;
-
- uint32 uiNumblingShoutTimer;
- uint32 uiGroundTremorTimer;
- uint32 uiDeterminedStabTimer;
- uint32 uiTransformationTImer;
-
- void Reset() override
- {
- Initialize();
-
- instance->SetData(DATA_MOORABI_EVENT, NOT_STARTED);
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- Talk(SAY_AGGRO);
- DoCast(me, SPELL_MOJO_FRENZY, true);
-
- instance->SetData(DATA_MOORABI_EVENT, IN_PROGRESS);
- }
+ public:
+ boss_moorabi() : CreatureScript("boss_moorabi") { }
- void UpdateAI(uint32 uiDiff) override
+ struct boss_moorabiAI : public BossAI
{
- //Return since we have no target
- if (!UpdateVictim())
- return;
-
- if (!bPhase && me->HasAura(SPELL_TRANSFORMATION))
+ boss_moorabiAI(Creature* creature) : BossAI(creature, DATA_MOORABI)
{
- bPhase = true;
- me->RemoveAura(SPELL_MOJO_FRENZY);
+ Initialize();
}
- if (uiGroundTremorTimer <= uiDiff)
+ void Initialize()
{
- Talk(SAY_QUAKE);
- if (bPhase)
- DoCastVictim(SPELL_QUAKE, true);
- else
- DoCastVictim(SPELL_GROUND_TREMOR, true);
- uiGroundTremorTimer = 10*IN_MILLISECONDS;
- } else uiGroundTremorTimer -= uiDiff;
-
- if (uiNumblingShoutTimer <= uiDiff)
+ _transformed = false;
+ }
+
+ void Reset() override
{
- if (bPhase)
- DoCastVictim(SPELL_NUMBING_ROAR, true);
- else
- DoCastVictim(SPELL_NUMBING_SHOUT, true);
- uiNumblingShoutTimer = 10*IN_MILLISECONDS;
- } else uiNumblingShoutTimer -=uiDiff;
-
- if (uiDeterminedStabTimer <= uiDiff)
+ Initialize();
+ _Reset();
+ }
+
+ void EnterCombat(Unit* /*who*/) override
{
- if (bPhase)
- DoCastVictim(SPELL_DETERMINED_GORE);
- else
- DoCastVictim(SPELL_DETERMINED_STAB, true);
- uiDeterminedStabTimer = 8*IN_MILLISECONDS;
- } else uiDeterminedStabTimer -=uiDiff;
-
- if (!bPhase && uiTransformationTImer <= uiDiff)
+ _EnterCombat();
+ Talk(SAY_AGGRO);
+ DoCast(me, SPELL_MOJO_FRENZY, true);
+
+ events.ScheduleEvent(EVENT_GROUND_TREMOR, 18 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_NUMBLING_SHOUT, 10 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_DETERMINED_STAB, 20 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_TRANFORMATION, 12 * IN_MILLISECONDS);
+ }
+
+ uint32 GetData(uint32 type) const override
{
- Talk(EMOTE_TRANSFORM);
- Talk(SAY_TRANSFORM);
- DoCast(me, SPELL_TRANSFORMATION, false);
- uiTransformationTImer = 10*IN_MILLISECONDS;
- } else uiTransformationTImer -= uiDiff;
+ if (type == DATA_LESS_RABI)
+ return _transformed ? 0 : 1;
+ return 0;
+ }
- DoMeleeAttackIfReady();
- }
+ void KilledUnit(Unit* victim) override
+ {
+ if (victim->GetTypeId() == TYPEID_PLAYER)
+ Talk(SAY_SLAY);
+ }
- uint32 GetData(uint32 type) const override
- {
- if (type == DATA_LESS_RABI)
- return bPhase ? 0 : 1;
+ void JustDied(Unit* /*killer*/) override
+ {
+ _JustDied();
+ Talk(SAY_DEATH);
+ Talk(EMOTE_ACTIVATE_ALTAR);
+ }
- return 0;
- }
+ void SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo) override
+ {
+ if (spellInfo->Id == SPELL_TRANSFORMATION)
+ {
+ _transformed = true;
+ Talk(EMOTE_TRANSFORMED);
+ events.CancelEvent(EVENT_TRANFORMATION);
+ me->RemoveAurasDueToSpell(SPELL_MOJO_FRENZY);
+ }
+ }
- void JustDied(Unit* /*killer*/) override
- {
- Talk(SAY_DEATH);
+ void ExecuteEvent(uint32 eventId) override
+ {
+ switch (eventId)
+ {
+ case EVENT_GROUND_TREMOR:
+ Talk(SAY_QUAKE);
+ if (_transformed)
+ DoCastAOE(SPELL_QUAKE);
+ else
+ DoCastAOE(SPELL_GROUND_TREMOR);
+ events.ScheduleEvent(eventId, 10 * IN_MILLISECONDS);
+ break;
+ case EVENT_NUMBLING_SHOUT:
+ if (_transformed)
+ DoCastAOE(SPELL_NUMBING_ROAR);
+ else
+ DoCastAOE(SPELL_NUMBING_SHOUT);
+ events.ScheduleEvent(eventId, 10 * IN_MILLISECONDS);
+ break;
+ case EVENT_DETERMINED_STAB:
+ if (_transformed)
+ DoCastVictim(SPELL_DETERMINED_GORE);
+ else
+ DoCastVictim(SPELL_DETERMINED_STAB);
+ events.ScheduleEvent(eventId, 8 * IN_MILLISECONDS);
+ break;
+ case EVENT_TRANFORMATION:
+ Talk(EMOTE_BEGIN_TRANSFORM);
+ Talk(SAY_TRANSFORM);
+ DoCast(me, SPELL_TRANSFORMATION);
+ events.ScheduleEvent(eventId, 10 * IN_MILLISECONDS);
+ break;
+ default:
+ break;
+ }
+ }
- instance->SetData(DATA_MOORABI_EVENT, DONE);
- }
+ private:
+ bool _transformed;
+ };
- void KilledUnit(Unit* victim) override
+ CreatureAI* GetAI(Creature* creature) const override
{
- if (victim->GetTypeId() != TYPEID_PLAYER)
- return;
-
- Talk(SAY_SLAY);
+ return GetGundrakAI<boss_moorabiAI>(creature);
}
- };
-
};
class achievement_less_rabi : public AchievementCriteriaScript
{
public:
- achievement_less_rabi() : AchievementCriteriaScript("achievement_less_rabi")
- {
- }
+ achievement_less_rabi() : AchievementCriteriaScript("achievement_less_rabi") { }
bool OnCheck(Player* /*player*/, Unit* target) override
{
diff --git a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
index 5db49415604..9520736cdb5 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_slad_ran.cpp
@@ -24,11 +24,10 @@
enum Spells
{
SPELL_POISON_NOVA = 55081,
- H_SPELL_POISON_NOVA = 59842,
SPELL_POWERFULL_BITE = 48287,
- H_SPELL_POWERFULL_BITE = 59840,
SPELL_VENOM_BOLT = 54970,
- H_SPELL_VENOM_BOLT = 59839
+ SPELL_SUMMON_SNAKES = 55060, // NYI
+ SPELL_SUMMON_CONSTRICTORS = 54969 // NYI
};
enum Yells
@@ -38,7 +37,8 @@ enum Yells
SAY_DEATH = 2,
SAY_SUMMON_SNAKES = 3,
SAY_SUMMON_CONSTRICTORS = 4,
- EMOTE_NOVA = 5
+ EMOTE_NOVA = 5,
+ EMOTE_ACTIVATE_ALTAR = 6
};
enum Creatures
@@ -50,18 +50,17 @@ enum Creatures
enum ConstrictorSpells
{
SPELL_GRIP_OF_SLAD_RAN = 55093,
- SPELL_SNAKE_WRAP = 55126,
- SPELL_VENOMOUS_BITE = 54987,
- H_SPELL_VENOMOUS_BITE = 58996
+ SPELL_SNAKE_WRAP = 55126, // 55099 -> 55126
+ SPELL_VENOMOUS_BITE = 54987
};
static Position SpawnLoc[]=
{
- {1783.81f, 646.637f, 133.948f, 3.71755f},
- {1775.03f, 606.586f, 134.165f, 1.43117f},
- {1717.39f, 630.041f, 129.282f, 5.96903f},
- {1765.66f, 646.542f, 134.02f, 5.11381f},
- {1716.76f, 635.159f, 129.282f, 0.191986f}
+ {1783.81f, 646.637f, 133.948f, 3.71755f},
+ {1775.03f, 606.586f, 134.165f, 1.43117f},
+ {1717.39f, 630.041f, 129.282f, 5.96903f},
+ {1765.66f, 646.542f, 134.02f, 5.11381f},
+ {1716.76f, 635.159f, 129.282f, 0.191986f}
};
enum Misc
@@ -74,17 +73,11 @@ class boss_slad_ran : public CreatureScript
public:
boss_slad_ran() : CreatureScript("boss_slad_ran") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetInstanceAI<boss_slad_ranAI>(creature);
- }
-
- struct boss_slad_ranAI : public ScriptedAI
+ struct boss_slad_ranAI : public BossAI
{
- boss_slad_ranAI(Creature* creature) : ScriptedAI(creature), lSummons(me)
+ boss_slad_ranAI(Creature* creature) : BossAI(creature, DATA_SLAD_RAN)
{
Initialize();
- instance = creature->GetInstanceScript();
}
void Initialize()
@@ -103,26 +96,19 @@ public:
uint8 uiPhase;
- std::set<uint64> lWrappedPlayers;
- SummonList lSummons;
-
- InstanceScript* instance;
+ GuidSet lWrappedPlayers;
void Reset() override
{
Initialize();
+ _Reset();
lWrappedPlayers.clear();
-
- lSummons.DespawnAll();
-
- instance->SetData(DATA_SLAD_RAN_EVENT, NOT_STARTED);
}
void EnterCombat(Unit* /*who*/) override
{
+ _EnterCombat();
Talk(SAY_AGGRO);
-
- instance->SetData(DATA_SLAD_RAN_EVENT, IN_PROGRESS);
}
void UpdateAI(uint32 diff) override
@@ -181,10 +167,9 @@ public:
void JustDied(Unit* /*killer*/) override
{
+ _JustDied();
Talk(SAY_DEATH);
- lSummons.DespawnAll();
-
- instance->SetData(DATA_SLAD_RAN_EVENT, DONE);
+ Talk(EMOTE_ACTIVATE_ALTAR);
}
void KilledUnit(Unit* who) override
@@ -193,24 +178,28 @@ public:
Talk(SAY_SLAY);
}
- void JustSummoned(Creature* summoned) override
+ void JustSummoned(Creature* summon) override
{
- summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
- lSummons.Summon(summoned);
+ summon->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
+ summons.Summon(summon);
}
- void SetGUID(uint64 guid, int32 type) override
+ void SetGUID(ObjectGuid guid, int32 type) override
{
if (type == DATA_SNAKES_WHYD_IT_HAVE_TO_BE_SNAKES)
lWrappedPlayers.insert(guid);
}
- bool WasWrapped(uint64 guid)
+ bool WasWrapped(ObjectGuid guid)
{
return lWrappedPlayers.count(guid) != 0;
}
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetGundrakAI<boss_slad_ranAI>(creature);
+ }
};
class npc_slad_ran_constrictor : public CreatureScript
@@ -310,9 +299,7 @@ public:
class achievement_snakes_whyd_it_have_to_be_snakes : public AchievementCriteriaScript
{
public:
- achievement_snakes_whyd_it_have_to_be_snakes() : AchievementCriteriaScript("achievement_snakes_whyd_it_have_to_be_snakes")
- {
- }
+ achievement_snakes_whyd_it_have_to_be_snakes() : AchievementCriteriaScript("achievement_snakes_whyd_it_have_to_be_snakes") { }
bool OnCheck(Player* player, Unit* target) override
{
diff --git a/src/server/scripts/Northrend/Gundrak/gundrak.h b/src/server/scripts/Northrend/Gundrak/gundrak.h
index fffeca82f39..9963c6caee8 100644
--- a/src/server/scripts/Northrend/Gundrak/gundrak.h
+++ b/src/server/scripts/Northrend/Gundrak/gundrak.h
@@ -15,59 +15,85 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef DEF_GUNDRAK_H
-#define DEF_GUNDRAK_H
+#ifndef GUNDRAK_H_
+#define GUNDRAK_H_
+#define GundrakScriptName "instance_gundrak"
#define DataHeader "GD"
-enum Data
+uint32 const EncounterCount = 5;
+
+enum DataTypes
{
- DATA_SLAD_RAN_EVENT,
- DATA_MOORABI_EVENT,
- DATA_DRAKKARI_COLOSSUS_EVENT,
- DATA_GAL_DARAH_EVENT,
- DATA_ECK_THE_FEROCIOUS_EVENT
+ // Encounter Ids // Encounter States // Boss GUIDs
+ DATA_SLAD_RAN = 0,
+ DATA_DRAKKARI_COLOSSUS = 1,
+ DATA_MOORABI = 2,
+ DATA_GAL_DARAH = 3,
+ DATA_ECK_THE_FEROCIOUS = 4,
+
+ // Additional Objects
+ DATA_SLAD_RAN_ALTAR = 5,
+ DATA_DRAKKARI_COLOSSUS_ALTAR = 6,
+ DATA_MOORABI_ALTAR = 7,
+
+ DATA_SLAD_RAN_STATUE = 8,
+ DATA_DRAKKARI_COLOSSUS_STATUE = 9,
+ DATA_MOORABI_STATUE = 10,
+ DATA_GAL_DARAH_STATUE = 11,
+
+ DATA_TRAPDOOR = 12,
+ DATA_COLLISION = 13,
+ DATA_BRIDGE = 14,
+
+ DATA_STATUE_ACTIVATE = 15,
};
-enum Data64
+enum CreatureIds
{
- DATA_SLAD_RAN_ALTAR,
- DATA_MOORABI_ALTAR,
- DATA_DRAKKARI_COLOSSUS_ALTAR,
- DATA_SLAD_RAN_STATUE,
- DATA_MOORABI_STATUE,
- DATA_DRAKKARI_COLOSSUS_STATUE,
- DATA_DRAKKARI_COLOSSUS,
- DATA_STATUE_ACTIVATE
+ NPC_SLAD_RAN = 29304,
+ NPC_MOORABI = 29305,
+ NPC_GAL_DARAH = 29306,
+ NPC_DRAKKARI_COLOSSUS = 29307,
+ NPC_RUIN_DWELLER = 29920,
+ NPC_ECK_THE_FEROCIOUS = 29932,
+ NPC_ALTAR_TRIGGER = 30298
};
-enum mainCreatures
+enum GameObjectIds
{
- CREATURE_RUIN_DWELLER = 29920,
- CREATURE_SLAD_RAN = 29304,
- CREATURE_MOORABI = 29305,
- CREATURE_GALDARAH = 29306,
- CREATURE_DRAKKARICOLOSSUS = 29307,
- CREATURE_ECK = 29932
+ GO_SLAD_RAN_ALTAR = 192518,
+ GO_MOORABI_ALTAR = 192519,
+ GO_DRAKKARI_COLOSSUS_ALTAR = 192520,
+ GO_SLAD_RAN_STATUE = 192564,
+ GO_MOORABI_STATUE = 192565,
+ GO_GAL_DARAH_STATUE = 192566,
+ GO_DRAKKARI_COLOSSUS_STATUE = 192567,
+ GO_ECK_THE_FEROCIOUS_DOOR = 192632,
+ GO_ECK_THE_FEROCIOUS_DOOR_BEHIND = 192569,
+ GO_GAL_DARAH_DOOR_1 = 193208,
+ GO_GAL_DARAH_DOOR_2 = 193209,
+ GO_GAL_DARAH_DOOR_3 = 192568,
+ GO_TRAPDOOR = 193188,
+ GO_COLLISION = 192633,
};
-enum Gameobjects
+enum SpellIds
{
+ SPELL_FIRE_BEAM_MAMMOTH = 57068,
+ SPELL_FIRE_BEAM_SNAKE = 57071,
+ SPELL_FIRE_BEAM_ELEMENTAL = 57072
+};
- GO_SLADRAN_ALTAR = 192518,
- GO_MOORABI_ALTAR = 192519,
- GO_DRAKKARI_COLOSSUS_ALTAR = 192520,
- GO_SLADRAN_STATUE = 192564,
- GO_MOORABI_STATUE = 192565,
- GO_GALDARAH_STATUE = 192566,
- GO_DRAKKARI_COLOSSUS_STATUE = 192567,
- GO_ECK_THE_FEROCIOUS_DOOR = 192632,
- GO_ECK_THE_FEROCIOUS_DOOR_BEHIND = 192569,
- GO_GALDARAH_DOOR1 = 193208,
- GO_GALDARAH_DOOR2 = 193209,
- GO_GALDARAH_DOOR3 = 192568,
- GO_BRIDGE = 193188,
- GO_COLLISION = 192633
+enum InstanceMisc
+{
+ TIMER_STATUE_ACTIVATION = 3500
};
-#endif
+template<class AI>
+inline AI* GetGundrakAI(Creature* creature)
+{
+ return GetInstanceAI<AI>(creature, GundrakScriptName);
+}
+
+#endif // GUNDRAK_H_
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 388d43e8dca..31722b06be8 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -15,577 +15,354 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "ScriptMgr.h"
#include "InstanceScript.h"
-#include "gundrak.h"
#include "Player.h"
-#include "TemporarySummon.h"
+#include "ScriptMgr.h"
+#include "WorldSession.h"
+#include "gundrak.h"
+
+DoorData const doorData[] =
+{
+ { GO_GAL_DARAH_DOOR_1, DATA_GAL_DARAH, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_GAL_DARAH_DOOR_2, DATA_GAL_DARAH, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_GAL_DARAH_DOOR_3, DATA_GAL_DARAH, DOOR_TYPE_ROOM, BOUNDARY_NONE },
+ { GO_ECK_THE_FEROCIOUS_DOOR, DATA_MOORABI, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { GO_ECK_THE_FEROCIOUS_DOOR_BEHIND, DATA_ECK_THE_FEROCIOUS, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
+ { 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
+};
-#define MAX_ENCOUNTER 5
+ObjectData const creatureData[] =
+{
+ { NPC_DRAKKARI_COLOSSUS, DATA_DRAKKARI_COLOSSUS },
+ { 0, 0 } // END
+};
-/* GunDrak encounters:
-0 - Slad'Ran
-1 - Moorabi
-2 - Drakkari Colossus
-3 - Gal'Darah
-4 - Eck the Ferocious
-*/
+ObjectData const gameObjectData[] =
+{
+ { GO_SLAD_RAN_ALTAR, DATA_SLAD_RAN_ALTAR },
+ { GO_MOORABI_ALTAR, DATA_MOORABI_ALTAR },
+ { GO_DRAKKARI_COLOSSUS_ALTAR, DATA_DRAKKARI_COLOSSUS_ALTAR },
+ { GO_SLAD_RAN_STATUE, DATA_SLAD_RAN_STATUE },
+ { GO_MOORABI_STATUE, DATA_MOORABI_STATUE },
+ { GO_DRAKKARI_COLOSSUS_STATUE, DATA_DRAKKARI_COLOSSUS_STATUE },
+ { GO_GAL_DARAH_STATUE, DATA_GAL_DARAH_STATUE },
+ { GO_TRAPDOOR, DATA_TRAPDOOR },
+ { GO_COLLISION, DATA_COLLISION },
+ { 0, 0 } // END
+};
Position const EckSpawnPoint = { 1643.877930f, 936.278015f, 107.204948f, 0.668432f };
class instance_gundrak : public InstanceMapScript
{
-public:
- instance_gundrak() : InstanceMapScript("instance_gundrak", 604) { }
-
- InstanceScript* GetInstanceScript(InstanceMap* map) const override
- {
- return new instance_gundrak_InstanceMapScript(map);
- }
+ public:
+ instance_gundrak() : InstanceMapScript(GundrakScriptName, 604) { }
- struct instance_gundrak_InstanceMapScript : public InstanceScript
- {
- instance_gundrak_InstanceMapScript(Map* map) : InstanceScript(map)
+ struct instance_gundrak_InstanceMapScript : public InstanceScript
{
- SetHeaders(DataHeader);
- isHeroic = map->IsHeroic();
- }
-
- bool isHeroic;
- bool spawnSupport;
-
- uint32 timer;
- uint32 phase;
- uint64 toActivate;
-
- uint64 sladRanGUID;
- uint64 moorabiGUID;
- uint64 drakkariColossusGUID;
- uint64 galDarahGUID;
- uint64 eckTheFerociousGUID;
-
- uint64 sladRanAltarGUID;
- uint64 moorabiAltarGUID;
- uint64 drakkariColossusAltarGUID;
- uint64 sladRanStatueGUID;
- uint64 moorabiStatueGUID;
- uint64 drakkariColossusStatueGUID;
- uint64 galDarahStatueGUID;
- uint64 eckTheFerociousDoorGUID;
- uint64 eckTheFerociousDoorBehindGUID;
- uint64 galDarahDoor1GUID;
- uint64 galDarahDoor2GUID;
- uint64 galDarahDoor3GUID;
- uint64 bridgeGUID;
- uint64 collisionGUID;
-
- uint32 m_auiEncounter[MAX_ENCOUNTER];
-
- GOState sladRanStatueState;
- GOState moorabiStatueState;
- GOState drakkariColossusStatueState;
- GOState galDarahStatueState;
- GOState bridgeState;
- GOState collisionState;
-
- std::set<uint64> DwellerGUIDs;
-
- std::string str_data;
-
- void Initialize() override
- {
- spawnSupport = false;
-
- timer = 0;
- phase = 0;
- toActivate = 0;
-
- sladRanGUID = 0;
- moorabiGUID = 0;
- drakkariColossusGUID = 0;
- galDarahGUID = 0;
- eckTheFerociousGUID = 0;
-
- sladRanAltarGUID = 0;
- moorabiAltarGUID = 0;
- drakkariColossusAltarGUID = 0;
-
- sladRanStatueGUID = 0;
- moorabiStatueGUID = 0;
- drakkariColossusStatueGUID = 0;
- galDarahStatueGUID = 0;
-
- eckTheFerociousDoorGUID = 0;
- eckTheFerociousDoorBehindGUID = 0;
- galDarahDoor1GUID = 0;
- galDarahDoor2GUID = 0;
- galDarahDoor3GUID = 0;
-
- bridgeGUID = 0;
- collisionGUID = 0;
-
- sladRanStatueState = GO_STATE_ACTIVE;
- moorabiStatueState = GO_STATE_ACTIVE;
- drakkariColossusStatueState = GO_STATE_ACTIVE;
- galDarahStatueState = GO_STATE_READY;
- bridgeState = GO_STATE_ACTIVE;
- collisionState = GO_STATE_READY;
-
- DwellerGUIDs.clear();
-
- memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- }
-
- bool IsEncounterInProgress() const override
- {
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- if (m_auiEncounter[i] == IN_PROGRESS)
- return true;
-
- return false;
- }
+ instance_gundrak_InstanceMapScript(Map* map) : InstanceScript(map)
+ {
+ SetHeaders(DataHeader);
+ SetBossNumber(EncounterCount);
+ LoadDoorData(doorData);
+ LoadObjectData(creatureData, gameObjectData);
+
+ SladRanStatueState = GO_STATE_ACTIVE;
+ DrakkariColossusStatueState = GO_STATE_ACTIVE;
+ MoorabiStatueState = GO_STATE_ACTIVE;
+ }
- void OnCreatureCreate(Creature* creature) override
- {
- switch (creature->GetEntry())
+ void OnCreatureCreate(Creature* creature) override
{
- case CREATURE_SLAD_RAN:
- sladRanGUID = creature->GetGUID();
- break;
- case CREATURE_MOORABI:
- moorabiGUID = creature->GetGUID();
- break;
- case CREATURE_GALDARAH:
- galDarahGUID = creature->GetGUID();
- break;
- case CREATURE_DRAKKARICOLOSSUS:
- drakkariColossusGUID = creature->GetGUID();
- break;
- case CREATURE_ECK:
- eckTheFerociousGUID = creature->GetGUID();
- break;
- case CREATURE_RUIN_DWELLER:
- if (creature->IsAlive())
- DwellerGUIDs.insert(creature->GetGUID());
- break;
+ switch (creature->GetEntry())
+ {
+ case NPC_RUIN_DWELLER:
+ if (creature->IsAlive())
+ DwellerGUIDs.insert(creature->GetGUID());
+ break;
+ default:
+ break;
+ }
+
+ InstanceScript::OnCreatureCreate(creature);
}
- }
- void OnGameObjectCreate(GameObject* go) override
- {
- switch (go->GetEntry())
+ void OnGameObjectCreate(GameObject* go) override
{
- case GO_SLADRAN_ALTAR:
- sladRanAltarGUID = go->GetGUID();
- // Make sure that they start out as unusuable
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- if (m_auiEncounter[0] == DONE)
- {
- if (sladRanStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- else
+ switch (go->GetEntry())
+ {
+ case GO_SLAD_RAN_ALTAR:
+ if (GetBossState(DATA_SLAD_RAN) == DONE)
{
- ++phase;
- go->SetGoState(GO_STATE_ACTIVE);
+ if (SladRanStatueState == GO_STATE_ACTIVE)
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ else
+ go->SetGoState(GO_STATE_ACTIVE);
}
- }
- break;
- case GO_MOORABI_ALTAR:
- moorabiAltarGUID = go->GetGUID();
- // Make sure that they start out as unusuable
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- if (m_auiEncounter[0] == DONE)
- {
- if (moorabiStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- else
+ break;
+ case GO_MOORABI_ALTAR:
+ if (GetBossState(DATA_MOORABI) == DONE)
{
- ++phase;
- go->SetGoState(GO_STATE_ACTIVE);
+ if (MoorabiStatueState == GO_STATE_ACTIVE)
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ else
+ go->SetGoState(GO_STATE_ACTIVE);
}
- }
- break;
- case GO_DRAKKARI_COLOSSUS_ALTAR:
- drakkariColossusAltarGUID = go->GetGUID();
- // Make sure that they start out as unusuable
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- if (m_auiEncounter[0] == DONE)
- {
- if (drakkariColossusStatueState == GO_STATE_ACTIVE)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- else
+ break;
+ case GO_DRAKKARI_COLOSSUS_ALTAR:
+ if (GetBossState(DATA_DRAKKARI_COLOSSUS) == DONE)
{
- ++phase;
- go->SetGoState(GO_STATE_ACTIVE);
+ if (DrakkariColossusStatueState == GO_STATE_ACTIVE)
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ else
+ go->SetGoState(GO_STATE_ACTIVE);
}
- }
- break;
- case GO_SLADRAN_STATUE:
- sladRanStatueGUID = go->GetGUID();
- go->SetGoState(sladRanStatueState);
- break;
- case GO_MOORABI_STATUE:
- moorabiStatueGUID = go->GetGUID();
- go->SetGoState(moorabiStatueState);
- break;
- case GO_GALDARAH_STATUE:
- galDarahStatueGUID = go->GetGUID();
- go->SetGoState(galDarahStatueState);
- break;
- case GO_DRAKKARI_COLOSSUS_STATUE:
- drakkariColossusStatueGUID = go->GetGUID();
- go->SetGoState(drakkariColossusStatueState);
- break;
- case GO_ECK_THE_FEROCIOUS_DOOR:
- eckTheFerociousDoorGUID = go->GetGUID();
- if (isHeroic && m_auiEncounter[1] == DONE)
- HandleGameObject(0, true, go);
- break;
- case GO_ECK_THE_FEROCIOUS_DOOR_BEHIND:
- eckTheFerociousDoorBehindGUID = go->GetGUID();
- if (isHeroic && m_auiEncounter[4] == DONE)
- HandleGameObject(0, true, go);
- break;
- case GO_GALDARAH_DOOR1:
- galDarahDoor1GUID = go->GetGUID();
- if (m_auiEncounter[3] == DONE)
- HandleGameObject(0, true, go);
- break;
- case GO_GALDARAH_DOOR2:
- galDarahDoor2GUID = go->GetGUID();
- if (m_auiEncounter[3] == DONE)
- HandleGameObject(0, true, go);
- break;
- case GO_BRIDGE:
- bridgeGUID = go->GetGUID();
- go->SetGoState(bridgeState);
- break;
- case GO_COLLISION:
- collisionGUID = go->GetGUID();
- go->SetGoState(collisionState);
-
- // Can't spawn here with SpawnGameObject because go isn't added to world yet...
- if (collisionState == GO_STATE_ACTIVE_ALTERNATIVE)
- spawnSupport = true;
- break;
- case GO_GALDARAH_DOOR3:
- galDarahDoor3GUID = go->GetGUID();
- if (m_auiEncounter[3] != IN_PROGRESS)
- HandleGameObject(galDarahDoor3GUID, true, go);
- break;
+ break;
+ case GO_SLAD_RAN_STATUE:
+ go->SetGoState(SladRanStatueState);
+ break;
+ case GO_MOORABI_STATUE:
+ go->SetGoState(MoorabiStatueState);
+ break;
+ case GO_GAL_DARAH_STATUE:
+ go->SetGoState(CheckRequiredBosses(DATA_GAL_DARAH) ? GO_STATE_ACTIVE_ALTERNATIVE : GO_STATE_READY);
+ break;
+ case GO_DRAKKARI_COLOSSUS_STATUE:
+ go->SetGoState(DrakkariColossusStatueState);
+ break;
+ case GO_ECK_THE_FEROCIOUS_DOOR:
+ // Don't store door on non-heroic
+ if (!instance->IsHeroic())
+ return;
+ break;
+ case GO_TRAPDOOR:
+ go->SetGoState(CheckRequiredBosses(DATA_GAL_DARAH) ? GO_STATE_READY : GO_STATE_ACTIVE);
+ break;
+ case GO_COLLISION:
+ go->SetGoState(CheckRequiredBosses(DATA_GAL_DARAH) ? GO_STATE_ACTIVE : GO_STATE_READY);
+ break;
+ default:
+ break;
+ }
+
+ InstanceScript::OnGameObjectCreate(go);
}
- }
- void OnUnitDeath(Unit* unit) override
- {
- if (unit->GetEntry() == CREATURE_RUIN_DWELLER)
+ void OnUnitDeath(Unit* unit) override
{
- DwellerGUIDs.erase(unit->GetGUID());
+ if (unit->GetEntry() == NPC_RUIN_DWELLER)
+ {
+ DwellerGUIDs.erase(unit->GetGUID());
- if (DwellerGUIDs.empty())
- unit->SummonCreature(CREATURE_ECK, EckSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300 * IN_MILLISECONDS);
+ if (DwellerGUIDs.empty())
+ unit->SummonCreature(NPC_ECK_THE_FEROCIOUS, EckSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300 * IN_MILLISECONDS);
+ }
}
- }
- void SetData(uint32 type, uint32 data) override
- {
- switch (type)
+ bool SetBossState(uint32 type, EncounterState state) override
{
- case DATA_SLAD_RAN_EVENT:
- m_auiEncounter[0] = data;
- if (data == DONE)
- {
- GameObject* go = instance->GetGameObject(sladRanAltarGUID);
- if (go)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- }
- break;
- case DATA_MOORABI_EVENT:
- m_auiEncounter[1] = data;
- if (data == DONE)
- {
- GameObject* go = instance->GetGameObject(moorabiAltarGUID);
- if (go)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- if (isHeroic)
- HandleGameObject(eckTheFerociousDoorGUID, true);
- }
- break;
- case DATA_DRAKKARI_COLOSSUS_EVENT:
- m_auiEncounter[2] = data;
- if (data == DONE)
+ if (!InstanceScript::SetBossState(type, state))
+ return false;
+
+ switch (type)
{
- GameObject* go = instance->GetGameObject(drakkariColossusAltarGUID);
- if (go)
- go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ case DATA_SLAD_RAN:
+ if (state == DONE)
+ if (GameObject* go = GetGameObject(DATA_SLAD_RAN_ALTAR))
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ break;
+ case DATA_DRAKKARI_COLOSSUS:
+ if (state == DONE)
+ if (GameObject* go = GetGameObject(DATA_DRAKKARI_COLOSSUS_ALTAR))
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ break;
+ case DATA_MOORABI:
+ if (state == DONE)
+ if (GameObject* go = GetGameObject(DATA_MOORABI_ALTAR))
+ go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ break;
+ default:
+ break;
}
- break;
- case DATA_GAL_DARAH_EVENT:
- m_auiEncounter[3] = data;
- if (data == DONE)
+
+ return true;
+ }
+
+ bool CheckRequiredBosses(uint32 bossId, Player const* player = nullptr) const override
+ {
+ if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
+ return true;
+
+ switch (bossId)
{
- HandleGameObject(galDarahDoor1GUID, true);
- HandleGameObject(galDarahDoor2GUID, true);
+ case DATA_ECK_THE_FEROCIOUS:
+ if (!instance->IsHeroic() || GetBossState(DATA_MOORABI) != DONE)
+ return false;
+ break;
+ case DATA_GAL_DARAH:
+ if (SladRanStatueState != GO_STATE_ACTIVE_ALTERNATIVE
+ || DrakkariColossusStatueState != GO_STATE_ACTIVE_ALTERNATIVE
+ || MoorabiStatueState != GO_STATE_ACTIVE_ALTERNATIVE)
+ return false;
+ break;
+ default:
+ break;
}
- HandleGameObject(galDarahDoor3GUID, data == IN_PROGRESS ? false : true);
- break;
- case DATA_ECK_THE_FEROCIOUS_EVENT:
- m_auiEncounter[4] = data;
- if (isHeroic && data == DONE)
- HandleGameObject(eckTheFerociousDoorBehindGUID, true);
- break;
- }
- if (data == DONE)
- SaveToDB();
- }
+ return true;
+ }
- void SetData64(uint32 type, uint64 data) override
- {
- if (type == DATA_STATUE_ACTIVATE)
+ bool IsBridgeReady() const
{
- toActivate = data;
- timer = 3500;
- ++phase;
+ return SladRanStatueState == GO_STATE_READY && DrakkariColossusStatueState == GO_STATE_READY && MoorabiStatueState == GO_STATE_READY;
}
- }
- uint32 GetData(uint32 type) const override
- {
- switch (type)
+ void SetData(uint32 type, uint32 data) override
{
- case DATA_SLAD_RAN_EVENT:
- return m_auiEncounter[0];
- case DATA_MOORABI_EVENT:
- return m_auiEncounter[1];
- case DATA_GAL_DARAH_EVENT:
- return m_auiEncounter[2];
- case DATA_DRAKKARI_COLOSSUS_EVENT:
- return m_auiEncounter[3];
- case DATA_ECK_THE_FEROCIOUS_EVENT:
- return m_auiEncounter[4];
+ if (type == DATA_STATUE_ACTIVATE)
+ {
+ switch (data)
+ {
+ case GO_SLAD_RAN_ALTAR:
+ Events.ScheduleEvent(DATA_SLAD_RAN_STATUE, TIMER_STATUE_ACTIVATION);
+ break;
+ case GO_DRAKKARI_COLOSSUS_ALTAR:
+ Events.ScheduleEvent(DATA_DRAKKARI_COLOSSUS_STATUE, TIMER_STATUE_ACTIVATION);
+ break;
+ case GO_MOORABI_ALTAR:
+ Events.ScheduleEvent(DATA_MOORABI_STATUE, TIMER_STATUE_ACTIVATION);
+ break;
+ default:
+ break;
+ }
+ }
}
- return 0;
- }
-
- uint64 GetData64(uint32 type) const override
- {
- switch (type)
+ void WriteSaveDataMore(std::ostringstream& data) override
{
- case DATA_SLAD_RAN_ALTAR:
- return sladRanAltarGUID;
- case DATA_MOORABI_ALTAR:
- return moorabiAltarGUID;
- case DATA_DRAKKARI_COLOSSUS_ALTAR:
- return drakkariColossusAltarGUID;
- case DATA_SLAD_RAN_STATUE:
- return sladRanStatueGUID;
- case DATA_MOORABI_STATUE:
- return moorabiStatueGUID;
- case DATA_DRAKKARI_COLOSSUS_STATUE:
- return drakkariColossusStatueGUID;
- case DATA_DRAKKARI_COLOSSUS:
- return drakkariColossusGUID;
- case DATA_STATUE_ACTIVATE:
- return toActivate;
+ data << uint32(SladRanStatueState) << ' ';
+ data << uint32(DrakkariColossusStatueState) << ' ';
+ data << uint32(MoorabiStatueState) << ' ';
}
- return 0;
- }
+ void ReadSaveDataMore(std::istringstream& data) override
+ {
+ uint32 temp;
- std::string GetSaveData() override
- {
- OUT_SAVE_INST_DATA;
+ data >> temp;
+ SladRanStatueState = GOState(temp);
- std::ostringstream saveStream;
- saveStream << "G D " << m_auiEncounter[0] << ' ' << m_auiEncounter[1] << ' '
- << m_auiEncounter[2] << ' ' << m_auiEncounter[3] << ' ' << m_auiEncounter[4] << ' '
- << (sladRanStatueGUID ? GetObjState(sladRanStatueGUID) : GO_STATE_ACTIVE) << ' ' << (moorabiStatueGUID ? GetObjState(moorabiStatueGUID) : GO_STATE_ACTIVE) << ' '
- << (drakkariColossusStatueGUID ? GetObjState(drakkariColossusStatueGUID) : GO_STATE_ACTIVE) << ' ' << (galDarahStatueGUID ? GetObjState(galDarahStatueGUID) : GO_STATE_READY) << ' '
- << (bridgeGUID ? GetObjState(bridgeGUID) : GO_STATE_ACTIVE) << ' ' << (collisionGUID ? GetObjState(collisionGUID) : GO_STATE_READY);
+ data >> temp;
+ DrakkariColossusStatueState = GOState(temp);
- str_data = saveStream.str();
+ data >> temp;
+ MoorabiStatueState = GOState(temp);
- OUT_SAVE_INST_DATA_COMPLETE;
- return str_data;
- }
+ if (IsBridgeReady())
+ Events.ScheduleEvent(DATA_BRIDGE, TIMER_STATUE_ACTIVATION);
+ }
- void Load(const char* in) override
- {
- if (!in)
+ void ToggleGameObject(uint32 type, GOState state)
{
- OUT_LOAD_INST_DATA_FAIL;
- return;
+ if (GameObject* go = GetGameObject(type))
+ go->SetGoState(state);
+
+ switch (type)
+ {
+ case DATA_SLAD_RAN_STATUE:
+ SladRanStatueState = state;
+ break;
+ case DATA_DRAKKARI_COLOSSUS_STATUE:
+ DrakkariColossusStatueState = state;
+ break;
+ case DATA_MOORABI_STATUE:
+ MoorabiStatueState = state;
+ break;
+ default:
+ break;
+ }
}
- OUT_LOAD_INST_DATA(in);
+ void Update(uint32 diff) override
+ {
+ Events.Update(diff);
- char dataHead1, dataHead2;
- uint16 data0, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10;
+ while (uint32 eventId = Events.ExecuteEvent())
+ {
+ uint32 spellId = 0;
+ uint32 altarId = 0;
+ switch (eventId)
+ {
+ case DATA_SLAD_RAN_STATUE:
+ spellId = SPELL_FIRE_BEAM_SNAKE;
+ altarId = DATA_SLAD_RAN_ALTAR;
+ break;
+ case DATA_DRAKKARI_COLOSSUS_STATUE:
+ spellId = SPELL_FIRE_BEAM_ELEMENTAL;
+ altarId = DATA_DRAKKARI_COLOSSUS_ALTAR;
+ break;
+ case DATA_MOORABI_STATUE:
+ spellId = SPELL_FIRE_BEAM_MAMMOTH;
+ altarId = DATA_MOORABI_ALTAR;
+ break;
+ case DATA_BRIDGE:
+ for (uint32 type = DATA_SLAD_RAN_STATUE; type <= DATA_GAL_DARAH_STATUE; ++type)
+ ToggleGameObject(type, GO_STATE_ACTIVE_ALTERNATIVE);
+ ToggleGameObject(DATA_TRAPDOOR, GO_STATE_READY);
+ ToggleGameObject(DATA_COLLISION, GO_STATE_ACTIVE);
+ SaveToDB();
+ return;
+ default:
+ return;
+ }
- std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2 >> data3
- >> data4 >> data5 >> data6 >> data7 >> data8 >> data9 >> data10;
+ if (GameObject* altar = GetGameObject(altarId))
+ if (Creature* trigger = altar->FindNearestCreature(NPC_ALTAR_TRIGGER, 10.0f))
+ trigger->CastSpell((Unit*)nullptr, spellId, true);
- if (dataHead1 == 'G' && dataHead2 == 'D')
- {
- m_auiEncounter[0] = data0;
- m_auiEncounter[1] = data1;
- m_auiEncounter[2] = data2;
- m_auiEncounter[3] = data3;
- m_auiEncounter[4] = data4;
- sladRanStatueState = GOState(data5);
- moorabiStatueState = GOState(data6);
- drakkariColossusStatueState = GOState(data7);
- galDarahStatueState = GOState(data8);
- bridgeState = GOState(data9);
- collisionState = GOState(data10);
-
- for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
- if (m_auiEncounter[i] == IN_PROGRESS)
- m_auiEncounter[i] = NOT_STARTED;
- } else OUT_LOAD_INST_DATA_FAIL;
-
- OUT_LOAD_INST_DATA_COMPLETE;
- }
+ // eventId equals statueId
+ ToggleGameObject(eventId, GO_STATE_READY);
- void Update(uint32 diff) override
- {
- // Spawn the support for the bridge if necessary
- if (spawnSupport)
- {
- if (GameObject* collision = instance->GetGameObject(collisionGUID))
- collision->SummonGameObject(192743, collision->GetPositionX(), collision->GetPositionY(), collision->GetPositionZ(), collision->GetOrientation(), 0, 0, 0, 0, 0);
- spawnSupport = false;
- }
-
- // If there is nothing to activate, then return
- if (!toActivate)
- return;
-
- if (timer < diff)
- {
- timer = 0;
- if (toActivate == bridgeGUID)
- {
- GameObject* bridge = instance->GetGameObject(bridgeGUID);
- GameObject* collision = instance->GetGameObject(collisionGUID);
- GameObject* sladRanStatue = instance->GetGameObject(sladRanStatueGUID);
- GameObject* moorabiStatue = instance->GetGameObject(moorabiStatueGUID);
- GameObject* drakkariColossusStatue = instance->GetGameObject(drakkariColossusStatueGUID);
- GameObject* galDarahStatue = instance->GetGameObject(galDarahStatueGUID);
-
- toActivate = 0;
-
- if (bridge && collision && sladRanStatue && moorabiStatue && drakkariColossusStatue && galDarahStatue)
- {
- bridge->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- collision->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- sladRanStatue->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- moorabiStatue->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- drakkariColossusStatue->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
- galDarahStatue->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
-
- // Add the GO that solidifies the bridge so you can walk on it
- spawnSupport = true;
- SaveToDB();
- }
- }
- else
- {
- uint32 spell = 0;
- GameObject* altar = NULL;
- if (toActivate == sladRanStatueGUID)
- {
- spell = 57071;
- altar = instance->GetGameObject(sladRanAltarGUID);
- }
- else if (toActivate == moorabiStatueGUID)
- {
- spell = 57068;
- altar = instance->GetGameObject(moorabiAltarGUID);
- }
- else if (toActivate == drakkariColossusStatueGUID)
- {
- spell = 57072;
- altar = instance->GetGameObject(drakkariColossusAltarGUID);
- }
-
- // This is a workaround to make the beam cast properly. The caster should be ID 30298 but since the spells
- // all are with scripted target for that same ID, it will hit itself.
- if (altar)
- if (Creature* trigger = altar->SummonCreature(18721, altar->GetPositionX(), altar->GetPositionY(), altar->GetPositionZ() + 3, altar->GetOrientation(), TEMPSUMMON_CORPSE_DESPAWN, 5000))
- {
- // Set the trigger model to invisible
- trigger->SetDisplayId(11686);
- trigger->CastSpell(trigger, spell, false);
- }
-
- if (GameObject* statueGO = instance->GetGameObject(toActivate))
- statueGO->SetGoState(GO_STATE_READY);
-
- toActivate = 0;
-
- if (phase == 3)
- SetData64(DATA_STATUE_ACTIVATE, bridgeGUID);
- else
- SaveToDB(); // Don't save in between last statue and bridge turning in case of crash leading to stuck instance
+ if (IsBridgeReady())
+ Events.ScheduleEvent(DATA_BRIDGE, TIMER_STATUE_ACTIVATION);
+
+ SaveToDB();
}
}
- else
- timer -= diff;
- }
- GOState GetObjState(uint64 guid)
- {
- if (GameObject* go = instance->GetGameObject(guid))
- return go->GetGoState();
- return GO_STATE_ACTIVE;
- }
- };
+ protected:
+ EventMap Events;
+ GuidSet DwellerGUIDs;
+
+ GOState SladRanStatueState;
+ GOState DrakkariColossusStatueState;
+ GOState MoorabiStatueState;
+ };
+ InstanceScript* GetInstanceScript(InstanceMap* map) const override
+ {
+ return new instance_gundrak_InstanceMapScript(map);
+ }
};
class go_gundrak_altar : public GameObjectScript
{
-public:
- go_gundrak_altar() : GameObjectScript("go_gundrak_altar") { }
-
- bool OnGossipHello(Player* /*player*/, GameObject* go) override
- {
- InstanceScript* instance = go->GetInstanceScript();
- uint64 statueGUID = 0;
+ public:
+ go_gundrak_altar() : GameObjectScript("go_gundrak_altar") { }
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- go->SetGoState(GO_STATE_ACTIVE);
-
- if (instance)
+ bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
- switch (go->GetEntry())
- {
- case GO_SLADRAN_ALTAR:
- statueGUID = instance->GetData64(DATA_SLAD_RAN_STATUE);
- break;
- case GO_MOORABI_ALTAR:
- statueGUID = instance->GetData64(DATA_MOORABI_STATUE);
- break;
- case GO_DRAKKARI_COLOSSUS_ALTAR:
- statueGUID = instance->GetData64(DATA_DRAKKARI_COLOSSUS_STATUE);
- break;
- }
+ go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
+ go->SetGoState(GO_STATE_ACTIVE);
- if (!instance->GetData64(DATA_STATUE_ACTIVATE))
+ if (InstanceScript* instance = go->GetInstanceScript())
{
- instance->SetData64(DATA_STATUE_ACTIVATE, statueGUID);
- go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- go->SetGoState(GO_STATE_ACTIVE);
+ instance->SetData(DATA_STATUE_ACTIVATE, go->GetEntry());
+ return true;
}
- return true;
- }
- return false;
- }
+ return false;
+ }
};
void AddSC_instance_gundrak()
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 4b3c50d1388..640c06b1c28 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -216,19 +216,19 @@ class boss_blood_council_controller : public CreatureScript
DoCast(me, SPELL_INVOCATION_OF_BLOOD_VALANAR);
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_KELESETH_GUID)))
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, keleseth);
DoZoneInCombat(keleseth);
}
- if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
+ if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID)))
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, taldaram);
DoZoneInCombat(taldaram);
}
- if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
+ if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_VALANAR_GUID)))
{
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, valanar);
DoZoneInCombat(valanar);
@@ -236,16 +236,16 @@ class boss_blood_council_controller : public CreatureScript
events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 46500);
- _invocationOrder[0] = InvocationData(instance->GetData64(DATA_PRINCE_VALANAR_GUID), SPELL_INVOCATION_OF_BLOOD_VALANAR, EMOTE_VALANAR_INVOCATION, 71070);
+ _invocationOrder[0] = InvocationData(instance->GetGuidData(DATA_PRINCE_VALANAR_GUID), SPELL_INVOCATION_OF_BLOOD_VALANAR, EMOTE_VALANAR_INVOCATION, 71070);
if (urand(0, 1))
{
- _invocationOrder[1] = InvocationData(instance->GetData64(DATA_PRINCE_TALDARAM_GUID), SPELL_INVOCATION_OF_BLOOD_TALDARAM, EMOTE_TALDARAM_INVOCATION, 71081);
- _invocationOrder[2] = InvocationData(instance->GetData64(DATA_PRINCE_KELESETH_GUID), SPELL_INVOCATION_OF_BLOOD_KELESETH, EMOTE_KELESETH_INVOCATION, 71080);
+ _invocationOrder[1] = InvocationData(instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID), SPELL_INVOCATION_OF_BLOOD_TALDARAM, EMOTE_TALDARAM_INVOCATION, 71081);
+ _invocationOrder[2] = InvocationData(instance->GetGuidData(DATA_PRINCE_KELESETH_GUID), SPELL_INVOCATION_OF_BLOOD_KELESETH, EMOTE_KELESETH_INVOCATION, 71080);
}
else
{
- _invocationOrder[1] = InvocationData(instance->GetData64(DATA_PRINCE_KELESETH_GUID), SPELL_INVOCATION_OF_BLOOD_KELESETH, EMOTE_KELESETH_INVOCATION, 71080);
- _invocationOrder[2] = InvocationData(instance->GetData64(DATA_PRINCE_TALDARAM_GUID), SPELL_INVOCATION_OF_BLOOD_TALDARAM, EMOTE_TALDARAM_INVOCATION, 71081);
+ _invocationOrder[1] = InvocationData(instance->GetGuidData(DATA_PRINCE_KELESETH_GUID), SPELL_INVOCATION_OF_BLOOD_KELESETH, EMOTE_KELESETH_INVOCATION, 71080);
+ _invocationOrder[2] = InvocationData(instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID), SPELL_INVOCATION_OF_BLOOD_TALDARAM, EMOTE_TALDARAM_INVOCATION, 71081);
}
}
@@ -259,13 +259,13 @@ class boss_blood_council_controller : public CreatureScript
void JustReachedHome() override
{
_resetCounter = 0;
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_KELESETH_GUID)))
keleseth->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
+ if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID)))
taldaram->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
+ if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_VALANAR_GUID)))
valanar->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -335,12 +335,12 @@ class boss_blood_council_controller : public CreatureScript
private:
struct InvocationData
{
- uint64 guid;
+ ObjectGuid guid;
uint32 spellId;
uint32 textId;
uint32 visualSpell;
- InvocationData(uint64 _guid, uint32 _spellId, uint32 _textId, uint32 _visualSpell)
+ InvocationData(ObjectGuid _guid, uint32 _spellId, uint32 _textId, uint32 _visualSpell)
{
guid = _guid;
spellId = _spellId;
@@ -348,7 +348,7 @@ class boss_blood_council_controller : public CreatureScript
visualSpell = _visualSpell;
}
- InvocationData() : guid(0), spellId(0), textId(0), visualSpell(0) { }
+ InvocationData() : spellId(0), textId(0), visualSpell(0) { }
} _invocationOrder[3];
uint32 _invocationStage;
@@ -400,7 +400,7 @@ class boss_prince_keleseth_icc : public CreatureScript
void EnterCombat(Unit* /*who*/) override
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
events.ScheduleEvent(EVENT_BERSERK, 600000);
@@ -428,7 +428,7 @@ class boss_prince_keleseth_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
_isEmpowered = false;
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
controller->AI()->SetData(0, 1);
@@ -515,10 +515,10 @@ class boss_prince_keleseth_icc : public CreatureScript
if (!CheckBoundary(me))
{
EnterEvadeMode();
- if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
+ if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID)))
taldaram->AI()->EnterEvadeMode();
- if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
+ if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_VALANAR_GUID)))
valanar->AI()->EnterEvadeMode();
return false;
@@ -620,7 +620,7 @@ class boss_prince_taldaram_icc : public CreatureScript
void EnterCombat(Unit* /*who*/) override
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
events.ScheduleEvent(EVENT_BERSERK, 600000);
@@ -644,7 +644,7 @@ class boss_prince_taldaram_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
_isEmpowered = false;
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
controller->AI()->SetData(0, 1);
@@ -734,10 +734,10 @@ class boss_prince_taldaram_icc : public CreatureScript
if (!CheckBoundary(me))
{
EnterEvadeMode();
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_KELESETH_GUID)))
keleseth->AI()->EnterEvadeMode();
- if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
+ if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_VALANAR_GUID)))
valanar->AI()->EnterEvadeMode();
return false;
@@ -844,7 +844,7 @@ class boss_prince_valanar_icc : public CreatureScript
void EnterCombat(Unit* /*who*/) override
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
DoZoneInCombat(controller);
events.ScheduleEvent(EVENT_BERSERK, 600000);
@@ -868,7 +868,7 @@ class boss_prince_valanar_icc : public CreatureScript
instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(me->GetMaxHealth());
_isEmpowered = false;
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_PRINCES_CONTROL)))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
controller->AI()->SetData(0, 1);
@@ -973,10 +973,10 @@ class boss_prince_valanar_icc : public CreatureScript
if (!CheckBoundary(me))
{
EnterEvadeMode();
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_KELESETH_GUID)))
keleseth->AI()->EnterEvadeMode();
- if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
+ if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID)))
taldaram->AI()->EnterEvadeMode();
return false;
@@ -1112,13 +1112,13 @@ class npc_blood_queen_lana_thel : public CreatureScript
_events.Reset();
// remove Feign Death from princes
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_PRINCE_KELESETH_GUID)))
keleseth->AI()->DoAction(ACTION_STAND_UP);
- if (Creature* taldaram = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
+ if (Creature* taldaram = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_PRINCE_TALDARAM_GUID)))
taldaram->AI()->DoAction(ACTION_STAND_UP);
- if (Creature* valanar = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
+ if (Creature* valanar = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_PRINCE_VALANAR_GUID)))
{
valanar->AI()->DoAction(ACTION_STAND_UP);
valanar->SetHealth(valanar->GetMaxHealth());
@@ -1148,7 +1148,6 @@ class npc_ball_of_flame : public CreatureScript
npc_ball_of_flameAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
{
_despawnTimer = 0;
- _chaseGUID = 0;
}
void Reset() override
@@ -1163,16 +1162,16 @@ class npc_ball_of_flame : public CreatureScript
void MovementInform(uint32 type, uint32 id) override
{
- if (type == CHASE_MOTION_TYPE && id == GUID_LOPART(_chaseGUID) && _chaseGUID)
+ if (type == CHASE_MOTION_TYPE && id == _chaseGUID.GetCounter() && _chaseGUID)
{
me->RemoveAurasDueToSpell(SPELL_BALL_OF_FLAMES_PERIODIC);
DoCast(me, SPELL_FLAMES);
_despawnTimer = 1000;
- _chaseGUID = 0;
+ _chaseGUID.Clear();
}
}
- void SetGUID(uint64 guid, int32 /*type*/) override
+ void SetGUID(ObjectGuid guid, int32 /*type*/) override
{
_chaseGUID = guid;
}
@@ -1213,7 +1212,7 @@ class npc_ball_of_flame : public CreatureScript
}
private:
- uint64 _chaseGUID;
+ ObjectGuid _chaseGUID;
InstanceScript* _instance;
uint32 _despawnTimer;
};
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 29d50f1db2a..8a325dee7b4 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
@@ -148,7 +148,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
void Initialize()
{
- _offtankGUID = 0;
+ _offtankGUID.Clear();
_creditBloodQuickening = false;
_killMinchar = false;
}
@@ -210,7 +210,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
minchar->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND);
minchar->SetCanFly(false);
minchar->RemoveAllAuras();
- minchar->GetMotionMaster()->MoveCharge(4629.3711f, 2782.6089f, 401.5301f, SPEED_CHARGE/3.0f);
+ minchar->GetMotionMaster()->MoveCharge(4629.3711f, 2782.6089f, 401.5301f, SPEED_CHARGE / 3.0f);
}
}
}
@@ -278,7 +278,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
Talk(SAY_KILL);
}
- void SetGUID(uint64 guid, int32 type = 0) override
+ void SetGUID(ObjectGuid guid, int32 type = 0) override
{
switch (type)
{
@@ -390,7 +390,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
}
}
else
- _offtankGUID = 0;
+ _offtankGUID.Clear();
}
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500, EVENT_GROUP_CANCELLABLE);
break;
@@ -458,12 +458,12 @@ class boss_blood_queen_lana_thel : public CreatureScript
DoMeleeAttackIfReady();
}
- bool WasVampire(uint64 guid)
+ bool WasVampire(ObjectGuid guid) const
{
return _vampires.count(guid) != 0;
}
- bool WasBloodbolted(uint64 guid)
+ bool WasBloodbolted(ObjectGuid guid) const
{
return _bloodboltedPlayers.count(guid) != 0;
}
@@ -501,9 +501,9 @@ class boss_blood_queen_lana_thel : public CreatureScript
return Trinity::Containers::SelectRandomContainerElement(tempTargets);
}
- std::set<uint64> _vampires;
- std::set<uint64> _bloodboltedPlayers;
- uint64 _offtankGUID;
+ GuidSet _vampires;
+ GuidSet _bloodboltedPlayers;
+ ObjectGuid _offtankGUID;
bool _creditBloodQuickening;
bool _killMinchar;
};
@@ -554,7 +554,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
return;
uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(SPELL_FRENZIED_BLOODTHIRST, GetCaster());
- GetCaster()->RemoveAura(spellId, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
+ GetCaster()->RemoveAura(spellId, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
GetCaster()->CastSpell(GetCaster(), SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_PLR, TRIGGERED_FULL_MASK);
// Shadowmourne questline
@@ -570,7 +570,7 @@ class spell_blood_queen_vampiric_bite : public SpellScriptLoader
}
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL)))
+ if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_BLOOD_QUEEN_LANA_THEL)))
bloodQueen->AI()->SetGUID(GetHitUnit()->GetGUID(), GUID_VAMPIRE);
}
@@ -606,7 +606,7 @@ class spell_blood_queen_frenzied_bloodthirst : public SpellScriptLoader
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
if (InstanceScript* instance = GetTarget()->GetInstanceScript())
- if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetTarget(), instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL)))
+ if (Creature* bloodQueen = ObjectAccessor::GetCreature(*GetTarget(), instance->GetGuidData(DATA_BLOOD_QUEEN_LANA_THEL)))
bloodQueen->AI()->Talk(EMOTE_BLOODTHIRST, GetTarget());
}
@@ -615,7 +615,7 @@ class spell_blood_queen_frenzied_bloodthirst : public SpellScriptLoader
Unit* target = GetTarget();
if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE)
if (InstanceScript* instance = target->GetInstanceScript())
- if (Creature* bloodQueen = ObjectAccessor::GetCreature(*target, instance->GetData64(DATA_BLOOD_QUEEN_LANA_THEL)))
+ if (Creature* bloodQueen = ObjectAccessor::GetCreature(*target, instance->GetGuidData(DATA_BLOOD_QUEEN_LANA_THEL)))
{
// this needs to be done BEFORE charm aura or we hit an assert in Unit::SetCharmedBy
if (target->GetVehicleKit())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 2909946a0db..15cf0d31af9 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -299,7 +299,7 @@ class boss_deathbringer_saurfang : public CreatureScript
if (!_introDone)
{
DoCast(me, SPELL_GRIP_OF_AGONY);
- if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SAURFANG_EVENT_NPC)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SAURFANG_EVENT_NPC)))
creature->AI()->DoAction(ACTION_INTERRUPT_INTRO);
}
@@ -375,7 +375,7 @@ class boss_deathbringer_saurfang : public CreatureScript
//instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MARK_OF_THE_FALLEN_CHAMPION);
DoCast(me, SPELL_PERMANENT_FEIGN_DEATH);
- if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SAURFANG_EVENT_NPC)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SAURFANG_EVENT_NPC)))
creature->AI()->DoAction(ACTION_START_OUTRO);
}
}
@@ -410,7 +410,7 @@ class boss_deathbringer_saurfang : public CreatureScript
if (type != POINT_MOTION_TYPE && id != POINT_SAURFANG)
return;
- instance->HandleGameObject(instance->GetData64(GO_SAURFANG_S_DOOR), false);
+ instance->HandleGameObject(instance->GetGuidData(GO_SAURFANG_S_DOOR), false);
}
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
@@ -650,8 +650,8 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
Talk(SAY_INTRO_HORDE_1);
_events.SetPhase(PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_3, 18500, 0, PHASE_INTRO_H);
- _instance->HandleGameObject(_instance->GetData64(GO_SAURFANG_S_DOOR), true);
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ _instance->HandleGameObject(_instance->GetGuidData(GO_SAURFANG_S_DOOR), true);
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->AI()->DoAction(PHASE_INTRO_H);
break;
}
@@ -703,11 +703,11 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_HORDE_6, 29500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_7, 43800, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_8, 47000, 0, PHASE_INTRO_H);
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->AI()->DoAction(ACTION_CONTINUE_INTRO);
break;
case POINT_CORPSE:
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
{
deathbringer->CastSpell(me, SPELL_RIDE_VEHICLE, true); // for the packet logs.
deathbringer->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -717,7 +717,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
_events.ScheduleEvent(EVENT_OUTRO_HORDE_6, 4000); // say
break;
case POINT_FINAL:
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->DespawnOrUnsummon();
me->DespawnOrUnsummon();
break;
@@ -762,7 +762,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
me->GetMotionMaster()->MoveCharge(chargePos[0].GetPositionX(), chargePos[0].GetPositionY(), chargePos[0].GetPositionZ(), 8.5f, POINT_CHARGE);
break;
case EVENT_OUTRO_HORDE_2: // say
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
me->SetFacingToObject(deathbringer);
Talk(SAY_OUTRO_HORDE_2);
break;
@@ -770,7 +770,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
Talk(SAY_OUTRO_HORDE_3);
break;
case EVENT_OUTRO_HORDE_4: // move
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
{
float x, y, z;
deathbringer->GetClosePoint(x, y, z, deathbringer->GetObjectSize());
@@ -859,8 +859,8 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
Talk(SAY_INTRO_ALLIANCE_1);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_4, 2500+17500+9500, 0, PHASE_INTRO_A);
- _instance->HandleGameObject(_instance->GetData64(GO_SAURFANG_S_DOOR), true);
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ _instance->HandleGameObject(_instance->GetGuidData(GO_SAURFANG_S_DOOR), true);
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->AI()->DoAction(PHASE_INTRO_A);
break;
}
@@ -874,7 +874,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
(*itr)->AI()->DoAction(ACTION_DESPAWN);
// temp until outro fully done - to put deathbringer on respawn timer (until next reset)
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->DespawnOrUnsummon(5000);
break;
}
@@ -902,7 +902,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
me->SetWalk(false);
Talk(SAY_INTRO_ALLIANCE_4);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_5, 5000, 0, PHASE_INTRO_A);
- if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
+ if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
deathbringer->AI()->DoAction(ACTION_CONTINUE_INTRO);
}
else if (type == WAYPOINT_MOTION_TYPE && id == POINT_EXIT)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index 90d91199e7a..b1f6a4a5e83 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -88,7 +88,6 @@ class boss_festergut : public CreatureScript
{
_maxInoculatedStack = 0;
_inhaleCounter = 0;
- _gasDummyGUID = 0;
}
void Reset() override
@@ -126,7 +125,7 @@ class boss_festergut : public CreatureScript
Talk(SAY_AGGRO);
if (Creature* gasDummy = me->FindNearestCreature(NPC_GAS_DUMMY, 100.0f, true))
_gasDummyGUID = gasDummy->GetGUID();
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_COMBAT);
DoZoneInCombat();
}
@@ -135,7 +134,7 @@ class boss_festergut : public CreatureScript
{
_JustDied();
Talk(SAY_DEATH);
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_DEATH);
RemoveBlight();
@@ -150,7 +149,7 @@ class boss_festergut : public CreatureScript
void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->EnterEvadeMode();
}
@@ -189,7 +188,7 @@ class boss_festergut : public CreatureScript
Talk(SAY_PUNGENT_BLIGHT);
DoCast(me, SPELL_PUNGENT_BLIGHT);
_inhaleCounter = 0;
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_FESTERGUT_GAS);
events.RescheduleEvent(EVENT_GAS_SPORE, urand(20000, 25000));
}
@@ -279,7 +278,7 @@ class boss_festergut : public CreatureScript
}
private:
- uint64 _gasDummyGUID;
+ ObjectGuid _gasDummyGUID;
uint32 _maxInoculatedStack;
uint32 _inhaleCounter;
};
@@ -346,7 +345,7 @@ class npc_stinky_icc : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* festergut = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FESTERGUT)))
+ if (Creature* festergut = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FESTERGUT)))
if (festergut->IsAlive())
festergut->AI()->Talk(SAY_STINKY_DEAD);
}
@@ -456,7 +455,7 @@ class spell_festergut_blighted_spores : public SpellScriptLoader
{
GetTarget()->CastSpell(GetTarget(), SPELL_INOCULATED, true);
if (InstanceScript* instance = GetTarget()->GetInstanceScript())
- if (Creature* festergut = ObjectAccessor::GetCreature(*GetTarget(), instance->GetData64(DATA_FESTERGUT)))
+ if (Creature* festergut = ObjectAccessor::GetCreature(*GetTarget(), instance->GetGuidData(DATA_FESTERGUT)))
festergut->AI()->SetData(DATA_INOCULATED_STACK, GetStackAmount());
HandleResidue();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 535ace3259c..74a09887dd2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -383,7 +383,9 @@ public:
void ResetSlots(uint32 team)
{
_transport = NULL;
- memset(_controlledSlots, 0, sizeof(uint64)* MAX_SLOTS);
+ for (uint32 i = 0; i < MAX_SLOTS; ++i)
+ _controlledSlots[i].Clear();
+
memset(_respawnCooldowns, 0, sizeof(time_t)* MAX_SLOTS);
_spawnPoint = team == HORDE ? &OrgrimsHammerAddsSpawnPos : &SkybreakerAddsSpawnPos;
_slotInfo = team == HORDE ? OrgrimsHammerSlotInfo : SkybreakerSlotInfo;
@@ -422,7 +424,7 @@ public:
void ClearSlot(PassengerSlots slot)
{
- _controlledSlots[slot] = 0;
+ _controlledSlots[slot].Clear();
_respawnCooldowns[slot] = time(NULL) + _slotInfo[slot].Cooldown;
}
@@ -448,7 +450,7 @@ private:
}
Transport* _transport;
- uint64 _controlledSlots[MAX_SLOTS];
+ ObjectGuid _controlledSlots[MAX_SLOTS];
time_t _respawnCooldowns[MAX_SLOTS];
Position const* _spawnPoint;
SlotInfo const* _slotInfo;
@@ -482,7 +484,7 @@ private:
class ResetEncounterEvent : public BasicEvent
{
public:
- ResetEncounterEvent(Unit* caster, uint32 spellId, uint64 otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
+ ResetEncounterEvent(Unit* caster, uint32 spellId, ObjectGuid otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
bool Execute(uint64, uint32) override
{
@@ -498,7 +500,7 @@ public:
private:
Unit* _caster;
uint32 _spellId;
- uint64 _otherTransport;
+ ObjectGuid _otherTransport;
};
class BattleExperienceEvent : public BasicEvent
@@ -744,7 +746,7 @@ class npc_gunship : public CreatureScript
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 << cannon->GetPackGUID();
data << uint32(0);
cannon->SendMessageToSet(&data, true);
@@ -767,7 +769,7 @@ class npc_gunship : public CreatureScript
if (isVictory)
{
- if (GameObject* go = HashMapHolder<GameObject>::Find(instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (GameObject* go = HashMapHolder<GameObject>::Find(instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE)))
if (Transport* otherTransport = go->ToTransport())
otherTransport->EnableMovement(true);
@@ -791,17 +793,17 @@ class npc_gunship : public CreatureScript
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.AddEvent(new ResetEncounterEvent(me, teleportSpellId, me->GetInstanceScript()->GetGuidData(DATA_ENEMY_GUNSHIP)),
me->m_Events.CalculateTime(8000));
}
}
- void SetGUID(uint64 guid, int32 id/* = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 id/* = 0*/) override
{
if (id != ACTION_SHIP_VISITS)
return;
- std::map<uint64, uint32>::iterator itr = _shipVisits.find(guid);
+ std::map<ObjectGuid, uint32>::iterator itr = _shipVisits.find(guid);
if (itr == _shipVisits.end())
_shipVisits[guid] = 1;
else
@@ -814,7 +816,7 @@ class npc_gunship : public CreatureScript
return 0;
uint32 max = 0;
- for (std::map<uint64, uint32>::const_iterator itr = _shipVisits.begin(); itr != _shipVisits.end(); ++itr)
+ for (std::map<ObjectGuid, uint32>::const_iterator itr = _shipVisits.begin(); itr != _shipVisits.end(); ++itr)
max = std::max(max, itr->second);
return max;
@@ -822,7 +824,7 @@ class npc_gunship : public CreatureScript
private:
uint32 _teamInInstance;
- std::map<uint64, uint32> _shipVisits;
+ std::map<ObjectGuid, uint32> _shipVisits;
bool _summonedFirstMage;
bool _died;
};
@@ -1032,7 +1034,7 @@ class npc_high_overlord_saurfang_igb : public CreatureScript
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 (GameObject* go = HashMapHolder<GameObject>::Find(_instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE)))
if (Transport* skybreaker = go->ToTransport())
skybreaker->SummonPassenger(NPC_TELEPORT_EXIT, SkybreakerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, NULL, 23000);
@@ -1305,7 +1307,7 @@ class npc_muradin_bronzebeard_igb : public CreatureScript
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 (GameObject* go = HashMapHolder<GameObject>::Find(_instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE)))
if (Transport* orgrimsHammer = go->ToTransport())
orgrimsHammer->SummonPassenger(NPC_TELEPORT_EXIT, OrgrimsHammerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, NULL, 23000);
@@ -1451,7 +1453,7 @@ struct npc_gunship_boarding_addAI : public gunship_npc_AI
if (!myTransport)
return;
- if (GameObject* go = HashMapHolder<GameObject>::Find(Instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE)))
+ if (GameObject* go = HashMapHolder<GameObject>::Find(Instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE)))
if (Transport* destTransport = go->ToTransport())
destTransport->CalculatePassengerPosition(x, y, z, &o);
@@ -2085,7 +2087,7 @@ class spell_igb_overheat : public SpellScriptLoader
if (Player* player = passenger->ToPlayer())
{
WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, GetUnitOwner()->GetPackGUID().size() + 1);
- data.append(GetUnitOwner()->GetPackGUID());
+ data << GetUnitOwner()->GetPackGUID();
data << uint8(value);
player->GetSession()->SendPacket(&data);
}
@@ -2335,7 +2337,7 @@ class spell_igb_gunship_fall_teleport : public SpellScriptLoader
void SelectTransport(WorldObject*& target)
{
if (InstanceScript* instance = target->GetInstanceScript())
- target = HashMapHolder<GameObject>::Find(instance->GetData64(DATA_ICECROWN_GUNSHIP_BATTLE));
+ target = HashMapHolder<GameObject>::Find(instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE));
}
void RelocateDest(SpellEffIndex /*effIndex*/)
@@ -2426,7 +2428,7 @@ class spell_igb_teleport_players_on_victory : public SpellScriptLoader
InstanceScript* instance = GetCaster()->GetInstanceScript();
targets.remove_if([instance](WorldObject* target) -> bool
{
- return target->GetTransGUID() != instance->GetData64(DATA_ENEMY_GUNSHIP);
+ return target->GetTransGUID() != instance->GetGuidData(DATA_ENEMY_GUNSHIP);
});
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index bbdca1fa8c5..55d6edd7b2d 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -224,8 +224,8 @@ class boss_lady_deathwhisper : public CreatureScript
void Initialize()
{
_waveCounter = 0;
- _nextVengefulShadeTargetGUID = 0;
- _darnavanGUID = 0;
+ _nextVengefulShadeTargetGUID.Clear();
+ _darnavanGUID.Clear();
}
void Reset() override
@@ -329,10 +329,10 @@ class boss_lady_deathwhisper : public CreatureScript
{
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
if (Player* member = itr->GetSource())
- member->KilledMonsterCredit(NPC_DARNAVAN_CREDIT, 0);
+ member->KilledMonsterCredit(NPC_DARNAVAN_CREDIT);
}
else
- owner->KilledMonsterCredit(NPC_DARNAVAN_CREDIT, 0);
+ owner->KilledMonsterCredit(NPC_DARNAVAN_CREDIT);
}
}
}
@@ -349,7 +349,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (Creature* darnavan = ObjectAccessor::GetCreature(*me, _darnavanGUID))
{
darnavan->DespawnOrUnsummon();
- _darnavanGUID = 0;
+ _darnavanGUID.Clear();
}
}
@@ -396,7 +396,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (summon->GetEntry() == NPC_VENGEFUL_SHADE)
{
target = ObjectAccessor::GetUnit(*me, _nextVengefulShadeTargetGUID); // Vengeful Shade
- _nextVengefulShadeTargetGUID = 0;
+ _nextVengefulShadeTargetGUID.Clear();
}
else
target = SelectTarget(SELECT_TARGET_RANDOM); // Wave adds
@@ -554,7 +554,7 @@ class boss_lady_deathwhisper : public CreatureScript
summon->CastSpell(summon, SPELL_TELEPORT_VISUAL);
}
- void SetGUID(uint64 guid, int32 id/* = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 id/* = 0*/) override
{
if (id != GUID_CULTIST)
return;
@@ -568,7 +568,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (_reanimationQueue.empty())
return;
- uint64 cultistGUID = _reanimationQueue.front();
+ ObjectGuid cultistGUID = _reanimationQueue.front();
Creature* cultist = ObjectAccessor::GetCreature(*me, cultistGUID);
_reanimationQueue.pop_front();
if (!cultist)
@@ -615,9 +615,9 @@ class boss_lady_deathwhisper : public CreatureScript
}
private:
- uint64 _nextVengefulShadeTargetGUID;
- uint64 _darnavanGUID;
- std::deque<uint64> _reanimationQueue;
+ ObjectGuid _nextVengefulShadeTargetGUID;
+ ObjectGuid _darnavanGUID;
+ GuidDeque _reanimationQueue;
uint32 _waveCounter;
uint8 const _dominateMindCount;
bool _introDone;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index b7bf27177ea..7ab8c956757 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -133,7 +133,6 @@ class boss_lord_marrowgar : public CreatureScript
_coldflameLastPos.Relocate(creature);
_introDone = false;
_boneSlice = false;
- _coldflameTarget = 0;
}
void Reset() override
@@ -211,7 +210,7 @@ class boss_lord_marrowgar : public CreatureScript
break;
case EVENT_COLDFLAME:
_coldflameLastPos.Relocate(me);
- _coldflameTarget = 0LL;
+ _coldflameTarget.Clear();
if (!me->HasAura(SPELL_BONE_STORM))
DoCastAOE(SPELL_COLDFLAME_NORMAL);
else
@@ -289,7 +288,7 @@ class boss_lord_marrowgar : public CreatureScript
return &_coldflameLastPos;
}
- uint64 GetGUID(int32 type /*= 0 */) const override
+ ObjectGuid GetGUID(int32 type /*= 0 */) const override
{
switch (type)
{
@@ -307,10 +306,10 @@ class boss_lord_marrowgar : public CreatureScript
}
}
- return 0LL;
+ return ObjectGuid::Empty;
}
- void SetGUID(uint64 guid, int32 type /*= 0 */) override
+ void SetGUID(ObjectGuid guid, int32 type /*= 0 */) override
{
switch (type)
{
@@ -333,8 +332,8 @@ class boss_lord_marrowgar : public CreatureScript
private:
Position _coldflameLastPos;
- std::vector<uint64> _boneSpikeImmune;
- uint64 _coldflameTarget;
+ GuidVector _boneSpikeImmune;
+ ObjectGuid _coldflameTarget;
uint32 _boneStormDuration;
float _baseSpeed;
bool _introDone;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index c1a13c90780..2e353e5f9dc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -174,7 +174,7 @@ class AbominationDespawner
public:
explicit AbominationDespawner(Unit* owner) : _owner(owner) { }
- bool operator()(uint64 guid)
+ bool operator()(ObjectGuid guid)
{
if (Unit* summon = ObjectAccessor::GetUnit(*_owner, guid))
{
@@ -373,7 +373,7 @@ class boss_professor_putricide : public CreatureScript
instance->SetBossState(DATA_FESTERGUT, IN_PROGRESS); // needed here for delayed gate close
me->SetSpeed(MOVE_RUN, _baseSpeed, true);
DoAction(ACTION_FESTERGUT_GAS);
- if (Creature* festergut = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_FESTERGUT)))
+ if (Creature* festergut = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_FESTERGUT)))
festergut->CastSpell(festergut, SPELL_GASEOUS_BLIGHT_LARGE, false, NULL, NULL, festergut->GetGUID());
break;
case POINT_ROTFACE:
@@ -386,7 +386,7 @@ class boss_professor_putricide : public CreatureScript
// stop attack
me->GetMotionMaster()->MoveIdle();
me->SetSpeed(MOVE_RUN, _baseSpeed, true);
- if (GameObject* table = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_PUTRICIDE_TABLE)))
+ if (GameObject* table = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_PUTRICIDE_TABLE)))
me->SetFacingToObject(table);
// operating on new phase already
switch (_phase)
@@ -443,7 +443,7 @@ class boss_professor_putricide : public CreatureScript
_oozeFloodStage = 0;
DoZoneInCombat(me);
// init random sequence of floods
- if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ROTFACE)))
{
std::list<Creature*> list;
GetCreatureListWithEntryInGrid(list, rotface, NPC_PUDDLE_STALKER, 50.0f);
@@ -702,7 +702,7 @@ class boss_professor_putricide : public CreatureScript
events.SetPhase(newPhase);
}
- uint64 _oozeFloodDummyGUIDs[4];
+ ObjectGuid _oozeFloodDummyGUIDs[4];
Phases _phase; // external of EventMap because event phase gets reset on evade
float const _baseSpeed;
uint8 _oozeFloodStage;
@@ -1152,7 +1152,7 @@ class spell_putricide_unbound_plague : public SpellScriptLoader
if (!GetHitUnit()->HasAura(plagueId))
{
- if (Creature* professor = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
{
if (Aura* oldPlague = GetCaster()->GetAura(plagueId, professor->GetGUID()))
{
@@ -1307,7 +1307,7 @@ class spell_putricide_mutation_init : public SpellScriptLoader
if (!instance)
return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
- Creature* professor = ObjectAccessor::GetCreature(*GetExplTargetUnit(), instance->GetData64(DATA_PROFESSOR_PUTRICIDE));
+ Creature* professor = ObjectAccessor::GetCreature(*GetExplTargetUnit(), instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE));
if (!professor)
return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
@@ -1428,7 +1428,7 @@ class spell_putricide_mutated_transformation : public SpellScriptLoader
if (!instance)
return;
- Creature* putricide = ObjectAccessor::GetCreature(*caster, instance->GetData64(DATA_PROFESSOR_PUTRICIDE));
+ Creature* putricide = ObjectAccessor::GetCreature(*caster, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE));
if (!putricide)
return;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index 2f2889a9cf3..205b90fa159 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -126,7 +126,7 @@ class boss_rotface : public CreatureScript
me->setActive(true);
Talk(SAY_AGGRO);
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_ROTFACE_COMBAT);
DoZoneInCombat();
@@ -138,7 +138,7 @@ class boss_rotface : public CreatureScript
instance->DoRemoveAurasDueToSpellOnPlayers(MUTATED_INFECTION);
_JustDied();
Talk(SAY_DEATH);
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->DoAction(ACTION_ROTFACE_DEATH);
}
@@ -158,7 +158,7 @@ class boss_rotface : public CreatureScript
void EnterEvadeMode() override
{
ScriptedAI::EnterEvadeMode();
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->AI()->EnterEvadeMode();
}
@@ -176,7 +176,7 @@ class boss_rotface : public CreatureScript
void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_VILE_GAS_STALKER)
- if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PROFESSOR_PUTRICIDE)))
+ if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->CastSpell(summon, SPELL_VILE_GAS_H, true);
}
@@ -308,13 +308,13 @@ class npc_big_ooze : public CreatureScript
DoCast(me, SPELL_GREEN_ABOMINATION_HITTIN__YA_PROC, true);
events.ScheduleEvent(EVENT_STICKY_OOZE, 5000);
// register in Rotface's summons - not summoned with Rotface as owner
- if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ROTFACE)))
rotface->AI()->JustSummoned(me);
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ROTFACE)))
rotface->AI()->SummonedCreatureDespawn(me);
me->DespawnOrUnsummon();
}
@@ -395,7 +395,7 @@ class npc_precious_icc : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
_summons.DespawnAll();
- if (Creature* rotface = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_ROTFACE)))
if (rotface->IsAlive())
rotface->AI()->Talk(SAY_PRECIOUS_DIES);
}
@@ -469,7 +469,7 @@ class spell_rotface_ooze_flood : public SpellScriptLoader
return;
triggers.sort(Trinity::ObjectDistanceOrderPred(GetHitUnit()));
- GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), false, NULL, NULL, GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : 0);
+ GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), false, NULL, NULL, GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty);
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -657,7 +657,7 @@ class spell_rotface_large_ooze_buff_combine : public SpellScriptLoader
GetCaster()->RemoveAurasDueToSpell(SPELL_LARGE_OOZE_BUFF_COMBINE);
GetCaster()->RemoveAurasDueToSpell(SPELL_LARGE_OOZE_COMBINE);
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* rotface = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_ROTFACE)))
if (rotface->IsAlive())
{
rotface->AI()->Talk(EMOTE_UNSTABLE_EXPLOSION);
@@ -748,7 +748,7 @@ class spell_rotface_unstable_ooze_explosion : public SpellScriptLoader
GetExplTargetDest()->GetPosition(x, y, z);
// let Rotface handle the cast - caster dies before this executes
if (InstanceScript* script = GetCaster()->GetInstanceScript())
- if (Creature* rotface = script->instance->GetCreature(script->GetData64(DATA_ROTFACE)))
+ if (Creature* rotface = script->instance->GetCreature(script->GetGuidData(DATA_ROTFACE)))
rotface->CastSpell(x, y, z, triggered_spell_id, true, NULL, NULL, GetCaster()->GetGUID());
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 3b65c10aaa9..551ec9ad0a2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -182,7 +182,7 @@ class FrostwyrmLandEvent : public BasicEvent
class FrostBombExplosion : public BasicEvent
{
public:
- FrostBombExplosion(Creature* owner, uint64 sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
+ FrostBombExplosion(Creature* owner, ObjectGuid sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
{
@@ -193,7 +193,7 @@ class FrostBombExplosion : public BasicEvent
private:
Creature* _owner;
- uint64 _sindragosaGUID;
+ ObjectGuid _sindragosaGUID;
};
class FrostBeaconSelector
@@ -563,7 +563,6 @@ class npc_ice_tomb : public CreatureScript
{
npc_ice_tombAI(Creature* creature) : ScriptedAI(creature)
{
- _trappedPlayerGUID = 0;
_existenceCheckTimer = 0;
SetCombatMovement(false);
}
@@ -573,7 +572,7 @@ class npc_ice_tomb : public CreatureScript
me->SetReactState(REACT_PASSIVE);
}
- void SetGUID(uint64 guid, int32 type/* = 0 */) override
+ void SetGUID(ObjectGuid guid, int32 type/* = 0 */) override
{
if (type == DATA_TRAPPED_PLAYER)
{
@@ -595,7 +594,7 @@ class npc_ice_tomb : public CreatureScript
if (Player* player = ObjectAccessor::GetPlayer(*me, _trappedPlayerGUID))
{
- _trappedPlayerGUID = 0;
+ _trappedPlayerGUID.Clear();
player->RemoveAurasDueToSpell(SPELL_ICE_TOMB_DAMAGE);
player->RemoveAurasDueToSpell(SPELL_ASPHYXIATION);
}
@@ -623,7 +622,7 @@ class npc_ice_tomb : public CreatureScript
}
private:
- uint64 _trappedPlayerGUID;
+ ObjectGuid _trappedPlayerGUID;
uint32 _existenceCheckTimer;
};
@@ -1574,14 +1573,14 @@ class at_sindragosa_lair : public AreaTriggerScript
if (InstanceScript* instance = player->GetInstanceScript())
{
if (!instance->GetData(DATA_SPINESTALKER))
- if (Creature* spinestalker = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_SPINESTALKER)))
+ if (Creature* spinestalker = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_SPINESTALKER)))
spinestalker->AI()->DoAction(ACTION_START_FROSTWYRM);
if (!instance->GetData(DATA_RIMEFANG))
- if (Creature* rimefang = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_RIMEFANG)))
+ if (Creature* rimefang = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_RIMEFANG)))
rimefang->AI()->DoAction(ACTION_START_FROSTWYRM);
- if (!instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS) && !instance->GetData64(DATA_SINDRAGOSA) && instance->GetBossState(DATA_SINDRAGOSA) != DONE)
+ if (!instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS) && !instance->GetGuidData(DATA_SINDRAGOSA) && instance->GetBossState(DATA_SINDRAGOSA) != DONE)
{
if (player->GetMap()->IsHeroic() && !instance->GetData(DATA_HEROIC_ATTEMPTS))
return true;
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 e2fe441dae2..5addfd672b4 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -567,7 +567,7 @@ class boss_the_lich_king : public CreatureScript
// Restore Tirion's gossip only after The Lich King fully resets to prevent
// restarting the encounter while LK still runs back to spawn point
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
// Reset any light override
@@ -584,7 +584,7 @@ class boss_the_lich_king : public CreatureScript
{
instance->SetBossState(DATA_THE_LICH_KING, FAIL);
BossAI::EnterEvadeMode();
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->EnterEvadeMode();
DoCastAOE(SPELL_KILL_FROSTMOURNE_PLAYERS);
EntryCheckPredicate pred(NPC_STRANGULATE_VEHICLE);
@@ -823,7 +823,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_INTRO_MOVE_3, 1, 0, PHASE_INTRO);
break;
case POINT_LK_INTRO_3:
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->DoAction(ACTION_CONTINUE_INTRO);
events.ScheduleEvent(EVENT_INTRO_TALK_1, 9000, 0, PHASE_INTRO);
break;
@@ -864,7 +864,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_OUTRO_TALK_5, 29000, 0, PHASE_OUTRO);
break;
case POINT_LK_OUTRO_2:
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->Talk(SAY_TIRION_OUTRO_2);
if (Creature* frostmourne = me->FindNearestCreature(NPC_FROSTMOURNE_TRIGGER, 50.0f))
frostmourne->AI()->DoAction(ACTION_SUMMON_TERENAS);
@@ -1070,7 +1070,7 @@ class boss_the_lich_king : public CreatureScript
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
break;
case EVENT_OUTRO_TALK_3:
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
me->SetFacingToObject(tirion);
Talk(SAY_LK_OUTRO_3);
break;
@@ -1088,12 +1088,12 @@ class boss_the_lich_king : public CreatureScript
break;
case EVENT_OUTRO_TALK_5:
Talk(SAY_LK_OUTRO_5);
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->DoAction(ACTION_OUTRO);
break;
case EVENT_OUTRO_TALK_6:
Talk(SAY_LK_OUTRO_6);
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->SetFacingToObject(me);
me->CastSpell((Unit*)NULL, SPELL_SUMMON_BROKEN_FROSTMOURNE_3, TRIGGERED_IGNORE_CAST_IN_PROGRESS);
SetEquipmentSlots(false, EQUIP_UNEQUIP);
@@ -1163,7 +1163,7 @@ class npc_tirion_fordring_tft : public CreatureScript
{
case POINT_TIRION_INTRO:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
- if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
theLichKing->AI()->DoAction(ACTION_START_ENCOUNTER);
break;
case POINT_TIRION_OUTRO_1:
@@ -1249,7 +1249,7 @@ class npc_tirion_fordring_tft : public CreatureScript
case EVENT_OUTRO_REMOVE_ICE:
me->RemoveAurasDueToSpell(SPELL_ICE_LOCK);
SetEquipmentSlots(false, EQUIP_ASHBRINGER_GLOWING);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
{
me->SetFacingToObject(lichKing);
lichKing->AI()->DoAction(ACTION_PLAY_MUSIC);
@@ -1376,13 +1376,13 @@ class npc_raging_spirit : public CreatureScript
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)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->JustSummoned(me);
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->SummonedCreatureDespawn(me);
if (TempSummon* summon = me->ToTempSummon())
summon->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN);
@@ -1433,7 +1433,7 @@ class npc_valkyr_shadowguard : public CreatureScript
struct npc_valkyr_shadowguardAI : public ScriptedAI
{
npc_valkyr_shadowguardAI(Creature* creature) : ScriptedAI(creature),
- _grabbedPlayer(0), _instance(creature->GetInstanceScript())
+ _instance(creature->GetInstanceScript())
{
}
@@ -1495,7 +1495,7 @@ class npc_valkyr_shadowguard : public CreatureScript
if (Player* target = ObjectAccessor::GetPlayer(*me, _grabbedPlayer))
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- if (GameObject* platform = ObjectAccessor::GetGameObject(*me, _instance->GetData64(DATA_ARTHAS_PLATFORM)))
+ if (GameObject* platform = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(DATA_ARTHAS_PLATFORM)))
{
std::list<Creature*> triggers;
GetCreatureListWithEntryInGrid(triggers, me, NPC_WORLD_TRIGGER, 150.0f);
@@ -1518,7 +1518,7 @@ class npc_valkyr_shadowguard : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 /* = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 /* = 0*/) override
{
_grabbedPlayer = guid;
}
@@ -1563,7 +1563,7 @@ class npc_valkyr_shadowguard : public CreatureScript
private:
EventMap _events;
Position _dropPoint;
- uint64 _grabbedPlayer;
+ ObjectGuid _grabbedPlayer;
InstanceScript* _instance;
};
@@ -1594,7 +1594,7 @@ class npc_strangulate_vehicle : public CreatureScript
_events.ScheduleEvent(EVENT_TELEPORT, 6000);
// this will let us easily access all creatures of this entry on heroic mode when its time to teleport back
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->JustSummoned(me);
}
@@ -1612,7 +1612,7 @@ class npc_strangulate_vehicle : public CreatureScript
}
}
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->SummonedCreatureDespawn(me);
}
@@ -1640,7 +1640,7 @@ class npc_strangulate_vehicle : public CreatureScript
else
{
summoner->CastSpell(summoner, SPELL_HARVEST_SOULS_TELEPORT, true);
- summoner->RemoveAurasDueToSpell(HARVEST_SOUL, 0, 0, AURA_REMOVE_BY_EXPIRE);
+ summoner->RemoveAurasDueToSpell(HARVEST_SOUL, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
}
}
@@ -1648,7 +1648,7 @@ class npc_strangulate_vehicle : public CreatureScript
_events.ScheduleEvent(EVENT_DESPAWN_SELF, 65000);
break;
case EVENT_MOVE_TO_LICH_KING:
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
{
if (me->GetExactDist(lichKing) > 10.0f)
{
@@ -1658,7 +1658,7 @@ class npc_strangulate_vehicle : public CreatureScript
}
break;
case EVENT_DESPAWN_SELF:
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->SummonedCreatureDespawn(me);
me->DespawnOrUnsummon(1);
break;
@@ -1758,7 +1758,7 @@ class npc_terenas_menethil : public CreatureScript
{
_events.Reset();
_events.SetPhase(PHASE_OUTRO);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
me->SetFacingToObject(lichKing);
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_1, 2000, 0, PHASE_OUTRO);
@@ -1792,11 +1792,11 @@ class npc_terenas_menethil : public CreatureScript
case EVENT_OUTRO_TERENAS_TALK_2:
Talk(SAY_TERENAS_OUTRO_2);
DoCastAOE(SPELL_MASS_RESURRECTION);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
{
lichKing->AI()->DoAction(ACTION_FINISH_OUTRO);
lichKing->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC);
- if (Creature* tirion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
+ if (Creature* tirion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->AttackStart(lichKing);
}
break;
@@ -1808,7 +1808,7 @@ class npc_terenas_menethil : public CreatureScript
_events.ScheduleEvent(EVENT_TELEPORT_BACK, 1000);
break;
case EVENT_TELEPORT_BACK:
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->DoAction(ACTION_TELEPORT_BACK);
break;
default:
@@ -1853,7 +1853,7 @@ class npc_spirit_warden : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* terenas = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_TERENAS_MENETHIL)))
+ if (Creature* terenas = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_TERENAS_MENETHIL)))
terenas->AI()->DoAction(ACTION_TELEPORT_BACK);
}
@@ -2288,7 +2288,7 @@ class spell_the_lich_king_quake : public SpellScriptLoader
void FilterTargets(std::list<WorldObject*>& targets)
{
- if (GameObject* platform = ObjectAccessor::GetGameObject(*GetCaster(), GetCaster()->GetInstanceScript()->GetData64(DATA_ARTHAS_PLATFORM)))
+ if (GameObject* platform = ObjectAccessor::GetGameObject(*GetCaster(), GetCaster()->GetInstanceScript()->GetGuidData(DATA_ARTHAS_PLATFORM)))
targets.remove_if(HeightDifferenceCheck(platform, 5.0f, false));
}
@@ -2804,7 +2804,7 @@ class spell_the_lich_king_harvest_soul : public SpellScriptLoader
{
// m_originalCaster to allow stacking from different casters, meh
if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH)
- GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetData64(DATA_THE_LICH_KING));
+ GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
}
void Register() override
@@ -2902,7 +2902,7 @@ class spell_the_lich_king_restore_soul : public SpellScriptLoader
void HandleScript(SpellEffIndex /*effIndex*/)
{
- if (Creature* lichKing = ObjectAccessor::GetCreature(*GetCaster(), _instance->GetData64(DATA_THE_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*GetCaster(), _instance->GetGuidData(DATA_THE_LICH_KING)))
lichKing->AI()->DoAction(ACTION_TELEPORT_BACK);
if (Creature* spawner = GetCaster()->FindNearestCreature(NPC_WORLD_TRIGGER_INFINITE_AOI, 50.0f))
spawner->RemoveAllAuras();
@@ -2991,7 +2991,7 @@ class spell_the_lich_king_in_frostmourne_room : public SpellScriptLoader
{
// m_originalCaster to allow stacking from different casters, meh
if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH)
- GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetData64(DATA_THE_LICH_KING));
+ GetTarget()->CastSpell((Unit*)NULL, SPELL_HARVESTED_SOUL, true, NULL, NULL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
}
void Register() override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 2d58a6eeb26..5b3dd67072a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -175,7 +175,7 @@ struct ManaVoidSelector : public std::unary_function<Unit*, bool>
class DelayedCastEvent : public BasicEvent
{
public:
- DelayedCastEvent(Creature* trigger, uint32 spellId, uint64 originalCaster, uint32 despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime)
+ DelayedCastEvent(Creature* trigger, uint32 spellId, ObjectGuid originalCaster, uint32 despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime)
{
}
@@ -189,7 +189,7 @@ class DelayedCastEvent : public BasicEvent
private:
Creature* _trigger;
- uint64 _originalCaster;
+ ObjectGuid _originalCaster;
uint32 _spellId;
uint32 _despawnTime;
};
@@ -353,7 +353,7 @@ class boss_valithria_dreamwalker : public CreatureScript
DoCast(me, SPELL_ACHIEVEMENT_CHECK);
DoCastAOE(SPELL_DREAMWALKERS_RAGE);
_events.ScheduleEvent(EVENT_DREAM_SLIP, 3500);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_LICH_KING)))
lichKing->AI()->EnterEvadeMode();
}
else if (!_over75PercentTalkDone && me->HealthAbovePctHealed(75, heal))
@@ -384,7 +384,7 @@ class boss_valithria_dreamwalker : public CreatureScript
_justDied = true;
Talk(SAY_VALITHRIA_DEATH);
_instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
- if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_TRIGGER)))
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_TRIGGER)))
trigger->AI()->DoAction(ACTION_DEATH);
}
}
@@ -401,10 +401,10 @@ class boss_valithria_dreamwalker : public CreatureScript
me->SetDisplayId(11686);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->DespawnOrUnsummon(4000);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_LICH_KING)))
lichKing->CastSpell(lichKing, SPELL_SPAWN_CHEST, false);
- if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_TRIGGER)))
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_TRIGGER)))
me->Kill(trigger);
}
}
@@ -522,7 +522,7 @@ class npc_green_dragon_combat_trigger : public CreatureScript
me->setActive(true);
DoZoneInCombat();
instance->SetBossState(DATA_VALITHRIA_DREAMWALKER, IN_PROGRESS);
- if (Creature* valithria = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VALITHRIA_DREAMWALKER)))
+ if (Creature* valithria = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER)))
valithria->AI()->DoAction(ACTION_ENTER_COMBAT);
}
@@ -721,10 +721,10 @@ class npc_risen_archmage : public CreatureScript
for (std::list<Creature*>::iterator itr = archmages.begin(); itr != archmages.end(); ++itr)
(*itr)->AI()->DoAction(ACTION_ENTER_COMBAT);
- if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_LICH_KING)))
+ if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_LICH_KING)))
lichKing->AI()->DoZoneInCombat();
- if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_TRIGGER)))
+ if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_TRIGGER)))
trigger->AI()->DoZoneInCombat();
}
}
@@ -742,7 +742,7 @@ class npc_risen_archmage : public CreatureScript
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));
+ summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, ObjectGuid::Empty, 8000), summon->m_Events.CalculateTime(2000));
else if (summon->GetEntry() == NPC_MANA_VOID)
summon->DespawnOrUnsummon(36000);
}
@@ -880,7 +880,7 @@ class npc_suppresser : public CreatureScript
void IsSummonedBy(Unit* /*summoner*/) override
{
- if (Creature* valithria = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_DREAMWALKER)))
+ if (Creature* valithria = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER)))
AttackStart(valithria);
}
@@ -1099,7 +1099,7 @@ class npc_dream_cloud : public CreatureScript
case EVENT_EXPLODE:
me->GetMotionMaster()->MoveIdle();
// must use originalCaster the same for all clouds to allow stacking
- me->CastSpell(me, EMERALD_VIGOR, false, NULL, NULL, _instance->GetData64(DATA_VALITHRIA_DREAMWALKER));
+ me->CastSpell(me, EMERALD_VIGOR, false, NULL, NULL, _instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER));
me->DespawnOrUnsummon(100);
break;
default:
@@ -1220,7 +1220,7 @@ class spell_dreamwalker_summoner : public SpellScriptLoader
if (!GetHitUnit())
return;
- GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
+ GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING));
}
void Register() override
@@ -1299,7 +1299,7 @@ class spell_dreamwalker_summon_suppresser_effect : public SpellScriptLoader
if (!GetHitUnit())
return;
- GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetData64(DATA_VALITHRIA_LICH_KING));
+ GetHitUnit()->CastSpell(GetCaster(), GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING));
}
void Register() override
@@ -1428,7 +1428,7 @@ class spell_dreamwalker_twisted_nightmares : public SpellScriptLoader
// return;
if (InstanceScript* instance = GetHitUnit()->GetInstanceScript())
- GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, instance->GetData64(DATA_VALITHRIA_DREAMWALKER));
+ GetHitUnit()->CastSpell((Unit*)NULL, GetSpellInfo()->Effects[effIndex].TriggerSpell, true, NULL, NULL, instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER));
}
void Register() override
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 23569ba77c2..c2007730cdc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -390,9 +390,9 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
void Initialize()
{
- _theLichKing = 0;
- _bolvarFordragon = 0;
- _factionNPC = 0;
+ _theLichKing.Clear();
+ _bolvarFordragon.Clear();
+ _factionNPC.Clear();
_damnedKills = 0;
}
@@ -581,9 +581,9 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
private:
EventMap _events;
InstanceScript* const _instance;
- uint64 _theLichKing;
- uint64 _bolvarFordragon;
- uint64 _factionNPC;
+ ObjectGuid _theLichKing;
+ ObjectGuid _bolvarFordragon;
+ ObjectGuid _factionNPC;
uint16 _damnedKills;
};
@@ -760,7 +760,7 @@ class boss_sister_svalna : public CreatureScript
uint64 delay = 1;
for (uint32 i = 0; i < 4; ++i)
{
- if (Creature* crusader = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CAPTAIN_ARNATH + i)))
+ if (Creature* crusader = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CAPTAIN_ARNATH + i)))
{
if (crusader->IsAlive() && crusader->GetEntry() == crusader->GetCreatureData()->id)
{
@@ -774,7 +774,7 @@ class boss_sister_svalna : public CreatureScript
void EnterCombat(Unit* /*attacker*/) override
{
_EnterCombat();
- if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CROK_SCOURGEBANE)))
+ if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CROK_SCOURGEBANE)))
crok->AI()->Talk(SAY_CROK_COMBAT_SVALNA);
events.ScheduleEvent(EVENT_SVALNA_COMBAT, 9000);
events.ScheduleEvent(EVENT_IMPALING_SPEAR, urand(40000, 50000));
@@ -979,7 +979,7 @@ class npc_crok_scourgebane : public CreatureScript
_isEventDone = true;
// Load Grid with Sister Svalna
me->GetMap()->LoadGrid(4356.71f, 2484.33f);
- if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SISTER_SVALNA)))
+ if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SISTER_SVALNA)))
svalna->AI()->DoAction(ACTION_START_GAUNTLET);
Talk(SAY_CROK_INTRO_1);
_events.ScheduleEvent(EVENT_ARNATH_INTRO_2, 7000);
@@ -987,7 +987,7 @@ class npc_crok_scourgebane : public CreatureScript
_events.ScheduleEvent(EVENT_START_PATHING, 37000);
me->setActive(true);
for (uint32 i = 0; i < 4; ++i)
- if (Creature* crusader = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_CAPTAIN_ARNATH + i)))
+ if (Creature* crusader = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_CAPTAIN_ARNATH + i)))
crusader->AI()->DoAction(ACTION_START_GAUNTLET);
}
else if (action == ACTION_RESET_EVENT)
@@ -1000,7 +1000,7 @@ class npc_crok_scourgebane : public CreatureScript
}
}
- void SetGUID(uint64 guid, int32 type/* = 0*/) override
+ void SetGUID(ObjectGuid guid, int32 type/* = 0*/) override
{
if (type == ACTION_VRYKUL_DEATH)
{
@@ -1013,7 +1013,7 @@ class npc_crok_scourgebane : public CreatureScript
_isEventActive = false;
me->setActive(false);
Talk(SAY_CROK_FINAL_WP);
- if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SISTER_SVALNA)))
+ if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SISTER_SVALNA)))
svalna->AI()->DoAction(ACTION_RESURRECT_CAPTAINS);
}
}
@@ -1041,7 +1041,7 @@ class npc_crok_scourgebane : public CreatureScript
_isEventActive = false;
me->setActive(false);
Talk(SAY_CROK_FINAL_WP);
- if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SISTER_SVALNA)))
+ if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SISTER_SVALNA)))
svalna->AI()->DoAction(ACTION_RESURRECT_CAPTAINS);
}
break;
@@ -1067,7 +1067,7 @@ class npc_crok_scourgebane : public CreatureScript
minY -= 50.0f;
maxY -= 50.0f;
// at waypoints 1 and 2 she kills one captain
- if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SISTER_SVALNA)))
+ if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SISTER_SVALNA)))
svalna->AI()->DoAction(ACTION_KILL_CAPTAIN);
}
else if (waypointId == 4)
@@ -1090,7 +1090,7 @@ class npc_crok_scourgebane : public CreatureScript
}
// at waypoints 1 and 2 she kills one captain
case 2:
- if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SISTER_SVALNA)))
+ if (Creature* svalna = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SISTER_SVALNA)))
svalna->AI()->DoAction(ACTION_KILL_CAPTAIN);
break;
default:
@@ -1160,7 +1160,7 @@ class npc_crok_scourgebane : public CreatureScript
switch (eventId)
{
case EVENT_ARNATH_INTRO_2:
- if (Creature* arnath = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_CAPTAIN_ARNATH)))
+ if (Creature* arnath = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_CAPTAIN_ARNATH)))
arnath->AI()->Talk(SAY_ARNATH_INTRO_2);
break;
case EVENT_CROK_INTRO_3:
@@ -1206,7 +1206,7 @@ class npc_crok_scourgebane : public CreatureScript
private:
EventMap _events;
- std::set<uint64> _aliveTrash;
+ GuidSet _aliveTrash;
InstanceScript* _instance;
uint32 _currentWPid;
uint32 _wipeCheckTimer;
@@ -1254,7 +1254,7 @@ struct npc_argent_captainAI : public ScriptedAI
{
if (action == ACTION_START_GAUNTLET)
{
- if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CROK_SCOURGEBANE)))
+ if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CROK_SCOURGEBANE)))
{
me->SetReactState(REACT_DEFENSIVE);
FollowAngle = me->GetAngle(crok) + me->GetOrientation();
@@ -1298,7 +1298,7 @@ struct npc_argent_captainAI : public ScriptedAI
if (!me->GetVehicle())
{
me->GetMotionMaster()->Clear(false);
- if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_CROK_SCOURGEBANE)))
+ if (Creature* crok = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_CROK_SCOURGEBANE)))
me->GetMotionMaster()->MoveFollow(crok, FollowDist, FollowAngle, MOTION_SLOT_IDLE);
}
@@ -2148,7 +2148,7 @@ class at_icc_start_frostwing_gauntlet : public AreaTriggerScript
bool OnTrigger(Player* player, AreaTriggerEntry const* /*areaTrigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
- if (Creature* crok = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_CROK_SCOURGEBANE)))
+ if (Creature* crok = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_CROK_SCOURGEBANE)))
crok->AI()->DoAction(ACTION_START_GAUNTLET);
return true;
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 3f429183fa0..dd821a5e5e5 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -120,52 +120,6 @@ class instance_icecrown_citadel : public InstanceMapScript
LoadDoorData(doorData);
TeamInInstance = 0;
HeroicAttempts = MaxHeroicAttempts;
- LadyDeathwisperElevatorGUID = 0;
- GunshipGUID = 0;
- EnemyGunshipGUID = 0;
- GunshipArmoryGUID = 0;
- DeathbringerSaurfangGUID = 0;
- DeathbringerSaurfangDoorGUID = 0;
- DeathbringerSaurfangEventGUID = 0;
- DeathbringersCacheGUID = 0;
- TeleporterLichKingGUID = 0;
- TeleporterUpperSpireGUID = 0;
- TeleporterLightsHammerGUID = 0;
- TeleporterRampartsGUID = 0;
- TeleporterDeathBringerGUID = 0;
- TeleporterOratoryGUID = 0;
- TeleporterSindragosaGUID = 0;
- PlagueSigilGUID = 0;
- BloodwingSigilGUID = 0;
- FrostwingSigilGUID = 0;
- memset(PutricidePipeGUIDs, 0, 2 * sizeof(uint64));
- memset(PutricideGateGUIDs, 0, 2 * sizeof(uint64));
- PutricideCollisionGUID = 0;
- FestergutGUID = 0;
- RotfaceGUID = 0;
- ProfessorPutricideGUID = 0;
- PutricideTableGUID = 0;
- memset(BloodCouncilGUIDs, 0, 3 * sizeof(uint64));
- BloodCouncilControllerGUID = 0;
- BloodQueenLanaThelGUID = 0;
- CrokScourgebaneGUID = 0;
- memset(CrokCaptainGUIDs, 0, 4 * sizeof(uint64));
- SisterSvalnaGUID = 0;
- ValithriaDreamwalkerGUID = 0;
- ValithriaLichKingGUID = 0;
- ValithriaTriggerGUID = 0;
- SindragosaGUID = 0;
- SpinestalkerGUID = 0;
- RimefangGUID = 0;
- TheLichKingTeleportGUID = 0;
- TheLichKingGUID = 0;
- HighlordTirionFordringGUID = 0;
- TerenasMenethilGUID = 0;
- ArthasPlatformGUID = 0;
- ArthasPrecipiceGUID = 0;
- FrozenThroneEdgeGUID = 0;
- FrozenThroneWindGUID = 0;
- FrozenThroneWarningGUID = 0;
IsBonedEligible = true;
IsOozeDanceEligible = true;
IsNauseaEligible = true;
@@ -174,9 +128,6 @@ class instance_icecrown_citadel : public InstanceMapScript
UpperSpireTeleporterActiveState = NOT_STARTED;
BloodQuickeningState = NOT_STARTED;
BloodQuickeningMinutes = 0;
- FrozenBolvarGUID = 0;
- PillarsChainedGUID = 0;
- PillarsUnchainedGUID = 0;
}
// A function to help reduce the number of lines for teleporter management.
@@ -362,7 +313,7 @@ class instance_icecrown_citadel : public InstanceMapScript
void OnCreatureRemove(Creature* creature) override
{
if (creature->GetEntry() == NPC_SINDRAGOSA)
- SindragosaGUID = 0;
+ SindragosaGUID.Clear();
}
// Weekly quest spawn prevention
@@ -725,7 +676,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
case GO_THE_SKYBREAKER_A:
case GO_ORGRIMS_HAMMER_H:
- GunshipGUID = 0;
+ GunshipGUID.Clear();
break;
default:
break;
@@ -759,7 +710,7 @@ class instance_icecrown_citadel : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -824,7 +775,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -1168,7 +1119,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 = nullptr) const override
{
if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
return true;
@@ -1476,55 +1427,55 @@ 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
- uint64 DeathbringersCacheGUID;
- uint64 TeleporterLichKingGUID;
- uint64 TeleporterUpperSpireGUID;
- uint64 TeleporterLightsHammerGUID;
- uint64 TeleporterRampartsGUID;
- uint64 TeleporterDeathBringerGUID;
- uint64 TeleporterOratoryGUID;
- uint64 TeleporterSindragosaGUID;
- uint64 PlagueSigilGUID;
- uint64 BloodwingSigilGUID;
- uint64 FrostwingSigilGUID;
- uint64 PutricidePipeGUIDs[2];
- uint64 PutricideGateGUIDs[2];
- uint64 PutricideCollisionGUID;
- uint64 FestergutGUID;
- uint64 RotfaceGUID;
- uint64 ProfessorPutricideGUID;
- uint64 PutricideTableGUID;
- uint64 BloodCouncilGUIDs[3];
- uint64 BloodCouncilControllerGUID;
- uint64 BloodQueenLanaThelGUID;
- uint64 CrokScourgebaneGUID;
- uint64 CrokCaptainGUIDs[4];
- uint64 SisterSvalnaGUID;
- uint64 ValithriaDreamwalkerGUID;
- uint64 ValithriaLichKingGUID;
- uint64 ValithriaTriggerGUID;
- uint64 SindragosaGUID;
- uint64 SpinestalkerGUID;
- uint64 RimefangGUID;
- uint64 TheLichKingTeleportGUID;
- uint64 TheLichKingGUID;
- uint64 HighlordTirionFordringGUID;
- uint64 TerenasMenethilGUID;
- uint64 ArthasPlatformGUID;
- uint64 ArthasPrecipiceGUID;
- uint64 FrozenThroneEdgeGUID;
- uint64 FrozenThroneWindGUID;
- uint64 FrozenThroneWarningGUID;
- uint64 FrozenBolvarGUID;
- uint64 PillarsChainedGUID;
- uint64 PillarsUnchainedGUID;
+ ObjectGuid LadyDeathwisperElevatorGUID;
+ ObjectGuid GunshipGUID;
+ ObjectGuid EnemyGunshipGUID;
+ ObjectGuid GunshipArmoryGUID;
+ ObjectGuid DeathbringerSaurfangGUID;
+ ObjectGuid DeathbringerSaurfangDoorGUID;
+ ObjectGuid DeathbringerSaurfangEventGUID; // Muradin Bronzebeard or High Overlord Saurfang
+ ObjectGuid DeathbringersCacheGUID;
+ ObjectGuid TeleporterLichKingGUID;
+ ObjectGuid TeleporterUpperSpireGUID;
+ ObjectGuid TeleporterLightsHammerGUID;
+ ObjectGuid TeleporterRampartsGUID;
+ ObjectGuid TeleporterDeathBringerGUID;
+ ObjectGuid TeleporterOratoryGUID;
+ ObjectGuid TeleporterSindragosaGUID;
+ ObjectGuid PlagueSigilGUID;
+ ObjectGuid BloodwingSigilGUID;
+ ObjectGuid FrostwingSigilGUID;
+ ObjectGuid PutricidePipeGUIDs[2];
+ ObjectGuid PutricideGateGUIDs[2];
+ ObjectGuid PutricideCollisionGUID;
+ ObjectGuid FestergutGUID;
+ ObjectGuid RotfaceGUID;
+ ObjectGuid ProfessorPutricideGUID;
+ ObjectGuid PutricideTableGUID;
+ ObjectGuid BloodCouncilGUIDs[3];
+ ObjectGuid BloodCouncilControllerGUID;
+ ObjectGuid BloodQueenLanaThelGUID;
+ ObjectGuid CrokScourgebaneGUID;
+ ObjectGuid CrokCaptainGUIDs[4];
+ ObjectGuid SisterSvalnaGUID;
+ ObjectGuid ValithriaDreamwalkerGUID;
+ ObjectGuid ValithriaLichKingGUID;
+ ObjectGuid ValithriaTriggerGUID;
+ ObjectGuid SindragosaGUID;
+ ObjectGuid SpinestalkerGUID;
+ ObjectGuid RimefangGUID;
+ ObjectGuid TheLichKingTeleportGUID;
+ ObjectGuid TheLichKingGUID;
+ ObjectGuid HighlordTirionFordringGUID;
+ ObjectGuid TerenasMenethilGUID;
+ ObjectGuid ArthasPlatformGUID;
+ ObjectGuid ArthasPrecipiceGUID;
+ ObjectGuid FrozenThroneEdgeGUID;
+ ObjectGuid FrozenThroneWindGUID;
+ ObjectGuid FrozenThroneWarningGUID;
+ ObjectGuid FrozenBolvarGUID;
+ ObjectGuid PillarsChainedGUID;
+ ObjectGuid PillarsUnchainedGUID;
uint32 TeamInInstance;
uint32 ColdflameJetsState;
uint32 UpperSpireTeleporterActiveState;
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index ec273d5f6e8..dcb004cc3a0 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -201,7 +201,7 @@ class npc_faerlina_add : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
if (_instance && GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
- if (Creature* faerlina = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_FAERLINA)))
+ if (Creature* faerlina = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_FAERLINA)))
DoCast(faerlina, SPELL_WIDOWS_EMBRACE);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index a8de1418cc4..c715bd8aad7 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -106,7 +106,7 @@ public:
void Initialize()
{
- uiEventStarterGUID = 0;
+ uiEventStarterGUID.Clear();
nextWP = 0;
punishTimer = 2000;
nextMovementStarted = false;
@@ -118,7 +118,7 @@ public:
}
Horsemen id;
- uint64 uiEventStarterGUID;
+ ObjectGuid uiEventStarterGUID;
uint8 nextWP;
uint32 punishTimer;
bool caster;
@@ -143,10 +143,10 @@ public:
bool DoEncounteraction(Unit* who, bool attack, bool reset, bool checkAllDead)
{
- Creature* Thane = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_THANE));
- Creature* Lady = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_LADY));
- Creature* Baron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BARON));
- Creature* Sir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SIR));
+ Creature* Thane = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THANE));
+ Creature* Lady = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LADY));
+ Creature* Baron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BARON));
+ Creature* Sir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SIR));
if (Thane && Lady && Baron && Sir)
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
index cea4b540f7b..e98e74634e2 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gluth.cpp
@@ -75,7 +75,7 @@ public:
{
SetGazeOn(who);
/// @todo use a script text
- me->MonsterTextEmote(EMOTE_NEARBY, NULL, true);
+ me->TextEmote(EMOTE_NEARBY, nullptr, true);
}
else
BossAI::MoveInLineOfSight(who);
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index de9d85db70b..39381f38d67 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -182,8 +182,8 @@ class boss_gothik : public CreatureScript
bool phaseTwo;
bool thirtyPercentReached;
- std::vector<uint64> LiveTriggerGUID;
- std::vector<uint64> DeadTriggerGUID;
+ GuidVector LiveTriggerGUID;
+ GuidVector DeadTriggerGUID;
void Reset() override
{
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
index 2d0e8a6d2b2..aac59761626 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_heigan.cpp
@@ -135,7 +135,7 @@ public:
me->NearTeleportTo(x, y, z, o - (float(M_PI) / 2));
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
DoCastAOE(SPELL_PLAGUE_CLOUD);
events.ScheduleEvent(EVENT_PHASE, 45000);
events.ScheduleEvent(EVENT_ERUPT, 8000);
@@ -204,7 +204,7 @@ class spell_heigan_eruption : public SpellScriptLoader
if (GetHitDamage() >= int32(GetHitPlayer()->GetHealth()))
if (InstanceScript* instance = caster->GetInstanceScript())
- if (Creature* Heigan = ObjectAccessor::GetCreature(*caster, instance->GetData64(DATA_HEIGAN)))
+ if (Creature* Heigan = ObjectAccessor::GetCreature(*caster, instance->GetGuidData(DATA_HEIGAN)))
Heigan->AI()->SetData(DATA_SAFETY_DANCE, 0);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 1c4320fd48b..6fe7bb30056 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -285,13 +285,13 @@ public:
uint8 nAbomination;
uint8 nWeaver;
- std::map<uint64, float> chained;
+ std::map<ObjectGuid, float> chained;
SummonList spawns; // adds spawn by the trigger. kept in separated list (i.e. not in summons)
void ResetPlayerScale()
{
- std::map<uint64, float>::const_iterator itr;
+ std::map<ObjectGuid, float>::const_iterator itr;
for (itr = chained.begin(); itr != chained.end(); ++itr)
{
if (Player* charmed = ObjectAccessor::GetPlayer(*me, itr->first))
@@ -313,7 +313,7 @@ public:
instance->SetData(DATA_ABOMINATION_KILLED, 0);
- if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_KELTHUZAD_TRIGGER)))
{
trigger->ResetDoorOrButton();
trigger->SetPhaseMask(1, true);
@@ -321,7 +321,7 @@ public:
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_KELTHUZAD_PORTAL01 + i)))
if (!((portal->getLootState() == GO_READY) || (portal->getLootState() == GO_NOT_READY)))
portal->ResetDoorOrButton();
}
@@ -349,7 +349,7 @@ public:
_EnterCombat();
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_KELTHUZAD_PORTAL01 + i)))
portal->ResetDoorOrButton();
}
DoCast(me, SPELL_KELTHUZAD_CHANNEL, false);
@@ -399,7 +399,7 @@ public:
}
break;
case EVENT_TRIGGER:
- if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_KELTHUZAD_TRIGGER)))
trigger->SetPhaseMask(2, true);
break;
case EVENT_PHASE:
@@ -439,7 +439,7 @@ public:
for (uint8 i = 0; i <= 3; ++i)
{
- if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_KELTHUZAD_PORTAL01 + i)))
+ if (GameObject* portal = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_KELTHUZAD_PORTAL01 + i)))
if (portal->getLootState() == GO_READY)
portal->UseDoorOrButton();
}
@@ -495,7 +495,7 @@ public:
}
case EVENT_CHAINED_SPELL:
{
- std::map<uint64, float>::iterator itr;
+ std::map<ObjectGuid, float>::iterator itr;
for (itr = chained.begin(); itr != chained.end();)
{
if (Unit* player = ObjectAccessor::GetPlayer(*me, itr->first))
@@ -503,7 +503,7 @@ public:
if (!player->IsCharmed())
{
player->SetObjectScale(itr->second);
- std::map<uint64, float>::iterator next = itr;
+ std::map<ObjectGuid, float>::iterator next = itr;
++next;
chained.erase(itr);
itr = next;
@@ -639,7 +639,7 @@ public:
if (!instance || instance->IsEncounterInProgress() || instance->GetBossState(BOSS_KELTHUZAD) == DONE)
return false;
- Creature* pKelthuzad = ObjectAccessor::GetCreature(*player, instance->GetData64(DATA_KELTHUZAD));
+ Creature* pKelthuzad = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_KELTHUZAD));
if (!pKelthuzad)
return false;
@@ -648,7 +648,7 @@ public:
return false;
pKelthuzadAI->AttackStart(player);
- if (GameObject* trigger = ObjectAccessor::GetGameObject(*player, instance->GetData64(DATA_KELTHUZAD_TRIGGER)))
+ if (GameObject* trigger = ObjectAccessor::GetGameObject(*player, instance->GetGuidData(DATA_KELTHUZAD_TRIGGER)))
{
if (trigger->getLootState() == GO_READY)
trigger->UseDoorOrButton();
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
index 209e689e615..aa284f1aaee 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp
@@ -165,11 +165,11 @@ public:
struct npc_webwrapAI : public NullCreatureAI
{
- npc_webwrapAI(Creature* creature) : NullCreatureAI(creature), victimGUID(0) { }
+ npc_webwrapAI(Creature* creature) : NullCreatureAI(creature) { }
- uint64 victimGUID;
+ ObjectGuid victimGUID;
- void SetGUID(uint64 guid, int32 /*param*/) override
+ void SetGUID(ObjectGuid guid, int32 /*param*/) override
{
victimGUID = guid;
if (me->m_spells[0] && victimGUID)
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index ce5010c972f..97c7d7c4052 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -80,7 +80,7 @@ enum Misc
MAX_FROST_RESISTANCE = 100
};
-typedef std::map<uint64, uint64> IceBlockMap;
+typedef std::map<ObjectGuid, ObjectGuid> IceBlockMap;
class boss_sapphiron : public CreatureScript
{
@@ -320,7 +320,7 @@ class boss_sapphiron : public CreatureScript
{
std::vector<Unit*>::const_iterator itr = targets.begin();
advance(itr, rand32() % targets.size());
- _iceblocks.insert(std::make_pair((*itr)->GetGUID(), 0));
+ _iceblocks.insert(std::make_pair((*itr)->GetGUID(), ObjectGuid::Empty));
DoCast(*itr, SPELL_ICEBOLT);
--_iceboltCount;
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index 8ae3b5790db..650777a8815 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -120,11 +120,11 @@ public:
// Moreover, the adds may not yet be spawn. So just track down the status if mob is spawn
// and each mob will send its status at reset (meaning that it is alive)
checkFeugenAlive = false;
- if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_FEUGEN)))
+ if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_FEUGEN)))
checkFeugenAlive = pFeugen->IsAlive();
checkStalaggAlive = false;
- if (Creature* pStalagg = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STALAGG)))
+ if (Creature* pStalagg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STALAGG)))
checkStalaggAlive = pStalagg->IsAlive();
if (!checkFeugenAlive && !checkStalaggAlive)
@@ -230,12 +230,12 @@ public:
{
if (!checkStalaggAlive)
{
- if (Creature* pStalagg = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STALAGG)))
+ if (Creature* pStalagg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STALAGG)))
pStalagg->Respawn();
}
else
{
- if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_FEUGEN)))
+ if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_FEUGEN)))
pFeugen->Respawn();
}
}
@@ -307,7 +307,7 @@ public:
void Reset() override
{
- if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
+ if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS)))
if (pThaddius->AI())
pThaddius->AI()->DoAction(ACTION_STALAGG_RESET);
Initialize();
@@ -328,7 +328,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_STAL_DEATH);
- if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
+ if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS)))
if (pThaddius->AI())
pThaddius->AI()->DoAction(ACTION_STALAGG_DIED);
}
@@ -340,7 +340,7 @@ public:
if (magneticPullTimer <= uiDiff)
{
- if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_FEUGEN)))
+ if (Creature* pFeugen = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_FEUGEN)))
{
Unit* pStalaggVictim = me->GetVictim();
Unit* pFeugenVictim = pFeugen->GetVictim();
@@ -403,7 +403,7 @@ public:
void Reset() override
{
- if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
+ if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS)))
if (pThaddius->AI())
pThaddius->AI()->DoAction(ACTION_FEUGEN_RESET);
Initialize();
@@ -424,7 +424,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
Talk(SAY_FEUG_DEATH);
- if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_THADDIUS)))
+ if (Creature* pThaddius = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_THADDIUS)))
if (pThaddius->AI())
pThaddius->AI()->DoAction(ACTION_FEUGEN_DIED);
}
diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
index 2fc49be0903..4151c4a85a7 100644
--- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp
@@ -112,27 +112,11 @@ class instance_naxxramas : public InstanceMapScript
LoadDoorData(doorData);
LoadMinionData(minionData);
- GothikGateGUID = 0;
- HorsemenChestGUID = 0;
- FaerlinaGUID = 0;
- ThaneGUID = 0;
- LadyGUID = 0;
- BaronGUID = 0;
- SirGUID = 0;
- ThaddiusGUID = 0;
- HeiganGUID = 0;
- FeugenGUID = 0;
- StalaggGUID = 0;
- SapphironGUID = 0;
- KelthuzadGUID = 0;
- KelthuzadTriggerGUID = 0;
minHorsemenDiedTime = 0;
maxHorsemenDiedTime = 0;
AbominationCount = 0;
playerDied = 0;
-
- memset(PortalsGUID, 0, sizeof(PortalsGUID));
}
void OnCreatureCreate(Creature* creature) override
@@ -309,7 +293,7 @@ class instance_naxxramas : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 id) const override
+ ObjectGuid GetGuidData(uint32 id) const override
{
switch (id)
{
@@ -345,7 +329,7 @@ class instance_naxxramas : public InstanceMapScript
return KelthuzadTriggerGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 id, EncounterState state) override
@@ -372,7 +356,7 @@ class instance_naxxramas : public InstanceMapScript
if (i == section)
continue;
- for (uint64 guid : HeiganEruptionGUID[i])
+ for (ObjectGuid guid : HeiganEruptionGUID[i])
{
if (GameObject* heiganEruption = instance->GetGameObject(guid))
{
@@ -434,38 +418,38 @@ class instance_naxxramas : public InstanceMapScript
protected:
/* The Arachnid Quarter */
// Grand Widow Faerlina
- uint64 FaerlinaGUID;
+ ObjectGuid FaerlinaGUID;
/* The Plague Quarter */
// Heigan the Unclean
- std::set<uint64> HeiganEruptionGUID[4];
- uint64 HeiganGUID;
+ GuidSet HeiganEruptionGUID[4];
+ ObjectGuid HeiganGUID;
/* The Military Quarter */
// Gothik the Harvester
- uint64 GothikGateGUID;
+ ObjectGuid GothikGateGUID;
// The Four Horsemen
- uint64 ThaneGUID;
- uint64 LadyGUID;
- uint64 BaronGUID;
- uint64 SirGUID;
- uint64 HorsemenChestGUID;
+ ObjectGuid ThaneGUID;
+ ObjectGuid LadyGUID;
+ ObjectGuid BaronGUID;
+ ObjectGuid SirGUID;
+ ObjectGuid HorsemenChestGUID;
time_t minHorsemenDiedTime;
time_t maxHorsemenDiedTime;
/* The Construct Quarter */
// Thaddius
- uint64 ThaddiusGUID;
- uint64 FeugenGUID;
- uint64 StalaggGUID;
+ ObjectGuid ThaddiusGUID;
+ ObjectGuid FeugenGUID;
+ ObjectGuid StalaggGUID;
/* Frostwyrm Lair */
// Sapphiron
- uint64 SapphironGUID;
+ ObjectGuid SapphironGUID;
// Kel'Thuzad
- uint64 KelthuzadGUID;
- uint64 KelthuzadTriggerGUID;
- uint64 PortalsGUID[4];
+ ObjectGuid KelthuzadGUID;
+ ObjectGuid KelthuzadTriggerGUID;
+ ObjectGuid PortalsGUID[4];
uint8 AbominationCount;
/* The Immortal / The Undying */
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 9ba0806ffd2..bd1a345e55b 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -330,7 +330,7 @@ enum MiscData
class VehicleCheckPredicate
{
public:
- bool operator()(uint64 guid) { return IS_VEHICLE_GUID(guid); }
+ bool operator()(ObjectGuid guid) { return guid.IsVehicle(); }
};
class boss_malygos : public CreatureScript
@@ -351,9 +351,10 @@ public:
{
_summonDeaths = 0;
_preparingPulsesChecker = 0;
- _arcaneOverloadGUID = 0;
- _lastHitByArcaneBarrageGUID = 0;
- memset(_surgeTargetGUID, 0, sizeof(_surgeTargetGUID));
+ _arcaneOverloadGUID.Clear();
+ _lastHitByArcaneBarrageGUID.Clear();
+ for (ObjectGuid& guid : _surgeTargetGUID)
+ guid.Clear();
_killSpamFilter = false;
_canAttack = false;
@@ -423,17 +424,17 @@ public:
}
}
- uint64 GetGUID(int32 type) const override
+ ObjectGuid 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];
else if (type == DATA_LAST_TARGET_BARRAGE_GUID)
return _lastHitByArcaneBarrageGUID;
- return 0;
+ return ObjectGuid::Empty;
}
- void SetGUID(uint64 guid, int32 type) override
+ void SetGUID(ObjectGuid guid, int32 type) override
{
switch (type)
{
@@ -447,6 +448,7 @@ public:
break;
case DATA_LAST_TARGET_BARRAGE_GUID:
_lastHitByArcaneBarrageGUID = guid;
+ break;
}
}
@@ -456,7 +458,7 @@ public:
{
case ACTION_LAND_ENCOUNTER_START:
events.CancelEventGroup(1);
- if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
+ if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
{
Position pos;
pos.m_positionZ = alexstraszaBunny->GetPositionZ();
@@ -670,7 +672,7 @@ public:
Talk(SAY_BUFF_SPARK);
}
else if (spell->Id == SPELL_MALYGOS_BERSERK)
- TalkToMap(EMOTE_HIT_BERSERKER_TIMER);
+ Talk(EMOTE_HIT_BERSERKER_TIMER);
}
void MoveInLineOfSight(Unit* who) override
@@ -720,7 +722,7 @@ public:
{
_firstCyclicMovementStarted = true;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
+ if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
me->SetFacingToObject(alexstraszaBunny);
events.ScheduleEvent(EVENT_SUMMON_ARCANE_BOMB, 1*IN_MILLISECONDS, 0, PHASE_TWO);
}
@@ -730,7 +732,7 @@ public:
break;
case POINT_PHASE_ONE_TO_TWO_TRANSITION:
me->SetDisableGravity(true);
- if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
+ if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
me->SetFacingToObject(alexstraszaBunny);
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);
@@ -789,7 +791,7 @@ public:
me->CastCustomSpell(SPELL_RANDOM_PORTAL, SPELLVALUE_MAX_TARGETS, 1);
break;
case EVENT_LAND_START_ENCOUNTER:
- if (GameObject* iris = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_FOCUSING_IRIS_GUID)))
+ if (GameObject* iris = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_FOCUSING_IRIS_GUID)))
{
me->SetFacingToObject(iris);
iris->Delete(); // this is not the best way.
@@ -846,7 +848,7 @@ public:
case EVENT_FLY_OUT_OF_PLATFORM:
if (!_performingDestroyPlatform)
{
- if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
+ if (Creature* alexstraszaBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
{
Position randomPosOnRadius;
// Hardcodded retail value, reason is Z getters can fail... (TO DO: Change to getter when height calculation works on 100%!)
@@ -1002,7 +1004,7 @@ public:
{
_JustDied();
Talk(SAY_DEATH);
- if (Creature* alexstraszaGiftBoxBunny = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GIFT_BOX_BUNNY_GUID)))
+ if (Creature* alexstraszaGiftBoxBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GIFT_BOX_BUNNY_GUID)))
{
if (GetDifficulty() == RAID_DIFFICULTY_10MAN_NORMAL)
alexstraszaGiftBoxBunny->SummonGameObject(GO_HEART_OF_MAGIC_10, HeartOfMagicSpawnPos.GetPositionX(), HeartOfMagicSpawnPos.GetPositionY(),
@@ -1036,9 +1038,9 @@ public:
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.
- uint64 _arcaneOverloadGUID; // Last Arcane Overload summoned to know to which should visual be cast to (the purple ball, not bubble).
- uint64 _lastHitByArcaneBarrageGUID; // Last hit player by Arcane Barrage, will be removed if targets > 1.
- uint64 _surgeTargetGUID[3]; // All these three are used to keep current tagets to which warning should be sent.
+ ObjectGuid _arcaneOverloadGUID; // Last Arcane Overload summoned to know to which should visual be cast to (the purple ball, not bubble).
+ ObjectGuid _lastHitByArcaneBarrageGUID; // Last hit player by Arcane Barrage, will be removed if targets > 1.
+ ObjectGuid _surgeTargetGUID[3]; // All these three are used to keep current tagets to which warning should be sent.
bool _killSpamFilter; // Prevent text spamming on killed player by helping implement a CD.
bool _canAttack; // Used to control attacking (Move Chase not being applied after Stop Attack, only few times should act like this).
@@ -1075,7 +1077,7 @@ public:
{
if (spell->Id == SPELL_PORTAL_OPENED)
{
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
{
if (malygos->AI()->GetData(DATA_PHASE) == PHASE_ONE)
DoCast(me, SPELL_SUMMON_POWER_PARK, true);
@@ -1089,7 +1091,7 @@ public:
if (!me->HasAura(SPELL_PORTAL_VISUAL_CLOSED) && !me->HasAura(SPELL_PORTAL_OPENED))
DoCast(me, SPELL_PORTAL_VISUAL_CLOSED, true);
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
{
if (malygos->AI()->GetData(DATA_PHASE) != PHASE_ONE && me->HasAura(SPELL_PORTAL_OPENED))
{
@@ -1119,7 +1121,7 @@ public:
npc_power_sparkAI(Creature* creature) : ScriptedAI(creature)
{
_instance = creature->GetInstanceScript();
- TalkToMap(EMOTE_POWER_SPARK_SUMMONED);
+ Talk(EMOTE_POWER_SPARK_SUMMONED);
MoveToMalygos();
}
@@ -1127,7 +1129,7 @@ public:
{
me->GetMotionMaster()->MoveIdle();
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
me->GetMotionMaster()->MoveFollow(malygos, 0.0f, 0.0f);
}
@@ -1136,7 +1138,7 @@ public:
if (!_instance)
return;
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
{
if (malygos->AI()->GetData(DATA_PHASE) != PHASE_ONE || _instance->GetBossState(DATA_MALYGOS_EVENT) == FAIL)
{
@@ -1421,7 +1423,7 @@ class npc_nexus_lord : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
malygos->AI()->SetData(DATA_SUMMON_DEATHS, malygos->AI()->GetData(DATA_SUMMON_DEATHS) + 1);
}
@@ -1488,7 +1490,7 @@ class npc_scion_of_eternity : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
malygos->AI()->SetData(DATA_SUMMON_DEATHS, malygos->AI()->GetData(DATA_SUMMON_DEATHS) + 1);
}
@@ -1528,7 +1530,7 @@ public:
void DoAction(int32 /*action*/) override
{
- if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MALYGOS)))
+ if (Creature* malygos = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MALYGOS)))
{
if (malygos->AI()->GetData(DATA_PHASE) == PHASE_TWO)
me->DespawnOrUnsummon(6*IN_MILLISECONDS);
@@ -1886,7 +1888,7 @@ class spell_malygos_vortex_visual : public SpellScriptLoader
if (InstanceScript* instance = caster->GetInstanceScript())
{
// Teleport spell - I'm not sure but might be it must be cast by each vehicle when it's passenger leaves it.
- if (Creature* trigger = caster->GetMap()->GetCreature(instance->GetData64(DATA_TRIGGER)))
+ if (Creature* trigger = caster->GetMap()->GetCreature(instance->GetGuidData(DATA_TRIGGER)))
trigger->CastSpell(targetPlayer, SPELL_VORTEX_6, true);
}
}
@@ -2032,7 +2034,7 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader
Creature* caster = GetCaster()->ToCreature();
InstanceScript* instance = caster->GetInstanceScript();
- Creature* malygos = ObjectAccessor::GetCreature(*caster, instance->GetData64(DATA_MALYGOS));
+ Creature* malygos = ObjectAccessor::GetCreature(*caster, instance->GetGuidData(DATA_MALYGOS));
// If max possible targets are more than 1 then Scions wouldn't select previosly selected target,
// in longer terms this means if spell picks target X then 2nd cast of this spell will pick smth else
@@ -2121,7 +2123,7 @@ class spell_malygos_destroy_platform_channel : public SpellScriptLoader
{
if (Creature* target = GetTarget()->ToCreature())
if (InstanceScript* instance = target->GetInstanceScript())
- if (Creature* platformTrigger = target->GetMap()->GetCreature(instance->GetData64(DATA_ALEXSTRASZA_BUNNY_GUID)))
+ if (Creature* platformTrigger = target->GetMap()->GetCreature(instance->GetGuidData(DATA_ALEXSTRASZA_BUNNY_GUID)))
platformTrigger->CastSpell(platformTrigger, SPELL_DESTROY_PLATFORM_BOOM_VISUAL);
}
@@ -2195,7 +2197,7 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScriptLoader
{
Creature* caster = GetCaster()->ToCreature();
if (InstanceScript* instance = caster->GetInstanceScript())
- if (GameObject* platform = caster->GetMap()->GetGameObject(instance->GetData64(DATA_PLATFORM)))
+ if (GameObject* platform = caster->GetMap()->GetGameObject(instance->GetGuidData(DATA_PLATFORM)))
platform->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED);
}
@@ -2478,7 +2480,7 @@ class spell_alexstrasza_gift_beam_visual : public SpellScriptLoader
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
{
_alexstraszaGift->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
- if (GameObject* heartMagic = target->GetMap()->GetGameObject(instance->GetData64(DATA_HEART_OF_MAGIC_GUID)))
+ if (GameObject* heartMagic = target->GetMap()->GetGameObject(instance->GetGuidData(DATA_HEART_OF_MAGIC_GUID)))
{
heartMagic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
// TO DO: This is hack, core doesn't have support for these flags,
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 d8a5cfae60d..834297aa123 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
@@ -37,19 +37,7 @@ public:
{
SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
-
- vortexTriggers.clear();
- portalTriggers.clear();
-
- malygosGUID = 0;
- irisGUID = 0;
- lastPortalGUID = 0;
- platformGUID = 0;
- exitPortalGUID = 0;
- alexstraszaBunnyGUID = 0;
- heartOfMagicGUID = 0;
- giftBoxBunnyGUID = 0;
- };
+ }
bool SetBossState(uint32 type, EncounterState state) override
{
@@ -60,7 +48,7 @@ public:
{
if (state == FAIL)
{
- for (std::list<uint64>::const_iterator itr_trigger = portalTriggers.begin(); itr_trigger != portalTriggers.end(); ++itr_trigger)
+ for (GuidList::const_iterator itr_trigger = portalTriggers.begin(); itr_trigger != portalTriggers.end(); ++itr_trigger)
{
if (Creature* trigger = instance->GetCreature(*itr_trigger))
{
@@ -191,7 +179,7 @@ public:
if (Creature* malygos = instance->GetCreature(malygosGUID))
{
std::list<HostileReference*> m_threatlist = malygos->getThreatManager().getThreatList();
- for (std::list<uint64>::const_iterator itr_vortex = vortexTriggers.begin(); itr_vortex != vortexTriggers.end(); ++itr_vortex)
+ for (GuidList::const_iterator itr_vortex = vortexTriggers.begin(); itr_vortex != vortexTriggers.end(); ++itr_vortex)
{
if (m_threatlist.empty())
return;
@@ -225,7 +213,7 @@ public:
{
bool next = (lastPortalGUID == portalTriggers.back() || !lastPortalGUID ? true : false);
- for (std::list<uint64>::const_iterator itr_trigger = portalTriggers.begin(); itr_trigger != portalTriggers.end(); ++itr_trigger)
+ for (GuidList::const_iterator itr_trigger = portalTriggers.begin(); itr_trigger != portalTriggers.end(); ++itr_trigger)
{
if (next)
{
@@ -258,7 +246,7 @@ public:
}
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -278,20 +266,20 @@ public:
return giftBoxBunnyGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
private:
- std::list<uint64> vortexTriggers;
- std::list<uint64> portalTriggers;
- uint64 malygosGUID;
- uint64 irisGUID;
- uint64 lastPortalGUID;
- uint64 platformGUID;
- uint64 exitPortalGUID;
- uint64 heartOfMagicGUID;
- uint64 alexstraszaBunnyGUID;
- uint64 giftBoxBunnyGUID;
+ GuidList vortexTriggers;
+ GuidList portalTriggers;
+ ObjectGuid malygosGUID;
+ ObjectGuid irisGUID;
+ ObjectGuid lastPortalGUID;
+ ObjectGuid platformGUID;
+ ObjectGuid exitPortalGUID;
+ ObjectGuid heartOfMagicGUID;
+ ObjectGuid alexstraszaBunnyGUID;
+ ObjectGuid giftBoxBunnyGUID;
Position focusingIrisPosition;
Position exitPortalPosition;
};
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
index 399f2eb8ac2..ed08296acd8 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
@@ -85,7 +85,7 @@ class boss_anomalus : public CreatureScript
{
Phase = 0;
uiSparkTimer = 5000;
- uiChaoticRiftGUID = 0;
+ uiChaoticRiftGUID.Clear();
chaosTheory = true;
}
@@ -93,7 +93,7 @@ class boss_anomalus : public CreatureScript
uint8 Phase;
uint32 uiSparkTimer;
- uint64 uiChaoticRiftGUID;
+ ObjectGuid uiChaoticRiftGUID;
bool chaosTheory;
void Reset() override
@@ -151,13 +151,13 @@ class boss_anomalus : public CreatureScript
if (Rift && Rift->isDead())
{
me->RemoveAurasDueToSpell(SPELL_RIFT_SHIELD);
- uiChaoticRiftGUID = 0;
+ uiChaoticRiftGUID.Clear();
}
return;
}
}
else
- uiChaoticRiftGUID = 0;
+ uiChaoticRiftGUID.Clear();
if ((Phase == 0) && HealthBelowPct(50))
{
@@ -232,7 +232,7 @@ class npc_chaotic_rift : public CreatureScript
if (uiChaoticEnergyBurstTimer <= diff)
{
- Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ANOMALUS));
+ Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ANOMALUS));
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
{
if (Anomalus && Anomalus->HasAura(SPELL_RIFT_SHIELD))
@@ -250,7 +250,7 @@ class npc_chaotic_rift : public CreatureScript
if (Creature* Wraith = me->SummonCreature(NPC_CRAZED_MANA_WRAITH, me->GetPositionX() + 1, me->GetPositionY() + 1, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1000))
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
Wraith->AI()->AttackStart(target);
- Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ANOMALUS));
+ Creature* Anomalus = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ANOMALUS));
if (Anomalus && Anomalus->HasAura(SPELL_RIFT_SHIELD))
uiSummonCrazedManaWraithTimer = 5000;
else
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index 7bc4174260b..6b3df5ef665 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -84,8 +84,8 @@ public:
InstanceScript* instance;
- std::list<uint64> intenseColdList;
- uint64 auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES];
+ GuidList intenseColdList;
+ ObjectGuid auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES];
uint32 uiCrystalfireBreathTimer;
uint32 uiCrystalChainsCrystalizeTimer;
uint32 uiTailSweepTimer;
@@ -127,9 +127,9 @@ public:
bool CheckContainmentSpheres(bool remove_prison = false)
{
- auiContainmentSphereGUIDs[0] = instance->GetData64(ANOMALUS_CONTAINMET_SPHERE);
- auiContainmentSphereGUIDs[1] = instance->GetData64(ORMOROKS_CONTAINMET_SPHERE);
- auiContainmentSphereGUIDs[2] = instance->GetData64(TELESTRAS_CONTAINMET_SPHERE);
+ auiContainmentSphereGUIDs[0] = instance->GetGuidData(ANOMALUS_CONTAINMET_SPHERE);
+ auiContainmentSphereGUIDs[1] = instance->GetGuidData(ORMOROKS_CONTAINMET_SPHERE);
+ auiContainmentSphereGUIDs[2] = instance->GetGuidData(TELESTRAS_CONTAINMET_SPHERE);
GameObject* ContainmentSpheres[DATA_CONTAINMENT_SPHERES];
@@ -163,7 +163,7 @@ public:
}
}
- void SetGUID(uint64 guid, int32 id/* = 0 */) override
+ void SetGUID(ObjectGuid guid, int32 id/* = 0 */) override
{
if (id == DATA_INTENSE_COLD)
intenseColdList.push_back(guid);
@@ -219,7 +219,7 @@ public:
{
InstanceScript* instance = go->GetInstanceScript();
- Creature* pKeristrasza = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_KERISTRASZA));
+ Creature* pKeristrasza = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_KERISTRASZA));
if (pKeristrasza && pKeristrasza->IsAlive())
{
// maybe these are hacks :(
@@ -277,9 +277,9 @@ class achievement_intense_cold : public AchievementCriteriaScript
if (!target)
return false;
- std::list<uint64> intenseColdList = ENSURE_AI(boss_keristrasza::boss_keristraszaAI, target->ToCreature()->AI())->intenseColdList;
+ GuidList intenseColdList = ENSURE_AI(boss_keristrasza::boss_keristraszaAI, target->ToCreature()->AI())->intenseColdList;
if (!intenseColdList.empty())
- for (std::list<uint64>::iterator itr = intenseColdList.begin(); itr != intenseColdList.end(); ++itr)
+ for (GuidList::iterator itr = intenseColdList.begin(); itr != intenseColdList.end(); ++itr)
if (player->GetGUID() == *itr)
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 c08fd97a76f..8c58a65cdbe 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
@@ -89,9 +89,9 @@ public:
uiGravityWellTimer = 15 * IN_MILLISECONDS;
uiCooldown = 0;
- uiFireMagusGUID = 0;
- uiFrostMagusGUID = 0;
- uiArcaneMagusGUID = 0;
+ uiFireMagusGUID.Clear();
+ uiFrostMagusGUID.Clear();
+ uiArcaneMagusGUID.Clear();
for (uint8 n = 0; n < 3; ++n)
time[n] = 0;
@@ -102,9 +102,9 @@ public:
InstanceScript* instance;
- uint64 uiFireMagusGUID;
- uint64 uiFrostMagusGUID;
- uint64 uiArcaneMagusGUID;
+ ObjectGuid uiFireMagusGUID;
+ ObjectGuid uiFrostMagusGUID;
+ ObjectGuid uiArcaneMagusGUID;
bool bFireMagusDead;
bool bFrostMagusDead;
@@ -173,7 +173,7 @@ public:
return 0;
}
- uint64 SplitPersonality(uint32 entry)
+ ObjectGuid SplitPersonality(uint32 entry)
{
if (Creature* Summoned = me->SummonCreature(entry, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1*IN_MILLISECONDS))
{
@@ -199,7 +199,7 @@ public:
Summoned->AI()->AttackStart(target);
return Summoned->GetGUID();
}
- return 0;
+ return ObjectGuid::Empty;
}
void SummonedCreatureDespawn(Creature* summon) override
@@ -256,9 +256,9 @@ public:
Phase = 2;
if (Phase == 3)
Phase = 4;
- uiFireMagusGUID = 0;
- uiFrostMagusGUID = 0;
- uiArcaneMagusGUID = 0;
+ uiFireMagusGUID.Clear();
+ uiFrostMagusGUID.Clear();
+ uiArcaneMagusGUID.Clear();
bIsWaitingToAppear = true;
uiIsWaitingToAppearTimer = 4*IN_MILLISECONDS;
Talk(SAY_MERGE);
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index 663f4bca6ac..91a40d43f12 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -44,12 +44,12 @@ public:
uint32 m_auiEncounter[NUMBER_OF_ENCOUNTERS];
- uint64 Anomalus;
- uint64 Keristrasza;
+ ObjectGuid Anomalus;
+ ObjectGuid Keristrasza;
- uint64 AnomalusContainmentSphere;
- uint64 OrmoroksContainmentSphere;
- uint64 TelestrasContainmentSphere;
+ ObjectGuid AnomalusContainmentSphere;
+ ObjectGuid OrmoroksContainmentSphere;
+ ObjectGuid TelestrasContainmentSphere;
std::string strInstData;
@@ -57,12 +57,6 @@ public:
{
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
-
- Anomalus = 0;
- Keristrasza = 0;
- AnomalusContainmentSphere = 0;
- OrmoroksContainmentSphere = 0;
- TelestrasContainmentSphere = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -222,7 +216,7 @@ public:
}
}
- uint64 GetData64(uint32 uiIdentifier) const override
+ ObjectGuid GetGuidData(uint32 uiIdentifier) const override
{
switch (uiIdentifier)
{
@@ -232,7 +226,7 @@ public:
case ORMOROKS_CONTAINMET_SPHERE: return OrmoroksContainmentSphere;
case TELESTRAS_CONTAINMET_SPHERE: return TelestrasContainmentSphere;
}
- return 0;
+ return ObjectGuid::Empty;
}
std::string GetSaveData() override
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index 17508517f44..0119b81796e 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -184,7 +184,7 @@ class npc_azure_ring_captain : public CreatureScript
void Initialize()
{
- targetGUID = 0;
+ targetGUID.Clear();
}
void Reset() override
@@ -231,7 +231,7 @@ class npc_azure_ring_captain : public CreatureScript
switch (action)
{
case ACTION_CALL_DRAGON_EVENT:
- if (Creature* varos = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VAROS)))
+ if (Creature* varos = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VAROS)))
{
if (Unit* victim = varos->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0))
{
@@ -246,7 +246,7 @@ class npc_azure_ring_captain : public CreatureScript
}
private:
- uint64 targetGUID;
+ ObjectGuid targetGUID;
InstanceScript* instance;
};
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index b758f9c678c..1c5aadc3581 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -44,20 +44,7 @@ class instance_oculus : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- DrakosGUID = 0;
- VarosGUID = 0;
- UromGUID = 0;
- EregosGUID = 0;
-
CentrifugueConstructCounter = 0;
-
- EregosCacheGUID = 0;
-
- GreaterWhelpList.clear();
-
- BelgaristraszGUID = 0;
- EternosGUID = 0;
- VerdisaGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -240,7 +227,7 @@ class instance_oculus : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -256,7 +243,7 @@ class instance_oculus : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void FreeDragons()
@@ -282,26 +269,26 @@ class instance_oculus : public InstanceMapScript
void GreaterWhelps()
{
- for (uint64 guid : GreaterWhelpList)
+ for (ObjectGuid guid : GreaterWhelpList)
if (Creature* gwhelp = instance->GetCreature(guid))
gwhelp->SetPhaseMask(1, true);
}
protected:
- uint64 DrakosGUID;
- uint64 VarosGUID;
- uint64 UromGUID;
- uint64 EregosGUID;
+ ObjectGuid DrakosGUID;
+ ObjectGuid VarosGUID;
+ ObjectGuid UromGUID;
+ ObjectGuid EregosGUID;
- uint64 BelgaristraszGUID;
- uint64 EternosGUID;
- uint64 VerdisaGUID;
+ ObjectGuid BelgaristraszGUID;
+ ObjectGuid EternosGUID;
+ ObjectGuid VerdisaGUID;
uint8 CentrifugueConstructCounter;
- uint64 EregosCacheGUID;
+ ObjectGuid EregosCacheGUID;
- std::list<uint64> GreaterWhelpList;
+ GuidList GreaterWhelpList;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
index 29de693bf3a..b5079d8cf4f 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
@@ -109,7 +109,6 @@ public:
Initialize();
instance = creature->GetInstanceScript();
m_uiStance = STANCE_DEFENSIVE;
- memset(&m_auiStormforgedLieutenantGUID, 0, sizeof(m_auiStormforgedLieutenantGUID));
canBuff = true;
}
@@ -158,7 +157,7 @@ public:
uint32 m_uiMortalStrike_Timer;
uint32 m_uiSlam_Timer;
- uint64 m_auiStormforgedLieutenantGUID[2];
+ ObjectGuid m_auiStormforgedLieutenantGUID[2];
void Reset() override
{
@@ -170,6 +169,7 @@ public:
for (uint8 i = 0; i < 2; ++i)
{
+ // Something isn't right here - m_auiStormforgedLieutenantGUID is never assinged to
if (Creature* pStormforgedLieutenant = ObjectAccessor::GetCreature(*me, m_auiStormforgedLieutenantGUID[i]))
if (!pStormforgedLieutenant->IsAlive())
pStormforgedLieutenant->Respawn();
@@ -421,7 +421,7 @@ public:
void EnterCombat(Unit* who) override
{
- if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BJARNGRIM)))
+ if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BJARNGRIM)))
{
if (pBjarngrim->IsAlive() && !pBjarngrim->GetVictim())
pBjarngrim->AI()->AttackStart(who);
@@ -444,7 +444,7 @@ public:
if (m_uiRenewSteel_Timer <= uiDiff)
{
- if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BJARNGRIM)))
+ if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BJARNGRIM)))
{
if (pBjarngrim->IsAlive())
DoCast(pBjarngrim, SPELL_RENEW_STEEL_N);
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
index ddd88681a05..274fbed0fc9 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
@@ -168,7 +168,7 @@ public:
Position pos = me->GetPosition();
- for (uint64 guid : lSparkList)
+ for (ObjectGuid guid : lSparkList)
{
if (Creature* pSpark = ObjectAccessor::GetCreature(*me, guid))
{
@@ -348,7 +348,7 @@ public:
// Prevent them to follow players through the whole instance
if (uiCheckTimer <= uiDiff)
{
- Creature* ionar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_IONAR));
+ Creature* ionar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_IONAR));
if (ionar && ionar->IsAlive())
{
if (me->GetDistance(ionar) > DATA_MAX_SPARK_DISTANCE)
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
index 4ca94f69c5b..d63d5e87923 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
@@ -100,7 +100,7 @@ public:
InstanceScript* instance;
- std::list<uint64> m_lGolemGUIDList;
+ GuidList m_lGolemGUIDList;
bool m_bHasTemper;
bool m_bIsStriking;
@@ -164,7 +164,7 @@ public:
if (m_lGolemGUIDList.empty())
return;
- for (uint64 guid : m_lGolemGUIDList)
+ for (ObjectGuid guid : m_lGolemGUIDList)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
if (temp->IsAlive())
@@ -179,7 +179,7 @@ public:
if (m_lGolemGUIDList.empty())
return;
- for (uint64 guid : m_lGolemGUIDList)
+ for (ObjectGuid guid : m_lGolemGUIDList)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
{
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 0f44f935d24..0d39a8921e8 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
@@ -39,13 +39,6 @@ class instance_halls_of_lightning : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
-
- GeneralBjarngrimGUID = 0;
- VolkhanGUID = 0;
- IonarGUID = 0;
- LokenGUID = 0;
-
- LokenGlobeGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -119,7 +112,7 @@ class instance_halls_of_lightning : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -134,16 +127,16 @@ class instance_halls_of_lightning : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 GeneralBjarngrimGUID;
- uint64 VolkhanGUID;
- uint64 IonarGUID;
- uint64 LokenGUID;
+ ObjectGuid GeneralBjarngrimGUID;
+ ObjectGuid VolkhanGUID;
+ ObjectGuid IonarGUID;
+ ObjectGuid LokenGUID;
- uint64 LokenGlobeGUID;
+ ObjectGuid LokenGlobeGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
index 63000df133e..ac3df1e49aa 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
@@ -281,7 +281,7 @@ class npc_iron_sludge : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* sjonnir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SJONNIR)))
+ if (Creature* sjonnir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SJONNIR)))
sjonnir->AI()->DoAction(ACTION_OOZE_DEAD);
}
};
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 11f616e8550..f98a6e40a07 100644
--- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
+++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
@@ -164,16 +164,16 @@ public:
bool bMarnakActivated;
bool bAbedneumActivated;
- std::list<uint64> KaddrakGUIDList;
+ GuidList KaddrakGUIDList;
void Reset() override
{
Initialize();
- instance->HandleGameObject(instance->GetData64(DATA_GO_KADDRAK), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_MARNAK), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_ABEDNEUM), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_SKY_FLOOR), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_KADDRAK), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_MARNAK), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_ABEDNEUM), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_SKY_FLOOR), false);
KaddrakGUIDList.clear();
}
@@ -212,7 +212,7 @@ public:
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
if (!KaddrakGUIDList.empty())
- for (std::list<uint64>::const_iterator itr = KaddrakGUIDList.begin(); itr != KaddrakGUIDList.end(); ++itr)
+ for (GuidList::const_iterator itr = KaddrakGUIDList.begin(); itr != KaddrakGUIDList.end(); ++itr)
{
if (Creature* pKaddrak = ObjectAccessor::GetCreature(*me, *itr))
{
@@ -306,15 +306,15 @@ public:
bIsBattle = false;
uiStep = 0;
uiPhaseTimer = 0;
- uiControllerGUID = 0;
+ uiControllerGUID.Clear();
brannSparklinNews = true;
}
uint32 uiStep;
uint32 uiPhaseTimer;
- uint64 uiControllerGUID;
- std::list<uint64> lDwarfGUIDList;
+ ObjectGuid uiControllerGUID;
+ GuidList lDwarfGUIDList;
InstanceScript* instance;
@@ -338,9 +338,9 @@ public:
{
if (lDwarfGUIDList.empty())
return;
- for (std::list<uint64>::const_iterator itr = lDwarfGUIDList.begin(); itr != lDwarfGUIDList.end(); ++itr)
+ for (GuidList::const_iterator itr = lDwarfGUIDList.begin(); itr != lDwarfGUIDList.end(); ++itr)
{
- Creature* temp = ObjectAccessor::GetCreature(*me, instance ? (*itr) : 0);
+ Creature* temp = ObjectAccessor::GetCreature(*me, instance ? (*itr) : ObjectGuid::Empty);
if (temp && temp->IsAlive())
temp->DespawnOrUnsummon();
}
@@ -367,7 +367,7 @@ public:
break;
case 17:
Talk(SAY_EVENT_INTRO_2);
- instance->HandleGameObject(instance->GetData64(DATA_GO_TRIBUNAL_CONSOLE), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_TRIBUNAL_CONSOLE), true);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
SetEscortPaused(true);
JumpToNextStep(8500);
@@ -455,7 +455,7 @@ public:
JumpToNextStep(0);
break;
case 5:
- if (Creature* temp = (ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM))))
+ if (Creature* temp = (ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM))))
temp->AI()->Talk(SAY_EVENT_INTRO_3_ABED);
JumpToNextStep(8500);
break;
@@ -464,13 +464,13 @@ public:
JumpToNextStep(6500);
break;
case 7:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KADDRAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KADDRAK)))
temp->AI()->Talk(SAY_EVENT_A_2_KADD);
JumpToNextStep(12500);
break;
case 8:
Talk(SAY_EVENT_A_3);
- instance->HandleGameObject(instance->GetData64(DATA_GO_KADDRAK), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_KADDRAK), true);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiControllerGUID))
ENSURE_AI(npc_tribuna_controller::npc_tribuna_controllerAI, temp->AI())->bKaddrakActivated = true;
JumpToNextStep(5000);
@@ -485,14 +485,14 @@ public:
JumpToNextStep(6000);
break;
case 11:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MARNAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MARNAK)))
temp->AI()->Talk(SAY_EVENT_B_2_MARN);
SpawnDwarf(1);
JumpToNextStep(20000);
break;
case 12:
Talk(SAY_EVENT_B_3);
- instance->HandleGameObject(instance->GetData64(DATA_GO_MARNAK), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_MARNAK), true);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiControllerGUID))
ENSURE_AI(npc_tribuna_controller::npc_tribuna_controllerAI, temp->AI())->bMarnakActivated = true;
JumpToNextStep(10000);
@@ -515,14 +515,14 @@ public:
JumpToNextStep(20000);
break;
case 17:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_C_2_ABED);
SpawnDwarf(1);
JumpToNextStep(20000);
break;
case 18:
Talk(SAY_EVENT_C_3);
- instance->HandleGameObject(instance->GetData64(DATA_GO_ABEDNEUM), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_ABEDNEUM), true);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiControllerGUID))
ENSURE_AI(npc_tribuna_controller::npc_tribuna_controllerAI, temp->AI())->bAbedneumActivated = true;
JumpToNextStep(5000);
@@ -541,7 +541,7 @@ public:
JumpToNextStep(20000);
break;
case 22:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_D_2_ABED);
SpawnDwarf(1);
JumpToNextStep(5000);
@@ -564,7 +564,7 @@ public:
JumpToNextStep(10000);
break;
case 27:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_D_4_ABED);
SpawnDwarf(1);
JumpToNextStep(10000);
@@ -573,7 +573,7 @@ public:
me->SetReactState(REACT_DEFENSIVE);
Talk(SAY_EVENT_END_01);
me->SetStandState(UNIT_STAND_STATE_STAND);
- instance->HandleGameObject(instance->GetData64(DATA_GO_SKY_FLOOR), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_SKY_FLOOR), true);
if (Creature* temp = ObjectAccessor::GetCreature(*me, uiControllerGUID))
temp->DealDamage(temp, temp->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
bIsBattle = true;
@@ -587,7 +587,7 @@ public:
JumpToNextStep(5500);
break;
case 30:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_END_03_ABED);
JumpToNextStep(8500);
break;
@@ -596,7 +596,7 @@ public:
JumpToNextStep(11500);
break;
case 32:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_END_05_ABED);
JumpToNextStep(11500);
break;
@@ -605,7 +605,7 @@ public:
JumpToNextStep(4500);
break;
case 34:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_END_07_ABED);
JumpToNextStep(22500);
break;
@@ -614,7 +614,7 @@ public:
JumpToNextStep(7500);
break;
case 36:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KADDRAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KADDRAK)))
temp->AI()->Talk(SAY_EVENT_END_09_KADD);
JumpToNextStep(18500);
break;
@@ -623,7 +623,7 @@ public:
JumpToNextStep(5500);
break;
case 38:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KADDRAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KADDRAK)))
temp->AI()->Talk(SAY_EVENT_END_11_KADD);
JumpToNextStep(20500);
break;
@@ -632,7 +632,7 @@ public:
JumpToNextStep(2500);
break;
case 40:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KADDRAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KADDRAK)))
temp->AI()->Talk(SAY_EVENT_END_13_KADD);
JumpToNextStep(19500);
break;
@@ -641,7 +641,7 @@ public:
JumpToNextStep(10500);
break;
case 42:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MARNAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MARNAK)))
temp->AI()->Talk(SAY_EVENT_END_15_MARN);
JumpToNextStep(6500);
break;
@@ -650,7 +650,7 @@ public:
JumpToNextStep(6500);
break;
case 44:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MARNAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MARNAK)))
temp->AI()->Talk(SAY_EVENT_END_17_MARN);
JumpToNextStep(25500);
break;
@@ -659,7 +659,7 @@ public:
JumpToNextStep(23500);
break;
case 46:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MARNAK)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MARNAK)))
temp->AI()->Talk(SAY_EVENT_END_19_MARN);
JumpToNextStep(3500);
break;
@@ -668,16 +668,16 @@ public:
JumpToNextStep(8500);
break;
case 48:
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ABEDNEUM)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ABEDNEUM)))
temp->AI()->Talk(SAY_EVENT_END_21_ABED);
JumpToNextStep(5500);
break;
case 49:
{
- instance->HandleGameObject(instance->GetData64(DATA_GO_KADDRAK), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_MARNAK), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_ABEDNEUM), false);
- instance->HandleGameObject(instance->GetData64(DATA_GO_SKY_FLOOR), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_KADDRAK), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_MARNAK), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_ABEDNEUM), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_GO_SKY_FLOOR), false);
Player* player = GetPlayerForEscort();
if (player)
player->GroupEventHappens(QUEST_HALLS_OF_STONE, me);
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 b7aa606aeeb..d6c7b18eabd 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
@@ -39,22 +39,6 @@ class instance_halls_of_stone : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
-
- KrystallusGUID = 0;
- MaidenOfGriefGUID = 0;
- SjonnirGUID = 0;
-
- KaddrakGUID = 0;
- AbedneumGUID = 0;
- MarnakGUID = 0;
- BrannGUID = 0;
-
- TribunalConsoleGUID = 0;
- TribunalChestGUID = 0;
- TribunalSkyFloorGUID = 0;
- KaddrakGoGUID = 0;
- AbedneumGoGUID = 0;
- MarnakGoGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -132,7 +116,7 @@ class instance_halls_of_stone : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -162,7 +146,7 @@ class instance_halls_of_stone : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -186,7 +170,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 = nullptr) const override
{
if (player && player->GetSession()->HasPermission(rbac::RBAC_PERM_SKIP_CHECK_INSTANCE_REQUIRED_BOSSES))
return true;
@@ -205,21 +189,21 @@ class instance_halls_of_stone : public InstanceMapScript
}
protected:
- uint64 KrystallusGUID;
- uint64 MaidenOfGriefGUID;
- uint64 SjonnirGUID;
-
- uint64 KaddrakGUID;
- uint64 AbedneumGUID;
- uint64 MarnakGUID;
- uint64 BrannGUID;
-
- uint64 TribunalConsoleGUID;
- uint64 TribunalChestGUID;
- uint64 TribunalSkyFloorGUID;
- uint64 KaddrakGoGUID;
- uint64 AbedneumGoGUID;
- uint64 MarnakGoGUID;
+ ObjectGuid KrystallusGUID;
+ ObjectGuid MaidenOfGriefGUID;
+ ObjectGuid SjonnirGUID;
+
+ ObjectGuid KaddrakGUID;
+ ObjectGuid AbedneumGUID;
+ ObjectGuid MarnakGUID;
+ ObjectGuid BrannGUID;
+
+ ObjectGuid TribunalConsoleGUID;
+ ObjectGuid TribunalChestGUID;
+ ObjectGuid TribunalSkyFloorGUID;
+ ObjectGuid KaddrakGoGUID;
+ ObjectGuid AbedneumGoGUID;
+ ObjectGuid MarnakGoGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
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 3c073578d49..bd5b61e227f 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
@@ -403,7 +403,7 @@ class boss_algalon_the_observer : public CreatureScript
{
_firstPull = false;
Talk(SAY_ALGALON_START_TIMER);
- if (Creature* brann = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BRANN_BRONZEBEARD_ALG)))
+ if (Creature* brann = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRANN_BRONZEBEARD_ALG)))
brann->AI()->DoAction(ACTION_FINISH_INTRO);
me->setActive(true);
@@ -1008,10 +1008,10 @@ class go_celestial_planetarium_access : public GameObjectScript
if (InstanceScript* instance = go->GetInstanceScript())
{
instance->SetData(DATA_ALGALON_SUMMON_STATE, 1);
- if (GameObject* sigil = ObjectAccessor::GetGameObject(*go, instance->GetData64(DATA_SIGILDOOR_01)))
+ if (GameObject* sigil = ObjectAccessor::GetGameObject(*go, instance->GetGuidData(DATA_SIGILDOOR_01)))
sigil->SetGoState(GO_STATE_ACTIVE);
- if (GameObject* sigil = ObjectAccessor::GetGameObject(*go, instance->GetData64(DATA_SIGILDOOR_02)))
+ if (GameObject* sigil = ObjectAccessor::GetGameObject(*go, instance->GetGuidData(DATA_SIGILDOOR_02)))
sigil->SetGoState(GO_STATE_ACTIVE);
}
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 80b3882593c..bb7a8592e04 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
@@ -210,11 +210,11 @@ class boss_steelbreaker : public CreatureScript
Talk(SAY_STEELBREAKER_DEATH);
//DoCastAOE(SPELL_SUPERCHARGE, true);
- if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BRUNDIR)))
+ if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRUNDIR)))
if (Brundir->IsAlive())
Brundir->AI()->DoAction(ACTION_SUPERCHARGE);
- if (Creature* Molgeim = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOLGEIM)))
+ if (Creature* Molgeim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MOLGEIM)))
if (Molgeim->IsAlive())
Molgeim->AI()->DoAction(ACTION_SUPERCHARGE);
}
@@ -355,11 +355,11 @@ class boss_runemaster_molgeim : public CreatureScript
Talk(SAY_MOLGEIM_DEATH);
//DoCastAOE(SPELL_SUPERCHARGE, true);
- if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BRUNDIR)))
+ if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRUNDIR)))
if (Brundir->IsAlive())
Brundir->AI()->DoAction(ACTION_SUPERCHARGE);
- if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STEELBREAKER)))
+ if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STEELBREAKER)))
if (Steelbreaker->IsAlive())
Steelbreaker->AI()->DoAction(ACTION_SUPERCHARGE);
}
@@ -396,12 +396,12 @@ class boss_runemaster_molgeim : public CreatureScript
switch (urand(0, 2))
{
case 1:
- if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STEELBREAKER)))
+ if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STEELBREAKER)))
if (Steelbreaker->IsAlive())
target = Steelbreaker;
break;
case 2:
- if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STEELBREAKER)))
+ if (Creature* Brundir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STEELBREAKER)))
if (Brundir->IsAlive())
target = Brundir;
break;
@@ -528,11 +528,11 @@ class boss_stormcaller_brundir : public CreatureScript
Talk(SAY_BRUNDIR_DEATH);
//DoCastAOE(SPELL_SUPERCHARGE, true);
- if (Creature* Molgeim = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MOLGEIM)))
+ if (Creature* Molgeim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MOLGEIM)))
if (Molgeim->IsAlive())
Molgeim->AI()->DoAction(ACTION_SUPERCHARGE);
- if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_STEELBREAKER)))
+ if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_STEELBREAKER)))
if (Steelbreaker->IsAlive())
Steelbreaker->AI()->DoAction(ACTION_SUPERCHARGE);
}
@@ -689,7 +689,7 @@ class spell_assembly_meltdown : public SpellScriptLoader
void HandleInstaKill(SpellEffIndex /*effIndex*/)
{
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_STEELBREAKER)))
+ if (Creature* Steelbreaker = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_STEELBREAKER)))
Steelbreaker->AI()->DoAction(ACTION_ADD_CHARGE);
}
@@ -724,7 +724,7 @@ class spell_assembly_rune_of_summoning : public SpellScriptLoader
void HandlePeriodic(AuraEffect const* aurEff)
{
PreventDefaultAction();
- GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, true, NULL, aurEff, GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : 0);
+ GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, true, NULL, aurEff, GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : ObjectGuid::Empty);
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index 34c5344e1cf..b84ba45951e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -112,7 +112,7 @@ class boss_auriaya : public CreatureScript
void Initialize()
{
- DefenderGUID = 0;
+ DefenderGUID.Clear();
defenderLives = 8;
crazyCatLady = true;
nineLives = false;
@@ -279,7 +279,7 @@ class boss_auriaya : public CreatureScript
}
private:
- uint64 DefenderGUID;
+ ObjectGuid DefenderGUID;
uint8 defenderLives;
bool crazyCatLady;
bool nineLives;
@@ -385,7 +385,7 @@ class npc_sanctum_sentry : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_AURIAYA)))
+ if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_AURIAYA)))
Auriaya->AI()->DoAction(ACTION_CRAZY_CAT_LADY);
}
@@ -461,7 +461,7 @@ class npc_feral_defender : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_SUMMON_ESSENCE);
- if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_AURIAYA)))
+ if (Creature* Auriaya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_AURIAYA)))
Auriaya->AI()->DoAction(ACTION_RESPAWN_DEFENDER);
}
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 892634dfc92..959cb73a996 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -227,7 +227,6 @@ class boss_flame_leviathan : public CreatureScript
boss_flame_leviathanAI(Creature* creature) : BossAI(creature, BOSS_LEVIATHAN), vehicle(creature->GetVehicleKit())
{
Initialize();
- _pursueTarget = 0;
}
void Initialize()
@@ -273,7 +272,7 @@ class boss_flame_leviathan : public CreatureScript
_Reset();
//resets shutdown counter to 0. 2 or 4 depending on raid mode
Shutdown = 0;
- _pursueTarget = 0;
+ _pursueTarget.Clear();
me->SetReactState(REACT_DEFENSIVE);
}
@@ -557,7 +556,7 @@ class boss_flame_leviathan : public CreatureScript
}
}
- uint64 _pursueTarget;
+ ObjectGuid _pursueTarget;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1003,7 +1002,7 @@ public:
npc_escortAI::UpdateAI(diff);
if (!HasEscortState(STATE_ESCORT_ESCORTING))
- Start(false, true, 0, NULL, false, true);
+ Start(false, true, ObjectGuid::Empty, NULL, false, true);
else
{
if (infernoTimer <= diff)
@@ -1208,7 +1207,7 @@ class npc_lorekeeper : public CreatureScript
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
- if (Creature* leviathan = instance->instance->GetCreature(instance->GetData64(BOSS_LEVIATHAN)))
+ if (Creature* leviathan = instance->instance->GetCreature(instance->GetGuidData(BOSS_LEVIATHAN)))
{
leviathan->AI()->DoAction(ACTION_START_HARD_MODE);
creature->SetVisible(false);
@@ -1564,11 +1563,11 @@ class spell_auto_repair : public SpellScriptLoader
if (!vehicle)
return;
- Player* driver = vehicle->GetPassenger(0) ? vehicle->GetPassenger(0)->ToPlayer() : NULL;
+ Unit* driver = vehicle->GetPassenger(0);
if (!driver)
return;
- driver->MonsterTextEmote(EMOTE_REPAIR, driver, true);
+ driver->TextEmote(EMOTE_REPAIR, driver, true);
InstanceScript* instance = driver->GetInstanceScript();
if (!instance)
@@ -1670,7 +1669,7 @@ class FlameLeviathanPursuedTargetSelector
//! Vehicle must be in use by player
bool playerFound = false;
for (SeatMap::const_iterator itr = vehicle->Seats.begin(); itr != vehicle->Seats.end() && !playerFound; ++itr)
- if (IS_PLAYER_GUID(itr->second.Passenger.Guid))
+ if (itr->second.Passenger.Guid.IsPlayer())
playerFound = true;
return !playerFound;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index ecebeb8d4e5..93fee8d1964 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -226,7 +226,6 @@ class npc_iron_roots : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_ID, 49560, true); // Death Grip
me->setFaction(14);
me->SetReactState(REACT_PASSIVE);
- summonerGUID = 0;
}
void IsSummonedBy(Unit* summoner) override
@@ -251,7 +250,7 @@ class npc_iron_roots : public CreatureScript
}
private:
- uint64 summonerGUID;
+ ObjectGuid summonerGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -284,7 +283,7 @@ class boss_freya : public CreatureScript
for (uint8 i = 0; i < 3; ++i)
for (uint8 n = 0; n < 2; ++n)
- ElementalGUID[i][n] = 0;
+ ElementalGUID[i][n].Clear();
for (uint8 i = 0; i < 6; ++i)
for (uint8 n = 0; n < 2; ++n)
deforestation[i][n] = 0;
@@ -297,7 +296,7 @@ class boss_freya : public CreatureScript
random[n] = false;
}
- uint64 ElementalGUID[3][2];
+ ObjectGuid ElementalGUID[3][2];
uint32 deforestation[6][2];
uint32 elementalTimer[2];
@@ -340,7 +339,7 @@ class boss_freya : public CreatureScript
Creature* Elder[3];
for (uint8 n = 0; n < 3; ++n)
{
- Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF + n));
+ Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_BRIGHTLEAF + n));
if (Elder[n] && Elder[n]->IsAlive())
{
me->AddAura(SPELL_DRAINED_OF_POWER, Elder[n]);
@@ -615,7 +614,7 @@ class boss_freya : public CreatureScript
Creature* Elder[3];
for (uint8 n = 0; n < 3; ++n)
{
- Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF + n));
+ Elder[n] = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_BRIGHTLEAF + n));
if (Elder[n] && Elder[n]->IsAlive())
{
Elder[n]->RemoveAllAuras();
@@ -715,10 +714,10 @@ class boss_elder_brightleaf : public CreatureScript
if (killer->GetTypeId() == TYPEID_PLAYER)
{
- if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH)))
+ if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_IRONBRANCH)))
Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH);
- if (Creature* Stonebark = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_STONEBARK)))
+ if (Creature* Stonebark = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_STONEBARK)))
Stonebark->AI()->DoAction(ACTION_ELDER_DEATH);
}
}
@@ -822,10 +821,10 @@ class boss_elder_stonebark : public CreatureScript
if (killer->GetTypeId() == TYPEID_PLAYER)
{
- if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_IRONBRANCH)))
+ if (Creature* Ironbranch = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_IRONBRANCH)))
Ironbranch->AI()->DoAction(ACTION_ELDER_DEATH);
- if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF)))
+ if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_BRIGHTLEAF)))
Brightleaf->AI()->DoAction(ACTION_ELDER_DEATH);
}
}
@@ -935,10 +934,10 @@ class boss_elder_ironbranch : public CreatureScript
if (killer->GetTypeId() == TYPEID_PLAYER)
{
- if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_BRIGHTLEAF)))
+ if (Creature* Brightleaf = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_BRIGHTLEAF)))
Brightleaf->AI()->DoAction(ACTION_ELDER_DEATH);
- if (Creature* Stonebark = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_STONEBARK)))
+ if (Creature* Stonebark = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_STONEBARK)))
Stonebark->AI()->DoAction(ACTION_ELDER_DEATH);
}
}
@@ -1076,7 +1075,7 @@ class npc_ancient_water_spirit : public CreatureScript
{
Initialize();
instance = me->GetInstanceScript();
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
waveCount = ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
else
waveCount = 0;
@@ -1114,7 +1113,7 @@ class npc_ancient_water_spirit : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
{
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->checkElementalAlive[waveCount] = false;
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->LasherDead(1);
@@ -1144,7 +1143,7 @@ class npc_storm_lasher : public CreatureScript
{
Initialize();
instance = me->GetInstanceScript();
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
waveCount = ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
else
waveCount = 0;
@@ -1188,7 +1187,7 @@ class npc_storm_lasher : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
{
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->checkElementalAlive[waveCount] = false;
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->LasherDead(2);
@@ -1218,7 +1217,7 @@ class npc_snaplasher : public CreatureScript
npc_snaplasherAI(Creature* creature) : ScriptedAI(creature)
{
instance = me->GetInstanceScript();
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
waveCount = ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->trioWaveCount;
else
waveCount = 0;
@@ -1237,7 +1236,7 @@ class npc_snaplasher : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_FREYA)))
+ if (Creature* Freya = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_FREYA)))
{
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->checkElementalAlive[waveCount] = false;
ENSURE_AI(boss_freya::boss_freyaAI, Freya->AI())->LasherDead(4);
@@ -1543,17 +1542,17 @@ class spell_freya_attuned_to_nature_dose_reduction : public SpellScriptLoader
case SPELL_ATTUNED_TO_NATURE_2_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 2; ++n)
- target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
+ target->RemoveAuraFromStack(GetEffectValue());
break;
case SPELL_ATTUNED_TO_NATURE_10_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 10; ++n)
- target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
+ target->RemoveAuraFromStack(GetEffectValue());
break;
case SPELL_ATTUNED_TO_NATURE_25_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 25; ++n)
- target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
+ target->RemoveAuraFromStack(GetEffectValue());
break;
default:
break;
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 5d4ddf1865c..9cb5e71b471 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -338,7 +338,7 @@ class boss_saronite_animus : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Vezax = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_VEZAX)))
+ if (Creature* Vezax = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_VEZAX)))
Vezax->AI()->DoAction(ACTION_ANIMUS_DIE);
}
@@ -433,7 +433,7 @@ class npc_saronite_vapors : public CreatureScript
DoCast(me, SPELL_SARONITE_VAPORS);
me->DespawnOrUnsummon(30000);
- if (Creature* Vezax = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_VEZAX)))
+ if (Creature* Vezax = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_VEZAX)))
Vezax->AI()->DoAction(ACTION_VAPORS_DIE);
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 42c0323a714..f1cfea0e58f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -189,13 +189,13 @@ class npc_flash_freeze : public CreatureScript
void Initialize()
{
- targetGUID = 0;
+ targetGUID.Clear();
checkDespawnTimer = 1000;
}
InstanceScript* instance;
- uint64 targetGUID;
+ ObjectGuid targetGUID;
uint32 checkDespawnTimer;
void Reset() override
@@ -236,7 +236,7 @@ class npc_flash_freeze : public CreatureScript
// Prevents to have Ice Block on other place than target is
me->NearTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), target->GetOrientation());
if (target->GetTypeId() == TYPEID_PLAYER)
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_CHEESE_THE_FREEZE);
}
}
@@ -260,12 +260,11 @@ class npc_ice_block : public CreatureScript
instance = me->GetInstanceScript();
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
- targetGUID = 0;
}
InstanceScript* instance;
- uint64 targetGUID;
+ ObjectGuid targetGUID;
void IsSummonedBy(Unit* summoner) override
{
@@ -288,7 +287,7 @@ class npc_ice_block : public CreatureScript
{
Helper->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
{
if (!Hodir->IsInCombat())
{
@@ -691,7 +690,7 @@ class npc_hodir_priest : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
}
@@ -753,7 +752,7 @@ class npc_hodir_shaman : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
}
@@ -814,7 +813,7 @@ class npc_hodir_druid : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
}
@@ -894,7 +893,7 @@ class npc_hodir_mage : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_HODIR)))
+ if (Creature* Hodir = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_HODIR)))
Hodir->AI()->DoAction(ACTION_I_HAVE_THE_COOLEST_FRIENDS);
}
@@ -990,7 +989,7 @@ class spell_biting_cold : public SpellScriptLoader
}
private:
- typedef std::list< std::pair<uint64, uint8> > TargetList;
+ typedef std::list<std::pair<ObjectGuid, uint8>> TargetList;
TargetList listOfTargets;
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index f0f918f7e39..d4fbf959c53 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -124,7 +124,7 @@ class boss_ignis : public CreatureScript
void Initialize()
{
- _slagPotGUID = 0;
+ _slagPotGUID.Clear();
_shattered = false;
_firstConstructKill = 0;
}
@@ -251,7 +251,7 @@ class boss_ignis : public CreatureScript
{
slagPotTarget->ExitVehicle();
slagPotTarget = NULL;
- _slagPotGUID = 0;
+ _slagPotGUID.Clear();
events.CancelEvent(EVENT_END_POT);
}
break;
@@ -282,7 +282,7 @@ class boss_ignis : public CreatureScript
}
private:
- uint64 _slagPotGUID;
+ ObjectGuid _slagPotGUID;
Vehicle* _vehicle;
time_t _firstConstructKill;
bool _shattered;
@@ -323,7 +323,7 @@ class npc_iron_construct : public CreatureScript
if (me->HasAura(SPELL_BRITTLE) && damage >= 5000)
{
DoCast(SPELL_SHATTER);
- if (Creature* ignis = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_IGNIS)))
+ if (Creature* ignis = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_IGNIS)))
if (ignis->AI())
ignis->AI()->DoAction(ACTION_REMOVE_BUFF);
@@ -385,7 +385,7 @@ class npc_scorch_ground : public CreatureScript
void Initialize()
{
_heat = false;
- _constructGUID = 0;
+ _constructGUID.Clear();
_heatTimer = 0;
}
@@ -429,7 +429,7 @@ class npc_scorch_ground : public CreatureScript
}
private:
- uint64 _constructGUID;
+ ObjectGuid _constructGUID;
uint32 _heatTimer;
bool _heat;
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 71a89c0e508..9486d95639f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -115,7 +115,7 @@ class boss_kologarn : public CreatureScript
Vehicle* vehicle;
bool left, right;
- uint64 eyebeamTarget;
+ ObjectGuid eyebeamTarget;
void EnterCombat(Unit* /*who*/) override
{
@@ -139,7 +139,7 @@ class boss_kologarn : public CreatureScript
{
_Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- eyebeamTarget = 0;
+ eyebeamTarget.Clear();
}
void JustDied(Unit* /*killer*/) override
@@ -339,7 +339,7 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader
if (!caster)
return;
- uint64 originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetData64(BOSS_KOLOGARN) : 0;
+ ObjectGuid originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetGuidData(BOSS_KOLOGARN) : ObjectGuid::Empty;
uint32 spellId = GetEffectValue();
for (uint8 i = 0; i < 5; ++i)
caster->CastSpell(caster, spellId, true, NULL, NULL, originalCaster);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
index 3a137a8658e..880eeba206b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
@@ -347,9 +347,9 @@ static bool IsEncounterFinished(Unit* who)
{
InstanceScript* instance = who->GetInstanceScript();
- Creature* mkii = ObjectAccessor::GetCreature(*who, instance->GetData64(DATA_LEVIATHAN_MK_II));
- Creature* vx001 = ObjectAccessor::GetCreature(*who, instance->GetData64(DATA_VX_001));
- Creature* aerial = ObjectAccessor::GetCreature(*who, instance->GetData64(DATA_AERIAL_COMMAND_UNIT));
+ Creature* mkii = ObjectAccessor::GetCreature(*who, instance->GetGuidData(DATA_LEVIATHAN_MK_II));
+ Creature* vx001 = ObjectAccessor::GetCreature(*who, instance->GetGuidData(DATA_VX_001));
+ Creature* aerial = ObjectAccessor::GetCreature(*who, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
if (!mkii || !vx001 || !aerial)
return false;
@@ -363,7 +363,7 @@ static bool IsEncounterFinished(Unit* who)
mkii->DespawnOrUnsummon(120000);
vx001->DespawnOrUnsummon(120000);
aerial->DespawnOrUnsummon(120000);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*who, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*who, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->JustDied(who);
return true;
}
@@ -395,7 +395,7 @@ class boss_mimiron : public CreatureScript
break;
case DO_ACTIVATE_V0L7R0N_1:
Talk(SAY_AERIAL_DEATH);
- if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkii->GetMotionMaster()->MovePoint(WP_MKII_P4_POS_1, VehicleRelocation[WP_MKII_P4_POS_1]);
break;
case DO_ACTIVATE_V0L7R0N_2:
@@ -420,7 +420,7 @@ class boss_mimiron : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_WELD);
DoCast(me->GetVehicleBase(), SPELL_SEAT_6);
- if (GameObject* button = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MIMIRON_BUTTON)))
+ if (GameObject* button = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MIMIRON_BUTTON)))
button->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
if (_fireFighter)
@@ -450,14 +450,14 @@ class boss_mimiron : public CreatureScript
_Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MIMIRON_ELEVATOR)))
+ if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MIMIRON_ELEVATOR)))
elevator->SetGoState(GO_STATE_ACTIVE);
if (_fireFighter)
- if (Creature* computer = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_COMPUTER)))
+ if (Creature* computer = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_COMPUTER)))
computer->AI()->DoAction(DO_DEACTIVATE_COMPUTER);
- if (GameObject* button = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MIMIRON_BUTTON)))
+ if (GameObject* button = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MIMIRON_BUTTON)))
{
button->SetGoState(GO_STATE_READY);
button->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
@@ -466,7 +466,7 @@ class boss_mimiron : public CreatureScript
_fireFighter = false;
DoCast(me, SPELL_WELD);
- if (Unit* mkii = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Unit* mkii = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
DoCast(mkii, SPELL_SEAT_3);
}
@@ -485,7 +485,7 @@ class boss_mimiron : public CreatureScript
switch (eventId)
{
case EVENT_SUMMON_FLAMES:
- if (Unit* worldtrigger = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_MIMIRON_WORLD_TRIGGER)))
+ if (Unit* worldtrigger = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_MIMIRON_WORLD_TRIGGER)))
worldtrigger->CastCustomSpell(SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, SPELLVALUE_MAX_TARGETS, 3, NULL, true, NULL, NULL, me->GetGUID());
events.RescheduleEvent(EVENT_SUMMON_FLAMES, 28000);
break;
@@ -521,21 +521,21 @@ class boss_mimiron : public CreatureScript
events.ScheduleEvent(EVENT_VX001_ACTIVATION_4, 5000);
break;
case EVENT_VX001_ACTIVATION_4:
- if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MIMIRON_ELEVATOR)))
+ if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MIMIRON_ELEVATOR)))
elevator->SetGoState(GO_STATE_READY);
- if (Unit* worldtrigger = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_MIMIRON_WORLD_TRIGGER)))
+ if (Unit* worldtrigger = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_MIMIRON_WORLD_TRIGGER)))
worldtrigger->CastSpell(worldtrigger, SPELL_ELEVATOR_KNOCKBACK);
events.ScheduleEvent(EVENT_VX001_ACTIVATION_5, 6000);
break;
case EVENT_VX001_ACTIVATION_5:
- if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_MIMIRON_ELEVATOR)))
+ if (GameObject* elevator = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_MIMIRON_ELEVATOR)))
elevator->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
if (Creature* vx001 = me->SummonCreature(NPC_VX_001, VX001SummonPos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
vx001->CastSpell(vx001, SPELL_FREEZE_ANIM);
events.ScheduleEvent(EVENT_VX001_ACTIVATION_6, 19000);
break;
case EVENT_VX001_ACTIVATION_6:
- if (Unit* vx001 = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_VX_001)))
+ if (Unit* vx001 = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_VX_001)))
DoCast(vx001, SPELL_SEAT_1);
events.ScheduleEvent(EVENT_VX001_ACTIVATION_7, 3500);
break;
@@ -566,7 +566,7 @@ class boss_mimiron : public CreatureScript
events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_4, 5000);
break;
case EVENT_AERIAL_ACTIVATION_4:
- if (Unit* aerial = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_AERIAL_COMMAND_UNIT)))
+ if (Unit* aerial = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT)))
me->CastSpell(aerial, SPELL_SEAT_1);
events.ScheduleEvent(EVENT_AERIAL_ACTIVATION_5, 2000);
break;
@@ -579,14 +579,14 @@ class boss_mimiron : public CreatureScript
acu->AI()->DoAction(_fireFighter? DO_HARDMODE_AERIAL : DO_START_AERIAL);
break;
case EVENT_VOL7RON_ACTIVATION_1:
- if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkii->SetFacingTo(float(M_PI));
events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_2, 1000);
break;
case EVENT_VOL7RON_ACTIVATION_2:
- if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
{
- if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VX_001)))
+ if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VX_001)))
{
vx001->RemoveAurasDueToSpell(SPELL_TORSO_DISABLED);
vx001->CastSpell(mkii, SPELL_MOUNT_MKII);
@@ -595,14 +595,14 @@ class boss_mimiron : public CreatureScript
events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_3, 4500);
break;
case EVENT_VOL7RON_ACTIVATION_3:
- if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkii->GetMotionMaster()->MovePoint(WP_MKII_P4_POS_4, VehicleRelocation[WP_MKII_P4_POS_4]);
events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_4, 5000);
break;
case EVENT_VOL7RON_ACTIVATION_4:
- if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VX_001)))
+ if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VX_001)))
{
- if (Creature* aerial = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AERIAL_COMMAND_UNIT)))
+ if (Creature* aerial = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT)))
{
aerial->GetMotionMaster()->MoveLand(0, (aerial->GetPositionX(), aerial->GetPositionY(), aerial->GetPositionZMinusOffset()));
aerial->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
@@ -617,13 +617,13 @@ class boss_mimiron : public CreatureScript
events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_6, 3000);
break;
case EVENT_VOL7RON_ACTIVATION_6:
- if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_VX_001)))
+ if (Creature* vx001 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_VX_001)))
DoCast(vx001, SPELL_SEAT_2);
events.ScheduleEvent(EVENT_VOL7RON_ACTIVATION_7, 5000);
break;
case EVENT_VOL7RON_ACTIVATION_7:
for (uint8 data = DATA_LEVIATHAN_MK_II; data <= DATA_AERIAL_COMMAND_UNIT; ++data)
- if (Creature* mimironVehicle = ObjectAccessor::GetCreature(*me, instance->GetData64(data)))
+ if (Creature* mimironVehicle = ObjectAccessor::GetCreature(*me, instance->GetGuidData(data)))
mimironVehicle->AI()->DoAction(DO_ASSEMBLED_COMBAT);
break;
case EVENT_OUTTRO_1:
@@ -636,7 +636,7 @@ class boss_mimiron : public CreatureScript
Talk(SAY_V07TRON_DEATH);
if (_fireFighter)
{
- if (Creature* computer = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_COMPUTER)))
+ if (Creature* computer = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_COMPUTER)))
computer->AI()->DoAction(DO_DEACTIVATE_COMPUTER);
me->SummonGameObject(RAID_MODE(GO_CACHE_OF_INNOVATION_FIREFIGHTER, GO_CACHE_OF_INNOVATION_FIREFIGHTER_HERO), 2744.040f, 2569.352f, 364.3135f, 3.124123f, 0.f, 0.f, 0.9999619f, 0.008734641f, 604800);
}
@@ -772,7 +772,7 @@ class boss_leviathan_mk_ii : public CreatureScript
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->Talk(events.IsInPhase(PHASE_LEVIATHAN_MK_II) ? SAY_MKII_SLAY : SAY_V07TRON_SLAY);
}
@@ -787,7 +787,7 @@ class boss_leviathan_mk_ii : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
DoCast(me, SPELL_HALF_HEAL);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_VX001);
break;
case WP_MKII_P4_POS_1:
@@ -797,7 +797,7 @@ class boss_leviathan_mk_ii : public CreatureScript
events.ScheduleEvent(EVENT_MOVE_POINT_3, 1);
break;
case WP_MKII_P4_POS_3:
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_V0L7R0N_2);
break;
case WP_MKII_P4_POS_4:
@@ -937,7 +937,7 @@ class boss_vx_001 : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // | UNIT_FLAG_NOT_SELECTABLE);
DoCast(me, SPELL_HALF_HEAL); // has no effect, wat
DoCast(me, SPELL_TORSO_DISABLED);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_AERIAL);
}
else if (events.IsInPhase(PHASE_VOL7RON))
@@ -1008,7 +1008,7 @@ class boss_vx_001 : public CreatureScript
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->Talk(events.IsInPhase(PHASE_VX_001) ? SAY_VX001_SLAY : SAY_V07TRON_SLAY);
}
@@ -1028,7 +1028,7 @@ class boss_vx_001 : public CreatureScript
// Handle rotation during SPELL_SPINNING_UP, SPELL_P3WX2_LASER_BARRAGE, SPELL_RAPID_BURST, and SPELL_HAND_PULSE_LEFT/RIGHT
if (me->HasUnitState(UNIT_STATE_CASTING))
{
- if (Creature* channelTarget = ObjectAccessor::GetCreature(*me, me->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT)))
+ if (Creature* channelTarget = ObjectAccessor::GetCreature(*me, me->GetChannelObjectGuid()))
me->SetFacingToObject(channelTarget);
return;
}
@@ -1183,7 +1183,7 @@ class boss_aerial_command_unit : public CreatureScript
void KilledUnit(Unit* victim) override
{
if (victim->GetTypeId() == TYPEID_PLAYER)
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->Talk(events.IsInPhase(PHASE_AERIAL_COMMAND_UNIT) ? SAY_AERIAL_SLAY : SAY_V07TRON_SLAY);
}
@@ -1193,7 +1193,7 @@ class boss_aerial_command_unit : public CreatureScript
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_V0L7R0N_1);
}
}
@@ -1414,7 +1414,7 @@ class npc_mimiron_computer : public CreatureScript
{
case EVENT_SELF_DESTRUCT_10:
Talk(SAY_SELF_DESTRUCT_10);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_HARD_MODE);
events.ScheduleEvent(EVENT_SELF_DESTRUCT_9, 60000);
break;
@@ -1456,7 +1456,7 @@ class npc_mimiron_computer : public CreatureScript
break;
case EVENT_SELF_DESTRUCT_FINALIZED:
Talk(SAY_SELF_DESTRUCT_FINALIZED);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_MIMIRON)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_MIMIRON)))
mimiron->AI()->DoAction(DO_ACTIVATE_SELF_DESTRUCT);
DoCast(me, SPELL_SELF_DESTRUCTION_AURA);
DoCast(me, SPELL_SELF_DESTRUCTION_VISUAL);
@@ -1634,7 +1634,7 @@ class go_mimiron_hardmode_button : public GameObjectScript
if (!instance)
return false;
- if (Creature* computer = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_COMPUTER)))
+ if (Creature* computer = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_COMPUTER)))
computer->AI()->DoAction(DO_ACTIVATE_COMPUTER);
go->SetGoState(GO_STATE_ACTIVE);
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
@@ -1656,7 +1656,7 @@ class spell_mimiron_bomb_bot : public SpellScriptLoader
{
if (GetHitPlayer())
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* mkii = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkii->AI()->SetData(DATA_SETUP_BOMB, 0);
}
@@ -1953,7 +1953,7 @@ class spell_mimiron_p3wx2_laser_barrage : public SpellScriptLoader
void OnHit(SpellEffIndex /*effIndex*/)
{
- GetCaster()->SetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT, GetHitUnit()->GetGUID());
+ GetCaster()->SetChannelObjectGuid(GetHitUnit()->GetGUID());
}
void Register() override
@@ -2022,7 +2022,7 @@ class spell_mimiron_proximity_explosion : public SpellScriptLoader
{
if (GetHitPlayer())
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* mkII = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkII = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkII->AI()->SetData(DATA_SETUP_MINE, 0);
}
@@ -2239,7 +2239,7 @@ class spell_mimiron_rocket_strike_damage : public SpellScriptLoader
{
if (GetHitPlayer())
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* mkii = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_LEVIATHAN_MK_II)))
+ if (Creature* mkii = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_LEVIATHAN_MK_II)))
mkii->AI()->SetData(DATA_SETUP_ROCKET, 0);
}
@@ -2298,7 +2298,7 @@ class spell_mimiron_rocket_strike_target_select : public SpellScriptLoader
void HandleScript(SpellEffIndex /*effIndex*/)
{
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_ROCKET_STRIKE, true, NULL, NULL, instance->GetData64(DATA_VX_001));
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_ROCKET_STRIKE, true, NULL, NULL, instance->GetGuidData(DATA_VX_001));
GetCaster()->SetDisplayId(11686);
}
@@ -2357,7 +2357,7 @@ class spell_mimiron_spinning_up : public SpellScriptLoader
void OnHit(SpellEffIndex /*effIndex*/)
{
if (GetHitUnit() != GetCaster())
- GetCaster()->SetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT, GetHitUnit()->GetGUID());
+ GetCaster()->SetChannelObjectGuid(GetHitUnit()->GetGUID());
}
void Register() override
@@ -2394,7 +2394,7 @@ class spell_mimiron_summon_assault_bot : public SpellScriptLoader
if (Unit* caster = GetCaster())
if (InstanceScript* instance = caster->GetInstanceScript())
if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS)
- caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, false, NULL, aurEff, instance->GetData64(DATA_AERIAL_COMMAND_UNIT));
+ caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, false, NULL, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
}
void Register() override
@@ -2466,7 +2466,7 @@ class spell_mimiron_summon_fire_bot : public SpellScriptLoader
if (Unit* caster = GetCaster())
if (InstanceScript* instance = caster->GetInstanceScript())
if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS)
- caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, false, NULL, aurEff, instance->GetData64(DATA_AERIAL_COMMAND_UNIT));
+ caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, false, NULL, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
}
void Register() override
@@ -2662,7 +2662,7 @@ class spell_mimiron_summon_junk_bot : public SpellScriptLoader
if (Unit* caster = GetCaster())
if (InstanceScript* instance = caster->GetInstanceScript())
if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS)
- caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, false, NULL, aurEff, instance->GetData64(DATA_AERIAL_COMMAND_UNIT));
+ caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, false, NULL, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
}
void Register() override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index d53ac6d91d6..cad6b045120 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -203,13 +203,13 @@ class boss_razorscale_controller : public CreatureScript
switch (spell->Id)
{
case SPELL_FLAMED:
- if (GameObject* Harpoon1 = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_RAZOR_HARPOON_1)))
+ if (GameObject* Harpoon1 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_RAZOR_HARPOON_1)))
Harpoon1->RemoveFromWorld();
- if (GameObject* Harpoon2 = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_RAZOR_HARPOON_2)))
+ if (GameObject* Harpoon2 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_RAZOR_HARPOON_2)))
Harpoon2->RemoveFromWorld();
- if (GameObject* Harpoon3 = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_RAZOR_HARPOON_3)))
+ if (GameObject* Harpoon3 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_RAZOR_HARPOON_3)))
Harpoon3->RemoveFromWorld();
- if (GameObject* Harpoon4 = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_RAZOR_HARPOON_4)))
+ if (GameObject* Harpoon4 = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_RAZOR_HARPOON_4)))
Harpoon4->RemoveFromWorld();
DoAction(ACTION_HARPOON_BUILD);
DoAction(ACTION_PLACE_BROKEN_HARPOON);
@@ -312,7 +312,7 @@ class go_razorscale_harpoon : public GameObjectScript
bool OnGossipHello(Player* /*player*/, GameObject* go) override
{
InstanceScript* instance = go->GetInstanceScript();
- if (ObjectAccessor::GetCreature(*go, instance->GetData64(BOSS_RAZORSCALE)))
+ if (ObjectAccessor::GetCreature(*go, instance->GetGuidData(BOSS_RAZORSCALE)))
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
return false;
}
@@ -357,14 +357,14 @@ class boss_razorscale : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_PASSIVE);
Initialize();
- if (Creature* commander = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXPEDITION_COMMANDER)))
+ if (Creature* commander = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EXPEDITION_COMMANDER)))
commander->AI()->DoAction(ACTION_COMMANDER_RESET);
}
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RAZORSCALE_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_RAZORSCALE_CONTROL)))
controller->AI()->DoAction(ACTION_HARPOON_BUILD);
me->SetSpeed(MOVE_FLIGHT, 3.0f, true);
me->SetReactState(REACT_PASSIVE);
@@ -379,7 +379,7 @@ class boss_razorscale : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
_JustDied();
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RAZORSCALE_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_RAZORSCALE_CONTROL)))
controller->AI()->Reset();
}
@@ -455,7 +455,7 @@ class boss_razorscale : public CreatureScript
me->SetCanFly(false);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
- if (Creature* commander = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXPEDITION_COMMANDER)))
+ if (Creature* commander = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EXPEDITION_COMMANDER)))
commander->AI()->DoAction(ACTION_GROUND_PHASE);
events.ScheduleEvent(EVENT_BREATH, 30000, 0, PHASE_GROUND);
events.ScheduleEvent(EVENT_BUFFET, 33000, 0, PHASE_GROUND);
@@ -471,7 +471,7 @@ class boss_razorscale : public CreatureScript
return;
case EVENT_BUFFET:
DoCastAOE(SPELL_WINGBUFFET);
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_RAZORSCALE_CONTROL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_RAZORSCALE_CONTROL)))
controller->CastSpell(controller, SPELL_FLAMED, true);
events.CancelEvent(EVENT_BUFFET);
return;
@@ -602,12 +602,10 @@ class npc_expedition_commander : public CreatureScript
struct npc_expedition_commanderAI : public ScriptedAI
{
- npc_expedition_commanderAI(Creature* creature) : ScriptedAI(creature)
+ npc_expedition_commanderAI(Creature* creature) : ScriptedAI(creature), summons(creature)
{
Initialize();
instance = me->GetInstanceScript();
- memset(Engineer, 0, sizeof(Engineer));
- memset(Defender, 0, sizeof(Defender));
}
void Initialize()
@@ -618,18 +616,18 @@ class npc_expedition_commander : public CreatureScript
}
InstanceScript* instance;
- std::list<uint64> summons;
+ SummonList summons;
bool Greet;
uint32 AttackStartTimer;
uint8 Phase;
- uint64 Engineer[4];
- uint64 Defender[4];
+ ObjectGuid Engineer[4];
+ ObjectGuid Defender[4];
void Reset() override
{
Initialize();
- summons.clear();
+ summons.DespawnAll();
}
void MoveInLineOfSight(Unit* who) override
@@ -644,7 +642,7 @@ class npc_expedition_commander : public CreatureScript
void JustSummoned(Creature* summoned) override
{
- summons.push_back(summoned->GetGUID());
+ summons.Summon(summoned);
}
void DoAction(int32 action) override
@@ -655,7 +653,7 @@ class npc_expedition_commander : public CreatureScript
Talk(SAY_GROUND_PHASE);
break;
case ACTION_COMMANDER_RESET:
- summons.clear();
+ summons.DespawnAll();
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
break;
}
@@ -669,7 +667,7 @@ class npc_expedition_commander : public CreatureScript
{
case 1:
instance->SetBossState(BOSS_RAZORSCALE, IN_PROGRESS);
- summons.clear();
+ summons.DespawnAll();
AttackStartTimer = 1000;
Phase = 2;
break;
@@ -715,7 +713,7 @@ class npc_expedition_commander : public CreatureScript
Phase = 5;
break;
case 5:
- if (Creature* Razorscale = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_RAZORSCALE)))
+ if (Creature* Razorscale = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_RAZORSCALE)))
{
Razorscale->AI()->DoAction(ACTION_EVENT_START);
me->SetInCombatWith(Razorscale);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 3ec5109cbb9..2032c7b861d 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -397,8 +397,9 @@ class boss_xt002 : public CreatureScript
Talk(SAY_HEART_CLOSED);
Talk(EMOTE_HEART_CLOSED);
- DoCast(me, SPELL_STAND);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
+ DoCast(me, SPELL_STAND);
_phase = 1;
@@ -459,7 +460,7 @@ class npc_xt002_heart : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- Creature* xt002 = _instance ? ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_XT002)) : NULL;
+ Creature* xt002 = _instance ? ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)) : NULL;
if (!xt002 || !xt002->AI())
return;
@@ -511,7 +512,7 @@ class npc_scrapbot : public CreatureScript
Initialize();
- if (Creature* pXT002 = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_XT002)))
+ if (Creature* pXT002 = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)))
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
@@ -519,7 +520,7 @@ class npc_scrapbot : public CreatureScript
{
if (_rangeCheckTimer <= diff)
{
- if (Creature* xt002 = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_XT002)))
+ if (Creature* xt002 = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)))
{
if (me->IsWithinMeleeRange(xt002))
{
@@ -574,7 +575,7 @@ class npc_pummeller : public CreatureScript
{
Initialize();
- if (Creature* xt002 = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_XT002)))
+ if (Creature* xt002 = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)))
{
Position pos = xt002->GetPosition();
me->GetMotionMaster()->MovePoint(0, pos);
@@ -688,7 +689,7 @@ class npc_boombot : public CreatureScript
me->SetFloatValue(UNIT_FIELD_MAXDAMAGE, 18000.0f);
/// @todo proper waypoints?
- if (Creature* pXT002 = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_XT002)))
+ if (Creature* pXT002 = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_XT002)))
me->GetMotionMaster()->MoveFollow(pXT002, 0.0f, 0.0f);
}
@@ -938,7 +939,7 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
{
if (InstanceScript* instance = caster->GetInstanceScript())
{
- if (Unit* toyPile = ObjectAccessor::GetUnit(*caster, instance->GetData64(DATA_TOY_PILE_0 + urand(0, 3))))
+ if (Unit* toyPile = ObjectAccessor::GetUnit(*caster, instance->GetGuidData(DATA_TOY_PILE_0 + urand(0, 3))))
{
caster->CastSpell(toyPile, SPELL_ENERGY_ORB, true);
@@ -951,7 +952,7 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
{
uint8 a = urand(0, 4);
uint32 spellId = spells[a];
- toyPile->CastSpell(toyPile, spellId, true, NULL, NULL, instance->GetData64(BOSS_XT002));
+ toyPile->CastSpell(toyPile, spellId, true, NULL, NULL, instance->GetGuidData(BOSS_XT002));
}
}
}
@@ -1037,37 +1038,6 @@ class spell_xt002_submerged : public SpellScriptLoader
}
};
-class spell_xt002_stand : public SpellScriptLoader
-{
- public:
- spell_xt002_stand() : SpellScriptLoader("spell_xt002_stand") { }
-
- class spell_xt002_stand_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_xt002_stand_SpellScript);
-
- void HandleScript(SpellEffIndex /*eff*/)
- {
- Creature* target = GetHitCreature();
- if (!target)
- return;
-
- target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_STAND);
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_xt002_stand_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
- };
-
- SpellScript* GetSpellScript() const override
- {
- return new spell_xt002_stand_SpellScript();
- }
-};
-
class achievement_nerf_engineering : public AchievementCriteriaScript
{
public:
@@ -1126,7 +1096,6 @@ void AddSC_boss_xt002()
new spell_xt002_heart_overload_periodic();
new spell_xt002_tympanic_tantrum();
new spell_xt002_submerged();
- new spell_xt002_stand();
new achievement_nerf_engineering();
new achievement_heartbreaker();
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 d3012dc99ba..391aebf9229 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -451,7 +451,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
BossAI::EnterEvadeMode();
for (uint8 i = DATA_SARA; i <= DATA_MIMIRON_YS; ++i)
- if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetData64(i)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
creature->AI()->EnterEvadeMode();
// not sure, spoken by Sara (sound), regarding to wowwiki Voice whispers it
@@ -490,11 +490,11 @@ class boss_voice_of_yogg_saron : public CreatureScript
void EnterCombat(Unit* /*who*/) override
{
- if (Creature* sara = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SARA)))
+ if (Creature* sara = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SARA)))
sara->SetInCombatWith(me);
for (uint8 i = DATA_FREYA_YS; i <= DATA_MIMIRON_YS; ++i)
- if (Creature* keeper = ObjectAccessor::GetCreature(*me, instance->GetData64(i)))
+ if (Creature* keeper = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
keeper->SetInCombatWith(me);
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
@@ -510,7 +510,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
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)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_YOGG_SARON)))
summons.Despawn(yogg);
BossAI::JustDied(killer);
@@ -535,7 +535,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
instance->SetBossState(BOSS_YOGG_SARON, IN_PROGRESS);
break;
case EVENT_EXTINGUISH_ALL_LIFE:
- if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_YOGG_SARON)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_YOGG_SARON)))
{
yogg->AI()->Talk(EMOTE_YOGG_SARON_EXTINGUISH_ALL_LIFE, me);
yogg->CastSpell((Unit*)NULL, SPELL_EXTINGUISH_ALL_LIFE, true);
@@ -563,7 +563,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
break;
case EVENT_ILLUSION:
{
- if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_YOGG_SARON)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*me, instance->GetGuidData(BOSS_YOGG_SARON)))
{
yogg->AI()->Talk(EMOTE_YOGG_SARON_MADNESS);
yogg->AI()->Talk(SAY_YOGG_SARON_MADNESS);
@@ -576,7 +576,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
uint8 illusion = urand(CHAMBER_ILLUSION, STORMWIND_ILLUSION);
instance->SetData(DATA_ILLUSION, illusion);
- if (Creature* brain = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BRAIN_OF_YOGG_SARON)))
+ if (Creature* brain = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRAIN_OF_YOGG_SARON)))
brain->AI()->DoAction(ACTION_INDUCE_MADNESS);
events.ScheduleEvent(EVENT_ILLUSION, 80000, 0, PHASE_TWO); // wowwiki says 80 secs, wowhead says something about 90 secs
break;
@@ -602,7 +602,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
case ACTION_PHASE_TWO:
events.SetPhase(PHASE_TWO);
me->SummonCreature(NPC_YOGG_SARON, YoggSaronSpawnPos);
- if (Creature* brain = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BRAIN_OF_YOGG_SARON)))
+ if (Creature* brain = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BRAIN_OF_YOGG_SARON)))
brain->SetInCombatWithZone();
events.ScheduleEvent(EVENT_SUMMON_CORRUPTOR_TENTACLE, 1, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);
events.ScheduleEvent(EVENT_SUMMON_CONSTRICTOR_TENTACLE, 1, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);
@@ -672,23 +672,23 @@ class boss_sara : public CreatureScript
{
boss_saraAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
- uint64 GetLinkedPlayerGUID(uint64 guid) const
+ ObjectGuid GetLinkedPlayerGUID(ObjectGuid guid) const
{
- std::map<uint64, uint64>::const_iterator itr = _linkData.find(guid);
+ std::map<ObjectGuid, ObjectGuid>::const_iterator itr = _linkData.find(guid);
if (itr != _linkData.end())
return itr->second;
- return 0;
+ return ObjectGuid::Empty;
}
- void SetLinkBetween(uint64 player1, uint64 player2)
+ void SetLinkBetween(ObjectGuid player1, ObjectGuid player2)
{
_linkData[player1] = player2;
_linkData[player2] = player1;
}
// called once for each target on aura remove
- void RemoveLinkFrom(uint64 player1)
+ void RemoveLinkFrom(ObjectGuid player1)
{
_linkData.erase(player1);
}
@@ -699,7 +699,7 @@ class boss_sara : public CreatureScript
{
damage = 0;
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->DoAction(ACTION_PHASE_TRANSFORM);
Talk(SAY_SARA_TRANSFORM_1);
@@ -794,14 +794,14 @@ class boss_sara : public CreatureScript
Talk(SAY_SARA_TRANSFORM_4);
DoCast(me, SPELL_FULL_HEAL);
me->setFaction(16);
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->DoAction(ACTION_PHASE_TWO);
- if (Creature* mimiron = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_MIMIRON_YS)))
+ if (Creature* mimiron = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MIMIRON_YS)))
mimiron->AI()->DoAction(ACTION_PHASE_TWO);
break;
case EVENT_TRANSFORM_4:
DoCast(me, SPELL_PHASE_2_TRANSFORM);
- if (Creature* yogg = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_YOGG_SARON)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_YOGG_SARON)))
DoCast(yogg, SPELL_RIDE_YOGG_SARON_VEHICLE);
DoCast(me, SPELL_SHADOWY_BARRIER_SARA);
_events.SetPhase(PHASE_TWO);
@@ -857,7 +857,7 @@ class boss_sara : public CreatureScript
break;
}
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->JustSummoned(summon);
}
@@ -876,7 +876,7 @@ class boss_sara : public CreatureScript
private:
EventMap _events;
InstanceScript* _instance;
- std::map<uint64, uint64> _linkData;
+ std::map<ObjectGuid, ObjectGuid> _linkData;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -926,15 +926,15 @@ class boss_yogg_saron : public CreatureScript
{
Talk(SAY_YOGG_SARON_DEATH);
- if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
me->Kill(creature);
for (uint8 i = DATA_SARA; i <= DATA_BRAIN_OF_YOGG_SARON; ++i)
- if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetData64(i)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(i)))
creature->DisappearAndDie();
for (uint8 i = DATA_FREYA_YS; i <= DATA_MIMIRON_YS; ++i)
- if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetData64(i)))
+ if (Creature* creature = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(i)))
creature->AI()->EnterEvadeMode();
Map::PlayerList const& players = me->GetMap()->GetPlayers();
@@ -1043,15 +1043,15 @@ class boss_brain_of_yogg_saron : public CreatureScript
DoCast(me, SPELL_BRAIN_HURT_VISUAL, true);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->DoAction(ACTION_PHASE_THREE);
- if (Creature* sara = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_SARA)))
+ if (Creature* sara = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_SARA)))
sara->AI()->DoAction(ACTION_PHASE_THREE);
- if (Creature* yogg = ObjectAccessor::GetCreature(*me, _instance->GetData64(BOSS_YOGG_SARON)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(BOSS_YOGG_SARON)))
yogg->AI()->DoAction(ACTION_PHASE_THREE);
for (uint8 i = DATA_THORIM_YS; i <= DATA_MIMIRON_YS; ++i)
- if (Creature* keeper = ObjectAccessor::GetCreature(*me, _instance->GetData64(i)))
+ if (Creature* keeper = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(i)))
keeper->AI()->DoAction(ACTION_PHASE_THREE);
}
}
@@ -1070,7 +1070,7 @@ class boss_brain_of_yogg_saron : public CreatureScript
// make sure doors won't be opened
for (uint32 i = GO_BRAIN_ROOM_DOOR_1; i <= GO_BRAIN_ROOM_DOOR_3; ++i)
- _instance->HandleGameObject(_instance->GetData64(i), false);
+ _instance->HandleGameObject(_instance->GetGuidData(i), false);
DoCastAOE(SPELL_INDUCE_MADNESS);
break;
@@ -1083,9 +1083,9 @@ class boss_brain_of_yogg_saron : public CreatureScript
sCreatureTextMgr->SendChat(me, EMOTE_BRAIN_ILLUSION_SHATTERED, NULL, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_AREA);
_summons.DespawnAll();
DoCastAOE(SPELL_SHATTERED_ILLUSION, true);
- _instance->HandleGameObject(_instance->GetData64(GO_BRAIN_ROOM_DOOR_1 + illusion), true);
+ _instance->HandleGameObject(_instance->GetGuidData(GO_BRAIN_ROOM_DOOR_1 + illusion), true);
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->DoAction(ACTION_TOGGLE_SHATTERED_ILLUSION);
}
break;
@@ -1211,7 +1211,7 @@ class npc_guardian_of_yogg_saron : public CreatureScript
return;
// Guardian can be summoned both by Voice of Yogg-Saron and by Ominous Cloud
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->JustSummoned(me);
}
@@ -1314,7 +1314,7 @@ class npc_constrictor_tentacle : public CreatureScript
void IsSummonedBy(Unit* /*summoner*/) override
{
- if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->JustSummoned(me);
}
@@ -1405,7 +1405,7 @@ class npc_influence_tentacle : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* brain = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_BRAIN_OF_YOGG_SARON)))
+ if (Creature* brain = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_BRAIN_OF_YOGG_SARON)))
brain->AI()->DoAction(ACTION_TENTACLE_KILLED);
}
@@ -2791,7 +2791,7 @@ class spell_yogg_saron_induce_madness : public SpellScriptLoader // 64059
if (Unit* target = GetHitUnit())
{
target->CastSpell(target, SPELL_TELEPORT_BACK_TO_MAIN_ROOM);
- target->RemoveAurasDueToSpell(SPELL_SANITY, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
+ target->RemoveAurasDueToSpell(SPELL_SANITY, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
target->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
}
@@ -2801,7 +2801,7 @@ class spell_yogg_saron_induce_madness : public SpellScriptLoader // 64059
GetCaster()->CastSpell((Unit*)NULL, SPELL_SHATTERED_ILLUSION_REMOVE);
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* voice = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(DATA_VOICE_OF_YOGG_SARON)))
+ if (Creature* voice = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(DATA_VOICE_OF_YOGG_SARON)))
voice->AI()->DoAction(ACTION_TOGGLE_SHATTERED_ILLUSION);
}
@@ -3081,7 +3081,7 @@ class spell_yogg_saron_in_the_maws_of_the_old_god : public SpellScriptLoader
SpellCastResult CheckRequirement()
{
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
- if (Creature* yogg = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(BOSS_YOGG_SARON)))
+ if (Creature* yogg = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(BOSS_YOGG_SARON)))
if (yogg->FindCurrentSpellBySpellId(SPELL_DEAFENING_ROAR))
{
if (GetCaster()->GetDistance(yogg) > 20.0f)
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index 56f5c19c574..016c0bff1e5 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -63,50 +63,50 @@ class instance_ulduar : public InstanceMapScript
instance_ulduar_InstanceMapScript(InstanceMap* map) : InstanceScript(map) { }
// Creatures
- uint64 LeviathanGUID;
- uint64 IgnisGUID;
- uint64 RazorscaleGUID;
- uint64 RazorscaleController;
- uint64 ExpeditionCommanderGUID;
- uint64 XT002GUID;
- uint64 XTToyPileGUIDs[4];
- uint64 AssemblyGUIDs[3];
- uint64 KologarnGUID;
- uint64 AuriayaGUID;
- uint64 HodirGUID;
- uint64 ThorimGUID;
- uint64 FreyaGUID;
- uint64 ElderGUIDs[3];
- uint64 MimironGUID;
- uint64 MimironVehicleGUIDs[3];
- uint64 MimironComputerGUID;
- uint64 MimironWorldTriggerGUID;
- uint64 VezaxGUID;
- uint64 YoggSaronGUID;
- uint64 VoiceOfYoggSaronGUID;
- uint64 SaraGUID;
- uint64 BrainOfYoggSaronGUID;
- uint64 KeeperGUIDs[4];
- uint64 AlgalonGUID;
- uint64 BrannBronzebeardAlgGUID;
+ ObjectGuid LeviathanGUID;
+ ObjectGuid IgnisGUID;
+ ObjectGuid RazorscaleGUID;
+ ObjectGuid RazorscaleController;
+ ObjectGuid ExpeditionCommanderGUID;
+ ObjectGuid XT002GUID;
+ ObjectGuid XTToyPileGUIDs[4];
+ ObjectGuid AssemblyGUIDs[3];
+ ObjectGuid KologarnGUID;
+ ObjectGuid AuriayaGUID;
+ ObjectGuid HodirGUID;
+ ObjectGuid ThorimGUID;
+ ObjectGuid FreyaGUID;
+ ObjectGuid ElderGUIDs[3];
+ ObjectGuid MimironGUID;
+ ObjectGuid MimironVehicleGUIDs[3];
+ ObjectGuid MimironComputerGUID;
+ ObjectGuid MimironWorldTriggerGUID;
+ ObjectGuid VezaxGUID;
+ ObjectGuid YoggSaronGUID;
+ ObjectGuid VoiceOfYoggSaronGUID;
+ ObjectGuid SaraGUID;
+ ObjectGuid BrainOfYoggSaronGUID;
+ ObjectGuid KeeperGUIDs[4];
+ ObjectGuid AlgalonGUID;
+ ObjectGuid BrannBronzebeardAlgGUID;
// GameObjects
- uint64 LeviathanGateGUID;
- uint64 RazorHarpoonGUIDs[4];
- uint64 KologarnChestGUID;
- uint64 KologarnBridgeGUID;
- uint64 ThorimChestGUID;
- uint64 HodirRareCacheGUID;
- uint64 HodirChestGUID;
- uint64 MimironTramGUID;
- uint64 MimironElevatorGUID;
- uint64 MimironButtonGUID;
- uint64 BrainRoomDoorGUIDs[3];
- uint64 AlgalonSigilDoorGUID[3];
- uint64 AlgalonFloorGUID[2];
- uint64 AlgalonUniverseGUID;
- uint64 AlgalonTrapdoorGUID;
- uint64 GiftOfTheObserverGUID;
+ ObjectGuid LeviathanGateGUID;
+ ObjectGuid RazorHarpoonGUIDs[4];
+ ObjectGuid KologarnChestGUID;
+ ObjectGuid KologarnBridgeGUID;
+ ObjectGuid ThorimChestGUID;
+ ObjectGuid HodirRareCacheGUID;
+ ObjectGuid HodirChestGUID;
+ ObjectGuid MimironTramGUID;
+ ObjectGuid MimironElevatorGUID;
+ ObjectGuid MimironButtonGUID;
+ ObjectGuid BrainRoomDoorGUIDs[3];
+ ObjectGuid AlgalonSigilDoorGUID[3];
+ ObjectGuid AlgalonFloorGUID[2];
+ ObjectGuid AlgalonUniverseGUID;
+ ObjectGuid AlgalonTrapdoorGUID;
+ ObjectGuid GiftOfTheObserverGUID;
// Miscellaneous
uint32 TeamInInstance;
@@ -119,47 +119,12 @@ class instance_ulduar : public InstanceMapScript
bool Unbroken;
bool IsDriveMeCrazyEligible;
- std::set<uint64> mRubbleSpawns;
-
void Initialize() override
{
SetHeaders(DataHeader);
SetBossNumber(MAX_ENCOUNTER);
LoadDoorData(doorData);
LoadMinionData(minionData);
- LeviathanGUID = 0;
- IgnisGUID = 0;
- RazorscaleGUID = 0;
- RazorscaleController = 0;
- ExpeditionCommanderGUID = 0;
- XT002GUID = 0;
- KologarnGUID = 0;
- AuriayaGUID = 0;
- MimironGUID = 0;
- MimironComputerGUID = 0;
- MimironWorldTriggerGUID = 0;
- HodirGUID = 0;
- ThorimGUID = 0;
- FreyaGUID = 0;
- VezaxGUID = 0;
- YoggSaronGUID = 0;
- VoiceOfYoggSaronGUID = 0;
- SaraGUID = 0;
- BrainOfYoggSaronGUID = 0;
- AlgalonGUID = 0;
- KologarnChestGUID = 0;
- KologarnBridgeGUID = 0;
- ThorimChestGUID = 0;
- HodirRareCacheGUID = 0;
- HodirChestGUID = 0;
- MimironTramGUID = 0;
- MimironElevatorGUID = 0;
- MimironButtonGUID = 0;
- LeviathanGateGUID = 0;
- AlgalonUniverseGUID = 0;
- AlgalonTrapdoorGUID = 0;
- BrannBronzebeardAlgGUID = 0;
- GiftOfTheObserverGUID = 0;
_algalonTimer = 61;
_maxArmorItemLevel = 0;
_maxWeaponItemLevel = 0;
@@ -175,17 +140,8 @@ class instance_ulduar : public InstanceMapScript
_algalonSummoned = false;
_summonAlgalon = false;
- memset(AlgalonSigilDoorGUID, 0, sizeof(AlgalonSigilDoorGUID));
- memset(AlgalonFloorGUID, 0, sizeof(AlgalonFloorGUID));
- memset(XTToyPileGUIDs, 0, sizeof(XTToyPileGUIDs));
- memset(AssemblyGUIDs, 0, sizeof(AssemblyGUIDs));
- memset(RazorHarpoonGUIDs, 0, sizeof(RazorHarpoonGUIDs));
- memset(ElderGUIDs, 0, sizeof(ElderGUIDs));
- memset(MimironVehicleGUIDs, 0, sizeof(MimironVehicleGUIDs));
- memset(BrainRoomDoorGUIDs, 0, sizeof(BrainRoomDoorGUIDs));
- memset(KeeperGUIDs, 0, sizeof(KeeperGUIDs));
- memset(_summonObservationRingKeeper, false, sizeof(_summonObservationRingKeeper));
- memset(_summonYSKeeper, false, sizeof(_summonYSKeeper));
+ memset(_summonObservationRingKeeper, 0, sizeof(_summonObservationRingKeeper));
+ memset(_summonYSKeeper, 0, sizeof(_summonYSKeeper));
}
void FillInitialWorldStates(WorldPacket& packet) override
@@ -460,7 +416,7 @@ class instance_ulduar : public InstanceMapScript
for (uint8 i = 0; i < 4; ++i)
if (XTToyPileGUIDs[i] == creature->GetGUID())
{
- XTToyPileGUIDs[i] = 0;
+ XTToyPileGUIDs[i].Clear();
break;
}
break;
@@ -471,7 +427,7 @@ class instance_ulduar : public InstanceMapScript
break;
case NPC_BRANN_BRONZBEARD_ALG:
if (BrannBronzebeardAlgGUID == creature->GetGUID())
- BrannBronzebeardAlgGUID = 0;
+ BrannBronzebeardAlgGUID.Clear();
break;
default:
break;
@@ -489,7 +445,7 @@ class instance_ulduar : public InstanceMapScript
case GO_KOLOGARN_BRIDGE:
KologarnBridgeGUID = gameObject->GetGUID();
if (GetBossState(BOSS_KOLOGARN) == DONE)
- HandleGameObject(0, false, gameObject);
+ HandleGameObject(ObjectGuid::Empty, false, gameObject);
break;
case GO_THORIM_CHEST_HERO:
case GO_THORIM_CHEST:
@@ -844,11 +800,11 @@ class instance_ulduar : public InstanceMapScript
}
}
- void SetData64(uint32 /*type*/, uint64 /*data*/) override
+ void SetGuidData(uint32 /*type*/, ObjectGuid /*data*/) override
{
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -975,7 +931,7 @@ class instance_ulduar : public InstanceMapScript
return BrannBronzebeardAlgGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
uint32 GetData(uint32 type) const override
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 ee52df58c80..c08e1934552 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
@@ -287,7 +287,7 @@ class npc_annhylde_the_caller : public CreatureScript
{
case 1:
Talk(YELL_RESURRECT);
- if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_INGVAR)))
+ if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_INGVAR)))
{
ingvar->RemoveAura(SPELL_SUMMON_BANSHEE);
ingvar->CastSpell(ingvar, SPELL_SCOURG_RESURRECTION_DUMMY, true);
@@ -316,7 +316,7 @@ class npc_annhylde_the_caller : public CreatureScript
switch (eventId)
{
case EVENT_RESURRECT_1:
- if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_INGVAR)))
+ if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_INGVAR)))
{
ingvar->RemoveAura(SPELL_INGVAR_FEIGN_DEATH);
ingvar->CastSpell(ingvar, SPELL_SCOURG_RESURRECTION_HEAL, false);
@@ -324,7 +324,7 @@ class npc_annhylde_the_caller : public CreatureScript
_events.ScheduleEvent(EVENT_RESURRECT_2, 3000);
break;
case EVENT_RESURRECT_2:
- if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_INGVAR)))
+ if (Creature* ingvar = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_INGVAR)))
{
ingvar->RemoveAurasDueToSpell(SPELL_SCOURG_RESURRECTION_DUMMY);
ingvar->AI()->DoAction(ACTION_START_PHASE_2);
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index 6e0dbecafb4..02cf5ade52a 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -94,7 +94,7 @@ class npc_frost_tomb : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* keleseth = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_PRINCE_KELESETH)))
+ if (Creature* keleseth = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_PRINCE_KELESETH)))
keleseth->AI()->SetData(DATA_ON_THE_ROCKS, false);
}
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 c6a91e3ff33..bf11e3cca7b 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
@@ -116,7 +116,7 @@ struct generic_boss_controllerAI : public BossAI
void JustDied(Unit* /*killer*/) override
{
- if (Creature* otherBoss = ObjectAccessor::GetCreature(*me, instance->GetData64(OtherBossData)))
+ if (Creature* otherBoss = ObjectAccessor::GetCreature(*me, instance->GetGuidData(OtherBossData)))
{
if (otherBoss->IsAlive())
{
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 78df568d144..360befc02af 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
@@ -45,11 +45,6 @@ class instance_utgarde_keep : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
LoadMinionData(minionData);
-
- PrinceKelesethGUID = 0;
- SkarvaldGUID = 0;
- DalronnGUID = 0;
- IngvarGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -94,39 +89,39 @@ class instance_utgarde_keep : public InstanceMapScript
{
case GO_BELLOW_1:
Forges[0].BellowGUID = go->GetGUID();
- HandleGameObject(0, Forges[0].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[0].Event != NOT_STARTED, go);
break;
case GO_BELLOW_2:
Forges[1].BellowGUID = go->GetGUID();
- HandleGameObject(0, Forges[1].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[1].Event != NOT_STARTED, go);
break;
case GO_BELLOW_3:
Forges[2].BellowGUID = go->GetGUID();
- HandleGameObject(0, Forges[2].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[2].Event != NOT_STARTED, go);
break;
case GO_FORGEFIRE_1:
Forges[0].FireGUID = go->GetGUID();
- HandleGameObject(0, Forges[0].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[0].Event != NOT_STARTED, go);
break;
case GO_FORGEFIRE_2:
Forges[1].FireGUID = go->GetGUID();
- HandleGameObject(0, Forges[1].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[1].Event != NOT_STARTED, go);
break;
case GO_FORGEFIRE_3:
Forges[2].FireGUID = go->GetGUID();
- HandleGameObject(0, Forges[2].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[2].Event != NOT_STARTED, go);
break;
case GO_GLOWING_ANVIL_1:
Forges[0].AnvilGUID = go->GetGUID();
- HandleGameObject(0, Forges[0].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[0].Event != NOT_STARTED, go);
break;
case GO_GLOWING_ANVIL_2:
Forges[1].AnvilGUID = go->GetGUID();
- HandleGameObject(0, Forges[1].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[1].Event != NOT_STARTED, go);
break;
case GO_GLOWING_ANVIL_3:
Forges[2].AnvilGUID = go->GetGUID();
- HandleGameObject(0, Forges[2].Event != NOT_STARTED, go);
+ HandleGameObject(ObjectGuid::Empty, Forges[2].Event != NOT_STARTED, go);
break;
case GO_GIANT_PORTCULLIS_1:
case GO_GIANT_PORTCULLIS_2:
@@ -150,7 +145,7 @@ class instance_utgarde_keep : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -166,7 +161,7 @@ class instance_utgarde_keep : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -207,10 +202,10 @@ class instance_utgarde_keep : public InstanceMapScript
protected:
ForgeInfo Forges[3];
- uint64 PrinceKelesethGUID;
- uint64 SkarvaldGUID;
- uint64 DalronnGUID;
- uint64 IngvarGUID;
+ ObjectGuid PrinceKelesethGUID;
+ ObjectGuid SkarvaldGUID;
+ ObjectGuid DalronnGUID;
+ ObjectGuid IngvarGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
index 751239755cf..5b52072b07f 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
@@ -76,11 +76,11 @@ enum GameObjectIds
struct ForgeInfo
{
- ForgeInfo() : AnvilGUID(0), BellowGUID(0), FireGUID(0), Event(NOT_STARTED) { };
+ ForgeInfo() : Event(NOT_STARTED) { };
- uint64 AnvilGUID;
- uint64 BellowGUID;
- uint64 FireGUID;
+ ObjectGuid AnvilGUID;
+ ObjectGuid BellowGUID;
+ ObjectGuid FireGUID;
uint32 Event;
};
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index b3285bd492e..061499f2025 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -129,11 +129,11 @@ public:
me->GetMotionMaster()->MoveTargetedHome();
for (uint8 i = DATA_FRENZIED_WORGEN; i <= DATA_FEROCIOUS_RHINO; ++i)
- if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetData64(i)))
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
if (!temp->IsAlive())
temp->Respawn();
- if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetData64(DATA_GORTOK_PALEHOOF_SPHERE)))
+ if (GameObject* go = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF_SPHERE)))
{
go->SetGoState(GO_STATE_READY);
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
@@ -224,7 +224,7 @@ public:
move = Sequence[AddCount++];
// send orb to summon spot
- if (Creature* orb = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_ORB)))
+ if (Creature* orb = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_ORB)))
if (orb->IsAlive())
orb->GetMotionMaster()->MovePoint(move, moveLocs[move]);
@@ -293,7 +293,7 @@ public:
if (instance->GetBossState(DATA_GORTOK_PALEHOOF) == IN_PROGRESS)
{
- Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF));
+ Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF));
if (palehoof && palehoof->IsAlive())
palehoof->AI()->Reset();
}
@@ -345,7 +345,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
+ if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
@@ -407,7 +407,7 @@ public:
if (instance->GetBossState(DATA_GORTOK_PALEHOOF) == IN_PROGRESS)
{
- Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF));
+ Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF));
if (palehoof && palehoof->IsAlive())
palehoof->AI()->Reset();
}
@@ -460,7 +460,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
+ if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
@@ -523,7 +523,7 @@ public:
if (instance->GetBossState(DATA_GORTOK_PALEHOOF) == IN_PROGRESS)
{
- Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF));
+ Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF));
if (palehoof && palehoof->IsAlive())
palehoof->AI()->Reset();
}
@@ -576,7 +576,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
+ if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
@@ -644,7 +644,7 @@ public:
if (instance->GetBossState(DATA_GORTOK_PALEHOOF) == IN_PROGRESS)
{
- Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF));
+ Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF));
if (palehoof && palehoof->IsAlive())
palehoof->AI()->Reset();
}
@@ -698,7 +698,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_GORTOK_PALEHOOF)))
+ if (Creature* palehoof = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GORTOK_PALEHOOF)))
palehoof->AI()->DoAction(ACTION_NEXT_PHASE);
}
@@ -778,7 +778,7 @@ public:
return;
}
- if (Creature* nextBoss = ObjectAccessor::GetCreature(*me, instance->GetData64(nextBossId)))
+ if (Creature* nextBoss = ObjectAccessor::GetCreature(*me, instance->GetGuidData(nextBossId)))
{
nextBoss->RemoveAurasDueToSpell(SPELL_FREEZE);
nextBoss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
@@ -822,7 +822,7 @@ public:
return;
}
- if (Creature* nextBoss = ObjectAccessor::GetCreature(*me, instance->GetData64(nextBossId)))
+ if (Creature* nextBoss = ObjectAccessor::GetCreature(*me, instance->GetGuidData(nextBossId)))
DoCast(nextBoss, SPELL_ORB_CHANNEL, false);
currentPhase = Phase(id);
@@ -843,7 +843,7 @@ class go_palehoof_sphere : public GameObjectScript
if (!instance)
return false;
- Creature* palehoof = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_GORTOK_PALEHOOF));
+ Creature* palehoof = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_GORTOK_PALEHOOF));
if (palehoof && palehoof->IsAlive())
{
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index af5dc4a4e03..5d6a2416d73 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -171,7 +171,6 @@ public:
{
Initialize();
instance = creature->GetInstanceScript();
- m_uiGraufGUID = 0;
m_uiMovementTimer = 0;
m_uiSummonTimer = 0;
}
@@ -191,8 +190,7 @@ public:
InstanceScript* instance;
SummonList Summons;
- uint64 m_uiGraufGUID;
- std::vector<uint64> triggersGUID;
+ ObjectGuid m_uiGraufGUID;
uint32 m_uiCrushTimer;
uint32 m_uiPoisonedSpearTimer;
@@ -208,8 +206,6 @@ public:
void Reset() override
{
- triggersGUID.clear();
-
Initialize();
Summons.DespawnAll();
@@ -274,7 +270,7 @@ public:
void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_GRAUF)
- m_uiGraufGUID = 0;
+ m_uiGraufGUID.Clear();
Summons.Despawn(summoned);
}
@@ -477,7 +473,7 @@ public:
if (!instance)
return false;
- if (Creature* pSkadi = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_SKADI_THE_RUTHLESS)))
+ if (Creature* pSkadi = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_SKADI_THE_RUTHLESS)))
player->CastSpell(pSkadi, SPELL_RAPID_FIRE, true);
return false;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 6ace4eb61a1..bf9d9eaa43b 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -143,14 +143,14 @@ class boss_svala : public CreatureScript
void Initialize()
{
- _arthasGUID = 0;
+ _arthasGUID.Clear();
_sacrificed = false;
}
void Reset() override
{
_Reset();
-
+
SetCombatMovement(true);
if (_introCompleted)
@@ -162,7 +162,7 @@ class boss_svala : public CreatureScript
Initialize();
- instance->SetData64(DATA_SACRIFICED_PLAYER, 0);
+ instance->SetGuidData(DATA_SACRIFICED_PLAYER, ObjectGuid::Empty);
}
void EnterCombat(Unit* /*who*/) override
@@ -188,7 +188,7 @@ class boss_svala : public CreatureScript
events.SetPhase(INTRO);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, DATA_UTGARDE_MIRROR))
+ if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_UTGARDE_MIRROR)))
mirror->SetGoState(GO_STATE_READY);
if (Creature* arthas = me->SummonCreature(NPC_ARTHAS, ArthasPos, TEMPSUMMON_MANUAL_DESPAWN))
@@ -331,12 +331,12 @@ class boss_svala : public CreatureScript
break;
}
case EVENT_INTRO_DESPAWN_ARTHAS:
- if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, DATA_UTGARDE_MIRROR))
+ if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_UTGARDE_MIRROR)))
mirror->SetGoState(GO_STATE_ACTIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Creature* arthas = ObjectAccessor::GetCreature(*me, _arthasGUID))
arthas->DespawnOrUnsummon();
- _arthasGUID = 0;
+ _arthasGUID.Clear();
events.SetPhase(NORMAL);
_introCompleted = true;
events.ScheduleEvent(EVENT_SINISTER_STRIKE, 7 * IN_MILLISECONDS, 0, NORMAL);
@@ -354,7 +354,7 @@ class boss_svala : public CreatureScript
case EVENT_RITUAL_PREPARATION:
if (Unit* sacrificeTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 80.0f, true))
{
- instance->SetData64(DATA_SACRIFICED_PLAYER, sacrificeTarget->GetGUID());
+ instance->SetGuidData(DATA_SACRIFICED_PLAYER, sacrificeTarget->GetGUID());
Talk(SAY_SACRIFICE_PLAYER);
DoCast(sacrificeTarget, SPELL_RITUAL_PREPARATION);
SetCombatMovement(false);
@@ -385,7 +385,7 @@ class boss_svala : public CreatureScript
}
private:
- uint64 _arthasGUID;
+ ObjectGuid _arthasGUID;
bool _sacrificed;
bool _introCompleted;
};
@@ -434,7 +434,7 @@ class npc_ritual_channeler : public CreatureScript
if (paralyzeTimer <= diff)
{
- if (Unit* victim = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_SACRIFICED_PLAYER)))
+ if (Unit* victim = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_SACRIFICED_PLAYER)))
DoCast(victim, SPELL_PARALYZE, false);
paralyzeTimer = 200;
@@ -487,7 +487,7 @@ class RitualTargetCheck
bool operator() (WorldObject* obj) const
{
if (InstanceScript* instance = obj->GetInstanceScript())
- if (instance->GetData64(DATA_SACRIFICED_PLAYER) == obj->GetGUID())
+ if (instance->GetGuidData(DATA_SACRIFICED_PLAYER) == obj->GetGUID())
return false;
return true;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 60b898e1786..c4312e08704 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -15,22 +15,16 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* Script Data Start
-SDName: Boss ymiron
-SDAuthor: LordVanMartin
-SD%Complete:
-SDComment:
-SDCategory:
-Script Data End */
-
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "utgarde_pinnacle.h"
#include "SpellInfo.h"
+#include "SpellScript.h"
enum Spells
{
SPELL_BANE = 48294,
+ SPELL_BANE_HIT = 59203, // Checked for King's Bane achievement.
SPELL_DARK_SLASH = 48292,
SPELL_FETID_ROT = 48291,
SPELL_SCREAMS_OF_THE_DEAD = 51750,
@@ -47,8 +41,7 @@ enum Spells
SPELL_SPIRIT_FOUNT = 48380
};
-//not in db
-enum Yells
+enum Texts
{
SAY_AGGRO = 0,
SAY_SLAY = 1,
@@ -59,18 +52,27 @@ enum Yells
SAY_SUMMON_TORGYN = 6
};
-enum Creatures
+enum Events
+{
+ EVENT_BANE = 1,
+ EVENT_FETID_ROT,
+ EVENT_DARK_SLASH,
+ EVENT_ANCESTORS_VENGEANCE,
+ EVENT_RESUME_COMBAT, // Handles react state and schedules the next event after roleplay ends.
+ EVENT_BJORN_SPIRIT_FOUNT,
+ EVENT_HALDOR_SPIRIT_STRIKE,
+ EVENT_RANULF_SPIRIT_BURST,
+ EVENT_TORGYN_SUMMON_AVENGING_SPIRITS
+};
+
+enum EventGroups
{
- NPC_BJORN = 27303,
- NPC_BJORN_VISUAL = 27304,
- NPC_HALDOR = 27307,
- NPC_HALDOR_VISUAL = 27310,
- NPC_RANULF = 27308,
- NPC_RANULF_VISUAL = 27311,
- NPC_TORGYN = 27309,
- NPC_TORGYN_VISUAL = 27312,
- NPC_SPIRIT_FOUNT = 27339,
- NPC_AVENGING_SPIRIT = 27386
+ EVENT_GROUP_BASE_SPELLS = 1
+};
+
+enum MovePoints
+{
+ POINT_BOAT
};
struct ActiveBoatStruct
@@ -78,14 +80,15 @@ struct ActiveBoatStruct
uint32 npc;
int32 say;
float MoveX, MoveY, MoveZ, SpawnX, SpawnY, SpawnZ, SpawnO;
+ uint32 event;
};
static ActiveBoatStruct ActiveBoat[4] =
{
- {NPC_BJORN_VISUAL, SAY_SUMMON_BJORN, 404.379f, -335.335f, 104.756f, 413.594f, -335.408f, 107.995f, 3.157f},
- {NPC_HALDOR_VISUAL, SAY_SUMMON_HALDOR, 380.813f, -335.069f, 104.756f, 369.994f, -334.771f, 107.995f, 6.232f},
- {NPC_RANULF_VISUAL, SAY_SUMMON_RANULF, 381.546f, -314.362f, 104.756f, 370.841f, -314.426f, 107.995f, 6.232f},
- {NPC_TORGYN_VISUAL, SAY_SUMMON_TORGYN, 404.310f, -314.761f, 104.756f, 413.992f, -314.703f, 107.995f, 3.157f}
+ {NPC_BJORN_VISUAL, SAY_SUMMON_BJORN, 404.379f, -335.335f, 104.756f, 413.594f, -335.408f, 107.995f, 3.157f, EVENT_BJORN_SPIRIT_FOUNT},
+ {NPC_HALDOR_VISUAL, SAY_SUMMON_HALDOR, 380.813f, -335.069f, 104.756f, 369.994f, -334.771f, 107.995f, 6.232f, EVENT_HALDOR_SPIRIT_STRIKE},
+ {NPC_RANULF_VISUAL, SAY_SUMMON_RANULF, 381.546f, -314.362f, 104.756f, 370.841f, -314.426f, 107.995f, 6.232f, EVENT_RANULF_SPIRIT_BURST},
+ {NPC_TORGYN_VISUAL, SAY_SUMMON_TORGYN, 404.310f, -314.761f, 104.756f, 413.992f, -314.703f, 107.995f, 3.157f, EVENT_TORGYN_SUMMON_AVENGING_SPIRITS}
};
enum Misc
@@ -103,89 +106,48 @@ public:
boss_ymironAI(Creature* creature) : BossAI(creature, DATA_KING_YMIRON)
{
Initialize();
+ // This ensures a random sequence of ancestors. Not sure if the order should change on reset or not, reason why this is left out of Initialize().
for (int i = 0; i < 4; ++i)
- m_uiActiveOrder[i] = i;
+ ActiveOrder[i] = i;
for (int i = 0; i < 3; ++i)
{
int r = i + (rand32() % (4 - i));
- int temp = m_uiActiveOrder[i];
- m_uiActiveOrder[i] = m_uiActiveOrder[r];
- m_uiActiveOrder[r] = temp;
+ int temp = ActiveOrder[i];
+ ActiveOrder[i] = ActiveOrder[r];
+ ActiveOrder[r] = temp;
}
}
void Initialize()
{
- m_bIsWalking = false;
- m_bIsPause = false;
- m_bIsActiveWithBJORN = false;
- m_bIsActiveWithHALDOR = false;
- m_bIsActiveWithRANULF = false;
- m_bIsActiveWithTORGYN = false;
kingsBane = true;
-
- m_uiFetidRot_Timer = urand(8000, 13000);
- m_uiBane_Timer = urand(18000, 23000);
- m_uiDarkSlash_Timer = urand(28000, 33000);
- m_uiAncestors_Vengeance_Timer = DUNGEON_MODE(60000, 45000);
- m_uiPause_Timer = 0;
-
- m_uiAbility_BJORN_Timer = 0;
- m_uiAbility_HALDOR_Timer = 0;
- m_uiAbility_RANULF_Timer = 0;
- m_uiAbility_TORGYN_Timer = 0;
-
- m_uiActivedNumber = 0;
- m_uiHealthAmountModifier = 1;
- m_uiHealthAmountMultipler = DUNGEON_MODE(20, 25);
-
- m_uiActivedCreatureGUID = 0;
- m_uiOrbGUID = 0;
+ ActivedNumber = 0;
+ HealthAmountModifier = 1;
+ HealthAmountMultipler = DUNGEON_MODE(20, 25);
+ ActiveAncestorGUID.Clear();
+ SpiritFountGUID.Clear();
}
- bool m_bIsWalking;
- bool m_bIsPause;
- bool m_bIsActiveWithBJORN;
- bool m_bIsActiveWithHALDOR;
- bool m_bIsActiveWithRANULF;
- bool m_bIsActiveWithTORGYN;
- bool kingsBane; // Achievement King's Bane
-
- uint8 m_uiActiveOrder[4];
- uint8 m_uiActivedNumber;
-
- uint32 m_uiFetidRot_Timer;
- uint32 m_uiBane_Timer;
- uint32 m_uiDarkSlash_Timer;
- uint32 m_uiAncestors_Vengeance_Timer;
-
- uint32 m_uiAbility_BJORN_Timer;
- uint32 m_uiAbility_HALDOR_Timer;
- uint32 m_uiAbility_RANULF_Timer;
- uint32 m_uiAbility_TORGYN_Timer;
-
- uint32 m_uiPause_Timer;
- uint32 m_uiHealthAmountModifier;
- uint32 m_uiHealthAmountMultipler;
-
- uint64 m_uiActivedCreatureGUID;
- uint64 m_uiOrbGUID;
-
void Reset() override
{
_Reset();
Initialize();
+ me->SetReactState(REACT_AGGRESSIVE);
}
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
Talk(SAY_AGGRO);
+ events.ScheduleEvent(EVENT_BANE, urand(18000, 23000), EVENT_GROUP_BASE_SPELLS);
+ events.ScheduleEvent(EVENT_FETID_ROT, urand(8000, 13000), EVENT_GROUP_BASE_SPELLS);
+ events.ScheduleEvent(EVENT_DARK_SLASH, urand(28000, 33000), EVENT_GROUP_BASE_SPELLS);
+ events.ScheduleEvent(EVENT_ANCESTORS_VENGEANCE, DUNGEON_MODE(60000, 45000), EVENT_GROUP_BASE_SPELLS);
}
void SpellHitTarget(Unit* who, SpellInfo const* spell) override
{
- if (who && who->GetTypeId() == TYPEID_PLAYER && spell->Id == 59302)
+ if (who && who->GetTypeId() == TYPEID_PLAYER && spell->Id == SPELL_BANE_HIT)
kingsBane = false;
}
@@ -197,161 +159,115 @@ public:
return 0;
}
- void UpdateAI(uint32 diff) override
+ void MovementInform(uint32 type, uint32 pointId) override
{
- if (m_bIsWalking)
+ if (type != POINT_MOTION_TYPE)
+ return;
+
+ if (pointId == POINT_BOAT) // Check might not be needed.
{
- if (m_uiPause_Timer <= diff)
+ Talk(ActiveBoat[ActiveOrder[ActivedNumber]].say);
+ if (Creature* ancestor = me->SummonCreature(ActiveBoat[ActiveOrder[ActivedNumber]].npc, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnX, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnY, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnZ, ActiveBoat[ActiveOrder[ActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0))
{
- Talk(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].say);
- DoCast(me, SPELL_CHANNEL_YMIRON_TO_SPIRIT); // should be on spirit
- if (Creature* temp = me->SummonCreature(ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].npc, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnX, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnY, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnZ, ActiveBoat[m_uiActiveOrder[m_uiActivedNumber]].SpawnO, TEMPSUMMON_CORPSE_DESPAWN, 0))
- {
- m_uiActivedCreatureGUID = temp->GetGUID();
- temp->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true);
- temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- temp->SetDisableGravity(true);
- switch (m_uiActiveOrder[m_uiActivedNumber])
- {
- case 0: m_bIsActiveWithBJORN = true; break;
- case 1: m_bIsActiveWithHALDOR = true; break;
- case 2: m_bIsActiveWithRANULF = true; break;
- case 3: m_bIsActiveWithTORGYN = true; break;
- }
- }
-
- m_bIsPause = true;
- m_bIsWalking = false;
- m_uiPause_Timer = 3000;
- } else m_uiPause_Timer -= diff;
- return;
+ DoCast(ancestor, SPELL_CHANNEL_YMIRON_TO_SPIRIT);
+ ancestor->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true);
+ ancestor->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ ancestor->SetDisableGravity(true);
+ ActiveAncestorGUID = ancestor->GetGUID();
+ }
+ events.ScheduleEvent(EVENT_RESUME_COMBAT, 5000);
}
- else if (m_bIsPause)
+ }
+
+ void JustSummoned(Creature* summon) override
+ {
+ switch (summon->GetEntry())
{
- if (m_uiPause_Timer <= diff)
- {
- m_uiAbility_BJORN_Timer = 5000;
- m_uiAbility_HALDOR_Timer = 5000;
- m_uiAbility_RANULF_Timer = 5000;
- m_uiAbility_TORGYN_Timer = 5000;
-
- m_bIsPause = false;
- m_uiPause_Timer = 0;
- } else m_uiPause_Timer -= diff;
- return;
+ case NPC_SPIRIT_FOUNT:
+ summon->CastSpell(summon, SPELL_SPIRIT_FOUNT, true);
+ summon->SetDisplayId(11686);
+ SpiritFountGUID = summon->GetGUID();
+ break;
+ case NPC_AVENGING_SPIRIT:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ {
+ summon->AddThreat(target, 0.0f);
+ summon->AI()->AttackStart(target);
+ }
+ break;
+ default:
+ break;
}
- //Return since we have no target
- if (!UpdateVictim())
- return;
+ summons.Summon(summon);
+ }
- if (!m_bIsPause)
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (me->HealthBelowPctDamaged(100 - HealthAmountMultipler * HealthAmountModifier, damage))
{
- // Normal spells ------------------------------------------------------------------------
- if (m_uiBane_Timer <= diff)
- {
- DoCast(me, SPELL_BANE);
- m_uiBane_Timer = urand(20000, 25000);
- } else m_uiBane_Timer -= diff;
+ uint8 Order = HealthAmountModifier - 1;
+ ++HealthAmountModifier;
- if (m_uiFetidRot_Timer <= diff)
- {
- DoCastVictim(SPELL_FETID_ROT);
- m_uiFetidRot_Timer = urand(10000, 15000);
- } else m_uiFetidRot_Timer -= diff;
+ me->InterruptNonMeleeSpells(true);
+ DoCast(me, SPELL_SCREAMS_OF_THE_DEAD);
- if (m_uiDarkSlash_Timer <= diff)
- {
- DoCastVictim(SPELL_DARK_SLASH);
- m_uiDarkSlash_Timer = urand(30000, 35000);
- } else m_uiDarkSlash_Timer -= diff;
+ me->AttackStop();
+ me->SetReactState(REACT_PASSIVE);
+ me->GetMotionMaster()->MovePoint(POINT_BOAT, ActiveBoat[ActiveOrder[Order]].MoveX, ActiveBoat[ActiveOrder[Order]].MoveY, ActiveBoat[ActiveOrder[Order]].MoveZ);
- if (m_uiAncestors_Vengeance_Timer <= diff)
- {
- DoCast(me, SPELL_ANCESTORS_VENGEANCE);
- m_uiAncestors_Vengeance_Timer = DUNGEON_MODE(urand(60000, 65000), urand(45000, 50000));
- } else m_uiAncestors_Vengeance_Timer -= diff;
+ DespawnBoatGhosts(ActiveAncestorGUID);
+ DespawnBoatGhosts(SpiritFountGUID);
- // Abilities ------------------------------------------------------------------------------
- if (m_bIsActiveWithBJORN && m_uiAbility_BJORN_Timer <= diff)
- {
- //DoCast(me, SPELL_SUMMON_SPIRIT_FOUNT); // works fine, but using summon has better control
- if (Creature* temp = me->SummonCreature(NPC_SPIRIT_FOUNT, 385.0f + rand32() % 10, -330.0f + rand32() % 10, 104.756f, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 180000))
- {
- temp->SetSpeed(MOVE_RUN, 0.4f);
- temp->CastSpell(temp, SPELL_SPIRIT_FOUNT, true);
- temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
- temp->SetDisplayId(11686);
- m_uiOrbGUID = temp->GetGUID();
- }
- m_bIsActiveWithBJORN = false; // only one orb
- } else m_uiAbility_BJORN_Timer -= diff;
+ events.CancelEvent(ActiveBoat[ActiveOrder[ActivedNumber]].event); // Cancels the event started on the previous transition.
+ events.DelayEvents(10000, EVENT_GROUP_BASE_SPELLS);
- if (m_bIsActiveWithHALDOR && m_uiAbility_HALDOR_Timer <= diff)
- {
- DoCastVictim(SPELL_SPIRIT_STRIKE);
- m_uiAbility_HALDOR_Timer = 5000; // overtime
- } else m_uiAbility_HALDOR_Timer -= diff;
+ ActivedNumber = Order;
+ }
+ }
- if (m_bIsActiveWithRANULF && m_uiAbility_RANULF_Timer <= diff)
- {
+ void ExecuteEvent(uint32 eventId) override
+ {
+ switch (eventId)
+ {
+ case EVENT_BANE:
+ DoCast(SPELL_BANE);
+ events.ScheduleEvent(EVENT_BANE, urand(20000, 25000));
+ break;
+ case EVENT_FETID_ROT:
+ DoCastVictim(SPELL_FETID_ROT);
+ events.ScheduleEvent(EVENT_FETID_ROT, urand(10000, 15000));
+ break;
+ case EVENT_DARK_SLASH:
+ DoCastVictim(SPELL_DARK_SLASH);
+ events.ScheduleEvent(EVENT_DARK_SLASH, urand(30000, 35000));
+ break;
+ case EVENT_ANCESTORS_VENGEANCE:
+ DoCast(me, SPELL_ANCESTORS_VENGEANCE);
+ events.ScheduleEvent(EVENT_ANCESTORS_VENGEANCE, DUNGEON_MODE(urand(60000, 65000), urand(45000, 50000)));
+ break;
+ case EVENT_RESUME_COMBAT:
+ me->SetReactState(REACT_AGGRESSIVE);
+ events.ScheduleEvent(ActiveBoat[ActiveOrder[ActivedNumber]].event, 5000);
+ break;
+ case EVENT_BJORN_SPIRIT_FOUNT:
+ DoCast(SPELL_SUMMON_SPIRIT_FOUNT);
+ break;
+ case EVENT_HALDOR_SPIRIT_STRIKE:
+ DoCastVictim(SPELL_SPIRIT_STRIKE);
+ events.ScheduleEvent(EVENT_HALDOR_SPIRIT_STRIKE, 5000);
+ break;
+ case EVENT_RANULF_SPIRIT_BURST:
DoCast(me, SPELL_SPIRIT_BURST);
- m_uiAbility_RANULF_Timer = 10000; // overtime
- } else m_uiAbility_RANULF_Timer -= diff;
-
- if (m_bIsActiveWithTORGYN && m_uiAbility_TORGYN_Timer <= diff)
- {
- float x, y, z;
- x = me->GetPositionX()-5;
- y = me->GetPositionY()-5;
- z = me->GetPositionZ();
+ events.ScheduleEvent(EVENT_RANULF_SPIRIT_BURST, 10000);
+ break;
+ case EVENT_TORGYN_SUMMON_AVENGING_SPIRITS:
for (uint8 i = 0; i < 4; ++i)
- {
- //DoCast(me, SPELL_SUMMON_AVENGING_SPIRIT); // works fine, but using summon has better control
- if (Creature* temp = me->SummonCreature(NPC_AVENGING_SPIRIT, x + rand32() % 10, y + rand32() % 10, z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
- {
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- {
- temp->AddThreat(target, 0.0f);
- temp->AI()->AttackStart(target);
- }
- }
- }
- m_uiAbility_TORGYN_Timer = 15000; // overtime
- } else m_uiAbility_TORGYN_Timer -= diff;
-
- // Health check -----------------------------------------------------------------------------
- if (me->HealthBelowPct(100 - m_uiHealthAmountMultipler * m_uiHealthAmountModifier))
- {
- uint8 m_uiOrder = m_uiHealthAmountModifier - 1;
- ++m_uiHealthAmountModifier;
-
- me->InterruptNonMeleeSpells(true);
- DoCast(me, SPELL_SCREAMS_OF_THE_DEAD);
- me->GetMotionMaster()->Clear();
- me->StopMoving();
- me->AttackStop();
- me->GetMotionMaster()->MovePoint(0, ActiveBoat[m_uiActiveOrder[m_uiOrder]].MoveX, ActiveBoat[m_uiActiveOrder[m_uiOrder]].MoveY, ActiveBoat[m_uiActiveOrder[m_uiOrder]].MoveZ);
-
- DespawnBoatGhosts(m_uiActivedCreatureGUID);
- DespawnBoatGhosts(m_uiOrbGUID);
-
- m_bIsActiveWithBJORN = false;
- m_bIsActiveWithHALDOR = false;
- m_bIsActiveWithRANULF = false;
- m_bIsActiveWithTORGYN = false;
-
- m_uiBane_Timer += 8000;
- m_uiFetidRot_Timer += 8000;
- m_uiDarkSlash_Timer += 8000;
- m_uiAncestors_Vengeance_Timer += 8000;
-
- m_uiActivedNumber = m_uiOrder;
- m_bIsWalking = true;
- m_uiPause_Timer = 2000;
- return;
- }
- DoMeleeAttackIfReady();
+ DoCast(SPELL_SUMMON_AVENGING_SPIRIT);
+ events.ScheduleEvent(EVENT_TORGYN_SUMMON_AVENGING_SPIRITS, 15000);
+ break;
+ default:
+ break;
}
}
@@ -367,14 +283,24 @@ public:
Talk(SAY_SLAY);
}
- void DespawnBoatGhosts(uint64& m_uiCreatureGUID)
+ void DespawnBoatGhosts(ObjectGuid& CreatureGUID)
{
- if (m_uiCreatureGUID)
- if (Creature* temp = ObjectAccessor::GetCreature(*me, m_uiCreatureGUID))
+ // @todo: fire visual after ancestor despawns.
+ if (CreatureGUID)
+ if (Creature* temp = ObjectAccessor::GetCreature(*me, CreatureGUID))
temp->DisappearAndDie();
- m_uiCreatureGUID = 0;
+ CreatureGUID.Clear();
}
+
+ private:
+ bool kingsBane; // Achievement King's Bane
+ uint8 ActiveOrder[4];
+ uint8 ActivedNumber;
+ uint32 HealthAmountModifier;
+ uint32 HealthAmountMultipler;
+ ObjectGuid ActiveAncestorGUID;
+ ObjectGuid SpiritFountGUID;
};
CreatureAI* GetAI(Creature* creature) const override
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 1bc3f20c3fe..519cc3b7202 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
@@ -38,23 +38,6 @@ class instance_utgarde_pinnacle : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
-
- SvalaSorrowgraveGUID = 0;
- GortokPalehoofGUID = 0;
- SkadiTheRuthlessGUID = 0;
- KingYmironGUID = 0;
-
- UtgardeMirrorGUID = 0;
- GortokPalehoofSphereGUID = 0;
-
- FrenziedWorgenGUID = 0;
- RavenousFurbolgGUID = 0;
- FerociousRhinoGUID = 0;
- MassiveJormungarGUID = 0;
- PalehoofOrbGUID = 0;
-
- SvalaGUID = 0;
- SacrificedPlayerGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -107,7 +90,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
GortokPalehoofSphereGUID = go->GetGUID();
if (GetBossState(DATA_GORTOK_PALEHOOF) == DONE)
{
- HandleGameObject(0, true, go);
+ HandleGameObject(ObjectGuid::Empty, true, go);
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
}
break;
@@ -133,7 +116,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
switch (type)
{
@@ -145,7 +128,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -179,27 +162,27 @@ class instance_utgarde_pinnacle : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 SvalaSorrowgraveGUID;
- uint64 GortokPalehoofGUID;
- uint64 SkadiTheRuthlessGUID;
- uint64 KingYmironGUID;
+ ObjectGuid SvalaSorrowgraveGUID;
+ ObjectGuid GortokPalehoofGUID;
+ ObjectGuid SkadiTheRuthlessGUID;
+ ObjectGuid KingYmironGUID;
- uint64 UtgardeMirrorGUID;
- uint64 GortokPalehoofSphereGUID;
+ ObjectGuid UtgardeMirrorGUID;
+ ObjectGuid GortokPalehoofSphereGUID;
- uint64 FrenziedWorgenGUID;
- uint64 RavenousFurbolgGUID;
- uint64 FerociousRhinoGUID;
- uint64 MassiveJormungarGUID;
+ ObjectGuid FrenziedWorgenGUID;
+ ObjectGuid RavenousFurbolgGUID;
+ ObjectGuid FerociousRhinoGUID;
+ ObjectGuid MassiveJormungarGUID;
- uint64 PalehoofOrbGUID;
+ ObjectGuid PalehoofOrbGUID;
- uint64 SvalaGUID;
- uint64 SacrificedPlayerGUID;
+ ObjectGuid SvalaGUID;
+ ObjectGuid SacrificedPlayerGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
index cccfcede80b..5373446ba02 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
@@ -59,7 +59,19 @@ enum CreatureIds
NPC_RAVENOUS_FURBOLG = 26684,
NPC_MASSIVE_JORMUNGAR = 26685,
NPC_FEROCIOUS_RHINO = 26686,
- NPC_PALEHOOF_ORB = 26688
+ NPC_PALEHOOF_ORB = 26688,
+
+ // Ymiron
+ NPC_BJORN = 27303,
+ NPC_BJORN_VISUAL = 27304,
+ NPC_HALDOR = 27307,
+ NPC_HALDOR_VISUAL = 27310,
+ NPC_RANULF = 27308,
+ NPC_RANULF_VISUAL = 27311,
+ NPC_TORGYN = 27309,
+ NPC_TORGYN_VISUAL = 27312,
+ NPC_SPIRIT_FOUNT = 27339,
+ NPC_AVENGING_SPIRIT = 27386
};
enum GameObjectIds
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index 8a88abb9d06..bacb63b73bc 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -101,7 +101,7 @@ class boss_emalon : public CreatureScript
{
if (!summons.empty())
{
- for (std::list<uint64>::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
+ for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
{
Creature* minion = ObjectAccessor::GetCreature(*me, *itr);
if (minion && minion->IsAlive() && !minion->GetVictim() && minion->AI())
@@ -201,7 +201,7 @@ class npc_tempest_minion : public CreatureScript
void JustDied(Unit* /*killer*/) override
{
- if (Creature* emalon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EMALON)))
+ if (Creature* emalon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EMALON)))
{
if (emalon->IsAlive())
{
@@ -216,7 +216,7 @@ class npc_tempest_minion : public CreatureScript
DoZoneInCombat();
events.ScheduleEvent(EVENT_SHOCK, 20000);
- if (Creature* pEmalon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EMALON)))
+ if (Creature* pEmalon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EMALON)))
{
if (!pEmalon->GetVictim() && pEmalon->AI())
pEmalon->AI()->AttackStart(who);
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index 36c952d14a1..a7895b8d506 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -262,7 +262,7 @@ class npc_frozen_orb_stalker : public CreatureScript
return;
spawned = true;
- Unit* toravon = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TORAVON));
+ Unit* toravon = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TORAVON));
if (!toravon)
return;
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 959c8b7724d..846ecc1226a 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
@@ -38,8 +38,6 @@ class instance_vault_of_archavon : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- EmalonGUID = 0;
- ToravonGUID = 0;
ArchavonDeath = 0;
EmalonDeath = 0;
KoralonDeath = 0;
@@ -60,7 +58,7 @@ class instance_vault_of_archavon : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -72,7 +70,7 @@ class instance_vault_of_archavon : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -127,8 +125,8 @@ class instance_vault_of_archavon : public InstanceMapScript
}
private:
- uint64 EmalonGUID;
- uint64 ToravonGUID;
+ ObjectGuid EmalonGUID;
+ ObjectGuid ToravonGUID;
time_t ArchavonDeath;
time_t EmalonDeath;
time_t KoralonDeath;
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 6cc90bcd4ed..bbb8c758bb1 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -85,12 +85,12 @@ public:
else if (instance->GetData(DATA_WAVE_COUNT) == 12)
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_1)))
+ if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
{
if (!pGuard1->IsAlive())
pGuard1->Respawn();
}
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_2)))
+ if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
{
if (!pGuard2->IsAlive())
pGuard2->Respawn();
@@ -109,13 +109,13 @@ public:
who->SetInCombatWith(me);
DoStartMovement(who);
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_1)))
+ if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
{
pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
if (!pGuard1->GetVictim() && pGuard1->AI())
pGuard1->AI()->AttackStart(who);
}
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_2)))
+ if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
{
pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
if (!pGuard2->GetVictim() && pGuard2->AI())
@@ -129,7 +129,7 @@ public:
Talk(SAY_AGGRO);
DoCast(me, SPELL_EARTH_SHIELD);
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_EREKEM_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_EREKEM_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
@@ -154,9 +154,9 @@ public:
//spam stormstrike in hc mode if spawns are dead
if (IsHeroic())
{
- if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_1)))
+ if (Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1)))
{
- if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_2)))
+ if (Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2)))
{
if (!pGuard1->IsAlive() && !pGuard2->IsAlive())
DoCastVictim(SPELL_STORMSTRIKE);
@@ -172,14 +172,14 @@ public:
if (uiChainHealTimer <= diff)
{
- if (uint64 TargetGUID = GetChainHealTargetGUID())
+ if (ObjectGuid TargetGUID = GetChainHealTargetGUID())
{
if (Creature* target = ObjectAccessor::GetCreature(*me, TargetGUID))
DoCast(target, SPELL_CHAIN_HEAL);
//If one of the adds is dead spawn heals faster
- Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_1));
- Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_2));
+ Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1));
+ Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2));
uiChainHealTimer = ((pGuard1 && !pGuard1->IsAlive()) || (pGuard2 && !pGuard2->IsAlive()) ? 3000 : 8000) + rand32() % 3000;
}
} else uiChainHealTimer -= diff;
@@ -230,20 +230,20 @@ public:
Talk(SAY_SLAY);
}
- uint64 GetChainHealTargetGUID()
+ ObjectGuid GetChainHealTargetGUID()
{
if (HealthBelowPct(85))
return me->GetGUID();
- Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_1));
+ Creature* pGuard1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_1));
if (pGuard1 && pGuard1->IsAlive() && !pGuard1->HealthAbovePct(75))
return pGuard1->GetGUID();
- Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EREKEM_GUARD_2));
+ Creature* pGuard2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EREKEM_GUARD_2));
if (pGuard2 && pGuard2->IsAlive() && !pGuard2->HealthAbovePct(75))
return pGuard2->GetGUID();
- return 0;
+ return ObjectGuid::Empty;
}
};
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index ba72f6f52ca..50a65920876 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -128,7 +128,7 @@ public:
DoCast(me, SPELL_PROTECTIVE_BUBBLE);
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ICHORON_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_ICHORON_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
@@ -227,7 +227,7 @@ public:
{
if (!bIsExploded)
{
- if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE, 0))
+ if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE))
{
Talk(SAY_SHATTER);
DoCast(me, SPELL_WATER_BLAST);
@@ -247,7 +247,7 @@ public:
bool bIsWaterElementsAlive = false;
if (!m_waterElements.empty())
{
- for (std::list<uint64>::const_iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
+ for (SummonList::const_iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
if (Creature* temp = ObjectAccessor::GetCreature(*me, *itr))
if (temp->IsAlive())
{
@@ -308,7 +308,7 @@ public:
summoned->SetSpeed(MOVE_RUN, 0.3f);
summoned->GetMotionMaster()->MoveFollow(me, 0, 0);
m_waterElements.Summon(summoned);
- instance->SetData64(DATA_ADD_TRASH_MOB, summoned->GetGUID());
+ instance->SetGuidData(DATA_ADD_TRASH_MOB, summoned->GetGUID());
}
}
@@ -317,7 +317,7 @@ public:
if (summoned)
{
m_waterElements.Despawn(summoned);
- instance->SetData64(DATA_DEL_TRASH_MOB, summoned->GetGUID());
+ instance->SetGuidData(DATA_DEL_TRASH_MOB, summoned->GetGUID());
}
}
@@ -374,7 +374,7 @@ public:
{
if (uiRangeCheck_Timer < uiDiff)
{
- if (Creature* pIchoron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ICHORON)))
+ if (Creature* pIchoron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ICHORON)))
{
if (me->IsWithinDist(pIchoron, 2.0f, false))
{
@@ -391,7 +391,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
DoCast(me, SPELL_SPLASH);
- if (Creature* pIchoron = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ICHORON)))
+ if (Creature* pIchoron = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ICHORON)))
if (pIchoron->AI())
pIchoron->AI()->DoAction(ACTION_WATER_ELEMENT_KILLED);
}
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index 3a08a4510ca..23c498a9dc1 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -44,9 +44,18 @@ public:
{
boss_lavanthorAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiFireboltTimer = 1000;
+ uiFlameBreathTimer = 5000;
+ uiLavaBurnTimer = 10000;
+ uiCauterizingFlamesTimer = 3000;
+ }
+
uint32 uiFireboltTimer;
uint32 uiFlameBreathTimer;
uint32 uiLavaBurnTimer;
@@ -56,10 +65,7 @@ public:
void Reset() override
{
- uiFireboltTimer = 1000;
- uiFlameBreathTimer = 5000;
- uiLavaBurnTimer = 10000;
- uiCauterizingFlamesTimer = 3000;
+ Initialize();
if (instance->GetData(DATA_WAVE_COUNT) == 6)
instance->SetData(DATA_1ST_BOSS_EVENT, NOT_STARTED);
else if (instance->GetData(DATA_WAVE_COUNT) == 12)
@@ -68,7 +74,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_LAVANTHOR_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_LAVANTHOR_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 12ace1b1c38..a9013333ef9 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -40,9 +40,16 @@ public:
{
boss_moraggAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiOpticLinkTimer = 10000;
+ uiCorrosiveSalivaTimer = 5000;
+ }
+
uint32 uiOpticLinkTimer;
uint32 uiCorrosiveSalivaTimer;
@@ -50,8 +57,7 @@ public:
void Reset() override
{
- uiOpticLinkTimer = 10000;
- uiCorrosiveSalivaTimer = 5000;
+ Initialize();
if (instance->GetData(DATA_WAVE_COUNT) == 6)
instance->SetData(DATA_1ST_BOSS_EVENT, NOT_STARTED);
@@ -61,7 +67,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_MORAGG_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_MORAGG_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 734c20000eb..d79e5525650 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -70,9 +70,17 @@ public:
{
boss_xevozzAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiSummonEtherealSphere_Timer = urand(10000, 12000);
+ uiArcaneBarrageVolley_Timer = urand(20000, 22000);
+ uiArcaneBuffet_Timer = uiSummonEtherealSphere_Timer + urand(5000, 6000);
+ }
+
InstanceScript* instance;
uint32 uiSummonEtherealSphere_Timer;
@@ -86,9 +94,7 @@ public:
else if (instance->GetData(DATA_WAVE_COUNT) == 12)
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- uiSummonEtherealSphere_Timer = urand(10000, 12000);
- uiArcaneBarrageVolley_Timer = urand(20000, 22000);
- uiArcaneBuffet_Timer = uiSummonEtherealSphere_Timer + urand(5000, 6000);
+ Initialize();
DespawnSphere();
}
@@ -134,7 +140,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_XEVOZZ_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_XEVOZZ_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
@@ -229,9 +235,16 @@ public:
{
npc_ethereal_sphereAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiSummonPlayers_Timer = urand(33000, 35000);
+ uiRangeCheck_Timer = 1000;
+ }
+
InstanceScript* instance;
uint32 uiSummonPlayers_Timer;
@@ -239,8 +252,7 @@ public:
void Reset() override
{
- uiSummonPlayers_Timer = urand(33000, 35000);
- uiRangeCheck_Timer = 1000;
+ Initialize();
}
void UpdateAI(uint32 uiDiff) override
@@ -254,7 +266,7 @@ public:
if (uiRangeCheck_Timer < uiDiff)
{
- if (Creature* pXevozz = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_XEVOZZ)))
+ if (Creature* pXevozz = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_XEVOZZ)))
{
float fDistance = me->GetDistance2d(pXevozz);
if (fDistance <= 3)
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index 7ae1c7840db..5854d242248 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -65,9 +65,18 @@ public:
{
boss_zuramatAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ SpellShroudOfDarknessTimer = 22000;
+ SpellVoidShiftTimer = 15000;
+ SpellSummonVoidTimer = 12000;
+ voidDance = true;
+ }
+
InstanceScript* instance;
uint32 SpellVoidShiftTimer;
@@ -82,10 +91,7 @@ public:
else if (instance->GetData(DATA_WAVE_COUNT) == 12)
instance->SetData(DATA_2ND_BOSS_EVENT, NOT_STARTED);
- SpellShroudOfDarknessTimer = 22000;
- SpellVoidShiftTimer = 15000;
- SpellSummonVoidTimer = 12000;
- voidDance = true;
+ Initialize();
}
void AttackStart(Unit* who) override
@@ -105,7 +111,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_AGGRO);
- if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetData64(DATA_ZURAMAT_CELL)))
+ if (GameObject* pDoor = instance->instance->GetGameObject(instance->GetGuidData(DATA_ZURAMAT_CELL)))
if (pDoor->GetGoState() == GO_STATE_READY)
{
EnterEvadeMode();
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 9c81e664fd4..cddf6ce3c25 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -114,35 +114,35 @@ public:
{
instance_violet_hold_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 uiMoragg;
- uint64 uiErekem;
- uint64 uiErekemGuard[2];
- uint64 uiIchoron;
- uint64 uiLavanthor;
- uint64 uiXevozz;
- uint64 uiZuramat;
- uint64 uiCyanigosa;
- uint64 uiSinclari;
-
- uint64 uiMoraggCell;
- uint64 uiErekemCell;
- uint64 uiErekemLeftGuardCell;
- uint64 uiErekemRightGuardCell;
- uint64 uiIchoronCell;
- uint64 uiLavanthorCell;
- uint64 uiXevozzCell;
- uint64 uiZuramatCell;
- uint64 uiMainDoor;
- uint64 uiTeleportationPortal;
- uint64 uiSaboteurPortal;
-
- uint64 uiActivationCrystal[4];
+ ObjectGuid uiMoragg;
+ ObjectGuid uiErekem;
+ ObjectGuid uiErekemGuard[2];
+ ObjectGuid uiIchoron;
+ ObjectGuid uiLavanthor;
+ ObjectGuid uiXevozz;
+ ObjectGuid uiZuramat;
+ ObjectGuid uiCyanigosa;
+ ObjectGuid uiSinclari;
+
+ ObjectGuid uiMoraggCell;
+ ObjectGuid uiErekemCell;
+ ObjectGuid uiErekemLeftGuardCell;
+ ObjectGuid uiErekemRightGuardCell;
+ ObjectGuid uiIchoronCell;
+ ObjectGuid uiLavanthorCell;
+ ObjectGuid uiXevozzCell;
+ ObjectGuid uiZuramatCell;
+ ObjectGuid uiMainDoor;
+ ObjectGuid uiTeleportationPortal;
+ ObjectGuid uiSaboteurPortal;
+
+ ObjectGuid uiActivationCrystal[4];
uint32 uiActivationTimer;
uint32 uiCyanigosaEventTimer;
uint32 uiDoorSpellTimer;
- std::set<uint64> trashMobs; // to kill with crystal
+ GuidSet trashMobs; // to kill with crystal
uint8 uiWaveCount;
uint8 uiLocation;
@@ -171,28 +171,6 @@ public:
void Initialize() override
{
SetHeaders(DataHeader);
- uiMoragg = 0;
- uiErekem = 0;
- uiIchoron = 0;
- uiLavanthor = 0;
- uiXevozz = 0;
- uiZuramat = 0;
- uiCyanigosa = 0;
- uiSinclari = 0;
-
- uiMoraggCell = 0;
- uiErekemCell = 0;
- uiErekemGuard[0] = 0;
- uiErekemGuard[1] = 0;
- uiIchoronCell = 0;
- uiLavanthorCell = 0;
- uiXevozzCell = 0;
- uiZuramatCell = 0;
- uiMainDoor = 0;
- uiTeleportationPortal = 0;
- uiSaboteurPortal = 0;
-
- trashMobs.clear();
uiRemoveNpc = 0;
@@ -266,11 +244,14 @@ public:
break;
}
+ /*
+ BEWARE - SHIT.
if (creature->GetGUID() == uiFirstBoss || creature->GetGUID() == uiSecondBoss)
{
creature->AllLootRemovedFromCorpse();
creature->RemoveLootMode(1);
}
+ */
}
void OnGameObjectCreate(GameObject* go) override
@@ -407,7 +388,7 @@ public:
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
switch (type)
{
@@ -441,7 +422,7 @@ public:
return 0;
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -468,7 +449,7 @@ public:
case DATA_SABOTEUR_PORTAL: return uiSaboteurPortal;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SpawnPortal()
@@ -813,8 +794,8 @@ public:
// visuals
trigger->CastSpell(trigger, spellInfoLightning, true, 0, 0, trigger->GetGUID());
- // Kill all mobs registered with SetData64(ADD_TRASH_MOB)
- for (std::set<uint64>::const_iterator itr = trashMobs.begin(); itr != trashMobs.end(); ++itr)
+ // Kill all mobs registered with SetGuidData(ADD_TRASH_MOB)
+ for (GuidSet::const_iterator itr = trashMobs.begin(); itr != trashMobs.end(); ++itr)
{
Creature* creature = instance->GetCreature(*itr);
if (creature && creature->IsAlive())
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 1c106f399de..a28442dc8dd 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -305,9 +305,16 @@ public:
{
npc_sinclariAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiPhase = 0;
+ uiTimer = 0;
+ }
+
InstanceScript* instance;
uint8 uiPhase;
@@ -315,8 +322,7 @@ public:
void Reset() override
{
- uiPhase = 0;
- uiTimer = 0;
+ Initialize();
me->SetReactState(REACT_AGGRESSIVE);
@@ -526,7 +532,7 @@ public:
{
me->CastSpell(me, SABOTEUR_SHIELD_DISRUPTION, false);
me->DisappearAndDie();
- Creature* pSaboPort = ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_SABOTEUR_PORTAL));
+ Creature* pSaboPort = ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_SABOTEUR_PORTAL));
if (pSaboPort)
pSaboPort->DisappearAndDie();
instance->SetData(DATA_START_BOSS_ENCOUNTER, 1);
@@ -549,8 +555,14 @@ public:
{
npc_teleportation_portalAI(Creature* creature) : ScriptedAI(creature), listOfMobs(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
uiTypeOfMobsPortal = urand(0, 1); // 0 - elite mobs 1 - portal guardian or portal keeper with regular mobs
+ }
+
+ void Initialize()
+ {
+ uiSpawnTimer = 10000;
bPortalGuardianOrKeeperOrEliteSpawn = false;
}
@@ -564,8 +576,7 @@ public:
void Reset() override
{
- uiSpawnTimer = 10000;
- bPortalGuardianOrKeeperOrEliteSpawn = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -653,13 +664,13 @@ public:
void JustSummoned(Creature* summoned) override
{
listOfMobs.Summon(summoned);
- instance->SetData64(DATA_ADD_TRASH_MOB, summoned->GetGUID());
+ instance->SetGuidData(DATA_ADD_TRASH_MOB, summoned->GetGUID());
}
void SummonedCreatureDies(Creature* summoned, Unit* /*killer*/) override
{
listOfMobs.Despawn(summoned);
- instance->SetData64(DATA_DEL_TRASH_MOB, summoned->GetGUID());
+ instance->SetGuidData(DATA_DEL_TRASH_MOB, summoned->GetGUID());
}
};
@@ -672,7 +683,7 @@ struct violet_hold_trashAI : public npc_escortAI
instance = creature->GetInstanceScript();
bHasGotMovingPoints = false;
portalLocationID = instance->GetData(DATA_PORTAL_LOCATION);
- Reset();
+ secondPortalRouteID = 0;
}
public:
@@ -797,9 +808,18 @@ public:
{
npc_azure_invaderAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiCleaveTimer = 5000;
+ uiImpaleTimer = 4000;
+ uiBrutalStrikeTimer = 5000;
+ uiSunderArmorTimer = 4000;
+ }
+
uint32 uiCleaveTimer;
uint32 uiImpaleTimer;
uint32 uiBrutalStrikeTimer;
@@ -807,10 +827,7 @@ public:
void Reset() override
{
- uiCleaveTimer = 5000;
- uiImpaleTimer = 4000;
- uiBrutalStrikeTimer = 5000;
- uiSunderArmorTimer = 4000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -875,9 +892,18 @@ public:
{
npc_azure_binderAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiArcaneExplosionTimer = 5000;
+ uiArcainBarrageTimer = 4000;
+ uiFrostNovaTimer = 5000;
+ uiFrostboltTimer = 4000;
+ }
+
uint32 uiArcaneExplosionTimer;
uint32 uiArcainBarrageTimer;
uint32 uiFrostNovaTimer;
@@ -885,10 +911,7 @@ public:
void Reset() override
{
- uiArcaneExplosionTimer = 5000;
- uiArcainBarrageTimer = 4000;
- uiFrostNovaTimer = 5000;
- uiFrostboltTimer = 4000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -953,16 +976,22 @@ public:
{
npc_azure_mage_slayerAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiArcaneEmpowermentTimer = 5000;
+ uiSpellLockTimer = 5000;
+ }
+
uint32 uiArcaneEmpowermentTimer;
uint32 uiSpellLockTimer;
void Reset() override
{
- uiArcaneEmpowermentTimer = 5000;
- uiSpellLockTimer = 5000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1013,16 +1042,22 @@ public:
{
npc_azure_raiderAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiConcussionBlowTimer = 5000;
+ uiMagicReflectionTimer = 8000;
+ }
+
uint32 uiConcussionBlowTimer;
uint32 uiMagicReflectionTimer;
void Reset() override
{
- uiConcussionBlowTimer = 5000;
- uiMagicReflectionTimer = 8000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1060,14 +1095,20 @@ public:
{
npc_azure_stalkerAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
_backstabTimer = 1300;
_tacticalBlinkTimer = 8000;
- _tacticalBlinkCast =false;
+ _tacticalBlinkCast = false;
+ }
+
+ void Reset() override
+ {
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1125,9 +1166,18 @@ public:
{
npc_azure_spellbreakerAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiArcaneBlastTimer = 5000;
+ uiSlowTimer = 4000;
+ uiChainsOfIceTimer = 5000;
+ uiConeOfColdTimer = 4000;
+ }
+
uint32 uiArcaneBlastTimer;
uint32 uiSlowTimer;
uint32 uiChainsOfIceTimer;
@@ -1135,10 +1185,7 @@ public:
void Reset() override
{
- uiArcaneBlastTimer = 5000;
- uiSlowTimer = 4000;
- uiChainsOfIceTimer = 5000;
- uiConeOfColdTimer = 4000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1209,16 +1256,22 @@ public:
{
npc_azure_captainAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiMortalStrikeTimer = 5000;
+ uiWhirlwindTimer = 8000;
+ }
+
uint32 uiMortalStrikeTimer;
uint32 uiWhirlwindTimer;
void Reset() override
{
- uiMortalStrikeTimer = 5000;
- uiWhirlwindTimer = 8000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1261,18 +1314,24 @@ public:
{
npc_azure_sorcerorAI(Creature* creature) : violet_hold_trashAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ uiArcaneStreamTimer = 4000;
+ uiArcaneStreamTimerStartingValueHolder = uiArcaneStreamTimer;
+ uiManaDetonationTimer = 5000;
+ }
+
uint32 uiArcaneStreamTimer;
uint32 uiArcaneStreamTimerStartingValueHolder;
uint32 uiManaDetonationTimer;
void Reset() override
{
- uiArcaneStreamTimer = 4000;
- uiArcaneStreamTimerStartingValueHolder = uiArcaneStreamTimer;
- uiManaDetonationTimer = 5000;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -1311,13 +1370,21 @@ public:
struct npc_violet_hold_arcane_sphereAI : public ScriptedAI
{
- npc_violet_hold_arcane_sphereAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_violet_hold_arcane_sphereAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ DespawnTimer = 3000;
+ }
uint32 DespawnTimer;
void Reset() override
{
- DespawnTimer = 3000;
+ Initialize();
me->SetDisableGravity(true);
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index f02edbb5584..7824fe86c87 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -71,13 +71,13 @@ public:
uint32 phaseTimer;
uint8 phase;
- uint64 casterGuid;
+ ObjectGuid casterGuid;
void Reset() override
{
phaseTimer = 500;
phase = 0;
- casterGuid = 0;
+ casterGuid.Clear();
}
void SpellHit(Unit* caster, const SpellInfo* spell) override
@@ -391,7 +391,7 @@ public:
if (uiRand < 25)
{
player->CastSpell(me, SPELL_FREED_WARSONG_PEON, true);
- player->KilledMonsterCredit(NPC_WARSONG_PEON, 0);
+ player->KilledMonsterCredit(NPC_WARSONG_PEON);
}
else if (uiRand < 75)
player->CastSpell(me, nerubarVictims[urand(0, 2)], true);
@@ -449,7 +449,7 @@ public:
{
npc_nesingwary_trapperAI(Creature* creature) : ScriptedAI(creature) { creature->SetVisible(false); }
- uint64 go_caribouGUID;
+ ObjectGuid go_caribouGUID;
uint8 phase;
uint32 phaseTimer;
@@ -458,7 +458,7 @@ public:
me->SetVisible(false);
phaseTimer = 2500;
phase = 1;
- go_caribouGUID = 0;
+ go_caribouGUID.Clear();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -474,7 +474,7 @@ public:
if (summon->IsSummon())
if (Unit* temp = summon->GetSummoner())
if (Player* player = temp->ToPlayer())
- player->KilledMonsterCredit(me->GetEntry(), 0);
+ player->KilledMonsterCredit(me->GetEntry());
if (GameObject* go_caribou = me->GetMap()->GetGameObject(go_caribouGUID))
go_caribou->SetGoState(GO_STATE_READY);
@@ -723,10 +723,9 @@ public:
{
npc_nexus_drake_hatchlingAI(Creature* creature) : FollowerAI(creature)
{
- HarpoonerGUID = 0;
}
- uint64 HarpoonerGUID;
+ ObjectGuid HarpoonerGUID;
bool WithRedDragonBlood;
void Reset() override
@@ -764,10 +763,10 @@ public:
{
if (Player* pHarpooner = ObjectAccessor::GetPlayer(*me, HarpoonerGUID))
{
- pHarpooner->KilledMonsterCredit(26175, 0);
+ pHarpooner->KilledMonsterCredit(26175);
pHarpooner->RemoveAura(SPELL_DRAKE_HATCHLING_SUBDUED);
SetFollowComplete();
- HarpoonerGUID = 0;
+ HarpoonerGUID.Clear();
me->DisappearAndDie();
}
}
@@ -793,7 +792,7 @@ public:
if ((me->getFaction() == 35) && (!me->HasAura(SPELL_SUBDUED)))
{
- HarpoonerGUID = 0;
+ HarpoonerGUID.Clear();
me->DisappearAndDie();
}
@@ -865,10 +864,10 @@ public:
{
npc_thassarianAI(Creature* creature) : npc_escortAI(creature) { }
- uint64 arthasGUID;
- uint64 talbotGUID;
- uint64 leryssaGUID;
- uint64 arlosGUID;
+ ObjectGuid arthasGUID;
+ ObjectGuid talbotGUID;
+ ObjectGuid leryssaGUID;
+ ObjectGuid arlosGUID;
bool arthasInPosition;
bool arlosInPosition;
@@ -883,10 +882,10 @@ public:
me->RestoreFaction();
me->RemoveStandFlags(UNIT_STAND_STATE_SIT);
- arthasGUID = 0;
- talbotGUID = 0;
- leryssaGUID = 0;
- arlosGUID = 0;
+ arthasGUID.Clear();
+ talbotGUID.Clear();
+ leryssaGUID.Clear();
+ arlosGUID.Clear();
arthasInPosition = false;
arlosInPosition = false;
@@ -1242,8 +1241,8 @@ public:
{
npc_counselor_talbotAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 leryssaGUID;
- uint64 arlosGUID;
+ ObjectGuid leryssaGUID;
+ ObjectGuid arlosGUID;
bool bCheck;
@@ -1253,8 +1252,8 @@ public:
void Reset() override
{
- leryssaGUID = 0;
- arlosGUID = 0;
+ leryssaGUID.Clear();
+ arlosGUID.Clear();
bCheck = false;
shadowBoltTimer = urand(5000, 12000);
deflectionTimer = urand(20000, 25000);
@@ -1609,15 +1608,11 @@ public:
void SpellHit(Unit* unit, const SpellInfo* spell) override
{
if (spell->Id == SPELL_NEURAL_NEEDLE && unit->GetTypeId() == TYPEID_PLAYER)
- {
if (Player* player = unit->ToPlayer())
- {
GotStinged(player->GetGUID());
- }
- }
}
- void GotStinged(uint64 casterGUID)
+ void GotStinged(ObjectGuid casterGUID)
{
if (Player* caster = ObjectAccessor::GetPlayer(*me, casterGUID))
{
@@ -1644,7 +1639,7 @@ public:
break;
case 7:
Talk(SAY_IMPRISIONED_BERYL_7);
- caster->KilledMonsterCredit(NPC_IMPRISONED_BERYL_SORCERER, 0);
+ caster->KilledMonsterCredit(NPC_IMPRISONED_BERYL_SORCERER);
break;
}
}
@@ -1980,7 +1975,7 @@ public:
{
Quest const* qInfo = sObjectMgr->GetQuestTemplate(QUEST_YOU_RE_NOT_SO_BIG_NOW);
if (qInfo)
- player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0], 0);
+ player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0]);
}
}
};
@@ -2195,7 +2190,7 @@ public:
uint32 uiEventTimer;
uint8 uiEventPhase;
- uint64 uiPlayerGUID;
+ ObjectGuid uiPlayerGUID;
void Reset() override
{
@@ -2208,7 +2203,7 @@ public:
uiEventTimer = 0;
uiEventPhase = 0;
- uiPlayerGUID = 0;
+ uiPlayerGUID.Clear();
DoCast(SPELL_SHROUD_OF_THE_DEATH_CULTIST);
@@ -2225,7 +2220,7 @@ public:
uiEventPhase = 1;
}
- void SetGUID(uint64 uiGuid, int32 /*iId*/) override
+ void SetGUID(ObjectGuid uiGuid, int32 /*iId*/) override
{
uiPlayerGUID = uiGuid;
}
diff --git a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
index 7d680ecd071..9cad60f8766 100644
--- a/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
+++ b/src/server/scripts/Northrend/zone_crystalsong_forest.cpp
@@ -56,11 +56,11 @@ public:
SetCombatMovement(false);
}
- uint64 targetGUID;
+ ObjectGuid targetGUID;
void Reset() override
{
- targetGUID = 0;
+ targetGUID.Clear();
}
void UpdateAI(uint32 /*diff*/) override
diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp
index 80e496a6e13..eff84365f63 100644
--- a/src/server/scripts/Northrend/zone_dragonblight.cpp
+++ b/src/server/scripts/Northrend/zone_dragonblight.cpp
@@ -158,8 +158,12 @@ class npc_commander_eligor_dawnbringer : public CreatureScript
void Reset() override
{
talkWing = 0;
- memset(audienceList, 0, sizeof(audienceList));
- memset(imageList, 0, sizeof(imageList));
+ for (ObjectGuid& guid : audienceList)
+ guid.Clear();
+
+ for (ObjectGuid& guid : imageList)
+ guid.Clear();
+
_events.ScheduleEvent(EVENT_GET_TARGETS, 5000);
_events.ScheduleEvent(EVENT_START_RANDOM, 20000);
}
@@ -351,8 +355,8 @@ class npc_commander_eligor_dawnbringer : public CreatureScript
}
private:
EventMap _events;
- uint64 audienceList[10];
- uint64 imageList[5];
+ ObjectGuid audienceList[10];
+ ObjectGuid imageList[5];
uint8 talkWing;
};
@@ -561,7 +565,18 @@ class npc_wyrmrest_defender : public CreatureScript
struct npc_wyrmrest_defenderAI : public VehicleAI
{
- npc_wyrmrest_defenderAI(Creature* creature) : VehicleAI(creature) { }
+ npc_wyrmrest_defenderAI(Creature* creature) : VehicleAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ hpWarningReady = true;
+ renewRecoveryCanCheck = false;
+
+ RenewRecoveryChecker = 0;
+ }
bool hpWarningReady;
bool renewRecoveryCanCheck;
@@ -570,10 +585,7 @@ class npc_wyrmrest_defender : public CreatureScript
void Reset() override
{
- hpWarningReady = true;
- renewRecoveryCanCheck = false;
-
- RenewRecoveryChecker = 0;
+ Initialize();
}
void UpdateAI(uint32 diff) override
@@ -652,13 +664,12 @@ class npc_torturer_lecraft : public CreatureScript
npc_torturer_lecraftAI(Creature* creature) : ScriptedAI(creature)
{
_textCounter = 1;
- _playerGUID = 0;
}
void Reset() override
{
_textCounter = 1;
- _playerGUID = 0;
+ _playerGUID.Clear();
}
void EnterCombat(Unit* who) override
@@ -686,7 +697,7 @@ class npc_torturer_lecraft : public CreatureScript
Talk(_textCounter, player);
if (_textCounter == 5)
- player->KilledMonsterCredit(NPC_TORTURER_LECRAFT, 0);
+ player->KilledMonsterCredit(NPC_TORTURER_LECRAFT);
++_textCounter;
@@ -723,7 +734,7 @@ class npc_torturer_lecraft : public CreatureScript
private:
EventMap _events;
uint8 _textCounter;
- uint64 _playerGUID;
+ ObjectGuid _playerGUID;
};
CreatureAI* GetAI(Creature* creature) const
diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
index 6d41a2e9b21..e60c2162339 100644
--- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp
@@ -116,7 +116,7 @@ public:
case 19:
if (Creature* Mrfloppy = ObjectAccessor::GetCreature(*me, _mrfloppyGUID))
{
- if (Mrfloppy->HasAura(SPELL_MRFLOPPY, 0))
+ if (Mrfloppy->HasAura(SPELL_MRFLOPPY))
{
if (Creature* RWORG = ObjectAccessor::GetCreature(*me, _RavenousworgGUID))
Mrfloppy->EnterVehicle(RWORG);
@@ -180,13 +180,13 @@ public:
void Reset() override
{
- _mrfloppyGUID = 0;
- _RavenousworgGUID = 0;
+ _mrfloppyGUID.Clear();
+ _RavenousworgGUID.Clear();
}
private:
- uint64 _RavenousworgGUID;
- uint64 _mrfloppyGUID;
+ ObjectGuid _RavenousworgGUID;
+ ObjectGuid _mrfloppyGUID;
};
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
@@ -464,7 +464,6 @@ public:
void Reset() override
{
_despawnTimer = 5000;
- _playerGUID = 0;
}
void MovementInform(uint32, uint32 id) override
@@ -498,7 +497,6 @@ public:
DoMeleeAttackIfReady();
}
private:
- uint64 _playerGUID;
uint32 _despawnTimer;
};
@@ -542,7 +540,7 @@ public:
void Reset() override
{
- _playerGUID = 0;
+ _playerGUID.Clear();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
@@ -604,7 +602,7 @@ public:
private:
EventMap _events;
- uint64 _playerGUID;
+ ObjectGuid _playerGUID;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp
index 96fdcbfe990..53dc2a62f90 100644
--- a/src/server/scripts/Northrend/zone_howling_fjord.cpp
+++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp
@@ -179,7 +179,7 @@ public:
void Reset() override
{
- uint64 summonerGUID = 0;
+ ObjectGuid summonerGUID;
if (me->IsSummon())
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
@@ -321,15 +321,15 @@ public:
npc_daegarnAI(Creature* creature) : ScriptedAI(creature) { }
bool bEventInProgress;
- uint64 uiPlayerGUID;
+ ObjectGuid uiPlayerGUID;
void Reset() override
{
bEventInProgress = false;
- uiPlayerGUID = 0;
+ uiPlayerGUID.Clear();
}
- void StartEvent(uint64 uiGUID)
+ void StartEvent(ObjectGuid uiGUID)
{
if (bEventInProgress)
return;
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index 32b9805470e..7436ac8400f 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -91,17 +91,23 @@ public:
{
npc_argent_valiantAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
creature->GetMotionMaster()->MovePoint(0, 8599.258f, 963.951f, 547.553f);
creature->setFaction(35); //wrong faction in db?
}
+ void Initialize()
+ {
+ uiChargeTimer = 7000;
+ uiShieldBreakerTimer = 10000;
+ }
+
uint32 uiChargeTimer;
uint32 uiShieldBreakerTimer;
void Reset() override
{
- uiChargeTimer = 7000;
- uiShieldBreakerTimer = 10000;
+ Initialize();
}
void MovementInform(uint32 uiType, uint32 /*uiId*/) override
@@ -234,7 +240,7 @@ public:
{
if (who->HasAura(SPELL_SUBDUED_LITHE_STALKER))
{
- owner->ToPlayer()->KilledMonsterCredit(NPC_GEIST_RETURN_BUNNY_KC, 0);
+ owner->ToPlayer()->KilledMonsterCredit(NPC_GEIST_RETURN_BUNNY_KC);
who->ToCreature()->DisappearAndDie();
}
@@ -285,9 +291,15 @@ class npc_tournament_training_dummy : public CreatureScript
{
npc_tournament_training_dummyAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
SetCombatMovement(false);
}
+ void Initialize()
+ {
+ isVulnerable = false;
+ }
+
EventMap events;
bool isVulnerable;
@@ -295,7 +307,7 @@ class npc_tournament_training_dummy : public CreatureScript
{
me->SetControlled(true, UNIT_STATE_STUNNED);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
- isVulnerable = false;
+ Initialize();
// Cast Defend spells to max stack size
switch (me->GetEntry())
@@ -505,7 +517,6 @@ public:
{
HalofSpawned = false;
PhaseCount = 0;
- Summons.DespawnAll();
SetCombatMovement(false);
}
@@ -518,10 +529,10 @@ public:
SummonList Summons;
- uint64 guidDalfors;
- uint64 guidPriest[3];
- uint64 guidMason[3];
- uint64 guidHalof;
+ ObjectGuid guidDalfors;
+ ObjectGuid guidPriest[3];
+ ObjectGuid guidMason[3];
+ ObjectGuid guidHalof;
void Reset() override
{
@@ -912,7 +923,7 @@ class npc_margrave_dhakar : public CreatureScript
struct npc_margrave_dhakarAI : public ScriptedAI
{
- npc_margrave_dhakarAI(Creature* creature) : ScriptedAI(creature) , _summons(me), _lichKingGuid(0) { }
+ npc_margrave_dhakarAI(Creature* creature) : ScriptedAI(creature) , _summons(me) { }
void Reset() override
{
@@ -1026,7 +1037,7 @@ class npc_margrave_dhakar : public CreatureScript
private:
EventMap _events;
SummonList _summons;
- uint64 _lichKingGuid;
+ ObjectGuid _lichKingGuid;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index a4d6ab31846..f4275121101 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -229,7 +229,15 @@ public:
struct npc_engineer_heliceAI : public npc_escortAI
{
- npc_engineer_heliceAI(Creature* creature) : npc_escortAI(creature) { }
+ npc_engineer_heliceAI(Creature* creature) : npc_escortAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ m_uiChatTimer = 4000;
+ }
uint32 m_uiChatTimer;
@@ -274,7 +282,7 @@ public:
void Reset() override
{
- m_uiChatTimer = 4000;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
@@ -366,16 +374,24 @@ public:
struct npc_jungle_punch_targetAI : public ScriptedAI
{
- npc_jungle_punch_targetAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_jungle_punch_targetAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
sayTimer = 3500;
sayStep = 0;
timer = 0;
phase = 0;
- playerGUID = 0;
- orphanGUID = 0;
+ playerGUID.Clear();
+ orphanGUID.Clear();
+ }
+
+ void Reset() override
+ {
+ Initialize();
}
void MoveInLineOfSight(Unit* who) override
@@ -489,7 +505,7 @@ public:
if (itr->second.CreatureOrGOCount[i] != 0)
continue;
- player->KilledMonsterCredit(me->GetEntry(), 0);
+ player->KilledMonsterCredit(me->GetEntry());
player->Say(SAY_OFFER, LANG_UNIVERSAL);
sayStep = 1;
break;
@@ -501,8 +517,8 @@ public:
uint8 sayStep;
uint32 timer;
int8 phase;
- uint64 playerGUID;
- uint64 orphanGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid orphanGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -783,7 +799,7 @@ public:
apple->CastSpell(apple, SPELL_APPLE_FALL);
wilhelm->AI()->Talk(SAY_WILHELM_HIT);
if (Player* player = shooter->ToPlayer())
- player->KilledMonsterCredit(NPC_APPLE, 0);
+ player->KilledMonsterCredit(NPC_APPLE);
apple->DespawnOrUnsummon();
break;
@@ -977,15 +993,15 @@ public:
void HandleScript(SpellEffIndex /*effIndex*/)
{
- if (Player* player = GetHitUnit()->ToPlayer())
+ if (Unit* target = GetHitUnit())
{
switch (GetSpellInfo()->Id)
{
case SPELL_CORRECT_TRACKS:
- player->MonsterSay(sObjectMgr->GetTrinityStringForDBCLocale(SAY_CORRECT_TRACKS), LANG_UNIVERSAL, player);
+ target->Say(SAY_CORRECT_TRACKS, target);
break;
case SPELL_INCORRECT_TRACKS:
- player->MonsterSay(sObjectMgr->GetTrinityStringForDBCLocale(SAY_INCORRECT_TRACKS), LANG_UNIVERSAL, player);
+ target->Say(SAY_INCORRECT_TRACKS, target);
break;
default:
break;
diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp
index cfee2e0f187..e4cff7323b1 100644
--- a/src/server/scripts/Northrend/zone_storm_peaks.cpp
+++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp
@@ -179,13 +179,21 @@ public:
struct npc_brunnhildar_prisonerAI : public ScriptedAI
{
- npc_brunnhildar_prisonerAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_brunnhildar_prisonerAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ freed = false;
+ }
bool freed;
void Reset() override
{
- freed = false;
+ Initialize();
me->CastSpell(me, SPELL_ICE_PRISON, true);
}
@@ -454,17 +462,16 @@ public:
{
npc_brann_bronzebeard_keystoneAI(Creature* creature) : ScriptedAI(creature)
{
- memset(&objectGUID, 0, sizeof(objectGUID));
- playerGUID = 0;
- voiceGUID = 0;
objectCounter = 0;
}
void Reset() override
{
- memset(&objectGUID, 0, sizeof(objectGUID));
- playerGUID = 0;
- voiceGUID = 0;
+ for (ObjectGuid& guid : objectGUID)
+ guid.Clear();
+
+ playerGUID.Clear();
+ voiceGUID.Clear();
objectCounter = 0;
}
@@ -583,9 +590,9 @@ public:
private:
EventMap events;
- uint64 playerGUID;
- uint64 objectGUID[5];
- uint64 voiceGUID;
+ ObjectGuid playerGUID;
+ ObjectGuid objectGUID[5];
+ ObjectGuid voiceGUID;
uint8 objectCounter;
};
@@ -643,13 +650,12 @@ public:
{
npc_king_jokkum_vehicleAI(Creature* creature) : VehicleAI(creature)
{
- playerGUID = 0;
pathEnd = false;
}
void Reset() override
{
- playerGUID = 0;
+ playerGUID.Clear();
pathEnd = false;
}
@@ -715,7 +721,7 @@ public:
private:
EventMap events;
- uint64 playerGUID;
+ ObjectGuid playerGUID;
bool pathEnd;
};
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index fe74997bb39..b0059de7e27 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -198,7 +198,7 @@ class npc_wg_spirit_guide : public CreatureScript
GraveyardVect graveyard = wintergrasp->GetGraveyardVector();
for (uint8 i = 0; i < graveyard.size(); i++)
if (graveyard[i]->GetControlTeamId() == player->GetTeamId())
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, sObjectMgr->GetTrinityStringForDBCLocale(((BfGraveyardWG*)graveyard[i])->GetTextId()), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + i);
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, player->GetSession()->GetTrinityString(((BfGraveyardWG*)graveyard[i])->GetTextId()), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + i);
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
return true;
@@ -292,7 +292,7 @@ class npc_wg_queue : public CreatureScript
if (wintergrasp->IsWarTime())
{
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, sObjectMgr->GetTrinityStringForDBCLocale(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, player->GetSession()->GetTrinityString(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_WAR : WG_NPCQUEUE_TEXT_A_WAR, creature->GetGUID());
}
else
@@ -301,7 +301,7 @@ class npc_wg_queue : public CreatureScript
player->SendUpdateWorldState(4354, time(NULL) + timer);
if (timer < 15 * MINUTE)
{
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, sObjectMgr->GetTrinityStringForDBCLocale(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, player->GetSession()->GetTrinityString(WG_NPCQUEUE_TEXTOPTION_JOIN), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_QUEUE : WG_NPCQUEUE_TEXT_A_QUEUE, creature->GetGUID());
}
else
diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp
index 2e75b10c0e8..44f559bfa79 100644
--- a/src/server/scripts/Northrend/zone_zuldrak.cpp
+++ b/src/server/scripts/Northrend/zone_zuldrak.cpp
@@ -51,7 +51,7 @@ public:
void Reset() override
{
- _rageclawGUID = 0;
+ _rageclawGUID.Clear();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
float x, y, z;
@@ -104,7 +104,7 @@ public:
}
private:
- uint64 _rageclawGUID;
+ ObjectGuid _rageclawGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -455,13 +455,12 @@ public:
{
npc_alchemist_finklesteinAI(Creature* creature) : ScriptedAI(creature)
{
- _playerGUID = 0;
_getingredienttry = 0;
}
void Reset() override
{
- _playerGUID = 0;
+ _playerGUID.Clear();
_getingredienttry = 0;
_events.ScheduleEvent(EVENT_TURN_TO_POT, urand(15000, 26000));
}
@@ -556,7 +555,7 @@ public:
private:
EventMap _events;
- uint64 _playerGUID;
+ ObjectGuid _playerGUID;
uint8 _getingredienttry;
};
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
index 4fb84fa0759..4431a924ac6 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
@@ -85,7 +85,7 @@ void OPvPCapturePointEP_EWT::ChangeState()
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_EWT_CM, 0);
+ SendObjectiveComplete(EP_EWT_CM, ObjectGuid::Empty);
}
void OPvPCapturePointEP_EWT::FillInitialWorldStates(WorldPacket &data)
@@ -195,7 +195,7 @@ void OPvPCapturePointEP_NPT::ChangeState()
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_NPT_CM, 0);
+ SendObjectiveComplete(EP_NPT_CM, ObjectGuid::Empty);
}
void OPvPCapturePointEP_NPT::FillInitialWorldStates(WorldPacket &data)
@@ -289,7 +289,7 @@ void OPvPCapturePointEP_CGT::ChangeState()
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_CGT_CM, 0);
+ SendObjectiveComplete(EP_CGT_CM, ObjectGuid::Empty);
}
void OPvPCapturePointEP_CGT::FillInitialWorldStates(WorldPacket &data)
@@ -390,7 +390,7 @@ void OPvPCapturePointEP_PWT::ChangeState()
// complete quest objective
if (m_TowerState == EP_TS_A || m_TowerState == EP_TS_H)
- SendObjectiveComplete(EP_PWT_CM, 0);
+ SendObjectiveComplete(EP_PWT_CM, ObjectGuid::Empty);
}
void OPvPCapturePointEP_PWT::FillInitialWorldStates(WorldPacket &data)
@@ -537,7 +537,7 @@ void OutdoorPvPEP::HandlePlayerLeaveZone(Player* player, uint32 zone)
void OutdoorPvPEP::BuffTeams()
{
- for (PlayerSet::iterator itr = m_players[0].begin(); itr != m_players[0].end(); ++itr)
+ for (GuidSet::iterator itr = m_players[0].begin(); itr != m_players[0].end(); ++itr)
{
if (Player* player = ObjectAccessor::FindPlayer(*itr))
{
@@ -547,7 +547,7 @@ void OutdoorPvPEP::BuffTeams()
player->CastSpell(player, EP_AllianceBuffs[m_AllianceTowersControlled-1], true);
}
}
- for (PlayerSet::iterator itr = m_players[1].begin(); itr != m_players[1].end(); ++itr)
+ for (GuidSet::iterator itr = m_players[1].begin(); itr != m_players[1].end(); ++itr)
{
if (Player* player = ObjectAccessor::FindPlayer(*itr))
{
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
index b3492b8334b..252a2cc8e85 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPHP.cpp
@@ -255,7 +255,7 @@ void OPvPCapturePointHP::ChangeState()
// complete quest objective
if (m_State == OBJECTIVESTATE_ALLIANCE || m_State == OBJECTIVESTATE_HORDE)
- SendObjectiveComplete(HP_CREDITMARKER[m_TowerType], 0);
+ SendObjectiveComplete(HP_CREDITMARKER[m_TowerType], ObjectGuid::Empty);
}
void OPvPCapturePointHP::FillInitialWorldStates(WorldPacket &data)
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
index 1b4828dec51..b16ced348ec 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
@@ -32,7 +32,7 @@ void OutdoorPvPNA::HandleKillImpl(Player* player, Unit* killed)
{
if (killed->GetTypeId() == TYPEID_PLAYER && player->GetTeam() != killed->ToPlayer()->GetTeam())
{
- player->KilledMonsterCredit(NA_CREDIT_MARKER, 0); // 0 guid, btw it isn't even used in killedmonster function :S
+ player->KilledMonsterCredit(NA_CREDIT_MARKER); // 0 guid, btw it isn't even used in killedmonster function :S
if (player->GetTeam() == ALLIANCE)
player->CastSpell(player, NA_KILL_TOKEN_ALLIANCE, true);
else
@@ -43,7 +43,7 @@ void OutdoorPvPNA::HandleKillImpl(Player* player, Unit* killed)
uint32 OPvPCapturePointNA::GetAliveGuardsCount()
{
uint32 cnt = 0;
- for (std::map<uint32, uint64>::iterator itr = m_Creatures.begin(); itr != m_Creatures.end(); ++itr)
+ for (std::map<uint32, ObjectGuid>::iterator itr = m_Creatures.begin(); itr != m_Creatures.end(); ++itr)
{
switch (itr->first)
{
@@ -372,7 +372,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO
return false;
}
-int32 OPvPCapturePointNA::HandleOpenGo(Player* player, uint64 guid)
+int32 OPvPCapturePointNA::HandleOpenGo(Player* player, ObjectGuid guid)
{
int32 retval = OPvPCapturePoint::HandleOpenGo(player, guid);
if (retval >= 0)
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
index aa52c8135e7..8d327da4b0f 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
@@ -269,7 +269,7 @@ class OPvPCapturePointNA : public OPvPCapturePoint
bool HandleCustomSpell(Player* player, uint32 spellId, GameObject* go);
- int32 HandleOpenGo(Player* player, uint64 guid);
+ int32 HandleOpenGo(Player* player, ObjectGuid guid) override;
uint32 GetAliveGuardsCount();
uint32 GetControllingFaction() const;
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
index 539f54ab421..cb4a7aebc3d 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
@@ -109,7 +109,7 @@ bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger)
// add 20 cenarion circle repu
player->GetReputationMgr().ModifyReputation(sFactionStore.LookupEntry(609), 20);
// complete quest
- player->KilledMonsterCredit(SI_TURNIN_QUEST_CM_A, 0);
+ player->KilledMonsterCredit(SI_TURNIN_QUEST_CM_A);
}
return true;
case SI_AREATRIGGER_H:
@@ -135,7 +135,7 @@ bool OutdoorPvPSI::HandleAreaTrigger(Player* player, uint32 trigger)
// add 20 cenarion circle repu
player->GetReputationMgr().ModifyReputation(sFactionStore.LookupEntry(609), 20);
// complete quest
- player->KilledMonsterCredit(SI_TURNIN_QUEST_CM_H, 0);
+ player->KilledMonsterCredit(SI_TURNIN_QUEST_CM_H);
}
return true;
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
index e089dfdb7d5..476abe012ce 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPTF.cpp
@@ -281,7 +281,7 @@ void OPvPCapturePointTF::ChangeState()
m_PvP->SendDefenseMessage(OutdoorPvPTFBuffZones[0], TEXT_SPIRIT_TOWER_TAKEN_ALLIANCE);
- for (PlayerSet::iterator itr = m_activePlayers[0].begin(); itr != m_activePlayers[0].end(); ++itr)
+ for (GuidSet::iterator itr = m_activePlayers[0].begin(); itr != m_activePlayers[0].end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer(*itr))
player->AreaExploredOrEventHappens(TF_ALLY_QUEST);
break;
@@ -296,7 +296,7 @@ void OPvPCapturePointTF::ChangeState()
m_PvP->SendDefenseMessage(OutdoorPvPTFBuffZones[0], TEXT_SPIRIT_TOWER_TAKEN_HORDE);
- for (PlayerSet::iterator itr = m_activePlayers[1].begin(); itr != m_activePlayers[1].end(); ++itr)
+ for (GuidSet::iterator itr = m_activePlayers[1].begin(); itr != m_activePlayers[1].end(); ++itr)
if (Player* player = ObjectAccessor::FindPlayer(*itr))
player->AreaExploredOrEventHappens(TF_HORDE_QUEST);
break;
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
index d6ee91ff2a9..89012b56b82 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
@@ -181,7 +181,7 @@ bool OPvPCapturePointZM_GraveYard::Update(uint32 /*diff*/)
return retval;
}
-int32 OPvPCapturePointZM_GraveYard::HandleOpenGo(Player* player, uint64 guid)
+int32 OPvPCapturePointZM_GraveYard::HandleOpenGo(Player* player, ObjectGuid guid)
{
int32 retval = OPvPCapturePoint::HandleOpenGo(player, guid);
if (retval >= 0)
@@ -218,7 +218,7 @@ OPvPCapturePointZM_GraveYard::OPvPCapturePointZM_GraveYard(OutdoorPvP* pvp)
{
m_BothControllingFaction = 0;
m_GraveYardState = ZM_GRAVEYARD_N;
- m_FlagCarrierGUID = 0;
+ m_FlagCarrierGUID.Clear();
// add field scouts here
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);
@@ -286,7 +286,7 @@ void OPvPCapturePointZM_GraveYard::SetBeaconState(uint32 controlling_faction)
p->RemoveAurasDueToSpell(ZM_BATTLE_STANDARD_A);
p->RemoveAurasDueToSpell(ZM_BATTLE_STANDARD_H);
}
- m_FlagCarrierGUID = 0;
+ m_FlagCarrierGUID.Clear();
}
}
break;
@@ -297,8 +297,8 @@ void OPvPCapturePointZM_GraveYard::SetBeaconState(uint32 controlling_faction)
bool OPvPCapturePointZM_GraveYard::CanTalkTo(Player* player, Creature* c, GossipMenuItems const& /*gso*/)
{
- uint64 guid = c->GetGUID();
- std::map<uint64, uint32>::iterator itr = m_CreatureTypes.find(guid);
+ ObjectGuid guid = c->GetGUID();
+ std::map<ObjectGuid, uint32>::iterator itr = m_CreatureTypes.find(guid);
if (itr != m_CreatureTypes.end())
{
if (itr->second == ZM_ALLIANCE_FIELD_SCOUT && player->GetTeam() == ALLIANCE && m_BothControllingFaction == ALLIANCE && !m_FlagCarrierGUID && m_GraveYardState != ZM_GRAVEYARD_A)
@@ -309,9 +309,9 @@ bool OPvPCapturePointZM_GraveYard::CanTalkTo(Player* player, Creature* c, Gossip
return false;
}
-bool OPvPCapturePointZM_GraveYard::HandleGossipOption(Player* player, uint64 guid, uint32 /*gossipid*/)
+bool OPvPCapturePointZM_GraveYard::HandleGossipOption(Player* player, ObjectGuid guid, uint32 /*gossipid*/)
{
- std::map<uint64, uint32>::iterator itr = m_CreatureTypes.find(guid);
+ std::map<ObjectGuid, uint32>::iterator itr = m_CreatureTypes.find(guid);
if (itr != m_CreatureTypes.end())
{
Creature* cr = HashMapHolder<Creature>::Find(guid);
@@ -342,10 +342,10 @@ bool OPvPCapturePointZM_GraveYard::HandleDropFlag(Player* /*player*/, uint32 spe
switch (spellId)
{
case ZM_BATTLE_STANDARD_A:
- m_FlagCarrierGUID = 0;
+ m_FlagCarrierGUID.Clear();
return true;
case ZM_BATTLE_STANDARD_H:
- m_FlagCarrierGUID = 0;
+ m_FlagCarrierGUID.Clear();
return true;
}
return false;
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
index eef1ff9cc3b..5910a88f476 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
@@ -192,11 +192,11 @@ class OPvPCapturePointZM_GraveYard : public OPvPCapturePoint
void UpdateTowerState();
- int32 HandleOpenGo(Player* player, uint64 guid);
+ int32 HandleOpenGo(Player* player, ObjectGuid guid) override;
void SetBeaconState(uint32 controlling_team); // not good atm
- bool HandleGossipOption(Player* player, uint64 guid, uint32 gossipid);
+ bool HandleGossipOption(Player* player, ObjectGuid guid, uint32 gossipid);
bool HandleDropFlag(Player* player, uint32 spellId);
@@ -210,7 +210,7 @@ class OPvPCapturePointZM_GraveYard : public OPvPCapturePoint
protected:
uint32 m_BothControllingFaction;
- uint64 m_FlagCarrierGUID;
+ ObjectGuid m_FlagCarrierGUID;
};
class OutdoorPvPZM : public OutdoorPvP
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 7ba0a452941..99cda91b866 100644
--- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
@@ -174,7 +174,7 @@ public:
}
uint32 soulmodel;
- uint64 soulholder;
+ ObjectGuid soulholder;
uint8 soulclass;
uint32 Fear_timer;
@@ -187,7 +187,7 @@ public:
void Reset() override
{
soulmodel = 0;
- soulholder = 0;
+ soulholder.Clear();
soulclass = 0;
Fear_timer = 15000 + rand32() % 5000;
@@ -318,13 +318,21 @@ public:
struct npc_avatar_of_martyredAI : public ScriptedAI
{
- npc_avatar_of_martyredAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_avatar_of_martyredAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Mortal_Strike_timer = 10000;
+ }
uint32 Mortal_Strike_timer;
void Reset() override
{
- Mortal_Strike_timer = 10000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
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 683b253d8a1..b354df9d63a 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
@@ -62,6 +62,16 @@ public:
{
boss_shirrak_the_dead_watcherAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Inhibitmagic_Timer = 0;
+ Attractmagic_Timer = 28000;
+ Carnivorousbite_Timer = 10000;
+ FocusFire_Timer = 17000;
+ FocusedTargetGUID.Clear();
}
uint32 Inhibitmagic_Timer;
@@ -69,15 +79,11 @@ public:
uint32 Carnivorousbite_Timer;
uint32 FocusFire_Timer;
- uint64 FocusedTargetGUID;
+ ObjectGuid FocusedTargetGUID;
void Reset() override
{
- Inhibitmagic_Timer = 0;
- Attractmagic_Timer = 28000;
- Carnivorousbite_Timer = 10000;
- FocusFire_Timer = 17000;
- FocusedTargetGUID = 0;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
@@ -174,6 +180,13 @@ public:
{
npc_focus_fireAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ FieryBlast_Timer = 3000 + (rand32() % 1000);
+ fiery1 = fiery2 = true;
}
uint32 FieryBlast_Timer;
@@ -181,8 +194,7 @@ public:
void Reset() override
{
- FieryBlast_Timer = 3000 + (rand32() % 1000);
- fiery1 = fiery2 = true;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
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 67cc6b99e93..5f6fde8ad98 100644
--- a/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
@@ -78,7 +78,22 @@ public:
struct boss_nexusprince_shaffarAI : public ScriptedAI
{
- boss_nexusprince_shaffarAI(Creature* creature) : ScriptedAI(creature), summons(me) { HasTaunted = false; }
+ boss_nexusprince_shaffarAI(Creature* creature) : ScriptedAI(creature), summons(me)
+ {
+ Initialize();
+ HasTaunted = false;
+ }
+
+ void Initialize()
+ {
+ Blink_Timer = 1500;
+ Beacon_Timer = 10000;
+ FireBall_Timer = 8000;
+ Frostbolt_Timer = 4000;
+ FrostNova_Timer = 15000;
+
+ CanBlink = false;
+ }
uint32 Blink_Timer;
uint32 Beacon_Timer;
@@ -93,13 +108,7 @@ public:
void Reset() override
{
- Blink_Timer = 1500;
- Beacon_Timer = 10000;
- FireBall_Timer = 8000;
- Frostbolt_Timer = 4000;
- FrostNova_Timer = 15000;
-
- CanBlink = false;
+ Initialize();
float dist = 8.0f;
float posX, posY, posZ, angle;
@@ -241,6 +250,14 @@ public:
{
npc_ethereal_beaconAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Apprentice_Timer = DUNGEON_MODE(20000, 10000);
+ ArcaneBolt_Timer = 1000;
+ Check_Timer = 1000;
}
uint32 Apprentice_Timer;
@@ -254,9 +271,7 @@ public:
void Reset() override
{
- Apprentice_Timer = DUNGEON_MODE(20000, 10000);
- ArcaneBolt_Timer = 1000;
- Check_Timer = 1000;
+ Initialize();
}
void EnterCombat(Unit* who) override
@@ -331,7 +346,16 @@ public:
struct npc_ethereal_apprenticeAI : public ScriptedAI
{
- npc_ethereal_apprenticeAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_ethereal_apprenticeAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ Cast_Timer = 3000;
+ isFireboltTurn = true;
+ }
uint32 Cast_Timer;
@@ -339,8 +363,7 @@ public:
void Reset() override
{
- Cast_Timer = 3000;
- isFireboltTurn = true;
+ Initialize();
}
void UpdateAI(uint32 diff) override
diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
index 1787933143c..e2d6bee85ca 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
@@ -67,14 +67,22 @@ class boss_anzu : public CreatureScript
struct boss_anzuAI : public BossAI
{
- boss_anzuAI(Creature* creature) : BossAI(creature, DATA_ANZU) { }
+ boss_anzuAI(Creature* creature) : BossAI(creature, DATA_ANZU)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _under33Percent = false;
+ _under66Percent = false;
+ }
void Reset() override
{
//_Reset();
events.Reset();
- _under33Percent = false;
- _under66Percent = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
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 098d35a292e..e6ffa3f8979 100644
--- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
@@ -71,14 +71,22 @@ public:
struct boss_darkweaver_sythAI : public BossAI
{
- boss_darkweaver_sythAI(Creature* creature) : BossAI(creature, DATA_DARKWEAVER_SYTH) { }
+ boss_darkweaver_sythAI(Creature* creature) : BossAI(creature, DATA_DARKWEAVER_SYTH)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ _summon90 = false;
+ _summon50 = false;
+ _summon10 = false;
+ }
void Reset() override
{
+ Initialize();
_Reset();
- summon90 = false;
- summon50 = false;
- summon10 = false;
}
void EnterCombat(Unit* /*who*/) override
@@ -109,6 +117,29 @@ public:
{
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->AI()->AttackStart(target);
+
+ summons.Summon(summoned);
+ }
+
+ void DamageTaken(Unit* /*attacker*/, uint32& damage) override
+ {
+ if (me->HealthBelowPctDamaged(90, damage) && !_summon90)
+ {
+ SythSummoning();
+ _summon90 = true;
+ }
+
+ if (me->HealthBelowPctDamaged(50, damage) && !_summon50)
+ {
+ SythSummoning();
+ _summon50 = true;
+ }
+
+ if (me->HealthBelowPctDamaged(10, damage) && !_summon10)
+ {
+ SythSummoning();
+ _summon10 = true;
+ }
}
void SythSummoning()
@@ -124,72 +155,44 @@ public:
DoCast(me, SPELL_SUMMON_SYTH_SHADOW, true); //right
}
- void UpdateAI(uint32 diff) override
+ void ExecuteEvent(uint32 eventId) override
{
- if (!UpdateVictim())
- return;
-
- events.Update(diff);
-
- while (uint32 eventId = events.ExecuteEvent())
+ switch (eventId)
{
- switch (eventId)
- {
- case EVENT_FLAME_SHOCK:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_FLAME_SHOCK);
- events.ScheduleEvent(EVENT_FLAME_SHOCK, urand(10000, 15000));
- break;
- case EVENT_ARCANE_SHOCK:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_ARCANE_SHOCK);
- events.ScheduleEvent(EVENT_ARCANE_SHOCK, urand(10000, 15000));
- break;
- case EVENT_FROST_SHOCK:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_FROST_SHOCK);
- events.ScheduleEvent(EVENT_FROST_SHOCK, urand(10000, 15000));
- break;
- case EVENT_SHADOW_SHOCK:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_SHADOW_SHOCK);
- events.ScheduleEvent(EVENT_SHADOW_SHOCK, urand(10000, 15000));
- break;
- case EVENT_CHAIN_LIGHTNING:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
- DoCast(target, SPELL_CHAIN_LIGHTNING);
- events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 25000);
- break;
- default:
- break;
- }
+ case EVENT_FLAME_SHOCK:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_FLAME_SHOCK);
+ events.ScheduleEvent(EVENT_FLAME_SHOCK, urand(10000, 15000));
+ break;
+ case EVENT_ARCANE_SHOCK:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_ARCANE_SHOCK);
+ events.ScheduleEvent(EVENT_ARCANE_SHOCK, urand(10000, 15000));
+ break;
+ case EVENT_FROST_SHOCK:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_FROST_SHOCK);
+ events.ScheduleEvent(EVENT_FROST_SHOCK, urand(10000, 15000));
+ break;
+ case EVENT_SHADOW_SHOCK:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_SHADOW_SHOCK);
+ events.ScheduleEvent(EVENT_SHADOW_SHOCK, urand(10000, 15000));
+ break;
+ case EVENT_CHAIN_LIGHTNING:
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
+ DoCast(target, SPELL_CHAIN_LIGHTNING);
+ events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 25000);
+ break;
+ default:
+ break;
}
-
- if (HealthBelowPct(90) && !summon90)
- {
- SythSummoning();
- summon90 = true;
- }
-
- if (HealthBelowPct(50) && !summon50)
- {
- SythSummoning();
- summon50 = true;
- }
-
- if (HealthBelowPct(10) && !summon10)
- {
- SythSummoning();
- summon10 = true;
- }
-
- DoMeleeAttackIfReady();
}
private:
- bool summon90;
- bool summon50;
- bool summon10;
+ bool _summon90;
+ bool _summon50;
+ bool _summon10;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -208,19 +211,20 @@ public:
{
npc_syth_fireAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- uint32 flameshock_timer;
- uint32 flamebuffet_timer;
-
- void Reset() override
+ void Initialize()
{
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
flameshock_timer = 2500;
flamebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) override { }
+ void Reset() override
+ {
+ Initialize();
+ me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
+ }
void UpdateAI(uint32 diff) override
{
@@ -245,6 +249,10 @@ public:
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 flameshock_timer;
+ uint32 flamebuffet_timer;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -258,28 +266,24 @@ class npc_syth_arcane : public CreatureScript
public:
npc_syth_arcane() : CreatureScript("npc_syth_arcane") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_syth_arcaneAI(creature);
- }
-
struct npc_syth_arcaneAI : public ScriptedAI
{
npc_syth_arcaneAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- uint32 arcaneshock_timer;
- uint32 arcanebuffet_timer;
-
- void Reset() override
+ void Initialize()
{
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_ARCANE, true);
arcaneshock_timer = 2500;
arcanebuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) override { }
+ void Reset() override
+ {
+ Initialize();
+ me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_ARCANE, true);
+ }
void UpdateAI(uint32 diff) override
{
@@ -304,7 +308,16 @@ public:
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 arcaneshock_timer;
+ uint32 arcanebuffet_timer;
};
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_syth_arcaneAI(creature);
+ }
};
class npc_syth_frost : public CreatureScript
@@ -312,28 +325,24 @@ class npc_syth_frost : public CreatureScript
public:
npc_syth_frost() : CreatureScript("npc_syth_frost") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_syth_frostAI(creature);
- }
-
struct npc_syth_frostAI : public ScriptedAI
{
npc_syth_frostAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- uint32 frostshock_timer;
- uint32 frostbuffet_timer;
-
- void Reset() override
+ void Initialize()
{
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FROST, true);
frostshock_timer = 2500;
frostbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) override { }
+ void Reset() override
+ {
+ Initialize();
+ me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FROST, true);
+ }
void UpdateAI(uint32 diff) override
{
@@ -358,8 +367,16 @@ public:
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 frostshock_timer;
+ uint32 frostbuffet_timer;
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_syth_frostAI(creature);
+ }
};
class npc_syth_shadow : public CreatureScript
@@ -367,28 +384,24 @@ class npc_syth_shadow : public CreatureScript
public:
npc_syth_shadow() : CreatureScript("npc_syth_shadow") { }
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_syth_shadowAI(creature);
- }
-
struct npc_syth_shadowAI : public ScriptedAI
{
npc_syth_shadowAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
}
- uint32 shadowshock_timer;
- uint32 shadowbuffet_timer;
-
- void Reset() override
+ void Initialize()
{
- me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_SHADOW, true);
shadowshock_timer = 2500;
shadowbuffet_timer = 5000;
}
- void EnterCombat(Unit* /*who*/) override { }
+ void Reset() override
+ {
+ Initialize();
+ me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_SHADOW, true);
+ }
void UpdateAI(uint32 diff) override
{
@@ -413,8 +426,16 @@ public:
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 shadowshock_timer;
+ uint32 shadowbuffet_timer;
};
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_syth_shadowAI(creature);
+ }
};
void AddSC_boss_darkweaver_syth()
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 a48f5245273..6ff92bcdb0b 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
@@ -115,7 +115,7 @@ class boss_ambassador_hellmaw : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_BANISH);
Talk(SAY_INTRO);
- Start(true, false, 0, NULL, false, true);
+ Start(true, false, ObjectGuid::Empty, NULL, false, true);
}
void EnterCombat(Unit* /*who*/) override
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 905fe67af97..109174f5807 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
@@ -86,13 +86,19 @@ class boss_grandmaster_vorpil : public CreatureScript
{
boss_grandmaster_vorpilAI(Creature* creature) : BossAI(creature, DATA_GRANDMASTER_VORPIL)
{
+ Initialize();
_intro = false;
}
+ void Initialize()
+ {
+ _helpYell = false;
+ }
+
void Reset() override
{
_Reset();
- _helpYell = false;
+ Initialize();
}
void SummonPortals()
@@ -223,22 +229,28 @@ class npc_voidtraveler : public CreatureScript
{
npc_voidtravelerAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
_moveTimer = 0;
_sacrificed = false;
}
+ void Reset() override
+ {
+ Initialize();
+ }
+
void EnterCombat(Unit* /*who*/) override { }
void UpdateAI(uint32 diff) override
{
if (_moveTimer <= diff)
{
- Creature* Vorpil = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_GRANDMASTER_VORPIL));
+ Creature* Vorpil = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_GRANDMASTER_VORPIL));
if (!Vorpil)
return;
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 9bd985130a9..6fea892abea 100644
--- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
+++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
@@ -40,8 +40,6 @@ class instance_shadow_labyrinth : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- AmbassadorHellmawGUID = 0;
- GrandmasterVorpilGUID = 0;
FelOverseerCount = 0;
}
@@ -123,7 +121,7 @@ class instance_shadow_labyrinth : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -132,12 +130,12 @@ class instance_shadow_labyrinth : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 AmbassadorHellmawGUID;
- uint64 GrandmasterVorpilGUID;
+ ObjectGuid AmbassadorHellmawGUID;
+ ObjectGuid GrandmasterVorpilGUID;
uint32 FelOverseerCount;
};
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index 3a33561e998..71136f79919 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -95,13 +95,19 @@ public:
{
npc_wrathbone_flayerAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
_instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ _enteredCombat = false;
+ }
+
void Reset() override
{
_events.ScheduleEvent(EVENT_GET_CHANNELERS, 3000);
- _enteredCombat = false;
+ Initialize();
_bloodmageList.clear();
_deathshaperList.clear();
}
@@ -156,11 +162,11 @@ public:
}
case EVENT_SET_CHANNELERS:
{
- for (uint64 guid : _bloodmageList)
+ for (ObjectGuid guid : _bloodmageList)
if (Creature* bloodmage = ObjectAccessor::GetCreature(*me, guid))
bloodmage->CastSpell((Unit*)NULL, SPELL_SUMMON_CHANNEL);
- for (uint64 guid : _deathshaperList)
+ for (ObjectGuid guid : _deathshaperList)
if (Creature* deathshaper = ObjectAccessor::GetCreature(*me, guid))
deathshaper->CastSpell((Unit*)NULL, SPELL_SUMMON_CHANNEL);
@@ -202,8 +208,8 @@ public:
private:
InstanceScript* _instance;
EventMap _events;
- std::list<uint64> _bloodmageList;
- std::list<uint64> _deathshaperList;
+ GuidList _bloodmageList;
+ GuidList _deathshaperList;
bool _enteredCombat;
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
index f03caa37cb2..0b219eeff56 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
@@ -68,12 +68,32 @@ public:
{
boss_gurtogg_bloodboilAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ TargetGUID.Clear();
+ TargetThreat = 0;
+
+ BloodboilTimer = 10000;
+ BloodboilCount = 0;
+ AcidGeyserTimer = 1000;
+ AcidicWoundTimer = 6000;
+ ArcingSmashTimer = 19000;
+ EnrageTimer = 600000;
+ FelAcidTimer = 25000;
+ EjectTimer = 10000;
+ BewilderingStrikeTimer = 15000;
+ PhaseChangeTimer = 60000;
+
+ Phase1 = true;
+ }
+
InstanceScript* instance;
- uint64 TargetGUID;
+ ObjectGuid TargetGUID;
float TargetThreat;
@@ -94,22 +114,7 @@ public:
{
instance->SetBossState(DATA_GURTOGG_BLOODBOIL, NOT_STARTED);
- TargetGUID = 0;
-
- TargetThreat = 0;
-
- BloodboilTimer = 10000;
- BloodboilCount = 0;
- AcidGeyserTimer = 1000;
- AcidicWoundTimer = 6000;
- ArcingSmashTimer = 19000;
- EnrageTimer = 600000;
- FelAcidTimer = 25000;
- EjectTimer = 10000;
- BewilderingStrikeTimer = 15000;
- PhaseChangeTimer = 60000;
-
- Phase1 = true;
+ Initialize();
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, false);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
@@ -134,7 +139,7 @@ public:
Talk(SAY_DEATH);
}
- void RevertThreatOnTarget(uint64 guid)
+ void RevertThreatOnTarget(ObjectGuid guid)
{
if (Unit* unit = ObjectAccessor::GetUnit(*me, guid))
{
@@ -258,7 +263,7 @@ public:
{
if (TargetGUID)
RevertThreatOnTarget(TargetGUID);
- TargetGUID = 0;
+ TargetGUID.Clear();
Phase1 = true;
BloodboilTimer = 10000;
BloodboilCount = 0;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 08fc588e923..aec4e982a49 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -31,8 +31,6 @@ EndScriptData */
#include "Player.h"
#include "SpellInfo.h"
-#define EMOTE_UNABLE_TO_SUMMON "%s is unable to summon Maiev Shadowsong and enter Phase 4. Resetting Encounter."
-
// Other defines
#define CENTER_X 676.740f
#define CENTER_Y 305.297f
@@ -377,13 +375,21 @@ public:
struct flame_of_azzinothAI : public ScriptedAI
{
- flame_of_azzinothAI(Creature* creature) : ScriptedAI(creature) { }
+ flame_of_azzinothAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
FlameBlastTimer = 15000;
CheckTimer = 5000;
- GlaiveGUID = 0;
+ GlaiveGUID.Clear();
+ }
+
+ void Reset() override
+ {
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
@@ -426,7 +432,7 @@ public:
}
}
- void SetGlaiveGUID(uint64 guid)
+ void SetGlaiveGUID(ObjectGuid guid)
{
GlaiveGUID = guid;
}
@@ -457,7 +463,7 @@ public:
private:
uint32 FlameBlastTimer;
uint32 CheckTimer;
- uint64 GlaiveGUID;
+ ObjectGuid GlaiveGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -476,9 +482,28 @@ public:
{
boss_illidan_stormrageAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
DoCast(me, SPELL_DUAL_WIELD, true);
- AkamaGUID = 0;
+ }
+
+ void Initialize()
+ {
+ MaievGUID.Clear();
+ for (uint8 i = 0; i < 2; ++i)
+ {
+ FlameGUID[i].Clear();
+ GlaiveGUID[i].Clear();
+ }
+
+ Phase = PHASE_ILLIDAN_NULL;
+ Event = EVENT_NULL;
+ Timer[EVENT_BERSERK] = 1500000;
+
+ HoverPoint = 0;
+ TalkCount = 0;
+ FlightCount = 0;
+ TransformCount = 0;
}
void Reset() override;
@@ -491,7 +516,7 @@ public:
{
for (uint8 i = 0; i < 2; ++i)
if (summon->GetGUID() == FlameGUID[i])
- FlameGUID[i] = 0;
+ FlameGUID[i].Clear();
if (!FlameGUID[0] && !FlameGUID[1] && Phase != PHASE_ILLIDAN_NULL)
{
@@ -544,7 +569,7 @@ public:
instance->SetBossState(DATA_ILLIDAN_STORMRAGE, DONE);
for (uint8 i = DATA_GO_ILLIDAN_DOOR_R; i < DATA_GO_ILLIDAN_DOOR_L + 1; ++i)
- instance->HandleGameObject(instance->GetData64(i), true);
+ instance->HandleGameObject(instance->GetGuidData(i), true);
}
void KilledUnit(Unit* victim) override
@@ -575,7 +600,7 @@ public:
}
}
- void DeleteFromThreatList(uint64 TargetGUID)
+ void DeleteFromThreatList(ObjectGuid TargetGUID)
{
ThreatContainer::StorageType threatlist = me->getThreatManager().getThreatList();
for (ThreatContainer::StorageType::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
@@ -605,7 +630,7 @@ public:
if (Conversation[count].emote)
creature->HandleEmoteCommand(Conversation[count].emote); // Make the Creature do some animation!
if (Conversation[count].text.size())
- creature->MonsterYell(Conversation[count].text.c_str(), LANG_UNIVERSAL, NULL); // Have the Creature yell out some text
+ creature->Yell(Conversation[count].text.c_str(), LANG_UNIVERSAL); // Have the Creature yell out some text
if (Conversation[count].sound)
DoPlaySoundToSet(creature, Conversation[count].sound); // Play some sound on the creature
}
@@ -761,7 +786,6 @@ public:
if (!MaievGUID) // If Maiev cannot be summoned, reset the encounter and post some errors to the console.
{
EnterEvadeMode();
- me->MonsterTextEmote(EMOTE_UNABLE_TO_SUMMON, NULL);
TC_LOG_ERROR("scripts", "SD2 ERROR: Unable to summon Maiev Shadowsong (entry: 23197). Check your database to see if you have the proper SQL for Maiev Shadowsong (entry: 23197)");
}
}
@@ -852,7 +876,7 @@ public:
if (Creature* glaive = ObjectAccessor::GetCreature(*me, GlaiveGUID[i]))
glaive->DespawnOrUnsummon();
- GlaiveGUID[i] = 0;
+ GlaiveGUID[i].Clear();
}
}
Timer[EVENT_FLIGHT_SEQUENCE] = 2000;
@@ -1105,7 +1129,7 @@ public:
}
public:
- uint64 AkamaGUID;
+ ObjectGuid AkamaGUID;
uint32 Timer[EVENT_ENRAGE + 1];
PhaseIllidan Phase;
private:
@@ -1115,9 +1139,9 @@ public:
uint32 TransformCount;
uint32 FlightCount;
uint32 HoverPoint;
- uint64 MaievGUID;
- uint64 FlameGUID[2];
- uint64 GlaiveGUID[2];
+ ObjectGuid MaievGUID;
+ ObjectGuid FlameGUID[2];
+ ObjectGuid GlaiveGUID[2];
SummonList Summons;
};
@@ -1137,16 +1161,24 @@ public:
struct boss_maievAI : public ScriptedAI
{
- boss_maievAI(Creature* creature) : ScriptedAI(creature) { };
+ boss_maievAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
MaxTimer = 0;
Phase = PHASE_NORMAL_MAIEV;
- IllidanGUID = 0;
+ IllidanGUID.Clear();
Timer[EVENT_MAIEV_STEALTH] = 0;
Timer[EVENT_MAIEV_TAUNT] = urand(22, 43) * 1000;
Timer[EVENT_MAIEV_SHADOW_STRIKE] = 30000;
+ }
+
+ void Reset() override
+ {
+ Initialize();
SetEquipmentSlots(false, EQUIP_ID_MAIN_HAND_MAIEV, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 2, 45738);
}
@@ -1156,7 +1188,7 @@ public:
void EnterEvadeMode() override { }
- void GetIllidanGUID(uint64 guid)
+ void GetIllidanGUID(ObjectGuid guid)
{
IllidanGUID = guid;
}
@@ -1272,7 +1304,7 @@ public:
&& !Timer[EVENT_MAIEV_STEALTH])
return;
- Event = EVENT_MAIEV_NULL;
+ EventMaiev Event = EVENT_MAIEV_NULL;
for (uint8 i = 1; i <= MaxTimer; ++i)
if (Timer[i])
{
@@ -1336,9 +1368,8 @@ public:
}
private:
- uint64 IllidanGUID;
+ ObjectGuid IllidanGUID;
PhaseIllidan Phase;
- EventMaiev Event;
uint32 Timer[5];
uint32 MaxTimer;
};
@@ -1358,19 +1389,35 @@ public:
{
npc_akama_illidanAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
JustCreated = true;
}
- void Reset() override
+ void Initialize()
{
+ ChannelGUID.Clear();
+ SpiritGUID[0].Clear();
+ SpiritGUID[1].Clear();
+
+ Phase = PHASE_AKAMA_NULL;
+ Timer = 0;
+
+ ChannelCount = 0;
+ TalkCount = 0;
+ Check_Timer = 5000;
WalkCount = 0;
+ }
+
+ void Reset() override
+ {
+ Initialize();
instance->SetBossState(DATA_ILLIDAN_STORMRAGE, NOT_STARTED);
- IllidanGUID = instance->GetData64(DATA_ILLIDAN_STORMRAGE);
- GateGUID = instance->GetData64(DATA_GO_ILLIDAN_GATE);
- DoorGUID[0] = instance->GetData64(DATA_GO_ILLIDAN_DOOR_R);
- DoorGUID[1] = instance->GetData64(DATA_GO_ILLIDAN_DOOR_L);
+ IllidanGUID = instance->GetGuidData(DATA_ILLIDAN_STORMRAGE);
+ GateGUID = instance->GetGuidData(DATA_GO_ILLIDAN_GATE);
+ DoorGUID[0] = instance->GetGuidData(DATA_GO_ILLIDAN_DOOR_R);
+ DoorGUID[1] = instance->GetGuidData(DATA_GO_ILLIDAN_DOOR_L);
if (JustCreated) // close all doors at create
{
@@ -1388,17 +1435,6 @@ public:
instance->HandleGameObject(DoorGUID[i], true);
}
- ChannelGUID = 0;
- SpiritGUID[0] = 0;
- SpiritGUID[1] = 0;
-
- Phase = PHASE_AKAMA_NULL;
- Timer = 0;
-
- ChannelCount = 0;
- TalkCount = 0;
- Check_Timer = 5000;
-
KillAllElites();
me->SetUInt32Value(UNIT_NPC_FLAGS, 0); // Database sometimes has strange values..
@@ -1556,7 +1592,6 @@ public:
break;
}
Phase = NextPhase;
- Event = false;
}
void HandleTalkSequence()
@@ -1678,7 +1713,7 @@ public:
Check_Timer = 5000;
} else Check_Timer -= diff;
}
- Event = false;
+ bool Event = false;
if (Timer)
{
if (Timer <= diff)
@@ -1759,13 +1794,12 @@ public:
bool JustCreated;
InstanceScript* instance;
PhaseAkama Phase;
- bool Event;
uint32 Timer;
- uint64 IllidanGUID;
- uint64 ChannelGUID;
- uint64 SpiritGUID[2];
- uint64 GateGUID;
- uint64 DoorGUID[2];
+ ObjectGuid IllidanGUID;
+ ObjectGuid ChannelGUID;
+ ObjectGuid SpiritGUID[2];
+ ObjectGuid GateGUID;
+ ObjectGuid DoorGUID[2];
uint32 ChannelCount;
uint32 WalkCount;
uint32 TalkCount;
@@ -1790,21 +1824,7 @@ void boss_illidan_stormrage::boss_illidan_stormrageAI::Reset()
akama->AI()->EnterEvadeMode();
}
- MaievGUID = 0;
- for (uint8 i = 0; i < 2; ++i)
- {
- FlameGUID[i] = 0;
- GlaiveGUID[i] = 0;
- }
-
- Phase = PHASE_ILLIDAN_NULL;
- Event = EVENT_NULL;
- Timer[EVENT_BERSERK] = 1500000;
-
- HoverPoint = 0;
- TalkCount = 0;
- FlightCount = 0;
- TransformCount = 0;
+ Initialize();
me->SetDisplayId(MODEL_ILLIDAN);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
@@ -1955,16 +1975,24 @@ public:
struct cage_trap_triggerAI : public ScriptedAI
{
- cage_trap_triggerAI(Creature* creature) : ScriptedAI(creature) { }
+ cage_trap_triggerAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- void Reset() override
+ void Initialize()
{
- IllidanGUID = 0;
+ IllidanGUID.Clear();
Active = false;
SummonedBeams = false;
DespawnTimer = 0;
+ }
+
+ void Reset() override
+ {
+ Initialize();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
@@ -1988,7 +2016,7 @@ public:
DespawnTimer = 5000;
if (who->HasAura(SPELL_ENRAGE))
who->RemoveAurasDueToSpell(SPELL_ENRAGE); // Dispel his enrage
- // if (GameObject* CageTrap = instance->instance->GetGameObject(instance->GetData64(CageTrapGUID)))
+ // if (GameObject* CageTrap = instance->instance->GetGameObject(instance->GetGuidData(CageTrapGUID)))
// CageTrap->SetLootState(GO_JUST_DEACTIVATED);
}
@@ -2017,7 +2045,7 @@ public:
public:
bool Active;
private:
- uint64 IllidanGUID;
+ ObjectGuid IllidanGUID;
uint32 DespawnTimer;
bool SummonedBeams;
};
@@ -2062,7 +2090,7 @@ public:
void Reset() override
{
- TargetGUID = 0;
+ TargetGUID.Clear();
DoCast(me, SPELL_SHADOW_DEMON_PASSIVE, true);
}
@@ -2093,7 +2121,7 @@ public:
}
private:
- uint64 TargetGUID;
+ ObjectGuid TargetGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -2134,14 +2162,20 @@ public:
{
npc_parasitic_shadowfiendAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ CheckTimer = 5000;
+ }
+
void Reset() override
{
- IllidanGUID = instance->GetData64(DATA_ILLIDAN_STORMRAGE);
+ IllidanGUID = instance->GetGuidData(DATA_ILLIDAN_STORMRAGE);
- CheckTimer = 5000;
+ Initialize();
DoCast(me, SPELL_SHADOWFIEND_PASSIVE, true);
}
@@ -2198,7 +2232,7 @@ public:
private:
InstanceScript* instance;
- uint64 IllidanGUID;
+ ObjectGuid IllidanGUID;
uint32 CheckTimer;
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index 60162188f7e..39aac706acc 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -112,8 +112,8 @@ public:
void Initialize()
{
- for (uint8 i = 0; i<3; ++i)
- TargetGUID[i] = 0;
+ for (uint8 i = 0; i < 3; ++i)
+ TargetGUID[i].Clear();
BeamCount = 0;
CurrentBeam = SINISTER_BEAM; // 0 - Sinister, 1 - Vile, 2 - Wicked, 3 - Sinful
@@ -236,7 +236,7 @@ public:
{
if (Unit* unit = ObjectAccessor::GetUnit(*me, TargetGUID[i]))
unit->CastSpell(unit, SPELL_ATTRACTION, true);
- TargetGUID[i] = 0;
+ TargetGUID[i].Clear();
}
}
++ExplosionCount;
@@ -267,7 +267,7 @@ public:
}
private:
- uint64 TargetGUID[3];
+ ObjectGuid TargetGUID[3];
uint32 BeamCount;
uint32 CurrentBeam;
uint32 ExplosionCount;
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 f3c8af50328..dd0e271a02d 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -113,9 +113,12 @@ public:
{
npc_enslaved_soulAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 ReliquaryGUID;
+ ObjectGuid ReliquaryGUID;
- void Reset() override { ReliquaryGUID = 0; }
+ void Reset() override
+ {
+ ReliquaryGUID.Clear();
+ }
void EnterCombat(Unit* /*who*/) override
{
@@ -141,13 +144,22 @@ public:
{
boss_reliquary_of_soulsAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
- EssenceGUID = 0;
+ Counter = 0;
+ Timer = 0;
+ SoulCount = 0;
+ SoulDeathCount = 0;
+ }
+
+ void Initialize()
+ {
+ Phase = 0;
}
InstanceScript* instance;
- uint64 EssenceGUID;
+ ObjectGuid EssenceGUID;
uint32 Phase;
uint32 Counter;
@@ -165,10 +177,10 @@ public:
if (Creature* essence = ObjectAccessor::GetCreature(*me, EssenceGUID))
essence->DespawnOrUnsummon();
- EssenceGUID = 0;
+ EssenceGUID.Clear();
}
- Phase = 0;
+ Initialize();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
@@ -334,17 +346,15 @@ public:
if (Essence)
{
if (Phase == 1)
- {
Essence->AI()->Talk(SUFF_SAY_AFTER);
- }
else
- {
Essence->AI()->Talk(DESI_SAY_AFTER);
- }
+
Essence->DespawnOrUnsummon();
}
+
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
- EssenceGUID = 0;
+ EssenceGUID.Clear();
SoulCount = 0;
SoulDeathCount = 0;
Timer = 3000;
@@ -396,9 +406,19 @@ public:
struct boss_essence_of_sufferingAI : public ScriptedAI
{
- boss_essence_of_sufferingAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_essence_of_sufferingAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- uint64 StatAuraGUID;
+ void Initialize()
+ {
+ AggroYellTimer = 5000;
+ FixateTimer = 8000;
+ EnrageTimer = 30000;
+ SoulDrainTimer = 45000;
+ AuraTimer = 5000;
+ }
uint32 AggroYellTimer;
uint32 FixateTimer;
@@ -408,13 +428,7 @@ public:
void Reset() override
{
- StatAuraGUID = 0;
-
- AggroYellTimer = 5000;
- FixateTimer = 8000;
- EnrageTimer = 30000;
- SoulDrainTimer = 45000;
- AuraTimer = 5000;
+ Initialize();
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage) override
@@ -519,7 +533,17 @@ public:
struct boss_essence_of_desireAI : public ScriptedAI
{
- boss_essence_of_desireAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_essence_of_desireAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ RuneShieldTimer = 60000;
+ DeadenTimer = 30000;
+ SoulShockTimer = 5000;
+ }
uint32 RuneShieldTimer;
uint32 DeadenTimer;
@@ -527,9 +551,7 @@ public:
void Reset() override
{
- RuneShieldTimer = 60000;
- DeadenTimer = 30000;
- SoulShockTimer = 5000;
+ Initialize();
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_CONFUSE, true);
}
@@ -622,29 +644,33 @@ public:
struct boss_essence_of_angerAI : public ScriptedAI
{
- boss_essence_of_angerAI(Creature* creature) : ScriptedAI(creature) { }
+ boss_essence_of_angerAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ AggroTargetGUID.Clear();
- uint64 AggroTargetGUID;
+ CheckTankTimer = 5000;
+ SoulScreamTimer = 10000;
+ SpiteTimer = 30000;
+
+ CheckedAggro = false;
+ }
+
+ ObjectGuid AggroTargetGUID;
uint32 CheckTankTimer;
uint32 SoulScreamTimer;
uint32 SpiteTimer;
- std::list<uint64> SpiteTargetGUID;
-
bool CheckedAggro;
void Reset() override
{
- AggroTargetGUID = 0;
-
- CheckTankTimer = 5000;
- SoulScreamTimer = 10000;
- SpiteTimer = 30000;
-
- SpiteTargetGUID.clear();
-
- CheckedAggro = false;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override
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 f1e170c0705..ecc4457e454 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -165,21 +165,30 @@ public:
struct boss_shade_of_akamaAI : public ScriptedAI
{
- boss_shade_of_akamaAI(Creature* creature) : ScriptedAI(creature), HasKilledAkamaAndReseting(false)
+ boss_shade_of_akamaAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
+ void Initialize()
+ {
+ combatStarted = false;
+ akamaReached = false;
+ HasKilledAkama = false;
+ HasKilledAkamaAndReseting = false;
+ }
+
void Reset() override
{
if (!HasKilledAkamaAndReseting)
{
- for (std::list<uint64>::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
+ for (GuidList::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
if (Creature* Channeler = ObjectAccessor::GetCreature(*me, *itr))
Channeler->DespawnOrUnsummon();
- for (std::list<uint64>::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
+ for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr))
Spawner->AI()->SetData(SETDATA_DATA, SETDATA_DESPAWN_ALL_SPAWNS);
@@ -190,10 +199,7 @@ public:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetWalk(true);
- combatStarted = false;
- akamaReached = false;
- HasKilledAkama = false;
- HasKilledAkamaAndReseting = false;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
@@ -207,7 +213,7 @@ public:
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
- if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
if (Akama->IsAlive())
ScriptedAI::AttackStart(Akama);
}
@@ -231,7 +237,7 @@ public:
events.ScheduleEvent(EVENT_START_ATTACK_AKAMA, 500);
events.ScheduleEvent(EVENT_SET_CHANNELERS_SPAWNERS, 1000);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_NONE);
- if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
me->AddThreat(Akama, 10000000.0f);
}
else if (spell->Id == SPELL_SHADE_SOUL_CHANNEL_2)
@@ -267,7 +273,7 @@ public:
switch (eventId)
{
case EVENT_RESET_ENCOUNTER:
- if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
if (!Akama->IsAlive())
Akama->Respawn();
break;
@@ -307,17 +313,13 @@ public:
{
case EVENT_SET_CHANNELERS_SPAWNERS:
{
- for (std::list<uint64>::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
- {
+ for (GuidList::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
if (Creature* Channeler = ObjectAccessor::GetCreature(*me, *itr))
Channeler->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- }
- for (std::list<uint64>::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
- {
+ for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr))
Spawner->AI()->SetData(SETDATA_DATA, SETDATA_START_SPAWNING);
- }
break;
}
case EVENT_START_ATTACK_AKAMA:
@@ -347,14 +349,14 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
combatStarted = false;
- if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
Akama->DespawnOrUnsummon();
- for (std::list<uint64>::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
+ for (GuidList::const_iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
if (Creature* Channeler = ObjectAccessor::GetCreature(*me, *itr))
Channeler->DespawnOrUnsummon();
- for (std::list<uint64>::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
+ for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr))
Spawner->AI()->SetData(SETDATA_DATA, SETDATA_DESPAWN_ALL_SPAWNS);
@@ -365,7 +367,7 @@ public:
if (!akamaReached)
{
- if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Creature* Akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
{
if (me->IsWithinDist(Akama, 2.0f, false))
{
@@ -379,7 +381,7 @@ public:
events.CancelEvent(EVENT_START_ATTACK_AKAMA);
events.ScheduleEvent(EVENT_ADD_THREAT, 100);
- for (std::list<uint64>::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
+ for (GuidList::const_iterator itr = Spawners.begin(); itr != Spawners.end(); ++itr)
if (Creature* Spawner = ObjectAccessor::GetCreature(*me, *itr))
Spawner->AI()->SetData(SETDATA_DATA, SETDATA_STOP_SPAWNING);
}
@@ -395,8 +397,8 @@ public:
private:
InstanceScript* instance;
EventMap events;
- std::list<uint64> Channelers;
- std::list<uint64> Spawners;
+ GuidList Channelers;
+ GuidList Spawners;
bool akamaReached;
bool combatStarted;
bool HasKilledAkamaAndReseting;
@@ -421,23 +423,29 @@ public:
{
npc_akamaAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ StartChannel = false;
+ StartCombat = false;
+ HasYelledOnce = false;
+ ShadeHasDied = false;
+ }
+
void Reset() override
{
me->setFaction(FACTION_FRIENDLY);
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
DoCast(me, SPELL_STEALTH);
- StartChannel = false;
- StartCombat = false;
- HasYelledOnce = false;
- ShadeHasDied = false;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
if (Shade->IsAlive())
ENSURE_AI(boss_shade_of_akama::boss_shade_of_akamaAI, Shade->AI())->HasKilledAkama = true;
me->GetMotionMaster()->Clear(true);
@@ -451,7 +459,7 @@ public:
me->ClearUnitState(UNIT_STATE_ROOT);
me->RemoveAura(SPELL_AKAMA_SOUL_CHANNEL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
Shade->RemoveAura(SPELL_AKAMA_SOUL_CHANNEL);
StartCombat = true;
}
@@ -577,7 +585,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED);
}
@@ -593,7 +601,7 @@ public:
switch (eventId)
{
case EVENT_CHANNEL:
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
{
if (Shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
DoCast(me, SPELL_SHADE_SOUL_CHANNEL);
@@ -635,15 +643,21 @@ public:
{
npc_creature_generator_akamaAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ doSpawning = false;
+ leftSide = false;
+ }
+
void Reset() override
{
Summons.DespawnAll();
- doSpawning = false;
- leftSide = false;
+ Initialize();
if (me->GetPositionY() < 400.0f)
leftSide = true;
@@ -743,34 +757,39 @@ public:
{
npc_ashtongue_sorcererAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
+ }
+
+ void Initialize()
+ {
startedBanishing = false;
+ switchToCombat = false;
}
void Reset() override
{
if (!startedBanishing)
{
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
{
if (Shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
me->GetMotionMaster()->MovePoint(0, Shade->GetPositionX(), Shade->GetPositionY(), Shade->GetPositionZ(), false);
else
{
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
}
}
- summonerGuid = 0;
- startedBanishing = false;
- switchToCombat = false;
+ summonerGuid.Clear();
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED);
me->DespawnOrUnsummon(5000);
}
@@ -799,7 +818,7 @@ public:
switch (eventId)
{
case EVENT_SORCERER_CHANNEL:
- if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA)))
+ if (Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA)))
{
if (Shade->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
{
@@ -812,7 +831,7 @@ public:
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
Shade->AI()->SetData(SETDATA_DATA, SETDATA_CHANNELER_DIED);
switchToCombat = true;
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
}
@@ -824,7 +843,7 @@ public:
if (!startedBanishing)
{
- Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SHADE_OF_AKAMA));
+ Creature* Shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SHADE_OF_AKAMA));
if (me->IsWithinDist(Shade, 20.0f, false))
{
me->StopMoving();
@@ -841,7 +860,7 @@ public:
private:
InstanceScript* instance;
EventMap events;
- uint64 summonerGuid;
+ ObjectGuid summonerGuid;
bool startedBanishing;
bool switchToCombat;
};
@@ -870,9 +889,9 @@ public:
void Reset() override
{
- summonerGuid = 0;
+ summonerGuid.Clear();
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
@@ -933,7 +952,7 @@ public:
private:
InstanceScript* instance;
EventMap events;
- uint64 summonerGuid;
+ ObjectGuid summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -960,9 +979,9 @@ public:
void Reset() override
{
- summonerGuid = 0;
+ summonerGuid.Clear();
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
@@ -1013,7 +1032,7 @@ public:
private:
InstanceScript* instance;
EventMap events;
- uint64 summonerGuid;
+ ObjectGuid summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1040,9 +1059,9 @@ public:
void Reset() override
{
- summonerGuid = 0;
+ summonerGuid.Clear();
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
@@ -1093,7 +1112,7 @@ public:
private:
InstanceScript* instance;
EventMap events;
- uint64 summonerGuid;
+ ObjectGuid summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1115,16 +1134,22 @@ public:
{
npc_ashtongue_spiritbinderAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
- void Reset() override
+ void Initialize()
{
spiritMend = false;
- chainHeal = false;
- summonerGuid = 0;
+ chainHeal = false;
+ summonerGuid.Clear();
+ }
+
+ void Reset() override
+ {
+ Initialize();
- if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_AKAMA_SHADE)))
+ if (Unit* target = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AKAMA_SHADE)))
AttackStart(target);
}
@@ -1188,7 +1213,7 @@ public:
private:
InstanceScript* instance;
EventMap events;
- uint64 summonerGuid;
+ ObjectGuid summonerGuid;
bool spiritMend;
bool chainHeal;
};
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index b9b654f8b95..93061a3a57f 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -223,16 +223,22 @@ public:
{
npc_volcanoAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
SetCombatMovement(false);
}
+ void Initialize()
+ {
+ wait = 3000;
+ }
+
void Reset() override
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
//DoCast(me, SPELL_VOLCANIC_ERUPTION);
me->SetReactState(REACT_PASSIVE);
- wait = 3000;
+ Initialize();
}
uint32 wait;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 0bbf2cb2a96..aa0f3daeef0 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -63,17 +63,25 @@ public:
struct npc_doom_blossomAI : public ScriptedAI
{
- npc_doom_blossomAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_doom_blossomAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ CheckTeronTimer = 5000;
+ ShadowBoltTimer = 12000;
+ TeronGUID.Clear();
+ }
uint32 CheckTeronTimer;
uint32 ShadowBoltTimer;
- uint64 TeronGUID;
+ ObjectGuid TeronGUID;
void Reset() override
{
- CheckTeronTimer = 5000;
- ShadowBoltTimer = 12000;
- TeronGUID = 0;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -113,7 +121,7 @@ public:
return;
}
- void SetTeronGUID(uint64 guid)
+ void SetTeronGUID(ObjectGuid guid)
{
TeronGUID = guid;
}
@@ -132,21 +140,29 @@ public:
struct npc_shadowy_constructAI : public ScriptedAI
{
- npc_shadowy_constructAI(Creature* creature) : ScriptedAI(creature) { }
+ npc_shadowy_constructAI(Creature* creature) : ScriptedAI(creature)
+ {
+ Initialize();
+ }
- uint64 GhostGUID;
- uint64 TeronGUID;
+ void Initialize()
+ {
+ GhostGUID.Clear();
+ TeronGUID.Clear();
+
+ CheckPlayerTimer = 2000;
+ CheckTeronTimer = 5000;
+ }
+
+ ObjectGuid GhostGUID;
+ ObjectGuid TeronGUID;
uint32 CheckPlayerTimer;
uint32 CheckTeronTimer;
void Reset() override
{
- GhostGUID = 0;
- TeronGUID = 0;
-
- CheckPlayerTimer = 2000;
- CheckTeronTimer = 5000;
+ Initialize();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -224,9 +240,25 @@ public:
{
boss_teron_gorefiendAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ IncinerateTimer = urand(20000, 31000);
+ SummonDoomBlossomTimer = 12000;
+ EnrageTimer = 600000;
+ CrushingShadowsTimer = 22000;
+ SummonShadowsTimer = 60000;
+ RandomYellTimer = 50000;
+
+ AggroTimer = 20000;
+ AggroTargetGUID.Clear();
+ Intro = false;
+ Done = false;
+ }
+
InstanceScript* instance;
uint32 IncinerateTimer;
@@ -238,8 +270,8 @@ public:
uint32 RandomYellTimer;
uint32 AggroTimer;
- uint64 AggroTargetGUID;
- uint64 GhostGUID; // Player that gets killed by Shadow of Death and gets turned into a ghost
+ ObjectGuid AggroTargetGUID;
+ ObjectGuid GhostGUID; // Player that gets killed by Shadow of Death and gets turned into a ghost
bool Intro;
bool Done;
@@ -248,21 +280,11 @@ public:
{
instance->SetBossState(DATA_TERON_GOREFIEND, NOT_STARTED);
- IncinerateTimer = urand(20000, 31000);
- SummonDoomBlossomTimer = 12000;
- EnrageTimer = 600000;
- CrushingShadowsTimer = 22000;
- SummonShadowsTimer = 60000;
- RandomYellTimer = 50000;
+ Initialize();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
// Start off unattackable so that the intro is done properly
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
-
- AggroTimer = 20000;
- AggroTargetGUID = 0;
- Intro = false;
- Done = false;
}
void EnterCombat(Unit* /*who*/) override { }
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index c998bfed2dc..0f80e541261 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -1,145 +1,144 @@
-/*
- * 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 "ScriptMgr.h"
-#include "ScriptedCreature.h"
-#include "black_temple.h"
-#include "Player.h"
-#include "SpellInfo.h"
-
-enum Texts
-{
- SAY_AGGRO = 0,
- SAY_NEEDLE = 1,
- SAY_SLAY = 2,
- SAY_SPECIAL = 3,
- SAY_ENRAGE = 4,
- SAY_DEATH = 5
-};
-
-enum Spells
-{
- SPELL_NEEDLE_SPINE = 39992,
- SPELL_TIDAL_BURST = 39878,
- SPELL_TIDAL_SHIELD = 39872,
- SPELL_IMPALING_SPINE = 39837,
- SPELL_CREATE_NAJENTUS_SPINE = 39956,
- SPELL_HURL_SPINE = 39948,
- SPELL_BERSERK = 26662
-
-};
-
-enum Events
-{
- EVENT_BERSERK = 1,
- EVENT_YELL = 2,
- EVENT_NEEDLE = 3,
- EVENT_SPINE = 4,
- EVENT_SHIELD = 5
-};
-
-enum EventGroups
-{
- GCD_CAST = 1,
- GCD_YELL = 2
-};
-
-class boss_najentus : public CreatureScript
-{
-public:
- boss_najentus() : CreatureScript("boss_najentus") { }
-
- struct boss_najentusAI : public BossAI
- {
- boss_najentusAI(Creature* creature) : BossAI(creature, DATA_HIGH_WARLORD_NAJENTUS)
- {
- SpineTargetGUID = 0;
- }
-
- void Reset() override
- {
- _Reset();
- SpineTargetGUID = 0;
- }
-
- void KilledUnit(Unit* /*victim*/) override
- {
- Talk(SAY_SLAY);
- events.DelayEvents(5000, GCD_YELL);
- }
-
- void JustDied(Unit* /*killer*/) override
- {
- _JustDied();
- Talk(SAY_DEATH);
- }
-
- void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
- {
- if (spell->Id == SPELL_HURL_SPINE && me->HasAura(SPELL_TIDAL_SHIELD))
- {
- me->RemoveAurasDueToSpell(SPELL_TIDAL_SHIELD);
- DoCast(me, SPELL_TIDAL_BURST, true);
- ResetTimer();
- }
- }
-
- void EnterCombat(Unit* /*who*/) override
- {
- _EnterCombat();
- Talk(SAY_AGGRO);
- events.ScheduleEvent(EVENT_BERSERK, 480000, GCD_CAST);
- events.ScheduleEvent(EVENT_YELL, 45000 + (rand32() % 76) * 1000, GCD_YELL);
- ResetTimer();
- }
-
- bool RemoveImpalingSpine()
- {
- if (!SpineTargetGUID)
- return false;
-
- Unit* target = ObjectAccessor::GetUnit(*me, SpineTargetGUID);
- if (target && target->HasAura(SPELL_IMPALING_SPINE))
- target->RemoveAurasDueToSpell(SPELL_IMPALING_SPINE);
- SpineTargetGUID=0;
- return true;
- }
-
- void ResetTimer(uint32 inc = 0)
- {
- events.RescheduleEvent(EVENT_NEEDLE, 10000 + inc, GCD_CAST);
- events.RescheduleEvent(EVENT_SPINE, 20000 + inc, GCD_CAST);
- events.RescheduleEvent(EVENT_SHIELD, 60000 + inc);
- }
-
- void ExecuteEvent(uint32 eventId) override
- {
- switch (eventId)
- {
- case EVENT_SHIELD:
- DoCast(me, SPELL_TIDAL_SHIELD, true);
- ResetTimer(45000);
- break;
- case EVENT_BERSERK:
- Talk(SAY_ENRAGE);
- DoCast(me, SPELL_BERSERK, true);
- events.DelayEvents(15000, GCD_YELL);
- break;
- case EVENT_SPINE:
+/*
+ * 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 "ScriptMgr.h"
+#include "ScriptedCreature.h"
+#include "black_temple.h"
+#include "Player.h"
+#include "SpellInfo.h"
+
+enum Texts
+{
+ SAY_AGGRO = 0,
+ SAY_NEEDLE = 1,
+ SAY_SLAY = 2,
+ SAY_SPECIAL = 3,
+ SAY_ENRAGE = 4,
+ SAY_DEATH = 5
+};
+
+enum Spells
+{
+ SPELL_NEEDLE_SPINE = 39992,
+ SPELL_TIDAL_BURST = 39878,
+ SPELL_TIDAL_SHIELD = 39872,
+ SPELL_IMPALING_SPINE = 39837,
+ SPELL_CREATE_NAJENTUS_SPINE = 39956,
+ SPELL_HURL_SPINE = 39948,
+ SPELL_BERSERK = 26662
+
+};
+
+enum Events
+{
+ EVENT_BERSERK = 1,
+ EVENT_YELL = 2,
+ EVENT_NEEDLE = 3,
+ EVENT_SPINE = 4,
+ EVENT_SHIELD = 5
+};
+
+enum EventGroups
+{
+ GCD_CAST = 1,
+ GCD_YELL = 2
+};
+
+class boss_najentus : public CreatureScript
+{
+public:
+ boss_najentus() : CreatureScript("boss_najentus") { }
+
+ struct boss_najentusAI : public BossAI
+ {
+ boss_najentusAI(Creature* creature) : BossAI(creature, DATA_HIGH_WARLORD_NAJENTUS)
+ {
+ }
+
+ void Reset() override
+ {
+ _Reset();
+ SpineTargetGUID.Clear();
+ }
+
+ void KilledUnit(Unit* /*victim*/) override
+ {
+ Talk(SAY_SLAY);
+ events.DelayEvents(5000, GCD_YELL);
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ _JustDied();
+ Talk(SAY_DEATH);
+ }
+
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ {
+ if (spell->Id == SPELL_HURL_SPINE && me->HasAura(SPELL_TIDAL_SHIELD))
+ {
+ me->RemoveAurasDueToSpell(SPELL_TIDAL_SHIELD);
+ DoCast(me, SPELL_TIDAL_BURST, true);
+ ResetTimer();
+ }
+ }
+
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _EnterCombat();
+ Talk(SAY_AGGRO);
+ events.ScheduleEvent(EVENT_BERSERK, 480000, GCD_CAST);
+ events.ScheduleEvent(EVENT_YELL, 45000 + (rand32() % 76) * 1000, GCD_YELL);
+ ResetTimer();
+ }
+
+ bool RemoveImpalingSpine()
+ {
+ if (!SpineTargetGUID)
+ return false;
+
+ Unit* target = ObjectAccessor::GetUnit(*me, SpineTargetGUID);
+ if (target && target->HasAura(SPELL_IMPALING_SPINE))
+ target->RemoveAurasDueToSpell(SPELL_IMPALING_SPINE);
+ SpineTargetGUID.Clear();
+ return true;
+ }
+
+ void ResetTimer(uint32 inc = 0)
+ {
+ events.RescheduleEvent(EVENT_NEEDLE, 10000 + inc, GCD_CAST);
+ events.RescheduleEvent(EVENT_SPINE, 20000 + inc, GCD_CAST);
+ events.RescheduleEvent(EVENT_SHIELD, 60000 + inc);
+ }
+
+ void ExecuteEvent(uint32 eventId) override
+ {
+ switch (eventId)
+ {
+ case EVENT_SHIELD:
+ DoCast(me, SPELL_TIDAL_SHIELD, true);
+ ResetTimer(45000);
+ break;
+ case EVENT_BERSERK:
+ Talk(SAY_ENRAGE);
+ DoCast(me, SPELL_BERSERK, true);
+ events.DelayEvents(15000, GCD_YELL);
+ break;
+ case EVENT_SPINE:
{
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1);
@@ -158,59 +157,59 @@ public:
}
events.ScheduleEvent(EVENT_SPINE, 21000, GCD_CAST);
return;
- }
- case EVENT_NEEDLE:
- {
- //DoCast(me, SPELL_NEEDLE_SPINE, true);
- std::list<Unit*> targets;
- SelectTargetList(targets, 3, SELECT_TARGET_RANDOM, 80, true);
- for (std::list<Unit*>::const_iterator i = targets.begin(); i != targets.end(); ++i)
- DoCast(*i, 39835, true);
- events.ScheduleEvent(EVENT_NEEDLE, urand(15000, 25000), GCD_CAST);
- events.DelayEvents(1500, GCD_CAST);
- return;
- }
- case EVENT_YELL:
- Talk(SAY_SPECIAL);
- events.ScheduleEvent(EVENT_YELL, urand(25000, 100000), GCD_YELL);
- events.DelayEvents(15000, GCD_YELL);
- break;
- default:
- break;
- }
- }
-
- private:
- uint64 SpineTargetGUID;
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return GetBlackTempleAI<boss_najentusAI>(creature);
- }
-};
-
-class go_najentus_spine : public GameObjectScript
-{
-public:
- go_najentus_spine() : GameObjectScript("go_najentus_spine") { }
-
- bool OnGossipHello(Player* player, GameObject* go) override
- {
- if (InstanceScript* instance = go->GetInstanceScript())
- if (Creature* Najentus = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_HIGH_WARLORD_NAJENTUS)))
- if (ENSURE_AI(boss_najentus::boss_najentusAI, Najentus->AI())->RemoveImpalingSpine())
- {
- player->CastSpell(player, SPELL_CREATE_NAJENTUS_SPINE, true);
- go->Delete();
- }
- return true;
- }
-
-};
-
-void AddSC_boss_najentus()
-{
- new boss_najentus();
- new go_najentus_spine();
-}
+ }
+ case EVENT_NEEDLE:
+ {
+ //DoCast(me, SPELL_NEEDLE_SPINE, true);
+ std::list<Unit*> targets;
+ SelectTargetList(targets, 3, SELECT_TARGET_RANDOM, 80, true);
+ for (std::list<Unit*>::const_iterator i = targets.begin(); i != targets.end(); ++i)
+ DoCast(*i, 39835, true);
+ events.ScheduleEvent(EVENT_NEEDLE, urand(15000, 25000), GCD_CAST);
+ events.DelayEvents(1500, GCD_CAST);
+ return;
+ }
+ case EVENT_YELL:
+ Talk(SAY_SPECIAL);
+ events.ScheduleEvent(EVENT_YELL, urand(25000, 100000), GCD_YELL);
+ events.DelayEvents(15000, GCD_YELL);
+ break;
+ default:
+ break;
+ }
+ }
+
+ private:
+ ObjectGuid SpineTargetGUID;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetBlackTempleAI<boss_najentusAI>(creature);
+ }
+};
+
+class go_najentus_spine : public GameObjectScript
+{
+public:
+ go_najentus_spine() : GameObjectScript("go_najentus_spine") { }
+
+ bool OnGossipHello(Player* player, GameObject* go) override
+ {
+ if (InstanceScript* instance = go->GetInstanceScript())
+ if (Creature* Najentus = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_HIGH_WARLORD_NAJENTUS)))
+ if (ENSURE_AI(boss_najentus::boss_najentusAI, Najentus->AI())->RemoveImpalingSpine())
+ {
+ player->CastSpell(player, SPELL_CREATE_NAJENTUS_SPINE, true);
+ go->Delete();
+ }
+ return true;
+ }
+
+};
+
+void AddSC_boss_najentus()
+{
+ new boss_najentus();
+ new go_najentus_spine();
+}
diff --git a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
index 2c6bac4c9d9..3c4b37165de 100644
--- a/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/illidari_council.cpp
@@ -129,11 +129,20 @@ public:
{
npc_blood_elf_council_voice_triggerAI(Creature* creature) : ScriptedAI(creature)
{
- for (uint8 i = 0; i < 4; ++i)
- Council[i] = 0;
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ EnrageTimer = 900000; // 15 minutes
+ AggroYellTimer = 500;
+
+ YellCounter = 0;
+
+ EventStarted = false;
}
- uint64 Council[4];
+ ObjectGuid Council[4];
uint32 EnrageTimer;
uint32 AggroYellTimer;
@@ -144,12 +153,7 @@ public:
void Reset() override
{
- EnrageTimer = 900000; // 15 minutes
- AggroYellTimer = 500;
-
- YellCounter = 0;
-
- EventStarted = false;
+ Initialize();
}
// finds and stores the GUIDs for each Council member using instance data system.
@@ -157,10 +161,10 @@ public:
{
if (InstanceScript* instance = me->GetInstanceScript())
{
- Council[0] = instance->GetData64(DATA_GATHIOS_THE_SHATTERER);
- Council[1] = instance->GetData64(DATA_VERAS_DARKSHADOW);
- Council[2] = instance->GetData64(DATA_LADY_MALANDE);
- Council[3] = instance->GetData64(DATA_HIGH_NETHERMANCER_ZEREVOR);
+ Council[0] = instance->GetGuidData(DATA_GATHIOS_THE_SHATTERER);
+ Council[1] = instance->GetGuidData(DATA_VERAS_DARKSHADOW);
+ Council[2] = instance->GetGuidData(DATA_LADY_MALANDE);
+ Council[3] = instance->GetGuidData(DATA_HIGH_NETHERMANCER_ZEREVOR);
} else TC_LOG_ERROR("scripts", ERROR_INST_DATA);
}
@@ -225,14 +229,22 @@ public:
{
npc_illidari_councilAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
- for (uint8 i = 0; i < 4; ++i)
- Council[i] = 0;
+ }
+
+ void Initialize()
+ {
+ CheckTimer = 2000;
+ EndEventTimer = 0;
+
+ DeathCount = 0;
+ EventBegun = false;
}
InstanceScript* instance;
- uint64 Council[4];
+ ObjectGuid Council[4];
uint32 CheckTimer;
uint32 EndEventTimer;
@@ -243,10 +255,7 @@ public:
void Reset() override
{
- CheckTimer = 2000;
- EndEventTimer = 0;
-
- DeathCount = 0;
+ Initialize();
Creature* pMember = NULL;
for (uint8 i = 0; i < 4; ++i)
@@ -264,11 +273,9 @@ public:
}
instance->SetBossState(DATA_ILLIDARI_COUNCIL, NOT_STARTED);
- if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE)))
+ if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_ELF_COUNCIL_VOICE)))
VoiceTrigger->AI()->EnterEvadeMode();
- EventBegun = false;
-
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetDisplayId(11686);
@@ -283,13 +290,13 @@ public:
{
if (target && target->IsAlive())
{
- Council[0] = instance->GetData64(DATA_GATHIOS_THE_SHATTERER);
- Council[1] = instance->GetData64(DATA_HIGH_NETHERMANCER_ZEREVOR);
- Council[2] = instance->GetData64(DATA_LADY_MALANDE);
- Council[3] = instance->GetData64(DATA_VERAS_DARKSHADOW);
+ Council[0] = instance->GetGuidData(DATA_GATHIOS_THE_SHATTERER);
+ Council[1] = instance->GetGuidData(DATA_HIGH_NETHERMANCER_ZEREVOR);
+ Council[2] = instance->GetGuidData(DATA_LADY_MALANDE);
+ Council[3] = instance->GetGuidData(DATA_VERAS_DARKSHADOW);
// Start the event for the Voice Trigger
- if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE)))
+ if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_ELF_COUNCIL_VOICE)))
{
ENSURE_AI(npc_blood_elf_council_voice_trigger::npc_blood_elf_council_voice_triggerAI, VoiceTrigger->AI())->LoadCouncilGUIDs();
ENSURE_AI(npc_blood_elf_council_voice_trigger::npc_blood_elf_council_voice_triggerAI, VoiceTrigger->AI())->EventStarted = true;
@@ -322,7 +329,7 @@ public:
{
if (DeathCount > 3)
{
- if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE)))
+ if (Creature* VoiceTrigger = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BLOOD_ELF_COUNCIL_VOICE)))
VoiceTrigger->DealDamage(VoiceTrigger, VoiceTrigger->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
instance->SetBossState(DATA_ILLIDARI_COUNCIL, DONE);
//me->SummonCreature(AKAMAID, 746.466980f, 304.394989f, 311.90208f, 6.272870f, TEMPSUMMON_DEAD_DESPAWN, 0);
@@ -379,12 +386,10 @@ struct boss_illidari_councilAI : public ScriptedAI
boss_illidari_councilAI(Creature* creature) : ScriptedAI(creature)
{
instance = creature->GetInstanceScript();
- for (uint8 i = 0; i < 4; ++i)
- Council[i] = 0;
LoadedGUIDs = false;
}
- uint64 Council[4];
+ ObjectGuid Council[4];
InstanceScript* instance;
@@ -392,7 +397,7 @@ struct boss_illidari_councilAI : public ScriptedAI
void EnterCombat(Unit* who) override
{
- if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_ILLIDARI_COUNCIL)))
+ if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ILLIDARI_COUNCIL)))
ENSURE_AI(npc_illidari_council::npc_illidari_councilAI, controller->AI())->StartEvent(who);
DoZoneInCombat();
// Load GUIDs on first aggro because the Creature guids are only set as the creatures are created in world-
@@ -436,10 +441,10 @@ struct boss_illidari_councilAI : public ScriptedAI
void LoadGUIDs()
{
- Council[0] = instance->GetData64(DATA_LADY_MALANDE);
- Council[1] = instance->GetData64(DATA_HIGH_NETHERMANCER_ZEREVOR);
- Council[2] = instance->GetData64(DATA_GATHIOS_THE_SHATTERER);
- Council[3] = instance->GetData64(DATA_VERAS_DARKSHADOW);
+ Council[0] = instance->GetGuidData(DATA_LADY_MALANDE);
+ Council[1] = instance->GetGuidData(DATA_HIGH_NETHERMANCER_ZEREVOR);
+ Council[2] = instance->GetGuidData(DATA_GATHIOS_THE_SHATTERER);
+ Council[3] = instance->GetGuidData(DATA_VERAS_DARKSHADOW);
LoadedGUIDs = true;
}
@@ -457,7 +462,19 @@ public:
struct boss_gathios_the_shattererAI : public boss_illidari_councilAI
{
- boss_gathios_the_shattererAI(Creature* creature) : boss_illidari_councilAI(creature) { }
+ boss_gathios_the_shattererAI(Creature* creature) : boss_illidari_councilAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ ConsecrationTimer = 40000;
+ HammerOfJusticeTimer = 10000;
+ SealTimer = 40000;
+ AuraTimer = 90000;
+ BlessingTimer = 60000;
+ }
uint32 ConsecrationTimer;
uint32 HammerOfJusticeTimer;
@@ -467,11 +484,7 @@ public:
void Reset() override
{
- ConsecrationTimer = 40000;
- HammerOfJusticeTimer = 10000;
- SealTimer = 40000;
- AuraTimer = 90000;
- BlessingTimer = 60000;
+ Initialize();
}
void KilledUnit(Unit* /*victim*/) override
@@ -589,7 +602,20 @@ public:
struct boss_high_nethermancer_zerevorAI : public boss_illidari_councilAI
{
- boss_high_nethermancer_zerevorAI(Creature* creature) : boss_illidari_councilAI(creature) { }
+ boss_high_nethermancer_zerevorAI(Creature* creature) : boss_illidari_councilAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ BlizzardTimer = urand(30, 91) * 1000;
+ FlamestrikeTimer = urand(30, 91) * 1000;
+ ArcaneBoltTimer = 10000;
+ DampenMagicTimer = 2000;
+ ArcaneExplosionTimer = 14000;
+ Cooldown = 0;
+ }
uint32 BlizzardTimer;
uint32 FlamestrikeTimer;
@@ -600,12 +626,7 @@ public:
void Reset() override
{
- BlizzardTimer = urand(30, 91) * 1000;
- FlamestrikeTimer = urand(30, 91) * 1000;
- ArcaneBoltTimer = 10000;
- DampenMagicTimer = 2000;
- ArcaneExplosionTimer = 14000;
- Cooldown = 0;
+ Initialize();
}
void KilledUnit(Unit* /*victim*/) override
@@ -693,7 +714,18 @@ public:
struct boss_lady_malandeAI : public boss_illidari_councilAI
{
- boss_lady_malandeAI(Creature* creature) : boss_illidari_councilAI(creature) { }
+ boss_lady_malandeAI(Creature* creature) : boss_illidari_councilAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ EmpoweredSmiteTimer = 38000;
+ CircleOfHealingTimer = 20000;
+ DivineWrathTimer = 40000;
+ ReflectiveShieldTimer = 0;
+ }
uint32 EmpoweredSmiteTimer;
uint32 CircleOfHealingTimer;
@@ -702,10 +734,7 @@ public:
void Reset() override
{
- EmpoweredSmiteTimer = 38000;
- CircleOfHealingTimer = 20000;
- DivineWrathTimer = 40000;
- ReflectiveShieldTimer = 0;
+ Initialize();
}
void KilledUnit(Unit* /*victim*/) override
@@ -771,9 +800,19 @@ public:
struct boss_veras_darkshadowAI : public boss_illidari_councilAI
{
- boss_veras_darkshadowAI(Creature* creature) : boss_illidari_councilAI(creature) { }
+ boss_veras_darkshadowAI(Creature* creature) : boss_illidari_councilAI(creature)
+ {
+ Initialize();
+ }
+
+ void Initialize()
+ {
+ DeadlyPoisonTimer = 20000;
+ VanishTimer = urand(60, 121) * 1000;
+ AppearEnvenomTimer = 150000;
- uint64 EnvenomTargetGUID;
+ HasVanished = false;
+ }
uint32 DeadlyPoisonTimer;
uint32 VanishTimer;
@@ -783,13 +822,7 @@ public:
void Reset() override
{
- EnvenomTargetGUID = 0;
-
- DeadlyPoisonTimer = 20000;
- VanishTimer = urand(60, 121) * 1000;
- AppearEnvenomTimer = 150000;
-
- HasVanished = false;
+ Initialize();
me->SetVisible(true);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
index 55ad45597ea..7067ca659d3 100644
--- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
@@ -47,23 +47,6 @@ class instance_black_temple : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
-
- NajentusGUID = 0;
- SupremusGUID = 0;
- ShadeOfAkamaGUID = 0;
- AkamaShadeGUID = 0;
- AkamaGUID = 0;
- GathiosTheShattererGUID = 0;
- HighNethermancerZerevorGUID = 0;
- LadyMalandeGUID = 0;
- VerasDarkshadowGUID = 0;
- IllidariCouncilGUID = 0;
- BloodElfCouncilVoiceGUID = 0;
- IllidanStormrageGUID = 0;
-
- IllidanGateGUID = 0;
-
- memset(IllidanDoorGUIDs, 0, 2 * sizeof(uint64));
}
void OnCreatureCreate(Creature* creature) override
@@ -162,7 +145,7 @@ class instance_black_temple : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -200,28 +183,28 @@ class instance_black_temple : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 NajentusGUID;
- uint64 SupremusGUID;
- uint64 ShadeOfAkamaGUID;
- uint64 AkamaShadeGUID;
- uint64 AkamaGUID;
+ ObjectGuid NajentusGUID;
+ ObjectGuid SupremusGUID;
+ ObjectGuid ShadeOfAkamaGUID;
+ ObjectGuid AkamaShadeGUID;
+ ObjectGuid AkamaGUID;
- uint64 GathiosTheShattererGUID;
- uint64 HighNethermancerZerevorGUID;
- uint64 LadyMalandeGUID;
- uint64 VerasDarkshadowGUID;
+ ObjectGuid GathiosTheShattererGUID;
+ ObjectGuid HighNethermancerZerevorGUID;
+ ObjectGuid LadyMalandeGUID;
+ ObjectGuid VerasDarkshadowGUID;
- uint64 IllidariCouncilGUID;
- uint64 BloodElfCouncilVoiceGUID;
+ ObjectGuid IllidariCouncilGUID;
+ ObjectGuid BloodElfCouncilVoiceGUID;
- uint64 IllidanStormrageGUID;
+ ObjectGuid IllidanStormrageGUID;
- uint64 IllidanGateGUID;
- uint64 IllidanDoorGUIDs[2];
+ ObjectGuid IllidanGateGUID;
+ ObjectGuid IllidanDoorGUIDs[2];
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
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 7e24f4b54b2..ca04d41e3c8 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
@@ -111,10 +111,17 @@ public:
{
boss_fathomlord_karathressAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
- Advisors[0] = 0;
- Advisors[1] = 0;
- Advisors[2] = 0;
+ }
+
+ void Initialize()
+ {
+ CataclysmicBolt_Timer = 10000;
+ Enrage_Timer = 600000; //10 minutes
+ SearNova_Timer = 20000 + rand32() % 40000; // 20 - 60 seconds
+
+ BlessingOfTides = false;
}
InstanceScript* instance;
@@ -125,20 +132,16 @@ public:
bool BlessingOfTides;
- uint64 Advisors[MAX_ADVISORS];
+ ObjectGuid Advisors[MAX_ADVISORS];
void Reset() override
{
- CataclysmicBolt_Timer = 10000;
- Enrage_Timer = 600000; //10 minutes
- SearNova_Timer = 20000 + rand32() % 40000; // 20 - 60 seconds
-
- BlessingOfTides = false;
+ Initialize();
- uint64 RAdvisors[MAX_ADVISORS];
- RAdvisors[0] = instance->GetData64(DATA_SHARKKIS);
- RAdvisors[1] = instance->GetData64(DATA_TIDALVESS);
- RAdvisors[2] = instance->GetData64(DATA_CARIBDIS);
+ ObjectGuid RAdvisors[MAX_ADVISORS];
+ RAdvisors[0] = instance->GetGuidData(DATA_SHARKKIS);
+ RAdvisors[1] = instance->GetGuidData(DATA_TIDALVESS);
+ RAdvisors[2] = instance->GetGuidData(DATA_CARIBDIS);
// Respawn of the 3 Advisors
for (uint8 i = 0; i < MAX_ADVISORS; ++i)
if (RAdvisors[i])
@@ -175,9 +178,9 @@ public:
void GetAdvisors()
{
- Advisors[0] = instance->GetData64(DATA_SHARKKIS);
- Advisors[1] = instance->GetData64(DATA_TIDALVESS);
- Advisors[2] = instance->GetData64(DATA_CARIBDIS);
+ Advisors[0] = instance->GetGuidData(DATA_SHARKKIS);
+ Advisors[1] = instance->GetGuidData(DATA_TIDALVESS);
+ Advisors[2] = instance->GetGuidData(DATA_CARIBDIS);
}
void StartEvent(Unit* who)
@@ -187,7 +190,7 @@ public:
Talk(SAY_AGGRO);
DoZoneInCombat();
- instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+ instance->SetGuidData(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
@@ -216,7 +219,7 @@ public:
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER)))
+ if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_KARATHRESSEVENT_STARTER)))
{
AttackStart(target);
GetAdvisors();
@@ -281,7 +284,7 @@ public:
if (continueTriggering)
{
DoCast(me, SPELL_BLESSING_OF_THE_TIDES);
- me->MonsterYell(SAY_GAIN_BLESSING_OF_TIDES, LANG_UNIVERSAL, NULL);
+ me->Yell(SAY_GAIN_BLESSING_OF_TIDES, LANG_UNIVERSAL);
DoPlaySoundToSet(me, SOUND_GAIN_BLESSING_OF_TIDES);
}
}
@@ -307,8 +310,18 @@ public:
{
boss_fathomguard_sharkkisAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
- SummonedPet = 0;
+ }
+
+ void Initialize()
+ {
+ LeechingThrow_Timer = 20000;
+ TheBeastWithin_Timer = 30000;
+ Multishot_Timer = 15000;
+ Pet_Timer = 10000;
+
+ pet = false;
}
InstanceScript* instance;
@@ -320,35 +333,30 @@ public:
bool pet;
- uint64 SummonedPet;
+ ObjectGuid SummonedPet;
void Reset() override
{
- LeechingThrow_Timer = 20000;
- TheBeastWithin_Timer = 30000;
- Multishot_Timer = 15000;
- Pet_Timer = 10000;
-
- pet = false;
+ Initialize();
Creature* Pet = ObjectAccessor::GetCreature(*me, SummonedPet);
if (Pet && Pet->IsAlive())
Pet->DealDamage(Pet, Pet->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
- SummonedPet = 0;
+ SummonedPet.Clear();
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
+ if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KARATHRESS)))
ENSURE_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventSharkkisDeath();
}
void EnterCombat(Unit* who) override
{
- instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+ instance->SetGuidData(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
@@ -357,7 +365,7 @@ public:
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER)))
+ if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_KARATHRESSEVENT_STARTER)))
AttackStart(target);
}
@@ -446,9 +454,18 @@ public:
{
boss_fathomguard_tidalvessAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ FrostShock_Timer = 25000;
+ Spitfire_Timer = 60000;
+ PoisonCleansing_Timer = 30000;
+ Earthbind_Timer = 45000;
+ }
+
InstanceScript* instance;
uint32 FrostShock_Timer;
@@ -458,23 +475,20 @@ public:
void Reset() override
{
- FrostShock_Timer = 25000;
- Spitfire_Timer = 60000;
- PoisonCleansing_Timer = 30000;
- Earthbind_Timer = 45000;
+ Initialize();
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
+ if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KARATHRESS)))
ENSURE_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventTidalvessDeath();
}
void EnterCombat(Unit* who) override
{
- instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+ instance->SetGuidData(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
DoCast(me, SPELL_WINDFURY_WEAPON);
}
@@ -484,7 +498,7 @@ public:
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER)))
+ if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_KARATHRESSEVENT_STARTER)))
AttackStart(target);
}
@@ -515,7 +529,7 @@ public:
if (Spitfire_Timer <= diff)
{
DoCast(me, SPELL_SPITFIRE_TOTEM);
- if (Unit* SpitfireTotem = ObjectAccessor::GetUnit(*me, CREATURE_SPITFIRE_TOTEM))
+ if (Unit* SpitfireTotem = me->FindNearestCreature(CREATURE_SPITFIRE_TOTEM, 100.0f))
SpitfireTotem->ToCreature()->AI()->AttackStart(me->GetVictim());
Spitfire_Timer = 60000;
@@ -562,9 +576,18 @@ public:
{
boss_fathomguard_caribdisAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ WaterBoltVolley_Timer = 35000;
+ TidalSurge_Timer = 15000 + rand32() % 5000;
+ Heal_Timer = 55000;
+ Cyclone_Timer = 30000 + rand32() % 10000;
+ }
+
InstanceScript* instance;
uint32 WaterBoltVolley_Timer;
@@ -574,23 +597,20 @@ public:
void Reset() override
{
- WaterBoltVolley_Timer = 35000;
- TidalSurge_Timer = 15000 + rand32() % 5000;
- Heal_Timer = 55000;
- Cyclone_Timer = 30000 + rand32() % 10000;
+ Initialize();
instance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KARATHRESS)))
+ if (Creature* Karathress = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KARATHRESS)))
ENSURE_AI(boss_fathomlord_karathress::boss_fathomlord_karathressAI, Karathress->AI())->EventCaribdisDeath();
}
void EnterCombat(Unit* who) override
{
- instance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+ instance->SetGuidData(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
instance->SetData(DATA_KARATHRESSEVENT, IN_PROGRESS);
}
@@ -599,7 +619,7 @@ public:
//Only if not incombat check if the event is started
if (!me->IsInCombat() && instance->GetData(DATA_KARATHRESSEVENT))
{
- if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_KARATHRESSEVENT_STARTER)))
+ if (Unit* target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_KARATHRESSEVENT_STARTER)))
AttackStart(target);
}
@@ -675,13 +695,13 @@ public:
switch (rand32() % 4)
{
case 0:
- unit = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_KARATHRESS));
+ unit = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_KARATHRESS));
break;
case 1:
- unit = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_SHARKKIS));
+ unit = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_SHARKKIS));
break;
case 2:
- unit = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_TIDALVESS));
+ unit = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_TIDALVESS));
break;
case 3:
unit = me;
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 bcde75584fb..d6117c9053f 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
@@ -93,14 +93,30 @@ public:
{
boss_hydross_the_unstableAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
+ Initialize();
instance = creature->GetInstanceScript();
- beams[0] = 0;
- beams[1] = 0;
+ }
+
+ void Initialize()
+ {
+ beams[0].Clear();
+ beams[1].Clear();
+ PosCheck_Timer = 2500;
+ MarkOfHydross_Timer = 15000;
+ MarkOfCorruption_Timer = 15000;
+ WaterTomb_Timer = 7000;
+ VileSludge_Timer = 7000;
+ MarkOfHydross_Count = 0;
+ MarkOfCorruption_Count = 0;
+ EnrageTimer = 600000;
+
+ CorruptedForm = false;
+ beam = false;
}
InstanceScript* instance;
- uint64 beams[2];
+ ObjectGuid beams[2];
uint32 PosCheck_Timer;
uint32 MarkOfHydross_Timer;
uint32 MarkOfCorruption_Timer;
@@ -116,18 +132,8 @@ public:
void Reset() override
{
DeSummonBeams();
- beams[0] = 0;
- beams[1] = 0;
- PosCheck_Timer = 2500;
- MarkOfHydross_Timer = 15000;
- MarkOfCorruption_Timer = 15000;
- WaterTomb_Timer = 7000;
- VileSludge_Timer = 7000;
- MarkOfHydross_Count = 0;
- MarkOfCorruption_Count = 0;
- EnrageTimer = 600000;
+ Initialize();
- CorruptedForm = false;
me->SetMeleeDamageSchool(SPELL_SCHOOL_FROST);
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FROST, true);
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_NATURE, false);
@@ -135,7 +141,6 @@ public:
me->SetDisplayId(MODEL_CLEAN);
instance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, NOT_STARTED);
- beam = false;
Summons.DespawnAll();
}
@@ -147,7 +152,7 @@ public:
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
beamer->SetDisplayId(11686); //invisible
beamer->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- beams[0]=beamer->GetGUID();
+ beams[0] = beamer->GetGUID();
}
beamer = me->SummonCreature(ENTRY_BEAM_DUMMY, -219.918f, -371.308f, 22.0042f, 2.73072f, TEMPSUMMON_CORPSE_DESPAWN, 0);
if (beamer)
@@ -155,7 +160,7 @@ public:
beamer->CastSpell(me, SPELL_BLUE_BEAM, true);
beamer->SetDisplayId(11686); //invisible
beamer->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- beams[1]=beamer->GetGUID();
+ beams[1] = beamer->GetGUID();
}
}
void DeSummonBeams()
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 a241f2bea37..450ac350f0c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -147,17 +147,37 @@ public:
{
boss_lady_vashjAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
Intro = false;
JustCreated = true;
+ CanAttack = false;
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // set it only once on Creature create (no need do intro if wiped)
- for (uint8 i = 0; i < 4; ++i)
- ShieldGeneratorChannel[i] = 0;
+ }
+
+ void Initialize()
+ {
+ AggroTimer = 19000;
+ ShockBlastTimer = 1 + rand32() % 60000;
+ EntangleTimer = 30000;
+ StaticChargeTimer = 10000 + rand32() % 15000;
+ ForkedLightningTimer = 2000;
+ CheckTimer = 15000;
+ EnchantedElementalTimer = 5000;
+ TaintedElementalTimer = 50000;
+ CoilfangEliteTimer = 45000 + rand32() % 5000;
+ CoilfangStriderTimer = 60000 + rand32() % 10000;
+ SummonSporebatTimer = 10000;
+ SummonSporebatStaticTimer = 30000;
+ EnchantedElementalPos = 0;
+ Phase = 0;
+
+ Entangle = false;
}
InstanceScript* instance;
- uint64 ShieldGeneratorChannel[4];
+ ObjectGuid ShieldGeneratorChannel[4];
uint32 AggroTimer;
uint32 ShockBlastTimer;
@@ -181,22 +201,8 @@ public:
void Reset() override
{
- AggroTimer = 19000;
- ShockBlastTimer = 1 + rand32() % 60000;
- EntangleTimer = 30000;
- StaticChargeTimer = 10000 + rand32() % 15000;
- ForkedLightningTimer = 2000;
- CheckTimer = 15000;
- EnchantedElementalTimer = 5000;
- TaintedElementalTimer = 50000;
- CoilfangEliteTimer = 45000 + rand32() % 5000;
- CoilfangStriderTimer = 60000 + rand32() % 10000;
- SummonSporebatTimer = 10000;
- SummonSporebatStaticTimer = 30000;
- EnchantedElementalPos = 0;
- Phase = 0;
+ Initialize();
- Entangle = false;
if (JustCreated)
{
CanAttack = false;
@@ -210,7 +216,7 @@ public:
if (Unit* remo = ObjectAccessor::GetUnit(*me, ShieldGeneratorChannel[i]))
{
remo->setDeathState(JUST_DIED);
- ShieldGeneratorChannel[i] = 0;
+ ShieldGeneratorChannel[i].Clear();
}
}
}
@@ -557,26 +563,32 @@ public:
{
npc_enchanted_elementalAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ Move = 0;
+ Phase = 1;
+
+ X = ElementWPPos[0][0];
+ Y = ElementWPPos[0][1];
+ Z = ElementWPPos[0][2];
+ }
+
InstanceScript* instance;
uint32 Move;
uint32 Phase;
float X, Y, Z;
- uint64 VashjGUID;
+ ObjectGuid VashjGUID;
void Reset() override
{
me->SetSpeed(MOVE_WALK, 0.6f); // walk
me->SetSpeed(MOVE_RUN, 0.6f); // run
- Move = 0;
- Phase = 1;
-
- X = ElementWPPos[0][0];
- Y = ElementWPPos[0][1];
- Z = ElementWPPos[0][2];
+ Initialize();
//search for nearest waypoint (up on stairs)
for (uint32 i = 1; i < 8; ++i)
@@ -589,7 +601,7 @@ public:
}
}
- VashjGUID = instance->GetData64(DATA_LADYVASHJ);
+ VashjGUID = instance->GetGuidData(DATA_LADYVASHJ);
}
void EnterCombat(Unit* /*who*/) override { }
@@ -646,9 +658,16 @@ public:
{
npc_tainted_elementalAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ PoisonBoltTimer = 5000 + rand32() % 5000;
+ DespawnTimer = 30000;
+ }
+
InstanceScript* instance;
uint32 PoisonBoltTimer;
@@ -656,13 +675,12 @@ public:
void Reset() override
{
- PoisonBoltTimer = 5000 + rand32() % 5000;
- DespawnTimer = 30000;
+ Initialize();
}
void JustDied(Unit* /*killer*/) override
{
- if (Creature* vashj = ObjectAccessor::GetCreature((*me), instance->GetData64(DATA_LADYVASHJ)))
+ if (Creature* vashj = ObjectAccessor::GetCreature((*me), instance->GetGuidData(DATA_LADYVASHJ)))
ENSURE_AI(boss_lady_vashj::boss_lady_vashjAI, vashj->AI())->EventTaintedElementalDeath();
}
@@ -714,10 +732,19 @@ public:
{
npc_toxic_sporebatAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
EnterEvadeMode();
}
+ void Initialize()
+ {
+ MovementTimer = 0;
+ ToxicSporeTimer = 5000;
+ BoltTimer = 5500;
+ CheckTimer = 1000;
+ }
+
InstanceScript* instance;
uint32 MovementTimer;
@@ -729,10 +756,7 @@ public:
{
me->SetDisableGravity(true);
me->setFaction(14);
- MovementTimer = 0;
- ToxicSporeTimer = 5000;
- BoltTimer = 5500;
- CheckTimer = 1000;
+ Initialize();
}
void MoveInLineOfSight(Unit* /*who*/) override
@@ -778,7 +802,7 @@ public:
if (CheckTimer <= diff)
{
// check if vashj is death
- Unit* Vashj = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LADYVASHJ));
+ Unit* Vashj = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LADYVASHJ));
if (!Vashj || !Vashj->IsAlive() || ENSURE_AI(boss_lady_vashj::boss_lady_vashjAI, Vashj->ToCreature()->AI())->Phase != 3)
{
// remove
@@ -810,17 +834,23 @@ public:
{
npc_shield_generator_channelAI(Creature* creature) : ScriptedAI(creature)
{
+ Initialize();
instance = creature->GetInstanceScript();
}
+ void Initialize()
+ {
+ CheckTimer = 0;
+ Cast = false;
+ }
+
InstanceScript* instance;
uint32 CheckTimer;
bool Cast;
void Reset() override
{
- CheckTimer = 0;
- Cast = false;
+ Initialize();
me->SetDisplayId(11686); // invisible
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -833,7 +863,7 @@ public:
{
if (CheckTimer <= diff)
{
- Unit* vashj = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LADYVASHJ));
+ Unit* vashj = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LADYVASHJ));
if (vashj && vashj->IsAlive())
{
@@ -865,7 +895,7 @@ public:
return true;
}
- Creature* vashj = ObjectAccessor::GetCreature((*player), instance->GetData64(DATA_LADYVASHJ));
+ Creature* vashj = ObjectAccessor::GetCreature((*player), instance->GetGuidData(DATA_LADYVASHJ));
if (vashj && (ENSURE_AI(boss_lady_vashj::boss_lady_vashjAI, vashj->AI())->Phase == 2))
{
if (GameObject* gObj = targets.GetGOTarget())
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 fb5b4579942..9f51155b334 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
@@ -83,13 +83,12 @@ public:
{
npc_inner_demonAI(Creature* creature) : ScriptedAI(creature)
{
- victimGUID = 0;
}
uint32 ShadowBolt_Timer;
uint32 Link_Timer;
- uint64 victimGUID;
+ ObjectGuid victimGUID;
void Reset() override
{
@@ -97,17 +96,17 @@ public:
Link_Timer = 1000;
}
- void SetGUID(uint64 guid, int32 id/* = 0 */) override
+ void SetGUID(ObjectGuid guid, int32 id/* = 0 */) override
{
if (id == INNER_DEMON_VICTIM)
victimGUID = guid;
}
- uint64 GetGUID(int32 id/* = 0 */) const override
+ ObjectGuid GetGUID(int32 id/* = 0 */) const override
{
if (id == INNER_DEMON_VICTIM)
return victimGUID;
- return 0;
+ return ObjectGuid::Empty;
}
void JustDied(Unit* /*killer*/) override
@@ -190,10 +189,6 @@ public:
{
creature->GetPosition(x, y, z);
instance = creature->GetInstanceScript();
- Demon = 0;
-
- for (uint8 i = 0; i < 3; ++i)//clear guids
- SpellBinderGUID[i] = 0;
}
InstanceScript* instance;
@@ -213,10 +208,10 @@ public:
bool EnrageUsed;
float x, y, z;
- uint64 InnderDemon[5];
+ ObjectGuid InnderDemon[5];
uint32 InnerDemon_Count;
- uint64 Demon;
- uint64 SpellBinderGUID[3];
+ ObjectGuid Demon;
+ ObjectGuid SpellBinderGUID[3];
void Reset() override
{
@@ -317,10 +312,10 @@ public:
// and reseting equipment
me->LoadEquipment();
- if (instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER))
+ if (instance->GetGuidData(DATA_LEOTHERAS_EVENT_STARTER))
{
Unit* victim = NULL;
- victim = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER));
+ victim = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LEOTHERAS_EVENT_STARTER));
if (victim)
me->getThreatManager().addThreat(victim, 1);
StartEvent();
@@ -349,13 +344,12 @@ public:
{
if (InnderDemon[i])
{
- //delete creature
- Creature* creature = ObjectAccessor::GetCreature((*me), InnderDemon[i]);
- if (creature && creature->IsAlive())
- {
- creature->DespawnOrUnsummon();
- }
- InnderDemon[i] = 0;
+ //delete creature
+ Creature* creature = ObjectAccessor::GetCreature((*me), InnderDemon[i]);
+ if (creature && creature->IsAlive())
+ creature->DespawnOrUnsummon();
+
+ InnderDemon[i].Clear();
}
}
@@ -364,9 +358,9 @@ public:
void CastConsumingMadness() //remove this once SPELL_INSIDIOUS_WHISPER is supported by core
{
- for (uint8 i=0; i<5; ++i)
+ for (uint8 i = 0; i < 5; ++i)
{
- if (InnderDemon[i] > 0)
+ if (InnderDemon[i])
{
Creature* unit = ObjectAccessor::GetCreature((*me), InnderDemon[i]);
if (unit && unit->IsAlive())
@@ -481,7 +475,7 @@ public:
if (SwitchToDemon_Timer <= diff)
{
//switch to demon form
- me->RemoveAurasDueToSpell(SPELL_WHIRLWIND, 0);
+ me->RemoveAurasDueToSpell(SPELL_WHIRLWIND);
me->SetDisplayId(MODEL_DEMON);
Talk(SAY_SWITCH_TO_DEMON);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID , 0);
@@ -576,8 +570,8 @@ public:
Creature* Copy = NULL;
Copy = DoSpawnCreature(DEMON_FORM, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 6000);
if (Copy)
- {
- Demon = Copy->GetGUID();
+ {
+ Demon = Copy->GetGUID();
if (me->GetVictim())
Copy->AI()->AttackStart(me->GetVictim());
}
@@ -682,13 +676,12 @@ public:
npc_greyheart_spellbinderAI(Creature* creature) : ScriptedAI(creature)
{
instance = creature->GetInstanceScript();
- leotherasGUID = 0;
AddedBanish = false;
}
InstanceScript* instance;
- uint64 leotherasGUID;
+ ObjectGuid leotherasGUID;
uint32 Mindblast_Timer;
uint32 Earthshock_Timer;
@@ -700,7 +693,7 @@ public:
Mindblast_Timer = urand(3000, 8000);
Earthshock_Timer = urand(5000, 10000);
- instance->SetData64(DATA_LEOTHERAS_EVENT_STARTER, 0);
+ instance->SetGuidData(DATA_LEOTHERAS_EVENT_STARTER, ObjectGuid::Empty);
Creature* leotheras = ObjectAccessor::GetCreature(*me, leotherasGUID);
if (leotheras && leotheras->IsAlive())
ENSURE_AI(boss_leotheras_the_blind::boss_leotheras_the_blindAI, leotheras->AI())->CheckChannelers(/*false*/);
@@ -709,7 +702,7 @@ public:
void EnterCombat(Unit* who) override
{
me->InterruptNonMeleeSpells(false);
- instance->SetData64(DATA_LEOTHERAS_EVENT_STARTER, who->GetGUID());
+ instance->SetGuidData(DATA_LEOTHERAS_EVENT_STARTER, who->GetGUID());
}
void JustRespawned() override
@@ -734,12 +727,12 @@ public:
void UpdateAI(uint32 diff) override
{
if (!leotherasGUID)
- leotherasGUID = instance->GetData64(DATA_LEOTHERAS);
+ leotherasGUID = instance->GetGuidData(DATA_LEOTHERAS);
- if (!me->IsInCombat() && instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER))
+ if (!me->IsInCombat() && instance->GetGuidData(DATA_LEOTHERAS_EVENT_STARTER))
{
Unit* victim = NULL;
- victim = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER));
+ victim = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LEOTHERAS_EVENT_STARTER));
if (victim)
AttackStart(victim);
}
@@ -750,7 +743,7 @@ public:
return;
}
- if (!instance->GetData64(DATA_LEOTHERAS_EVENT_STARTER))
+ if (!instance->GetGuidData(DATA_LEOTHERAS_EVENT_STARTER))
{
EnterEvadeMode();
return;
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 a0ff469733c..83b8722ce47 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -234,7 +234,7 @@ public:
if (SpoutTimer <= diff)
{
- me->MonsterTextEmote(EMOTE_SPOUT, NULL, true);
+ me->TextEmote(EMOTE_SPOUT, nullptr, true);
me->SetReactState(REACT_PASSIVE);
me->GetMotionMaster()->MoveRotate(20000, urand(0, 1) ? ROTATE_DIRECTION_LEFT : ROTATE_DIRECTION_RIGHT);
SpoutTimer = 45000;
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 d501b919614..0a538ac0c39 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
@@ -215,8 +215,8 @@ public:
{
//Teleport 4 players under the waterfalls
Unit* target;
- std::set<uint64> list;
- std::set<uint64>::const_iterator itr;
+ GuidSet targets;
+ GuidSet::const_iterator itr;
for (uint8 i = 0; i < 4; ++i)
{
counter = 0;
@@ -226,13 +226,13 @@ public:
if (counter < Playercount)
break;
if (target)
- itr = list.find(target->GetGUID());
+ itr = targets.find(target->GetGUID());
++counter;
- } while (itr != list.end());
+ } while (itr != targets.end());
if (target)
{
- list.insert(target->GetGUID());
+ targets.insert(target->GetGUID());
ApplyWateryGrave(target, i);
}
}
@@ -253,8 +253,8 @@ public:
if (WateryGlobules_Timer <= diff)
{
Unit* pGlobuleTarget;
- std::set<uint64> globulelist;
- std::set<uint64>::const_iterator itr;
+ GuidSet globules;
+ GuidSet::const_iterator itr;
for (uint8 g = 0; g < 4; g++) //one unit can't cast more than one spell per update, so some players have to cast for us XD
{
counter = 0;
@@ -262,14 +262,14 @@ public:
{
pGlobuleTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true);
if (pGlobuleTarget)
- itr = globulelist.find(pGlobuleTarget->GetGUID());
+ itr = globules.find(pGlobuleTarget->GetGUID());
if (counter > Playercount)
break;
++counter;
- } while (itr != globulelist.end());
+ } while (itr != globules.end());
if (pGlobuleTarget)
{
- globulelist.insert(pGlobuleTarget->GetGUID());
+ globules.insert(pGlobuleTarget->GetGUID());
pGlobuleTarget->CastSpell(pGlobuleTarget, globulespell[g], true);
}
}
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 a3577f40d68..3fb090ab94c 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
@@ -94,20 +94,6 @@ class instance_serpent_shrine : public InstanceMapScript
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- LurkerBelow = 0;
- Sharkkis = 0;
- Tidalvess = 0;
- Caribdis = 0;
- LadyVashj = 0;
- Karathress = 0;
- KarathressEvent_Starter = 0;
- LeotherasTheBlind = 0;
- LeotherasEventStarter = 0;
-
- ControlConsole = 0;
- BridgePart[0] = 0;
- BridgePart[1] = 0;
- BridgePart[2] = 0;
StrangePool = 0;
Water = WATERSTATE_FRENZY;
@@ -247,7 +233,7 @@ class instance_serpent_shrine : public InstanceMapScript
}
}
- void SetData64(uint32 type, uint64 data) override
+ void SetGuidData(uint32 type, ObjectGuid data) override
{
if (type == DATA_KARATHRESSEVENT_STARTER)
KarathressEvent_Starter = data;
@@ -255,7 +241,7 @@ class instance_serpent_shrine : public InstanceMapScript
LeotherasEventStarter = data;
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -280,7 +266,7 @@ class instance_serpent_shrine : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -297,7 +283,6 @@ class instance_serpent_shrine : public InstanceMapScript
HandleGameObject(BridgePart[0], true);
HandleGameObject(BridgePart[0], true);
}
- ControlConsole = data;
break;
case DATA_TRASH:
if (data == 1 && TrashCount < MIN_KILLS)
@@ -424,18 +409,18 @@ class instance_serpent_shrine : public InstanceMapScript
}
private:
- uint64 LurkerBelow;
- uint64 Sharkkis;
- uint64 Tidalvess;
- uint64 Caribdis;
- uint64 LadyVashj;
- uint64 Karathress;
- uint64 KarathressEvent_Starter;
- uint64 LeotherasTheBlind;
- uint64 LeotherasEventStarter;
-
- uint64 ControlConsole;
- uint64 BridgePart[3];
+ ObjectGuid LurkerBelow;
+ ObjectGuid Sharkkis;
+ ObjectGuid Tidalvess;
+ ObjectGuid Caribdis;
+ ObjectGuid LadyVashj;
+ ObjectGuid Karathress;
+ ObjectGuid KarathressEvent_Starter;
+ ObjectGuid LeotherasTheBlind;
+ ObjectGuid LeotherasEventStarter;
+
+ ObjectGuid ControlConsole;
+ ObjectGuid BridgePart[3];
uint32 StrangePool;
uint32 FishingTimer;
uint32 WaterCheckTimer;
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 78a14539e25..3207727b5d1 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
@@ -226,7 +226,7 @@ public:
{
if (instance->GetBossState(DATA_MEKGINEER_STEAMRIGGER) == IN_PROGRESS)
{
- if (Creature* mekgineer = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MEKGINEER_STEAMRIGGER)))
+ if (Creature* mekgineer = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MEKGINEER_STEAMRIGGER)))
{
if (me->IsWithinDistInMap(mekgineer, MAX_REPAIR_RANGE))
{
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 40bc8dd69d7..f0884e83baa 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
@@ -58,11 +58,6 @@ class instance_steam_vault : public InstanceMapScript
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- ThespiaGUID = 0;
- MekgineerGUID = 0;
- KalithreshGUID = 0;
-
- MainChambersDoorGUID = 0;
DistillerState = 0;
}
@@ -96,7 +91,7 @@ class instance_steam_vault : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -109,7 +104,7 @@ class instance_steam_vault : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -158,11 +153,11 @@ class instance_steam_vault : public InstanceMapScript
}
protected:
- uint64 ThespiaGUID;
- uint64 MekgineerGUID;
- uint64 KalithreshGUID;
+ ObjectGuid ThespiaGUID;
+ ObjectGuid MekgineerGUID;
+ ObjectGuid KalithreshGUID;
- uint64 MainChambersDoorGUID;
+ ObjectGuid MainChambersDoorGUID;
uint8 DistillerState;
};
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 7090a693876..d3b11d481fb 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
@@ -54,7 +54,7 @@ public:
struct boss_the_black_stalkerAI : public ScriptedAI
{
- boss_the_black_stalkerAI(Creature* creature) : ScriptedAI(creature)
+ boss_the_black_stalkerAI(Creature* creature) : ScriptedAI(creature), Striders(creature)
{
}
@@ -62,11 +62,11 @@ public:
uint32 Levitate_Timer;
uint32 ChainLightning_Timer;
uint32 StaticCharge_Timer;
- uint64 LevitatedTarget;
+ ObjectGuid LevitatedTarget;
uint32 LevitatedTarget_Timer;
bool InAir;
uint32 check_Timer;
- std::list<uint64> Striders;
+ SummonList Striders;
void Reset() override
{
@@ -75,9 +75,9 @@ public:
StaticCharge_Timer = 10000;
SporeStriders_Timer = 10000 + rand32() % 5000;
check_Timer = 5000;
- LevitatedTarget = 0;
+ LevitatedTarget.Clear();
LevitatedTarget_Timer = 0;
- Striders.clear();
+ Striders.DespawnAll();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -86,7 +86,7 @@ public:
{
if (summon && summon->GetEntry() == ENTRY_SPORE_STRIDER)
{
- Striders.push_back(summon->GetGUID());
+ Striders.Summon(summon);
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1))
summon->AI()->AttackStart(target);
else
@@ -97,9 +97,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- for (std::list<uint64>::const_iterator i = Striders.begin(); i != Striders.end(); ++i)
- if (Creature* strider = ObjectAccessor::GetCreature(*me, *i))
- strider->DisappearAndDie();
+ Striders.DespawnAll();
}
void UpdateAI(uint32 diff) override
@@ -136,13 +134,13 @@ public:
{
if (!target->HasAura(SPELL_LEVITATE))
{
- LevitatedTarget = 0;
+ LevitatedTarget.Clear();
return;
}
if (InAir)
{
target->AddAura(SPELL_SUSPENSION, target);
- LevitatedTarget = 0;
+ LevitatedTarget.Clear();
}
else
{
@@ -152,7 +150,7 @@ public:
}
}
else
- LevitatedTarget = 0;
+ LevitatedTarget.Clear();
} else LevitatedTarget_Timer -= diff;
}
if (Levitate_Timer <= diff)
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 3b7bb0c4312..0fcc7310d07 100644
--- a/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
+++ b/src/server/scripts/Outland/GruulsLair/boss_high_king_maulgar.cpp
@@ -250,7 +250,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
+ if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
instance->SetBossState(DATA_MAULGAR, DONE);
@@ -333,7 +333,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
+ if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
instance->SetBossState(DATA_MAULGAR, DONE);
@@ -419,7 +419,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
+ if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
instance->SetBossState(DATA_MAULGAR, DONE);
@@ -496,7 +496,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
- if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_MAULGAR)))
+ if (Creature* maulgar = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_MAULGAR)))
maulgar->AI()->DoAction(ACTION_ADD_DEATH);
instance->SetBossState(DATA_MAULGAR, DONE);
diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
index 3337ce47fd6..5f8bafc736b 100644
--- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
+++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
@@ -48,8 +48,6 @@ class instance_gruuls_lair : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
LoadMinionData(minionData);
-
- MaulgarGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -112,7 +110,7 @@ class instance_gruuls_lair : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -121,11 +119,11 @@ class instance_gruuls_lair : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 MaulgarGUID;
+ ObjectGuid MaulgarGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index 15c660b4ad7..a0673d4aced 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -133,7 +133,7 @@ class go_broggok_lever : public GameObjectScript
if (instance->GetBossState(DATA_BROGGOK) != DONE && instance->GetBossState(DATA_BROGGOK) != IN_PROGRESS)
{
instance->SetBossState(DATA_BROGGOK, IN_PROGRESS);
- if (Creature* broggok = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_BROGGOK)))
+ if (Creature* broggok = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_BROGGOK)))
broggok->AI()->DoAction(ACTION_PREPARE_BROGGOK);
}
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 b2f199008d0..da7074b131f 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
@@ -65,8 +65,6 @@ class boss_kelidan_the_breaker : public CreatureScript
{
boss_kelidan_the_breakerAI(Creature* creature) : BossAI(creature, DATA_KELIDAN_THE_BREAKER)
{
- for (uint8 i = 0; i < 5; ++i)
- Channelers[i] = 0;
}
uint32 ShadowVolley_Timer;
@@ -76,7 +74,7 @@ class boss_kelidan_the_breaker : public CreatureScript
uint32 check_Timer;
bool Firenova;
bool addYell;
- uint64 Channelers[5];
+ ObjectGuid Channelers[5];
void Reset() override
{
@@ -116,7 +114,7 @@ class boss_kelidan_the_breaker : public CreatureScript
addYell = true;
Talk(SAY_ADD_AGGRO);
}
- for (uint8 i=0; i<5; ++i)
+ for (uint8 i = 0; i<5; ++i)
{
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
if (who && channeler && !channeler->IsInCombat())
@@ -126,7 +124,7 @@ class boss_kelidan_the_breaker : public CreatureScript
void ChannelerDied(Unit* killer)
{
- for (uint8 i=0; i<5; ++i)
+ for (uint8 i = 0; i < 5; ++i)
{
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
if (channeler && channeler->IsAlive())
@@ -138,25 +136,25 @@ class boss_kelidan_the_breaker : public CreatureScript
AttackStart(killer);
}
- uint64 GetChanneled(Creature* channeler1)
+ ObjectGuid GetChanneled(Creature* channeler1)
{
SummonChannelers();
if (!channeler1)
- return 0;
+ return ObjectGuid::Empty;
uint8 i;
- for (i=0; i<5; ++i)
+ for (i = 0; i < 5; ++i)
{
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
if (channeler && channeler->GetGUID() == channeler1->GetGUID())
break;
}
- return Channelers[(i+2)%5];
+ return Channelers[(i + 2) % 5];
}
void SummonChannelers()
{
- for (uint8 i=0; i<5; ++i)
+ for (uint8 i = 0; i < 5; ++i)
{
Creature* channeler = ObjectAccessor::GetCreature(*me, Channelers[i]);
if (!channeler || channeler->isDead())
@@ -164,7 +162,7 @@ class boss_kelidan_the_breaker : public CreatureScript
if (channeler)
Channelers[i] = channeler->GetGUID();
else
- Channelers[i] = 0;
+ Channelers[i].Clear();
}
}
@@ -310,16 +308,19 @@ class npc_shadowmoon_channeler : public CreatureScript
if (check_Timer <= diff)
{
if (!me->IsNonMeleeSpellCast(false))
+ {
if (Creature* Kelidan = me->FindNearestCreature(ENTRY_KELIDAN, 100))
{
- uint64 channeler = ENSURE_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->GetChanneled(me);
+ ObjectGuid channeler = ENSURE_AI(boss_kelidan_the_breaker::boss_kelidan_the_breakerAI, Kelidan->AI())->GetChanneled(me);
if (Unit* channeled = ObjectAccessor::GetUnit(*me, channeler))
DoCast(channeled, SPELL_CHANNELING);
}
+ }
check_Timer = 5000;
}
else
check_Timer -= diff;
+
return;
}
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 d88594d9c1e..8e9018a99c9 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -44,20 +44,6 @@ class instance_blood_furnace : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- TheMakerGUID = 0;
- BroggokGUID = 0;
- KelidanTheBreakerGUID = 0;
-
- BroggokLeverGUID = 0;
- PrisonDoor4GUID = 0;
-
- memset(PrisonCellGUIDs, 0, 8 * sizeof(uint64));
-
- PrisonersCell5.clear();
- PrisonersCell6.clear();
- PrisonersCell7.clear();
- PrisonersCell8.clear();
-
PrisonerCounter5 = 0;
PrisonerCounter6 = 0;
PrisonerCounter7 = 0;
@@ -154,7 +140,7 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -168,7 +154,7 @@ class instance_blood_furnace : public InstanceMapScript
return BroggokLeverGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -219,9 +205,9 @@ class instance_blood_furnace : public InstanceMapScript
HandleGameObject(PrisonCellGUIDs[DATA_PRISON_CELL8 - DATA_PRISON_CELL1], false);
}
- void ResetPrisoners(const std::set<uint64>& prisoners)
+ void ResetPrisoners(GuidSet const& prisoners)
{
- for (std::set<uint64>::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
+ for (GuidSet::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
if (Creature* prisoner = instance->GetCreature(*i))
ResetPrisoner(prisoner);
}
@@ -273,7 +259,7 @@ class instance_blood_furnace : public InstanceMapScript
ResetPrisoner(creature);
}
- void PrisonerDied(uint64 guid)
+ void PrisonerDied(ObjectGuid guid)
{
if (PrisonersCell5.find(guid) != PrisonersCell5.end() && --PrisonerCounter5 <= 0)
ActivateCell(DATA_PRISON_CELL6);
@@ -313,9 +299,9 @@ class instance_blood_furnace : public InstanceMapScript
}
}
- void ActivatePrisoners(std::set<uint64> const& prisoners)
+ void ActivatePrisoners(GuidSet const& prisoners)
{
- for (std::set<uint64>::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
+ for (GuidSet::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
if (Creature* prisoner = instance->GetCreature(*i))
{
prisoner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE);
@@ -324,19 +310,19 @@ class instance_blood_furnace : public InstanceMapScript
}
protected:
- uint64 TheMakerGUID;
- uint64 BroggokGUID;
- uint64 KelidanTheBreakerGUID;
+ ObjectGuid TheMakerGUID;
+ ObjectGuid BroggokGUID;
+ ObjectGuid KelidanTheBreakerGUID;
- uint64 BroggokLeverGUID;
- uint64 PrisonDoor4GUID;
+ ObjectGuid BroggokLeverGUID;
+ ObjectGuid PrisonDoor4GUID;
- uint64 PrisonCellGUIDs[8];
+ ObjectGuid PrisonCellGUIDs[8];
- std::set<uint64>PrisonersCell5;
- std::set<uint64>PrisonersCell6;
- std::set<uint64>PrisonersCell7;
- std::set<uint64>PrisonersCell8;
+ GuidSet PrisonersCell5;
+ GuidSet PrisonersCell6;
+ GuidSet PrisonersCell7;
+ GuidSet PrisonersCell8;
uint8 PrisonerCounter5;
uint8 PrisonerCounter6;
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 237aa506589..061d6a6a9a8 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
@@ -74,7 +74,7 @@ class boss_omor_the_unscarred : public CreatureScript
Shadowbolt_Timer = 2000;
Summon_Timer = 10000;
SummonedCount = 0;
- PlayerGUID = 0;
+ PlayerGUID.Clear();
CanPullBack = false;
_Reset();
@@ -141,7 +141,7 @@ class boss_omor_the_unscarred : public CreatureScript
DoCast(temp, SPELL_SHADOW_WHIP);
}
}
- PlayerGUID = 0;
+ PlayerGUID.Clear();
ShadowWhip_Timer = 2000;
CanPullBack = false;
}
@@ -218,7 +218,7 @@ class boss_omor_the_unscarred : public CreatureScript
uint32 Shadowbolt_Timer;
uint32 Summon_Timer;
uint32 SummonedCount;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
bool CanPullBack;
};
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 d2a93caf7a3..44c93dc77c9 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
@@ -70,7 +70,6 @@ class boss_nazan : public CreatureScript
{
boss_nazanAI(Creature* creature) : BossAI(creature, DATA_NAZAN)
{
- VazrudenGUID = 0;
flight = true;
}
@@ -183,7 +182,7 @@ class boss_nazan : public CreatureScript
uint32 Fly_Timer;
uint32 Turn_Timer;
bool flight;
- uint64 VazrudenGUID;
+ ObjectGuid VazrudenGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -282,8 +281,6 @@ class boss_vazruden_the_herald : public CreatureScript
summoned = false;
sentryDown = false;
lootSpawned = false;
- NazanGUID = 0;
- VazrudenGUID = 0;
}
void Reset() override
@@ -304,7 +301,7 @@ class boss_vazruden_the_herald : public CreatureScript
if (Nazan)
{
Nazan->DisappearAndDie();
- NazanGUID = 0;
+ NazanGUID.Clear();
}
Creature* Vazruden = ObjectAccessor::GetCreature(*me, VazrudenGUID);
@@ -313,7 +310,7 @@ class boss_vazruden_the_herald : public CreatureScript
if (Vazruden)
{
Vazruden->DisappearAndDie();
- VazrudenGUID = 0;
+ VazrudenGUID.Clear();
}
summoned = false;
me->ClearUnitState(UNIT_STATE_ROOT);
@@ -435,8 +432,8 @@ class boss_vazruden_the_herald : public CreatureScript
uint32 waypoint;
uint32 check;
bool sentryDown;
- uint64 NazanGUID;
- uint64 VazrudenGUID;
+ ObjectGuid NazanGUID;
+ ObjectGuid VazrudenGUID;
bool summoned;
bool lootSpawned;
};
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 82f101980fe..5baaebc0d7b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
@@ -40,7 +40,6 @@ enum Says
enum Spells
{
SPELL_MORTAL_WOUND = 30641,
- H_SPELL_MORTAL_WOUND = 36814,
SPELL_SURGE = 34645,
SPELL_RETALIATION = 22857
};
@@ -78,7 +77,6 @@ class boss_watchkeeper_gargolmar : public CreatureScript
}
void MoveInLineOfSight(Unit* who) override
-
{
if (!me->GetVictim() && me->CanCreatureAttack(who))
{
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 c8ffc7d495a..1c3eb6d8c34 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -40,7 +40,6 @@ class instance_ramparts : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- felIronChestGUID = 0;
}
void OnGameObjectCreate(GameObject* go) override
@@ -74,7 +73,7 @@ class instance_ramparts : public InstanceMapScript
}
protected:
- uint64 felIronChestGUID;
+ ObjectGuid felIronChestGUID;
bool spawned;
};
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index 8a5d6e41780..50cdcfe121b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -85,7 +85,7 @@ enum Spells
//count of clickers needed to interrupt blast nova
#define CLICKERS_COUNT 5
-typedef std::map<uint64, uint64> CubeMap;
+typedef std::map<ObjectGuid, ObjectGuid> CubeMap;
class npc_abyssal : public CreatureScript
{
@@ -253,10 +253,10 @@ class boss_magtheridon : public CreatureScript
instance->SetData(DATA_COLLAPSE, false);
}
- void SetClicker(uint64 cubeGUID, uint64 clickerGUID)
+ void SetClicker(ObjectGuid cubeGUID, ObjectGuid clickerGUID)
{
// to avoid multiclicks from 1 cube
- if (uint64 guid = Cube[cubeGUID])
+ if (ObjectGuid guid = Cube[cubeGUID])
DebuffClicker(ObjectAccessor::GetUnit(*me, guid));
Cube[cubeGUID] = clickerGUID;
NeedCheckCube = true;
@@ -284,7 +284,7 @@ class boss_magtheridon : public CreatureScript
if (!clicker || !clicker->HasAura(SPELL_SHADOW_GRASP))
{
DebuffClicker(clicker);
- (*i).second = 0;
+ (*i).second.Clear();
}
else
++ClickerNum;
@@ -588,7 +588,7 @@ public:
if (instance->GetData(DATA_MAGTHERIDON_EVENT) != IN_PROGRESS)
return true;
- Creature* Magtheridon =ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_MAGTHERIDON));
+ Creature* Magtheridon =ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_MAGTHERIDON));
if (!Magtheridon || !Magtheridon->IsAlive())
return true;
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 ae5ad009942..db0159d1a2d 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -58,10 +58,10 @@ class instance_magtheridons_lair : public InstanceMapScript
uint32 m_auiEncounter[MAX_ENCOUNTER];
- uint64 MagtheridonGUID;
- std::set<uint64> ChannelerGUID;
- uint64 DoorGUID;
- std::set<uint64> ColumnGUID;
+ ObjectGuid MagtheridonGUID;
+ GuidSet ChannelerGUID;
+ ObjectGuid DoorGUID;
+ GuidSet ColumnGUID;
uint32 CageTimer;
uint32 RespawnTimer;
@@ -71,11 +71,6 @@ class instance_magtheridons_lair : public InstanceMapScript
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- MagtheridonGUID = 0;
- ChannelerGUID.clear();
- DoorGUID = 0;
- ColumnGUID.clear();
-
CageTimer = 0;
RespawnTimer = 0;
}
@@ -124,14 +119,14 @@ class instance_magtheridons_lair : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
case DATA_MAGTHERIDON:
return MagtheridonGUID;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -152,7 +147,7 @@ class instance_magtheridons_lair : public InstanceMapScript
if (m_auiEncounter[1] != NOT_STARTED)
{
m_auiEncounter[1] = NOT_STARTED;
- for (std::set<uint64>::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
+ for (GuidSet::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{
if (Creature* Channeler = instance->GetCreature(*i))
{
@@ -171,7 +166,7 @@ class instance_magtheridons_lair : public InstanceMapScript
{
m_auiEncounter[1] = IN_PROGRESS;
// Let all five channelers aggro.
- for (std::set<uint64>::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
+ for (GuidSet::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{
Creature* Channeler = instance->GetCreature(*i);
if (Channeler && Channeler->IsAlive())
@@ -181,14 +176,14 @@ class instance_magtheridons_lair : public InstanceMapScript
Creature* Magtheridon = instance->GetCreature(MagtheridonGUID);
if (Magtheridon && Magtheridon->IsAlive())
{
- Magtheridon->MonsterTextEmote(EMOTE_BONDS_WEAKEN, NULL);
+ Magtheridon->TextEmote(EMOTE_BONDS_WEAKEN);
CageTimer = 120000;
}
HandleGameObject(DoorGUID, false);
}
break;
case DONE: // Add buff and check if all channelers are dead.
- for (std::set<uint64>::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
+ for (GuidSet::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{
Creature* Channeler = instance->GetCreature(*i);
if (Channeler && Channeler->IsAlive())
@@ -204,7 +199,7 @@ class instance_magtheridons_lair : public InstanceMapScript
break;
case DATA_COLLAPSE:
// true - collapse / false - reset
- for (std::set<uint64>::const_iterator i = ColumnGUID.begin(); i != ColumnGUID.end(); ++i)
+ for (GuidSet::const_iterator i = ColumnGUID.begin(); i != ColumnGUID.end(); ++i)
DoUseDoorOrButton(*i);
break;
default:
@@ -239,7 +234,7 @@ class instance_magtheridons_lair : public InstanceMapScript
{
if (RespawnTimer <= diff)
{
- for (std::set<uint64>::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
+ for (GuidSet::const_iterator i = ChannelerGUID.begin(); i != ChannelerGUID.end(); ++i)
{
if (Creature* Channeler = instance->GetCreature(*i))
{
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
index 9a8f83fa1c2..741d5b78285 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
@@ -323,7 +323,7 @@ class npc_fel_orc_convert : public CreatureScript
{
events.ScheduleEvent(EVENT_HEMORRHAGE, 3000);
- if (Creature* Kurse = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_GRAND_WARLOCK_NETHEKURSE)))
+ if (Creature* Kurse = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_GRAND_WARLOCK_NETHEKURSE)))
if (me->IsWithinDist(Kurse, 45.0f))
Kurse->AI()->SetData(SETDATA_DATA, SETDATA_PEON_AGGRO);
}
@@ -333,7 +333,7 @@ class npc_fel_orc_convert : public CreatureScript
if (instance->GetBossState(DATA_NETHEKURSE) != IN_PROGRESS)
return;
- if (Creature* Kurse = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_GRAND_WARLOCK_NETHEKURSE)))
+ if (Creature* Kurse = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_GRAND_WARLOCK_NETHEKURSE)))
Kurse->AI()->SetData(SETDATA_DATA, SETDATA_PEON_DEATH);
}
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 d61c40f8e3b..f60c65b0b7a 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
@@ -136,8 +136,6 @@ class boss_warbringer_omrogg : public CreatureScript
{
boss_warbringer_omroggAI(Creature* creature) : BossAI(creature, DATA_OMROGG)
{
- LeftHeadGUID = 0;
- RightHeadGUID = 0;
}
void Reset() override
@@ -145,13 +143,13 @@ class boss_warbringer_omrogg : public CreatureScript
if (Unit* LeftHead = ObjectAccessor::GetUnit(*me, LeftHeadGUID))
{
LeftHead->setDeathState(JUST_DIED);
- LeftHeadGUID = 0;
+ LeftHeadGUID.Clear();
}
if (Unit* RightHead = ObjectAccessor::GetUnit(*me, RightHeadGUID))
{
RightHead->setDeathState(JUST_DIED);
- RightHeadGUID = 0;
+ RightHeadGUID.Clear();
}
AggroYell = false;
@@ -363,8 +361,8 @@ class boss_warbringer_omrogg : public CreatureScript
}
private:
- uint64 LeftHeadGUID;
- uint64 RightHeadGUID;
+ ObjectGuid LeftHeadGUID;
+ ObjectGuid RightHeadGUID;
int iaggro;
int ithreat;
int ikilling;
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 f1dfcc2b391..7145ebfd7aa 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
@@ -143,7 +143,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
void removeAdds()
{
- for (std::vector<uint64>::const_iterator itr = adds.begin(); itr!= adds.end(); ++itr)
+ for (GuidVector::const_iterator itr = adds.begin(); itr!= adds.end(); ++itr)
{
Creature* creature = ObjectAccessor::GetCreature(*me, *itr);
if (creature && creature->IsAlive())
@@ -155,7 +155,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
}
adds.clear();
- for (std::vector<uint64>::const_iterator itr = assassins.begin(); itr!= assassins.end(); ++itr)
+ for (GuidVector::const_iterator itr = assassins.begin(); itr!= assassins.end(); ++itr)
{
Creature* creature = ObjectAccessor::GetCreature(*me, *itr);
if (creature && creature->IsAlive())
@@ -295,8 +295,8 @@ class boss_warchief_kargath_bladefist : public CreatureScript
}
private:
- std::vector<uint64> adds;
- std::vector<uint64> assassins;
+ GuidVector adds;
+ GuidVector assassins;
uint32 Charge_timer;
uint32 Blade_Dance_Timer;
uint32 Summon_Assistant_Timer;
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 8ee63ff03a2..838297aa21f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
@@ -45,9 +45,6 @@ class instance_shattered_halls : public InstanceMapScript
{
SetHeaders(DataHeader);
SetBossNumber(EncounterCount);
- nethekurseGUID = 0;
- nethekurseDoor1GUID = 0;
- nethekurseDoor2GUID = 0;
}
void OnGameObjectCreate(GameObject* go) override
@@ -98,7 +95,7 @@ class instance_shattered_halls : public InstanceMapScript
return true;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -112,13 +109,13 @@ class instance_shattered_halls : public InstanceMapScript
return nethekurseDoor2GUID;
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
protected:
- uint64 nethekurseGUID;
- uint64 nethekurseDoor1GUID;
- uint64 nethekurseDoor2GUID;
+ ObjectGuid nethekurseGUID;
+ ObjectGuid nethekurseDoor1GUID;
+ ObjectGuid nethekurseDoor2GUID;
};
};
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
index 09cb72f1a47..8dd1aad5d4d 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
@@ -178,7 +178,7 @@ class boss_alar : public CreatureScript
me->RemoveAllAuras();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->AttackStop();
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->SetSpeed(MOVE_RUN, 5.0f);
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MovePoint(0, waypoint[5][0], waypoint[5][1], waypoint[5][2]);
@@ -494,7 +494,7 @@ class npc_ember_of_alar : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
if (instance->GetData(DATA_ALAREVENT) == 2)
{
- if (Unit* Alar = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ALAR)))
+ if (Unit* Alar = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ALAR)))
{
int32 AlarHealth = int32(Alar->GetHealth()) - int32(Alar->CountPctFromMaxHealth(3));
if (AlarHealth > 0)
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
index 63c01540af2..0a9e5665ec8 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
@@ -464,7 +464,7 @@ class npc_solarium_priest : public CreatureScript
switch (urand(0, 1))
{
case 0:
- target = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_ASTROMANCER));
+ target = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_ASTROMANCER));
break;
case 1:
target = me;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index 64deebce8b8..8b23ee172af 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -163,7 +163,7 @@ struct advisorbase_ai : public ScriptedAI
bool FakeDeath;
bool m_bDoubled_Health;
uint32 DelayRes_Timer;
- uint64 DelayRes_Target;
+ ObjectGuid DelayRes_Target;
void Reset() override
{
@@ -175,7 +175,7 @@ struct advisorbase_ai : public ScriptedAI
FakeDeath = false;
DelayRes_Timer = 0;
- DelayRes_Target = 0;
+ DelayRes_Target.Clear();
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -183,7 +183,7 @@ struct advisorbase_ai : public ScriptedAI
//reset encounter
if (instance->GetData(DATA_KAELTHASEVENT) == 1 || instance->GetData(DATA_KAELTHASEVENT) == 3)
- if (Creature* Kaelthas = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_KAELTHAS)))
+ if (Creature* Kaelthas = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_KAELTHAS)))
Kaelthas->AI()->EnterEvadeMode();
}
@@ -245,7 +245,7 @@ struct advisorbase_ai : public ScriptedAI
me->ModifyAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->ClearAllReactives();
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->SetStandState(UNIT_STAND_STATE_DEAD);
@@ -290,7 +290,6 @@ class boss_kaelthas : public CreatureScript
boss_kaelthasAI(Creature* creature) : ScriptedAI(creature), summons(me)
{
instance = creature->GetInstanceScript();
- memset(&m_auiAdvisorGuid, 0, sizeof(m_auiAdvisorGuid));
}
InstanceScript* instance;
@@ -316,7 +315,7 @@ class boss_kaelthas : public CreatureScript
SummonList summons;
- uint64 m_auiAdvisorGuid[MAX_ADVISORS];
+ ObjectGuid m_auiAdvisorGuid[MAX_ADVISORS];
void Reset() override
{
@@ -363,10 +362,10 @@ class boss_kaelthas : public CreatureScript
void StartEvent()
{
- m_auiAdvisorGuid[0] = instance->GetData64(DATA_THALADREDTHEDARKENER);
- m_auiAdvisorGuid[1] = instance->GetData64(DATA_LORDSANGUINAR);
- m_auiAdvisorGuid[2] = instance->GetData64(DATA_GRANDASTROMANCERCAPERNIAN);
- m_auiAdvisorGuid[3] = instance->GetData64(DATA_MASTERENGINEERTELONICUS);
+ m_auiAdvisorGuid[0] = instance->GetGuidData(DATA_THALADREDTHEDARKENER);
+ m_auiAdvisorGuid[1] = instance->GetGuidData(DATA_LORDSANGUINAR);
+ m_auiAdvisorGuid[2] = instance->GetGuidData(DATA_GRANDASTROMANCERCAPERNIAN);
+ m_auiAdvisorGuid[3] = instance->GetGuidData(DATA_MASTERENGINEERTELONICUS);
if (!m_auiAdvisorGuid[0] || !m_auiAdvisorGuid[1] || !m_auiAdvisorGuid[2] || !m_auiAdvisorGuid[3])
{
@@ -927,7 +926,7 @@ class boss_kaelthas : public CreatureScript
//Using packet workaround
WorldPacket data(SMSG_MOVE_SET_CAN_FLY, 12);
- data.append(unit->GetPackGUID());
+ data << unit->GetPackGUID();
data << uint32(0);
unit->SendMessageToSet(&data, true);
}
@@ -953,7 +952,7 @@ class boss_kaelthas : public CreatureScript
{
//Using packet workaround
WorldPacket data(SMSG_MOVE_UNSET_CAN_FLY, 12);
- data.append(unit->GetPackGUID());
+ data << unit->GetPackGUID();
data << uint32(0);
unit->SendMessageToSet(&data, true);
}
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 6b78706b437..b518eb1cb8b 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
@@ -137,7 +137,7 @@ class boss_void_reaver : public CreatureScript
target = me->GetVictim();
if (target)
- me->CastSpell(target, SPELL_ARCANE_ORB, false, NULL, NULL, 0);
+ me->CastSpell(target, SPELL_ARCANE_ORB, false, NULL, NULL);
ArcaneOrb_Timer = 3000;
}
else
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 07cbd68f741..2234547c76a 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
@@ -48,13 +48,13 @@ class instance_the_eye : public InstanceMapScript
{
instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) { }
- uint64 ThaladredTheDarkener;
- uint64 LordSanguinar;
- uint64 GrandAstromancerCapernian;
- uint64 MasterEngineerTelonicus;
- uint64 Kaelthas;
- uint64 Astromancer;
- uint64 Alar;
+ ObjectGuid ThaladredTheDarkener;
+ ObjectGuid LordSanguinar;
+ ObjectGuid GrandAstromancerCapernian;
+ ObjectGuid MasterEngineerTelonicus;
+ ObjectGuid Kaelthas;
+ ObjectGuid Astromancer;
+ ObjectGuid Alar;
uint8 KaelthasEventPhase;
uint8 AlarEventPhase;
@@ -65,14 +65,6 @@ class instance_the_eye : public InstanceMapScript
SetHeaders(DataHeader);
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
- ThaladredTheDarkener = 0;
- LordSanguinar = 0;
- GrandAstromancerCapernian = 0;
- MasterEngineerTelonicus = 0;
- Kaelthas = 0;
- Astromancer = 0;
- Alar = 0;
-
KaelthasEventPhase = 0;
AlarEventPhase = 0;
}
@@ -114,7 +106,7 @@ class instance_the_eye : public InstanceMapScript
}
}
- uint64 GetData64(uint32 identifier) const override
+ ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -126,7 +118,7 @@ class instance_the_eye : public InstanceMapScript
case DATA_ASTROMANCER: return Astromancer;
case DATA_ALAR: return Alar;
}
- return 0;
+ return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
index 3befc3742ff..1a8658c8fbc 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.cpp
@@ -322,7 +322,7 @@ class npc_warden_mellichar : public CreatureScript
DoCast(me, SPELL_BUBBLE_VISUAL);
instance->SetBossState(DATA_HARBINGER_SKYRISS, IN_PROGRESS);
- instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), false);
IsRunning = true;
}
@@ -356,7 +356,7 @@ class npc_warden_mellichar : public CreatureScript
case 2:
DoCast(me, SPELL_TARGET_ALPHA);
instance->SetData(DATA_WARDEN_1, IN_PROGRESS);
- instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), false);
break;
case 3:
DoCast(me, SPELL_TARGET_BETA);
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 41bc93cfdfe..71e23a65d66 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
@@ -77,7 +77,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
_JustDied();
Talk(SAY_DEATH);
- if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
+ if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
soccothrates->AI()->SetData(1, 1);
}
@@ -163,7 +163,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_WAVE, urand(11000, 16000));
break;
case EVENT_ME_FIRST:
- if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
+ if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
soccothrates->AI()->Talk(SAY_AGGRO_DALLIAH_FIRST);
break;
@@ -174,7 +174,7 @@ class boss_dalliah_the_doomsayer : public CreatureScript
if (HealthBelowPct(25) && !soccothratesTaunt)
{
- if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
+ if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
soccothrates->AI()->Talk(SAY_DALLIAH_25_PERCENT);
soccothratesTaunt = true;
}
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 7563ecb40db..ec22baf2d4e 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -158,18 +158,18 @@ class boss_harbinger_skyriss : public CreatureScript
{
case 1:
Talk(SAY_INTRO);
- instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), true);
+ instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), true);
++Intro_Phase;
Intro_Timer = 25000;
break;
case 2:
Talk(SAY_AGGRO);
- if (Unit* mellic = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_MELLICHAR)))
+ if (Unit* mellic = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_MELLICHAR)))
{
//should have a better way to do this. possibly spell exist.
mellic->setDeathState(JUST_DIED);
mellic->SetHealth(0);
- instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), false);
+ instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), false);
}
++Intro_Phase;
Intro_Timer = 3000;
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 a519ec7207c..27de2786243 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
@@ -103,7 +103,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
_JustDied();
Talk(SAY_DEATH);
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
if (dalliah->IsAlive() && !dalliah->IsInCombat())
dalliah->AI()->SetData(1, 1);
}
@@ -161,7 +161,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
switch (eventId)
{
case EVENT_PREFIGHT_1:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_1);
events.ScheduleEvent(EVENT_PREFIGHT_2, 3000);
break;
@@ -170,7 +170,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
events.ScheduleEvent(EVENT_PREFIGHT_3, 3000);
break;
case EVENT_PREFIGHT_3:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_2);
events.ScheduleEvent(EVENT_PREFIGHT_4, 6000);
break;
@@ -179,7 +179,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
events.ScheduleEvent(EVENT_PREFIGHT_5, 2000);
break;
case EVENT_PREFIGHT_5:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_3);
events.ScheduleEvent(EVENT_PREFIGHT_6, 3000);
break;
@@ -188,7 +188,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
events.ScheduleEvent(EVENT_PREFIGHT_7, 2000);
break;
case EVENT_PREFIGHT_7:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->GetMotionMaster()->MovePoint(0, 118.6048f, 96.84852f, 22.44115f);
events.ScheduleEvent(EVENT_PREFIGHT_8, 4000);
break;
@@ -197,7 +197,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
events.ScheduleEvent(EVENT_PREFIGHT_9, 4000);
break;
case EVENT_PREFIGHT_9:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
{
dalliah->SetFacingToObject(me);
me->SetFacingToObject(dalliah);
@@ -251,7 +251,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(11000, 12000));
break;
case EVENT_ME_FIRST:
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
if (dalliah->IsAlive() && !dalliah->IsInCombat())
dalliah->AI()->Talk(SAY_AGGRO_SOCCOTHRATES_FIRST);
break;
@@ -262,7 +262,7 @@ class boss_wrath_scryer_soccothrates : public CreatureScript
if (HealthBelowPct(25) && !dalliahTaunt)
{
- if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
+ if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_SOCCOTHRATES_25_PERCENT);
dalliahTaunt = true;
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
index b092243637b..984af86e645 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
@@ -39,14 +39,8 @@ class instance_arcatraz : public InstanceMapScript
SetBossNumber(EncounterCount);
LoadDoorData(doorData);
- DalliahGUID = 0;
- SoccothratesGUID = 0;
- MellicharGUID = 0;
- WardensShieldGUID = 0;
-
ConversationState = NOT_STARTED;
- memset(StasisPodGUIDs, 0, 5 * sizeof(uint64));
memset(StasisPodStates, NOT_STARTED, 5 * sizeof(uint8));
}
@@ -151,7 +145,7 @@ class instance_arcatraz : public InstanceMapScript
return 0;
}
- uint64 GetData64(uint32 data) const override
+ ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -166,7 +160,7 @@ class instance_arcatraz : public InstanceMapScript
default:
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -193,11 +187,11 @@ class instance_arcatraz : public InstanceMapScript
}
protected:
- uint64 DalliahGUID;
- uint64 SoccothratesGUID;
- uint64 StasisPodGUIDs[5];
- uint64 MellicharGUID;
- uint64 WardensShieldGUID;
+ ObjectGuid DalliahGUID;
+ ObjectGuid SoccothratesGUID;
+ ObjectGuid StasisPodGUIDs[5];
+ ObjectGuid MellicharGUID;
+ ObjectGuid WardensShieldGUID;
uint8 ConversationState;
uint8 StasisPodStates[5];
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 0c322877808..c0591f7b874 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
@@ -66,8 +66,6 @@ class boss_high_botanist_freywinn : public CreatureScript
{
boss_high_botanist_freywinnAI(Creature* creature) : BossAI(creature, DATA_HIGH_BOTANIST_FREYWINN) { }
- std::list<uint64> Adds_List;
-
uint32 SummonSeedling_Timer;
uint32 TreeForm_Timer;
uint32 MoveCheck_Timer;
@@ -76,7 +74,7 @@ class boss_high_botanist_freywinn : public CreatureScript
void Reset() override
{
- Adds_List.clear();
+ summons.DespawnAll();
SummonSeedling_Timer = 6000;
TreeForm_Timer = 30000;
@@ -93,7 +91,12 @@ class boss_high_botanist_freywinn : public CreatureScript
void JustSummoned(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_FRAYER)
- Adds_List.push_back(summoned->GetGUID());
+ summons.Summon(summoned);
+ }
+
+ void SummonedCreatureDespawn(Creature* summon) override
+ {
+ summons.Despawn(summon);
}
void DoSummonSeedling()
@@ -147,18 +150,15 @@ class boss_high_botanist_freywinn : public CreatureScript
{
if (MoveCheck_Timer <= diff)
{
- if (!Adds_List.empty())
+ for (SummonList::iterator itr = summons.begin(); itr != summons.end(); ++itr)
{
- for (std::list<uint64>::iterator itr = Adds_List.begin(); itr != Adds_List.end(); ++itr)
+ if (Unit* temp = ObjectAccessor::GetUnit(*me, *itr))
{
- if (Unit* temp = ObjectAccessor::GetUnit(*me, *itr))
+ if (!temp->IsAlive())
{
- if (!temp->IsAlive())
- {
- Adds_List.erase(itr);
- ++DeadAddsCount;
- break;
- }
+ summons.erase(itr);
+ ++DeadAddsCount;
+ break;
}
}
}
@@ -168,7 +168,7 @@ class boss_high_botanist_freywinn : public CreatureScript
if (DeadAddsCount >= 3)
{
- Adds_List.clear();
+ summons.DespawnAll();
DeadAddsCount = 0;
me->InterruptNonMeleeSpells(true);
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 8bc9d0982e3..56c62bbf50f 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp
@@ -74,10 +74,9 @@ class npc_warp_splinter_treant : public CreatureScript
{
npc_warp_splinter_treantAI(Creature* creature) : ScriptedAI(creature)
{
- WarpGuid = 0;
}
- uint64 WarpGuid;
+ ObjectGuid WarpGuid;
uint32 check_Timer;
void Reset() override
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 eb46211fa59..19453bd3925 100644
--- a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
+++ b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp
@@ -29,11 +29,6 @@ class instance_the_botanica : public InstanceMapScript
instance_the_botanica_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
- CommanderSarannisGUID = 0;
- HighBotanistFreywinnGUID = 0;
- ThorngrinTheTenderGUID = 0;
- LajGUID = 0;
- WarpSplinterGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -60,7 +55,7 @@ class instance_the_botanica : public InstanceMapScript
}
}
- uint64 GetData64(uint32 type) const override
+ ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -78,7 +73,7 @@ class instance_the_botanica : public InstanceMapScript
break;
}
- return 0;
+ return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -102,11 +97,11 @@ class instance_the_botanica : public InstanceMapScript
}
protected:
- uint64 CommanderSarannisGUID;
- uint64 HighBotanistFreywinnGUID;
- uint64 ThorngrinTheTenderGUID;
- uint64 LajGUID;
- uint64 WarpSplinterGUID;
+ ObjectGuid CommanderSarannisGUID;
+ ObjectGuid HighBotanistFreywinnGUID;
+ ObjectGuid ThorngrinTheTenderGUID;
+ ObjectGuid LajGUID;
+ ObjectGuid WarpSplinterGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
diff --git a/src/server/scripts/Outland/boss_doomwalker.cpp b/src/server/scripts/Outland/boss_doomwalker.cpp
index a193e8ff880..7b72da0b02e 100644
--- a/src/server/scripts/Outland/boss_doomwalker.cpp
+++ b/src/server/scripts/Outland/boss_doomwalker.cpp
@@ -94,7 +94,7 @@ class boss_doomwalker : public CreatureScript
{
if (who && who->GetTypeId() == TYPEID_PLAYER && me->IsValidAttackTarget(who))
- if (who->HasAura(SPELL_MARK_DEATH, 0))
+ if (who->HasAura(SPELL_MARK_DEATH))
who->CastSpell(who, SPELL_AURA_DEATH, 1);
}
diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
index 03b8e7e69c8..5c95376cdfc 100644
--- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
+++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp
@@ -73,13 +73,6 @@ public:
}
}
- uint64 OgreGUID;
-
- void Reset() override
- {
- OgreGUID = 0;
- }
-
void UpdateAI(uint32 /*diff*/) override { }
};
@@ -115,13 +108,12 @@ public:
{
npc_bloodmaul_bruteAI(Creature* creature) : ScriptedAI(creature)
{
- PlayerGUID = 0;
hp30 = false;
}
void Reset() override
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
hp30 = false;
}
@@ -207,7 +199,7 @@ public:
private:
EventMap events;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
bool hp30;
};
@@ -617,7 +609,7 @@ class npc_simon_bunny : public CreatureScript
uint8 gameLevel;
uint8 fails;
uint8 gameTicks;
- uint64 playerGUID;
+ ObjectGuid playerGUID;
uint32 clusterIds[SIMON_MAX_COLORS];
float zCoordCorrection;
float searchDistance;
@@ -727,7 +719,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(ObjectGuid guid, int32 id) override
{
me->SetCanFly(true);
@@ -1131,7 +1123,6 @@ public:
{
npc_oscillating_frequency_scanner_master_bunnyAI(Creature* creature) : ScriptedAI(creature)
{
- playerGuid = 0;
timer = 500;
}
@@ -1170,7 +1161,7 @@ public:
}
private:
- uint64 playerGuid;
+ ObjectGuid playerGuid;
uint32 timer;
};
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 0da70207a04..01ad2ce334f 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -310,7 +310,7 @@ public:
void Reset() override
{
checkTimer = 5000; //check for creature every 5 sec
- helboarGUID = 0;
+ helboarGUID.Clear();
}
void MovementInform(uint32 type, uint32 id) override
@@ -352,7 +352,7 @@ public:
private:
uint32 checkTimer;
- uint64 helboarGUID;
+ ObjectGuid helboarGUID;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp
index a8a99d757e7..b8dd1393600 100644
--- a/src/server/scripts/Outland/zone_nagrand.cpp
+++ b/src/server/scripts/Outland/zone_nagrand.cpp
@@ -299,7 +299,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ());
if (player)
- player->KilledMonsterCredit(NPC_CORKI_CREDIT_1, 0);
+ player->KilledMonsterCredit(NPC_CORKI_CREDIT_1);
}
}
@@ -309,7 +309,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()-5, go->GetPositionY(), go->GetPositionZ());
if (player)
- player->KilledMonsterCredit(NPC_CORKI_2, 0);
+ player->KilledMonsterCredit(NPC_CORKI_2);
}
}
@@ -319,7 +319,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+4, go->GetPositionY(), go->GetPositionZ());
if (player)
- player->KilledMonsterCredit(NPC_CORKI_CREDIT_3, 0);
+ player->KilledMonsterCredit(NPC_CORKI_CREDIT_3);
}
}
return true;
@@ -594,7 +594,7 @@ class go_warmaul_prison : public GameObjectScript
if (Creature* prisoner = go->FindNearestCreature(NPC_MAGHAR_PRISONER, 5.0f))
{
- player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0);
+ player->KilledMonsterCredit(NPC_MAGHAR_PRISONER);
prisoner->AI()->Talk(SAY_FREE, player);
prisoner->DespawnOrUnsummon(6000);
diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp
index f82c1f5fb58..eb2fae03202 100644
--- a/src/server/scripts/Outland/zone_netherstorm.cpp
+++ b/src/server/scripts/Outland/zone_netherstorm.cpp
@@ -83,9 +83,9 @@ public:
{
npc_commander_dawnforgeAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 PlayerGUID;
- uint64 ardonisGUID;
- uint64 pathaleonGUID;
+ ObjectGuid PlayerGUID;
+ ObjectGuid ardonisGUID;
+ ObjectGuid pathaleonGUID;
uint32 Phase;
uint32 PhaseSubphase;
@@ -94,9 +94,9 @@ public:
void Reset() override
{
- PlayerGUID = 0;
- ardonisGUID = 0;
- pathaleonGUID = 0;
+ PlayerGUID.Clear();
+ ardonisGUID.Clear();
+ pathaleonGUID.Clear();
Phase = 1;
PhaseSubphase = 0;
@@ -415,7 +415,6 @@ public:
Materialize = false;
Drained = false;
WeakPercent = 25;
- PlayerGUID = 0;
ManaBurnTimer = 5000;
}
@@ -424,7 +423,7 @@ public:
bool Drained;
uint8 WeakPercent;
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 ManaBurnTimer;
@@ -435,7 +434,7 @@ public:
Drained = false;
WeakPercent = 25 + (rand32() % 16); // 25-40
- PlayerGUID = 0;
+ PlayerGUID.Clear();
ManaBurnTimer = 5000 + (rand32() % 3 * 1000); // 5-8 sec cd
@@ -725,7 +724,7 @@ class go_captain_tyralius_prison : public GameObjectScript
go->UseDoorOrButton();
if (Creature* tyralius = go->FindNearestCreature(NPC_CAPTAIN_TYRALIUS, 1.0f))
{
- player->KilledMonsterCredit(NPC_CAPTAIN_TYRALIUS, 0);
+ player->KilledMonsterCredit(NPC_CAPTAIN_TYRALIUS);
tyralius->AI()->Talk(SAY_FREE);
tyralius->DespawnOrUnsummon(8000);
}
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index db34665e641..fe323452c29 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -24,6 +24,8 @@ SDCategory: Shadowmoon Valley
EndScriptData */
/* ContentData
+npc_invis_infernal_caster
+npc_infernal_attacker
npc_mature_netherwing_drake
npc_enslaved_netherwing_drake
npc_drake_dealer_hurlunk
@@ -48,6 +50,141 @@ EndContentData */
#include "WorldSession.h"
/*#####
+# npc_invis_infernal_caster
+#####*/
+
+enum InvisInfernalCaster
+{
+ EVENT_CAST_SUMMON_INFERNAL = 1,
+ NPC_INFERNAL_ATTACKER = 21419,
+ MODEL_INVISIBLE = 20577,
+ MODEL_INFERNAL = 17312,
+ SPELL_SUMMON_INFERNAL = 37277,
+ TYPE_INFERNAL = 1,
+ DATA_DIED = 1
+};
+
+class npc_invis_infernal_caster : public CreatureScript
+{
+public:
+ npc_invis_infernal_caster() : CreatureScript("npc_invis_infernal_caster") { }
+
+ struct npc_invis_infernal_casterAI : public ScriptedAI
+ {
+ npc_invis_infernal_casterAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() override
+ {
+ ground = me->GetMap()->GetHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZMinusOffset());
+ SummonInfernal();
+ events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, urand(1000, 3000));
+ }
+
+ void SetData(uint32 id, uint32 data) override
+ {
+ if (id == TYPE_INFERNAL && data == DATA_DIED)
+ SummonInfernal();
+ }
+
+ void SummonInfernal()
+ {
+ Creature* infernal = me->SummonCreature(NPC_INFERNAL_ATTACKER, me->GetPositionX(), me->GetPositionY(), ground + 0.05f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000);
+ infernalGUID = infernal->GetGUID();
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ events.Update(diff);
+
+ while (uint32 eventId = events.ExecuteEvent())
+ {
+ switch (eventId)
+ {
+ case EVENT_CAST_SUMMON_INFERNAL:
+ {
+ if (Unit* infernal = ObjectAccessor::GetUnit(*me, infernalGUID))
+ if (infernal->GetDisplayId() == MODEL_INVISIBLE)
+ me->CastSpell(infernal, SPELL_SUMMON_INFERNAL, true);
+ events.ScheduleEvent(EVENT_CAST_SUMMON_INFERNAL, 12000);
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ }
+
+ private:
+ EventMap events;
+ ObjectGuid infernalGUID;
+ float ground;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_invis_infernal_casterAI(creature);
+ }
+};
+
+/*#####
+# npc_infernal_attacker
+#####*/
+
+class npc_infernal_attacker : public CreatureScript
+{
+public:
+ npc_infernal_attacker() : CreatureScript("npc_infernal_attacker") { }
+
+ struct npc_infernal_attackerAI : public ScriptedAI
+ {
+ npc_infernal_attackerAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void Reset() override
+ {
+ me->SetDisplayId(MODEL_INVISIBLE);
+ me->GetMotionMaster()->MoveRandom(5.0f);
+ }
+
+ void IsSummonedBy(Unit* summoner) override
+ {
+ if (summoner->ToCreature())
+ caster = summoner->ToCreature();
+ }
+
+ void JustDied(Unit* /*killer*/) override
+ {
+ if (caster)
+ caster->AI()->SetData(TYPE_INFERNAL, DATA_DIED);
+ }
+
+ void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
+ {
+ if (spell->Id == SPELL_SUMMON_INFERNAL)
+ {
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE);
+ me->SetDisplayId(MODEL_INFERNAL);
+ }
+ }
+
+ void UpdateAI(uint32 diff) override
+ {
+ if (!UpdateVictim())
+ return;
+
+ DoMeleeAttackIfReady();
+ }
+
+ private:
+ Creature* caster;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_infernal_attackerAI(creature);
+ }
+};
+
+/*#####
# npc_mature_netherwing_drake
#####*/
@@ -80,7 +217,7 @@ public:
{
npc_mature_netherwing_drakeAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 uiPlayerGUID;
+ ObjectGuid uiPlayerGUID;
bool bCanEat;
bool bIsEating;
@@ -90,7 +227,7 @@ public:
void Reset() override
{
- uiPlayerGUID = 0;
+ uiPlayerGUID.Clear();
bCanEat = false;
bIsEating = false;
@@ -154,7 +291,7 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, uiPlayerGUID))
{
- player->KilledMonsterCredit(NPC_EVENT_PINGER, 0);
+ player->KilledMonsterCredit(NPC_EVENT_PINGER);
if (GameObject* go = player->FindNearestGameObject(GO_CARCASS, 10))
go->Delete();
@@ -218,12 +355,11 @@ public:
{
npc_enslaved_netherwing_drakeAI(Creature* creature) : ScriptedAI(creature)
{
- PlayerGUID = 0;
Tapped = false;
Reset();
}
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 FlyTimer;
bool Tapped;
@@ -276,7 +412,7 @@ public:
if (player)
DoCast(player, SPELL_FORCE_OF_NELTHARAKU, true);
- PlayerGUID = 0;
+ PlayerGUID.Clear();
}
me->SetVisible(false);
me->SetDisableGravity(false);
@@ -349,13 +485,13 @@ public:
{
npc_dragonmaw_peonAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
bool Tapped;
uint32 PoisonTimer;
void Reset() override
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
Tapped = false;
PoisonTimer = 0;
}
@@ -400,7 +536,7 @@ public:
{
Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
if (player && player->GetQuestStatus(11020) == QUEST_STATUS_INCOMPLETE)
- player->KilledMonsterCredit(23209, 0);
+ player->KilledMonsterCredit(23209);
}
PoisonTimer = 0;
me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
@@ -460,7 +596,7 @@ public:
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 30658, 1, NULL);
if (msg == EQUIP_ERR_OK)
{
- player->StoreNewItem(dest, 30658, 1, true);
+ player->StoreNewItem(dest, 30658, true);
player->PlayerTalkClass->ClearMenus();
}
}
@@ -470,7 +606,7 @@ public:
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 30659, 1, NULL);
if (msg == EQUIP_ERR_OK)
{
- player->StoreNewItem(dest, 30659, 1, true);
+ player->StoreNewItem(dest, 30659, true);
player->PlayerTalkClass->ClearMenus();
}
}
@@ -583,8 +719,8 @@ public:
{
npc_overlord_morghorAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 PlayerGUID;
- uint64 IllidanGUID;
+ ObjectGuid PlayerGUID;
+ ObjectGuid IllidanGUID;
uint32 ConversationTimer;
uint32 Step;
@@ -593,8 +729,8 @@ public:
void Reset() override
{
- PlayerGUID = 0;
- IllidanGUID = 0;
+ PlayerGUID.Clear();
+ IllidanGUID.Clear();
ConversationTimer = 0;
Step = 0;
@@ -798,7 +934,7 @@ public:
case 30:
{
if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f))
- Yarzill->SetTarget(0);
+ Yarzill->SetTarget(ObjectGuid::Empty);
return 5000;
}
break;
@@ -814,7 +950,7 @@ public:
return 5000;
break;
case 33:
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
Reset();
return 100;
break;
@@ -1123,8 +1259,8 @@ public:
uint8 AnimationCount;
- uint64 LordIllidanGUID;
- uint64 AggroTargetGUID;
+ ObjectGuid LordIllidanGUID;
+ ObjectGuid AggroTargetGUID;
bool Timers;
@@ -1132,13 +1268,13 @@ public:
{
AnimationTimer = 4000;
AnimationCount = 0;
- LordIllidanGUID = 0;
- AggroTargetGUID = 0;
+ LordIllidanGUID.Clear();
+ AggroTargetGUID.Clear();
Timers = false;
me->AddUnitState(UNIT_STATE_ROOT);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->SetTarget(0);
+ me->SetTarget(ObjectGuid::Empty);
}
void EnterCombat(Unit* /*who*/) override { }
@@ -1274,7 +1410,7 @@ public:
{
npc_lord_illidan_stormrageAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 WaveTimer;
uint32 AnnounceTimer;
@@ -1288,7 +1424,7 @@ public:
void Reset() override
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
WaveTimer = 10000;
AnnounceTimer = 7000;
@@ -1416,13 +1552,13 @@ public:
{
npc_illidari_spawnAI(Creature* creature) : ScriptedAI(creature) { }
- uint64 LordIllidanGUID;
+ ObjectGuid LordIllidanGUID;
uint32 SpellTimer1, SpellTimer2, SpellTimer3;
bool Timers;
void Reset() override
{
- LordIllidanGUID = 0;
+ LordIllidanGUID.Clear();
Timers = false;
}
@@ -1727,7 +1863,7 @@ public:
if (Unit* owner = totemOspirits->GetOwner())
if (Player* player = owner->ToPlayer())
- player->KilledMonsterCredit(credit, 0);
+ player->KilledMonsterCredit(credit);
DoCast(totemOspirits, SPELL_SOUL_CAPTURED);
}
}
@@ -1827,6 +1963,8 @@ public:
void AddSC_shadowmoon_valley()
{
+ new npc_invis_infernal_caster();
+ new npc_infernal_attacker();
new npc_mature_netherwing_drake();
new npc_enslaved_netherwing_drake();
new npc_dragonmaw_peon();
diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp
index da7ae03a8ee..223a144e33b 100644
--- a/src/server/scripts/Outland/zone_terokkar_forest.cpp
+++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp
@@ -323,7 +323,7 @@ public:
if (rand32() % 100 < 25)
{
me->SummonCreature(QUEST_TARGET, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
- player->KilledMonsterCredit(QUEST_TARGET, 0);
+ player->KilledMonsterCredit(QUEST_TARGET);
}
else
me->SummonCreature(netherwebVictims[rand32() % 6], 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
diff --git a/src/server/scripts/Pet/pet_dk.cpp b/src/server/scripts/Pet/pet_dk.cpp
index b24336cb33c..edbec51f4b1 100644
--- a/src/server/scripts/Pet/pet_dk.cpp
+++ b/src/server/scripts/Pet/pet_dk.cpp
@@ -59,7 +59,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
Initialize();
CasterAI::InitializeAI();
- uint64 ownerGuid = me->GetOwnerGUID();
+ ObjectGuid ownerGuid = me->GetOwnerGUID();
if (!ownerGuid)
return;
@@ -69,7 +69,7 @@ class npc_pet_dk_ebon_gargoyle : public CreatureScript
Trinity::UnitListSearcher<Trinity::AnyUnfriendlyUnitInObjectRangeCheck> searcher(me, targets, u_check);
me->VisitNearbyObject(30.0f, searcher);
for (std::list<Unit*>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter)
- if ((*iter)->GetAura(SPELL_DK_SUMMON_GARGOYLE_1, ownerGuid))
+ if ((*iter)->HasAura(SPELL_DK_SUMMON_GARGOYLE_1, ownerGuid))
{
me->Attack((*iter), false);
break;
diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp
index d0e950dec32..538dca8e4b9 100644
--- a/src/server/scripts/Pet/pet_generic.cpp
+++ b/src/server/scripts/Pet/pet_generic.cpp
@@ -41,17 +41,11 @@ class npc_pet_gen_mojo : public CreatureScript
{
npc_pet_gen_mojoAI(Creature* creature) : ScriptedAI(creature)
{
- Initialize();
- }
-
- void Initialize()
- {
- _victimGUID = 0;
}
void Reset() override
{
- Initialize();
+ _victimGUID.Clear();
if (Unit* owner = me->GetOwner())
me->GetMotionMaster()->MoveFollow(owner, 0.0f, 0.0f);
@@ -84,7 +78,7 @@ class npc_pet_gen_mojo : public CreatureScript
}
private:
- uint64 _victimGUID;
+ ObjectGuid _victimGUID;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 681a659ae71..36bf8389cc2 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -353,7 +353,7 @@ class spell_dk_bloodworms : public SpellScriptLoader
class CorpseExplosionCheck
{
public:
- explicit CorpseExplosionCheck(uint64 casterGUID, bool allowGhoul) : _casterGUID(casterGUID),
+ explicit CorpseExplosionCheck(ObjectGuid casterGUID, bool allowGhoul) : _casterGUID(casterGUID),
_allowGhoul(allowGhoul) { }
bool operator()(WorldObject* obj) const
@@ -370,7 +370,7 @@ public:
}
private:
- uint64 _casterGUID;
+ ObjectGuid _casterGUID;
bool _allowGhoul;
};
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index 5f432bb8b61..dbcc7716f32 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -211,7 +211,10 @@ class spell_dru_innervate : public SpellScriptLoader
void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& /*canBeRecalculated*/)
{
- amount = CalculatePct(int32(GetUnitOwner()->GetCreatePowers(POWER_MANA) / aurEff->GetTotalTicks()), amount);
+ if (Unit* caster = GetCaster())
+ amount = int32(CalculatePct(caster->GetCreatePowers(POWER_MANA), amount) / aurEff->GetTotalTicks());
+ else
+ amount = 0;
}
void Register() override
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index e198a6a0c61..e5ef3d5b7b7 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -217,7 +217,7 @@ class spell_gen_animal_blood : public SpellScriptLoader
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
// Remove all auras with spell id 46221, except the one currently being applied
- while (Aura* aur = GetUnitOwner()->GetOwnedAura(SPELL_ANIMAL_BLOOD, 0, 0, 0, GetAura()))
+ while (Aura* aur = GetUnitOwner()->GetOwnedAura(SPELL_ANIMAL_BLOOD, ObjectGuid::Empty, ObjectGuid::Empty, 0, GetAura()))
GetUnitOwner()->RemoveOwnedAura(aur);
}
@@ -1866,7 +1866,7 @@ class spell_gen_mount : public SpellScriptLoader
if (Player* target = GetHitPlayer())
{
// Prevent stacking of mounts and client crashes upon dismounting
- target->RemoveAurasByType(SPELL_AURA_MOUNTED, 0, GetHitAura());
+ target->RemoveAurasByType(SPELL_AURA_MOUNTED, ObjectGuid::Empty, GetHitAura());
// Triggered spell id dependent on riding skill and zone
bool canFly = false;
@@ -3682,6 +3682,37 @@ class spell_gen_gm_freeze : public SpellScriptLoader
}
};
+class spell_gen_stand : public SpellScriptLoader
+{
+public:
+ spell_gen_stand() : SpellScriptLoader("spell_gen_stand") { }
+
+ class spell_gen_stand_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_gen_stand_SpellScript);
+
+ void HandleScript(SpellEffIndex /*eff*/)
+ {
+ Creature* target = GetHitCreature();
+ if (!target)
+ return;
+
+ target->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_STAND);
+ target->HandleEmoteCommand(EMOTE_STATE_NONE);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_gen_stand_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+ };
+
+ SpellScript* GetSpellScript() const override
+ {
+ return new spell_gen_stand_SpellScript();
+ }
+};
+
void AddSC_generic_spell_scripts()
{
new spell_gen_absorb0_hitlimit1();
@@ -3763,4 +3794,5 @@ void AddSC_generic_spell_scripts()
new spell_gen_whisper_gulch_yogg_saron_whisper();
new spell_gen_eject_all_passengers();
new spell_gen_gm_freeze();
+ new spell_gen_stand();
}
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index a128c30ad50..ba3d6ce490a 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -504,7 +504,7 @@ class spell_pri_mind_sear : public SpellScriptLoader
void FilterTargets(std::list<WorldObject*>& unitList)
{
- unitList.remove_if(Trinity::ObjectGUIDCheck(GetCaster()->GetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT)));
+ unitList.remove_if(Trinity::ObjectGUIDCheck(GetCaster()->GetChannelObjectGuid()));
}
void Register() override
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index e135bb08e73..9c65567fe7f 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -280,8 +280,8 @@ class spell_q11396_11399_force_shield_arcane_purple_x3 : public SpellScriptLoade
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
Unit* target = GetTarget();
- target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
- target->AddUnitState(UNIT_STATE_ROOT);
+ target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
+ target->AddUnitState(UNIT_STATE_ROOT);
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -754,7 +754,7 @@ class spell_q12937_relief_for_the_fallen : public SpellScriptLoader
if (Creature* target = GetHitCreature())
{
caster->CastSpell(caster, SPELL_TRIGGER_AID_OF_THE_EARTHEN, true, NULL);
- caster->KilledMonsterCredit(NPC_FALLEN_EARTHEN_DEFENDER, 0);
+ caster->KilledMonsterCredit(NPC_FALLEN_EARTHEN_DEFENDER);
target->DespawnOrUnsummon();
}
}
@@ -885,7 +885,7 @@ class spell_q12659_ahunaes_knife : public SpellScriptLoader
if (Creature* target = GetHitCreature())
{
target->DespawnOrUnsummon();
- caster->KilledMonsterCredit(NPC_SCALPS_KC_BUNNY, 0);
+ caster->KilledMonsterCredit(NPC_SCALPS_KC_BUNNY);
}
}
@@ -929,7 +929,7 @@ class spell_q9874_liquid_fire : public SpellScriptLoader
if (Creature* target = GetHitCreature())
if (target && !target->HasAura(SPELL_FLAMES))
{
- caster->KilledMonsterCredit(NPC_VILLAGER_KILL_CREDIT, 0);
+ caster->KilledMonsterCredit(NPC_VILLAGER_KILL_CREDIT);
target->CastSpell(target, SPELL_FLAMES, true);
target->DespawnOrUnsummon(60000);
}
@@ -973,7 +973,7 @@ class spell_q12805_lifeblood_dummy : public SpellScriptLoader
Player* caster = GetCaster()->ToPlayer();
if (Creature* target = GetHitCreature())
{
- caster->KilledMonsterCredit(NPC_SHARD_KILL_CREDIT, 0);
+ caster->KilledMonsterCredit(NPC_SHARD_KILL_CREDIT);
target->CastSpell(target, uint32(GetEffectValue()), true);
target->DespawnOrUnsummon(2000);
}
@@ -1016,7 +1016,7 @@ class spell_q13280_13283_plant_battle_standard: public SpellScriptLoader
Unit* caster = GetCaster();
if (caster->IsVehicle())
if (Unit* player = caster->GetVehicleKit()->GetPassenger(0))
- player->ToPlayer()->KilledMonsterCredit(NPC_KING_OF_THE_MOUNTAINT_KC, 0);
+ player->ToPlayer()->KilledMonsterCredit(NPC_KING_OF_THE_MOUNTAINT_KC);
}
void Register() override
@@ -1356,7 +1356,7 @@ class spell_q12372_destabilize_azure_dragonshrine_dummy : public SpellScriptLoad
if (Vehicle* vehicle = caster->GetVehicleKit())
if (Unit* passenger = vehicle->GetPassenger(0))
if (Player* player = passenger->ToPlayer())
- player->KilledMonsterCredit(NPC_WYRMREST_TEMPLE_CREDIT, 0);
+ player->KilledMonsterCredit(NPC_WYRMREST_TEMPLE_CREDIT);
}
void Register() override
@@ -1777,7 +1777,7 @@ class spell_q12847_summon_soul_moveto_bunny : public SpellScriptLoader
}
};
- SpellScript *GetSpellScript() const override
+ SpellScript* GetSpellScript() const override
{
return new spell_q12847_summon_soul_moveto_bunny_SpellScript();
}
@@ -2348,6 +2348,52 @@ class spell_q14100_q14111_make_player_destroy_totems : public SpellScriptLoader
}
};
+enum Fumping
+{
+ SPELL_SUMMON_SAND_GNOME = 39240,
+ SPELL_SUMMON_BONE_SLICER = 39241
+};
+
+// 39238 - Fumping
+class spell_q10929_fumping : SpellScriptLoader
+{
+ public:
+ spell_q10929_fumping() : SpellScriptLoader("spell_q10929_fumping") { }
+
+ class spell_q10929_fumpingAuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_q10929_fumpingAuraScript);
+
+ bool Validate(SpellInfo const* /*spell*/) override
+ {
+ if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_SAND_GNOME))
+ return false;
+ if (!sSpellMgr->GetSpellInfo(SPELL_SUMMON_BONE_SLICER))
+ return false;
+ return true;
+ }
+
+ void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE)
+ return;
+
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(caster, urand(SPELL_SUMMON_SAND_GNOME, SPELL_SUMMON_BONE_SLICER), true);
+ }
+
+ void Register() override
+ {
+ OnEffectRemove += AuraEffectRemoveFn(spell_q10929_fumpingAuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_q10929_fumpingAuraScript();
+ }
+};
+
void AddSC_quest_spell_scripts()
{
new spell_q55_sacred_cleansing();
@@ -2405,4 +2451,5 @@ void AddSC_quest_spell_scripts()
new spell_q12919_gymers_throw();
new spell_q13400_illidan_kill_master();
new spell_q14100_q14111_make_player_destroy_totems();
+ new spell_q10929_fumping();
}
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp
index a04fdba57b9..9c9a75d853b 100644
--- a/src/server/scripts/Spells/spell_rogue.cpp
+++ b/src/server/scripts/Spells/spell_rogue.cpp
@@ -314,7 +314,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
{
while (!_targets.empty())
{
- uint64 guid = Trinity::Containers::SelectRandomContainerElement(_targets);
+ ObjectGuid guid = Trinity::Containers::SelectRandomContainerElement(_targets);
if (Unit* target = ObjectAccessor::GetUnit(*GetTarget(), guid))
{
GetTarget()->CastSpell(target, SPELL_ROGUE_KILLING_SPREE_TELEPORT, true);
@@ -345,7 +345,7 @@ class spell_rog_killing_spree : public SpellScriptLoader
}
private:
- std::list<uint64> _targets;
+ GuidList _targets;
};
AuraScript* GetAuraScript() const override
diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp
index 58820b1e215..9709532f56f 100644
--- a/src/server/scripts/Spells/spell_warrior.cpp
+++ b/src/server/scripts/Spells/spell_warrior.cpp
@@ -271,13 +271,13 @@ class spell_warr_deep_wounds : public SpellScriptLoader
ApplyPct(damage, 16 * GetSpellInfo()->GetRank());
SpellInfo const* spellInfo = sSpellMgr->EnsureSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC);
- uint32 ticks = spellInfo->GetDuration() / spellInfo->Effects[EFFECT_0].Amplitude;
+ uint32 ticks = uint32(spellInfo->GetDuration()) / spellInfo->Effects[EFFECT_0].Amplitude;
// Add remaining ticks to damage done
if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC, EFFECT_0, caster->GetGUID()))
- damage += aurEff->GetDamage() * (ticks - aurEff->GetTickNumber());
+ damage += aurEff->GetDamage() * int32(ticks - aurEff->GetTickNumber());
- damage /= ticks;
+ damage /= int32(ticks);
caster->CastCustomSpell(target, SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC, &damage, NULL, NULL, true);
}
diff --git a/src/server/scripts/World/action_ip_logger.cpp b/src/server/scripts/World/action_ip_logger.cpp
index 057f3d6ee36..2977f4e974a 100644
--- a/src/server/scripts/World/action_ip_logger.cpp
+++ b/src/server/scripts/World/action_ip_logger.cpp
@@ -252,24 +252,24 @@ public:
CharacterDeleteActionIpLogger() : PlayerScript("CharacterDeleteActionIpLogger") { }
// CHARACTER_DELETE = 10
- void OnDelete(uint64 guid, uint32 accountId) override
+ void OnDelete(ObjectGuid guid, uint32 accountId) override
{
DeleteIPLogAction(guid, accountId, CHARACTER_DELETE);
}
// CHARACTER_FAILED_DELETE = 11
- void OnFailedDelete(uint64 guid, uint32 accountId) override
+ void OnFailedDelete(ObjectGuid guid, uint32 accountId) override
{
DeleteIPLogAction(guid, accountId, CHARACTER_FAILED_DELETE);
}
- void DeleteIPLogAction(uint64 guid, uint32 playerGuid, IPLoggingTypes aType)
+ void DeleteIPLogAction(ObjectGuid guid, uint32 playerGuid, IPLoggingTypes aType)
{
// Action IP Logger is only intialized if config is set up
// Else, this script isn't loaded in the first place: We require no config check.
// We declare all the required variables
- uint32 characterGuid = GUID_LOPART(guid); // We have no access to any member function of Player* or WorldSession*. So use old-fashioned way.
+ uint32 characterGuid = guid.GetCounter(); // We have no access to any member function of Player* or WorldSession*. So use old-fashioned way.
// Query playerGuid/accountId, as we only have characterGuid
std::string systemNote = "ERROR"; // "ERROR" is a placeholder here. We change it later.
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index dcba4cf9573..a1e328ebaf0 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -431,8 +431,8 @@ class AreaTrigger_at_frostgrips_hollow : public AreaTriggerScript
public:
AreaTrigger_at_frostgrips_hollow() : AreaTriggerScript("at_frostgrips_hollow")
{
- stormforgedMonitorGUID = 0;
- stormforgedEradictorGUID = 0;
+ stormforgedMonitorGUID.Clear();
+ stormforgedEradictorGUID.Clear();
}
bool OnTrigger(Player* player, AreaTriggerEntry const* /* trigger */) override
@@ -469,8 +469,8 @@ public:
}
private:
- uint64 stormforgedMonitorGUID;
- uint64 stormforgedEradictorGUID;
+ ObjectGuid stormforgedMonitorGUID;
+ ObjectGuid stormforgedEradictorGUID;
};
void AddSC_areatrigger_scripts()
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index a00c9465a05..01d36783d20 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -418,7 +418,7 @@ class npc_spirit_shade : public CreatureScript
struct npc_spirit_shadeAI : public PassiveAI
{
- npc_spirit_shadeAI(Creature* creature) : PassiveAI(creature), _summonerGuid(0)
+ npc_spirit_shadeAI(Creature* creature) : PassiveAI(creature), _summonerGuid()
{
}
@@ -430,7 +430,7 @@ class npc_spirit_shade : public CreatureScript
void MovementInform(uint32 moveType, uint32 data) override
{
- if (moveType == FOLLOW_MOTION_TYPE && data == _summonerGuid)
+ if (moveType == FOLLOW_MOTION_TYPE && data == _summonerGuid.GetCounter())
{
me->CastSpell((Unit*)NULL, SPELL_DARK_OFFERING, false);
me->DespawnOrUnsummon(1000);
@@ -438,7 +438,7 @@ class npc_spirit_shade : public CreatureScript
}
private:
- uint64 _summonerGuid;
+ ObjectGuid _summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 7ba043f2a2e..63562436196 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -770,7 +770,7 @@ public:
return false;
pPrisoner->DisappearAndDie();
- player->KilledMonsterCredit(NPC_EBON_BLADE_PRISONER_HUMAN, 0);
+ player->KilledMonsterCredit(NPC_EBON_BLADE_PRISONER_HUMAN);
switch (pPrisoner->GetEntry())
{
case NPC_EBON_BLADE_PRISONER_HUMAN:
@@ -988,7 +988,7 @@ public:
if (qInfo)
{
/// @todo prisoner should help player for a short period of time
- player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0], 0);
+ player->KilledMonsterCredit(qInfo->RequiredNpcOrGo[0]);
pPrisoner->DisappearAndDie();
}
return true;
@@ -1020,7 +1020,7 @@ public:
if (pTadpole)
{
pTadpole->DisappearAndDie();
- player->KilledMonsterCredit(NPC_WINTERFIN_TADPOLE, 0);
+ player->KilledMonsterCredit(NPC_WINTERFIN_TADPOLE);
//FIX: Summon minion tadpole
}
}
@@ -1154,7 +1154,7 @@ class go_gjalerbron_cage : public GameObjectScript
{
if (Creature* prisoner = go->FindNearestCreature(NPC_GJALERBRON_PRISONER, 5.0f))
{
- player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER, 0);
+ player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER);
prisoner->AI()->Talk(SAY_FREE);
prisoner->DespawnOrUnsummon(6000);
diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp
index bd953a285ab..13d811f3ff1 100644
--- a/src/server/scripts/World/guards.cpp
+++ b/src/server/scripts/World/guards.cpp
@@ -280,7 +280,7 @@ public:
{
banishTimer = 5000;
exileTimer = 8500;
- playerGUID = 0;
+ playerGUID.Clear();
canTeleport = false;
}
@@ -303,7 +303,7 @@ public:
temp->CastSpell(temp, SPELL_EXILE, true);
temp->CastSpell(temp, SPELL_BANISH_TELEPORT, true);
}
- playerGUID = 0;
+ playerGUID.Clear();
exileTimer = 8500;
canTeleport = false;
} else exileTimer -= diff;
@@ -327,7 +327,7 @@ public:
private:
uint32 exileTimer;
uint32 banishTimer;
- uint64 playerGUID;
+ ObjectGuid playerGUID;
bool canTeleport;
};
@@ -353,7 +353,7 @@ public:
{
banishTimer = 5000;
exileTimer = 8500;
- playerGUID = 0;
+ playerGUID.Clear();
canTeleport = false;
}
@@ -376,7 +376,7 @@ public:
temp->CastSpell(temp, SPELL_EXILE, true);
temp->CastSpell(temp, SPELL_BANISH_TELEPORT, true);
}
- playerGUID = 0;
+ playerGUID.Clear();
exileTimer = 8500;
canTeleport = false;
} else exileTimer -= diff;
@@ -399,7 +399,7 @@ public:
private:
uint32 exileTimer;
uint32 banishTimer;
- uint64 playerGUID;
+ ObjectGuid playerGUID;
bool canTeleport;
};
diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp
index a191f37c76c..423ac2e7c54 100644
--- a/src/server/scripts/World/item_scripts.cpp
+++ b/src/server/scripts/World/item_scripts.cpp
@@ -351,7 +351,7 @@ public:
{
pMammoth->AI()->DoAction(1);
pTrap->SetGoState(GO_STATE_READY);
- player->KilledMonsterCredit(NPC_TRAPPED_MAMMOTH_CALF, 0);
+ player->KilledMonsterCredit(NPC_TRAPPED_MAMMOTH_CALF);
return true;
}
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index ff42743c496..f613704164e 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -124,7 +124,7 @@ public:
npc_air_force_botsAI(Creature* creature) : ScriptedAI(creature)
{
SpawnAssoc = NULL;
- SpawnedGUID = 0;
+ SpawnedGUID.Clear();
// find the correct spawnhandling
static uint32 entryCount = sizeof(spawnAssociations) / sizeof(SpawnAssociation);
@@ -154,7 +154,7 @@ public:
}
SpawnAssociation* SpawnAssoc;
- uint64 SpawnedGUID;
+ ObjectGuid SpawnedGUID;
void Reset() override { }
@@ -196,11 +196,11 @@ public:
if (!playerTarget)
return;
- Creature* lastSpawnedGuard = SpawnedGUID == 0 ? NULL : GetSummonedGuard();
+ Creature* lastSpawnedGuard = SpawnedGUID.IsEmpty() ? NULL : GetSummonedGuard();
// prevent calling Unit::GetUnit at next MoveInLineOfSight call - speedup
if (!lastSpawnedGuard)
- SpawnedGUID = 0;
+ SpawnedGUID.Clear();
switch (SpawnAssoc->spawnType)
{
@@ -597,7 +597,7 @@ public:
void Initialize()
{
- PlayerGUID = 0;
+ PlayerGUID.Clear();
SummonPatientTimer = 10000;
SummonPatientCount = 0;
@@ -610,7 +610,7 @@ public:
Event = false;
}
- uint64 PlayerGUID;
+ ObjectGuid PlayerGUID;
uint32 SummonPatientTimer;
uint32 SummonPatientCount;
@@ -619,7 +619,7 @@ public:
bool Event;
- std::list<uint64> Patients;
+ GuidList Patients;
std::vector<Location*> Coordinates;
void Reset() override
@@ -690,10 +690,9 @@ public:
{
if (!Patients.empty())
{
- std::list<uint64>::const_iterator itr;
- for (itr = Patients.begin(); itr != Patients.end(); ++itr)
+ for (GuidList::const_iterator itr = Patients.begin(); itr != Patients.end(); ++itr)
{
- if (Creature* patient = ObjectAccessor::GetCreature((*me), *itr))
+ if (Creature* patient = ObjectAccessor::GetCreature(*me, *itr))
patient->setDeathState(JUST_DIED);
}
}
@@ -749,11 +748,11 @@ public:
void Initialize()
{
- DoctorGUID = 0;
+ DoctorGUID.Clear();
Coord = NULL;
}
- uint64 DoctorGUID;
+ ObjectGuid DoctorGUID;
Location* Coord;
void Reset() override
@@ -950,7 +949,7 @@ public:
Reset();
}
- uint64 CasterGUID;
+ ObjectGuid CasterGUID;
bool IsHealed;
bool CanRun;
@@ -959,7 +958,7 @@ public:
void Reset() override
{
- CasterGUID = 0;
+ CasterGUID.Clear();
IsHealed = false;
CanRun = false;
@@ -1107,7 +1106,7 @@ public:
break;
}
- Start(false, true, true);
+ Start(false, true);
}
else
EnterEvadeMode(); //something went wrong
@@ -1479,7 +1478,7 @@ public:
}
EventMap _events;
- std::unordered_map<uint64, time_t> _damageTimes;
+ std::unordered_map<ObjectGuid, time_t> _damageTimes;
void Reset() override
{
@@ -1526,7 +1525,7 @@ public:
case EVENT_TD_CHECK_COMBAT:
{
time_t now = time(NULL);
- for (std::unordered_map<uint64, time_t>::iterator itr = _damageTimes.begin(); itr != _damageTimes.end();)
+ for (std::unordered_map<ObjectGuid, time_t>::iterator itr = _damageTimes.begin(); itr != _damageTimes.end();)
{
// If unit has not dealt damage to training dummy for 5 seconds, remove him from combat
if (itr->second < now - 5)
@@ -2262,7 +2261,7 @@ public:
void Initialize()
{
inLove = false;
- rabbitGUID = 0;
+ rabbitGUID.Clear();
jumpTimer = urand(5000, 10000);
bunnyTimer = urand(10000, 20000);
searchTimer = urand(5000, 10000);
@@ -2272,7 +2271,7 @@ public:
uint32 jumpTimer;
uint32 bunnyTimer;
uint32 searchTimer;
- uint64 rabbitGUID;
+ ObjectGuid rabbitGUID;
void Reset() override
{
@@ -2347,7 +2346,7 @@ public:
{
npc_imp_in_a_ballAI(Creature* creature) : ScriptedAI(creature)
{
- summonerGUID = 0;
+ summonerGUID.Clear();
}
void IsSummonedBy(Unit* summoner) override
@@ -2375,7 +2374,7 @@ public:
private:
EventMap events;
- uint64 summonerGUID;
+ ObjectGuid summonerGUID;
};
CreatureAI* GetAI(Creature* creature) const override