aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-01-10 22:01:40 +0100
committerShauren <shauren.trinity@gmail.com>2018-01-10 22:01:40 +0100
commitbb718b557862057524778414ee728bf1923a14a4 (patch)
tree1900ff0b592fed7aa83071a5b1a14b6dddacf8a3 /src/server/scripts
parent5b90538919cdf8b1984049bd203104128bec5bf2 (diff)
Core/Entities: Remove phasemask
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp2
-rw-r--r--src/server/scripts/Commands/cs_gobject.cpp2
-rw-r--r--src/server/scripts/Commands/cs_group.cpp6
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp2
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp15
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp14
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp5
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp23
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp8
12 files changed, 45 insertions, 44 deletions
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index 417e8aeb7bd..a04ad5630f0 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -942,7 +942,7 @@ public:
Map* map = handler->GetSession()->GetPlayer()->GetMap();
- if (!v->Create(map->GenerateLowGuid<HighGuid::Vehicle>(), map, handler->GetSession()->GetPlayer()->GetPhaseMask(), entry, x, y, z, o, nullptr, id))
+ if (!v->Create(map->GenerateLowGuid<HighGuid::Vehicle>(), map, entry, x, y, z, o, nullptr, id))
{
delete v;
return false;
diff --git a/src/server/scripts/Commands/cs_gobject.cpp b/src/server/scripts/Commands/cs_gobject.cpp
index c7611d7e3f4..bc77d56e8a9 100644
--- a/src/server/scripts/Commands/cs_gobject.cpp
+++ b/src/server/scripts/Commands/cs_gobject.cpp
@@ -144,7 +144,7 @@ public:
GameObject* object = new GameObject();
- if (!object->Create(objectInfo->entry, map, 0, *player, QuaternionData::fromEulerAnglesZYX(player->GetOrientation(), 0.0f, 0.0f), 255, GO_STATE_READY))
+ if (!object->Create(objectInfo->entry, map, *player, QuaternionData::fromEulerAnglesZYX(player->GetOrientation(), 0.0f, 0.0f), 255, GO_STATE_READY))
{
delete object;
return false;
diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp
index 555c688ed17..2628ec3ba7a 100644
--- a/src/server/scripts/Commands/cs_group.cpp
+++ b/src/server/scripts/Commands/cs_group.cpp
@@ -348,11 +348,12 @@ public:
// Check if iterator is online. If is...
Player* p = ObjectAccessor::FindPlayer((*itr).guid);
+ std::string phases;
if (p)
{
// ... than, it prints information like "is online", where he is, etc...
onlineState = "online";
- phase = (!p->IsGameMaster() ? p->GetPhaseMask() : -1);
+ phases = StringJoin(p->GetPhases(), ", ");
AreaTableEntry const* area = sAreaTableStore.LookupEntry(p->GetAreaId());
if (area)
@@ -367,12 +368,11 @@ public:
// ... else, everything is set to offline or neutral values.
zoneName = "<ERROR>";
onlineState = "Offline";
- phase = 0;
}
// Now we can print those informations for every single member of each group!
handler->PSendSysMessage(LANG_GROUP_PLAYER_NAME_GUID, slot.name.c_str(), onlineState,
- zoneName.c_str(), phase, slot.guid.ToString().c_str(), flags.c_str(),
+ zoneName.c_str(), phases.c_str(), slot.guid.ToString().c_str(), flags.c_str(),
lfg::GetRolesString(slot.roles).c_str());
}
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index a14ddcf1be8..4ab585546f7 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -286,7 +286,7 @@ public:
mapId, (mapEntry ? mapEntry->MapName->Str[handler->GetSessionDbcLocale()] : unknown),
zoneId, (zoneEntry ? zoneEntry->AreaName->Str[handler->GetSessionDbcLocale()] : unknown),
areaId, (areaEntry ? areaEntry->AreaName->Str[handler->GetSessionDbcLocale()] : unknown),
- object->GetPhaseMask(), StringJoin(object->GetPhases(), ", ").c_str(),
+ StringJoin(object->GetPhases(), ", ").c_str(),
object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation());
if (Transport* transport = object->GetTransport())
handler->PSendSysMessage(LANG_TRANSPORT_POSITION,
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 719fd6a5992..9cf62049b0d 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -311,7 +311,7 @@ public:
}
Creature* creature = new Creature();
- if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, chr->GetPhaseMask(), id, x, y, z, o))
+ if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, id, x, y, z, o))
{
delete creature;
return false;
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index e58b15ece40..4e4fa0289ce 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -666,7 +666,7 @@ public:
// re-create
Creature* wpCreature = new Creature();
- if (!wpCreature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, chr->GetPhaseMask(), VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
+ if (!wpCreature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
delete wpCreature;
@@ -879,7 +879,7 @@ public:
float o = chr->GetOrientation();
Creature* wpCreature = new Creature();
- if (!wpCreature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, chr->GetPhaseMask(), id, x, y, z, o))
+ if (!wpCreature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete wpCreature;
@@ -943,7 +943,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, chr->GetPhaseMask(), id, x, y, z, o))
+ if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete creature;
@@ -994,7 +994,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, chr->GetPhaseMask(), id, x, y, z, o))
+ if (!creature->Create(map->GenerateLowGuid<HighGuid::Creature>(), map, id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_NOTCREATED, id);
delete creature;
diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
index dcee4a8dce7..6f08d91ce10 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
@@ -102,17 +102,19 @@ public:
}
}
+ uint32 GetGameObjectEntry(ObjectGuid::LowType /*spawnId*/, uint32 entry)
+ {
+ if (entry == GO_BLACK_DRAGON_EGG && GetBossState(DATA_FIREMAW) == DONE)
+ return 0;
+ return entry;
+ }
+
void OnGameObjectCreate(GameObject* go) override
{
InstanceScript::OnGameObjectCreate(go);
if (go->GetEntry() == GO_BLACK_DRAGON_EGG)
- {
- if (GetBossState(DATA_FIREMAW) == DONE)
- go->SetPhaseMask(2, true);
- else
- EggList.push_back(go->GetGUID());
- }
+ EggList.push_back(go->GetGUID());
}
void OnGameObjectRemove(GameObject* go) override
@@ -255,7 +257,6 @@ public:
case EVENT_RESPAWN_NEFARIUS:
if (Creature* nefarius = GetCreature(DATA_LORD_VICTOR_NEFARIUS))
{
- nefarius->SetPhaseMask(1, true);
nefarius->setActive(true);
nefarius->Respawn();
nefarius->GetMotionMaster()->MoveTargetedHome();
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
index c70cd2fe588..c8964c55d72 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
@@ -406,7 +406,7 @@ class boss_twilight_halion : public CreatureScript
DoCast(me, SPELL_DUSK_SHROUD, true);
me->SetHealth(halion->GetHealth());
- me->SetPhaseMask(0x20, true);
+ me->SetInPhase(174, false, true);
me->SetReactState(REACT_DEFENSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
events.ScheduleEvent(EVENT_TAIL_LASH, Seconds(12));
@@ -1193,12 +1193,16 @@ class npc_combustion_consumption : public CreatureScript
case NPC_COMBUSTION:
_explosionSpell = SPELL_FIERY_COMBUSTION_EXPLOSION;
_damageSpell = SPELL_COMBUSTION_DAMAGE_AURA;
- creature->SetPhaseMask(IsHeroic() ? 0x21 : 0x01, true);
+ creature->SetInPhase(DEFAULT_PHASE, false, true);
+ if (IsHeroic())
+ creature->SetInPhase(174, false, true);
break;
case NPC_CONSUMPTION:
_explosionSpell = SPELL_SOUL_CONSUMPTION_EXPLOSION;
_damageSpell = SPELL_CONSUMPTION_DAMAGE_AURA;
- creature->SetPhaseMask(IsHeroic() ? 0x21 : 0x20, true);
+ creature->SetInPhase(174, false, true);
+ if (IsHeroic())
+ creature->SetInPhase(DEFAULT_PHASE, false, true);
break;
default: // Should never happen
_explosionSpell = 0;
@@ -1335,12 +1339,12 @@ class go_twilight_portal : public GameObjectScript
switch (gameobject->GetEntry())
{
case GO_HALION_PORTAL_EXIT:
- gameobject->SetPhaseMask(0x20, true);
+ gameobject->SetInPhase(174, false, true);
_spellId = gameobject->GetGOInfo()->goober.spell;
break;
case GO_HALION_PORTAL_1:
case GO_HALION_PORTAL_2:
- gameobject->SetPhaseMask(0x1, true);
+ gameobject->SetInPhase(DEFAULT_PHASE, false, true);
/// Because WDB template has non-existent spell ID, not seen in sniffs either, meh
_spellId = SPELL_TWILIGHT_REALM;
break;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
index 830f897e06e..f829093c5a5 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
@@ -143,8 +143,7 @@ class instance_halls_of_reflection : public InstanceMapScript
break;
case NPC_FROSTSWORN_GENERAL:
FrostswornGeneralGUID = creature->GetGUID();
- if (GetBossState(DATA_MARWYN) == DONE)
- creature->SetPhaseMask(1, true);
+ creature->SetInPhase(170, true, GetBossState(DATA_MARWYN) != DONE);
break;
case NPC_JAINA_ESCAPE:
case NPC_SYLVANAS_ESCAPE:
@@ -326,7 +325,7 @@ class instance_halls_of_reflection : public InstanceMapScript
HandleGameObject(ImpenetrableDoorGUID, true);
DoUpdateWorldState(WORLD_STATE_HOR_WAVES_ENABLED, 0);
if (Creature* general = instance->GetCreature(FrostswornGeneralGUID))
- general->SetPhaseMask(1, true);
+ general->SetInPhase(170, true, false);
SpawnGunship();
SpawnEscapeEvent();
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index 38fee2d97bd..7771e0b2781 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -90,7 +90,7 @@ public:
void SpawnGameObject(uint32 entry, Position const& pos)
{
GameObject* go = new GameObject();
- if (!go->Create(entry, instance, PHASEMASK_NORMAL, pos, QuaternionData(), 255, GO_STATE_READY))
+ if (!go->Create(entry, instance, pos, QuaternionData(), 255, GO_STATE_READY))
{
delete go;
return;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index e666b346d54..16807804090 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -62,18 +62,15 @@ class instance_oculus : public InstanceMapScript
break;
case NPC_VAROS:
VarosGUID = creature->GetGUID();
- if (GetBossState(DATA_DRAKOS) == DONE)
- creature->SetPhaseMask(1, true);
+ creature->SetInPhase(170, true, GetBossState(DATA_DRAKOS) != DONE);
break;
case NPC_UROM:
UromGUID = creature->GetGUID();
- if (GetBossState(DATA_VAROS) == DONE)
- creature->SetPhaseMask(1, true);
+ creature->SetInPhase(170, true, GetBossState(DATA_VAROS) != DONE);
break;
case NPC_EREGOS:
EregosGUID = creature->GetGUID();
- if (GetBossState(DATA_UROM) == DONE)
- creature->SetPhaseMask(1, true);
+ creature->SetInPhase(170, true, GetBossState(DATA_UROM) != DONE);
break;
case NPC_CENTRIFUGE_CONSTRUCT:
if (creature->IsAlive())
@@ -105,10 +102,10 @@ class instance_oculus : public InstanceMapScript
break;
case NPC_GREATER_WHELP:
if (GetBossState(DATA_UROM) == DONE)
- {
- creature->SetPhaseMask(1, true);
GreaterWhelpList.push_back(creature->GetGUID());
- }
+ else
+ creature->SetInPhase(170, true, true);
+
break;
default:
break;
@@ -197,7 +194,7 @@ class instance_oculus : public InstanceMapScript
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, CentrifugueConstructCounter);
FreeDragons();
if (Creature* varos = instance->GetCreature(VarosGUID))
- varos->SetPhaseMask(1, true);
+ varos->SetInPhase(170, true, false);
events.ScheduleEvent(EVENT_VAROS_INTRO, 15000);
}
break;
@@ -206,7 +203,7 @@ class instance_oculus : public InstanceMapScript
{
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
if (Creature* urom = instance->GetCreature(UromGUID))
- urom->SetPhaseMask(1, true);
+ urom->SetInPhase(170, true, false);
}
break;
case DATA_UROM:
@@ -214,7 +211,7 @@ class instance_oculus : public InstanceMapScript
{
if (Creature* eregos = instance->GetCreature(EregosGUID))
{
- eregos->SetPhaseMask(1, true);
+ eregos->SetInPhase(170, true, false);
GreaterWhelps();
events.ScheduleEvent(EVENT_EREGOS_INTRO, 5000);
}
@@ -316,7 +313,7 @@ class instance_oculus : public InstanceMapScript
{
for (ObjectGuid guid : GreaterWhelpList)
if (Creature* gwhelp = instance->GetCreature(guid))
- gwhelp->SetPhaseMask(1, true);
+ gwhelp->SetInPhase(170, true, false);
}
protected:
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
index 5dd5ac26cdd..ef24b8a5af1 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
@@ -160,10 +160,10 @@ bool OutdoorPvPSI::HandleDropFlag(Player* player, uint32 spellId)
if (player->GetDistance(atEntry->Pos.X, atEntry->Pos.Y, atEntry->Pos.Z) > 5.0f + atEntry->Radius)
{
// he dropped it further, summon mound
- GameObject* go = new GameObject;
+ GameObject* go = new GameObject();
Map* map = player->GetMap();
- if (!go->Create(SI_SILITHYST_MOUND, map, player->GetPhaseMask(), *player, QuaternionData(), 255, GO_STATE_READY))
+ if (!go->Create(SI_SILITHYST_MOUND, map, *player, QuaternionData(), 255, GO_STATE_READY))
{
delete go;
return true;
@@ -191,10 +191,10 @@ bool OutdoorPvPSI::HandleDropFlag(Player* player, uint32 spellId)
if (player->GetDistance(atEntry->Pos.X, atEntry->Pos.Y, atEntry->Pos.Z) > 5.0f + atEntry->Radius)
{
// he dropped it further, summon mound
- GameObject* go = new GameObject;
+ GameObject* go = new GameObject();
Map* map = player->GetMap();
- if (!go->Create(SI_SILITHYST_MOUND, map, player->GetPhaseMask(), *player, QuaternionData(), 255, GO_STATE_READY))
+ if (!go->Create(SI_SILITHYST_MOUND, map, *player, QuaternionData(), 255, GO_STATE_READY))
{
delete go;
return true;