Add indoors/outdoors conditionals via ClassicAPI

This commit is contained in:
Brues
2026-07-30 19:59:50 -05:00
parent 66d5f0c618
commit a2db3ebd42
3 changed files with 37 additions and 0 deletions
+12
View File
@@ -337,6 +337,18 @@ function API.IsMounted()
return IsMounted() and true or false
end
-- True if the player is under a WMO roof (building, cave, instance interior).
-- Live engine geometry query, not zone-based; nil (-> false) pre-world.
function API.IsIndoors()
return IsIndoors() and true or false
end
-- True if the player is outdoors (open sky / not inside a WMO interior).
-- Exact complement of IsIndoors for a resolvable player.
function API.IsOutdoors()
return IsOutdoors() and true or false
end
-- Player's stand state: 0 = standing, non-zero = sitting/sleeping/kneeling/etc.
-- (see UnitStandState). Player-only.
function API.GetPlayerStandState()
+21
View File
@@ -7352,6 +7352,26 @@ CleveRoids.Keywords = {
return not CleveRoids.ClassicAPI.IsSwimming()
end,
-- [indoors] - Player is under a WMO roof (building, cave, instance interior)
indoors = function(conditionals)
return CleveRoids.ClassicAPI.IsIndoors()
end,
-- [noindoors] - Player is NOT indoors
noindoors = function(conditionals)
return not CleveRoids.ClassicAPI.IsIndoors()
end,
-- [outdoors] - Player is outdoors (open sky / not inside a WMO interior)
outdoors = function(conditionals)
return CleveRoids.ClassicAPI.IsOutdoors()
end,
-- [nooutdoors] - Player is NOT outdoors
nooutdoors = function(conditionals)
return not CleveRoids.ClassicAPI.IsOutdoors()
end,
-- [rooted] - Player is currently rooted (Nampower v2.36+)
rooted = function(conditionals)
if not CleveRoids.NampowerAPI.features.hasPlayerIsRooted then
@@ -9371,6 +9391,7 @@ CleveRoids.STATIC_CONDITIONALS = {
mod = true, nomod = true,
keydown = true, nokeydown = true,
swimming = true, noswimming = true, swim = true, noswim = true,
indoors = true, noindoors = true, outdoors = true, nooutdoors = true,
rooted = true, norooted = true,
resting = true, noresting = true,
}
+4
View File
@@ -153,6 +153,10 @@ local BOOLEAN_CONDITIONALS = {
noohenchant = true,
locked = true,
nolocked = true,
indoors = true,
noindoors = true,
outdoors = true,
nooutdoors = true,
group = true,
nogroup = true,
moving = true,