From Warcraft Wiki
Jump to navigation Jump to search

Returns PVP info for the current zone.

pvpType, isFFA, faction = GetZonePVPInfo()


string - One of the following values:
  • "arena" if you are in an arena
  • "friendly" if the zone is controlled by the faction the player belongs to.
  • "contested" if the zone is contested (PvP server only)
  • "hostile" if the zone is controlled by the opposing faction.
  • "sanctuary" if the zone is a sanctuary and does not allow pvp combat (2.0.x).
  • "combat" if it is a combat zone where players are automatically flagged for PvP combat (3.0.x). Currently applies only to the Wintergrasp zone.
  • nil, if the zone is none of the above. Happens inside instances, including battlegrounds, and on PvE servers when the zone would otherwise be "contested".
boolean - true if in a free-for-all arena.
string - the name of the faction controlling the zone if pvpType is "friendly" or "hostile".


local zone = GetRealZoneText().." - "..tostring(GetSubZoneText())
local pvpType, isFFA, faction = GetZonePVPInfo()
local str
if pvpType =="friendly" or pvpType== "hostile" then
	str = " is controlled by "..faction.." ("..pvpType..")"
elseif pvpType == "sanctuary" then
	str = " is a PvP-free sanctuary."
elseif isFFA then
	str = " is a free-for-all arena."
	str = " is a contested zone."
Stormwind City - War Room is controlled by Alliance (friendly)
Alterac Valley - Dun Baldar Pass is a contested zone.