Llamar como
addon.Platform:GetRuneTypeObservation(index)
Disponible directamente a través de addon; no hace falta ninguna dependencia.
Qué hace
Observa una única casilla de runa nativa exacta con GetRuneType y su único argumento de índice. Requiere un tipo entero positivo, finito y legible; los tipos numéricos futuros conocidos siguen siendo distintos del tipo seleccionado, y Muerte es un tipo exacto, no un comodín. Las observaciones que faltan, fallan, están restringidas o mal formadas siguen sin estar disponibles. No se añade ninguna consulta de clase, unidad, recuento ni runa base deducida.
Argumentos
| Nombre | Tipo | Qué hace |
|---|---|---|
self | RMPlatform | Adaptador de plataforma de Rotation Master (implícito en las llamadas con dos puntos). |
index | number | Casilla de runa nativa entera exacta, de 1 a 6. |
Retornos
| 1 | number | nil | Tipo de runa entero, positivo, finito y legible, o nil si no está disponible. |
|---|---|---|
| 2 | string | nil | Motivo de política, validación de la casilla o disponibilidad de una observación necesaria para un tipo nil. |
Ediciones
Las funciones auxiliares integradas se registran en todas las ediciones. Lo que cambia es la API del juego que leen; donde falta alguna, la función auxiliar recurre a una alternativa o devuelve nil con un motivo.
- No disponible en esa edición (el motivo aparece en la información emergente)
- Solo mientras estén activas las alternativas de Blizzard para API obsoletas
| API del juego | |||||
|---|---|---|---|---|---|
GetRuneType |
Valores secretos (Retail y Forever)
En Retail y Forever, el juego entrega a los addons valores secretos. Esta función auxiliar comprueba lo que lee (addon.Platform:CanReadValue) y, en lugar de un secreto que no puede comparar, devuelve nil con un motivo como restricted-value. Trata nil como no disponible, no como falso.
Ejemplo
local death = 0
for index = 1, 6 do
local runeType = addon.Platform:GetRuneTypeObservation(index)
if runeType == nil then return nil end
if runeType == 4 then death = death + 1 end -- 4 is a Death rune
end
return death >= 2Dependencias
numberField→Platform.runes.numberFieldvalidIndex→Platform.runes.validIndex
Código fuente
Platform/runes.lua, línea 48. Solo lectura en el juego; Duplicar crea una copia editable.
Platform.runes.GetRuneTypeObservation(self, index)
local policy=self:GetCombatDataPolicy()
if policy~='probe' and policy~='restricted' then return nil,'unsupported-policy' end
local valid,reason=validIndex(self,index)
if not valid then return nil,reason end
local api=GetRuneType
if type(api)~='function' then return nil,'missing-api' end
local ok,value=pcall(api,index)
if not ok then return nil,'api-error' end
local runeType,why=numberField(self,value,'rune-type-unavailable')
if runeType==nil then return nil,why end
if runeType<=0 or runeType%1~=0 then return nil,'invalid-api-result' end
return runeType




