mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 16:38:42 +01:00
Core/Phases:
- fixed packet structure, thanks to Shauren for the notice - fixed .mod phase command - implemented world map area swaps for swapped terrain
This commit is contained in:
@@ -958,6 +958,7 @@ public:
|
||||
|
||||
char* t = strtok((char*)args, " ");
|
||||
char* p = strtok(NULL, " ");
|
||||
char* m = strtok(NULL, " ");
|
||||
|
||||
if (!t)
|
||||
return false;
|
||||
@@ -966,10 +967,16 @@ public:
|
||||
std::set<uint32> phaseId;
|
||||
std::set<uint32> worldMapSwap;
|
||||
|
||||
terrainswap.insert((uint32)atoi(t));
|
||||
if (uint32 ut = (uint32)atoi(t))
|
||||
terrainswap.insert(ut);
|
||||
|
||||
if (p)
|
||||
phaseId.insert((uint32)atoi(p));
|
||||
if (uint32 up = (uint32)atoi(p))
|
||||
phaseId.insert(up);
|
||||
|
||||
if (m)
|
||||
if (uint32 um = (uint32)atoi(m))
|
||||
worldMapSwap.insert(um);
|
||||
|
||||
handler->GetSession()->SendSetPhaseShift(phaseId, terrainswap, worldMapSwap);
|
||||
return true;
|
||||
|
||||
@@ -1277,10 +1277,13 @@ public:
|
||||
uint32 phase = (uint32)atoi((char*)args);
|
||||
|
||||
Unit* target = handler->getSelectedUnit();
|
||||
if (target)
|
||||
target->SetInPhase(phase, true, !target->IsInPhase(phase));
|
||||
else
|
||||
handler->GetSession()->GetPlayer()->SetInPhase(phase, true, !handler->GetSession()->GetPlayer()->IsInPhase(phase));
|
||||
if (!target)
|
||||
target = handler->GetSession()->GetPlayer();
|
||||
|
||||
target->SetInPhase(phase, true, !target->IsInPhase(phase));
|
||||
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
target->ToPlayer()->SendUpdatePhasing();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user