aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/AI/CoreAI/CombatAI.cpp10
-rwxr-xr-xsrc/server/game/AI/CoreAI/PassiveAI.cpp8
-rwxr-xr-xsrc/server/game/AI/CoreAI/PetAI.cpp33
-rwxr-xr-xsrc/server/game/AI/CoreAI/PetAI.h2
-rwxr-xr-xsrc/server/game/AI/CoreAI/UnitAI.cpp4
-rwxr-xr-xsrc/server/game/AI/CreatureAIImpl.h4
-rwxr-xr-xsrc/server/game/AI/EventAI/CreatureEventAI.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp4
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp2
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp14
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp2
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundAB.cpp11
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundAB.h8
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundEY.cpp4
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundEY.h4
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundIC.cpp6
-rwxr-xr-xsrc/server/game/Combat/ThreatManager.cpp2
-rwxr-xr-xsrc/server/game/DungeonFinding/LFGMgr.cpp2
-rwxr-xr-xsrc/server/game/Entities/Creature/Creature.cpp12
-rwxr-xr-xsrc/server/game/Entities/Creature/Creature.h2
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp2
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp14
-rwxr-xr-xsrc/server/game/Entities/Player/Player.h2
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp208
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h117
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp8
-rwxr-xr-xsrc/server/game/Grids/Notifiers/GridNotifiers.cpp2
-rwxr-xr-xsrc/server/game/Grids/Notifiers/GridNotifiers.h2
-rwxr-xr-xsrc/server/game/Handlers/AuctionHouseHandler.cpp14
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/ChatHandler.cpp4
-rwxr-xr-xsrc/server/game/Handlers/GuildHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/ItemHandler.cpp8
-rwxr-xr-xsrc/server/game/Handlers/MiscHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/NPCHandler.cpp28
-rwxr-xr-xsrc/server/game/Handlers/PetHandler.cpp4
-rwxr-xr-xsrc/server/game/Handlers/PetitionsHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/QuestHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/SkillHandler.cpp2
-rwxr-xr-xsrc/server/game/Handlers/TaxiHandler.cpp4
-rwxr-xr-xsrc/server/game/Handlers/TradeHandler.cpp4
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h1087
-rwxr-xr-xsrc/server/game/Movement/MotionMaster.cpp6
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp14
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp20
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp8
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp14
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp14
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp10
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp16
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h8
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp18
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuraEffects.cpp36
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.cpp36
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.h2
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp34
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp12
-rw-r--r--src/server/game/Spells/SpellInfo.cpp17
-rw-r--r--src/server/game/Spells/SpellInfo.h5
-rwxr-xr-xsrc/server/game/Spells/SpellScript.cpp18
-rwxr-xr-xsrc/server/game/Spells/SpellScript.h23
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp24
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/tirisfal_glades.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/westfall.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp14
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp10
-rw-r--r--src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp4
-rw-r--r--src/server/scripts/Kalimdor/durotar.cpp2
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp6
-rw-r--r--src/server/scripts/Kalimdor/moonglade.cpp4
-rw-r--r--src/server/scripts/Kalimdor/mulgore.cpp2
-rw-r--r--src/server/scripts/Kalimdor/stonetalon_mountains.cpp2
-rw-r--r--src/server/scripts/Kalimdor/tanaris.cpp2
-rw-r--r--src/server/scripts/Kalimdor/the_barrens.cpp2
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp6
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp4
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp6
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp12
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp12
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp6
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp4
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp6
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp4
-rw-r--r--src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp8
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp16
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp10
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp4
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp14
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp8
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp28
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp2
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp10
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp4
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp8
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp2
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp6
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp12
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp34
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp12
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp24
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp4
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp10
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp20
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp12
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp4
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp2
-rw-r--r--src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp4
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_erekem.cpp8
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_moragg.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp18
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp2
-rw-r--r--src/server/scripts/Northrend/borean_tundra.cpp6
-rw-r--r--src/server/scripts/Northrend/grizzly_hills.cpp8
-rw-r--r--src/server/scripts/Northrend/zuldrak.cpp12
-rw-r--r--src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp2
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp8
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp10
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp2
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp4
-rw-r--r--src/server/scripts/Outland/boss_doomlord_kazzak.cpp2
-rw-r--r--src/server/scripts/Outland/boss_doomwalker.cpp2
-rw-r--r--src/server/scripts/Outland/nagrand.cpp2
-rw-r--r--src/server/scripts/Outland/netherstorm.cpp2
-rw-r--r--src/server/scripts/Outland/shadowmoon_valley.cpp6
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp7
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp6
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp2
-rw-r--r--src/server/scripts/World/item_scripts.cpp2
-rw-r--r--src/server/scripts/World/npcs_special.cpp16
206 files changed, 1572 insertions, 1150 deletions
diff --git a/src/server/game/AI/CoreAI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp
index a83fb6f2789..03d1b9793d9 100755
--- a/src/server/game/AI/CoreAI/CombatAI.cpp
+++ b/src/server/game/AI/CoreAI/CombatAI.cpp
@@ -99,7 +99,7 @@ void CombatAI::UpdateAI(const uint32 diff)
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (uint32 spellId = events.ExecuteEvent())
@@ -158,7 +158,13 @@ void CasterAI::UpdateAI(const uint32 diff)
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->getVictim()->HasBreakableByDamageCrowdControlAura())
+ {
+ me->InterruptNonMeleeSpells(false);
+ return;
+ }
+
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (uint32 spellId = events.ExecuteEvent())
diff --git a/src/server/game/AI/CoreAI/PassiveAI.cpp b/src/server/game/AI/CoreAI/PassiveAI.cpp
index 1244e032dbd..3738d5bab6c 100755
--- a/src/server/game/AI/CoreAI/PassiveAI.cpp
+++ b/src/server/game/AI/CoreAI/PassiveAI.cpp
@@ -61,14 +61,14 @@ void PossessedAI::KilledUnit(Unit* victim)
void CritterAI::DamageTaken(Unit* /*done_by*/, uint32&)
{
- if (!me->HasUnitState(UNIT_STAT_FLEEING))
- me->SetControlled(true, UNIT_STAT_FLEEING);
+ if (!me->HasUnitState(UNIT_STATE_FLEEING))
+ me->SetControlled(true, UNIT_STATE_FLEEING);
}
void CritterAI::EnterEvadeMode()
{
- if (me->HasUnitState(UNIT_STAT_FLEEING))
- me->SetControlled(false, UNIT_STAT_FLEEING);
+ if (me->HasUnitState(UNIT_STATE_FLEEING))
+ me->SetControlled(false, UNIT_STATE_FLEEING);
CreatureAI::EnterEvadeMode();
}
diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp
index 015e20415b1..e07042df149 100755
--- a/src/server/game/AI/CoreAI/PetAI.cpp
+++ b/src/server/game/AI/CoreAI/PetAI.cpp
@@ -42,7 +42,6 @@ PetAI::PetAI(Creature* c) : CreatureAI(c), i_tracker(TIME_INTERVAL_LOOK)
{
m_AllySet.clear();
UpdateAllies();
- targetHasCC = false;
}
void PetAI::EnterEvadeMode()
@@ -55,9 +54,6 @@ bool PetAI::_needToStop()
if (me->isCharmed() && me->getVictim() == me->GetCharmer())
return true;
- if (_CheckTargetCC(me->getVictim()) && !targetHasCC)
- return true;
-
return !me->IsValidAttackTarget(me->getVictim());
}
@@ -95,13 +91,19 @@ void PetAI::UpdateAI(const uint32 diff)
// me->getVictim() can't be used for check in case stop fighting, me->getVictim() clear at Unit death etc.
if (me->getVictim())
{
+ // is only necessary to stop casting, the pet must not exit combat
+ if (me->getVictim()->HasBreakableByDamageCrowdControlAura())
+ {
+ me->InterruptNonMeleeSpells(false);
+ return;
+ }
+
if (_needToStop())
{
sLog->outStaticDebug("Pet AI stopped attacking [guid=%u]", me->GetGUIDLow());
_stopAttack();
return;
}
- targetHasCC = _CheckTargetCC(me->getVictim());
DoMeleeAttackIfReady();
}
@@ -116,14 +118,14 @@ void PetAI::UpdateAI(const uint32 diff)
else
HandleReturnMovement();
}
- else if (owner && !me->HasUnitState(UNIT_STAT_FOLLOW)) // no charm info and no victim
+ else if (owner && !me->HasUnitState(UNIT_STATE_FOLLOW)) // no charm info and no victim
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, me->GetFollowAngle());
if (!me->GetCharmInfo())
return;
// Autocast (casted only in combat or persistent spells in any state)
- if (!me->HasUnitState(UNIT_STAT_CASTING))
+ if (!me->HasUnitState(UNIT_STATE_CASTING))
{
typedef std::vector<std::pair<Unit*, Spell*> > TargetSpellList;
TargetSpellList targetSpellStore;
@@ -293,8 +295,6 @@ void PetAI::AttackStart(Unit* target)
if (!CanAttack(target))
return;
- targetHasCC = _CheckTargetCC(target);
-
if (Unit* owner = me->GetOwner())
owner->SetInCombatWith(target);
@@ -310,22 +310,21 @@ Unit* PetAI::SelectNextTarget()
return NULL;
Unit* target = me->getAttackerForHelper();
- targetHasCC = false;
// Check pet's attackers first to prevent dragging mobs back to owner
- if (target && !_CheckTargetCC(target))
+ if (target && !target->HasBreakableByDamageCrowdControlAura())
return target;
if (me->GetCharmerOrOwner())
{
// Check owner's attackers if pet didn't have any
target = me->GetCharmerOrOwner()->getAttackerForHelper();
- if (target && !_CheckTargetCC(target))
+ if (target && !target->HasBreakableByDamageCrowdControlAura())
return target;
// 3.0.2 - Pets now start attacking their owners target in defensive mode as soon as the hunter does
target = me->GetCharmerOrOwner()->getVictim();
- if (target && !_CheckTargetCC(target))
+ if (target && !target->HasBreakableByDamageCrowdControlAura())
return target;
}
@@ -467,11 +466,3 @@ bool PetAI::CanAttack(Unit* target)
// default, though we shouldn't ever get here
return false;
}
-
-bool PetAI::_CheckTargetCC(Unit* target)
-{
- if (me->GetCharmerOrOwnerGUID() && target->HasNegativeAuraWithAttribute(SPELL_ATTR0_BREAKABLE_BY_DAMAGE, me->GetCharmerOrOwnerGUID()))
- return true;
-
- return false;
-}
diff --git a/src/server/game/AI/CoreAI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h
index 847b4140285..730ab12a3ca 100755
--- a/src/server/game/AI/CoreAI/PetAI.h
+++ b/src/server/game/AI/CoreAI/PetAI.h
@@ -50,7 +50,6 @@ class PetAI : public CreatureAI
TimeTracker i_tracker;
bool inCombat;
- bool targetHasCC;
std::set<uint64> m_AllySet;
uint32 m_updateAlliesTimer;
@@ -58,7 +57,6 @@ class PetAI : public CreatureAI
void HandleReturnMovement();
void DoAttack(Unit* target, bool chase);
bool CanAttack(Unit* target);
- bool _CheckTargetCC(Unit* target);
};
#endif
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 38504b90b19..bf50909eeee 100755
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -40,7 +40,7 @@ void UnitAI::AttackStartCaster(Unit* victim, float dist)
void UnitAI::DoMeleeAttackIfReady()
{
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
Unit* victim = me->getVictim();
@@ -60,7 +60,7 @@ void UnitAI::DoMeleeAttackIfReady()
bool UnitAI::DoSpellAttackIfReady(uint32 spell)
{
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return true;
if (me->isAttackReady())
diff --git a/src/server/game/AI/CreatureAIImpl.h b/src/server/game/AI/CreatureAIImpl.h
index 147e829b0df..f568da80b49 100755
--- a/src/server/game/AI/CreatureAIImpl.h
+++ b/src/server/game/AI/CreatureAIImpl.h
@@ -596,7 +596,7 @@ inline bool CreatureAI::_EnterEvadeMode()
inline void UnitAI::DoCast(Unit* victim, uint32 spellId, bool triggered)
{
- if (!victim || (me->HasUnitState(UNIT_STAT_CASTING) && !triggered))
+ if (!victim || (me->HasUnitState(UNIT_STATE_CASTING) && !triggered))
return;
me->CastSpell(victim, spellId, triggered);
@@ -609,7 +609,7 @@ inline void UnitAI::DoCastVictim(uint32 spellId, bool triggered)
inline void UnitAI::DoCastAOE(uint32 spellId, bool triggered)
{
- if (!triggered && me->HasUnitState(UNIT_STAT_CASTING))
+ if (!triggered && me->HasUnitState(UNIT_STATE_CASTING))
return;
me->CastSpell((Unit*)NULL, spellId, triggered);
diff --git a/src/server/game/AI/EventAI/CreatureEventAI.cpp b/src/server/game/AI/EventAI/CreatureEventAI.cpp
index c507262bd3f..5db9d0b1cdb 100755
--- a/src/server/game/AI/EventAI/CreatureEventAI.cpp
+++ b/src/server/game/AI/EventAI/CreatureEventAI.cpp
@@ -577,7 +577,7 @@ void CreatureEventAI::ProcessAction(CreatureEventAI_Action const& action, uint32
{
if (action.combat_movement.melee)
{
- me->AddUnitState(UNIT_STAT_MELEE_ATTACKING);
+ me->AddUnitState(UNIT_STATE_MELEE_ATTACKING);
me->SendMeleeAttackStart(victim);
}
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == IDLE_MOTION_TYPE)
@@ -591,7 +591,7 @@ void CreatureEventAI::ProcessAction(CreatureEventAI_Action const& action, uint32
Unit* victim = me->getVictim();
if (action.combat_movement.melee && victim)
{
- me->ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ me->ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
me->SendMeleeAttackStop(victim);
}
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 1b6fde6d132..bd6c901f99c 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -595,7 +595,7 @@ void BossAI::UpdateAI(uint32 const diff)
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -654,7 +654,7 @@ void WorldBossAI::UpdateAI(uint32 const diff)
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index c5f04d4ff5f..048cc8b3d68 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -90,7 +90,7 @@ bool npc_escortAI::AssistPlayerInCombat(Unit* who)
void npc_escortAI::MoveInLineOfSight(Unit* who)
{
- if (!me->HasUnitState(UNIT_STAT_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me))
+ if (!me->HasUnitState(UNIT_STATE_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me))
{
if (HasEscortState(STATE_ESCORT_ESCORTING) && AssistPlayerInCombat(who))
return;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
index 53747d0c799..d83ad9b756c 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -38,8 +38,8 @@ void FollowerAI::AttackStart(Unit* who)
me->SetInCombatWith(who);
who->SetInCombatWith(me);
- if (me->HasUnitState(UNIT_STAT_FOLLOW))
- me->ClearUnitState(UNIT_STAT_FOLLOW);
+ if (me->HasUnitState(UNIT_STATE_FOLLOW))
+ me->ClearUnitState(UNIT_STATE_FOLLOW);
if (IsCombatMovementAllowed())
me->GetMotionMaster()->MoveChase(who);
@@ -88,7 +88,7 @@ bool FollowerAI::AssistPlayerInCombat(Unit* who)
void FollowerAI::MoveInLineOfSight(Unit* who)
{
- if (!me->HasUnitState(UNIT_STAT_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me))
+ if (!me->HasUnitState(UNIT_STATE_STUNNED) && who->isTargetableForAttack() && who->isInAccessiblePlaceFor(me))
{
if (HasFollowState(STATE_FOLLOW_INPROGRESS) && AssistPlayerInCombat(who))
return;
@@ -340,9 +340,9 @@ Player* FollowerAI::GetLeaderForFollower()
void FollowerAI::SetFollowComplete(bool bWithEndEvent)
{
- if (me->HasUnitState(UNIT_STAT_FOLLOW))
+ if (me->HasUnitState(UNIT_STATE_FOLLOW))
{
- me->ClearUnitState(UNIT_STAT_FOLLOW);
+ me->ClearUnitState(UNIT_STATE_FOLLOW);
me->StopMoving();
me->GetMotionMaster()->Clear();
@@ -369,9 +369,9 @@ void FollowerAI::SetFollowPaused(bool paused)
{
AddFollowState(STATE_FOLLOW_PAUSED);
- if (me->HasUnitState(UNIT_STAT_FOLLOW))
+ if (me->HasUnitState(UNIT_STATE_FOLLOW))
{
- me->ClearUnitState(UNIT_STAT_FOLLOW);
+ me->ClearUnitState(UNIT_STATE_FOLLOW);
me->StopMoving();
me->GetMotionMaster()->Clear();
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 2b32946da17..a6923ea19e0 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -2718,7 +2718,7 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff)
{
if (!(e.action.cast.flags & SMARTCAST_INTERRUPT_PREVIOUS))
{
- if (me && me->HasUnitState(UNIT_STAT_CASTING))
+ if (me && me->HasUnitState(UNIT_STATE_CASTING))
{
e.timer = 1;
return;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index 5e529768c04..1e128429533 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -28,17 +28,6 @@
#include "Player.h"
#include "Util.h"
-// these variables aren't used outside of this file, so declare them only here
-uint32 BG_AB_HonorScoreTicks[BG_HONOR_MODE_NUM] = {
- 330, // normal honor
- 200 // holiday
-};
-
-uint32 BG_AB_ReputationScoreTicks[BG_HONOR_MODE_NUM] = {
- 200, // normal honor
- 150 // holiday
-};
-
BattlegroundAB::BattlegroundAB()
{
m_BuffChange = true;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
index c86076f0250..50020a580b1 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
@@ -176,10 +176,10 @@ enum BG_AB_Objectives
AB_OBJECTIVE_DEFEND_BASE = 123
};
-#define BG_AB_NotABBGWeekendHonorTicks 330
-#define BG_AB_ABBGWeekendHonorTicks 200
-#define BG_AB_NotABBGWeekendReputationTicks 200
-#define BG_AB_ABBGWeekendReputationTicks 150
+#define BG_AB_NotABBGWeekendHonorTicks 260
+#define BG_AB_ABBGWeekendHonorTicks 160
+#define BG_AB_NotABBGWeekendReputationTicks 160
+#define BG_AB_ABBGWeekendReputationTicks 120
#define AB_EVENT_START_BATTLE 9158 // Achievement: Let's Get This Done
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
index cbc3ec85055..b7994d0052c 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
@@ -30,8 +30,8 @@
// these variables aren't used outside of this file, so declare them only here
uint32 BG_EY_HonorScoreTicks[BG_HONOR_MODE_NUM] = {
- 330, // normal honor
- 200 // holiday
+ 260, // normal honor
+ 160 // holiday
};
BattlegroundEY::BattlegroundEY()
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
index baa9ca30cff..026fbccc320 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
@@ -217,8 +217,8 @@ enum EYBattlegroundObjectTypes
BG_EY_OBJECT_MAX = 59
};
-#define BG_EY_NotEYWeekendHonorTicks 330
-#define BG_EY_EYWeekendHonorTicks 200
+#define BG_EY_NotEYWeekendHonorTicks 260
+#define BG_EY_EYWeekendHonorTicks 160
#define EY_EVENT_START_BATTLE 13180 // Achievement: Flurry
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index e3eefd41d52..40f31cef394 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -175,9 +175,9 @@ void BattlegroundIC::PostUpdateImpl(uint32 diff)
{
if (siege->isAlive())
{
- if (siege->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_UNK_14|UNIT_FLAG_OOC_NOT_ATTACKABLE))
+ if (siege->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_UNK_14|UNIT_FLAG_IMMUNE_TO_PC))
// following sniffs the vehicle always has UNIT_FLAG_UNK_14
- siege->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ siege->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_IMMUNE_TO_PC);
else
siege->SetHealth(siege->GetMaxHealth());
}
@@ -793,7 +793,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (Creature* siegeEngine = GetBGCreature(siegeType))
{
- siegeEngine->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_UNK_14|UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ siegeEngine->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_UNK_14|UNIT_FLAG_IMMUNE_TO_PC);
siegeEngine->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
}
diff --git a/src/server/game/Combat/ThreatManager.cpp b/src/server/game/Combat/ThreatManager.cpp
index 7833198e3c3..d82e43ba83b 100755
--- a/src/server/game/Combat/ThreatManager.cpp
+++ b/src/server/game/Combat/ThreatManager.cpp
@@ -180,7 +180,7 @@ void HostileReference::updateOnlineStatus()
// target is not in flight
if (isValid()
&& (getTarget()->GetTypeId() != TYPEID_PLAYER || !getTarget()->ToPlayer()->isGameMaster())
- && !getTarget()->HasUnitState(UNIT_STAT_IN_FLIGHT)
+ && !getTarget()->HasUnitState(UNIT_STATE_IN_FLIGHT)
&& getTarget()->IsInMap(getSourceUnit())
)
{
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index ac7343e8f23..cccb780e412 100755
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -1762,7 +1762,7 @@ void LFGMgr::TeleportPlayer(Player* player, bool out, bool fromOpcode /*= false*
error = LFG_TELEPORTERROR_INVALID_LOCATION;
else if (!player->isAlive())
error = LFG_TELEPORTERROR_PLAYER_DEAD;
- else if (player->IsFalling() || player->HasUnitState(UNIT_STAT_JUMPING))
+ else if (player->IsFalling() || player->HasUnitState(UNIT_STATE_JUMPING))
error = LFG_TELEPORTERROR_FALLING;
else
{
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 23865dd9e41..eb29e681016 100755
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -685,7 +685,7 @@ void Creature::DoFleeToGetAssistance()
if (!creature)
//SetFeared(true, getVictim()->GetGUID(), 0, sWorld->getIntConfig(CONFIG_CREATURE_FAMILY_FLEE_DELAY));
//TODO: use 31365
- SetControlled(true, UNIT_STAT_FLEEING);
+ SetControlled(true, UNIT_STATE_FLEEING);
else
GetMotionMaster()->MoveSeekAssistance(creature->GetPositionX(), creature->GetPositionY(), creature->GetPositionZ());
}
@@ -1413,7 +1413,7 @@ bool Creature::canStartAttack(Unit const* who, bool force) const
if (isCivilian())
return false;
- if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE))
+ if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC))
return false;
// Do not attack non-combat pets
@@ -1536,7 +1536,7 @@ void Creature::setDeathState(DeathState s)
if (GetCreatureInfo()->InhabitType & INHABIT_WATER)
AddUnitMovementFlag(MOVEMENTFLAG_SWIMMING);
SetUInt32Value(UNIT_NPC_FLAGS, cinfo->npcflag);
- ClearUnitState(uint32(UNIT_STAT_ALL_STATE));
+ ClearUnitState(uint32(UNIT_STATE_ALL_STATE));
SetMeleeDamageSchool(SpellSchools(cinfo->dmgschool));
LoadCreaturesAddon(true);
Motion_Initialize();
@@ -1565,7 +1565,7 @@ void Creature::Respawn(bool force)
if (m_DBTableGuid)
sObjectMgr->RemoveCreatureRespawnTime(m_DBTableGuid, GetInstanceId());
- sLog->outStaticDebug("Respawning...");
+ sLog->outStaticDebug("Respawning creature %s (GuidLow: %u, Full GUID: " UI64FMTD " Entry: %u)", GetName(), GetGUIDLow(), GetGUID(), GetEntry());
m_respawnTime = 0;
lootForPickPocketed = false;
lootForBody = false;
@@ -1905,7 +1905,7 @@ bool Creature::CanAssistTo(const Unit* u, const Unit* enemy, bool checkfaction /
if (isCivilian())
return false;
- if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_PASSIVE))
+ if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC))
return false;
// skip fighting creature
@@ -1947,7 +1947,7 @@ bool Creature::_IsTargetAcceptable(const Unit* target) const
|| (m_vehicle && (IsOnVehicle(target) || m_vehicle->GetBase()->IsOnVehicle(target))))
return false;
- if (target->HasUnitState(UNIT_STAT_DIED))
+ if (target->HasUnitState(UNIT_STATE_DIED))
{
// guards can detect fake death
if (isGuard() && target->HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH))
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 05339f1da53..e622c48761c 100755
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -512,7 +512,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapCreature
uint8 getLevelForTarget(WorldObject const* target) const; // overwrite Unit::getLevelForTarget for boss level support
- bool IsInEvadeMode() const { return HasUnitState(UNIT_STAT_EVADE); }
+ bool IsInEvadeMode() const { return HasUnitState(UNIT_STATE_EVADE); }
bool AIM_Initialize(CreatureAI* ai = NULL);
void Motion_Initialize();
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 732171da67a..1a8eb8f82e2 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2458,7 +2458,7 @@ namespace Trinity
float x, y, z;
- if (!c->isAlive() || c->HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DISTRACTED) ||
+ if (!c->isAlive() || c->HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DISTRACTED) ||
!c->GetMotionMaster()->GetDestination(x, y, z))
{
x = c->GetPositionX();
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9eece3003af..38af97f61cb 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -1589,7 +1589,7 @@ void Player::Update(uint32 p_time)
GetAchievementMgr().UpdateTimedAchievements(p_time);
- if (HasUnitState(UNIT_STAT_MELEE_ATTACKING) && !HasUnitState(UNIT_STAT_CASTING))
+ if (HasUnitState(UNIT_STATE_MELEE_ATTACKING) && !HasUnitState(UNIT_STATE_CASTING))
{
if (Unit* pVictim = getVictim())
{
@@ -3251,7 +3251,7 @@ void Player::InitStatsForLevel(bool reapplyMods)
// cleanup unit flags (will be re-applied if need at aura load).
RemoveFlag(UNIT_FIELD_FLAGS,
UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NOT_ATTACKABLE_1 |
- UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE | UNIT_FLAG_LOOTING |
+ UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_LOOTING |
UNIT_FLAG_PET_IN_COMBAT | UNIT_FLAG_SILENCED | UNIT_FLAG_PACIFIED |
UNIT_FLAG_STUNNED | UNIT_FLAG_IN_COMBAT | UNIT_FLAG_DISARMED |
UNIT_FLAG_CONFUSED | UNIT_FLAG_FLEEING | UNIT_FLAG_NOT_SELECTABLE |
@@ -11385,7 +11385,7 @@ InventoryResult Player::CanEquipItem(uint8 slot, uint16 &dest, Item* pItem, bool
{
// May be here should be more stronger checks; STUNNED checked
// ROOT, CONFUSED, DISTRACTED, FLEEING this needs to be checked.
- if (HasUnitState(UNIT_STAT_STUNNED))
+ if (HasUnitState(UNIT_STATE_STUNNED))
return EQUIP_ERR_YOU_ARE_STUNNED;
// do not allow equipping gear except weapons, offhands, projectiles, relics in
@@ -11985,6 +11985,7 @@ Item* Player::StoreNewItem(ItemPosCountVec const& dest, uint32 item, bool update
{
ItemAddedQuestCheck(item, count);
GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM, item, count);
+ GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM, item, 1);
if (randomPropertyId)
pItem->SetItemRandomProperties(randomPropertyId);
pItem = StoreItem(dest, pItem, update);
@@ -12038,7 +12039,6 @@ Item* Player::StoreItem(ItemPosCountVec const& dest, Item* pItem, bool update)
lastItem = _StoreItem(pos, pItem, count, true, update);
}
- GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM, entry, 1);
return lastItem;
}
@@ -14323,7 +14323,7 @@ void Player::OnGossipSelect(WorldObject* source, uint32 gossipListId, uint32 men
break;
case GOSSIP_OPTION_UNLEARNTALENTS:
PlayerTalkClass->SendCloseGossip();
- source->ToCreature()->CastSpell(this, 46331, true); // Trainer: Untrain Talents
+ SendTalentWipeConfirm(guid);
break;
case GOSSIP_OPTION_UNLEARNPETTALENTS:
PlayerTalkClass->SendCloseGossip();
@@ -20265,7 +20265,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
return false;
// not let cheating with start flight in time of logout process || while in combat || has type state: stunned || has type state: root
- if (GetSession()->isLogingOut() || isInCombat() || HasUnitState(UNIT_STAT_STUNNED) || HasUnitState(UNIT_STAT_ROOT))
+ if (GetSession()->isLogingOut() || isInCombat() || HasUnitState(UNIT_STATE_STUNNED) || HasUnitState(UNIT_STATE_ROOT))
{
WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4);
data << uint32(ERR_TAXIPLAYERBUSY);
@@ -21560,7 +21560,7 @@ void Player::SendInitialVisiblePackets(Unit* target)
SendAurasForTarget(target);
if (target->isAlive())
{
- if (target->HasUnitState(UNIT_STAT_MELEE_ATTACKING) && target->getVictim())
+ if (target->HasUnitState(UNIT_STATE_MELEE_ATTACKING) && target->getVictim())
target->SendMeleeAttackStart(target->getVictim());
}
}
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 2fa171cf3f9..489b4eacec5 100755
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1806,7 +1806,7 @@ class Player : public Unit, public GridObject<Player>
void SetContestedPvPTimer(uint32 newTime) {m_contestedPvPTimer = newTime;}
void ResetContestedPvP()
{
- ClearUnitState(UNIT_STAT_ATTACK_PLAYER);
+ ClearUnitState(UNIT_STATE_ATTACK_PLAYER);
RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_CONTESTED_PVP);
m_contestedPvPTimer = 0;
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 289a600e88a..db36a148a57 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -316,7 +316,7 @@ void Unit::Update(uint32 p_time)
// update combat timer only for players and pets (only pets with PetAI)
if (isInCombat() && (GetTypeId() == TYPEID_PLAYER || (ToCreature()->isPet() && IsControlledByPlayer())))
{
- // Check UNIT_STAT_MELEE_ATTACKING or UNIT_STAT_CHASE (without UNIT_STAT_FOLLOW in this case) so pets can reach far away
+ // Check UNIT_STATE_MELEE_ATTACKING or UNIT_STATE_CHASE (without UNIT_STATE_FOLLOW in this case) so pets can reach far away
// targets without stopping half way there and running off.
// These flags are reset after target dies or another command is given.
if (m_HostileRefManager.isEmpty())
@@ -516,9 +516,27 @@ bool Unit::HasAuraTypeWithFamilyFlags(AuraType auraType, uint32 familyName, uint
return false;
}
+bool Unit::HasBreakableByDamageAuraType(AuraType type) const
+{
+ AuraEffectList const& auras = GetAuraEffectsByType(type);
+ for (AuraEffectList::const_iterator itr = auras.begin(); itr != auras.end(); ++itr)
+ if ((*itr)->GetSpellInfo()->Attributes & SPELL_ATTR0_BREAKABLE_BY_DAMAGE || (*itr)->GetSpellInfo()->AuraInterruptFlags & AURA_INTERRUPT_FLAG_TAKE_DAMAGE)
+ return true;
+ return false;
+}
+
+bool Unit::HasBreakableByDamageCrowdControlAura() const
+{
+ return ( HasBreakableByDamageAuraType(SPELL_AURA_MOD_CONFUSE)
+ || HasBreakableByDamageAuraType(SPELL_AURA_MOD_FEAR)
+ || HasBreakableByDamageAuraType(SPELL_AURA_MOD_STUN)
+ || HasBreakableByDamageAuraType(SPELL_AURA_MOD_ROOT)
+ || HasBreakableByDamageAuraType(SPELL_AURA_TRANSFORM));
+}
+
void Unit::DealDamageMods(Unit* victim, uint32 &damage, uint32* absorb)
{
- if (!victim || !victim->isAlive() || victim->HasUnitState(UNIT_STAT_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
+ if (!victim || !victim->isAlive() || victim->HasUnitState(UNIT_STATE_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
{
if (absorb)
*absorb += damage;
@@ -1046,7 +1064,7 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss)
if (!victim)
return;
- if (!victim->isAlive() || victim->HasUnitState(UNIT_STAT_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
+ if (!victim->isAlive() || victim->HasUnitState(UNIT_STATE_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
return;
SpellInfo const* spellProto = sSpellMgr->GetSpellInfo(damageInfo->SpellID);
@@ -1263,14 +1281,14 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
{
Unit* victim = damageInfo->target;
- if (!victim->isAlive() || victim->HasUnitState(UNIT_STAT_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
+ if (!victim->isAlive() || victim->HasUnitState(UNIT_STATE_IN_FLIGHT) || (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()))
return;
// Hmmmm dont like this emotes client must by self do all animations
if (damageInfo->HitInfo & HITINFO_CRITICALHIT)
- victim->HandleEmoteCommand(EMOTE_ONESHOT_WOUNDCRITICAL);
+ victim->HandleEmoteCommand(EMOTE_ONESHOT_WOUND_CRITICAL);
if (damageInfo->blocked_amount && damageInfo->TargetState != VICTIMSTATE_BLOCKS)
- victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRYSHIELD);
+ victim->HandleEmoteCommand(EMOTE_ONESHOT_PARRY_SHIELD);
if (damageInfo->TargetState == VICTIMSTATE_PARRY)
{
@@ -1839,7 +1857,7 @@ void Unit::CalcHealAbsorb(Unit* victim, const SpellInfo* healSpell, uint32 &heal
void Unit::AttackerStateUpdate (Unit* victim, WeaponAttackType attType, bool extra)
{
- if (HasUnitState(UNIT_STAT_CANNOT_AUTOATTACK) || HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED))
+ if (HasUnitState(UNIT_STATE_CANNOT_AUTOATTACK) || HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED))
return;
if (!victim->isAlive())
@@ -2412,7 +2430,7 @@ SpellMissInfo Unit::MagicSpellHitResult(Unit* victim, SpellInfo const* spell)
// Chance hit from victim SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE auras
modHitChance += victim->GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE, schoolMask);
// Reduce spell hit chance for Area of effect spells from victim SPELL_AURA_MOD_AOE_AVOIDANCE aura
- if (spell->IsAOE())
+ if (spell->IsTargetingArea())
modHitChance -= victim->GetTotalAuraModifier(SPELL_AURA_MOD_AOE_AVOIDANCE);
// Decrease hit chance from victim rating bonus
@@ -2557,7 +2575,7 @@ uint32 Unit::GetDefenseSkillValue(Unit const* target) const
float Unit::GetUnitDodgeChance() const
{
- if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STAT_CONTROLLED))
+ if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
if (GetTypeId() == TYPEID_PLAYER)
@@ -2577,7 +2595,7 @@ float Unit::GetUnitDodgeChance() const
float Unit::GetUnitParryChance() const
{
- if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STAT_CONTROLLED))
+ if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
float chance = 0.0f;
@@ -2623,7 +2641,7 @@ float Unit::GetUnitMissChance(WeaponAttackType attType) const
float Unit::GetUnitBlockChance() const
{
- if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STAT_CONTROLLED))
+ if (IsNonMeleeSpellCasted(false) || HasUnitState(UNIT_STATE_CONTROLLED))
return 0.0f;
if (Player const* player = ToPlayer())
@@ -2875,7 +2893,7 @@ void Unit::SetCurrentCastedSpell(Spell* pSpell)
InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
m_AutoRepeatFirstCast = true;
}
- AddUnitState(UNIT_STAT_CASTING);
+ AddUnitState(UNIT_STATE_CASTING);
} break;
case CURRENT_CHANNELED_SPELL:
@@ -2888,7 +2906,7 @@ void Unit::SetCurrentCastedSpell(Spell* pSpell)
if (m_currentSpells[CURRENT_AUTOREPEAT_SPELL] &&
m_currentSpells[CURRENT_AUTOREPEAT_SPELL]->m_spellInfo->Id != 75)
InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
- AddUnitState(UNIT_STAT_CASTING);
+ AddUnitState(UNIT_STATE_CASTING);
} break;
case CURRENT_AUTOREPEAT_SPELL:
@@ -3334,19 +3352,19 @@ void Unit::_RemoveNoStackAurasDueToAura(Aura* aura)
return;
bool remove = false;
- for (AuraMap::iterator i = m_ownedAuras.begin(); i != m_ownedAuras.end(); ++i)
+ for (AuraApplicationMap::iterator i = m_appliedAuras.begin(); i != m_appliedAuras.end(); ++i)
{
if (remove)
{
remove = false;
- i = m_ownedAuras.begin();
+ i = m_appliedAuras.begin();
}
- if (aura->CanStackWith(i->second))
+ if (aura->CanStackWith(i->second->GetBase()))
continue;
- RemoveOwnedAura(i, AURA_REMOVE_BY_DEFAULT);
- if (i == m_ownedAuras.end())
+ RemoveAura(i, AURA_REMOVE_BY_DEFAULT);
+ if (i == m_appliedAuras.end())
break;
remove = true;
}
@@ -3520,17 +3538,25 @@ void Unit::RemoveAuraFromStack(uint32 spellId, uint64 casterGUID, AuraRemoveMode
}
}
-void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit* dispeller, uint8 chargesRemoved/*= 1*/)
+void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint32 dispellerSpellId, uint64 casterGUID, Unit* dispeller, uint8 chargesRemoved/*= 1*/)
{
for (AuraMap::iterator iter = m_ownedAuras.lower_bound(spellId); iter != m_ownedAuras.upper_bound(spellId);)
{
Aura* aura = iter->second;
if (aura->GetCasterGUID() == casterGUID)
{
+ DispelInfo dispelInfo(dispeller, dispellerSpellId, chargesRemoved);
+
+ // Call OnDispel hook on AuraScript
+ aura->CallScriptDispel(&dispelInfo);
+
if (aura->GetSpellInfo()->AttributesEx7 & SPELL_ATTR7_DISPEL_CHARGES)
- aura->ModCharges(-chargesRemoved, AURA_REMOVE_BY_ENEMY_SPELL);
+ aura->ModCharges(-dispelInfo.GetRemovedCharges(), AURA_REMOVE_BY_ENEMY_SPELL);
else
- aura->ModStackAmount(-chargesRemoved, AURA_REMOVE_BY_ENEMY_SPELL);
+ aura->ModStackAmount(-dispelInfo.GetRemovedCharges(), AURA_REMOVE_BY_ENEMY_SPELL);
+
+ // Call AfterDispel hook on AuraScript
+ aura->CallScriptAfterDispel(&dispelInfo);
switch (aura->GetSpellInfo()->SpellFamilyName)
{
@@ -3560,7 +3586,7 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit
{
// final heal
int32 healAmount = aurEff->GetAmount();
- int32 stack = chargesRemoved;
+ int32 stack = dispelInfo.GetRemovedCharges();
CastCustomSpell(this, 33778, &healAmount, &stack, NULL, true, NULL, NULL, aura->GetCasterGUID());
// mana
@@ -4862,8 +4888,8 @@ bool Unit::HandleHasteAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
case 13877:
case 33735:
{
- target = SelectNearbyTarget();
- if (!target || target == victim)
+ target = SelectNearbyTarget(victim);
+ if (!target)
return false;
basepoints0 = damage;
triggered_spell_id = 22482;
@@ -5010,7 +5036,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
case 18765:
case 35429:
{
- target = SelectNearbyTarget();
+ target = SelectNearbyTarget(victim);
if (!target)
return false;
@@ -5730,7 +5756,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
// Sweeping Strikes
case 12328:
{
- target = SelectNearbyTarget();
+ target = SelectNearbyTarget(victim);
if (!target)
return false;
@@ -5806,12 +5832,12 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
if (!victim || !victim->isAlive() || !procSpell)
return false;
- target = SelectNearbyTarget();
- if (!target || target == victim)
+ target = SelectNearbyTarget(victim);
+ if (!target)
return false;
- CastSpell(target, 58567, true);
- return true;
+ triggered_spell_id = 58567;
+ break;
}
break;
}
@@ -9347,16 +9373,16 @@ bool Unit::Attack(Unit* victim, bool meleeAttack)
// switch to melee attack from ranged/magic
if (meleeAttack)
{
- if (!HasUnitState(UNIT_STAT_MELEE_ATTACKING))
+ if (!HasUnitState(UNIT_STATE_MELEE_ATTACKING))
{
- AddUnitState(UNIT_STAT_MELEE_ATTACKING);
+ AddUnitState(UNIT_STATE_MELEE_ATTACKING);
SendMeleeAttackStart(victim);
return true;
}
}
- else if (HasUnitState(UNIT_STAT_MELEE_ATTACKING))
+ else if (HasUnitState(UNIT_STATE_MELEE_ATTACKING))
{
- ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
SendMeleeAttackStop(victim);
return true;
}
@@ -9366,7 +9392,7 @@ bool Unit::Attack(Unit* victim, bool meleeAttack)
// switch target
InterruptSpell(CURRENT_MELEE_SPELL);
if (!meleeAttack)
- ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
}
if (m_attacking)
@@ -9379,7 +9405,7 @@ bool Unit::Attack(Unit* victim, bool meleeAttack)
SetTarget(victim->GetGUID());
if (meleeAttack)
- AddUnitState(UNIT_STAT_MELEE_ATTACKING);
+ AddUnitState(UNIT_STATE_MELEE_ATTACKING);
// set position before any AI calls/assistance
//if (GetTypeId() == TYPEID_UNIT)
@@ -9420,7 +9446,7 @@ bool Unit::AttackStop()
// Clear our target
SetTarget(0);
- ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
InterruptSpell(CURRENT_MELEE_SPELL);
@@ -9463,7 +9489,7 @@ void Unit::CombatStopWithPets(bool includingCast)
bool Unit::isAttackingPlayer() const
{
- if (HasUnitState(UNIT_STAT_ATTACK_PLAYER))
+ if (HasUnitState(UNIT_STATE_ATTACK_PLAYER))
return true;
for (ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr)
@@ -11899,7 +11925,7 @@ void Unit::Dismount()
{
if (Pet* pPet = player->GetPet())
{
- if (pPet->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED) && !pPet->HasUnitState(UNIT_STAT_STUNNED))
+ if (pPet->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED) && !pPet->HasUnitState(UNIT_STATE_STUNNED))
pPet->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
}
else
@@ -11968,7 +11994,7 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy)
if (PvP)
m_CombatTimer = 5000;
- if (isInCombat() || HasUnitState(UNIT_STAT_EVADE))
+ if (isInCombat() || HasUnitState(UNIT_STATE_EVADE))
return;
SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
@@ -11986,7 +12012,7 @@ void Unit::SetInCombatState(bool PvP, Unit* enemy)
if (IsAIEnabled)
{
creature->AI()->EnterCombat(enemy);
- RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE); // always remove Out of Combat Non Attackable flag if we enter combat and AI is enabled
+ RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); // unit has engaged in combat, remove immunity so players can fight back
}
if (creature->GetFormation())
creature->GetFormation()->MemberAttackStart(creature, enemy);
@@ -12018,10 +12044,10 @@ void Unit::ClearInCombat()
// Player's state will be cleared in Player::UpdateContestedPvP
if (Creature* creature = ToCreature())
{
- if (creature->GetCreatureInfo() && creature->GetCreatureInfo()->unit_flags & UNIT_FLAG_OOC_NOT_ATTACKABLE)
- SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE); // re-apply Out of Combat Non Attackable flag if we leave combat, can be overriden in scripts in EnterEvadeMode()
+ if (creature->GetCreatureInfo() && creature->GetCreatureInfo()->unit_flags & UNIT_FLAG_IMMUNE_TO_PC)
+ SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); // set immunity state to the one from db on evade
- ClearUnitState(UNIT_STAT_ATTACK_PLAYER);
+ ClearUnitState(UNIT_STATE_ATTACK_PLAYER);
if (HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED))
SetUInt32Value(UNIT_DYNAMIC_FLAGS, creature->GetCreatureInfo()->dynamicflags);
@@ -12047,13 +12073,13 @@ bool Unit::isTargetableForAttack(bool checkFakeDeath) const
return false;
if (HasFlag(UNIT_FIELD_FLAGS,
- UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE))
+ UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC))
return false;
if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->isGameMaster())
return false;
- return !HasUnitState(UNIT_STAT_UNATTACKABLE) && (!checkFakeDeath || !HasUnitState(UNIT_STAT_DIED));
+ return !HasUnitState(UNIT_STATE_UNATTACKABLE) && (!checkFakeDeath || !HasUnitState(UNIT_STATE_DIED));
}
bool Unit::IsValidAttackTarget(Unit const* target) const
@@ -12071,7 +12097,7 @@ bool Unit::_IsValidAttackTarget(Unit const* target, SpellInfo const* bySpell) co
return false;
// can't attack unattackable units or GMs
- if (target->HasUnitState(UNIT_STAT_UNATTACKABLE)
+ if (target->HasUnitState(UNIT_STATE_UNATTACKABLE)
|| (target->GetTypeId() == TYPEID_PLAYER && target->ToPlayer()->isGameMaster()))
return false;
@@ -12081,7 +12107,7 @@ bool Unit::_IsValidAttackTarget(Unit const* target, SpellInfo const* bySpell) co
return false;
// can't attack invisible (ignore stealth for aoe spells)
- if ((!bySpell || !(bySpell->AttributesEx6 & SPELL_ATTR6_CAN_TARGET_INVISIBLE)) && !canSeeOrDetect(target, bySpell && bySpell->IsAOE()))
+ if ((!bySpell || !(bySpell->AttributesEx6 & SPELL_ATTR6_CAN_TARGET_INVISIBLE)) && !canSeeOrDetect(target, bySpell && bySpell->IsAffectingArea()))
return false;
// can't attack dead
@@ -12100,10 +12126,11 @@ bool Unit::_IsValidAttackTarget(Unit const* target, SpellInfo const* bySpell) co
}
// check flags
if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_TAXI_FLIGHT | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_UNK_16)
- || (!HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE))
- || (!target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE))
- || (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
- || (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE)))
+ || (!HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC))
+ || (!target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC))
+ || (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
+ // check if this is a world trigger cast - GOs are using world triggers to cast their spells, so we need to ignore their immunity flag here, this is a temp workaround, needs removal when go cast is implemented properly
+ || (GetEntry() != WORLD_TRIGGER && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE) && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC)))
return false;
// CvC case - can attack each other only when one of them is hostile
@@ -12165,7 +12192,7 @@ bool Unit::_IsValidAssistTarget(Unit const* target, SpellInfo const* bySpell) co
return true;
// can't assist unattackable units or GMs
- if (target->HasUnitState(UNIT_STAT_UNATTACKABLE)
+ if (target->HasUnitState(UNIT_STATE_UNATTACKABLE)
|| (target->GetTypeId() == TYPEID_PLAYER && target->ToPlayer()->isGameMaster()))
return false;
@@ -12175,7 +12202,7 @@ bool Unit::_IsValidAssistTarget(Unit const* target, SpellInfo const* bySpell) co
return false;
// can't assist invisible
- if ((!bySpell || !(bySpell->AttributesEx6 & SPELL_ATTR6_CAN_TARGET_INVISIBLE)) && !canSeeOrDetect(target, bySpell && bySpell->IsAOE()))
+ if ((!bySpell || !(bySpell->AttributesEx6 & SPELL_ATTR6_CAN_TARGET_INVISIBLE)) && !canSeeOrDetect(target, bySpell && bySpell->IsAffectingArea()))
return false;
// can't assist dead
@@ -12191,12 +12218,12 @@ bool Unit::_IsValidAssistTarget(Unit const* target, SpellInfo const* bySpell) co
{
if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE))
{
- if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
+ if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
return false;
}
else
{
- if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE))
+ if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC))
return false;
}
}
@@ -14596,7 +14623,7 @@ void Unit::SendPetAIReaction(uint64 guid)
void Unit::StopMoving()
{
- ClearUnitState(UNIT_STAT_MOVING);
+ ClearUnitState(UNIT_STATE_MOVING);
// not need send any packets if not in world
if (!IsInWorld())
@@ -14771,7 +14798,7 @@ void Unit::UpdateReactives(uint32 p_time)
}
}
-Unit* Unit::SelectNearbyTarget(float dist) const
+Unit* Unit::SelectNearbyTarget(Unit* exclude, float dist) const
{
std::list<Unit*> targets;
Trinity::AnyUnfriendlyUnitInObjectRangeCheck u_check(this, this, dist);
@@ -14781,6 +14808,9 @@ Unit* Unit::SelectNearbyTarget(float dist) const
// remove current target
if (getVictim())
targets.remove(getVictim());
+
+ if (exclude)
+ targets.remove(exclude);
// remove not LoS targets
for (std::list<Unit*>::iterator tIter = targets.begin(); tIter != targets.end();)
@@ -14870,7 +14900,7 @@ uint32 Unit::GetCastingTimeForBonus(SpellInfo const* spellProto, DamageEffectTyp
break;
}
- if (spellProto->Effects[i].IsArea())
+ if (spellProto->Effects[i].IsTargetingArea())
AreaEffect = true;
}
@@ -14978,16 +15008,16 @@ void Unit::SetContestedPvP(Player* attackedPlayer)
return;
player->SetContestedPvPTimer(30000);
- if (!player->HasUnitState(UNIT_STAT_ATTACK_PLAYER))
+ if (!player->HasUnitState(UNIT_STATE_ATTACK_PLAYER))
{
- player->AddUnitState(UNIT_STAT_ATTACK_PLAYER);
+ player->AddUnitState(UNIT_STATE_ATTACK_PLAYER);
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_CONTESTED_PVP);
// call MoveInLineOfSight for nearby contested guards
UpdateObjectVisibility();
}
- if (!HasUnitState(UNIT_STAT_ATTACK_PLAYER))
+ if (!HasUnitState(UNIT_STATE_ATTACK_PLAYER))
{
- AddUnitState(UNIT_STAT_ATTACK_PLAYER);
+ AddUnitState(UNIT_STATE_ATTACK_PLAYER);
// call MoveInLineOfSight for nearby contested guards
UpdateObjectVisibility();
}
@@ -15555,28 +15585,28 @@ void Unit::SetControlled(bool apply, UnitState state)
AddUnitState(state);
switch (state)
{
- case UNIT_STAT_STUNNED:
+ case UNIT_STATE_STUNNED:
SetStunned(true);
CastStop();
break;
- case UNIT_STAT_ROOT:
- if (!HasUnitState(UNIT_STAT_STUNNED))
+ case UNIT_STATE_ROOT:
+ if (!HasUnitState(UNIT_STATE_STUNNED))
SetRooted(true);
break;
- case UNIT_STAT_CONFUSED:
- if (!HasUnitState(UNIT_STAT_STUNNED))
+ case UNIT_STATE_CONFUSED:
+ if (!HasUnitState(UNIT_STATE_STUNNED))
{
- ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
SendMeleeAttackStop();
// SendAutoRepeatCancel ?
SetConfused(true);
CastStop();
}
break;
- case UNIT_STAT_FLEEING:
- if (!HasUnitState(UNIT_STAT_STUNNED | UNIT_STAT_CONFUSED))
+ case UNIT_STATE_FLEEING:
+ if (!HasUnitState(UNIT_STATE_STUNNED | UNIT_STATE_CONFUSED))
{
- ClearUnitState(UNIT_STAT_MELEE_ATTACKING);
+ ClearUnitState(UNIT_STATE_MELEE_ATTACKING);
SendMeleeAttackStop();
// SendAutoRepeatCancel ?
SetFeared(true);
@@ -15591,29 +15621,29 @@ void Unit::SetControlled(bool apply, UnitState state)
{
switch (state)
{
- case UNIT_STAT_STUNNED: if (HasAuraType(SPELL_AURA_MOD_STUN)) return;
+ case UNIT_STATE_STUNNED: if (HasAuraType(SPELL_AURA_MOD_STUN)) return;
else SetStunned(false); break;
- case UNIT_STAT_ROOT: if (HasAuraType(SPELL_AURA_MOD_ROOT) || GetVehicle()) return;
+ case UNIT_STATE_ROOT: if (HasAuraType(SPELL_AURA_MOD_ROOT) || GetVehicle()) return;
else SetRooted(false); break;
- case UNIT_STAT_CONFUSED:if (HasAuraType(SPELL_AURA_MOD_CONFUSE)) return;
+ case UNIT_STATE_CONFUSED:if (HasAuraType(SPELL_AURA_MOD_CONFUSE)) return;
else SetConfused(false); break;
- case UNIT_STAT_FLEEING: if (HasAuraType(SPELL_AURA_MOD_FEAR)) return;
+ case UNIT_STATE_FLEEING: if (HasAuraType(SPELL_AURA_MOD_FEAR)) return;
else SetFeared(false); break;
default: return;
}
ClearUnitState(state);
- if (HasUnitState(UNIT_STAT_STUNNED))
+ if (HasUnitState(UNIT_STATE_STUNNED))
SetStunned(true);
else
{
- if (HasUnitState(UNIT_STAT_ROOT))
+ if (HasUnitState(UNIT_STATE_ROOT))
SetRooted(true);
- if (HasUnitState(UNIT_STAT_CONFUSED))
+ if (HasUnitState(UNIT_STATE_CONFUSED))
SetConfused(true);
- else if (HasUnitState(UNIT_STAT_FLEEING))
+ else if (HasUnitState(UNIT_STATE_FLEEING))
SetFeared(true);
}
}
@@ -15655,7 +15685,7 @@ void Unit::SetStunned(bool apply)
if (!owner || (owner->GetTypeId() == TYPEID_PLAYER && !owner->ToPlayer()->IsMounted()))
RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
- if (!HasUnitState(UNIT_STAT_ROOT)) // prevent moving if it also has root effect
+ if (!HasUnitState(UNIT_STATE_ROOT)) // prevent moving if it also has root effect
{
WorldPacket data(SMSG_FORCE_MOVE_UNROOT, 8+4);
data.append(GetPackGUID());
@@ -15697,7 +15727,7 @@ void Unit::SetRooted(bool apply)
}
else
{
- if (!HasUnitState(UNIT_STAT_STUNNED)) // prevent moving if it also has stun effect
+ if (!HasUnitState(UNIT_STATE_STUNNED)) // prevent moving if it also has stun effect
{
if (GetTypeId() == TYPEID_PLAYER)
{
@@ -15789,7 +15819,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
return false;
}
- //if (HasUnitState(UNIT_STAT_UNATTACKABLE))
+ //if (HasUnitState(UNIT_STATE_UNATTACKABLE))
// return false;
if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->GetTransport())
@@ -15882,7 +15912,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
charmer->ToPlayer()->VehicleSpellInitialize();
break;
case CHARM_TYPE_POSSESS:
- AddUnitState(UNIT_STAT_POSSESSED);
+ AddUnitState(UNIT_STATE_POSSESSED);
SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED);
charmer->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
charmer->ToPlayer()->SetClientControl(this, 1);
@@ -15933,7 +15963,7 @@ void Unit::RemoveCharmedBy(Unit* charmer)
}
CharmType type;
- if (HasUnitState(UNIT_STAT_POSSESSED))
+ if (HasUnitState(UNIT_STATE_POSSESSED))
type = CHARM_TYPE_POSSESS;
else if (charmer && charmer->IsOnVehicle(this))
type = CHARM_TYPE_VEHICLE;
@@ -15951,7 +15981,7 @@ void Unit::RemoveCharmedBy(Unit* charmer)
if (type == CHARM_TYPE_POSSESS)
{
- ClearUnitState(UNIT_STAT_POSSESSED);
+ ClearUnitState(UNIT_STATE_POSSESSED);
RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED);
}
@@ -16990,7 +17020,7 @@ void Unit::_ExitVehicle(Position const* exitPosition)
Vehicle* vehicle = m_vehicle;
m_vehicle = NULL;
- SetControlled(false, UNIT_STAT_ROOT); // SMSG_MOVE_FORCE_UNROOT, ~MOVEMENTFLAG_ROOT
+ SetControlled(false, UNIT_STATE_ROOT); // SMSG_MOVE_FORCE_UNROOT, ~MOVEMENTFLAG_ROOT
Position pos;
if (!exitPosition) // Exit position not specified
@@ -16998,7 +17028,7 @@ void Unit::_ExitVehicle(Position const* exitPosition)
else
pos = *exitPosition;
- AddUnitState(UNIT_STAT_MOVE);
+ AddUnitState(UNIT_STATE_MOVE);
if (GetTypeId() == TYPEID_PLAYER)
ToPlayer()->SetFallInformation(0, GetPositionZ());
@@ -17390,7 +17420,7 @@ bool CharmInfo::IsReturning()
void Unit::SetInFront(Unit const* target)
{
- if (!HasUnitState(UNIT_STAT_CANNOT_TURN))
+ if (!HasUnitState(UNIT_STATE_CANNOT_TURN))
SetOrientation(GetAngle(target));
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index b64a2e210bc..abcdf13c49b 100755
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -469,46 +469,46 @@ enum DeathState
enum UnitState
{
- UNIT_STAT_DIED = 0x00000001, // player has fake death aura
- UNIT_STAT_MELEE_ATTACKING = 0x00000002, // player is melee attacking someone
- //UNIT_STAT_MELEE_ATTACK_BY = 0x00000004, // player is melee attack by someone
- UNIT_STAT_STUNNED = 0x00000008,
- UNIT_STAT_ROAMING = 0x00000010,
- UNIT_STAT_CHASE = 0x00000020,
- //UNIT_STAT_SEARCHING = 0x00000040,
- UNIT_STAT_FLEEING = 0x00000080,
- UNIT_STAT_IN_FLIGHT = 0x00000100, // player is in flight mode
- UNIT_STAT_FOLLOW = 0x00000200,
- UNIT_STAT_ROOT = 0x00000400,
- UNIT_STAT_CONFUSED = 0x00000800,
- UNIT_STAT_DISTRACTED = 0x00001000,
- UNIT_STAT_ISOLATED = 0x00002000, // area auras do not affect other players
- UNIT_STAT_ATTACK_PLAYER = 0x00004000,
- UNIT_STAT_CASTING = 0x00008000,
- UNIT_STAT_POSSESSED = 0x00010000,
- UNIT_STAT_CHARGING = 0x00020000,
- UNIT_STAT_JUMPING = 0x00040000,
- UNIT_STAT_ONVEHICLE = 0x00080000,
- UNIT_STAT_MOVE = 0x00100000,
- UNIT_STAT_ROTATING = 0x00200000,
- UNIT_STAT_EVADE = 0x00400000,
- UNIT_STAT_ROAMING_MOVE = 0x00800000,
- UNIT_STAT_CONFUSED_MOVE = 0x01000000,
- UNIT_STAT_FLEEING_MOVE = 0x02000000,
- UNIT_STAT_CHASE_MOVE = 0x04000000,
- UNIT_STAT_FOLLOW_MOVE = 0x08000000,
- UNIT_STAT_UNATTACKABLE = (UNIT_STAT_IN_FLIGHT | UNIT_STAT_ONVEHICLE),
- //UNIT_STAT_MOVING = (UNIT_STAT_ROAMING | UNIT_STAT_CHASE),
+ UNIT_STATE_DIED = 0x00000001, // player has fake death aura
+ UNIT_STATE_MELEE_ATTACKING = 0x00000002, // player is melee attacking someone
+ //UNIT_STATE_MELEE_ATTACK_BY = 0x00000004, // player is melee attack by someone
+ UNIT_STATE_STUNNED = 0x00000008,
+ UNIT_STATE_ROAMING = 0x00000010,
+ UNIT_STATE_CHASE = 0x00000020,
+ //UNIT_STATE_SEARCHING = 0x00000040,
+ UNIT_STATE_FLEEING = 0x00000080,
+ UNIT_STATE_IN_FLIGHT = 0x00000100, // player is in flight mode
+ UNIT_STATE_FOLLOW = 0x00000200,
+ UNIT_STATE_ROOT = 0x00000400,
+ UNIT_STATE_CONFUSED = 0x00000800,
+ UNIT_STATE_DISTRACTED = 0x00001000,
+ UNIT_STATE_ISOLATED = 0x00002000, // area auras do not affect other players
+ UNIT_STATE_ATTACK_PLAYER = 0x00004000,
+ UNIT_STATE_CASTING = 0x00008000,
+ UNIT_STATE_POSSESSED = 0x00010000,
+ UNIT_STATE_CHARGING = 0x00020000,
+ UNIT_STATE_JUMPING = 0x00040000,
+ UNIT_STATE_ONVEHICLE = 0x00080000,
+ UNIT_STATE_MOVE = 0x00100000,
+ UNIT_STATE_ROTATING = 0x00200000,
+ UNIT_STATE_EVADE = 0x00400000,
+ UNIT_STATE_ROAMING_MOVE = 0x00800000,
+ UNIT_STATE_CONFUSED_MOVE = 0x01000000,
+ UNIT_STATE_FLEEING_MOVE = 0x02000000,
+ UNIT_STATE_CHASE_MOVE = 0x04000000,
+ UNIT_STATE_FOLLOW_MOVE = 0x08000000,
+ UNIT_STATE_UNATTACKABLE = (UNIT_STATE_IN_FLIGHT | UNIT_STATE_ONVEHICLE),
+ //UNIT_STATE_MOVING = (UNIT_STATE_ROAMING | UNIT_STATE_CHASE),
// for real move using movegen check and stop (except unstoppable flight)
- UNIT_STAT_MOVING = UNIT_STAT_ROAMING_MOVE | UNIT_STAT_CONFUSED_MOVE | UNIT_STAT_FLEEING_MOVE| UNIT_STAT_CHASE_MOVE | UNIT_STAT_FOLLOW_MOVE ,
- UNIT_STAT_CONTROLLED = (UNIT_STAT_CONFUSED | UNIT_STAT_STUNNED | UNIT_STAT_FLEEING),
- UNIT_STAT_LOST_CONTROL = (UNIT_STAT_CONTROLLED | UNIT_STAT_JUMPING | UNIT_STAT_CHARGING),
- UNIT_STAT_SIGHTLESS = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_EVADE),
- UNIT_STAT_CANNOT_AUTOATTACK = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_CASTING),
- UNIT_STAT_CANNOT_TURN = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_ROTATING),
+ UNIT_STATE_MOVING = UNIT_STATE_ROAMING_MOVE | UNIT_STATE_CONFUSED_MOVE | UNIT_STATE_FLEEING_MOVE| UNIT_STATE_CHASE_MOVE | UNIT_STATE_FOLLOW_MOVE ,
+ UNIT_STATE_CONTROLLED = (UNIT_STATE_CONFUSED | UNIT_STATE_STUNNED | UNIT_STATE_FLEEING),
+ UNIT_STATE_LOST_CONTROL = (UNIT_STATE_CONTROLLED | UNIT_STATE_JUMPING | UNIT_STATE_CHARGING),
+ UNIT_STATE_SIGHTLESS = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_EVADE),
+ UNIT_STATE_CANNOT_AUTOATTACK = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_CASTING),
+ UNIT_STATE_CANNOT_TURN = (UNIT_STATE_LOST_CONTROL | UNIT_STATE_ROTATING),
// stay by different reasons
- UNIT_STAT_NOT_MOVE = UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DIED | UNIT_STAT_DISTRACTED,
- UNIT_STAT_ALL_STATE = 0xffffffff //(UNIT_STAT_STOPPED | UNIT_STAT_MOVING | UNIT_STAT_IN_COMBAT | UNIT_STAT_IN_FLIGHT)
+ UNIT_STATE_NOT_MOVE = UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DIED | UNIT_STATE_DISTRACTED,
+ UNIT_STATE_ALL_STATE = 0xffffffff //(UNIT_STATE_STOPPED | UNIT_STATE_MOVING | UNIT_STATE_IN_COMBAT | UNIT_STATE_IN_FLIGHT)
};
enum UnitMoveType
@@ -589,8 +589,8 @@ enum UnitFlags
UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR5_NO_REAGENT_WHILE_PREP
UNIT_FLAG_UNK_6 = 0x00000040,
UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PVP_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
- UNIT_FLAG_OOC_NOT_ATTACKABLE = 0x00000100, // 2.0.8 - (OOC Out Of Combat) Can not be attacked when not in combat. Removed if unit for some reason enter combat.
- UNIT_FLAG_PASSIVE = 0x00000200, // makes you unable to attack everything. Almost identical to our "civilian"-term. Will ignore it's surroundings and not engage in combat unless "called upon" or engaged by another unit.
+ UNIT_FLAG_IMMUNE_TO_PC = 0x00000100, // disables combat/assistance with PlayerCharacters (PC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget
+ UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200, // disables combat/assistance with NonPlayerCharacters (NPC) - see Unit::_IsValidAttackTarget, Unit::_IsValidAssistTarget
UNIT_FLAG_LOOTING = 0x00000400, // loot animation
UNIT_FLAG_PET_IN_COMBAT = 0x00000800, // in combat?, 2.0.8
UNIT_FLAG_PVP = 0x00001000, // changed in 3.0.3
@@ -788,6 +788,25 @@ enum MeleeHitOutcome
MELEE_HIT_GLANCING, MELEE_HIT_CRIT, MELEE_HIT_CRUSHING, MELEE_HIT_NORMAL
};
+class DispelInfo
+{
+private:
+ Unit* const m_dispeller;
+ uint32 const m_dispellerSpellId;
+ uint8 m_chargesRemoved;
+public:
+ explicit DispelInfo(Unit* _dispeller, uint32 _dispellerSpellId, uint8 _chargesRemoved) :
+ m_dispeller(_dispeller), m_dispellerSpellId(_dispellerSpellId), m_chargesRemoved(_chargesRemoved) {}
+
+ Unit* GetDispeller() { return m_dispeller; }
+ uint32 GetDispellerSpellId() { return m_dispellerSpellId; }
+ uint8 GetRemovedCharges() { return m_chargesRemoved; }
+ void SetRemovedCharges(uint8 amount)
+ {
+ m_chargesRemoved = amount;
+ }
+};
+
struct CleanDamage
{
CleanDamage(uint32 mitigated, uint32 absorbed, WeaponAttackType _attackType, MeleeHitOutcome _hitOutCome) :
@@ -1280,7 +1299,7 @@ class Unit : public WorldObject
void CombatStop(bool includingCast = false);
void CombatStopWithPets(bool includingCast = false);
void StopAttackFaction(uint32 faction_id);
- Unit* SelectNearbyTarget(float dist = NOMINAL_MELEE_RANGE) const;
+ Unit* SelectNearbyTarget(Unit* exclude = NULL, float dist = NOMINAL_MELEE_RANGE) const;
void SendMeleeAttackStop(Unit* victim = NULL);
void SendMeleeAttackStart(Unit* pVictim);
@@ -1289,8 +1308,8 @@ class Unit : public WorldObject
void ClearUnitState(uint32 f) { m_state &= ~f; }
bool CanFreeMove() const
{
- return !HasUnitState(UNIT_STAT_CONFUSED | UNIT_STAT_FLEEING | UNIT_STAT_IN_FLIGHT |
- UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DISTRACTED) && GetOwnerGUID() == 0;
+ return !HasUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_FLEEING | UNIT_STATE_IN_FLIGHT |
+ UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DISTRACTED) && GetOwnerGUID() == 0;
}
uint32 HasUnitTypeMask(uint32 mask) const { return mask & m_unitTypeMask; }
@@ -1525,7 +1544,7 @@ class Unit : public WorldObject
}
bool isSpiritService() const { return HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPIRITHEALER | UNIT_NPC_FLAG_SPIRITGUIDE); }
- bool isInFlight() const { return HasUnitState(UNIT_STAT_IN_FLIGHT); }
+ bool isInFlight() const { return HasUnitState(UNIT_STATE_IN_FLIGHT); }
bool isInCombat() const { return HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); }
void CombatStart(Unit* target, bool initialAggro = true);
@@ -1536,6 +1555,8 @@ class Unit : public WorldObject
bool HasAuraTypeWithFamilyFlags(AuraType auraType, uint32 familyName, uint32 familyFlags) const;
bool virtual HasSpell(uint32 /*spellID*/) const { return false; }
+ bool HasBreakableByDamageAuraType(AuraType type) const;
+ bool HasBreakableByDamageCrowdControlAura() const;
bool HasStealthAura() const { return HasAuraType(SPELL_AURA_MOD_STEALTH); }
bool HasInvisibilityAura() const { return HasAuraType(SPELL_AURA_MOD_INVISIBILITY); }
@@ -1682,8 +1703,8 @@ class Unit : public WorldObject
void RemoveAllControlled();
bool isCharmed() const { return GetCharmerGUID() != 0; }
- bool isPossessed() const { return HasUnitState(UNIT_STAT_POSSESSED); }
- bool isPossessedByPlayer() const { return HasUnitState(UNIT_STAT_POSSESSED) && IS_PLAYER_GUID(GetCharmerGUID()); }
+ bool isPossessed() const { return HasUnitState(UNIT_STATE_POSSESSED); }
+ bool isPossessedByPlayer() const { return HasUnitState(UNIT_STATE_POSSESSED) && IS_PLAYER_GUID(GetCharmerGUID()); }
bool isPossessing() const
{
if (Unit* u = GetCharm())
@@ -1744,7 +1765,7 @@ class Unit : public WorldObject
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID = 0, uint8 reqEffMask = 0, AuraRemoveMode removeMode = AURA_REMOVE_BY_DEFAULT);
void RemoveAuraFromStack(uint32 spellId, uint64 casterGUID = 0, AuraRemoveMode removeMode = AURA_REMOVE_BY_DEFAULT);
- void RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit* dispeller, uint8 chargesRemoved = 1);
+ void RemoveAurasDueToSpellByDispel(uint32 spellId, uint32 dispellerSpellId, uint64 casterGUID, Unit* dispeller, uint8 chargesRemoved = 1);
void RemoveAurasDueToSpellBySteal(uint32 spellId, uint64 casterGUID, Unit* stealer);
void RemoveAurasDueToItemSpell(Item* castItem, uint32 spellId);
void RemoveAurasByType(AuraType auraType, uint64 casterGUID = 0, Aura* except = NULL, bool negative = true, bool positive = true);
@@ -2048,7 +2069,7 @@ class Unit : public WorldObject
MotionMaster* GetMotionMaster() { return &i_motionMaster; }
const MotionMaster* GetMotionMaster() const { return &i_motionMaster; }
- bool IsStopped() const { return !(HasUnitState(UNIT_STAT_MOVING)); }
+ bool IsStopped() const { return !(HasUnitState(UNIT_STATE_MOVING)); }
void StopMoving();
void AddUnitMovementFlag(uint32 f) { m_movementInfo.flags |= f; }
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 7e4bebaab95..fc6c6cb063e 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -176,7 +176,7 @@ void Vehicle::ApplyAllImmunities()
case 160: // Strand of the Ancients
case 244: // Wintergrasp
case 510: // Isle of Conquest
- _me->SetControlled(true, UNIT_STAT_ROOT);
+ _me->SetControlled(true, UNIT_STATE_ROOT);
// why we need to apply this? we can simple add immunities to slow mechanic in DB
_me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_DECREASE_SPEED, true);
break;
@@ -342,7 +342,7 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
}
if (seat->second.SeatInfo->m_flags && !(seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_UNK1))
- unit->AddUnitState(UNIT_STAT_ONVEHICLE);
+ unit->AddUnitState(UNIT_STATE_ONVEHICLE);
unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
VehicleSeatEntry const* veSeat = seat->second.SeatInfo;
@@ -364,7 +364,7 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
if (_me->IsInWorld())
{
unit->SendClearTarget(); // SMSG_BREAK_TARGET
- unit->SetControlled(true, UNIT_STAT_ROOT); // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)
+ unit->SetControlled(true, UNIT_STATE_ROOT); // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)
// also adds MOVEMENTFLAG_ROOT
unit->SendMonsterMoveTransport(_me); // SMSG_MONSTER_MOVE_TRANSPORT
@@ -407,7 +407,7 @@ void Vehicle::RemovePassenger(Unit* unit)
++_usableSeatNum;
}
- unit->ClearUnitState(UNIT_STAT_ONVEHICLE);
+ unit->ClearUnitState(UNIT_STATE_ONVEHICLE);
if (_me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER && seat->first == 0 && seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)
_me->RemoveCharmedBy(unit);
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
index 5e5fbf4a9a6..2446e9d4276 100755
--- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
@@ -113,7 +113,7 @@ inline void CreatureUnitRelocationWorker(Creature* c, Unit* u)
if (!u->isAlive() || !c->isAlive() || c == u || u->isInFlight())
return;
- if (c->HasReactState(REACT_AGGRESSIVE) && !c->HasUnitState(UNIT_STAT_SIGHTLESS))
+ if (c->HasReactState(REACT_AGGRESSIVE) && !c->HasUnitState(UNIT_STATE_SIGHTLESS))
if (c->IsAIEnabled && c->canSeeOrDetect(u, false, true))
c->AI()->MoveInLineOfSight_Safe(u);
}
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h
index dd73cdcb1f0..e3029a1be65 100755
--- a/src/server/game/Grids/Notifiers/GridNotifiers.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.h
@@ -746,7 +746,7 @@ namespace Trinity
bool operator()(Unit* u)
{
if (u->isAlive() && u->isInCombat() && !i_obj->IsHostileTo(u) && i_obj->IsWithinDistInMap(u, i_range) &&
- (u->isFeared() || u->isCharmed() || u->isFrozen() || u->HasUnitState(UNIT_STAT_STUNNED) || u->HasUnitState(UNIT_STAT_CONFUSED)))
+ (u->isFeared() || u->isCharmed() || u->isFrozen() || u->HasUnitState(UNIT_STATE_STUNNED) || u->HasUnitState(UNIT_STATE_CONFUSED)))
{
return true;
}
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index 59eefb9fa77..8a98b038efd 100755
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -46,7 +46,7 @@ void WorldSession::HandleAuctionHelloOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
SendAuctionHello(guid, unit);
@@ -161,7 +161,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
Item* it = player->GetItemByGuid(item);
@@ -274,7 +274,7 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->getFaction());
@@ -394,7 +394,7 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->getFaction());
@@ -482,7 +482,7 @@ void WorldSession::HandleAuctionListBidderItems(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->getFaction());
@@ -531,7 +531,7 @@ void WorldSession::HandleAuctionListOwnerItems(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->getFaction());
@@ -586,7 +586,7 @@ void WorldSession::HandleAuctionListItems(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->getFaction());
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index bd9668ce5b8..0094c20d927 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1004,7 +1004,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
sLog->outChar("Account: %d (IP: %s) Login Character:[%s] (GUID: %u)",
GetAccountId(), IP_str.c_str(), pCurrChar->GetName(), pCurrChar->GetGUIDLow());
- if (!pCurrChar->IsStandState() && !pCurrChar->HasUnitState(UNIT_STAT_STUNNED))
+ if (!pCurrChar->IsStandState() && !pCurrChar->HasUnitState(UNIT_STATE_STUNNED))
pCurrChar->SetStandState(UNIT_STAND_STATE_STAND);
m_playerLoading = false;
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 3d689196256..966eae598a6 100755
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -481,7 +481,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket & recv_data)
void WorldSession::HandleEmoteOpcode(WorldPacket & recv_data)
{
- if (!GetPlayer()->isAlive() || GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (!GetPlayer()->isAlive() || GetPlayer()->HasUnitState(UNIT_STATE_DIED))
return;
uint32 emote;
@@ -558,7 +558,7 @@ void WorldSession::HandleTextEmoteOpcode(WorldPacket & recv_data)
break;
default:
// Only allow text-emotes for "dead" entities (feign death included)
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
break;
GetPlayer()->HandleEmoteCommand(emote_anim);
break;
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp
index d2a5f8014b8..9115f8f0f1e 100755
--- a/src/server/game/Handlers/GuildHandler.cpp
+++ b/src/server/game/Handlers/GuildHandler.cpp
@@ -303,7 +303,7 @@ void WorldSession::HandleSaveGuildEmblemOpcode(WorldPacket& recvPacket)
if (GetPlayer()->GetNPCIfCanInteractWith(vendorGuid, UNIT_NPC_FLAG_TABARDDESIGNER))
{
// Remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (Guild* guild = _GetPlayerGuild(this))
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 47700fd088a..802597e14eb 100755
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -503,7 +503,7 @@ void WorldSession::HandleSellItemOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
Item* pItem = _player->GetItemByGuid(itemguid);
@@ -614,7 +614,7 @@ void WorldSession::HandleBuybackItem(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
Item* pItem = _player->GetItemFromBuyBackSlot(slot);
@@ -732,11 +732,11 @@ void WorldSession::SendListInventory(uint64 vendorGuid)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// Stop the npc if moving
- if (vendor->HasUnitState(UNIT_STAT_MOVING))
+ if (vendor->HasUnitState(UNIT_STATE_MOVING))
vendor->StopMoving();
VendorItemData const* items = vendor->GetVendorItems();
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index d1227c9b7d7..f109332e235 100755
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -122,7 +122,7 @@ void WorldSession::HandleGossipSelectOptionOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if ((unit && unit->GetCreatureInfo()->ScriptID != unit->LastUsedScriptID) || (go && go->GetGOInfo()->ScriptId != go->LastUsedScriptID))
diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp
index ef49b337b44..1f286a0af05 100755
--- a/src/server/game/Handlers/NPCHandler.cpp
+++ b/src/server/game/Handlers/NPCHandler.cpp
@@ -60,7 +60,7 @@ void WorldSession::HandleTabardVendorActivateOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
SendTabardVendorActivate(guid);
@@ -89,7 +89,7 @@ void WorldSession::HandleBankerActivateOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
SendShowBank(guid);
@@ -128,7 +128,7 @@ void WorldSession::SendTrainerList(uint64 guid, const std::string& strTitle)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// trainer list loaded at check;
@@ -250,7 +250,7 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (!unit->isCanTrainingOf(_player, true))
@@ -314,7 +314,7 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recv_data)
GetPlayer()->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TALK);
// remove fake death
- //if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ //if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
// GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (unit->isArmorer() || unit->isCivilian() || unit->isQuestGiver() || unit->isServiceProvider() || unit->isGuard())
@@ -369,7 +369,7 @@ void WorldSession::HandleGossipHelloOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (!code.empty())
@@ -400,7 +400,7 @@ void WorldSession::HandleSpiritHealerActivateOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
SendSpiritResurrect();
@@ -455,7 +455,7 @@ void WorldSession::HandleBinderActivateOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
SendBindPoint(unit);
@@ -507,7 +507,7 @@ void WorldSession::HandleListStabledPetsOpcode(WorldPacket & recv_data)
return;
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// remove mounts this fix bug where getting pet from stable while mounted deletes pet.
@@ -609,7 +609,7 @@ void WorldSession::HandleStablePet(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
Pet* pet = _player->GetPet();
@@ -679,7 +679,7 @@ void WorldSession::HandleUnstablePet(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_ENTRY);
@@ -759,7 +759,7 @@ void WorldSession::HandleBuyStableSlot(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (GetPlayer()->m_stableSlots < MAX_PET_STABLES)
@@ -798,7 +798,7 @@ void WorldSession::HandleStableSwapPet(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
Pet* pet = _player->GetPet();
@@ -886,7 +886,7 @@ void WorldSession::HandleRepairItemOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// reputation discount
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 68ce3153450..16b6a4bb714 100755
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -202,7 +202,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, uint64 guid1, uint16 spellid
return;
}
- pet->ClearUnitState(UNIT_STAT_FOLLOW);
+ pet->ClearUnitState(UNIT_STATE_FOLLOW);
// This is true if pet has no target or has target but targets differs.
if (pet->getVictim() != TargetUnit || (pet->getVictim() == TargetUnit && !pet->GetCharmInfo()->IsCommandAttack()))
{
@@ -777,7 +777,7 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket)
targets.Read(recvPacket, caster);
HandleClientCastFlags(recvPacket, castFlags, targets);
- caster->ClearUnitState(UNIT_STAT_FOLLOW);
+ caster->ClearUnitState(UNIT_STATE_FOLLOW);
Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE);
spell->m_cast_count = castCount; // probably pending spell cast
diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp
index 26185d3376d..b4c07811598 100755
--- a/src/server/game/Handlers/PetitionsHandler.cpp
+++ b/src/server/game/Handlers/PetitionsHandler.cpp
@@ -98,7 +98,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
uint32 charterid = 0;
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 7e80c780369..f9aa40cdcda 100755
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -95,7 +95,7 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// Stop the npc if moving
creature->StopMoving();
diff --git a/src/server/game/Handlers/SkillHandler.cpp b/src/server/game/Handlers/SkillHandler.cpp
index 520cd89e7d5..355effba0c6 100755
--- a/src/server/game/Handlers/SkillHandler.cpp
+++ b/src/server/game/Handlers/SkillHandler.cpp
@@ -68,7 +68,7 @@ void WorldSession::HandleTalentWipeConfirmOpcode(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
if (!(_player->resetTalents()))
diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp
index 3533b153bd8..8eb1eab06d9 100755
--- a/src/server/game/Handlers/TaxiHandler.cpp
+++ b/src/server/game/Handlers/TaxiHandler.cpp
@@ -79,7 +79,7 @@ void WorldSession::HandleTaxiQueryAvailableNodes(WorldPacket & recv_data)
}
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
// unknown taxi node case
@@ -118,7 +118,7 @@ void WorldSession::SendTaxiMenu(Creature* unit)
void WorldSession::SendDoFlight(uint32 mountDisplayId, uint32 path, uint32 pathNode)
{
// remove fake death
- if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
while (GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE)
diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index ebe54eb17eb..4c39992f344 100755
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -561,7 +561,7 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket)
return;
}
- if (GetPlayer()->HasUnitState(UNIT_STAT_STUNNED))
+ if (GetPlayer()->HasUnitState(UNIT_STATE_STUNNED))
{
SendTradeStatus(TRADE_STATUS_YOU_STUNNED);
return;
@@ -611,7 +611,7 @@ void WorldSession::HandleInitiateTradeOpcode(WorldPacket& recvPacket)
return;
}
- if (pOther->HasUnitState(UNIT_STAT_STUNNED))
+ if (pOther->HasUnitState(UNIT_STATE_STUNNED))
{
SendTradeStatus(TRADE_STATUS_TARGET_STUNNED);
return;
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 81b1b14d27d..da4f022a4b0 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -95,6 +95,7 @@ enum Races
// Class value is index in ChrClasses.dbc
enum Classes
{
+ CLASS_NONE = 0,
CLASS_WARRIOR = 1,
CLASS_PALADIN = 2,
CLASS_HUNTER = 3,
@@ -1502,6 +1503,7 @@ enum GameObjectDestructibleState
GO_DESTRUCTIBLE_REBUILDING = 3,
};
+// EmotesText.dbc
enum TextEmotes
{
TEXT_EMOTE_AGREE = 1,
@@ -1665,7 +1667,7 @@ enum TextEmotes
TEXT_EMOTE_ATTACKMYTARGET = 307,
TEXT_EMOTE_OOM = 323,
TEXT_EMOTE_FOLLOW = 324,
- TEXT_EMOTE_HELP = 325,
+ TEXT_EMOTE_WAIT = 325,
TEXT_EMOTE_HEALME = 326,
TEXT_EMOTE_OPENFIRE = 327,
TEXT_EMOTE_FLIRT = 328,
@@ -1674,7 +1676,7 @@ enum TextEmotes
TEXT_EMOTE_WINK = 363,
TEXT_EMOTE_PAT = 364,
TEXT_EMOTE_SERIOUS = 365,
- TEXT_EMOTE_MOUNTSPECIAL = 366,
+ TEXT_EMOTE_MOUNT_SPECIAL = 366,
TEXT_EMOTE_GOODLUCK = 367,
TEXT_EMOTE_BLAME = 368,
TEXT_EMOTE_BLANK = 369,
@@ -1687,6 +1689,7 @@ enum TextEmotes
TEXT_EMOTE_ENEMY = 376,
TEXT_EMOTE_EYEBROW = 377,
TEXT_EMOTE_TOAST = 378,
+ TEXT_EMOTE_FAIL = 379,
TEXT_EMOTE_HIGHFIVE = 380,
TEXT_EMOTE_ABSENT = 381,
TEXT_EMOTE_ARM = 382,
@@ -1741,6 +1744,7 @@ enum TextEmotes
TEXT_EMOTE_SNEEZE = 436,
TEXT_EMOTE_SNORT = 437,
TEXT_EMOTE_SQUEAL = 438,
+ TEXT_EMOTE_STOPATTACK = 439,
TEXT_EMOTE_SUSPICIOUS = 440,
TEXT_EMOTE_THINK = 441,
TEXT_EMOTE_TRUCE = 442,
@@ -1756,402 +1760,695 @@ enum TextEmotes
TEXT_EMOTE_YW = 453,
};
+// Emotes.dbc
enum Emote
{
- EMOTE_ONESHOT_NONE = 0,
- EMOTE_ONESHOT_TALK = 1,
- EMOTE_ONESHOT_BOW = 2,
- EMOTE_ONESHOT_WAVE = 3,
- EMOTE_ONESHOT_CHEER = 4,
- EMOTE_ONESHOT_EXCLAMATION = 5,
- EMOTE_ONESHOT_QUESTION = 6,
- EMOTE_ONESHOT_EAT = 7,
- EMOTE_STATE_DANCE = 10,
- EMOTE_ONESHOT_LAUGH = 11,
- EMOTE_STATE_SLEEP = 12,
- EMOTE_STATE_SIT = 13,
- EMOTE_ONESHOT_RUDE = 14,
- EMOTE_ONESHOT_ROAR = 15,
- EMOTE_ONESHOT_KNEEL = 16,
- EMOTE_ONESHOT_KISS = 17,
- EMOTE_ONESHOT_CRY = 18,
- EMOTE_ONESHOT_CHICKEN = 19,
- EMOTE_ONESHOT_BEG = 20,
- EMOTE_ONESHOT_APPLAUD = 21,
- EMOTE_ONESHOT_SHOUT = 22,
- EMOTE_ONESHOT_FLEX = 23,
- EMOTE_ONESHOT_SHY = 24,
- EMOTE_ONESHOT_POINT = 25,
- EMOTE_STATE_STAND = 26,
- EMOTE_STATE_READYUNARMED = 27,
- EMOTE_STATE_WORK_SHEATHED = 28,
- EMOTE_STATE_POINT = 29,
- EMOTE_STATE_NONE = 30,
- EMOTE_ONESHOT_WOUND = 33,
- EMOTE_ONESHOT_WOUNDCRITICAL = 34,
- EMOTE_ONESHOT_ATTACKUNARMED = 35,
- EMOTE_ONESHOT_ATTACK1H = 36,
- EMOTE_ONESHOT_ATTACK2HTIGHT = 37,
- EMOTE_ONESHOT_ATTACK2HLOOSE = 38,
- EMOTE_ONESHOT_PARRYUNARMED = 39,
- EMOTE_ONESHOT_PARRYSHIELD = 43,
- EMOTE_ONESHOT_READYUNARMED = 44,
- EMOTE_ONESHOT_READY1H = 45,
- EMOTE_ONESHOT_READYBOW = 48,
- EMOTE_ONESHOT_SPELLPRECAST = 50,
- EMOTE_ONESHOT_SPELLCAST = 51,
- EMOTE_ONESHOT_BATTLEROAR = 53,
- EMOTE_ONESHOT_SPECIALATTACK1H = 54,
- EMOTE_ONESHOT_KICK = 60,
- EMOTE_ONESHOT_ATTACKTHROWN = 61,
- EMOTE_STATE_STUN = 64,
- EMOTE_STATE_DEAD = 65,
- EMOTE_ONESHOT_SALUTE = 66,
- EMOTE_STATE_KNEEL = 68,
- EMOTE_STATE_USESTANDING = 69,
- EMOTE_ONESHOT_WAVE_NOSHEATHE = 70,
- EMOTE_ONESHOT_CHEER_NOSHEATHE = 71,
- EMOTE_ONESHOT_EAT_NOSHEATHE = 92,
- EMOTE_STATE_STUN_NOSHEATHE = 93,
- EMOTE_ONESHOT_DANCE = 94,
- EMOTE_ONESHOT_SALUTE_NOSHEATH = 113,
- EMOTE_STATE_USESTANDING_NOSHEATHE = 133,
- EMOTE_ONESHOT_LAUGH_NOSHEATHE = 153,
- EMOTE_STATE_WORK = 173,
- EMOTE_STATE_SPELLPRECAST = 193,
- EMOTE_ONESHOT_READYRIFLE = 213,
- EMOTE_STATE_READYRIFLE = 214,
- EMOTE_STATE_WORK_MINING = 233,
- EMOTE_STATE_WORK_CHOPWOOD = 234,
- EMOTE_STATE_APPLAUD = 253,
- EMOTE_ONESHOT_LIFTOFF = 254,
- EMOTE_ONESHOT_YES = 273,
- EMOTE_ONESHOT_NO = 274,
- EMOTE_ONESHOT_TRAIN = 275,
- EMOTE_ONESHOT_LAND = 293,
- EMOTE_STATE_AT_EASE = 313,
- EMOTE_STATE_READY1H = 333,
- EMOTE_STATE_SPELLKNEELSTART = 353,
- EMOTE_STATE_SUBMERGED = 373,
- EMOTE_ONESHOT_SUBMERGE = 374,
- EMOTE_STATE_READY2H = 375,
- EMOTE_STATE_READYBOW = 376,
- EMOTE_ONESHOT_MOUNTSPECIAL = 377,
- EMOTE_STATE_TALK = 378,
- EMOTE_STATE_FISHING = 379,
- EMOTE_ONESHOT_FISHING = 380,
- EMOTE_ONESHOT_LOOT = 381,
- EMOTE_STATE_WHIRLWIND = 382,
- EMOTE_STATE_DROWNED = 383,
- EMOTE_STATE_HOLD_BOW = 384,
- EMOTE_STATE_HOLD_RIFLE = 385,
- EMOTE_STATE_HOLD_THROWN = 386,
- EMOTE_ONESHOT_DROWN = 387,
- EMOTE_ONESHOT_STOMP = 388,
- EMOTE_ONESHOT_ATTACKOFF = 389,
- EMOTE_ONESHOT_ATTACKOFFPIERCE = 390,
- EMOTE_STATE_ROAR = 391,
- EMOTE_STATE_LAUGH = 392,
- EMOTE_ONESHOT_CREATURE_SPECIAL = 393,
- EMOTE_ONESHOT_JUMPLANDRUN = 394,
- EMOTE_ONESHOT_JUMPEND = 395,
- EMOTE_ONESHOT_TALK_NOSHEATHE = 396,
- EMOTE_ONESHOT_POINT_NOSHEATHE = 397,
- EMOTE_STATE_CANNIBALIZE = 398,
- EMOTE_ONESHOT_JUMPSTART = 399,
- EMOTE_STATE_DANCESPECIAL = 400,
- EMOTE_ONESHOT_DANCESPECIAL = 401,
- EMOTE_ONESHOT_CUSTOMSPELL01 = 402,
- EMOTE_ONESHOT_CUSTOMSPELL02 = 403,
- EMOTE_ONESHOT_CUSTOMSPELL03 = 404,
- EMOTE_ONESHOT_CUSTOMSPELL04 = 405,
- EMOTE_ONESHOT_CUSTOMSPELL05 = 406,
- EMOTE_ONESHOT_CUSTOMSPELL06 = 407,
- EMOTE_ONESHOT_CUSTOMSPELL07 = 408,
- EMOTE_ONESHOT_CUSTOMSPELL08 = 409,
- EMOTE_ONESHOT_CUSTOMSPELL09 = 410,
- EMOTE_ONESHOT_CUSTOMSPELL10 = 411,
- EMOTE_STATE_EXCLAIM = 412,
- EMOTE_STATE_DANCE_CUSTOM = 413,
- EMOTE_STATE_SIT_CHAIR_MED = 415,
- EMOTE_STATE_CUSTOM_SPELL_01 = 416,
- EMOTE_STATE_CUSTOM_SPELL_02 = 417,
- EMOTE_STATE_EAT = 418,
- EMOTE_STATE_CUSTOM_SPELL_04 = 419,
- EMOTE_STATE_CUSTOM_SPELL_03 = 420,
- EMOTE_STATE_CUSTOM_SPELL_05 = 421,
- EMOTE_STATE_SPELLEFFECT_HOLD = 422,
- EMOTE_STATE_EAT_NO_SHEATHE = 423,
- EMOTE_STATE_MOUNT = 424,
- EMOTE_STATE_READY2HL = 425,
- EMOTE_STATE_SIT_CHAIR_HIGH = 426,
- EMOTE_STATE_FALL = 427,
- EMOTE_STATE_LOOT = 428,
- EMOTE_STATE_SUBMERGED_NEW = 429,
- EMOTE_ONESHOT_COWER = 430,
- EMOTE_STATE_COWER = 431,
- EMOTE_ONESHOT_USESTANDING = 432,
- EMOTE_STATE_STEALTH_STAND = 433,
- EMOTE_ONESHOT_OMNICAST_GHOUL = 434,
- EMOTE_ONESHOT_ATTACKBOW = 435,
- EMOTE_ONESHOT_ATTACKRIFLE = 436,
- EMOTE_STATE_SWIM_IDLE = 437,
- EMOTE_STATE_ATTACK_UNARMED = 438,
- EMOTE_ONESHOT_SPELLCAST_W_SOUND = 439,
- EMOTE_ONESHOT_DODGE = 440,
- EMOTE_ONESHOT_PARRY1H = 441,
- EMOTE_ONESHOT_PARRY2H = 442,
- EMOTE_ONESHOT_PARRY2HL = 443,
- EMOTE_STATE_FLYFALL = 444,
- EMOTE_ONESHOT_FLYDEATH = 445,
- EMOTE_STATE_FLY_FALL = 446,
- EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN = 447,
- EMOTE_ONESHOT_FLY_SIT_GROUND_UP = 448,
- EMOTE_ONESHOT_EMERGE = 449,
- EMOTE_ONESHOT_DRAGONSPIT = 450,
- EMOTE_STATE_SPECIALUNARMED = 451,
- EMOTE_ONESHOT_FLYGRAB = 452,
- EMOTE_STATE_FLYGRABCLOSED = 453,
- EMOTE_ONESHOT_FLYGRABTHROWN = 454,
- EMOTE_STATE_FLY_SIT_GROUND = 455,
- EMOTE_STATE_WALKBACKWARDS = 456,
- EMOTE_ONESHOT_FLYTALK = 457,
- EMOTE_ONESHOT_FLYATTACK1H = 458,
- EMOTE_STATE_CUSTOMSPELL08 = 459,
- EMOTE_ONESHOT_FLY_DRAGONSPIT = 460,
- EMOTE_STATE_SIT_CHAIR_LOW = 461,
- EMOTE_ONE_SHOT_STUN = 462,
- EMOTE_ONESHOT_SPELLCAST_OMNI = 463,
- EMOTE_STATE_READYTHROWN = 464
-};
-
+ EMOTE_ONESHOT_NONE = 0,
+ EMOTE_ONESHOT_TALK = 1,
+ EMOTE_ONESHOT_BOW = 2,
+ EMOTE_ONESHOT_WAVE = 3,
+ EMOTE_ONESHOT_CHEER = 4,
+ EMOTE_ONESHOT_EXCLAMATION = 5,
+ EMOTE_ONESHOT_QUESTION = 6,
+ EMOTE_ONESHOT_EAT = 7,
+ EMOTE_STATE_DANCE = 10,
+ EMOTE_ONESHOT_LAUGH = 11,
+ EMOTE_STATE_SLEEP = 12,
+ EMOTE_STATE_SIT = 13,
+ EMOTE_ONESHOT_RUDE = 14,
+ EMOTE_ONESHOT_ROAR = 15,
+ EMOTE_ONESHOT_KNEEL = 16,
+ EMOTE_ONESHOT_KISS = 17,
+ EMOTE_ONESHOT_CRY = 18,
+ EMOTE_ONESHOT_CHICKEN = 19,
+ EMOTE_ONESHOT_BEG = 20,
+ EMOTE_ONESHOT_APPLAUD = 21,
+ EMOTE_ONESHOT_SHOUT = 22,
+ EMOTE_ONESHOT_FLEX = 23,
+ EMOTE_ONESHOT_SHY = 24,
+ EMOTE_ONESHOT_POINT = 25,
+ EMOTE_STATE_STAND = 26,
+ EMOTE_STATE_READY_UNARMED = 27,
+ EMOTE_STATE_WORK_SHEATHED = 28,
+ EMOTE_STATE_POINT = 29,
+ EMOTE_STATE_NONE = 30,
+ EMOTE_ONESHOT_WOUND = 33,
+ EMOTE_ONESHOT_WOUND_CRITICAL = 34,
+ EMOTE_ONESHOT_ATTACK_UNARMED = 35,
+ EMOTE_ONESHOT_ATTACK1H = 36,
+ EMOTE_ONESHOT_ATTACK2HTIGHT = 37,
+ EMOTE_ONESHOT_ATTACK2H_LOOSE = 38,
+ EMOTE_ONESHOT_PARRY_UNARMED = 39,
+ EMOTE_ONESHOT_PARRY_SHIELD = 43,
+ EMOTE_ONESHOT_READY_UNARMED = 44,
+ EMOTE_ONESHOT_READY1H = 45,
+ EMOTE_ONESHOT_READY_BOW = 48,
+ EMOTE_ONESHOT_SPELL_PRECAST = 50,
+ EMOTE_ONESHOT_SPELL_CAST = 51,
+ EMOTE_ONESHOT_BATTLE_ROAR = 53,
+ EMOTE_ONESHOT_SPECIALATTACK1H = 54,
+ EMOTE_ONESHOT_KICK = 60,
+ EMOTE_ONESHOT_ATTACK_THROWN = 61,
+ EMOTE_STATE_STUN = 64,
+ EMOTE_STATE_DEAD = 65,
+ EMOTE_ONESHOT_SALUTE = 66,
+ EMOTE_STATE_KNEEL = 68,
+ EMOTE_STATE_USE_STANDING = 69,
+ EMOTE_ONESHOT_WAVE_NO_SHEATHE = 70,
+ EMOTE_ONESHOT_CHEER_NO_SHEATHE = 71,
+ EMOTE_ONESHOT_EAT_NO_SHEATHE = 92,
+ EMOTE_STATE_STUN_NO_SHEATHE = 93,
+ EMOTE_ONESHOT_DANCE = 94,
+ EMOTE_ONESHOT_SALUTE_NO_SHEATH = 113,
+ EMOTE_STATE_USE_STANDING_NO_SHEATHE = 133,
+ EMOTE_ONESHOT_LAUGH_NO_SHEATHE = 153,
+ EMOTE_STATE_WORK = 173,
+ EMOTE_STATE_SPELL_PRECAST = 193,
+ EMOTE_ONESHOT_READY_RIFLE = 213,
+ EMOTE_STATE_READY_RIFLE = 214,
+ EMOTE_STATE_WORK_MINING = 233,
+ EMOTE_STATE_WORK_CHOPWOOD = 234,
+ EMOTE_STATE_APPLAUD = 253,
+ EMOTE_ONESHOT_LIFTOFF = 254,
+ EMOTE_ONESHOT_YES = 273,
+ EMOTE_ONESHOT_NO = 274,
+ EMOTE_ONESHOT_TRAIN = 275,
+ EMOTE_ONESHOT_LAND = 293,
+ EMOTE_STATE_AT_EASE = 313,
+ EMOTE_STATE_READY1H = 333,
+ EMOTE_STATE_SPELL_KNEEL_START = 353,
+ EMOTE_STATE_SUBMERGED = 373,
+ EMOTE_ONESHOT_SUBMERGE = 374,
+ EMOTE_STATE_READY2H = 375,
+ EMOTE_STATE_READY_BOW = 376,
+ EMOTE_ONESHOT_MOUNT_SPECIAL = 377,
+ EMOTE_STATE_TALK = 378,
+ EMOTE_STATE_FISHING = 379,
+ EMOTE_ONESHOT_FISHING = 380,
+ EMOTE_ONESHOT_LOOT = 381,
+ EMOTE_STATE_WHIRLWIND = 382,
+ EMOTE_STATE_DROWNED = 383,
+ EMOTE_STATE_HOLD_BOW = 384,
+ EMOTE_STATE_HOLD_RIFLE = 385,
+ EMOTE_STATE_HOLD_THROWN = 386,
+ EMOTE_ONESHOT_DROWN = 387,
+ EMOTE_ONESHOT_STOMP = 388,
+ EMOTE_ONESHOT_ATTACK_OFF = 389,
+ EMOTE_ONESHOT_ATTACK_OFF_PIERCE = 390,
+ EMOTE_STATE_ROAR = 391,
+ EMOTE_STATE_LAUGH = 392,
+ EMOTE_ONESHOT_CREATURE_SPECIAL = 393,
+ EMOTE_ONESHOT_JUMPLANDRUN = 394,
+ EMOTE_ONESHOT_JUMPEND = 395,
+ EMOTE_ONESHOT_TALK_NO_SHEATHE = 396,
+ EMOTE_ONESHOT_POINT_NO_SHEATHE = 397,
+ EMOTE_STATE_CANNIBALIZE = 398,
+ EMOTE_ONESHOT_JUMPSTART = 399,
+ EMOTE_STATE_DANCESPECIAL = 400,
+ EMOTE_ONESHOT_DANCESPECIAL = 401,
+ EMOTE_ONESHOT_CUSTOM_SPELL_01 = 402,
+ EMOTE_ONESHOT_CUSTOM_SPELL_02 = 403,
+ EMOTE_ONESHOT_CUSTOM_SPELL_03 = 404,
+ EMOTE_ONESHOT_CUSTOM_SPELL_04 = 405,
+ EMOTE_ONESHOT_CUSTOM_SPELL_05 = 406,
+ EMOTE_ONESHOT_CUSTOM_SPELL_06 = 407,
+ EMOTE_ONESHOT_CUSTOM_SPELL_07 = 408,
+ EMOTE_ONESHOT_CUSTOM_SPELL_08 = 409,
+ EMOTE_ONESHOT_CUSTOM_SPELL_09 = 410,
+ EMOTE_ONESHOT_CUSTOM_SPELL_10 = 411,
+ EMOTE_STATE_EXCLAIM = 412,
+ EMOTE_STATE_DANCE_CUSTOM = 413,
+ EMOTE_STATE_SIT_CHAIR_MED = 415,
+ EMOTE_STATE_CUSTOM_SPELL_01 = 416,
+ EMOTE_STATE_CUSTOM_SPELL_02 = 417,
+ EMOTE_STATE_EAT = 418,
+ EMOTE_STATE_CUSTOM_SPELL_04 = 419,
+ EMOTE_STATE_CUSTOM_SPELL_03 = 420,
+ EMOTE_STATE_CUSTOM_SPELL_05 = 421,
+ EMOTE_STATE_SPELLEFFECT_HOLD = 422,
+ EMOTE_STATE_EAT_NO_SHEATHE = 423,
+ EMOTE_STATE_MOUNT = 424,
+ EMOTE_STATE_READY2HL = 425,
+ EMOTE_STATE_SIT_CHAIR_HIGH = 426,
+ EMOTE_STATE_FALL = 427,
+ EMOTE_STATE_LOOT = 428,
+ EMOTE_STATE_SUBMERGED_NEW = 429,
+ EMOTE_ONESHOT_COWER = 430,
+ EMOTE_STATE_COWER = 431,
+ EMOTE_ONESHOT_USE_STANDING = 432,
+ EMOTE_STATE_STEALTH_STAND = 433,
+ EMOTE_ONESHOT_OMNICAST_GHOUL = 434,
+ EMOTE_ONESHOT_ATTACK_BOW = 435,
+ EMOTE_ONESHOT_ATTACK_RIFLE = 436,
+ EMOTE_STATE_SWIM_IDLE = 437,
+ EMOTE_STATE_ATTACK_UNARMED = 438,
+ EMOTE_ONESHOT_SPELL_CAST_W_SOUND = 439,
+ EMOTE_ONESHOT_DODGE = 440,
+ EMOTE_ONESHOT_PARRY1H = 441,
+ EMOTE_ONESHOT_PARRY2H = 442,
+ EMOTE_ONESHOT_PARRY2HL = 443,
+ EMOTE_STATE_FLYFALL = 444,
+ EMOTE_ONESHOT_FLYDEATH = 445,
+ EMOTE_STATE_FLY_FALL = 446,
+ EMOTE_ONESHOT_FLY_SIT_GROUND_DOWN = 447,
+ EMOTE_ONESHOT_FLY_SIT_GROUND_UP = 448,
+ EMOTE_ONESHOT_EMERGE = 449,
+ EMOTE_ONESHOT_DRAGON_SPIT = 450,
+ EMOTE_STATE_SPECIAL_UNARMED = 451,
+ EMOTE_ONESHOT_FLYGRAB = 452,
+ EMOTE_STATE_FLYGRABCLOSED = 453,
+ EMOTE_ONESHOT_FLYGRABTHROWN = 454,
+ EMOTE_STATE_FLY_SIT_GROUND = 455,
+ EMOTE_STATE_WALK_BACKWARDS = 456,
+ EMOTE_ONESHOT_FLYTALK = 457,
+ EMOTE_ONESHOT_FLYATTACK1H = 458,
+ EMOTE_STATE_CUSTOM_SPELL_08 = 459,
+ EMOTE_ONESHOT_FLY_DRAGON_SPIT = 460,
+ EMOTE_STATE_SIT_CHAIR_LOW = 461,
+ EMOTE_ONESHOT_STUN = 462,
+ EMOTE_ONESHOT_SPELL_CAST_OMNI = 463,
+ EMOTE_STATE_READY_THROWN = 465,
+ EMOTE_ONESHOT_WORK_CHOPWOOD = 466,
+ EMOTE_ONESHOT_WORK_MINING = 467,
+ EMOTE_STATE_SPELL_CHANNEL_OMNI = 468,
+ EMOTE_STATE_SPELL_CHANNEL_DIRECTED = 469,
+ EMOTE_STAND_STATE_NONE = 470,
+ EMOTE_STATE_READYJOUST = 471,
+ EMOTE_STATE_STRANGULATE = 473,
+ EMOTE_STATE_READY_SPELL_OMNI = 474,
+ EMOTE_STATE_HOLD_JOUST = 475,
+ EMOTE_ONESHOT_CRY_JAINA = 476
+};
+
+// AnimationData.dbc
enum Anim
{
- ANIM_STAND = 0x0,
- ANIM_DEATH = 0x1,
- ANIM_SPELL = 0x2,
- ANIM_STOP = 0x3,
- ANIM_WALK = 0x4,
- ANIM_RUN = 0x5,
- ANIM_DEAD = 0x6,
- ANIM_RISE = 0x7,
- ANIM_STANDWOUND = 0x8,
- ANIM_COMBATWOUND = 0x9,
- ANIM_COMBATCRITICAL = 0xA,
- ANIM_SHUFFLE_LEFT = 0xB,
- ANIM_SHUFFLE_RIGHT = 0xC,
- ANIM_WALK_BACKWARDS = 0xD,
- ANIM_STUN = 0xE,
- ANIM_HANDS_CLOSED = 0xF,
- ANIM_ATTACKUNARMED = 0x10,
- ANIM_ATTACK1H = 0x11,
- ANIM_ATTACK2HTIGHT = 0x12,
- ANIM_ATTACK2HLOOSE = 0x13,
- ANIM_PARRYUNARMED = 0x14,
- ANIM_PARRY1H = 0x15,
- ANIM_PARRY2HTIGHT = 0x16,
- ANIM_PARRY2HLOOSE = 0x17,
- ANIM_PARRYSHIELD = 0x18,
- ANIM_READYUNARMED = 0x19,
- ANIM_READY1H = 0x1A,
- ANIM_READY2HTIGHT = 0x1B,
- ANIM_READY2HLOOSE = 0x1C,
- ANIM_READYBOW = 0x1D,
- ANIM_DODGE = 0x1E,
- ANIM_SPELLPRECAST = 0x1F,
- ANIM_SPELLCAST = 0x20,
- ANIM_SPELLCASTAREA = 0x21,
- ANIM_NPCWELCOME = 0x22,
- ANIM_NPCGOODBYE = 0x23,
- ANIM_BLOCK = 0x24,
- ANIM_JUMPSTART = 0x25,
- ANIM_JUMP = 0x26,
- ANIM_JUMPEND = 0x27,
- ANIM_FALL = 0x28,
- ANIM_SWIMIDLE = 0x29,
- ANIM_SWIM = 0x2A,
- ANIM_SWIM_LEFT = 0x2B,
- ANIM_SWIM_RIGHT = 0x2C,
- ANIM_SWIM_BACKWARDS = 0x2D,
- ANIM_ATTACKBOW = 0x2E,
- ANIM_FIREBOW = 0x2F,
- ANIM_READYRIFLE = 0x30,
- ANIM_ATTACKRIFLE = 0x31,
- ANIM_LOOT = 0x32,
- ANIM_SPELL_PRECAST_DIRECTED = 0x33,
- ANIM_SPELL_PRECAST_OMNI = 0x34,
- ANIM_SPELL_CAST_DIRECTED = 0x35,
- ANIM_SPELL_CAST_OMNI = 0x36,
- ANIM_SPELL_BATTLEROAR = 0x37,
- ANIM_SPELL_READYABILITY = 0x38,
- ANIM_SPELL_SPECIAL1H = 0x39,
- ANIM_SPELL_SPECIAL2H = 0x3A,
- ANIM_SPELL_SHIELDBASH = 0x3B,
- ANIM_EMOTE_TALK = 0x3C,
- ANIM_EMOTE_EAT = 0x3D,
- ANIM_EMOTE_WORK = 0x3E,
- ANIM_EMOTE_USE_STANDING = 0x3F,
- ANIM_EMOTE_EXCLAMATION = 0x40,
- ANIM_EMOTE_QUESTION = 0x41,
- ANIM_EMOTE_BOW = 0x42,
- ANIM_EMOTE_WAVE = 0x43,
- ANIM_EMOTE_CHEER = 0x44,
- ANIM_EMOTE_DANCE = 0x45,
- ANIM_EMOTE_LAUGH = 0x46,
- ANIM_EMOTE_SLEEP = 0x47,
- ANIM_EMOTE_SIT_GROUND = 0x48,
- ANIM_EMOTE_RUDE = 0x49,
- ANIM_EMOTE_ROAR = 0x4A,
- ANIM_EMOTE_KNEEL = 0x4B,
- ANIM_EMOTE_KISS = 0x4C,
- ANIM_EMOTE_CRY = 0x4D,
- ANIM_EMOTE_CHICKEN = 0x4E,
- ANIM_EMOTE_BEG = 0x4F,
- ANIM_EMOTE_APPLAUD = 0x50,
- ANIM_EMOTE_SHOUT = 0x51,
- ANIM_EMOTE_FLEX = 0x52,
- ANIM_EMOTE_SHY = 0x53,
- ANIM_EMOTE_POINT = 0x54,
- ANIM_ATTACK1HPIERCE = 0x55,
- ANIM_ATTACK2HLOOSEPIERCE = 0x56,
- ANIM_ATTACKOFF = 0x57,
- ANIM_ATTACKOFFPIERCE = 0x58,
- ANIM_SHEATHE = 0x59,
- ANIM_HIPSHEATHE = 0x5A,
- ANIM_MOUNT = 0x5B,
- ANIM_RUN_LEANRIGHT = 0x5C,
- ANIM_RUN_LEANLEFT = 0x5D,
- ANIM_MOUNT_SPECIAL = 0x5E,
- ANIM_KICK = 0x5F,
- ANIM_SITDOWN = 0x60,
- ANIM_SITTING = 0x61,
- ANIM_SITUP = 0x62,
- ANIM_SLEEPDOWN = 0x63,
- ANIM_SLEEPING = 0x64,
- ANIM_SLEEPUP = 0x65,
- ANIM_SITCHAIRLOW = 0x66,
- ANIM_SITCHAIRMEDIUM = 0x67,
- ANIM_SITCHAIRHIGH = 0x68,
- ANIM_LOADBOW = 0x69,
- ANIM_LOADRIFLE = 0x6A,
- ANIM_ATTACKTHROWN = 0x6B,
- ANIM_READYTHROWN = 0x6C,
- ANIM_HOLDBOW = 0x6D,
- ANIM_HOLDRIFLE = 0x6E,
- ANIM_HOLDTHROWN = 0x6F,
- ANIM_LOADTHROWN = 0x70,
- ANIM_EMOTE_SALUTE = 0x71,
- ANIM_KNEELDOWN = 0x72,
- ANIM_KNEELING = 0x73,
- ANIM_KNEELUP = 0x74,
- ANIM_ATTACKUNARMEDOFF = 0x75,
- ANIM_SPECIALUNARMED = 0x76,
- ANIM_STEALTHWALK = 0x77,
- ANIM_STEALTHSTAND = 0x78,
- ANIM_KNOCKDOWN = 0x79,
- ANIM_EATING = 0x7A,
- ANIM_USESTANDINGLOOP = 0x7B,
- ANIM_CHANNELCASTDIRECTED = 0x7C,
- ANIM_CHANNELCASTOMNI = 0x7D,
- ANIM_WHIRLWIND = 0x7E,
- ANIM_BIRTH = 0x7F,
- ANIM_USESTANDINGSTART = 0x80,
- ANIM_USESTANDINGEND = 0x81,
- ANIM_HOWL = 0x82,
- ANIM_DROWN = 0x83,
- ANIM_DROWNED = 0x84,
- ANIM_FISHINGCAST = 0x85,
- ANIM_FISHINGLOOP = 0x86,
- ANIM_FLY = 0x87,
- ANIM_EMOTE_WORK_NO_SHEATHE = 0x88,
- ANIM_EMOTE_STUN_NO_SHEATHE = 0x89,
- ANIM_EMOTE_USE_STANDING_NO_SHEATHE= 0x8A,
- ANIM_SPELL_SLEEP_DOWN = 0x8B,
- ANIM_SPELL_KNEEL_START = 0x8C,
- ANIM_SPELL_KNEEL_LOOP = 0x8D,
- ANIM_SPELL_KNEEL_END = 0x8E,
- ANIM_SPRINT = 0x8F,
- ANIM_IN_FIGHT = 0x90,
-
- ANIM_GAMEOBJ_SPAWN = 145,
- ANIM_GAMEOBJ_CLOSE = 146,
- ANIM_GAMEOBJ_CLOSED = 147,
- ANIM_GAMEOBJ_OPEN = 148,
- ANIM_GAMEOBJ_OPENED = 149,
- ANIM_GAMEOBJ_DESTROY = 150,
- ANIM_GAMEOBJ_DESTROYED = 151,
- ANIM_GAMEOBJ_REBUILD = 152,
- ANIM_GAMEOBJ_CUSTOM0 = 153,
- ANIM_GAMEOBJ_CUSTOM1 = 154,
- ANIM_GAMEOBJ_CUSTOM2 = 155,
- ANIM_GAMEOBJ_CUSTOM3 = 156,
- ANIM_GAMEOBJ_DESPAWN = 157,
- ANIM_HOLD = 158,
- ANIM_DECAY = 159,
- ANIM_BOWPULL = 160,
- ANIM_BOWRELEASE = 161,
- ANIM_SHIPSTART = 162,
- ANIM_SHIPMOVEING = 163,
- ANIM_SHIPSTOP = 164,
- ANIM_GROUPARROW = 165,
- ANIM_ARROW = 166,
- ANIM_CORPSEARROW = 167,
- ANIM_GUIDEARROW = 168,
- ANIM_SWAY = 169,
- ANIM_DRUIDCATPOUNCE = 170,
- ANIM_DRUIDCATRIP = 171,
- ANIM_DRUIDCATRAKE = 172,
- ANIM_DRUIDCATRAVAGE = 173,
- ANIM_DRUIDCATCLAW = 174,
- ANIM_DRUIDCATCOWER = 175,
- ANIM_DRUIDBEARSWIPE = 176,
- ANIM_DRUIDBEARBITE = 177,
- ANIM_DRUIDBEARMAUL = 178,
- ANIM_DRUIDBEARBASH = 179,
- ANIM_DRAGONTAIL = 180,
- ANIM_DRAGONSTOMP = 181,
- ANIM_DRAGONSPIT = 182,
- ANIM_DRAGONSPITHOVER = 183,
- ANIM_DRAGONSPITFLY = 184,
- ANIM_EMOTEYES = 185,
- ANIM_EMOTENO = 186,
- ANIM_JUMPLANDRUN = 187,
- ANIM_LOOTHOLD = 188,
- ANIM_LOOTUP = 189,
- ANIM_STANDHIGH = 190,
- ANIM_IMPACT = 191,
- ANIM_LIFTOFF = 192,
- ANIM_HOVER = 193,
- ANIM_SUCCUBUSENTICE = 194,
- ANIM_EMOTETRAIN = 195,
- ANIM_EMOTEDEAD = 196,
- ANIM_EMOTEDANCEONCE = 197,
- ANIM_DEFLECT = 198,
- ANIM_EMOTEEATNOSHEATHE = 199,
- ANIM_LAND = 200,
- ANIM_SUBMERGE = 201,
- ANIM_SUBMERGED = 202,
- ANIM_CANNIBALIZE = 203,
- ANIM_ARROWBIRTH = 204,
- ANIM_GROURARROWBIRTH = 205,
- ANIM_CORPSEARROWBIRTH = 206,
- ANIM_GUIDEARROWBIRTH = 207,
- ANIM_EMOTETALKNOSHEATHE = 208,
- ANIM_EMOTEPOINTNOSHEATHE = 209,
- ANIM_EMOTESALUTENOSHEATHE = 210,
- ANIM_EMOTEDANCESPECIAL = 211,
- ANIM_MUTILATE = 212,
- ANIM_CUSTOMSPELL01 = 213,
- ANIM_CUSTOMSPELL02 = 214,
- ANIM_CUSTOMSPELL03 = 215,
- ANIM_CUSTOMSPELL04 = 216,
- ANIM_CUSTOMSPELL05 = 217,
- ANIM_CUSTOMSPELL06 = 218,
- ANIM_CUSTOMSPELL07 = 219,
- ANIM_CUSTOMSPELL08 = 220,
- ANIM_CUSTOMSPELL09 = 221,
- ANIM_CUSTOMSPELL10 = 222,
- ANIM_StealthRun = 223
+ ANIM_STAND = 0,
+ ANIM_DEATH = 1,
+ ANIM_SPELL = 2,
+ ANIM_STOP = 3,
+ ANIM_WALK = 4,
+ ANIM_RUN = 5,
+ ANIM_DEAD = 6,
+ ANIM_RISE = 7,
+ ANIM_STAND_WOUND = 8,
+ ANIM_COMBAT_WOUND = 9,
+ ANIM_COMBAT_CRITICAL = 10,
+ ANIM_SHUFFLE_LEFT = 11,
+ ANIM_SHUFFLE_RIGHT = 12,
+ ANIM_WALK_BACKWARDS = 13,
+ ANIM_STUN = 14,
+ ANIM_HANDS_CLOSED = 15,
+ ANIM_ATTACK_UNARMED = 16,
+ ANIM_ATTACK1H = 17,
+ ANIM_ATTACK2H = 18,
+ ANIM_ATTACK2HL = 19,
+ ANIM_PARRY_UNARMED = 20,
+ ANIM_PARRY1H = 21,
+ ANIM_PARRY2H = 22,
+ ANIM_PARRY2HL = 23,
+ ANIM_SHIELD_BLOCK = 24,
+ ANIM_READY_UNARMED = 25,
+ ANIM_READY1H = 26,
+ ANIM_READY2H = 27,
+ ANIM_READY2HL = 28,
+ ANIM_READY_BOW = 29,
+ ANIM_DODGE = 30,
+ ANIM_SPELL_PRECAST = 31,
+ ANIM_SPELL_CAST = 32,
+ ANIM_SPELL_CAST_AREA = 33,
+ ANIM_NPC_WELCOME = 34,
+ ANIM_NPC_GOODBYE = 35,
+ ANIM_BLOCK = 36,
+ ANIM_JUMP_START = 37,
+ ANIM_JUMP = 38,
+ ANIM_JUMP_END = 39,
+ ANIM_FALL = 40,
+ ANIM_SWIM_IDLE = 41,
+ ANIM_SWIM = 42,
+ ANIM_SWIM_LEFT = 43,
+ ANIM_SWIM_RIGHT = 44,
+ ANIM_SWIM_BACKWARDS = 45,
+ ANIM_ATTACK_BOW = 46,
+ ANIM_FIRE_BOW = 47,
+ ANIM_READY_RIFLE = 48,
+ ANIM_ATTACK_RIFLE = 49,
+ ANIM_LOOT = 50,
+ ANIM_READY_SPELL_DIRECTED = 51,
+ ANIM_READY_SPELL_OMNI = 52,
+ ANIM_SPELL_CAST_DIRECTED = 53,
+ ANIM_SPELL_CAST_OMNI = 54,
+ ANIM_BATTLE_ROAR = 55,
+ ANIM_READY_ABILITY = 56,
+ ANIM_SPECIAL1H = 57,
+ ANIM_SPECIAL2H = 58,
+ ANIM_SHIELD_BASH = 59,
+ ANIM_EMOTE_TALK = 60,
+ ANIM_EMOTE_EAT = 61,
+ ANIM_EMOTE_WORK = 62,
+ ANIM_EMOTE_USE_STANDING = 63,
+ ANIM_EMOTE_TALK_EXCLAMATION = 64,
+ ANIM_EMOTE_TALK_QUESTION = 65,
+ ANIM_EMOTE_BOW = 66,
+ ANIM_EMOTE_WAVE = 67,
+ ANIM_EMOTE_CHEER = 68,
+ ANIM_EMOTE_DANCE = 69,
+ ANIM_EMOTE_LAUGH = 70,
+ ANIM_EMOTE_SLEEP = 71,
+ ANIM_EMOTE_SIT_GROUND = 72,
+ ANIM_EMOTE_RUDE = 73,
+ ANIM_EMOTE_ROAR = 74,
+ ANIM_EMOTE_KNEEL = 75,
+ ANIM_EMOTE_KISS = 76,
+ ANIM_EMOTE_CRY = 77,
+ ANIM_EMOTE_CHICKEN = 78,
+ ANIM_EMOTE_BEG = 79,
+ ANIM_EMOTE_APPLAUD = 80,
+ ANIM_EMOTE_SHOUT = 81,
+ ANIM_EMOTE_FLEX = 82,
+ ANIM_EMOTE_SHY = 83,
+ ANIM_EMOTE_POINT = 84,
+ ANIM_ATTACK1H_PIERCE = 85,
+ ANIM_ATTACK2H_LOOSE_PIERCE = 86,
+ ANIM_ATTACK_OFF = 87,
+ ANIM_ATTACK_OFF_PIERCE = 88,
+ ANIM_SHEATHE = 89,
+ ANIM_HIP_SHEATHE = 90,
+ ANIM_MOUNT = 91,
+ ANIM_RUN_RIGHT = 92,
+ ANIM_RUN_LEFT = 93,
+ ANIM_MOUNT_SPECIAL = 94,
+ ANIM_KICK = 95,
+ ANIM_SIT_GROUND_DOWN = 96,
+ ANIM_SIT_GROUND = 97,
+ ANIM_SIT_GROUND_UP = 98,
+ ANIM_SLEEP_DOWN = 99,
+ ANIM_SLEEP = 100,
+ ANIM_SLEEP_UP = 101,
+ ANIM_SIT_CHAIR_LOW = 102,
+ ANIM_SIT_CHAIR_MED = 103,
+ ANIM_SIT_CHAIR_HIGH = 104,
+ ANIM_LOAD_BOW = 105,
+ ANIM_LOAD_RIFLE = 106,
+ ANIM_ATTACK_THROWN = 107,
+ ANIM_READY_THROWN = 108,
+ ANIM_HOLD_BOW = 109,
+ ANIM_HOLD_RIFLE = 110,
+ ANIM_HOLD_THROWN = 111,
+ ANIM_LOAD_THROWN = 112,
+ ANIM_EMOTE_SALUTE = 113,
+ ANIM_KNEEL_START = 114,
+ ANIM_KNEEL_LOOP = 115,
+ ANIM_KNEEL_END = 116,
+ ANIM_ATTACK_UNARMED_OFF = 117,
+ ANIM_SPECIAL_UNARMED = 118,
+ ANIM_STEALTH_WALK = 119,
+ ANIM_STEALTH_STAND = 120,
+ ANIM_KNOCKDOWN = 121,
+ ANIM_EATING_LOOP = 122,
+ ANIM_USE_STANDING_LOOP = 123,
+ ANIM_CHANNEL_CAST_DIRECTED = 124,
+ ANIM_CHANNEL_CAST_OMNI = 125,
+ ANIM_WHIRLWIND = 126,
+ ANIM_BIRTH = 127,
+ ANIM_USE_STANDING_START = 128,
+ ANIM_USE_STANDING_END = 129,
+ ANIM_CREATURE_SPECIAL = 130,
+ ANIM_DROWN = 131,
+ ANIM_DROWNED = 132,
+ ANIM_FISHING_CAST = 133,
+ ANIM_FISHING_LOOP = 134,
+ ANIM_FLY = 135,
+ ANIM_EMOTE_WORK_NO_SHEATHE = 136,
+ ANIM_EMOTE_STUN_NO_SHEATHE = 137,
+ ANIM_EMOTE_USE_STANDING_NO_SHEATHE = 138,
+ ANIM_SPELL_SLEEP_DOWN = 139,
+ ANIM_SPELL_KNEEL_START = 140,
+ ANIM_SPELL_KNEEL_LOOP = 141,
+ ANIM_SPELL_KNEEL_END = 142,
+ ANIM_SPRINT = 143,
+ ANIM_IN_FIGHT = 144,
+ ANIM_SPAWN = 145,
+ ANIM_CLOSE = 146,
+ ANIM_CLOSED = 147,
+ ANIM_OPEN = 148,
+ ANIM_OPENED = 149,
+ ANIM_DESTROY = 150,
+ ANIM_DESTROYED = 151,
+ ANIM_REBUILD = 152,
+ ANIM_CUSTOM_0 = 153,
+ ANIM_CUSTOM_1 = 154,
+ ANIM_CUSTOM_2 = 155,
+ ANIM_CUSTOM_3 = 156,
+ ANIM_DESPAWN = 157,
+ ANIM_HOLD = 158,
+ ANIM_DECAY = 159,
+ ANIM_BOW_PULL = 160,
+ ANIM_BOW_RELEASE = 161,
+ ANIM_SHIP_START = 162,
+ ANIM_SHIP_MOVING = 163,
+ ANIM_SHIP_STOP = 164,
+ ANIM_GROUP_ARROW = 165,
+ ANIM_ARROW = 166,
+ ANIM_CORPSE_ARROW = 167,
+ ANIM_GUIDE_ARROW = 168,
+ ANIM_SWAY = 169,
+ ANIM_DRUID_CAT_POUNCE = 170,
+ ANIM_DRUID_CAT_RIP = 171,
+ ANIM_DRUID_CAT_RAKE = 172,
+ ANIM_DRUID_CAT_RAVAGE = 173,
+ ANIM_DRUID_CAT_CLAW = 174,
+ ANIM_DRUID_CAT_COWER = 175,
+ ANIM_DRUID_BEAR_SWIPE = 176,
+ ANIM_DRUID_BEAR_BITE = 177,
+ ANIM_DRUID_BEAR_MAUL = 178,
+ ANIM_DRUID_BEAR_BASH = 179,
+ ANIM_DRAGON_TAIL = 180,
+ ANIM_DRAGON_STOMP = 181,
+ ANIM_DRAGON_SPIT = 182,
+ ANIM_DRAGON_SPIT_HOVER = 183,
+ ANIM_DRAGON_SPIT_FLY = 184,
+ ANIM_EMOTE_YES = 185,
+ ANIM_EMOTE_NO = 186,
+ ANIM_JUMP_LAND_RUN = 187,
+ ANIM_LOOT_HOLD = 188,
+ ANIM_LOOT_UP = 189,
+ ANIM_STAND_HIGH = 190,
+ ANIM_IMPACT = 191,
+ ANIM_LIFTOFF = 192,
+ ANIM_HOVER = 193,
+ ANIM_SUCCUBUS_ENTICE = 194,
+ ANIM_EMOTE_TRAIN = 195,
+ ANIM_EMOTE_DEAD = 196,
+ ANIM_EMOTE_DANCE_ONCE = 197,
+ ANIM_DEFLECT = 198,
+ ANIM_EMOTE_EAT_NO_SHEATHE = 199,
+ ANIM_LAND = 200,
+ ANIM_SUBMERGE = 201,
+ ANIM_SUBMERGED = 202,
+ ANIM_CANNIBALIZE = 203,
+ ANIM_ARROW_BIRTH = 204,
+ ANIM_GROUP_ARROW_BIRTH = 205,
+ ANIM_CORPSE_ARROW_BIRTH = 206,
+ ANIM_GUIDE_ARROW_BIRTH = 207,
+ ANIM_EMOTE_TALK_NO_SHEATHE = 208,
+ ANIM_EMOTE_POINT_NO_SHEATHE = 209,
+ ANIM_EMOTE_SALUTE_NO_SHEATHE = 210,
+ ANIM_EMOTE_DANCE_SPECIAL = 211,
+ ANIM_MUTILATE = 212,
+ ANIM_CUSTOM_SPELL_01 = 213,
+ ANIM_CUSTOM_SPELL_02 = 214,
+ ANIM_CUSTOM_SPELL_03 = 215,
+ ANIM_CUSTOM_SPELL_04 = 216,
+ ANIM_CUSTOM_SPELL_05 = 217,
+ ANIM_CUSTOM_SPELL_06 = 218,
+ ANIM_CUSTOM_SPELL_07 = 219,
+ ANIM_CUSTOM_SPELL_08 = 220,
+ ANIM_CUSTOM_SPELL_09 = 221,
+ ANIM_CUSTOM_SPELL_10 = 222,
+ ANIM_STEALTH_RUN = 223,
+ ANIM_EMERGE = 224,
+ ANIM_COWER = 225,
+ ANIM_GRAB = 226,
+ ANIM_GRAB_CLOSED = 227,
+ ANIM_GRAB_THROWN = 228,
+ ANIM_FLY_STAND = 229,
+ ANIM_FLY_DEATH = 230,
+ ANIM_FLY_SPELL = 231,
+ ANIM_FLY_STOP = 232,
+ ANIM_FLY_WALK = 233,
+ ANIM_FLY_RUN = 234,
+ ANIM_FLY_DEAD = 235,
+ ANIM_FLY_RISE = 236,
+ ANIM_FLY_STAND_WOUND = 237,
+ ANIM_FLY_COMBAT_WOUND = 238,
+ ANIM_FLY_COMBAT_CRITICAL = 239,
+ ANIM_FLY_SHUFFLE_LEFT = 240,
+ ANIM_FLY_SHUFFLE_RIGHT = 241,
+ ANIM_FLY_WALK_BACKWARDS = 242,
+ ANIM_FLY_STUN = 243,
+ ANIM_FLY_HANDS_CLOSED = 244,
+ ANIM_FLY_ATTACK_UNARMED = 245,
+ ANIM_FLY_ATTACK1H = 246,
+ ANIM_FLY_ATTACK2H = 247,
+ ANIM_FLY_ATTACK2HL = 248,
+ ANIM_FLY_PARRY_UNARMED = 249,
+ ANIM_FLY_PARRY1H = 250,
+ ANIM_FLY_PARRY2H = 251,
+ ANIM_FLY_PARRY2HL = 252,
+ ANIM_FLY_SHIELD_BLOCK = 253,
+ ANIM_FLY_READY_UNARMED = 254,
+ ANIM_FLY_READY1H = 255,
+ ANIM_FLY_READY2H = 256,
+ ANIM_FLY_READY2HL = 257,
+ ANIM_FLY_READY_BOW = 258,
+ ANIM_FLY_DODGE = 259,
+ ANIM_FLY_SPELL_PRECAST = 260,
+ ANIM_FLY_SPELL_CAST = 261,
+ ANIM_FLY_SPELL_CAST_AREA = 262,
+ ANIM_FLY_NPC_WELCOME = 263,
+ ANIM_FLY_NPC_GOODBYE = 264,
+ ANIM_FLY_BLOCK = 265,
+ ANIM_FLY_JUMP_START = 266,
+ ANIM_FLY_JUMP = 267,
+ ANIM_FLY_JUMP_END = 268,
+ ANIM_FLY_FALL = 269,
+ ANIM_FLY_SWIM_IDLE = 270,
+ ANIM_FLY_SWIM = 271,
+ ANIM_FLY_SWIM_LEFT = 272,
+ ANIM_FLY_SWIM_RIGHT = 273,
+ ANIM_FLY_SWIM_BACKWARDS = 274,
+ ANIM_FLY_ATTACK_BOW = 275,
+ ANIM_FLY_FIRE_BOW = 276,
+ ANIM_FLY_READY_RIFLE = 277,
+ ANIM_FLY_ATTACK_RIFLE = 278,
+ ANIM_FLY_LOOT = 279,
+ ANIM_FLY_READY_SPELL_DIRECTED = 280,
+ ANIM_FLY_READY_SPELL_OMNI = 281,
+ ANIM_FLY_SPELL_CAST_DIRECTED = 282,
+ ANIM_FLY_SPELL_CAST_OMNI = 283,
+ ANIM_FLY_SPELL_BATTLE_ROAR = 284,
+ ANIM_FLY_READY_ABILITY = 285,
+ ANIM_FLY_SPECIAL1H = 286,
+ ANIM_FLY_SPECIAL2H = 287,
+ ANIM_FLY_SHIELD_BASH = 288,
+ ANIM_FLY_EMOTE_TALK = 289,
+ ANIM_FLY_EMOTE_EAT = 290,
+ ANIM_FLY_EMOTE_WORK = 291,
+ ANIM_FLY_USE_STANDING = 292,
+ ANIM_FLY_EMOTE_TALK_EXCLAMATION = 293,
+ ANIM_FLY_EMOTE_TALK_QUESTION = 294,
+ ANIM_FLY_EMOTE_BOW = 295,
+ ANIM_FLY_EMOTE_WAVE = 296,
+ ANIM_FLY_EMOTE_CHEER = 297,
+ ANIM_FLY_EMOTE_DANCE = 298,
+ ANIM_FLY_EMOTE_LAUGH = 299,
+ ANIM_FLY_EMOTE_SLEEP = 300,
+ ANIM_FLY_EMOTE_SIT_GROUND = 301,
+ ANIM_FLY_EMOTE_RUDE = 302,
+ ANIM_FLY_EMOTE_ROAR = 303,
+ ANIM_FLY_EMOTE_KNEEL = 304,
+ ANIM_FLY_EMOTE_KISS = 305,
+ ANIM_FLY_EMOTE_CRY = 306,
+ ANIM_FLY_EMOTE_CHICKEN = 307,
+ ANIM_FLY_EMOTE_BEG = 308,
+ ANIM_FLY_EMOTE_APPLAUD = 309,
+ ANIM_FLY_EMOTE_SHOUT = 310,
+ ANIM_FLY_EMOTE_FLEX = 311,
+ ANIM_FLY_EMOTE_SHY = 312,
+ ANIM_FLY_EMOTE_POINT = 313,
+ ANIM_FLY_ATTACK1H_PIERCE = 314,
+ ANIM_FLY_ATTACK2H_LOOSE_PIERCE = 315,
+ ANIM_FLY_ATTACK_OFF = 316,
+ ANIM_FLY_ATTACK_OFF_PIERCE = 317,
+ ANIM_FLY_SHEATH = 318,
+ ANIM_FLY_HIP_SHEATH = 319,
+ ANIM_FLY_MOUNT = 320,
+ ANIM_FLY_RUN_RIGHT = 321,
+ ANIM_FLY_RUN_LEFT = 322,
+ ANIM_FLY_MOUNT_SPECIAL = 323,
+ ANIM_FLY_KICK = 324,
+ ANIM_FLY_SIT_GROUND_DOWN = 325,
+ ANIM_FLY_SIT_GROUND = 326,
+ ANIM_FLY_SIT_GROUND_UP = 327,
+ ANIM_FLY_SLEEP_DOWN = 328,
+ ANIM_FLY_SLEEP = 329,
+ ANIM_FLY_SLEEP_UP = 330,
+ ANIM_FLY_SIT_CHAIR_LOW = 331,
+ ANIM_FLY_SIT_CHAIR_MED = 332,
+ ANIM_FLY_SIT_CHAIR_HIGH = 333,
+ ANIM_FLY_LOAD_BOW = 334,
+ ANIM_FLY_LOAD_RIFLE = 335,
+ ANIM_FLY_ATTACK_THROWN = 336,
+ ANIM_FLY_READY_THROWN = 337,
+ ANIM_FLY_HOLD_BOW = 338,
+ ANIM_FLY_HOLD_RIFLE = 339,
+ ANIM_FLY_HOLD_THROWN = 340,
+ ANIM_FLY_LOAD_THROWN = 341,
+ ANIM_FLY_EMOTE_SALUTE = 342,
+ ANIM_FLY_KNEEL_START = 343,
+ ANIM_FLY_KNEEL_LOOP = 344,
+ ANIM_FLY_KNEEL_END = 345,
+ ANIM_FLY_ATTACK_UNARMED_OFF = 346,
+ ANIM_FLY_SPECIAL_UNARMED = 347,
+ ANIM_FLY_STEALTH_WALK = 348,
+ ANIM_FLY_STEALTH_STAND = 349,
+ ANIM_FLY_KNOCKDOWN = 350,
+ ANIM_FLY_EATING_LOOP = 351,
+ ANIM_FLY_USE_STANDING_LOOP = 352,
+ ANIM_FLY_CHANNEL_CAST_DIRECTED = 353,
+ ANIM_FLY_CHANNEL_CAST_OMNI = 354,
+ ANIM_FLY_WHIRLWIND = 355,
+ ANIM_FLY_BIRTH = 356,
+ ANIM_FLY_USE_STANDING_START = 357,
+ ANIM_FLY_USE_STANDING_END = 358,
+ ANIM_FLY_CREATURE_SPECIAL = 359,
+ ANIM_FLY_DROWN = 360,
+ ANIM_FLY_DROWNED = 361,
+ ANIM_FLY_FISHING_CAST = 362,
+ ANIM_FLY_FISHING_LOOP = 363,
+ ANIM_FLY_FLY = 364,
+ ANIM_FLY_EMOTE_WORK_NO_SHEATHE = 365,
+ ANIM_FLY_EMOTE_STUN_NO_SHEATHE = 366,
+ ANIM_FLY_EMOTE_USE_STANDING_NO_SHEATHE = 367,
+ ANIM_FLY_SPELL_SLEEP_DOWN = 368,
+ ANIM_FLY_SPELL_KNEEL_START = 369,
+ ANIM_FLY_SPELL_KNEEL_LOOP = 370,
+ ANIM_FLY_SPELL_KNEEL_END = 371,
+ ANIM_FLY_SPRINT = 372,
+ ANIM_FLY_IN_FLIGHT = 373,
+ ANIM_FLY_SPAWN = 374,
+ ANIM_FLY_CLOSE = 375,
+ ANIM_FLY_CLOSED = 376,
+ ANIM_FLY_OPEN = 377,
+ ANIM_FLY_OPENED = 378,
+ ANIM_FLY_DESTROY = 379,
+ ANIM_FLY_DESTROYED = 380,
+ ANIM_FLY_REBUILD = 381,
+ ANIM_FLY_CUSTOM_0 = 382,
+ ANIM_FLY_CUSTOM_1 = 383,
+ ANIM_FLY_CUSTOM_2 = 384,
+ ANIM_FLY_CUSTOM_3 = 385,
+ ANIM_FLY_DESPAWN = 386,
+ ANIM_FLY_HOLD = 387,
+ ANIM_FLY_DECAY = 388,
+ ANIM_FLY_BOW_PULL = 389,
+ ANIM_FLY_BOW_RELEASE = 390,
+ ANIM_FLY_SHIP_START = 391,
+ ANIM_FLY_SHIP_MOVING = 392,
+ ANIM_FLY_SHIP_STOP = 393,
+ ANIM_FLY_GROUP_ARROW = 394,
+ ANIM_FLY_ARROW = 395,
+ ANIM_FLY_CORPSE_ARROW = 396,
+ ANIM_FLY_GUIDE_ARROW = 397,
+ ANIM_FLY_SWAY = 398,
+ ANIM_FLY_DRUID_CAT_POUNCE = 399,
+ ANIM_FLY_DRUID_CAT_RIP = 400,
+ ANIM_FLY_DRUID_CAT_RAKE = 401,
+ ANIM_FLY_DRUID_CAT_RAVAGE = 402,
+ ANIM_FLY_DRUID_CAT_CLAW = 403,
+ ANIM_FLY_DRUID_CAT_COWER = 404,
+ ANIM_FLY_DRUID_BEAR_SWIPE = 405,
+ ANIM_FLY_DRUID_BEAR_BITE = 406,
+ ANIM_FLY_DRUID_BEAR_MAUL = 407,
+ ANIM_FLY_DRUID_BEAR_BASH = 408,
+ ANIM_FLY_DRAGON_TAIL = 409,
+ ANIM_FLY_DRAGON_STOMP = 410,
+ ANIM_FLY_DRAGON_SPIT = 411,
+ ANIM_FLY_DRAGON_SPIT_HOVER = 412,
+ ANIM_FLY_DRAGON_SPIT_FLY = 413,
+ ANIM_FLY_EMOTE_YES = 414,
+ ANIM_FLY_EMOTE_NO = 415,
+ ANIM_FLY_JUMP_LAND_RUN = 416,
+ ANIM_FLY_LOOT_HOLD = 417,
+ ANIM_FLY_LOOT_UP = 418,
+ ANIM_FLY_STAND_HIGH = 419,
+ ANIM_FLY_IMPACT = 420,
+ ANIM_FLY_LIFTOFF = 421,
+ ANIM_FLY_HOVER = 422,
+ ANIM_FLY_SUCCUBUS_ENTICE = 423,
+ ANIM_FLY_EMOTE_TRAIN = 424,
+ ANIM_FLY_EMOTE_DEAD = 425,
+ ANIM_FLY_EMOTE_DANCE_ONCE = 426,
+ ANIM_FLY_DEFLECT = 427,
+ ANIM_FLY_EMOTE_EAT_NO_SHEATHE = 428,
+ ANIM_FLY_LAND = 429,
+ ANIM_FLY_SUBMERGE = 430,
+ ANIM_FLY_SUBMERGED = 431,
+ ANIM_FLY_CANNIBALIZE = 432,
+ ANIM_FLY_ARROW_BIRTH = 433,
+ ANIM_FLY_GROUP_ARROW_BIRTH = 434,
+ ANIM_FLY_CORPSE_ARROW_BIRTH = 435,
+ ANIM_FLY_GUIDE_ARROW_BIRTH = 436,
+ ANIM_FLY_EMOTE_TALK_NO_SHEATHE = 437,
+ ANIM_FLY_EMOTE_POINT_NO_SHEATHE = 438,
+ ANIM_FLY_EMOTE_SALUTE_NO_SHEATHE = 439,
+ ANIM_FLY_EMOTE_DANCE_SPECIAL = 440,
+ ANIM_FLY_MUTILATE = 441,
+ ANIM_FLY_CUSTOM_SPELL_01 = 442,
+ ANIM_FLY_CUSTOM_SPELL_02 = 443,
+ ANIM_FLY_CUSTOM_SPELL_03 = 444,
+ ANIM_FLY_CUSTOM_SPELL_04 = 445,
+ ANIM_FLY_CUSTOM_SPELL_05 = 446,
+ ANIM_FLY_CUSTOM_SPELL_06 = 447,
+ ANIM_FLY_CUSTOM_SPELL_07 = 448,
+ ANIM_FLY_CUSTOM_SPELL_08 = 449,
+ ANIM_FLY_CUSTOM_SPELL_09 = 450,
+ ANIM_FLY_CUSTOM_SPELL_10 = 451,
+ ANIM_FLY_STEALTH_RUN = 452,
+ ANIM_FLY_EMERGE = 453,
+ ANIM_FLY_COWER = 454,
+ ANIM_FLY_GRAB = 455,
+ ANIM_FLY_GRAB_CLOSED = 456,
+ ANIM_FLY_GRAB_THROWN = 457,
+ ANIM_TO_FLY = 458,
+ ANIM_TO_HOVER = 459,
+ ANIM_TO_GROUND = 460,
+ ANIM_FLY_TO_FLY = 461,
+ ANIM_FLY_TO_HOVER = 462,
+ ANIM_FLY_TO_GROUND = 463,
+ ANIM_SETTLE = 464,
+ ANIM_FLY_SETTLE = 465,
+ ANIM_DEATH_START = 466,
+ ANIM_DEATH_LOOP = 467,
+ ANIM_DEATH_END = 468,
+ ANIM_FLY_DEATH_START = 469,
+ ANIM_FLY_DEATH_LOOP = 470,
+ ANIM_FLY_DEATH_END = 471,
+ ANIM_DEATH_END_HOLD = 472,
+ ANIM_FLY_DEATH_END_HOLD = 473,
+ ANIM_STRANGULATE = 474,
+ ANIM_FLY_STRANGULATE = 475,
+ ANIM_READY_JOUST = 476,
+ ANIM_LOAD_JOUST = 477,
+ ANIM_HOLD_JOUST = 478,
+ ANIM_FLY_READY_JOUST = 479,
+ ANIM_FLY_LOAD_JOUST = 480,
+ ANIM_FLY_HOLD_JOUST = 481,
+ ANIM_ATTACK_JOUST = 482,
+ ANIM_FLY_ATTACK_JOUST = 483,
+ ANIM_RECLINED_MOUNT = 484,
+ ANIM_FLY_RECLINED_MOUNT = 485,
+ ANIM_TO_ALTERED = 486,
+ ANIM_FROM_ALTERED = 487,
+ ANIM_FLY_TO_ALTERED = 488,
+ ANIM_FLY_FROM_ALTERED = 489,
+ ANIM_IN_STOCKS = 490,
+ ANIM_FLY_IN_STOCKS = 491,
+ ANIM_VEHICLE_GRAB = 492,
+ ANIM_VEHICLE_THROW = 493,
+ ANIM_FLY_VEHICLE_GRAB = 494,
+ ANIM_FLY_VEHICLE_THROW = 495,
+ ANIM_TO_ALTERED_POST_SWAP = 496,
+ ANIM_FROM_ALTERED_POST_SWAP = 497,
+ ANIM_FLY_TO_ALTERED_POST_SWAP = 498,
+ ANIM_FLY_FROM_ALTERED_POST_SWAP = 499,
+ ANIM_RECLINED_MOUNT_PASSENGER = 500,
+ ANIM_FLY_RECLINED_MOUNT_PASSENGER = 501,
+ ANIM_CARRY2H = 502,
+ ANIM_CARRIED2H = 503,
+ ANIM_FLY_CARRY2H = 504,
+ ANIM_FLY_CARRIED2H = 505
};
enum LockKeyType
@@ -2463,8 +2760,8 @@ enum SkillType
SKILL_SURVIVAL2 = 142,
SKILL_RIDING_HORSE = 148,
SKILL_RIDING_WOLF = 149,
- SKILL_RIDING_RAM = 152,
SKILL_RIDING_TIGER = 150,
+ SKILL_RIDING_RAM = 152,
SKILL_SWIMING = 155,
SKILL_2H_MACES = 160,
SKILL_UNARMED = 162,
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 8975a2d7d7b..4945ae2a014 100755
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -80,7 +80,7 @@ void MotionMaster::UpdateMotion(uint32 diff)
if (!i_owner)
return;
- if (i_owner->HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED)) // what about UNIT_STAT_DISTRACTED? Why is this not included?
+ if (i_owner->HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED)) // what about UNIT_STATE_DISTRACTED? Why is this not included?
return;
ASSERT(!empty());
@@ -237,7 +237,7 @@ void MotionMaster::MoveChase(Unit* target, float dist, float angle)
if (!target || target == i_owner || i_owner->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE))
return;
- //i_owner->ClearUnitState(UNIT_STAT_FOLLOW);
+ //i_owner->ClearUnitState(UNIT_STATE_FOLLOW);
if (i_owner->GetTypeId() == TYPEID_PLAYER)
{
sLog->outStaticDebug("Player (GUID: %u) chase to %s (GUID: %u)",
@@ -262,7 +262,7 @@ void MotionMaster::MoveFollow(Unit* target, float dist, float angle, MovementSlo
if (!target || target == i_owner || i_owner->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE))
return;
- //i_owner->AddUnitState(UNIT_STAT_FOLLOW);
+ //i_owner->AddUnitState(UNIT_STATE_FOLLOW);
if (i_owner->GetTypeId() == TYPEID_PLAYER)
{
sLog->outStaticDebug("Player (GUID: %u) follow to %s (GUID: %u)", i_owner->GetGUIDLow(),
diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
index 94608d85420..32b960028c2 100755
--- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
@@ -71,7 +71,7 @@ void ConfusedMovementGenerator<T>::Initialize(T &unit)
unit.StopMoving();
unit.SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
- unit.AddUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE);
+ unit.AddUnitState(UNIT_STATE_CONFUSED|UNIT_STATE_CONFUSED_MOVE);
}
template<>
@@ -94,19 +94,19 @@ void ConfusedMovementGenerator<T>::Reset(T &unit)
i_nextMove = 1;
i_nextMoveTime.Reset(0);
unit.StopMoving();
- unit.AddUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE);
+ unit.AddUnitState(UNIT_STATE_CONFUSED|UNIT_STATE_CONFUSED_MOVE);
}
template<class T>
bool ConfusedMovementGenerator<T>::Update(T &unit, const uint32 &diff)
{
- if (unit.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DISTRACTED))
+ if (unit.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DISTRACTED))
return true;
if (i_nextMoveTime.Passed())
{
// currently moving, update location
- unit.AddUnitState(UNIT_STAT_CONFUSED_MOVE);
+ unit.AddUnitState(UNIT_STATE_CONFUSED_MOVE);
if (unit.movespline->Finalized())
{
@@ -121,7 +121,7 @@ bool ConfusedMovementGenerator<T>::Update(T &unit, const uint32 &diff)
if(i_nextMoveTime.Passed() )
{
// start moving
- unit.AddUnitState(UNIT_STAT_CONFUSED_MOVE);
+ unit.AddUnitState(UNIT_STATE_CONFUSED_MOVE);
ASSERT( i_nextMove <= MAX_CONF_WAYPOINTS );
float x = i_waypoints[i_nextMove][0];
@@ -141,14 +141,14 @@ template<>
void ConfusedMovementGenerator<Player>::Finalize(Player &unit)
{
unit.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
- unit.ClearUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE);
+ unit.ClearUnitState(UNIT_STATE_CONFUSED|UNIT_STATE_CONFUSED_MOVE);
}
template<>
void ConfusedMovementGenerator<Creature>::Finalize(Creature &unit)
{
unit.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
- unit.ClearUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_CONFUSED_MOVE);
+ unit.ClearUnitState(UNIT_STATE_CONFUSED|UNIT_STATE_CONFUSED_MOVE);
if (unit.getVictim())
unit.SetTarget(unit.getVictim()->GetGUID());
}
diff --git a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
index 458e6f9a62c..ed5b73dd378 100755
--- a/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
@@ -34,7 +34,7 @@ FleeingMovementGenerator<T>::_setTargetLocation(T &owner)
if (!&owner)
return;
- if (owner.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED))
+ if (owner.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED))
return;
if (!_setMoveData(owner))
@@ -44,7 +44,7 @@ FleeingMovementGenerator<T>::_setTargetLocation(T &owner)
if (!_getPoint(owner, x, y, z))
return;
- owner.AddUnitState(UNIT_STAT_FLEEING_MOVE);
+ owner.AddUnitState(UNIT_STATE_FLEEING_MOVE);
Movement::MoveSplineInit init(owner);
init.MoveTo(x,y,z);
@@ -287,7 +287,7 @@ FleeingMovementGenerator<T>::Initialize(T &owner)
return;
owner.SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING);
- owner.AddUnitState(UNIT_STAT_FLEEING|UNIT_STAT_FLEEING_MOVE);
+ owner.AddUnitState(UNIT_STATE_FLEEING|UNIT_STATE_FLEEING_MOVE);
_Init(owner);
@@ -335,14 +335,14 @@ template<>
void FleeingMovementGenerator<Player>::Finalize(Player &owner)
{
owner.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING);
- owner.ClearUnitState(UNIT_STAT_FLEEING|UNIT_STAT_FLEEING_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FLEEING|UNIT_STATE_FLEEING_MOVE);
}
template<>
void FleeingMovementGenerator<Creature>::Finalize(Creature &owner)
{
owner.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING);
- owner.ClearUnitState(UNIT_STAT_FLEEING|UNIT_STAT_FLEEING_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FLEEING|UNIT_STATE_FLEEING_MOVE);
if (owner.getVictim())
owner.SetTarget(owner.getVictim()->GetGUID());
}
@@ -359,9 +359,9 @@ FleeingMovementGenerator<T>::Update(T &owner, const uint32 &time_diff)
{
if (!&owner || !owner.isAlive())
return false;
- if (owner.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED))
+ if (owner.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED))
{
- owner.ClearUnitState(UNIT_STAT_FLEEING_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FLEEING_MOVE);
return true;
}
@@ -388,7 +388,7 @@ template bool FleeingMovementGenerator<Creature>::Update(Creature &, const uint3
void TimedFleeingMovementGenerator::Finalize(Unit &owner)
{
owner.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING);
- owner.ClearUnitState(UNIT_STAT_FLEEING|UNIT_STAT_FLEEING_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FLEEING|UNIT_STATE_FLEEING_MOVE);
if (Unit* victim = owner.getVictim())
{
if (owner.isAlive())
@@ -404,9 +404,9 @@ bool TimedFleeingMovementGenerator::Update(Unit & owner, const uint32 time_diff)
if (!owner.isAlive())
return false;
- if (owner.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED))
+ if (owner.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED))
{
- owner.ClearUnitState(UNIT_STAT_FLEEING_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FLEEING_MOVE);
return true;
}
diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
index 84997d6d1ae..dc47898352e 100755
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
@@ -25,7 +25,7 @@
void HomeMovementGenerator<Creature>::Initialize(Creature & owner)
{
- owner.AddUnitState(UNIT_STAT_EVADE);
+ owner.AddUnitState(UNIT_STATE_EVADE);
_setTargetLocation(owner);
}
@@ -38,7 +38,7 @@ void HomeMovementGenerator<Creature>::_setTargetLocation(Creature & owner)
if (!&owner)
return;
- if (owner.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DISTRACTED))
+ if (owner.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DISTRACTED))
return;
Movement::MoveSplineInit init(owner);
@@ -54,7 +54,7 @@ void HomeMovementGenerator<Creature>::_setTargetLocation(Creature & owner)
init.Launch();
arrived = false;
- owner.ClearUnitState(UNIT_STAT_ALL_STATE & ~UNIT_STAT_EVADE);
+ owner.ClearUnitState(UNIT_STATE_ALL_STATE & ~UNIT_STATE_EVADE);
}
bool HomeMovementGenerator<Creature>::Update(Creature &owner, const uint32 time_diff)
@@ -67,7 +67,7 @@ void HomeMovementGenerator<Creature>::Finalize(Creature& owner)
{
if (arrived)
{
- owner.ClearUnitState(UNIT_STAT_EVADE);
+ owner.ClearUnitState(UNIT_STATE_EVADE);
owner.SetWalk(true);
owner.LoadCreaturesAddon(true);
owner.AI()->JustReachedHome();
diff --git a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
index 43d3cccfe48..36561e00b93 100755
--- a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
@@ -32,19 +32,19 @@ void IdleMovementGenerator::Initialize(Unit &owner)
void
IdleMovementGenerator::Reset(Unit& owner)
{
- if (owner.HasUnitState(UNIT_STAT_MOVE))
+ if (owner.HasUnitState(UNIT_STATE_MOVE))
owner.StopMoving();
}
void RotateMovementGenerator::Initialize(Unit& owner)
{
- if (owner.HasUnitState(UNIT_STAT_MOVE))
+ if (owner.HasUnitState(UNIT_STATE_MOVE))
owner.StopMoving();
if (owner.getVictim())
owner.SetInFront(owner.getVictim());
- owner.AddUnitState(UNIT_STAT_ROTATING);
+ owner.AddUnitState(UNIT_STATE_ROTATING);
owner.AttackStop();
}
@@ -75,7 +75,7 @@ bool RotateMovementGenerator::Update(Unit& owner, const uint32 diff)
void RotateMovementGenerator::Finalize(Unit &unit)
{
- unit.ClearUnitState(UNIT_STAT_ROTATING);
+ unit.ClearUnitState(UNIT_STATE_ROTATING);
if (unit.GetTypeId() == TYPEID_UNIT)
unit.ToCreature()->AI()->MovementInform(ROTATE_MOTION_TYPE, 0);
}
@@ -83,13 +83,13 @@ void RotateMovementGenerator::Finalize(Unit &unit)
void
DistractMovementGenerator::Initialize(Unit& owner)
{
- owner.AddUnitState(UNIT_STAT_DISTRACTED);
+ owner.AddUnitState(UNIT_STATE_DISTRACTED);
}
void
DistractMovementGenerator::Finalize(Unit& owner)
{
- owner.ClearUnitState(UNIT_STAT_DISTRACTED);
+ owner.ClearUnitState(UNIT_STATE_DISTRACTED);
}
bool
@@ -105,7 +105,7 @@ DistractMovementGenerator::Update(Unit& /*owner*/, const uint32 time_diff)
void
AssistanceDistractMovementGenerator::Finalize(Unit &unit)
{
- unit.ClearUnitState(UNIT_STAT_DISTRACTED);
+ unit.ClearUnitState(UNIT_STATE_DISTRACTED);
unit.ToCreature()->SetReactState(REACT_AGGRESSIVE);
}
diff --git a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
index 88465017dc2..02f9ebce847 100755
--- a/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/PointMovementGenerator.cpp
@@ -32,7 +32,7 @@ void PointMovementGenerator<T>::Initialize(T &unit)
if (!unit.IsStopped())
unit.StopMoving();
- unit.AddUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ unit.AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
Movement::MoveSplineInit init(unit);
init.MoveTo(i_x, i_y, i_z);
if (speed > 0.0f)
@@ -46,20 +46,20 @@ bool PointMovementGenerator<T>::Update(T &unit, const uint32 &diff)
if (!&unit)
return false;
- if(unit.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED))
+ if(unit.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED))
{
- unit.ClearUnitState(UNIT_STAT_ROAMING_MOVE);
+ unit.ClearUnitState(UNIT_STATE_ROAMING_MOVE);
return true;
}
- unit.AddUnitState(UNIT_STAT_ROAMING_MOVE);
+ unit.AddUnitState(UNIT_STATE_ROAMING_MOVE);
return !unit.movespline->Finalized();
}
template<class T>
void PointMovementGenerator<T>:: Finalize(T &unit)
{
- unit.ClearUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ unit.ClearUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
if (unit.movespline->Finalized())
MovementInform(unit);
@@ -71,7 +71,7 @@ void PointMovementGenerator<T>::Reset(T &unit)
if (!unit.IsStopped())
unit.StopMoving();
- unit.AddUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ unit.AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
}
template<class T>
@@ -120,7 +120,7 @@ void EffectMovementGenerator::Finalize(Unit &unit)
if (((Creature&)unit).AI() && unit.movespline->Finalized())
((Creature&)unit).AI()->MovementInform(EFFECT_MOTION_TYPE, m_Id);
// Need restore previous movement since we have no proper states system
- //if (unit.isAlive() && !unit.HasUnitState(UNIT_STAT_CONFUSED|UNIT_STAT_FLEEING))
+ //if (unit.isAlive() && !unit.HasUnitState(UNIT_STATE_CONFUSED|UNIT_STATE_FLEEING))
//{
// if (Unit * victim = unit.getVictim())
// unit.GetMotionMaster()->MoveChase(victim);
diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
index 0205b734058..22adc7be92f 100755
--- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
@@ -102,7 +102,7 @@ void RandomMovementGenerator<Creature>::_setRandomLocation(Creature &creature)
else
i_nextMoveTime.Reset(urand(500, 10000));
- creature.AddUnitState(UNIT_STAT_ROAMING_MOVE);
+ creature.AddUnitState(UNIT_STATE_ROAMING_MOVE);
Movement::MoveSplineInit init(creature);
init.MoveTo(destX, destY, destZ);
@@ -123,7 +123,7 @@ void RandomMovementGenerator<Creature>::Initialize(Creature &creature)
if (!wander_distance)
wander_distance = creature.GetRespawnRadius();
- creature.AddUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ creature.AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
_setRandomLocation(creature);
}
@@ -137,7 +137,7 @@ RandomMovementGenerator<Creature>::Reset(Creature &creature)
template<>
void RandomMovementGenerator<Creature>::Finalize(Creature &creature)
{
- creature.ClearUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ creature.ClearUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
creature.SetWalk(false);
}
@@ -145,10 +145,10 @@ template<>
bool
RandomMovementGenerator<Creature>::Update(Creature &creature, const uint32 diff)
{
- if (creature.HasUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED | UNIT_STAT_DISTRACTED))
+ if (creature.HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED | UNIT_STATE_DISTRACTED))
{
i_nextMoveTime.Reset(0); // Expire the timer
- creature.ClearUnitState(UNIT_STAT_ROAMING_MOVE);
+ creature.ClearUnitState(UNIT_STATE_ROAMING_MOVE);
return true;
}
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
index 0d2982ab6b7..964b4402438 100755
--- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp
@@ -34,7 +34,7 @@ void TargetedMovementGeneratorMedium<T,D>::_setTargetLocation(T &owner)
if (!i_target.isValid() || !i_target->IsInWorld())
return;
- if (owner.HasUnitState(UNIT_STAT_NOT_MOVE))
+ if (owner.HasUnitState(UNIT_STATE_NOT_MOVE))
return;
float x, y, z;
@@ -125,7 +125,7 @@ bool TargetedMovementGeneratorMedium<T,D>::Update(T &owner, const uint32 & time_
if (!owner.isAlive())
return true;
- if (owner.HasUnitState(UNIT_STAT_NOT_MOVE))
+ if (owner.HasUnitState(UNIT_STATE_NOT_MOVE))
{
D::_clearUnitStateMove(owner);
return true;
@@ -188,7 +188,7 @@ void ChaseMovementGenerator<T>::_reachTarget(T &owner)
template<>
void ChaseMovementGenerator<Player>::Initialize(Player &owner)
{
- owner.AddUnitState(UNIT_STAT_CHASE|UNIT_STAT_CHASE_MOVE);
+ owner.AddUnitState(UNIT_STATE_CHASE|UNIT_STATE_CHASE_MOVE);
_setTargetLocation(owner);
}
@@ -196,14 +196,14 @@ template<>
void ChaseMovementGenerator<Creature>::Initialize(Creature &owner)
{
owner.SetWalk(false);
- owner.AddUnitState(UNIT_STAT_CHASE|UNIT_STAT_CHASE_MOVE);
+ owner.AddUnitState(UNIT_STATE_CHASE|UNIT_STATE_CHASE_MOVE);
_setTargetLocation(owner);
}
template<class T>
void ChaseMovementGenerator<T>::Finalize(T &owner)
{
- owner.ClearUnitState(UNIT_STAT_CHASE|UNIT_STAT_CHASE_MOVE);
+ owner.ClearUnitState(UNIT_STATE_CHASE|UNIT_STATE_CHASE_MOVE);
}
template<class T>
@@ -259,7 +259,7 @@ void FollowMovementGenerator<Creature>::_updateSpeed(Creature &u)
template<>
void FollowMovementGenerator<Player>::Initialize(Player &owner)
{
- owner.AddUnitState(UNIT_STAT_FOLLOW|UNIT_STAT_FOLLOW_MOVE);
+ owner.AddUnitState(UNIT_STATE_FOLLOW|UNIT_STATE_FOLLOW_MOVE);
_updateSpeed(owner);
_setTargetLocation(owner);
}
@@ -267,7 +267,7 @@ void FollowMovementGenerator<Player>::Initialize(Player &owner)
template<>
void FollowMovementGenerator<Creature>::Initialize(Creature &owner)
{
- owner.AddUnitState(UNIT_STAT_FOLLOW|UNIT_STAT_FOLLOW_MOVE);
+ owner.AddUnitState(UNIT_STATE_FOLLOW|UNIT_STATE_FOLLOW_MOVE);
_updateSpeed(owner);
_setTargetLocation(owner);
}
@@ -275,7 +275,7 @@ void FollowMovementGenerator<Creature>::Initialize(Creature &owner)
template<class T>
void FollowMovementGenerator<T>::Finalize(T &owner)
{
- owner.ClearUnitState(UNIT_STAT_FOLLOW|UNIT_STAT_FOLLOW_MOVE);
+ owner.ClearUnitState(UNIT_STATE_FOLLOW|UNIT_STATE_FOLLOW_MOVE);
_updateSpeed(owner);
}
diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
index 696c99e1460..bf2eecc89f6 100755
--- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.h
@@ -79,8 +79,8 @@ class ChaseMovementGenerator : public TargetedMovementGeneratorMedium<T, ChaseMo
void Reset(T &);
void MovementInform(T &);
- static void _clearUnitStateMove(T &u) { u.ClearUnitState(UNIT_STAT_CHASE_MOVE); }
- static void _addUnitStateMove(T &u) { u.AddUnitState(UNIT_STAT_CHASE_MOVE); }
+ static void _clearUnitStateMove(T &u) { u.ClearUnitState(UNIT_STATE_CHASE_MOVE); }
+ static void _addUnitStateMove(T &u) { u.AddUnitState(UNIT_STATE_CHASE_MOVE); }
bool EnableWalking() const { return false;}
bool _lostTarget(T &u) const { return u.getVictim() != this->GetTarget(); }
void _reachTarget(T &);
@@ -103,8 +103,8 @@ class FollowMovementGenerator : public TargetedMovementGeneratorMedium<T, Follow
void Reset(T &);
void MovementInform(T &);
- static void _clearUnitStateMove(T &u) { u.ClearUnitState(UNIT_STAT_FOLLOW_MOVE); }
- static void _addUnitStateMove(T &u) { u.AddUnitState(UNIT_STAT_FOLLOW_MOVE); }
+ static void _clearUnitStateMove(T &u) { u.ClearUnitState(UNIT_STATE_FOLLOW_MOVE); }
+ static void _addUnitStateMove(T &u) { u.AddUnitState(UNIT_STATE_FOLLOW_MOVE); }
bool EnableWalking() const;
bool _lostTarget(T &) const { return false; }
void _reachTarget(T &) {}
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
index ce8628af1ca..55cf3c28d46 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
@@ -51,18 +51,18 @@ void WaypointMovementGenerator<Creature>::LoadPath(Creature &creature)
void WaypointMovementGenerator<Creature>::Initialize(Creature &creature)
{
LoadPath(creature);
- creature.AddUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ creature.AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
}
void WaypointMovementGenerator<Creature>::Finalize(Creature &creature)
{
- creature.ClearUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ creature.ClearUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
creature.SetWalk(false);
}
void WaypointMovementGenerator<Creature>::Reset(Creature &creature)
{
- creature.AddUnitState(UNIT_STAT_ROAMING|UNIT_STAT_ROAMING_MOVE);
+ creature.AddUnitState(UNIT_STATE_ROAMING|UNIT_STATE_ROAMING_MOVE);
StartMoveNow(creature);
}
@@ -73,7 +73,7 @@ void WaypointMovementGenerator<Creature>::OnArrived(Creature& creature)
if (m_isArrivalDone)
return;
- creature.ClearUnitState(UNIT_STAT_ROAMING_MOVE);
+ creature.ClearUnitState(UNIT_STATE_ROAMING_MOVE);
m_isArrivalDone = true;
if (i_path->at(i_currentNode)->event_id && urand(0, 99) < i_path->at(i_currentNode)->event_chance)
@@ -111,7 +111,7 @@ bool WaypointMovementGenerator<Creature>::StartMove(Creature &creature)
m_isArrivalDone = false;
- creature.AddUnitState(UNIT_STAT_ROAMING_MOVE);
+ creature.AddUnitState(UNIT_STATE_ROAMING_MOVE);
Movement::MoveSplineInit init(creature);
init.MoveTo(node->x, node->y, node->z);
@@ -133,9 +133,9 @@ bool WaypointMovementGenerator<Creature>::Update(Creature &creature, const uint3
{
// Waypoint movement can be switched on/off
// This is quite handy for escort quests and other stuff
- if (creature.HasUnitState(UNIT_STAT_NOT_MOVE))
+ if (creature.HasUnitState(UNIT_STATE_NOT_MOVE))
{
- creature.ClearUnitState(UNIT_STAT_ROAMING_MOVE);
+ creature.ClearUnitState(UNIT_STATE_ROAMING_MOVE);
return true;
}
// prevent a crash at empty waypoint path.
@@ -204,7 +204,7 @@ void FlightPathMovementGenerator::Initialize(Player &player)
void FlightPathMovementGenerator::Finalize(Player & player)
{
// remove flag to prevent send object build movement packets for flight state and crash (movement generator already not at top of stack)
- player.ClearUnitState(UNIT_STAT_IN_FLIGHT);
+ player.ClearUnitState(UNIT_STATE_IN_FLIGHT);
player.Dismount();
player.RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_TAXI_FLIGHT);
@@ -227,7 +227,7 @@ void FlightPathMovementGenerator::Finalize(Player & player)
void FlightPathMovementGenerator::Reset(Player & player)
{
player.getHostileRefManager().setOnlineOfflineState(false);
- player.AddUnitState(UNIT_STAT_IN_FLIGHT);
+ player.AddUnitState(UNIT_STATE_IN_FLIGHT);
player.SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_TAXI_FLIGHT);
Movement::MoveSplineInit init(player);
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 7c09a2f32c6..1972b625a9f 100755
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -2417,7 +2417,7 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo
target->VisitNearbyObject(target->GetMap()->GetVisibilityRange(), searcher);
for (UnitList::iterator iter = targets.begin(); iter != targets.end(); ++iter)
{
- if (!(*iter)->HasUnitState(UNIT_STAT_CASTING))
+ if (!(*iter)->HasUnitState(UNIT_STATE_CASTING))
continue;
for (uint32 i = CURRENT_FIRST_NON_MELEE_SPELL; i < CURRENT_MAX_SPELL; i++)
@@ -2448,7 +2448,7 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo
// blizz like 2.0.x
target->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
- target->AddUnitState(UNIT_STAT_DIED);
+ target->AddUnitState(UNIT_STATE_DIED);
}
else
{
@@ -2465,7 +2465,7 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo
// blizz like 2.0.x
target->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
- target->ClearUnitState(UNIT_STAT_DIED);
+ target->ClearUnitState(UNIT_STATE_DIED);
}
}
@@ -3031,7 +3031,7 @@ void AuraEffect::HandleModConfuse(AuraApplication const* aurApp, uint8 mode, boo
Unit* target = aurApp->GetTarget();
- target->SetControlled(apply, UNIT_STAT_CONFUSED);
+ target->SetControlled(apply, UNIT_STATE_CONFUSED);
}
void AuraEffect::HandleModFear(AuraApplication const* aurApp, uint8 mode, bool apply) const
@@ -3041,7 +3041,7 @@ void AuraEffect::HandleModFear(AuraApplication const* aurApp, uint8 mode, bool a
Unit* target = aurApp->GetTarget();
- target->SetControlled(apply, UNIT_STAT_FLEEING);
+ target->SetControlled(apply, UNIT_STATE_FLEEING);
}
void AuraEffect::HandleAuraModStun(AuraApplication const* aurApp, uint8 mode, bool apply) const
@@ -3051,7 +3051,7 @@ void AuraEffect::HandleAuraModStun(AuraApplication const* aurApp, uint8 mode, bo
Unit* target = aurApp->GetTarget();
- target->SetControlled(apply, UNIT_STAT_STUNNED);
+ target->SetControlled(apply, UNIT_STATE_STUNNED);
}
void AuraEffect::HandleAuraModRoot(AuraApplication const* aurApp, uint8 mode, bool apply) const
@@ -3061,7 +3061,7 @@ void AuraEffect::HandleAuraModRoot(AuraApplication const* aurApp, uint8 mode, bo
Unit* target = aurApp->GetTarget();
- target->SetControlled(apply, UNIT_STAT_ROOT);
+ target->SetControlled(apply, UNIT_STATE_ROOT);
}
void AuraEffect::HandlePreventFleeing(AuraApplication const* aurApp, uint8 mode, bool apply) const
@@ -3072,7 +3072,7 @@ void AuraEffect::HandlePreventFleeing(AuraApplication const* aurApp, uint8 mode,
Unit* target = aurApp->GetTarget();
if (target->HasAuraType(SPELL_AURA_MOD_FEAR))
- target->SetControlled(!(apply), UNIT_STAT_FLEEING);
+ target->SetControlled(!(apply), UNIT_STATE_FLEEING);
}
/***************************/
@@ -3465,7 +3465,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
if (GetSpellInfo()->Mechanic == MECHANIC_BANISH)
{
if (apply)
- target->AddUnitState(UNIT_STAT_ISOLATED);
+ target->AddUnitState(UNIT_STATE_ISOLATED);
else
{
bool banishFound = false;
@@ -3477,7 +3477,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
break;
}
if (!banishFound)
- target->ClearUnitState(UNIT_STAT_ISOLATED);
+ target->ClearUnitState(UNIT_STATE_ISOLATED);
}
}
@@ -6156,7 +6156,7 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const
if (!caster || !target->isAlive())
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
{
SendTickImmune(target, caster);
return;
@@ -6297,7 +6297,7 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c
if (!caster || !caster->isAlive() || !target->isAlive())
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
{
SendTickImmune(target, caster);
return;
@@ -6363,7 +6363,7 @@ void AuraEffect::HandlePeriodicHealthFunnelAuraTick(Unit* target, Unit* caster)
if (!caster || !caster->isAlive() || !target->isAlive())
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED))
{
SendTickImmune(target, caster);
return;
@@ -6391,7 +6391,7 @@ void AuraEffect::HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const
if (!caster || !target->isAlive())
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED))
{
SendTickImmune(target, caster);
return;
@@ -6507,7 +6507,7 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
if (!caster || !caster->isAlive() || !target->isAlive() || target->getPowerType() != powerType)
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
{
SendTickImmune(target, caster);
return;
@@ -6607,7 +6607,7 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
if (!target->isAlive() || !target->GetMaxPower(powerType))
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED))
{
SendTickImmune(target, caster);
return;
@@ -6638,7 +6638,7 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
if (!target->isAlive() || !target->GetMaxPower(powerType))
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED))
{
SendTickImmune(target, caster);
return;
@@ -6670,7 +6670,7 @@ void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) con
if (!caster || !target->isAlive() || target->getPowerType() != powerType)
return;
- if (target->HasUnitState(UNIT_STAT_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
+ if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamage(GetSpellInfo()))
{
SendTickImmune(target, caster);
return;
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index b32e346757f..d49ac829ef9 100755
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -520,7 +520,13 @@ void Aura::UpdateTargetMap(Unit* caster, bool apply)
bool addUnit = true;
// check target immunities
- if (itr->first->IsImmunedToSpell(GetSpellInfo())
+ for (uint8 effIndex = 0; effIndex < MAX_SPELL_EFFECTS; ++effIndex)
+ {
+ if (itr->first->IsImmunedToSpellEffect(GetSpellInfo(), effIndex))
+ itr->second &= ~(1 << effIndex);
+ }
+ if (!itr->second
+ || itr->first->IsImmunedToSpell(GetSpellInfo())
|| !CanBeAppliedOn(itr->first))
addUnit = false;
@@ -1855,7 +1861,7 @@ bool Aura::CanStackWith(Aura const* existingAura) const
case SPELL_AURA_OBS_MOD_HEALTH:
case SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE:
// periodic auras which target areas are not allowed to stack this way (replenishment for example)
- if (m_spellInfo->Effects[i].IsArea() || existingSpellInfo->Effects[i].IsArea())
+ if (m_spellInfo->Effects[i].IsTargetingArea() || existingSpellInfo->Effects[i].IsTargetingArea())
break;
return true;
default:
@@ -2085,6 +2091,30 @@ bool Aura::CallScriptCheckAreaTargetHandlers(Unit* target)
return true;
}
+void Aura::CallScriptDispel(DispelInfo* dispelInfo)
+{
+ for (std::list<AuraScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr)
+ {
+ (*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_DISPEL);
+ std::list<AuraScript::AuraDispelHandler>::iterator hookItrEnd = (*scritr)->OnDispel.end(), hookItr = (*scritr)->OnDispel.begin();
+ for (; hookItr != hookItrEnd ; ++hookItr)
+ (*hookItr).Call(*scritr, dispelInfo);
+ (*scritr)->_FinishScriptCall();
+ }
+}
+
+void Aura::CallScriptAfterDispel(DispelInfo* dispelInfo)
+{
+ for (std::list<AuraScript*>::iterator scritr = m_loadedScripts.begin(); scritr != m_loadedScripts.end() ; ++scritr)
+ {
+ (*scritr)->_PrepareScriptCall(AURA_SCRIPT_HOOK_AFTER_DISPEL);
+ std::list<AuraScript::AuraDispelHandler>::iterator hookItrEnd = (*scritr)->AfterDispel.end(), hookItr = (*scritr)->AfterDispel.begin();
+ for (; hookItr != hookItrEnd ; ++hookItr)
+ (*hookItr).Call(*scritr, dispelInfo);
+ (*scritr)->_FinishScriptCall();
+ }
+}
+
bool Aura::CallScriptEffectApplyHandlers(AuraEffect const* aurEff, AuraApplication const* aurApp, AuraEffectHandleModes mode)
{
bool preventDefault = false;
@@ -2342,7 +2372,7 @@ void UnitAura::FillTargetMap(std::map<Unit*, uint8> & targets, Unit* caster)
{
float radius = GetSpellInfo()->Effects[effIndex].CalcRadius(caster);
- if (!GetUnitOwner()->HasUnitState(UNIT_STAT_ISOLATED))
+ if (!GetUnitOwner()->HasUnitState(UNIT_STATE_ISOLATED))
{
switch (GetSpellInfo()->Effects[effIndex].Effect)
{
diff --git a/src/server/game/Spells/Auras/SpellAuras.h b/src/server/game/Spells/Auras/SpellAuras.h
index de743eb2991..4d87abccda3 100755
--- a/src/server/game/Spells/Auras/SpellAuras.h
+++ b/src/server/game/Spells/Auras/SpellAuras.h
@@ -201,6 +201,8 @@ class Aura
// AuraScript
void LoadScripts();
bool CallScriptCheckAreaTargetHandlers(Unit* target);
+ void CallScriptDispel(DispelInfo* dispelInfo);
+ void CallScriptAfterDispel(DispelInfo* dispelInfo);
bool CallScriptEffectApplyHandlers(AuraEffect const* aurEff, AuraApplication const* aurApp, AuraEffectHandleModes mode);
bool CallScriptEffectRemoveHandlers(AuraEffect const* aurEff, AuraApplication const* aurApp, AuraEffectHandleModes mode);
void CallScriptAfterEffectApplyHandlers(AuraEffect const* aurEff, AuraApplication const* aurApp, AuraEffectHandleModes mode);
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 3c73edb880d..dc804d72103 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1401,13 +1401,17 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
}
}
-SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, const uint32 effectMask, bool scaleAura)
+SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleAura)
{
if (!unit || !effectMask)
return SPELL_MISS_EVADE;
- // Recheck immune (only for delayed spells)
- if (m_spellInfo->Speed && (unit->IsImmunedToDamage(m_spellInfo) || unit->IsImmunedToSpell(m_spellInfo)))
+ // For delayed spells immunity may be applied between missile launch and hit - check immunity for that case
+ // disable effects to which unit is immune
+ for (uint32 effectNumber = 0; effectNumber < MAX_SPELL_EFFECTS; ++effectNumber)
+ if (effectMask & (1 << effectNumber) && unit->IsImmunedToSpellEffect(m_spellInfo, effectNumber))
+ effectMask &= ~(1 << effectNumber);
+ if (!effectMask || (m_spellInfo->Speed && (unit->IsImmunedToDamage(m_spellInfo) || unit->IsImmunedToSpell(m_spellInfo))))
return SPELL_MISS_IMMUNE;
PrepareScriptHitHandlers();
@@ -1447,7 +1451,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, const uint32 effectMask, bool
return SPELL_MISS_EVADE;
// assisting case, healing and resurrection
- if (unit->HasUnitState(UNIT_STAT_ATTACK_PLAYER))
+ if (unit->HasUnitState(UNIT_STATE_ATTACK_PLAYER))
{
m_caster->SetContestedPvP();
if (m_caster->GetTypeId() == TYPEID_PLAYER)
@@ -1562,7 +1566,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, const uint32 effectMask, bool
}
for (uint32 effectNumber = 0; effectNumber < MAX_SPELL_EFFECTS; ++effectNumber)
- if (effectMask & (1 << effectNumber) && !unit->IsImmunedToSpellEffect(m_spellInfo, effectNumber)) //Handle effect only if the target isn't immune.
+ if (effectMask & (1 << effectNumber))
HandleEffects(unit, NULL, NULL, effectNumber, SPELL_EFFECT_HANDLE_HIT_TARGET);
return SPELL_MISS_NONE;
@@ -3214,8 +3218,8 @@ void Spell::cast(bool skipCheck)
m_spellState = SPELL_STATE_DELAYED;
SetDelayStart(0);
- if (m_caster->HasUnitState(UNIT_STAT_CASTING) && !m_caster->IsNonMeleeSpellCasted(false, false, true))
- m_caster->ClearUnitState(UNIT_STAT_CASTING);
+ if (m_caster->HasUnitState(UNIT_STATE_CASTING) && !m_caster->IsNonMeleeSpellCasted(false, false, true))
+ m_caster->ClearUnitState(UNIT_STATE_CASTING);
}
else
{
@@ -3581,8 +3585,8 @@ void Spell::finish(bool ok)
if (m_spellInfo->IsChanneled())
m_caster->UpdateInterruptMask();
- if (m_caster->HasUnitState(UNIT_STAT_CASTING) && !m_caster->IsNonMeleeSpellCasted(false, false, true))
- m_caster->ClearUnitState(UNIT_STAT_CASTING);
+ if (m_caster->HasUnitState(UNIT_STATE_CASTING) && !m_caster->IsNonMeleeSpellCasted(false, false, true))
+ m_caster->ClearUnitState(UNIT_STATE_CASTING);
// Unsummon summon as possessed creatures on spell cancel
if (m_spellInfo->IsChanneled() && m_caster->GetTypeId() == TYPEID_PLAYER)
@@ -5000,7 +5004,7 @@ SpellCastResult Spell::CheckCast(bool strict)
if (strict && m_caster->IsScriptOverriden(m_spellInfo, 6953))
m_caster->RemoveMovementImpairingAuras();
}
- if (m_caster->HasUnitState(UNIT_STAT_ROOT))
+ if (m_caster->HasUnitState(UNIT_STATE_ROOT))
return SPELL_FAILED_ROOTED;
break;
}
@@ -5228,7 +5232,7 @@ SpellCastResult Spell::CheckCast(bool strict)
return SPELL_FAILED_CANT_DO_THAT_RIGHT_NOW;
Unit* target = m_targets.GetUnitTarget();
- if (m_caster == target && m_caster->HasUnitState(UNIT_STAT_ROOT))
+ if (m_caster == target && m_caster->HasUnitState(UNIT_STATE_ROOT))
{
if (m_caster->GetTypeId() == TYPEID_PLAYER)
return SPELL_FAILED_ROOTED;
@@ -5401,7 +5405,7 @@ SpellCastResult Spell::CheckCast(bool strict)
}
case SPELL_AURA_PERIODIC_MANA_LEECH:
{
- if (m_spellInfo->Effects[i].IsArea())
+ if (m_spellInfo->Effects[i].IsTargetingArea())
break;
if (!m_targets.GetUnitTarget())
@@ -5455,7 +5459,7 @@ SpellCastResult Spell::CheckCast(bool strict)
SpellCastResult Spell::CheckPetCast(Unit* target)
{
- if (m_caster->HasUnitState(UNIT_STAT_CASTING) && !(_triggeredCastFlags & TRIGGERED_IGNORE_CAST_IN_PROGRESS)) //prevent spellcast interruption by another spellcast
+ if (m_caster->HasUnitState(UNIT_STATE_CASTING) && !(_triggeredCastFlags & TRIGGERED_IGNORE_CAST_IN_PROGRESS)) //prevent spellcast interruption by another spellcast
return SPELL_FAILED_SPELL_IN_PROGRESS;
// dead owner (pets still alive when owners ressed?)
@@ -6630,7 +6634,7 @@ void Spell::HandleLaunchPhase()
continue;
// do not consume ammo anymore for Hunter's volley spell
- if (IsTriggered() && m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && m_spellInfo->IsAOE())
+ if (IsTriggered() && m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && m_spellInfo->IsTargetingArea())
usesAmmo = false;
if (usesAmmo)
@@ -6681,7 +6685,7 @@ void Spell::DoAllEffectOnLaunchTarget(TargetInfo& targetInfo, float* multiplier)
if (m_damage > 0)
{
- if (m_spellInfo->Effects[i].IsArea())
+ if (m_spellInfo->Effects[i].IsTargetingArea())
{
m_damage = int32(float(m_damage) * unit->GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE, m_spellInfo->SchoolMask));
if (m_caster->GetTypeId() == TYPEID_UNIT)
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index d5a9bf923b4..0dd8eb64654 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -1338,7 +1338,7 @@ void Spell::EffectDummy(SpellEffIndex effIndex)
}
//Any effect which causes you to lose control of your character will supress the starfall effect.
- if (m_caster->HasUnitState(UNIT_STAT_CONTROLLED))
+ if (m_caster->HasUnitState(UNIT_STATE_CONTROLLED))
return;
m_caster->CastSpell(unitTarget, damage, true);
@@ -3093,7 +3093,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex)
summon->SelectLevel(summon->GetCreatureInfo()); // some summoned creaters have different from 1 DB data for level/hp
summon->SetUInt32Value(UNIT_NPC_FLAGS, summon->GetCreatureInfo()->npcflag);
- summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
summon->AI()->EnterEvadeMode();
break;
@@ -3317,7 +3317,7 @@ void Spell::EffectDispel(SpellEffIndex effIndex)
// Send dispelled spell info
dataSuccess << uint32(itr->first->GetId()); // Spell Id
dataSuccess << uint8(0); // 0 - dispelled !=0 cleansed
- unitTarget->RemoveAurasDueToSpellByDispel(itr->first->GetId(), itr->first->GetCasterGUID(), m_caster, itr->second);
+ unitTarget->RemoveAurasDueToSpellByDispel(itr->first->GetId(), m_spellInfo->Id, itr->first->GetCasterGUID(), m_caster, itr->second);
}
m_caster->SendMessageToSet(&dataSuccess, true);
@@ -3360,11 +3360,11 @@ void Spell::EffectDistract(SpellEffIndex /*effIndex*/)
return;
// target must be OK to do this
- if (unitTarget->HasUnitState(UNIT_STAT_CONFUSED | UNIT_STAT_STUNNED | UNIT_STAT_FLEEING))
+ if (unitTarget->HasUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_STUNNED | UNIT_STATE_FLEEING))
return;
unitTarget->SetFacingTo(unitTarget->GetAngle(m_targets.GetDst()));
- unitTarget->ClearUnitState(UNIT_STAT_MOVING);
+ unitTarget->ClearUnitState(UNIT_STATE_MOVING);
if (unitTarget->GetTypeId() == TYPEID_UNIT)
unitTarget->GetMotionMaster()->MoveDistract(damage * IN_MILLISECONDS);
@@ -6426,7 +6426,7 @@ void Spell::EffectSummonDeadPet(SpellEffIndex /*effIndex*/)
pet->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE);
pet->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE);
pet->setDeathState(ALIVE);
- pet->ClearUnitState(uint32(UNIT_STAT_ALL_STATE));
+ pet->ClearUnitState(uint32(UNIT_STATE_ALL_STATE));
pet->SetHealth(pet->CountPctFromMaxHealth(damage));
//pet->AIM_Initialize();
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index fb8018fb5ae..ad465767ab0 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -503,7 +503,7 @@ bool SpellEffectInfo::IsAura(AuraType aura) const
return IsAura() && ApplyAuraName == aura;
}
-bool SpellEffectInfo::IsArea() const
+bool SpellEffectInfo::IsTargetingArea() const
{
return TargetA.IsArea() || TargetB.IsArea();
}
@@ -1061,10 +1061,19 @@ bool SpellInfo::IsAbilityOfSkillType(uint32 skillType) const
return false;
}
-bool SpellInfo::IsAOE() const
+bool SpellInfo::IsAffectingArea() const
{
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
- if (Effects[i].IsEffect() && Effects[i].IsArea())
+ if (Effects[i].IsEffect() && (Effects[i].IsTargetingArea() || Effects[i].IsEffect(SPELL_EFFECT_PERSISTENT_AREA_AURA) || Effects[i].IsAreaAuraEffect()))
+ return true;
+ return false;
+}
+
+// checks if spell targets are selected from area, doesn't include spell effects in check (like area wide auras for example)
+bool SpellInfo::IsTargetingArea() const
+{
+ for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
+ if (Effects[i].IsEffect() && Effects[i].IsTargetingArea())
return true;
return false;
}
@@ -1604,7 +1613,7 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, Unit const* target, b
}
// not allow casting on flying player
- if (target->HasUnitState(UNIT_STAT_IN_FLIGHT))
+ if (target->HasUnitState(UNIT_STATE_IN_FLIGHT))
return SPELL_FAILED_BAD_TARGETS;
if (TargetAuraState && !target->HasAuraState(AuraStateType(TargetAuraState), this, caster))
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index 90b79d4da28..65be5981c64 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -279,7 +279,7 @@ public:
bool IsEffect(SpellEffects effectName) const;
bool IsAura() const;
bool IsAura(AuraType aura) const;
- bool IsArea() const;
+ bool IsTargetingArea() const;
bool IsAreaAuraEffect() const;
bool IsFarUnitTargetEffect() const;
bool IsFarDestTargetEffect() const;
@@ -403,7 +403,8 @@ public:
bool IsAbilityLearnedWithProfession() const;
bool IsAbilityOfSkillType(uint32 skillType) const;
- bool IsAOE() const;
+ bool IsAffectingArea() const;
+ bool IsTargetingArea() const;
bool NeedsExplicitUnitTarget() const;
bool NeedsToBeTriggeredByCaster() const;
diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp
index 8e20fd21fcf..8a58ce3c52a 100755
--- a/src/server/game/Spells/SpellScript.cpp
+++ b/src/server/game/Spells/SpellScript.cpp
@@ -542,6 +542,14 @@ bool AuraScript::_Validate(SpellInfo const* entry)
if (!entry->HasAreaAuraEffect())
sLog->outError("TSCR: Spell `%u` of script `%s` does not have area aura effect - handler bound to hook `DoCheckAreaTarget` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
+ for (std::list<AuraDispelHandler>::iterator itr = OnDispel.begin(); itr != OnDispel.end(); ++itr)
+ if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
+ sLog->outError("TSCR: Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `OnDispel` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
+
+ for (std::list<AuraDispelHandler>::iterator itr = AfterDispel.begin(); itr != AfterDispel.end(); ++itr)
+ if (!entry->HasEffect(SPELL_EFFECT_APPLY_AURA) && !entry->HasAreaAuraEffect())
+ sLog->outError("TSCR: Spell `%u` of script `%s` does not have apply aura effect - handler bound to hook `AfterDispel` of AuraScript won't be executed", entry->Id, m_scriptName->c_str());
+
for (std::list<EffectApplyHandler>::iterator itr = OnEffectApply.begin(); itr != OnEffectApply.end(); ++itr)
if (!(*itr).GetAffectedEffectsMask(entry))
sLog->outError("TSCR: Spell `%u` Effect `%s` of script `%s` did not match dbc effect data - handler bound to hook `OnEffectApply` of AuraScript won't be executed", entry->Id, (*itr).ToString().c_str(), m_scriptName->c_str());
@@ -607,6 +615,16 @@ bool AuraScript::CheckAreaTargetHandler::Call(AuraScript* auraScript, Unit* _tar
return (auraScript->*pHandlerScript)(_target);
}
+AuraScript::AuraDispelHandler::AuraDispelHandler(AuraDispelFnType _pHandlerScript)
+{
+ pHandlerScript = _pHandlerScript;
+}
+
+void AuraScript::AuraDispelHandler::Call(AuraScript* auraScript, DispelInfo* _dispelInfo)
+{
+ (auraScript->*pHandlerScript)(_dispelInfo);
+}
+
AuraScript::EffectBase::EffectBase(uint8 _effIndex, uint16 _effName)
: _SpellScript::EffectAuraNameCheck(_effName), _SpellScript::EffectHook(_effIndex)
{
diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h
index a1d8e6563b0..945a62674d9 100755
--- a/src/server/game/Spells/SpellScript.h
+++ b/src/server/game/Spells/SpellScript.h
@@ -385,6 +385,8 @@ enum AuraScriptHookType
AURA_SCRIPT_HOOK_EFFECT_MANASHIELD,
AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD,
AURA_SCRIPT_HOOK_CHECK_AREA_TARGET,
+ AURA_SCRIPT_HOOK_DISPEL,
+ AURA_SCRIPT_HOOK_AFTER_DISPEL,
/*AURA_SCRIPT_HOOK_APPLY,
AURA_SCRIPT_HOOK_REMOVE, */
};
@@ -400,6 +402,7 @@ class AuraScript : public _SpellScript
#define AURASCRIPT_FUNCTION_TYPE_DEFINES(CLASSNAME) \
typedef bool(CLASSNAME::*AuraCheckAreaTargetFnType)(Unit* target); \
+ typedef void(CLASSNAME::*AuraDispelFnType)(DispelInfo* dispelInfo); \
typedef void(CLASSNAME::*AuraEffectApplicationModeFnType)(AuraEffect const*, AuraEffectHandleModes); \
typedef void(CLASSNAME::*AuraEffectPeriodicFnType)(AuraEffect const*); \
typedef void(CLASSNAME::*AuraEffectUpdatePeriodicFnType)(AuraEffect*); \
@@ -418,6 +421,14 @@ class AuraScript : public _SpellScript
private:
AuraCheckAreaTargetFnType pHandlerScript;
};
+ class AuraDispelHandler
+ {
+ public:
+ AuraDispelHandler(AuraDispelFnType pHandlerScript);
+ void Call(AuraScript* auraScript, DispelInfo* dispelInfo);
+ private:
+ AuraDispelFnType pHandlerScript;
+ };
class EffectBase : public _SpellScript::EffectAuraNameCheck, public _SpellScript::EffectHook
{
public:
@@ -493,6 +504,7 @@ class AuraScript : public _SpellScript
#define AURASCRIPT_FUNCTION_CAST_DEFINES(CLASSNAME) \
class CheckAreaTargetFunction : public AuraScript::CheckAreaTargetHandler { public: CheckAreaTargetFunction(AuraCheckAreaTargetFnType _pHandlerScript) : AuraScript::CheckAreaTargetHandler((AuraScript::AuraCheckAreaTargetFnType)_pHandlerScript) {} }; \
+ class AuraDispelFunction : public AuraScript::AuraDispelHandler { public: AuraDispelFunction(AuraDispelFnType _pHandlerScript) : AuraScript::AuraDispelHandler((AuraScript::AuraDispelFnType)_pHandlerScript) {} }; \
class EffectPeriodicHandlerFunction : public AuraScript::EffectPeriodicHandler { public: EffectPeriodicHandlerFunction(AuraEffectPeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectPeriodicHandler((AuraScript::AuraEffectPeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
class EffectUpdatePeriodicHandlerFunction : public AuraScript::EffectUpdatePeriodicHandler { public: EffectUpdatePeriodicHandlerFunction(AuraEffectUpdatePeriodicFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectUpdatePeriodicHandler((AuraScript::AuraEffectUpdatePeriodicFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
class EffectCalcAmountHandlerFunction : public AuraScript::EffectCalcAmountHandler { public: EffectCalcAmountHandlerFunction(AuraEffectCalcAmountFnType _pEffectHandlerScript, uint8 _effIndex, uint16 _effName) : AuraScript::EffectCalcAmountHandler((AuraScript::AuraEffectCalcAmountFnType)_pEffectHandlerScript, _effIndex, _effName) {} }; \
@@ -540,6 +552,17 @@ class AuraScript : public _SpellScript
// where function is: bool function (Unit* target);
HookList<CheckAreaTargetHandler> DoCheckAreaTarget;
#define AuraCheckAreaTargetFn(F) CheckAreaTargetFunction(&F)
+
+ // executed when aura is dispelled by a unit
+ // example: OnDispel += AuraDispelFn(class::function);
+ // where function is: void function (DispelInfo* dispelInfo);
+ HookList<AuraDispelHandler> OnDispel;
+ // executed after aura is dispelled by a unit
+ // example: AfterDispel += AuraDispelFn(class::function);
+ // where function is: void function (DispelInfo* dispelInfo);
+ HookList<AuraDispelHandler> AfterDispel;
+ #define AuraDispelFn(F) AuraDispelFunction(&F)
+
// executed when aura effect is applied with specified mode to target
// should be used when when effect handler preventing/replacing is needed, do not use this hook for triggering spellcasts/removing auras etc - may be unsafe
// example: OnEffectApply += AuraEffectApplyFn(class::function, EffectIndexSpecifier, EffectAuraNameSpecifier, AuraEffectHandleModes);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
index 8eff3e3a042..17cf775603f 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/blackrock_depths.cpp
@@ -1238,10 +1238,10 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_KICK);
break;
case 2:
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
break;
case 3:
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
break;
case 4:
me->HandleEmoteCommand(EMOTE_ONESHOT_KICK);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
index 6b474166e7f..3c8d5fc4fa8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/boss_tomb_of_seven.cpp
@@ -117,7 +117,7 @@ public:
player->CLOSE_GOSSIP_MENU();
//start event here
creature->setFaction(FACTION_HOSTILE);
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
creature->AI()->AttackStart(player);
InstanceScript* instance = creature->GetInstanceScript();
if (instance)
@@ -165,7 +165,7 @@ public:
me->setFaction(FACTION_FRIEND);
// was set before event start, so set again
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
if (instance)
{
diff --git a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp
index f87d87d976c..2ef3ef48ecb 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockDepths/instance_blackrock_depths.cpp
@@ -375,7 +375,7 @@ public:
if (Creature* boss = instance->GetCreature(TombBossGUIDs[TombEventCounter]))
{
boss->setFaction(FACTION_HOSTILE);
- boss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ boss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
if (Unit* target = boss->SelectNearestTarget(500))
boss->AI()->AttackStart(target);
}
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
index 442fd025423..ff17e989cd9 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_drakkisath.cpp
@@ -76,7 +76,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
index 0edcdfece15..0d8cabcf89c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_gyth.cpp
@@ -105,7 +105,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
index 3a7461f90c4..a944ee6daf8 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_halycon.cpp
@@ -82,7 +82,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
index 6f5b9079268..bc9de52d91d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_highlord_omokk.cpp
@@ -85,7 +85,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
index cac07469d68..973ffe7e53b 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_mother_smolderweb.cpp
@@ -77,7 +77,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
index 0975b171f4d..b7492998d56 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_overlord_wyrmthalak.cpp
@@ -101,7 +101,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
index 96cc6e75e4e..d76d0d7f47c 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_pyroguard_emberseer.cpp
@@ -74,7 +74,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
index 470d41208dc..4fb7e513f5d 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_quartermaster_zigris.cpp
@@ -72,7 +72,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
index 70b2a415a24..ce19a03571a 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_rend_blackhand.cpp
@@ -73,7 +73,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
index 20eefd5a0bc..f93466cbece 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
@@ -74,7 +74,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
index 77152277742..88a09d57138 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_the_beast.cpp
@@ -73,7 +73,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
index 9f06c2fbd5d..2dc05799e51 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/boss_warmaster_voone.cpp
@@ -82,7 +82,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
index 5222270df1a..2c7cd73c604 100644
--- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_victor_nefarius.cpp
@@ -351,7 +351,7 @@ public:
//Teleport self to a hiding spot (this causes errors in the Trinity log but no real issues)
DoTeleportTo(HIDE_X, HIDE_Y, HIDE_Z);
- me->AddUnitState(UNIT_STAT_FLEEING);
+ me->AddUnitState(UNIT_STATE_FLEEING);
//Spawn nef and have him attack a random target
Creature* Nefarian = me->SummonCreature(CREATURE_NEFARIAN, NEF_X, NEF_Y, NEF_Z, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 120000);
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
index a6d7248cc26..14add92fd16 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
@@ -393,7 +393,7 @@ public:
EnfeebleResetTimer = 0;
} else EnfeebleResetTimer -= diff;
- if (me->HasUnitState(UNIT_STAT_STUNNED)) // While shifting to phase 2 malchezaar stuns himself
+ if (me->HasUnitState(UNIT_STATE_STUNNED)) // While shifting to phase 2 malchezaar stuns himself
return;
if (me->GetUInt64Value(UNIT_FIELD_TARGET) != me->getVictim()->GetGUID())
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
index a675c355cfc..b15cb7d3da1 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
@@ -655,7 +655,7 @@ public:
{
DoScriptText(RAND(SAY_CRONE_AGGRO, SAY_CRONE_AGGRO2), me);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void JustDied(Unit* /*killer*/)
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
index 3959a01e4ba..f792b861c99 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_baron_geddon.cpp
@@ -80,7 +80,7 @@ class boss_baron_geddon : public CreatureScript
return;
}
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
index e1bb48dfbb0..a9d32ebca9a 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_garr.cpp
@@ -71,7 +71,7 @@ class boss_garr : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
index 9bbbb086abd..7261bbf1fbd 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_gehennas.cpp
@@ -68,7 +68,7 @@ class boss_gehennas : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
index 1ba143a8c03..84e9957a60c 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_golemagg.cpp
@@ -91,7 +91,7 @@ class boss_golemagg : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
index 5395b46fef3..e3e04002112 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_lucifron.cpp
@@ -68,7 +68,7 @@ class boss_lucifron : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
index 5551531379b..65a630a58f7 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_magmadar.cpp
@@ -80,7 +80,7 @@ class boss_magmadar : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
index d324150c22f..862a980394a 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_majordomo_executus.cpp
@@ -116,7 +116,7 @@ class boss_majordomo : public CreatureScript
return;
}
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (HealthBelowPct(50))
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
index 97c89f12b5b..f696ec58e1b 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_shazzrah.cpp
@@ -73,7 +73,7 @@ class boss_shazzrah : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp b/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
index ccefca70d67..9f511c1394a 100644
--- a/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
+++ b/src/server/scripts/EasternKingdoms/MoltenCore/boss_sulfuron_harbinger.cpp
@@ -84,7 +84,7 @@ class boss_sulfuron : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -169,7 +169,7 @@ class mob_flamewaker_priest : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index a7d1c3ad8ba..a2c8a890feb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -125,7 +125,7 @@ public:
phase = PHASE_CHAINED;
events.Reset();
me->setFaction(7);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8);
me->LoadEquipment(0, true);
}
@@ -230,7 +230,7 @@ public:
else
{
me->setFaction(14);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
phase = PHASE_ATTACKING;
if (Player* target = Unit::GetPlayer(*me, playerGUID))
@@ -378,7 +378,7 @@ public:
return true;
}
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15);
int32 uiSayId = rand()% (sizeof(m_auiRandomSay)/sizeof(int32));
@@ -877,7 +877,7 @@ public:
{
npc_scarlet_miner_cartAI(Creature* c) : PassiveAI(c), minerGUID(0)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetDisplayId(me->GetCreatureInfo()->Modelid1); // Modelid2 is a horse.
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 1fb8287e54d..4583a33a196 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -264,7 +264,7 @@ public:
m_uiValrothGUID = summoned->GetGUID();
summoned->AddThreat(me, 0.0f);
- summoned->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ summoned->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void SummonAcolyte(uint32 uiAmount)
@@ -605,7 +605,7 @@ public:
ExecuteSpeech_Counter = 0;
PlayerGUID = 0;
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
bool MeetQuestCondition(Unit* player)
@@ -702,7 +702,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_6, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -730,7 +730,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_8, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -758,7 +758,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_3, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -786,7 +786,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_7, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -814,7 +814,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_4, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -842,7 +842,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_9, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -870,7 +870,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_5, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -898,7 +898,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_10, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -926,7 +926,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_1, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
@@ -954,7 +954,7 @@ public:
case 9:
DoScriptText(SAY_EXEC_TIME_2, me, player);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case 10: DoScriptText(SAY_EXEC_WAITING, me, player); break;
case 11:
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
index febe89772fd..9512d66b6eb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
@@ -91,7 +91,7 @@ public:
case 2:
if (!player->isRessurectRequested())
{
- me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOMSPELL01);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOM_SPELL_01);
DoCast(player, SPELL_REVIVE, true);
me->MonsterWhisper(VALK_WHISPER, player->GetGUID());
}
diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
index df369bb58b6..57b902ac6d4 100644
--- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
+++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
@@ -252,7 +252,7 @@ public:
{
case 1:
summon = pArchmage->SummonCreature(pArchmage->GetEntry(), SpawnLocation[4], TEMPSUMMON_TIMED_DESPAWN, 10000);
- summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
summon->SetReactState(REACT_DEFENSIVE);
summon->CastSpell(summon, SPELL_ASHCROMBE_TELEPORT, true);
DoScriptText(SAY_ARCHMAGE, summon);
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index cb7f0de165d..337eea13438 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -425,7 +425,7 @@ public:
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
ScriptedAI::InitializeAI();
}
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
index 2004eec71bc..9b5d941589b 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
@@ -151,7 +151,7 @@ public:
summoned->CastSpell(summoned, SPELL_DARKFIEND_VISUAL, false);
break;
case CREATURE_DARKNESS:
- summoned->AddUnitState(UNIT_STAT_STUNNED);
+ summoned->AddUnitState(UNIT_STATE_STUNNED);
float x, y, z, o;
summoned->GetHomePosition(x, y, z, o);
me->SummonCreature(CREATURE_DARK_FIENDS, x, y, z, o, TEMPSUMMON_CORPSE_DESPAWN, 0);
@@ -399,7 +399,7 @@ public:
InAction = false;
SummonSentinel = false;
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
Summons.DespawnAll();
}
@@ -472,7 +472,7 @@ public:
WaitTimer = 2000;
InAction = false;
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
}
void SpellHit(Unit* /*caster*/, const SpellInfo* Spell)
@@ -491,7 +491,7 @@ public:
{
if (!InAction)
{
- me->ClearUnitState(UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_STUNNED);
DoCastAOE(SPELL_DARKFIEND_SKIN, false);
AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true));
InAction = true;
@@ -599,7 +599,7 @@ public:
SpellTimer = 5000;
Phase = 0;
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
DoCastAOE(SPELL_BLACKHOLE_SPAWN, true);
}
@@ -611,7 +611,7 @@ public:
switch (NeedForAHack)
{
case 0:
- me->ClearUnitState(UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_STUNNED);
DoCastAOE(SPELL_BLACKHOLE_GROW, false);
if (Victim)
AttackStart(Victim);
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
index 3cb0cc2120a..bd6f6ec4748 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
@@ -173,7 +173,7 @@ class boss_venoxis : public CreatureScript
events.Update(diff);
// return back to main code if we're still casting
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/EasternKingdoms/tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/tirisfal_glades.cpp
index 6cbf28f171c..0d72ab6fb2f 100644
--- a/src/server/scripts/EasternKingdoms/tirisfal_glades.cpp
+++ b/src/server/scripts/EasternKingdoms/tirisfal_glades.cpp
@@ -53,7 +53,7 @@ public:
if (quest->GetQuestId() == QUEST_590)
{
creature->setFaction(FACTION_HOSTILE);
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
CAST_AI(npc_calvin_montague::npc_calvin_montagueAI, creature->AI())->AttackStart(player);
}
return true;
@@ -80,8 +80,8 @@ public:
me->RestoreFaction();
- if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void EnterCombat(Unit* /*who*/) {}
@@ -101,7 +101,7 @@ public:
uiDamage = 0;
me->RestoreFaction();
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->CombatStop(true);
m_uiPhase = 1;
diff --git a/src/server/scripts/EasternKingdoms/westfall.cpp b/src/server/scripts/EasternKingdoms/westfall.cpp
index 34cc8559a71..271e1d99d63 100644
--- a/src/server/scripts/EasternKingdoms/westfall.cpp
+++ b/src/server/scripts/EasternKingdoms/westfall.cpp
@@ -110,7 +110,7 @@ public:
case 4:
SetEquipmentSlots(false, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE, EQUIP_ID_RIFLE);
me->SetSheath(SHEATH_STATE_RANGED);
- me->HandleEmoteCommand(EMOTE_STATE_USESTANDING_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_STATE_USE_STANDING_NO_SHEATHE);
break;
case 7:
me->SummonCreature(NPC_DEFIAS_RAIDER, -11450.836f, 1569.755f, 54.267f, 4.230f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
@@ -141,7 +141,7 @@ public:
case 13:
SetEquipmentSlots(true);
me->SetSheath(SHEATH_STATE_UNARMED);
- me->HandleEmoteCommand(EMOTE_STATE_USESTANDING_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_STATE_USE_STANDING_NO_SHEATHE);
break;
case 17:
player->GroupEventHappens(QUEST_TOME_VALOR, me);
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index 6466780f024..65bc8f6a8e6 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -678,7 +678,7 @@ public:
}
if (i == LastOverronPos && IsOverrun)
{
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACKUNARMED);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_ATTACK_UNARMED);
if ((faction == 0 && LastOverronPos == 17) || (faction == 1 && LastOverronPos == 21))
{
me->setDeathState(DEAD);
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 6cdb794bf5e..9518abd1635 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -414,7 +414,7 @@ public:
if (Creature* temp = me->SummonCreature((uint32)RiftAndSpawnsLocations[i][0], RiftAndSpawnsLocations[timeRiftID][1], RiftAndSpawnsLocations[timeRiftID][2], RiftAndSpawnsLocations[timeRiftID][3], RiftAndSpawnsLocations[timeRiftID][4], TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000))
{
guidVector[i-timeRiftID-1] = temp->GetGUID();
- temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
temp->SetReactState(REACT_PASSIVE);
temp->GetMotionMaster()->MovePoint(0, RiftAndSpawnsLocations[i][1], RiftAndSpawnsLocations[i][2], RiftAndSpawnsLocations[i][3]);
if ((uint32)RiftAndSpawnsLocations[i][0] == NPC_EPOCH)
@@ -1003,7 +1003,7 @@ public:
{
pDisguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0);
//Make them unattackable
- pDisguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ pDisguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
pDisguised2->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
@@ -1013,7 +1013,7 @@ public:
{
pDisguised1->UpdateEntry(NPC_INFINITE_AGENT, 0);
//Make them unattackable
- pDisguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ pDisguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
pDisguised1->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
@@ -1023,7 +1023,7 @@ public:
{
pDisguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0);
//Make them unattackable
- pDisguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ pDisguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
pDisguised0->SetReactState(REACT_PASSIVE);
}
JumpToNextStep(2000);
@@ -1037,7 +1037,7 @@ public:
for (uint32 i = 0; i< ENCOUNTER_DRACONIAN_NUMBER; ++i)
if (Creature* temp = Unit::GetCreature(*me, uiInfiniteDraconianGUID[i]))
{
- temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
temp->SetReactState(REACT_AGGRESSIVE);
}
JumpToNextStep(5000);
@@ -1095,7 +1095,7 @@ public:
if (Creature* pEpoch = Unit::GetCreature(*me, uiEpochGUID))
{
//Make Epoch attackable
- pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
pEpoch->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pEpoch->SetReactState(REACT_AGGRESSIVE);
}
@@ -1150,7 +1150,7 @@ public:
case 87:
if (Creature* pMalganis = Unit::GetCreature(*me, uiMalganisGUID))
{
- pMalganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_UNK_6 | UNIT_FLAG_PASSIVE | UNIT_FLAG_UNK_15);
+ pMalganis->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_UNK_6 | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_UNK_15);
pMalganis->SetReactState(REACT_AGGRESSIVE);
}
JumpToNextStep(1000);
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index b295780cfc9..36a1ff1bade 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -75,7 +75,7 @@ class boss_kurinnaxx : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
index 3dc7660985f..a290b07e60f 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
@@ -127,7 +127,7 @@ class boss_moam : public CreatureScript
}
// Messing up mana-drain channel
- //if (me->HasUnitState(UNIT_STAT_CASTING))
+ //if (me->HasUnitState(UNIT_STATE_CASTING))
// return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
index ea137026ec2..afa8eff5823 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
@@ -93,7 +93,7 @@ class boss_rajaxx : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index d56608ba7f1..7f3c19ac69c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -38,7 +38,7 @@ EndScriptData */
#define SPELL_ARCANE_EXPLOSION 25679
#define SPELL_EARTH_SHOCK 26194
-#define SPELL_TRUE_FULFILLMENT4 26526
+#define SPELL_TRUE_FULFILLMENT 785
#define SPELL_BLINK 28391
class ov_mycoordinates
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index a60c33a4feb..b03d2dc3a4a 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -90,7 +90,7 @@ struct boss_twinemperorsAI : public ScriptedAI
AfterTeleportTimer = 0;
Abuse_Bug_Timer = urand(10000, 17000);
BugsTimer = 2000;
- me->ClearUnitState(UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_STUNNED);
DontYellWhenDead = false;
EnrageTimer = 15*60000;
}
@@ -234,7 +234,7 @@ struct boss_twinemperorsAI : public ScriptedAI
DoStopAttack();
DoResetThreat();
DoCast(me, SPELL_TWIN_TELEPORT_VISUAL);
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
AfterTeleport = true;
AfterTeleportTimer = 2000;
tspellcasted = false;
@@ -246,9 +246,9 @@ struct boss_twinemperorsAI : public ScriptedAI
{
if (!tspellcasted)
{
- me->ClearUnitState(UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_STUNNED);
DoCast(me, SPELL_TWIN_TELEPORT);
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
}
tspellcasted = true;
@@ -256,7 +256,7 @@ struct boss_twinemperorsAI : public ScriptedAI
if (AfterTeleportTimer <= diff)
{
AfterTeleport = false;
- me->ClearUnitState(UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_STUNNED);
if (Unit* nearu = me->SelectNearestTarget(100))
{
//DoYell(nearu->GetName(), LANG_UNIVERSAL, 0);
diff --git a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
index 1155d353371..8eb3d20d528 100644
--- a/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
+++ b/src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
@@ -98,7 +98,7 @@ public:
DoScriptText(SAY_MAKE_PREPARATIONS, creature);
creature->setFaction(250);
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
CAST_AI(npc_escortAI, (creature->AI()))->Start(false, false, player->GetGUID());
CAST_AI(npc_escortAI, (creature->AI()))->SetDespawnAtFar(false);
@@ -143,7 +143,7 @@ public:
currentEvent = 0;
eventProgress = 0;
me->setActive(true);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
uint32 eventTimer;
diff --git a/src/server/scripts/Kalimdor/durotar.cpp b/src/server/scripts/Kalimdor/durotar.cpp
index 8cf72b3538d..6c91c64f981 100644
--- a/src/server/scripts/Kalimdor/durotar.cpp
+++ b/src/server/scripts/Kalimdor/durotar.cpp
@@ -84,7 +84,7 @@ public:
void UpdateAI(const uint32 uiDiff)
{
if (work == true)
- me->HandleEmoteCommand(466);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_WORK_CHOPWOOD);
if (m_uiRebuffTimer <= uiDiff)
{
DoCast(me, SPELL_BUFF_SLEEP);
diff --git a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
index 0ead5d95447..eede1aa069a 100644
--- a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
@@ -176,7 +176,7 @@ public:
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
creature->SetSpeed(MOVE_RUN, creature->GetSpeedRate(MOVE_RUN), true);
creature->setFaction(35);
- creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NON_ATTACKABLE);
+ creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
creature->SetReactState(REACT_PASSIVE);
creature->GetMotionMaster()->MovePoint(1, DeserterDisappearPos);
break;
@@ -198,7 +198,7 @@ public:
void Reset()
{
me->RestoreFaction();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
}
@@ -531,7 +531,7 @@ public:
return;
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
SetCombatMovement(true);
if (me->isInCombat())
diff --git a/src/server/scripts/Kalimdor/moonglade.cpp b/src/server/scripts/Kalimdor/moonglade.cpp
index f9e4bce34d0..2d6e34ab9ee 100644
--- a/src/server/scripts/Kalimdor/moonglade.cpp
+++ b/src/server/scripts/Kalimdor/moonglade.cpp
@@ -602,7 +602,7 @@ public:
{
npc_omenAI(Creature* creature) : ScriptedAI(creature)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->GetMotionMaster()->MovePoint(1, 7549.977f, -2855.137f, 456.9678f);
}
@@ -616,7 +616,7 @@ public:
if (pointId == 1)
{
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
if (Player* player = me->SelectNearestPlayer(40.0f))
AttackStart(player);
}
diff --git a/src/server/scripts/Kalimdor/mulgore.cpp b/src/server/scripts/Kalimdor/mulgore.cpp
index 01cca58359e..c689d6954a4 100644
--- a/src/server/scripts/Kalimdor/mulgore.cpp
+++ b/src/server/scripts/Kalimdor/mulgore.cpp
@@ -171,7 +171,7 @@ public:
break;
case 2:
DoScriptText(EMOTE_EAT_LUNCH, me);
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
break;
case 3:
if (Player* unit = Unit::GetPlayer(*me, uiPlayerGUID))
diff --git a/src/server/scripts/Kalimdor/stonetalon_mountains.cpp b/src/server/scripts/Kalimdor/stonetalon_mountains.cpp
index 3dd0d1cbf02..c31a7731865 100644
--- a/src/server/scripts/Kalimdor/stonetalon_mountains.cpp
+++ b/src/server/scripts/Kalimdor/stonetalon_mountains.cpp
@@ -154,7 +154,7 @@ public:
DoScriptText(SAY_START, creature);
creature->setFaction(113);
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
return true;
}
diff --git a/src/server/scripts/Kalimdor/tanaris.cpp b/src/server/scripts/Kalimdor/tanaris.cpp
index 394a32e5cb6..ff6cdccb66a 100644
--- a/src/server/scripts/Kalimdor/tanaris.cpp
+++ b/src/server/scripts/Kalimdor/tanaris.cpp
@@ -410,7 +410,7 @@ public:
creature->setFaction(113);
creature->SetFullHealth();
creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
- creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
DoScriptText(SAY_OOX_START, creature);
if (npc_escortAI* pEscortAI = CAST_AI(npc_OOX17::npc_OOX17AI, creature->AI()))
diff --git a/src/server/scripts/Kalimdor/the_barrens.cpp b/src/server/scripts/Kalimdor/the_barrens.cpp
index 6f2ddb1febb..e12897c1def 100644
--- a/src/server/scripts/Kalimdor/the_barrens.cpp
+++ b/src/server/scripts/Kalimdor/the_barrens.cpp
@@ -512,7 +512,7 @@ public:
//creature->GetMotionMaster()->MovePoint(0, -1693, -4343, 4.32f);
//creature->GetMotionMaster()->MovePoint(1, -1684, -4333, 2.78f);
creature->GetMotionMaster()->MovePoint(2, -1682, -4329, 2.79f);
- creature->HandleEmoteCommand(EMOTE_STATE_READYUNARMED);
+ creature->HandleEmoteCommand(EMOTE_STATE_READY_UNARMED);
EventBigWill = true;
Wave_Timer = 1000;
}
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index bf22c7a5d30..f1eaa0c87c5 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -115,7 +115,7 @@ public:
DoCast(me, INSANITY_VISUAL, true);
// Unattackable
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->SetControlled(true, UNIT_STAT_STUNNED);
+ me->SetControlled(true, UNIT_STATE_STUNNED);
}
// phase mask
target->CastSpell(target, SPELL_INSANITY_TARGET+insanityHandled, true);
@@ -171,7 +171,7 @@ public:
// Cleanup
Summons.DespawnAll();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->SetControlled(false, UNIT_STAT_STUNNED);
+ me->SetControlled(false, UNIT_STATE_STUNNED);
}
void EnterCombat(Unit* /*who*/)
@@ -271,7 +271,7 @@ public:
insanityHandled = 0;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->SetControlled(false, UNIT_STAT_STUNNED);
+ me->SetControlled(false, UNIT_STATE_STUNNED);
me->RemoveAurasDueToSpell(INSANITY_VISUAL);
}
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 1e3a9a7a177..0f4b046f7d5 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -82,7 +82,7 @@ public:
boss_taldaramAI(Creature* c) : ScriptedAI(c)
{
instance = c->GetInstanceScript();
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -314,7 +314,7 @@ public:
{
if (!instance)
return;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveAurasDueToSpell(SPELL_BEAM_VISUAL);
diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
index cf9c7fd0f3d..79a102c803f 100644
--- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
@@ -283,7 +283,7 @@ public:
if (((UndergroundPhase == 0 && HealthBelowPct(75))
|| (UndergroundPhase == 1 && HealthBelowPct(50))
|| (UndergroundPhase == 2 && HealthBelowPct(25)))
- && !me->HasUnitState(UNIT_STAT_CASTING))
+ && !me->HasUnitState(UNIT_STATE_CASTING))
{
GuardianSummoned = false;
VenomancerSummoned = false;
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 61d74c431fe..e848c29c466 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
@@ -174,7 +174,7 @@ class boss_baltharus_the_warborn : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING) && !(events.GetPhaseMask() & PHASE_INTRO_MASK))
+ if (me->HasUnitState(UNIT_STATE_CASTING) && !(events.GetPhaseMask() & PHASE_INTRO_MASK))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -268,7 +268,7 @@ class npc_baltharus_the_warborn_clone : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
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 3b3b1fb9f47..f41522f844d 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
@@ -97,7 +97,7 @@ class boss_general_zarithrian : public CreatureScript
{
_Reset();
if (instance->GetBossState(DATA_SAVIANA_RAGEFIRE) == DONE && instance->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE)
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void EnterCombat(Unit* /*who*/)
@@ -148,7 +148,7 @@ class boss_general_zarithrian : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -257,7 +257,7 @@ class npc_onyx_flamecaller : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
index 724fd4ef011..78810e27b05 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -137,7 +137,7 @@ class boss_saviana_ragefire : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 0fb51df7ed9..f9e302d7634 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
@@ -189,7 +189,7 @@ class instance_ruby_sanctum : public InstanceMapScript
{
HandleGameObject(FlameWallsGUID, true);
if (Creature* zarithrian = instance->GetCreature(GeneralZarithrianGUID))
- zarithrian->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ zarithrian->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
}
break;
}
@@ -199,7 +199,7 @@ class instance_ruby_sanctum : public InstanceMapScript
{
HandleGameObject(FlameWallsGUID, true);
if (Creature* zarithrian = instance->GetCreature(GeneralZarithrianGUID))
- zarithrian->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ zarithrian->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
}
break;
}
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 153e128e58d..0848d1e9524 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
@@ -111,7 +111,7 @@ public:
{
RemoveSummons();
me->SetDisplayId(me->GetNativeDisplayId());
- me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
bEventInProgress = false;
bEvent = false;
@@ -167,7 +167,7 @@ public:
uiPhase++;
uiResurrectTimer = 4000;
bEventInProgress = false;
- me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
} else uiResurrectTimer -= uiDiff;
}
@@ -211,14 +211,14 @@ public:
if (!bSummonArmy)
{
bSummonArmy = true;
- me->AddUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
DoCast(me, SPELL_ARMY_DEAD);
}
if (!bDeathArmyDone)
{
if (uiDeathArmyCheckTimer <= uiDiff)
{
- me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
uiDeathArmyCheckTimer = 0;
bDeathArmyDone = true;
} else uiDeathArmyCheckTimer -= uiDiff;
@@ -263,7 +263,7 @@ public:
}
}
- if (!me->HasUnitState(UNIT_STAT_ROOT) && !me->HealthBelowPct(1))
+ if (!me->HasUnitState(UNIT_STATE_ROOT) && !me->HealthBelowPct(1))
DoMeleeAttackIfReady();
}
@@ -273,7 +273,7 @@ public:
{
uiDamage = 0;
me->SetHealth(0);
- me->AddUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED);
RemoveSummons();
switch (uiPhase)
{
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 ebdc55c51b7..9fcfcfa47e5 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -107,7 +107,7 @@ void AggroAllPlayers(Creature* temp)
if (player->isAlive())
{
- temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
temp->SetReactState(REACT_AGGRESSIVE);
temp->SetInCombatWith(player);
player->SetInCombatWith(temp);
@@ -320,7 +320,7 @@ public:
me->SetReactState(REACT_PASSIVE);
// THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
InstanceScript* instance;
@@ -453,7 +453,7 @@ public:
me->SetReactState(REACT_PASSIVE);
// THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
InstanceScript* instance;
@@ -592,7 +592,7 @@ public:
me->SetReactState(REACT_PASSIVE);
// THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
InstanceScript* instance;
@@ -739,7 +739,7 @@ public:
me->SetReactState(REACT_PASSIVE);
// THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
InstanceScript* instance;
@@ -895,7 +895,7 @@ public:
me->SetReactState(REACT_PASSIVE);
// THIS IS A HACK, SHOULD BE REMOVED WHEN THE EVENT IS FULL SCRIPTED
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
InstanceScript* instance;
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 d3d92375d39..a9e41d90899 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
@@ -535,7 +535,7 @@ public:
{
me->RemoveAurasDueToSpell(SPELL_SUBMERGE_EFFECT);
DoCast(me, SPELL_EMERGE_EFFECT);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->CombatStart(me->SelectNearestTarget());
}
else
@@ -543,7 +543,7 @@ public:
if (!me->HasAura(SPELL_PERMAFROST_HELPER))
{
DoCast(me, SPELL_SUBMERGE_EFFECT);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->CombatStop();
}
}
@@ -647,7 +647,7 @@ public:
void Reset()
{
// For an unknown reason this npc isn't recognize the Aura of Permafrost with this flags =/
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
m_uiTargetGUID = 0;
}
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 45fdbdd5616..2fe0bd3f397 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
@@ -172,7 +172,7 @@ public:
{
Summons.Summon(temp);
temp->SetReactState(REACT_PASSIVE);
- temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
if (playerTeam == ALLIANCE)
{
temp->SetHomePosition(vChampionJumpTarget[pos].GetPositionX(), vChampionJumpTarget[pos].GetPositionY(), vChampionJumpTarget[pos].GetPositionZ(), 0);
@@ -203,7 +203,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, *i))
{
temp->SetReactState(REACT_AGGRESSIVE);
- temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
}
}
break;
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 960b685f700..c1009963df0 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -172,7 +172,7 @@ struct boss_twin_baseAI : public ScriptedAI
uint32 m_uiTouchSpellId;
void Reset() {
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_PASSIVE);
me->ModifyAuraState(m_uiAuraState, true);
/* Uncomment this once that they are flying above the ground
@@ -205,7 +205,7 @@ struct boss_twin_baseAI : public ScriptedAI
{
case 1:
m_instance->DoUseDoorOrButton(m_instance->GetData64(GO_MAIN_GATE_DOOR));
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
break;
}
@@ -572,7 +572,7 @@ struct mob_unleashed_ballAI : public ScriptedAI
void Reset()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_PASSIVE);
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
me->SetFlying(true);
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 b17b6f1286b..3831e4824ad 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
@@ -429,7 +429,7 @@ class npc_fizzlebang_toc : public CreatureScript
case 1130:
me->GetMotionMaster()->MovementExpired();
DoScriptText(SAY_STAGE_1_03, me);
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST_OMNI);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST_OMNI);
if (Unit* pTrigger = me->SummonCreature(NPC_TRIGGER, ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 4.69494f, TEMPSUMMON_MANUAL_DESPAWN))
{
m_uiTriggerGUID = pTrigger->GetGUID();
@@ -446,7 +446,7 @@ class npc_fizzlebang_toc : public CreatureScript
m_uiUpdateTimer = 4000;
break;
case 1134:
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST_OMNI);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST_OMNI);
if (Creature* pPortal = me->SummonCreature(NPC_WILFRED_PORTAL, ToCCommonLoc[1].GetPositionX(), ToCCommonLoc[1].GetPositionY(), ToCCommonLoc[1].GetPositionZ(), 4.71239f, TEMPSUMMON_MANUAL_DESPAWN))
{
pPortal->SetReactState(REACT_PASSIVE);
diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
index 54e234a6d87..5418cf8c4d0 100644
--- a/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
+++ b/src/server/scripts/Northrend/DraktharonKeep/boss_novos.cpp
@@ -100,8 +100,8 @@ public:
lSummons.DespawnAll();
crystalHandlerAmount = 0;
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
@@ -136,7 +136,7 @@ public:
}
instance->SetData(DATA_NOVOS_EVENT, IN_PROGRESS);
}
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
@@ -227,7 +227,7 @@ public:
if (luiCrystals.empty())
{
me->CastStop();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
Phase = PHASE_2;
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
index a0d6f04f44c..4a28ebe6495 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
@@ -142,7 +142,7 @@ class boss_bronjahm : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 fb39019fb84..ad49f6cbce8 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
@@ -260,7 +260,7 @@ class boss_devourer_of_souls : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
index c6d00a95de3..c8f18dba1d0 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
@@ -441,7 +441,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -497,7 +497,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -555,7 +555,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -612,7 +612,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -672,7 +672,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -738,7 +738,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -811,7 +811,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -878,7 +878,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
index 673362f59a0..9cfcb78f6f1 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
@@ -103,7 +103,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
index b074c309cb3..a9bfb603794 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
@@ -100,7 +100,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.ExecuteEvent())
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 e1ae8374278..1583bdbdcd4 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
@@ -659,7 +659,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -742,7 +742,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -842,7 +842,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -912,7 +912,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -978,7 +978,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 26ece7db662..0f9495d4928 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -190,7 +190,7 @@ class boss_garfrost : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
index 8bcd0b8b8e2..8e211cbd2cb 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
@@ -215,7 +215,7 @@ class boss_ick : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 91be62a33e7..25cd292d390 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -72,7 +72,7 @@ class mob_ymirjar_flamebearer : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -187,7 +187,7 @@ class mob_wrathbone_laborer : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 9abcc669f09..b66c3d795f3 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -97,7 +97,7 @@ class boss_drakkari_colossus : public CreatureScript
if (GetData(DATA_INTRO_DONE))
{
me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveAura(SPELL_FREEZE_ANIM);
}
@@ -149,7 +149,7 @@ class boss_drakkari_colossus : public CreatureScript
me->GetMotionMaster()->MoveIdle();
me->SetReactState(REACT_PASSIVE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
DoCast(me, SPELL_FREEZE_ANIM);
break;
case ACTION_UNFREEZE_COLOSSUS:
@@ -158,7 +158,7 @@ class boss_drakkari_colossus : public CreatureScript
return;
me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveAura(SPELL_FREEZE_ANIM);
me->SetInCombatWithZone();
@@ -172,7 +172,7 @@ class boss_drakkari_colossus : public CreatureScript
void DamageTaken(Unit* /*attacker*/, uint32& damage)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
damage = 0;
if (phase == COLOSSUS_PHASE_NORMAL ||
@@ -212,7 +212,7 @@ class boss_drakkari_colossus : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -289,7 +289,7 @@ class boss_drakkari_elemental : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -335,7 +335,7 @@ class boss_drakkari_elemental : public CreatureScript
damage = 0;
// to prevent spell spaming
- if (me->HasUnitState(UNIT_STAT_CHARGING))
+ if (me->HasUnitState(UNIT_STATE_CHARGING))
return;
// not sure about this, the idea of this code is to prevent bug the elemental
diff --git a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
index 46070090063..daa5ee86483 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_gal_darah.cpp
@@ -148,7 +148,7 @@ public:
DoScriptText(SAY_TRANSFORM_1, me);
uiTransformationTimer = 5*IN_MILLISECONDS;
bStartOfTransformation = true;
- me->ClearUnitState(UNIT_STAT_STUNNED|UNIT_STAT_ROOT);
+ me->ClearUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
me->SetReactState(REACT_AGGRESSIVE);
}
else
@@ -158,7 +158,7 @@ public:
if (bStartOfTransformation)
{
bStartOfTransformation = false;
- me->AddUnitState(UNIT_STAT_STUNNED|UNIT_STAT_ROOT);
+ me->AddUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
me->SetReactState(REACT_PASSIVE);
}
}
@@ -191,7 +191,7 @@ public:
DoScriptText(SAY_TRANSFORM_2, me);
uiTransformationTimer = 9*IN_MILLISECONDS;
bStartOfTransformation = true;
- me->ClearUnitState(UNIT_STAT_STUNNED|UNIT_STAT_ROOT);
+ me->ClearUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
me->SetReactState(REACT_AGGRESSIVE);
}
else
@@ -201,7 +201,7 @@ public:
if (bStartOfTransformation)
{
bStartOfTransformation = false;
- me->AddUnitState(UNIT_STAT_STUNNED|UNIT_STAT_ROOT);
+ me->AddUnitState(UNIT_STATE_STUNNED|UNIT_STATE_ROOT);
me->SetReactState(REACT_PASSIVE);
}
}
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 94a3da2672b..f5e207a9442 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -287,7 +287,7 @@ class boss_blood_council_controller : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -383,7 +383,7 @@ class boss_prince_keleseth_icc : public CreatureScript
events.Reset();
summons.DespawnAll();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
_isEmpowered = false;
me->SetHealth(_spawnHealth);
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true));
@@ -489,7 +489,7 @@ class boss_prince_keleseth_icc : public CreatureScript
{
case ACTION_STAND_UP:
me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why
@@ -535,7 +535,7 @@ class boss_prince_keleseth_icc : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -607,7 +607,7 @@ class boss_prince_taldaram_icc : public CreatureScript
events.Reset();
summons.DespawnAll();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
_isEmpowered = false;
me->SetHealth(_spawnHealth);
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true));
@@ -707,7 +707,7 @@ class boss_prince_taldaram_icc : public CreatureScript
{
case ACTION_STAND_UP:
me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why
@@ -753,7 +753,7 @@ class boss_prince_taldaram_icc : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -830,7 +830,7 @@ class boss_prince_valanar_icc : public CreatureScript
events.Reset();
summons.DespawnAll();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
_isEmpowered = false;
me->SetHealth(me->GetMaxHealth());
instance->SetData(DATA_ORB_WHISPERER_ACHIEVEMENT, uint32(true));
@@ -944,7 +944,7 @@ class boss_prince_valanar_icc : public CreatureScript
{
case ACTION_STAND_UP:
me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why
@@ -990,7 +990,7 @@ class boss_prince_valanar_icc : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -1179,7 +1179,7 @@ class npc_ball_of_flame : public CreatureScript
if (Player* target = ObjectAccessor::GetPlayer(*me, _chaseGUID))
{
// need to clear states now because this call is before AuraEffect is fully removed
- me->ClearUnitState(UNIT_STAT_CASTING | UNIT_STAT_STUNNED);
+ me->ClearUnitState(UNIT_STATE_CASTING | UNIT_STATE_STUNNED);
if (target && me->Attack(target, true))
me->GetMotionMaster()->MoveChase(target, 1.0f);
}
@@ -1316,7 +1316,7 @@ class npc_dark_nucleus : public CreatureScript
}
DoCast(who, SPELL_SHADOW_RESONANCE_RESIST);
- me->ClearUnitState(UNIT_STAT_CASTING);
+ me->ClearUnitState(UNIT_STATE_CASTING);
}
void MoveInLineOfSight(Unit* who)
@@ -1350,7 +1350,7 @@ class npc_dark_nucleus : public CreatureScript
!victim->HasAura(SPELL_SHADOW_RESONANCE_RESIST, me->GetGUID()))
{
DoCast(victim, SPELL_SHADOW_RESONANCE_RESIST);
- me->ClearUnitState(UNIT_STAT_CASTING);
+ me->ClearUnitState(UNIT_STATE_CASTING);
}
}
else
@@ -1369,7 +1369,7 @@ class npc_dark_nucleus : public CreatureScript
_lockedTarget = true;
AttackStart(victim);
DoCast(victim, SPELL_SHADOW_RESONANCE_RESIST);
- me->ClearUnitState(UNIT_STAT_CASTING);
+ me->ClearUnitState(UNIT_STATE_CASTING);
}
}
}
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 d775e5778f7..79a577f6591 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
@@ -321,7 +321,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 31b3786a360..3c795187f43 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -279,7 +279,7 @@ class boss_deathbringer_saurfang : public CreatureScript
events.Reset();
events.SetPhase(PHASE_COMBAT);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
if (!_introDone)
{
DoCast(me, SPELL_GRIP_OF_AGONY);
@@ -314,7 +314,7 @@ class boss_deathbringer_saurfang : public CreatureScript
void AttackStart(Unit* victim)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC))
return;
ScriptedAI::AttackStart(victim);
@@ -324,7 +324,7 @@ class boss_deathbringer_saurfang : public CreatureScript
{
ScriptedAI::EnterEvadeMode();
if (_introDone)
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void JustReachedHome()
@@ -403,7 +403,7 @@ class boss_deathbringer_saurfang : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -434,7 +434,7 @@ class boss_deathbringer_saurfang : public CreatureScript
case EVENT_INTRO_FINISH:
events.SetPhase(PHASE_COMBAT);
_introDone = true;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
break;
case EVENT_SUMMON_BLOOD_BEAST:
for (uint32 i10 = 0; i10 < 2; ++i10)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index f90bc5d445e..a97c6f7d138 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -169,7 +169,7 @@ class boss_festergut : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -305,7 +305,7 @@ class npc_stinky_icc : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index af9bc3f43a3..ea2f73e788f 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -410,7 +410,7 @@ class boss_lady_deathwhisper : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING) && !(events.GetPhaseMask() & PHASE_INTRO_MASK))
+ if (me->HasUnitState(UNIT_STATE_CASTING) && !(events.GetPhaseMask() & PHASE_INTRO_MASK))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -665,7 +665,7 @@ class npc_cult_fanatic : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -743,7 +743,7 @@ class npc_cult_adherent : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -888,7 +888,7 @@ class npc_darnavan : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (_canShatter && me->getVictim() && me->getVictim()->IsImmunedToDamage(SPELL_SCHOOL_MASK_NORMAL))
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index ac246abdc7c..1672d8b2d87 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -154,7 +154,7 @@ class boss_lord_marrowgar : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index cf22338995b..28964a28d78 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -196,7 +196,7 @@ class boss_professor_putricide : public CreatureScript
me->GetMotionMaster()->MovementExpired();
if (instance->GetBossState(DATA_ROTFACE) == DONE && instance->GetBossState(DATA_FESTERGUT) == DONE)
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
}
void EnterCombat(Unit* who)
@@ -519,7 +519,7 @@ class boss_professor_putricide : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -796,7 +796,7 @@ class spell_putricide_ooze_channel : public SpellScriptLoader
void StartAttack()
{
- GetCaster()->ClearUnitState(UNIT_STAT_CASTING);
+ GetCaster()->ClearUnitState(UNIT_STATE_CASTING);
GetCaster()->ToCreature()->AI()->AttackStart(GetHitUnit());
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index a4cd96aa9f6..9649b6c8ef8 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -169,7 +169,7 @@ class boss_rotface : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -384,7 +384,7 @@ class npc_precious_icc : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 3d3eaa1cc87..fb04d9ce7a4 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -379,7 +379,7 @@ class boss_sindragosa : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -663,7 +663,7 @@ class npc_spinestalker : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -749,7 +749,7 @@ class npc_rimefang : public CreatureScript
me->setActive(true);
me->SetSpeed(MOVE_FLIGHT, 2.0f);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
float moveTime = me->GetExactDist(&RimefangFlyPos) / (me->GetSpeed(MOVE_FLIGHT) * 0.001f);
me->m_Events.AddEvent(new FrostwyrmLandEvent(*me, RimefangLandPos), me->m_Events.CalculateTime(uint64(moveTime) + 250));
me->SetDefaultMovementType(IDLE_MOTION_TYPE);
@@ -768,7 +768,7 @@ class npc_rimefang : public CreatureScript
me->SetFlying(false);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
me->SetHomePosition(RimefangLandPos);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void EnterCombat(Unit* /*victim*/)
@@ -783,7 +783,7 @@ class npc_rimefang : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -911,7 +911,7 @@ class npc_sindragosa_trash : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
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 5029dbcceee..2acd014e063 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -701,7 +701,7 @@ class boss_the_lich_king : public CreatureScript
summon->CastSpell(summon, SPELL_ICE_SPHERE, false);
summon->CastSpell(summon, SPELL_ICE_BURST_TARGET_SEARCH, false);
summon->CastSpell(target, SPELL_ICE_PULSE, false);
- summon->ClearUnitState(UNIT_STAT_CASTING);
+ summon->ClearUnitState(UNIT_STATE_CASTING);
summon->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f);
}
else
@@ -861,7 +861,7 @@ class boss_the_lich_king : public CreatureScript
events.Update(diff);
// during Remorseless Winter phases The Lich King is channeling a spell, but we must continue casting other spells
- if (me->HasUnitState(UNIT_STAT_CASTING) && !(events.GetPhaseMask() & PHASE_MASK_NO_CAST_CHECK))
+ if (me->HasUnitState(UNIT_STATE_CASTING) && !(events.GetPhaseMask() & PHASE_MASK_NO_CAST_CHECK))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -883,7 +883,7 @@ class boss_the_lich_king : public CreatureScript
case EVENT_INTRO_TALK_1:
Talk(SAY_LK_INTRO_2);
// for some reason blizz sends 2 emotes in row here so (we handle one in Talk)
- me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
events.ScheduleEvent(EVENT_EMOTE_CAST_SHOUT, 7000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_EMOTE_1, 13000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_EMOTE_CAST_SHOUT, 18000, 0, PHASE_INTRO);
@@ -893,7 +893,7 @@ class boss_the_lich_king : public CreatureScript
DoCast(me, SPELL_EMOTE_SHOUT_NO_SHEATH, false);
break;
case EVENT_INTRO_EMOTE_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
break;
case EVENT_INTRO_CAST_FREEZE:
Talk(SAY_LK_INTRO_3);
@@ -902,7 +902,7 @@ class boss_the_lich_king : public CreatureScript
break;
case EVENT_FINISH_INTRO:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
events.SetPhase(PHASE_ONE);
break;
@@ -966,14 +966,14 @@ class boss_the_lich_king : public CreatureScript
break;
case EVENT_QUAKE:
events.SetPhase(PHASE_TWO);
- me->ClearUnitState(UNIT_STAT_CASTING); // clear state to ensure check in DoCastAOE passes
+ me->ClearUnitState(UNIT_STATE_CASTING); // clear state to ensure check in DoCastAOE passes
DoCastAOE(SPELL_QUAKE);
SendMusicToPlayers(MUSIC_SPECIAL);
Talk(SAY_LK_QUAKE);
break;
case EVENT_QUAKE_2:
events.SetPhase(PHASE_THREE);
- me->ClearUnitState(UNIT_STAT_CASTING); // clear state to ensure check in DoCastAOE passes
+ me->ClearUnitState(UNIT_STATE_CASTING); // clear state to ensure check in DoCastAOE passes
DoCastAOE(SPELL_QUAKE);
SendMusicToPlayers(MUSIC_SPECIAL);
Talk(SAY_LK_QUAKE);
@@ -1043,7 +1043,7 @@ class boss_the_lich_king : public CreatureScript
DoCastAOE(SPELL_EMOTE_QUESTION_NO_SHEATH);
break;
case EVENT_OUTRO_EMOTE_TALK:
- me->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NOSHEATHE);
+ 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)))
@@ -1059,7 +1059,7 @@ class boss_the_lich_king : public CreatureScript
break;
case EVENT_OUTRO_RAISE_DEAD:
DoCastAOE(SPELL_RAISE_DEAD);
- me->ClearUnitState(UNIT_STAT_CASTING);
+ me->ClearUnitState(UNIT_STATE_CASTING);
SendMusicToPlayers(MUSIC_FINAL);
break;
case EVENT_OUTRO_TALK_5:
@@ -1071,7 +1071,7 @@ class boss_the_lich_king : public CreatureScript
Talk(SAY_LK_OUTRO_6);
if (Creature* tirion = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->SetFacingToObject(me);
- me->ClearUnitState(UNIT_STAT_CASTING);
+ me->ClearUnitState(UNIT_STATE_CASTING);
DoCastAOE(SPELL_SUMMON_BROKEN_FROSTMOURNE_3);
SetEquipmentSlots(false, EQUIP_UNEQUIP);
break;
@@ -1255,7 +1255,7 @@ class npc_tirion_fordring_tft : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -1268,7 +1268,7 @@ class npc_tirion_fordring_tft : public CreatureScript
_events.ScheduleEvent(EVENT_INTRO_CHARGE, 5000, 0, PHASE_INTRO);
break;
case EVENT_INTRO_EMOTE_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
break;
case EVENT_INTRO_CHARGE:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
@@ -1349,7 +1349,7 @@ class npc_shambling_horror_icc : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -1429,7 +1429,7 @@ class npc_raging_spirit : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -1498,7 +1498,7 @@ class npc_valkyr_shadowguard : public CreatureScript
_events.Reset();
DoCastAOE(SPELL_EJECT_ALL_PASSENGERS);
me->GetMotionMaster()->MoveTargetedHome();
- me->ClearUnitState(UNIT_STAT_EVADE);
+ me->ClearUnitState(UNIT_STATE_EVADE);
}
}
@@ -1564,7 +1564,7 @@ class npc_valkyr_shadowguard : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -1825,7 +1825,7 @@ class npc_terenas_menethil : public CreatureScript
if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_THE_LICH_KING)))
{
lichKing->AI()->DoAction(ACTION_FINISH_OUTRO);
- lichKing->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PASSIVE);
+ lichKing->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC);
if (Creature* tirion = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_HIGHLORD_TIRION_FORDRING)))
tirion->AI()->AttackStart(lichKing);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 96072ad0e83..e0993178890 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -426,7 +426,7 @@ class boss_valithria_dreamwalker : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -626,7 +626,7 @@ class npc_the_lich_king_controller : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -741,7 +741,7 @@ class npc_risen_archmage : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -807,7 +807,7 @@ class npc_blazing_skeleton : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -873,7 +873,7 @@ class npc_suppresser : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
// this code will never be reached while channeling
@@ -967,7 +967,7 @@ class npc_gluttonous_abomination : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 6bd8f3cba7d..00a6a02f2da 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -477,7 +477,7 @@ class npc_highlord_tirion_fordring_lh : public CreatureScript
Talk(SAY_TIRION_INTRO_3);
break;
case EVENT_LK_INTRO_1:
- me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NOSHEATHE);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _theLichKing))
theLichKing->AI()->Talk(SAY_LK_INTRO_1);
break;
@@ -611,7 +611,7 @@ class npc_rotting_frost_giant : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -809,7 +809,7 @@ class boss_sister_svalna : public CreatureScript
case ACTION_START_GAUNTLET:
me->setActive(true);
_isEventInProgress = true;
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
events.ScheduleEvent(EVENT_SVALNA_START, 25000);
break;
case ACTION_RESURRECT_CAPTAINS:
@@ -843,7 +843,7 @@ class boss_sister_svalna : public CreatureScript
_isEventInProgress = false;
me->setActive(false);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_PASSIVE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
me->SetFlying(false);
}
@@ -874,7 +874,7 @@ class boss_sister_svalna : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -1130,7 +1130,7 @@ class npc_crok_scourgebane : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
@@ -1353,7 +1353,7 @@ class npc_captain_arnath : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -1434,7 +1434,7 @@ class npc_captain_brandon : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -1502,7 +1502,7 @@ class npc_captain_grondel : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -1567,7 +1567,7 @@ class npc_captain_rupert : public CreatureScript
Events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = Events.ExecuteEvent())
@@ -1680,7 +1680,7 @@ class spell_icc_stoneform : public SpellScriptLoader
if (Creature* target = GetTarget()->ToCreature())
{
target->SetReactState(REACT_PASSIVE);
- target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC);
target->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_CUSTOM_SPELL_02);
}
}
@@ -1690,7 +1690,7 @@ class spell_icc_stoneform : public SpellScriptLoader
if (Creature* target = GetTarget()->ToCreature())
{
target->SetReactState(REACT_AGGRESSIVE);
- target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC);
target->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
}
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
index 95f07ac212a..058c5b35e3a 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp
@@ -137,7 +137,7 @@ class boss_faerlina : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index 2964cb5a699..47151ef6d80 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -342,7 +342,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 4c0efc4ac98..8c6afba18fd 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -354,7 +354,7 @@ class boss_gothik : public CreatureScript
}
if (spellId && me->isInCombat())
{
- me->HandleEmoteCommand(EMOTE_ONESHOT_SPELLCAST);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_SPELL_CAST);
if (Creature* pRandomDeadTrigger = Unit::GetCreature(*me, DeadTriggerGUID[rand() % POS_DEAD]))
me->CastSpell(pRandomDeadTrigger, spellId, true);
}
@@ -400,7 +400,7 @@ class boss_gothik : public CreatureScript
instance->SetData(DATA_GOTHIK_GATE, GO_STATE_ACTIVE);
}
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index f70f36e77a3..161c9160293 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -486,7 +486,7 @@ public:
else uiGuardiansOfIcecrownTimer -= diff;
}
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (uint32 eventId = events.GetEvent())
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
index be9168c6fd4..7977fa4df8a 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
@@ -132,12 +132,12 @@ public:
if (!checkFeugenAlive && !checkStalaggAlive)
{
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
me->SetReactState(REACT_AGGRESSIVE);
}
else
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
me->SetReactState(REACT_PASSIVE);
}
}
@@ -179,13 +179,13 @@ public:
if (!checkFeugenAlive && !checkStalaggAlive)
{
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
// REACT_AGGRESSIVE only reset when he takes damage.
DoZoneInCombat();
}
else
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED);
me->SetReactState(REACT_PASSIVE);
}
}
@@ -248,7 +248,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 052fa3ba4a5..6dfa62df2d1 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -523,7 +523,7 @@ public:
return;
// We can't cast if we are casting already.
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
index 6a57444893f..44c6c25fa3e 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
@@ -144,14 +144,14 @@ public:
{
if (remove)
{
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (me->HasAura(SPELL_FROZEN_PRISON))
me->RemoveAurasDueToSpell(SPELL_FROZEN_PRISON);
}
else
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
DoCast(me, SPELL_FROZEN_PRISON, false);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
index fe00f5b97d8..bb75b789fff 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
@@ -95,7 +95,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
index b86e04f55bb..ab814a2ca22 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
@@ -200,7 +200,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index 28b606c19e1..8852338c362 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -101,7 +101,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -256,10 +256,10 @@ class spell_varos_centrifuge_shield : public SpellScriptLoader
{
// flags taken from sniffs
// UNIT_FLAG_UNK_9 -> means passive but it is not yet implemented in core
- if (caster->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_PASSIVE|UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_UNK_6))
+ if (caster->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_IMMUNE_TO_NPC|UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_UNK_6))
{
caster->ToCreature()->SetReactState(REACT_PASSIVE);
- caster->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_PASSIVE|UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_UNK_6);
+ caster->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_IMMUNE_TO_NPC|UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_UNK_6);
}
}
}
@@ -269,7 +269,7 @@ class spell_varos_centrifuge_shield : public SpellScriptLoader
if (Unit* caster = GetCaster())
{
caster->ToCreature()->SetReactState(REACT_AGGRESSIVE);
- caster->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_PASSIVE|UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_UNK_6);
+ caster->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15|UNIT_FLAG_IMMUNE_TO_NPC|UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_UNK_6);
}
}
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 2c7532fcf70..eadc524348b 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
@@ -283,7 +283,7 @@ class boss_steelbreaker : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -404,7 +404,7 @@ class boss_runemaster_molgeim : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -649,7 +649,7 @@ class boss_stormcaller_brundir : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
index 10ff3db96c7..1c478cd83e9 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_auriaya.cpp
@@ -217,7 +217,7 @@ class boss_auriaya : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -348,7 +348,7 @@ class npc_sanctum_sentry : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -418,7 +418,7 @@ class npc_feral_defender : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 d96790c3e37..47f74b1ddba 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -384,7 +384,7 @@ class boss_flame_leviathan : public CreatureScript
return;
}
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -425,7 +425,7 @@ class boss_flame_leviathan : public CreatureScript
break;
case EVENT_REPAIR:
me->MonsterTextEmote(EMOTE_REPAIR, 0, true);
- me->ClearUnitState(UNIT_STAT_STUNNED | UNIT_STAT_ROOT);
+ me->ClearUnitState(UNIT_STATE_STUNNED | UNIT_STATE_ROOT);
events.ScheduleEvent(EVENT_SHUTDOWN, 150*IN_MILLISECONDS);
events.CancelEvent(EVENT_REPAIR);
break;
@@ -1576,7 +1576,7 @@ class spell_systems_shutdown : public SpellScriptLoader
return;
//! This could probably in the SPELL_EFFECT_SEND_EVENT handler too:
- owner->AddUnitState(UNIT_STAT_STUNNED | UNIT_STAT_ROOT);
+ owner->AddUnitState(UNIT_STATE_STUNNED | UNIT_STATE_ROOT);
owner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
owner->RemoveAurasDueToSpell(SPELL_GATHERING_SPEED);
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index f62c2d6c596..12d953a07b4 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -401,7 +401,7 @@ class boss_freya : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -739,7 +739,7 @@ class boss_elder_brightleaf : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -872,7 +872,7 @@ class boss_elder_stonebark : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -985,7 +985,7 @@ class boss_elder_ironbranch : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -1372,7 +1372,7 @@ class npc_healthy_spore : public CreatureScript
{
npc_healthy_sporeAI(Creature* creature) : Scripted_NoMovementAI(creature)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_PASSIVE);
DoCast(me, SPELL_HEALTHY_SPORE_VISUAL);
DoCast(me, SPELL_POTENT_PHEROMONES);
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 0013a970380..c7918f85245 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
@@ -138,7 +138,7 @@ class boss_general_vezax : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -336,7 +336,7 @@ class boss_saronite_animus : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
index 918a401143a..33f50d0b3de 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_hodir.cpp
@@ -370,7 +370,7 @@ class boss_hodir : public CreatureScript
me->StopMoving();
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
- me->SetControlled(true, UNIT_STAT_STUNNED);
+ me->SetControlled(true, UNIT_STATE_STUNNED);
me->CombatStop(true);
me->setFaction(35);
@@ -387,7 +387,7 @@ class boss_hodir : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -612,12 +612,12 @@ class npc_hodir_priest : public CreatureScript
void UpdateAI(uint32 const diff)
{
- if (!UpdateVictim() || me->HasUnitState(UNIT_STAT_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
+ if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (HealthBelowPct(30))
@@ -688,12 +688,12 @@ class npc_hodir_shaman : public CreatureScript
void UpdateAI(uint32 const diff)
{
- if (!UpdateVictim() || me->HasUnitState(UNIT_STAT_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
+ if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -750,12 +750,12 @@ class npc_hodir_druid : public CreatureScript
void UpdateAI(uint32 const diff)
{
- if (!UpdateVictim() || me->HasUnitState(UNIT_STAT_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
+ if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -825,12 +825,12 @@ class npc_hodir_mage : public CreatureScript
void UpdateAI(uint32 const diff)
{
- if (!UpdateVictim() || me->HasUnitState(UNIT_STAT_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
+ if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_STUNNED) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED))
return;
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
index e72cf395a0d..d8a3ef0b8df 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_ignis.cpp
@@ -202,7 +202,7 @@ class boss_ignis : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index 1fd8430abd8..a156e6ef08b 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -224,7 +224,7 @@ class boss_kologarn : public CreatureScript
summon->CastSpell(summon, SPELL_FOCUSED_EYEBEAM_VISUAL, true);
summon->SetReactState(REACT_PASSIVE);
// One of the above spells is a channeled spell, we need to clear this unit state for MoveChase to work
- summon->ClearUnitState(UNIT_STAT_CASTING);
+ summon->ClearUnitState(UNIT_STATE_CASTING);
// Victim gets 67351
if (eyebeamTarget)
@@ -244,7 +244,7 @@ class boss_kologarn : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 6b170bab6d8..45f9a1fa012 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -668,7 +668,7 @@ class npc_expedition_commander : public CreatureScript
break;
case 4:
for (uint8 n = 0; n < RAID_MODE(2, 4); n++)
- Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ Engineer[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
for (uint8 n = 0; n < 4; ++n)
Defender[n]->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
me->MonsterYell(SAY_AGGRO_2, LANG_UNIVERSAL, 0);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
index 8f09ab26a0a..724eb45d586 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp
@@ -263,7 +263,7 @@ class boss_xt002 : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
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 0c59097a9ec..a11f88fc6af 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
@@ -117,7 +117,7 @@ public:
bIsUndead = false;
bEventInProgress = false;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
events.Reset();
@@ -229,7 +229,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
index 94a133c78a6..8a6d7f80818 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
@@ -252,7 +252,7 @@ public:
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
index 0a778f852a0..656b2931abb 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
@@ -268,7 +268,7 @@ public:
void JustReachedHome()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NOT_ATTACKABLE_1|UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_NOT_ATTACKABLE_1|UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_FREEZE);
}
@@ -381,7 +381,7 @@ public:
void JustReachedHome()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_FREEZE);
}
@@ -496,7 +496,7 @@ public:
void JustReachedHome()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_FREEZE);
}
@@ -611,7 +611,7 @@ public:
void JustReachedHome()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_FREEZE);
}
@@ -732,7 +732,7 @@ public:
void JustReachedHome()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoCast(me, SPELL_FREEZE);
}
@@ -793,7 +793,7 @@ public:
if (pNext)
{
pNext->RemoveAurasDueToSpell(SPELL_FREEZE);
- pNext->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ pNext->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_IMMUNE_TO_PC);
pNext->SetStandState(UNIT_STAND_STATE_STAND);
pNext->SetInCombatWithZone();
pNext->Attack(pNext->SelectNearestTarget(100), true);
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 5c1ec15030c..989e1e57453 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -535,7 +535,7 @@ public:
void UpdateAI(const uint32 diff)
{
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (paralyzeTimer <= diff)
@@ -663,7 +663,7 @@ class npc_scourge_hulk : public CreatureScript
if (mightyBlow <= diff)
{
if (Unit* victim = me->getVictim())
- if (!victim->HasUnitState(UNIT_STAT_STUNNED)) // Prevent knocking back a ritual player
+ if (!victim->HasUnitState(UNIT_STATE_STUNNED)) // Prevent knocking back a ritual player
DoCast(victim, SPELL_MIGHTY_BLOW);
mightyBlow = urand(12000, 17000);
}
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
index 1cc681b0133..bffc6af2a3a 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_archavon.cpp
@@ -81,7 +81,7 @@ class boss_archavon : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -161,7 +161,7 @@ class mob_archavon_warder : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
index 973e7a2844c..2f4079d4e3c 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_emalon.cpp
@@ -120,7 +120,7 @@ class boss_emalon : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -221,7 +221,7 @@ class mob_tempest_minion : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (Aura const* overchargedAura = me->GetAura(SPELL_OVERCHARGED))
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
index a545a6ae14c..dd9db1c0a99 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_koralon.cpp
@@ -79,7 +79,7 @@ class boss_koralon : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
index 4b92b54b0d3..162f59fa5b7 100644
--- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
+++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp
@@ -80,7 +80,7 @@ class boss_toravon : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
@@ -148,7 +148,7 @@ class mob_frost_warder : public CreatureScript
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (events.ExecuteEvent() == EVENT_FROST_BLAST)
diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
index 148ae2b6c4b..63f0cd39893 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp
@@ -97,7 +97,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
@@ -109,13 +109,13 @@ public:
if (Creature* pGuard1 = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_EREKEM_GUARD_1) : 0))
{
- pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ 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 = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_EREKEM_GUARD_2) : 0))
{
- pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
if (!pGuard2->getVictim() && pGuard2->AI())
pGuard2->AI()->AttackStart(who);
}
@@ -290,7 +290,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
index 5b36481eca8..a191d9349f2 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp
@@ -140,7 +140,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
index 21e4df37d8e..c5b2cb3c327 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_lavanthor.cpp
@@ -87,7 +87,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
index 08bc24329ca..84b04579681 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_moragg.cpp
@@ -80,7 +80,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
index 095d63f2dff..ac165ac39ef 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_xevozz.cpp
@@ -123,7 +123,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
index dc477855ff8..ff2009c2a17 100644
--- a/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
+++ b/src/server/scripts/Northrend/VioletHold/boss_zuramat.cpp
@@ -91,7 +91,7 @@ public:
void AttackStart(Unit* who)
{
- if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
+ if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC) || me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
if (me->Attack(who, true))
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index 3db63e5057b..5980c534595 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -249,7 +249,7 @@ public:
if (uiCountErekemGuards < 2)
{
uiErekemGuard[uiCountErekemGuards++] = creature->GetGUID();
- creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
}
break;
case CREATURE_MORAGG:
@@ -257,7 +257,7 @@ public:
break;
case CREATURE_CYANIGOSA:
uiCyanigosa = creature->GetGUID();
- creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
break;
case CREATURE_SINCLARI:
uiSinclari = creature->GetGUID();
@@ -499,18 +499,18 @@ public:
if (Creature* pGuard1 = instance->GetCreature(uiErekemGuard[0]))
{
if (bForceRespawn)
- pGuard1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pGuard1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
else
- pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pGuard1->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
pGuard1->GetMotionMaster()->MovePoint(0, BossStartMove21);
}
if (Creature* pGuard2 = instance->GetCreature(uiErekemGuard[1]))
{
if (bForceRespawn)
- pGuard2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pGuard2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
else
- pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pGuard2->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
pGuard2->GetMotionMaster()->MovePoint(0, BossStartMove22);
}
break;
@@ -543,7 +543,7 @@ public:
// generic boss state changes
if (pBoss)
{
- pBoss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pBoss->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
pBoss->SetReactState(REACT_AGGRESSIVE);
if (!bForceRespawn)
@@ -554,7 +554,7 @@ public:
pBoss->Respawn();
pBoss->RemoveLootMode(1);
}
- pBoss->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pBoss->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
uiWaveCount = 0;
}
}
@@ -750,7 +750,7 @@ public:
case 3:
pCyanigosa->RemoveAurasDueToSpell(CYANIGOSA_BLUE_AURA);
pCyanigosa->CastSpell(pCyanigosa, CYANIGOSA_SPELL_TRANSFORM, 0);
- pCyanigosa->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ pCyanigosa->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
pCyanigosa->SetReactState(REACT_AGGRESSIVE);
uiCyanigosaEventTimer = 2*IN_MILLISECONDS;
++uiCyanigosaEventPhase;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 617ce9655a7..8b77cb250da 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -443,7 +443,7 @@ public:
if (instance && !uiBoss)
uiBoss = instance->GetData(DATA_WAVE_COUNT) == 6 ? instance->GetData(DATA_FIRST_BOSS) : instance->GetData(DATA_SECOND_BOSS);
me->SetReactState(REACT_PASSIVE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE|UNIT_FLAG_NON_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
diff --git a/src/server/scripts/Northrend/borean_tundra.cpp b/src/server/scripts/Northrend/borean_tundra.cpp
index b6e01d3188e..11fb0933b9b 100644
--- a/src/server/scripts/Northrend/borean_tundra.cpp
+++ b/src/server/scripts/Northrend/borean_tundra.cpp
@@ -1328,7 +1328,7 @@ public:
if (uiType != POINT_MOTION_TYPE)
return;
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
me->CastSpell(me, SPELL_STUN, true);
if (me->isSummon())
if (Unit* summoner = me->ToTempSummon()->GetSummoner())
@@ -1445,7 +1445,7 @@ public:
DoScriptText(SAY_LERYSSA_1, pLeryssa);
pArlos->Kill(pArlos, false);
pLeryssa->RemoveAura(SPELL_STUN);
- pLeryssa->ClearUnitState(UNIT_STAT_STUNNED);
+ pLeryssa->ClearUnitState(UNIT_STATE_STUNNED);
pLeryssa->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
pLeryssa->GetMotionMaster()->MovePoint(0, 3722.114502f, 3564.201660f, 477.441437f);
@@ -1495,7 +1495,7 @@ public:
if (Creature* pTalbot = me->FindNearestCreature(NPC_PRINCE_VALANAR, 50.0f, true))
CAST_AI(npc_counselor_talbot::npc_counselor_talbotAI, pTalbot->GetAI())->bCheck = true;
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->AddUnitState(UNIT_STATE_STUNNED);
me->CastSpell(me, SPELL_STUN, true);
if (me->isSummon())
diff --git a/src/server/scripts/Northrend/grizzly_hills.cpp b/src/server/scripts/Northrend/grizzly_hills.cpp
index 9eb73463795..ccb31c869a4 100644
--- a/src/server/scripts/Northrend/grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/grizzly_hills.cpp
@@ -370,7 +370,7 @@ public:
if (me->FindNearestGameObject(OBJECT_HAUNCH, 2.0f))
{
me->SetStandState(UNIT_STAND_STATE_DEAD);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
}
m_uiPhase = 0;
@@ -415,7 +415,7 @@ public:
// call this each update tick?
if (me->FindNearestCreature(TALLHORN_STAG, 0.2f))
{
- me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
+ me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
}
else
if (m_uiPhase)
@@ -624,7 +624,7 @@ public:
uiPlayerGUID = 0;
uiTimer = 0;
uiChopTimer = urand(10000, 12500);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
}
@@ -683,7 +683,7 @@ public:
{
if (pCaster && pCaster->GetTypeId() == TYPEID_PLAYER && pSpell->Id == SPELL_SMOKE_BOMB)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_PASSIVE);
me->CombatStop(false);
uiPlayerGUID = pCaster->GetGUID();
diff --git a/src/server/scripts/Northrend/zuldrak.cpp b/src/server/scripts/Northrend/zuldrak.cpp
index 2b73d57365a..0af82345dce 100644
--- a/src/server/scripts/Northrend/zuldrak.cpp
+++ b/src/server/scripts/Northrend/zuldrak.cpp
@@ -586,7 +586,7 @@ public:
{
npc_orinoko_tuskbreakerAI(Creature* creature) : ScriptedAI(creature)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_PASSIVE);
}
@@ -622,7 +622,7 @@ public:
if (uiType != POINT_MOTION_TYPE)
return;
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
uiBattleShoutTimer = 7000;
@@ -734,7 +734,7 @@ public:
void Reset()
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_PASSIVE);
uiChargeTimer = 15000;
uiUppercutTimer = 12000;
@@ -747,7 +747,7 @@ public:
{
case 6:
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
break;
}
@@ -914,7 +914,7 @@ public:
{
npc_stinkbeardAI(Creature* creature) : npc_escortAI(creature)
{
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_PASSIVE);
Start(true, true, 0, NULL);
SetDespawnAtEnd(false);
@@ -940,7 +940,7 @@ public:
switch (uiI)
{
case 7:
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
break;
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 a8d1f22bd00..d359917ab28 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
@@ -82,7 +82,7 @@ public:
summoned->CastSpell(summoned, SPELL_FOCUS_FIRE_VISUAL, false);
summoned->setFaction(me->getFaction());
summoned->SetLevel(me->getLevel());
- summoned->AddUnitState(UNIT_STAT_ROOT);
+ summoned->AddUnitState(UNIT_STATE_ROOT);
if (Unit* pFocusedTarget = Unit::GetUnit(*me, FocusedTargetGUID))
summoned->AI()->AttackStart(pFocusedTarget);
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index c17b6d5baf3..58f0e10c950 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -1865,7 +1865,7 @@ void boss_illidan_stormrage::boss_illidan_stormrageAI::Reset()
TransformCount = 0;
me->SetDisplayId(21135);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
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 3c06efefb08..0ed9d8e7833 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -136,7 +136,7 @@ public:
DoCast(me, SPELL_SUBMERGE);//submerge anim
me->SetVisible(false);//we start invis under water, submerged
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void JustDied(Unit* /*Killer*/)
@@ -205,7 +205,7 @@ public:
{
WaitTimer = 3000;
CanStartEvent = true;//fresh fished from pool
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
else
@@ -325,7 +325,7 @@ public:
Submerged = false;
me->InterruptNonMeleeSpells(false);//shouldn't be any
me->RemoveAllAuras();
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveFlag(UNIT_NPC_EMOTESTATE, EMOTE_STATE_SUBMERGED);
DoCast(me, SPELL_EMERGE, true);
Spawned = false;
@@ -344,7 +344,7 @@ public:
if (!Spawned)
{
- me->SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
//spawn adds
for (uint8 i = 0; i < 9; ++i)
{
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 71e773042b7..ecea5e6abb4 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
@@ -337,7 +337,7 @@ class boss_vazruden_the_herald : public CreatureScript
VazrudenGUID = 0;
}
summoned = false;
- me->ClearUnitState(UNIT_STAT_ROOT);
+ me->ClearUnitState(UNIT_STATE_ROOT);
me->SetVisible(true);
}
}
@@ -352,7 +352,7 @@ class boss_vazruden_the_herald : public CreatureScript
NazanGUID = Nazan->GetGUID();
summoned = true;
me->SetVisible(false);
- me->AddUnitState(UNIT_STAT_ROOT);
+ me->AddUnitState(UNIT_STATE_ROOT);
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index 1679efb5525..c355079e0e8 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -252,8 +252,8 @@ class boss_magtheridon : public CreatureScript
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
- me->AddUnitState(UNIT_STAT_STUNNED);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
+ me->AddUnitState(UNIT_STATE_STUNNED);
DoCast(me, SPELL_SHADOW_CAGE_C, true);
}
@@ -334,7 +334,7 @@ class boss_magtheridon : public CreatureScript
void AttackStart(Unit* who)
{
- if (!me->HasUnitState(UNIT_STAT_STUNNED))
+ if (!me->HasUnitState(UNIT_STATE_STUNNED))
ScriptedAI::AttackStart(who);
}
@@ -388,7 +388,7 @@ class boss_magtheridon : public CreatureScript
if (BlastNova_Timer <= diff)
{
// to avoid earthquake interruption
- if (!me->HasUnitState(UNIT_STAT_STUNNED))
+ if (!me->HasUnitState(UNIT_STATE_STUNNED))
{
DoScriptText(EMOTE_BLASTNOVA, me);
DoCast(me, SPELL_BLASTNOVA);
@@ -431,7 +431,7 @@ class boss_magtheridon : public CreatureScript
if (!Phase3 && HealthBelowPct(30)
&& !me->IsNonMeleeSpellCasted(false) // blast nova
- && !me->HasUnitState(UNIT_STAT_STUNNED)) // shadow cage and earthquake
+ && !me->HasUnitState(UNIT_STATE_STUNNED)) // shadow cage and earthquake
{
Phase3 = true;
DoScriptText(SAY_CHAMBER_DESTROY, me);
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 9d52a0a3e87..caaedc4c51b 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
@@ -223,7 +223,7 @@ class instance_magtheridons_lair : public InstanceMapScript
Creature* Magtheridon = instance->GetCreature(MagtheridonGUID);
if (Magtheridon && Magtheridon->isAlive())
{
- Magtheridon->ClearUnitState(UNIT_STAT_STUNNED);
+ Magtheridon->ClearUnitState(UNIT_STATE_STUNNED);
Magtheridon->AI()->AttackStart(Magtheridon->SelectNearestTarget(999));
}
CageTimer = 0;
diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
index a45576f8884..904b2851816 100644
--- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
+++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
@@ -397,7 +397,7 @@ class boss_kaelthas : public CreatureScript
void MoveInLineOfSight(Unit* who)
{
- if (!me->HasUnitState(UNIT_STAT_STUNNED) && me->canCreatureAttack(who))
+ if (!me->HasUnitState(UNIT_STATE_STUNNED) && me->canCreatureAttack(who))
{
if (!me->canFly() && me->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE)
return;
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index 327ca289553..de86ec8672c 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -89,7 +89,7 @@ class boss_harbinger_skyriss : public CreatureScript
void Reset()
{
if (!Intro)
- me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
IsImage33 = false;
IsImage66 = false;
@@ -184,7 +184,7 @@ class boss_harbinger_skyriss : public CreatureScript
Intro_Timer = 3000;
break;
case 3:
- me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
Intro = true;
break;
}
diff --git a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
index 4a83181159c..2f6e0823da1 100644
--- a/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
+++ b/src/server/scripts/Outland/boss_doomlord_kazzak.cpp
@@ -110,7 +110,7 @@ class boss_doomlord_kazzak : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Outland/boss_doomwalker.cpp b/src/server/scripts/Outland/boss_doomwalker.cpp
index 883601632b8..c4bd232cc85 100644
--- a/src/server/scripts/Outland/boss_doomwalker.cpp
+++ b/src/server/scripts/Outland/boss_doomwalker.cpp
@@ -103,7 +103,7 @@ class boss_doomwalker : public CreatureScript
_events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = _events.ExecuteEvent())
diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp
index c27ad8e7948..668db2efcbb 100644
--- a/src/server/scripts/Outland/nagrand.cpp
+++ b/src/server/scripts/Outland/nagrand.cpp
@@ -632,7 +632,7 @@ public:
if (!UpdateVictim())
return;
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (ChainLightningTimer <= diff)
diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp
index efebf7dfe94..79811069402 100644
--- a/src/server/scripts/Outland/netherstorm.cpp
+++ b/src/server/scripts/Outland/netherstorm.cpp
@@ -796,7 +796,7 @@ public:
Materialize = true;
}
- if (me->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || me->HasUnitState(UNIT_STAT_ROOT)) // if the mob is rooted/slowed by spells eg.: Entangling Roots, Frost Nova, Hamstring, Crippling Poison, etc. => remove it
+ if (me->HasAuraType(SPELL_AURA_MOD_DECREASE_SPEED) || me->HasUnitState(UNIT_STATE_ROOT)) // if the mob is rooted/slowed by spells eg.: Entangling Roots, Frost Nova, Hamstring, Crippling Poison, etc. => remove it
DoCast(me, SPELL_PHASE_SLIP);
if (!UpdateVictim())
diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp
index e4c4e020b0f..19c4754c4fd 100644
--- a/src/server/scripts/Outland/shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/shadowmoon_valley.cpp
@@ -117,7 +117,7 @@ public:
{
bIsEating = true;
EatTimer = 7000;
- me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACKUNARMED);
+ me->HandleEmoteCommand(EMOTE_ONESHOT_ATTACK_UNARMED);
}
}
@@ -1195,7 +1195,7 @@ public:
AggroTargetGUID = 0;
Timers = false;
- me->AddUnitState(UNIT_STAT_ROOT);
+ me->AddUnitState(UNIT_STATE_ROOT);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetTarget(0);
}
@@ -1239,7 +1239,7 @@ public:
if (Player* AggroTarget = (Unit::GetPlayer(*me, AggroTargetGUID)))
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->ClearUnitState(UNIT_STAT_ROOT);
+ me->ClearUnitState(UNIT_STATE_ROOT);
float x, y, z;
AggroTarget->GetPosition(x, y, z);
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index afba35ba2b5..9899e50cd28 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -2041,11 +2041,8 @@ class spell_gen_summon_tournament_mount : public SpellScriptLoader
SpellCastResult CheckIfLanceEquiped()
{
- if (GetCaster()->HasAuraType(SPELL_AURA_MOD_SHAPESHIFT))
- {
- SetCustomCastResultMessage(SPELL_CUSTOM_ERROR_CANT_MOUNT_WITH_SHAPESHIFT);
- return SPELL_FAILED_CUSTOM_ERROR;
- }
+ if (GetCaster()->IsInDisallowedMountForm())
+ GetCaster()->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT);
if (!GetCaster()->HasAura(SPELL_LANCE_EQUIPPED))
{
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index d266b42f50a..940e494f18f 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -223,13 +223,13 @@ public:
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
Unit* target = GetTarget();
- target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
- target->AddUnitState(UNIT_STAT_ROOT);
+ target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
+ target->AddUnitState(UNIT_STATE_ROOT);
}
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
- GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void Register()
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 9deecea01ba..9f652e7a859 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -144,7 +144,7 @@ struct emerald_dragonAI : public WorldBossAI
events.Update(diff);
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
while (uint32 eventId = events.ExecuteEvent())
diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp
index 521e38a7061..165ef9f18b1 100644
--- a/src/server/scripts/World/item_scripts.cpp
+++ b/src/server/scripts/World/item_scripts.cpp
@@ -242,7 +242,7 @@ public:
{
summon->SetVisible(false);
summon->SetReactState(REACT_PASSIVE);
- summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
return false;
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 9227c0c1138..04e9c05e02d 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -1738,6 +1738,12 @@ public:
if (!UpdateVictim())
return;
+ if (me->getVictim()->HasBreakableByDamageCrowdControlAura())
+ {
+ me->InterruptNonMeleeSpells(false);
+ return;
+ }
+
if (SpellTimer <= diff)
{
if (IsViper) //Viper
@@ -1910,7 +1916,7 @@ public:
Unit* owner = me->GetCharmerOrOwner();
me->CombatStop(true);
- if (owner && !me->HasUnitState(UNIT_STAT_FOLLOW))
+ if (owner && !me->HasUnitState(UNIT_STATE_FOLLOW))
{
me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, me->GetFollowAngle(), MOTION_SLOT_ACTIVE);
@@ -2069,7 +2075,7 @@ public:
void Reset()
{
- me->SetControlled(true, UNIT_STAT_STUNNED);//disable rotate
+ me->SetControlled(true, UNIT_STATE_STUNNED);//disable rotate
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);//imune to knock aways like blast wave
ResetTimer = 5000;
@@ -2101,8 +2107,8 @@ public:
if (!UpdateVictim())
return;
- if (!me->HasUnitState(UNIT_STAT_STUNNED))
- me->SetControlled(true, UNIT_STAT_STUNNED);//disable rotate
+ if (!me->HasUnitState(UNIT_STATE_STUNNED))
+ me->SetControlled(true, UNIT_STATE_STUNNED);//disable rotate
if (Entry != NPC_ADVANCED_TARGET_DUMMY && Entry != NPC_TARGET_DUMMY)
{
@@ -2203,7 +2209,7 @@ public:
if (!UpdateVictim())
return;
- if (me->HasUnitState(UNIT_STAT_CASTING))
+ if (me->HasUnitState(UNIT_STATE_CASTING))
return;
if (FireShield_Timer <= diff)