Как вызывать
Functions.values.compare(operator, left, right)
Запишите его как зависимость с именем Functions.values.compare (принятие автодополнения делает это само) и вызывайте по этому имени.
Также принимается под прежним пространством имён utils.
Что делает
Сравнить два значения с помощью идентификатора оператора RM: LESSTHAN, LESSTHANOREQUALS, GREATERTHAN, GREATERTHANOREQUALS, EQUALS, NOTEQUALS или DIVISIBLE. Некорректные операторы выдают предупреждение и возвращают nil; операнды должны поддерживать выбранную операцию Lua.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
operator | string | Идентификатор оператора RM. |
left | any | Левый операнд; для упорядочивания и делимости используйте числа. |
right | any | Правый операнд; для DIVISIBLE нужен ненулевой делитель. |
Возвращает
| 1 | boolean | nil | Результат сравнения или nil для неизвестного оператора. |
|---|
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Как его вызывает аддон
- Заряды любого заклинания (evaluate)
return Functions.values.compare(value.operator, charges.currentCharges, value.value) - Восстановление любого заклинания (evaluate)
return Functions.values.compare(value.operator, remain, value.value) - Время перезарядки любого заклинания (evaluate)
return Functions.values.compare(value.operator, remain, value.value) - Фаза боя с боссом (boss mod) (evaluate)
return Functions.values.compare(value.operator, stage, value.value) - Таймер boss mod (evaluate)
return Functions.values.compare(value.operator, remaining, value.value) - Ход применения (evaluate)
return Functions.values.compare(value.operator,done,value.value) - Оставшееся время применения (evaluate)
return Functions.values.compare(value.operator,record.remainingSeconds,value.value) - Ход поддержания (evaluate)
return Functions.values.compare(value.operator,done,value.value)
и ещё 56: Оставшееся время поддержания (evaluate), Класс в группе (evaluate), История боевых действий (evaluate), Число в радиусе (evaluate), Затмение (evaluate), Расширенная характеристика (evaluate), Расширенная характеристика (%) (evaluate), Подсчёт группы (evaluate), Здоровье (evaluate), Процент здоровья (evaluate), Уровень ключа «Эпохальный+» (evaluate), Уровень (evaluate), Заблокировано потерей контроля (evaluate), Тип потери контроля (evaluate), Мана (evaluate), Процент маны (evaluate), Количество меток рейда (evaluate), Заряды заклинания питомца (evaluate), Восстановление заклинания питомца (evaluate), История применений питомца (evaluate), Время перезарядки заклинания питомца (evaluate), Очки (evaluate), Ресурс (evaluate), Процент ресурса (evaluate), Союзники в радиусе (evaluate), Здоровье в радиусе (evaluate), Процент здоровья в радиусе (evaluate), Число по проценту здоровья в радиусе (evaluate), Число по здоровью в радиусе (evaluate), Мана в радиусе (evaluate), Процент маны в радиусе (evaluate), Число по проценту маны в радиусе (evaluate), Число по мане в радиусе (evaluate), Сопротивляемость (evaluate), Руны (evaluate), Восстановление руны (evaluate), Уровень (evaluate), Надето предметов комплекта (evaluate), Заряды заклинания (evaluate), Восстановление заклинания (evaluate), История применений (evaluate), Время перезарядки заклинания (evaluate), Stagger (evaluate), Характеристика персонажа (evaluate), Время удара оружием (evaluate), Оставшееся время до удара (evaluate), Талант (evaluate), Очки в ветке талантов (evaluate), Число по угрозе (evaluate), Время с начала боя (evaluate), Оставшееся время тотема (evaluate), Время до уровня здоровья (evaluate), Время до процента здоровья (evaluate), Оставшееся время чар на оружии (evaluate), Заряды чар на оружии (evaluate), Conditions.spatial.nameplateDistanceCount
Исходный код
Functions/values.lua, строка 22. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Functions.values.compare(operator, left, right)
if operator == "LESSTHAN" then
return left < right
elseif operator == "LESSTHANOREQUALS" then
return left <= right
elseif operator == "GREATERTHAN" then
return left > right
elseif operator == "GREATERTHANOREQUALS" then
return left >= right
elseif operator == "EQUALS" then
return left == right
elseif operator == "NOTEQUALS" then
return left ~= right
elseif operator == "DIVISIBLE" then
return (left % right) == 0
else
addon:warn("Invalid Operator %s", operator)
end