Chame como
Conditions.weapon.numericObservation(value)
Registre a dependência Conditions.weapon.numericObservation e depois chame-a por esse nome. Uma chamada com namespace não passa self: use uma chamada com dois-pontos ou passe o objeto você mesmo.
O que faz
Accepts a readable, nonnegative, finite number from a weapon observation and returns it unchanged; anything else becomes nil with a reason.
Argumentos
| Nome | Tipo | O que faz |
|---|---|---|
value | any | Observed value, such as an expiration time or swing speed. |
Retornos
| 1 | number | nil | The value, or nil when it is not usable. |
|---|---|---|
| 2 | string | nil | Reason for nil: restricted-value or invalid-weapon-observation. |
Edições
As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.
Não lê nenhuma API do jogo diretamente.
Valores secretos (Retail e Forever)
No Retail e no Forever, o jogo entrega valores secretos aos addons. Esta função auxiliar verifica o que lê (addon.Platform:CanReadValue) e retorna nil com um motivo como restricted-value em vez de um valor secreto que não consegue comparar. Trate nil como indisponível, não como false.
Como o addon a chama
- Tempo restante do encantamento de arma (evaluate)
local duration,why=numericObservation(expires) - Cargas do encantamento de arma (evaluate)
local count,why=numericObservation(charges) Conditions.weapon.swingSpeedreturn numericObservation(speed)
Código-fonte
Conditions/weapon.lua, linha 81. Somente leitura no jogo; Duplicar cria uma cópia editável.
Conditions.weapon.numericObservation(value)
if not addon.Platform:CanReadValue(value) then return nil,"restricted-value" end
if type(value)~="number" or value~=value or value<0 or value==math.huge then return nil,"invalid-weapon-observation" end
return value