Phasing

From ArcEmu-Wiki
Jump to: navigation, search

Description

How it Works

Data on the location of game objects, players, and NPCs is not stored in the World of Warcraft client and must be sent from the server. Phasing, in a sense, decides not to send certain data based on criteria.

As an example, you may have a quest to get the head of a named NPC. After turning in the quest, the server records that it should not send data about that NPC to you. The next time you go there, even if the NPC is still there, you will not be able to see it.

By using combinations of phasing, entire areas can change from grasslands to a city by use of game object phasing and NPC phasing.


Contents



Phasing in ArcEmu

Phasing is controlled by simple commands.


.char phase X
.gameobject phase X
.npc phase X

Like ".gameobject spawn x" a 1 after the NPC or Gameobject's entry ID will cause it to be saved to that spawn in the database and persist after restarts.

Phasing uses values like this


Phase | Effect
1      Standard phase can see phase 3
2      Cannot see standard phase
3      Can see phases 2 and 3
4      Can not see phases 1 2 or 3

By using this method you can

  • separate entire areas off to game masters
  • create quests that advance the landscape as players go along with the questline
  • turn an entire area into a PVP zone without effecting normal gameplay


Scripting

Lua

Lua supports phasing with

PhaseSet()

An example of a creature that sets their own phase on spawn.

function npc_OnSpawn(Unit)
	Unit:PhaseSet(4294967295)
end

Additional Notes

Losing things in a phase

If you get something lost in phases, to see all phases: .char phase 4294967295

That is the highest, maximum phase possible.


Developing in a default phase

To develop in realtime in a phase there is no need to set a phase for every creature or object you spawn.

Simpily

.char phase 2

Would then cause you to save all gameobjects or creatures that you spawn during the time your character is in that phase to be saved in realtime to the database with all phases already set to 2.

Personal tools