---------------------------------------- |
-- Check if group is alive |
---------------------------------------- |
function AutoReply:GroupAlive() |
function AutoReply:GroupSurvived() |
local playerInInstance = IsInInstance() |
local posX, posY = nil |
local playerSurvived = false |
local unitId = ((GetNumRaidMembers() == 0) and "party") or "raid" |
SetMapToCurrentZone() -- Sets the current world map continent and zone to be the zone the player is currently in. |
for i = 0, math.max(GetNumRaidMembers(), GetNumPartyMembers()) do |
local id = (i == 0 and "player") or unitId..i |
if not UnitIsDeadOrGhost(id) then |
return true |
-- Check if player is out of combat and didn't use any feign death ability to reset the boss. |
if not (UnitAffectingCombat(id) or UnitIsDeadOrGhost(id) or UnitIsFeignDeath(id) or |
UnitAura(id, "Vanish") or UnitAura(id, "Invisibility") or UnitAura(id, "Shadowmeld")) then |
-- Check if player is in the instance |
posX, posY = GetPlayerMapPosition(id) |
if (posX ~= 0 and posY ~= 0 and playerInInstance) or (posX == 0 and posY == 0 and not playerInInstance) then |
playerSurvived = true |
end |
end |
end |
return false |
return playerSurvived |
end |
|
--------------------------------------------- |