![]() |
TrinityCore
|
#include <PhasingHandler.h>
Classes | |
| class | ControlledUnitVisitor |
Static Public Member Functions | |
| static void | AddPhase (WorldObject *object, uint32 phaseId, bool updateVisibility) |
| static void | RemovePhase (WorldObject *object, uint32 phaseId, bool updateVisibility) |
| static void | AddPhaseGroup (WorldObject *object, uint32 phaseGroupId, bool updateVisibility) |
| static void | RemovePhaseGroup (WorldObject *object, uint32 phaseGroupId, bool updateVisibility) |
| static void | AddVisibleMapId (WorldObject *object, uint32 visibleMapId) |
| static void | RemoveVisibleMapId (WorldObject *object, uint32 visibleMapId) |
| static void | ResetPhaseShift (WorldObject *object) |
| static void | InheritPhaseShift (WorldObject *target, WorldObject const *source) |
| static void | OnMapChange (WorldObject *object) |
| static void | OnAreaChange (WorldObject *object) |
| static bool | OnConditionChange (WorldObject *object, bool updateVisibility=true) |
| static void | SendToPlayer (Player const *player, PhaseShift const &phaseShift) |
| static void | SendToPlayer (Player const *player) |
| static void | FillPartyMemberPhase (WorldPackets::Party::PartyMemberPhaseStates *partyMemberPhases, PhaseShift const &phaseShift) |
| static PhaseShift const & | GetEmptyPhaseShift () |
| static PhaseShift const & | GetAlwaysVisiblePhaseShift () |
| static void | InitDbPhaseShift (PhaseShift &phaseShift, uint8 phaseUseFlags, uint16 phaseId, uint32 phaseGroupId) |
| static void | InitDbPersonalOwnership (PhaseShift &phaseShift, ObjectGuid const &personalGuid) |
| static void | InitDbVisibleMapId (PhaseShift &phaseShift, int32 visibleMapId) |
| static bool | InDbPhaseShift (WorldObject const *object, uint8 phaseUseFlags, uint16 phaseId, uint32 phaseGroupId) |
| static uint32 | GetTerrainMapId (PhaseShift const &phaseShift, uint32 mapId, TerrainInfo const *terrain, float x, float y) |
| static void | SetAlwaysVisible (WorldObject *object, bool apply, bool updateVisibility) |
| static void | SetInversed (WorldObject *object, bool apply, bool updateVisibility) |
| static void | PrintToChat (ChatHandler *chat, WorldObject const *target) |
| static std::string | FormatPhases (PhaseShift const &phaseShift) |
| static bool | IsPersonalPhase (uint32 phaseId) |
Static Private Member Functions | |
| static void | AddPhase (WorldObject *object, uint32 phaseId, ObjectGuid const &personalGuid, bool updateVisibility, ControlledUnitVisitor &visitor) |
| static void | RemovePhase (WorldObject *object, uint32 phaseId, bool updateVisibility, ControlledUnitVisitor &visitor) |
| static void | AddPhaseGroup (WorldObject *object, std::vector< uint32 > const *phasesInGroup, ObjectGuid const &personalGuid, bool updateVisibility, ControlledUnitVisitor &visitor) |
| static void | RemovePhaseGroup (WorldObject *object, std::vector< uint32 > const *phasesInGroup, bool updateVisibility, ControlledUnitVisitor &visitor) |
| static void | AddVisibleMapId (WorldObject *object, uint32 visibleMapId, ControlledUnitVisitor &visitor) |
| static void | RemoveVisibleMapId (WorldObject *object, uint32 visibleMapId, ControlledUnitVisitor &visitor) |
| static void | UpdateVisibilityIfNeeded (WorldObject *object, bool updateVisibility, bool changed) |
Private Attributes | |
| friend | ControlledUnitVisitor |
Definition at line 39 of file PhasingHandler.h.
|
static |
Definition at line 98 of file PhasingHandler.cpp.
References AddPhase(), and BaseEntity::GetGUID().
Referenced by AddPhase(), AddPhase(), boss_twilight_halion::boss_twilight_halion(), scene_odyn_intro::Finish(), go_twilight_portal::go_twilight_portal(), gobject_commandscript::HandleGameObjectSetPhaseCommand(), modify_commandscript::HandleModifyPhaseCommand(), npc_commandscript::HandleNpcSetPhaseCommand(), AuraEffect::HandlePhase(), Map::LoadCorpseData(), npc_combustion_consumption::npc_combustion_consumption(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::OnCreatureCreate(), instance_oculus::instance_oculus_InstanceMapScript::OnCreatureCreate(), SmartScript::ProcessAction(), boss_volazj::Reset(), npc_captain_garrick_q55879::SpellHit(), and boss_volazj::SpellHitTarget().
|
staticprivate |
Definition at line 104 of file PhasingHandler.cpp.
References AddPhase(), WorldObject::GetPhaseShift(), PhaseShift::PersonalReferences, Object::ToUnit(), UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
staticprivate |
Definition at line 157 of file PhasingHandler.cpp.
References PhaseShift::AddPhase(), AddPhaseGroup(), WorldObject::GetPhaseShift(), PhaseShift::PersonalGuid, PhaseShift::PersonalReferences, Object::ToUnit(), UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
static |
Definition at line 147 of file PhasingHandler.cpp.
References AddPhaseGroup(), BaseEntity::GetGUID(), and sDB2Manager.
Referenced by AddPhaseGroup(), AddPhaseGroup(), npc_commandscript::HandleNpcSetPhaseGroup(), AuraEffect::HandlePhaseGroup(), and SmartScript::ProcessAction().
|
static |
Definition at line 208 of file PhasingHandler.cpp.
References AddVisibleMapId().
Referenced by AddVisibleMapId(), AddVisibleMapId(), and modify_commandscript::HandleModifyPhaseCommand().
|
staticprivate |
Definition at line 214 of file PhasingHandler.cpp.
References PhaseShift::AddUiMapPhaseId(), AddVisibleMapId(), WorldObject::GetPhaseShift(), sObjectMgr, Object::ToUnit(), TerrainSwapInfo::UiMapPhaseIDs, UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
static |
Definition at line 515 of file PhasingHandler.cpp.
References EnumFlag< T >::AsUnderlyingType(), PhaseShift::Flags, WorldPackets::Party::PartyMemberPhaseStates::List, PhaseShift::PersonalGuid, WorldPackets::Party::PartyMemberPhaseStates::PersonalGUID, PhaseShift::Phases, WorldPackets::Party::PartyMemberPhaseStates::PhaseShiftFlags, and Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::size().
Referenced by WorldPackets::Party::PartyMemberFullState::Initialize().
|
static |
Definition at line 677 of file PhasingHandler.cpp.
References PhaseShift::Phases.
Referenced by group_commandscript::HandleGroupListCommand().
|
static |
Definition at line 529 of file PhasingHandler.cpp.
References AlwaysVisible.
Referenced by UnitAura::FillTargetMap(), WorldObject::FindNearestCreatureWithOptions(), WorldObject::FindNearestGameObjectWithOptions(), WorldObject::GetCreatureListWithOptionsInGrid(), WorldObject::GetGameObjectListWithOptionsInGrid(), SmartScript::ProcessAction(), Spell::SearchAreaTargets(), Spell::SearchNearbyTarget(), and at_briarpatch_to_plains::StartConversation().
|
static |
Definition at line 524 of file PhasingHandler.cpp.
References Empty.
Referenced by Player::_LoadHomeBind(), tele_commandscript::DoNameTeleport(), OPvPCapturePointNA::GetAliveGuardsCount(), ObjectMgr::GetClosestGraveyard(), Player::GetZoneIdFromDB(), go_commandscript::HandleGoGridCommand(), go_commandscript::HandleGoQuestCommand(), go_commandscript::HandleGoXYZCommand(), go_commandscript::HandleGoZoneXYCommand(), and list_commandscript::HandleListRespawnsCommand().
|
static |
Definition at line 584 of file PhasingHandler.cpp.
References Trinity::ComputeGridCoord(), TerrainInfo::HasChildTerrainGridFile(), MAX_NUMBER_OF_GRIDS, PhaseShift::VisibleMapIds, CoordPair< LIMIT >::x_coord, and CoordPair< LIMIT >::y_coord.
Referenced by TerrainInfo::GetAreaId(), TerrainInfo::GetAreaInfo(), TerrainInfo::GetFullTerrainStatusForPosition(), TerrainInfo::GetGridHeight(), TerrainInfo::GetLiquidStatus(), TerrainInfo::GetMinHeight(), TerrainInfo::GetStaticHeight(), TerrainInfo::GetWaterLevel(), TerrainInfo::GetWaterOrGroundLevel(), mmaps_commandscript::HandleMmapLoadedTilesCommand(), mmaps_commandscript::HandleMmapLocCommand(), mmaps_commandscript::HandleMmapStatsCommand(), Map::isInLineOfSight(), WorldObject::MovePositionToFirstCollision(), PathGenerator::PathGenerator(), and Map::RequestRebuildNavMeshOnGameObjectModelChange().
|
static |
Definition at line 577 of file PhasingHandler.cpp.
References InitDbPhaseShift().
Referenced by Player::IsInAreaTrigger(), and CriteriaHandler::ModifierSatisfied().
|
static |
Definition at line 264 of file PhasingHandler.cpp.
References WorldObject::GetPhaseShift(), and WorldObject::GetSuppressedPhaseShift().
Referenced by Map::ConvertCorpseToBones(), AreaTrigger::Create(), Corpse::Create(), SceneObject::Create(), Conversation::Create(), DynamicObject::CreateDynamicObject(), Spell::EffectDuel(), Spell::EffectSummonObject(), Spell::EffectSummonObjectWild(), Spell::EffectSummonPersonalGameObject(), Spell::EffectTransmitted(), misc_commandscript::HandleAppearCommand(), debug_commandscript::HandleDebugSpawnVehicleCommand(), OutdoorPvPSI::HandleDropFlag(), gobject_commandscript::HandleGameObjectAddCommand(), npc_commandscript::HandleNpcAddCommand(), misc_commandscript::HandleSummonCommand(), Unit::InitTamedPet(), Pet::LoadPetFromDB(), OnAreaChange(), OnConditionChange(), npc_captain_garrick_q55879::SpellHit(), Map::SummonCreature(), WorldObject::SummonGameObject(), Transport::SummonPassenger(), and Player::SummonPet().
|
static |
Definition at line 563 of file PhasingHandler.cpp.
References ASSERT, PhaseShift::HasPersonalPhase(), PhaseShift::IsDbPhaseShift, and PhaseShift::PersonalGuid.
|
static |
Definition at line 534 of file PhasingHandler.cpp.
References PhaseShift::AddPhase(), AlwaysVisible, PhaseShift::ClearPhases(), DEFAULT_PHASE, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::empty(), flags, PhaseShift::Flags, PhaseShift::HasPhase(), Inverse, InverseUnphased, PhaseShift::IsDbPhaseShift, None, PHASE_USE_FLAGS_ALWAYS_VISIBLE, PHASE_USE_FLAGS_INVERSE, PhaseShift::Phases, sDB2Manager, and Unphased.
Referenced by AreaTrigger::Create(), Creature::Create(), Transport::CreateGOPassenger(), Transport::CreateNPCPassenger(), TransportMgr::CreateTransport(), InDbPhaseShift(), and GameObject::LoadFromDB().
|
static |
Definition at line 570 of file PhasingHandler.cpp.
References PhaseShift::AddVisibleMapId(), sObjectMgr, and PhaseShift::VisibleMapIds.
Referenced by Creature::Create(), Transport::CreateGOPassenger(), Transport::CreateNPCPassenger(), ObjectMgr::LoadCreatures(), GameObject::LoadFromDB(), and ObjectMgr::LoadGameObjects().
|
static |
Definition at line 686 of file PhasingHandler.cpp.
References Personal, and sPhaseStore.
Referenced by ObjectMgr::AddSpawnDataToGrid(), and ObjectMgr::RemoveSpawnDataFromGrid().
|
static |
Definition at line 301 of file PhasingHandler.cpp.
References PhaseShift::AddPhase(), DISABLE_TYPE_PHASE_AREA, AreaTableEntry::ID, InheritPhaseShift(), DisableMgr::IsDisabledFor(), AreaTableEntry::ParentAreaID, PhaseShift::PersonalGuid, PhaseShift::PersonalReferences, PhaseShift::Phases, sAreaTableStore, sConditionMgr, sDB2Manager, sObjectMgr, SPELL_AURA_PHASE, SPELL_AURA_PHASE_GROUP, Object::ToUnit(), UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
Referenced by Player::UpdateArea().
|
static |
Definition at line 374 of file PhasingHandler.cpp.
References PhaseShift::AddPhase(), PhaseShift::AddUiMapPhaseId(), PhaseShift::AddVisibleMapId(), ASSERT_NOTNULL, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::begin(), CONDITION_SOURCE_TYPE_TERRAIN_SWAP, DISABLE_TYPE_PHASE_AREA, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::empty(), Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::end(), Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::erase(), Unit::GetAuraEffectsByType(), InheritPhaseShift(), DisableMgr::IsDisabledFor(), PhaseShift::ModifyPhasesReferences(), Unit::OnPhaseChange(), PhaseShift::PersonalGuid, PhaseShift::PersonalReferences, PhaseShift::Phases, Unit::RemoveNotOwnSingleTargetAuras(), PhaseShift::RemovePhase(), PhaseShift::RemoveUiMapPhaseId(), sConditionMgr, sDB2Manager, SPELL_AURA_PHASE, SPELL_AURA_PHASE_GROUP, Object::ToUnit(), UpdateVisibilityIfNeeded(), PhaseShift::VisibleMapIds, and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
Referenced by Player::AddQuest(), Scripts::Pandaria::TheJadeForest::spell_summon_gunship_turret::AfterApply(), spell_gen_force_phase_update::AfterApply(), spell_gen_force_phase_update::AfterRemove(), Garrison::Create(), Spell::EffectUpdatePlayerPhase(), scene_auchindoun_soulbinder_nyami::HandleScene(), conversation_guards_intro_standing_accused::OnCreate(), go_master_surveyor::OnGossipHello(), npc_baros_alexston::OnGossipSelect(), npc_kayn_sunfury_invasion_begins::OnQuestAccept(), npc_kayn_sunfury_ashtongue_intro::OnQuestAccept(), npc_master_mathias_shaw_human_heritage_lions_pride_inn_basement::OnQuestAccept(), Scripts::EasternKingdoms::StormwindCity::npc_anduin_wrynn_nation_of_kultiras::OnQuestAccept(), Scripts::EasternKingdoms::StormwindCity::npc_arkonarin_starshade_ancient_curses::OnQuestAccept(), quest_the_cost_of_war::OnQuestStatusChange(), quest_blaze_of_glory::OnQuestStatusChange(), scene_drustvar_cleanse_fallhaven::OnSceneCancel(), scene_demonhunter_intro::OnSceneComplete(), scene_dark_portal_run_away::OnSceneComplete(), scene_bleeding_hollow_holdout::OnSceneComplete(), scene_drustvar_cleanse_fallhaven::OnSceneComplete(), scene_enter_the_illidari_coilskar::OnSceneStart(), scene_enter_the_illidari_ashtongue::OnSceneTriggerEvent(), Scripts::Pandaria::TheWanderingIsle::at_min_dimwind_captured::OnTrigger(), conversation_boralus_cyrus_meets_genn::OnUpdate(), Player::RemoveActiveQuest(), Player::RemoveRewardedQuest(), Player::RewardQuest(), Player::SkipQuests(), Player::UpdateQuestObjectiveProgress(), and npc_7th_legion_magus_sanctum_of_the_sages::WaypointReached().
|
static |
Definition at line 270 of file PhasingHandler.cpp.
References PhaseShift::AddUiMapPhaseId(), PhaseShift::AddVisibleMapId(), CONDITION_SOURCE_TYPE_TERRAIN_SWAP, WorldLocation::GetMapId(), sConditionMgr, sObjectMgr, and UpdateVisibilityIfNeeded().
Referenced by Player::SendInitialPacketsAfterAddToMap().
|
static |
Definition at line 625 of file PhasingHandler.cpp.
References EnumFlag< T >::AsUnderlyingType(), Cosmetic, DISABLE_TYPE_PHASE_AREA, Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::empty(), PhaseShift::Flags, WorldObject::GetPhaseShift(), ChatHandler::GetSessionDbLocaleIndex(), ObjectAccessor::GetWorldObject(), PhaseShift::HasPersonalPhase(), DisableMgr::IsDisabledFor(), LANG_PHASE_FLAG_COSMETIC, LANG_PHASE_FLAG_PERSONAL, LANG_PHASESHIFT_PHASES, LANG_PHASESHIFT_STATUS, LANG_PHASESHIFT_UI_WORLD_MAP_AREA_SWAPS, LANG_PHASESHIFT_VISIBLE_MAP_IDS, Personal, PhaseShift::PersonalGuid, PhaseShift::Phases, ChatHandler::PSendSysMessage(), sObjectMgr, ObjectGuid::ToString(), PhaseShift::UiMapPhaseIds, and PhaseShift::VisibleMapIds.
Referenced by debug_commandscript::HandleDebugPhaseCommand(), misc_commandscript::HandleGPSCommand(), npc_commandscript::HandleNpcInfoCommand(), and misc_commandscript::HandlePInfoCommand().
|
static |
Definition at line 124 of file PhasingHandler.cpp.
References RemovePhase().
Referenced by instance_oculus::instance_oculus_InstanceMapScript::GreaterWhelps(), modify_commandscript::HandleModifyPhaseCommand(), AuraEffect::HandlePhase(), npc_the_lich_king_controller::JustSummoned(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::OnCreatureCreate(), instance_oculus::instance_oculus_InstanceMapScript::OnCreatureCreate(), scene_odyn_intro::OnSceneStart(), SmartScript::ProcessAction(), RemovePhase(), RemovePhase(), instance_halls_of_reflection::instance_halls_of_reflection_InstanceMapScript::SetBossState(), and instance_oculus::instance_oculus_InstanceMapScript::SetBossState().
|
staticprivate |
Definition at line 130 of file PhasingHandler.cpp.
References RemovePhase(), Object::ToUnit(), UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
staticprivate |
Definition at line 189 of file PhasingHandler.cpp.
References WorldObject::GetPhaseShift(), PhaseShift::RemovePhase(), RemovePhaseGroup(), Object::ToUnit(), UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
static |
Definition at line 179 of file PhasingHandler.cpp.
References RemovePhaseGroup(), and sDB2Manager.
Referenced by AuraEffect::HandlePhaseGroup(), SmartScript::ProcessAction(), RemovePhaseGroup(), and RemovePhaseGroup().
|
static |
Definition at line 233 of file PhasingHandler.cpp.
References RemoveVisibleMapId().
Referenced by modify_commandscript::HandleModifyPhaseCommand(), RemoveVisibleMapId(), and RemoveVisibleMapId().
|
staticprivate |
Definition at line 239 of file PhasingHandler.cpp.
References WorldObject::GetPhaseShift(), PhaseShift::RemoveUiMapPhaseId(), RemoveVisibleMapId(), sObjectMgr, Object::ToUnit(), TerrainSwapInfo::UiMapPhaseIDs, UpdateVisibilityIfNeeded(), and PhasingHandler::ControlledUnitVisitor::VisitControlledOf().
|
static |
Definition at line 258 of file PhasingHandler.cpp.
Referenced by npc_commandscript::HandleNpcSetPhaseCommand(), npc_commandscript::HandleNpcSetPhaseGroup(), and npc_captain_garrick_q55879::SpellHit().
|
static |
Definition at line 510 of file PhasingHandler.cpp.
References WorldObject::GetPhaseShift(), and SendToPlayer().
|
static |
Definition at line 490 of file PhasingHandler.cpp.
References EnumFlag< T >::AsUnderlyingType(), WorldPackets::Misc::PhaseShiftChange::Client, PhaseShift::Flags, BaseEntity::GetGUID(), PhaseShift::PersonalGuid, WorldPackets::Misc::PhaseShiftData::PersonalGUID, PhaseShift::Phases, WorldPackets::Misc::PhaseShiftData::Phases, WorldPackets::Misc::PhaseShiftChange::Phaseshift, WorldPackets::Misc::PhaseShiftData::PhaseShiftFlags, and Trinity::Containers::FlatSet< Key, Compare, KeyContainer >::size().
Referenced by Map::AddPlayerToMap(), debug_commandscript::HandleDebugSendSetPhaseShiftCommand(), SendToPlayer(), InstanceScript::UpdatePhasing(), and UpdateVisibilityIfNeeded().
|
static |
Definition at line 603 of file PhasingHandler.cpp.
References AlwaysVisible, and UpdateVisibilityIfNeeded().
Referenced by ScriptedAI::ForceCombatStopForCreatureEntry(), AuraEffect::HandlePhaseAlwaysVisible(), and Player::SetGameMaster().
|
static |
Definition at line 613 of file PhasingHandler.cpp.
References Inverse, and UpdateVisibilityIfNeeded().
|
staticprivate |
Definition at line 694 of file PhasingHandler.cpp.
References BaseEntity::IsInWorld(), SendToPlayer(), and Object::ToPlayer().
Referenced by AddPhase(), AddPhaseGroup(), AddVisibleMapId(), OnAreaChange(), OnConditionChange(), OnMapChange(), RemovePhase(), RemovePhaseGroup(), RemoveVisibleMapId(), SetAlwaysVisible(), and SetInversed().
|
private |
Definition at line 80 of file PhasingHandler.h.