WoW API: GetZonePVPInfo

From AddOn Studio
Jump to navigation Jump to search

WoW API < GetZonePVPInfo

Returns PVP info for the current zone.

pvpType, isFFA, faction = GetZonePVPInfo();

Parameters

Returns

pvpType
String - One of the following values:
  • "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).
  • nil, if the zone isn't friendly, hostile or a sanctuary. Happens inside instances, including battlegrounds, and on PvE servers when a zone is none of the above.
isFFA
Integer - 1 if in a free-for-all arena, nil otherwise.
faction
String - the name of the faction controlling the zone if pvpType is "friendly" or "hostile".

Example

local zone = GetRealZoneText() .. " - " .. tostring(GetSubZoneText());
local pvpType, isFFA, faction = GetZonePVPInfo();
if (pvpType == "friendly" or pvpType == "hostile") then
 zone = zone .. " is controlled by " .. faction .. " (" .. pvpType .. ")";
elseif (pvpType == "sanctuary") then
 zone = zone .. " is a PvP-free sanctuary.";
elseif (isFFA) then
 zone = zone .. " is a free-for-all arena.";
else
 zone = zone .. " is a contested zone.";
end
DEFAULT_CHAT_FRAME:AddMessage(zone);

Result

Displays information about the current zone in the default chat frame. Example outputs include:

Stormwind CIty - War Room is controlled by Alliance (friendly)
Alterac Valley - Dun Baldar Pass is a contested zone.