Condições
Atualizado em 18/10/2026
Uma condição é uma única verificação: “o Garrote está no alvo”, “a energia está em pelo menos 70%”, “o Burst está ligado”. As condições formam grupos (E), e os grupos formam uma regra (OU). No construtor, você escolhe uma condição em listas; no texto KRC e no JSON, ela é escrita como uma string, e é isso que os exemplos mostram.
Sintaxe#
| Tipo | Forma | Exemplo |
|---|---|---|
| Aura: presente / ausente | Aura.up, Aura.down | Garrote_DoT.down |
| Aura: tempo restante, acúmulos | Aura.duration op N, Aura.stacks op N | Rupture_DoT.duration <= 30 |
| Slot: pronto / não pronto | Slot.ready, Slot.oncd | Kingsbane.ready |
| Slot: recarga, cargas | Slot.cd op N, Slot.charges op N | Deathmark.cd <= 3 |
| Slot: destaque | Slot.glow, Slot.noglow | Ambush.glow |
| Recurso | Resource op N | Combo_Points >= 70 |
| Inimigos por perto | enemies op N | enemies >= 3 |
| Distância até o alvo | target.distance op N | target.distance <= 8 |
| Alternador | aoe, st, cd, defensives, ground_spells, movement == 0 ou == 1 | cd == 1 |
Operadores: <, <=, ==, = (o mesmo que ==), >=, >. Não existe “diferente de”.
O número N é um inteiro de 0 a 100. Não há números negativos nem fracionários, nem acima de 100: o valor 120 está fora de 0..100.
Os espaços em volta do operador são opcionais: Energy>=70 e Energy >= 70 são a mesma coisa. Não há espaços dentro de um nome nem entre um nome e a sua propriedade: Garrote_DoT.up, e não Garrote_DoT .up.
As referências são feitas pelo nome (Garrote_DoT) ou pelo número: buff1, slot3, resource4. As palavras-chave são em minúsculas.
Auras#
Uma aura é um bônus seu ou uma penalidade sua no alvo, declarada na lista de auras com o ID dela. Bônus e penalidades de outros jogadores não são visíveis.
.up e .down#
Envenom_Buff.up: a aura está presente. Envenom_Buff.down: ela está ausente. Se a aura for desconhecida (não lida), as duas são falsas.
use Garrote when # Garrote: aplicar quando estiver ausente
Garrote_DoT.down
.duration: tempo restante em porcentagem#
Rupture_DoT.duration <= 30: resta no máximo 30% da duração total da aura. A duração total é a desta aplicação: Ruptura com 5 pontos de combo dura 24 s, e com 7 dura 32 s; então 30% são 7,2 s e 9,6 s.
Importante
Uma aura ausente tem 0 restante. Por isso, Rupture_DoT.duration <= 30 também é atendida quando não há Ruptura nenhuma. Para renovar apenas uma aura que está ativa, escreva Rupture_DoT.up and Rupture_DoT.duration <= 30 e cubra o caso “a aura está ausente” com um grupo separado com Rupture_DoT.down.
No WoW, a janela de pandemia é de 30% da duração: renovar dentro dela não desperdiça nada. Daí o limite comum <= 30.
use Rupture when # Ruptura
Combo_Points >= 70 and Rupture_DoT.down # sem DoT
or
Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 30 # pandemia
{
"use": "Rupture",
"name": "Ruptura",
"when": [
{"all": ["Combo_Points >= 70", "Rupture_DoT.down"], "comment": "sem DoT"},
{"all": ["Combo_Points >= 70", "Rupture_DoT.up", "Rupture_DoT.duration <= 30"], "comment": "pandemia"}
]
}
De segundos para porcentagem: porcentagem = segundos / duração total × 100. Garrote dura 18 s: “restam 14 s” é <= 78, “restam 5,4 s” é <= 30.
Uma aura sem duração (Furtividade e afins) sempre tem 1 restante. Para essas auras, use apenas .up e .down.
.stacks: número de acúmulos#
Opportunity.stacks >= 6: a aura tem 6 acúmulos ou mais. Uma aura ausente tem 0 acúmulos.
Observação
A contagem de acúmulos começa em dois: uma aura com um único acúmulo é lida como 0, assim como uma aura sem contador. Para verificar se uma aura está presente, use .up; use .stacks para limites de 2 ou mais.
use Pistol_Shot when # Tiro de Pistola com 6 acúmulos de Oportunidade
Opportunity.stacks >= 6 and Combo_Points < 80
Slots#
As condições de slot leem o estado de outro botão: “pressionar Envenenar só enquanto a Marca da Morte ainda não estiver pronta” e assim por diante. O slot da própria regra é verificado automaticamente: se o feitiço dele não puder ser usado, a KeyRota simplesmente passa para a próxima regra.
.ready e .oncd#
Kingsbane.ready: o feitiço do slot pode ser usado, sem contar a recarga global. Para isso, tudo isto precisa ser verdade:
- o feitiço foi aprendido (o talento foi escolhido);
- há recurso suficiente;
- o alvo está ao alcance, se for necessário um alvo;
- a recarga é menor que 0,2 s ou há uma carga disponível;
- o Better Assistant mostra o slot (Com alvo: você tem um alvo; Em combate: você está em combate).
Kingsbane.oncd: o slot não está pronto por qualquer um desses motivos, não só pela recarga. Se o estado for desconhecido, as duas são falsas.
use Preparation when # Preparação quando Adrenalina, No Meio da Testa e Matança estão em recarga
Adrenaline_Rush.oncd and Between_the_Eyes.oncd and Killing_Spree.oncd
.cd: recarga restante em porcentagem#
Deathmark.cd <= 3: resta no máximo 3% da recarga total. 0 significa pronto, e 100, que acabou de ser usado. A recarga global não está incluída. Para um feitiço com cargas, .cd é a recarga da próxima carga, então o feitiço pode estar pronto com cd > 0.
| Recarga | 1% = | Exemplo |
|---|---|---|
| 30 s | 0,3 s | X.cd <= 10: restam ≤ 3 s |
| 1 min | 0,6 s | Kingsbane.cd <= 3: restam ≤ 1,8 s |
| 2 min | 1,2 s | Deathmark.cd <= 3: restam ≤ 3,6 s; Deathmark.cd >= 44: ainda faltam ≥ 52 s |
| 3 min | 1,8 s | X.cd >= 50: ainda faltam ≥ 90 s |
Um uso típico é “guardar para uma grande recarga”: não gastar Ruína dos Reis se a Marca da Morte estiver para voltar e gastá-la se a Marca da Morte ainda estiver longe.
use Kingsbane when # Ruína dos Reis
cd == 1 and Deathmark_DoT.up # sob a Marca da Morte
or
cd == 1 and Deathmark.cd >= 44 # Marca da Morte a mais de 52 s
.charges#
Barbed_Shot.charges >= 2: o feitiço tem 2 cargas ou mais. Feitiços sem cargas têm 0. Um padrão típico evita que as cargas fiquem no máximo:
use Barbed_Shot when # Disparo Farpado
Barbed_Shot.charges >= 2 # as duas cargas: não desperdiçar a recarga
or
Barbed_Shot.charges == 1 and Barbed_Shot.cd <= 20 # a segunda está quase de volta
.glow e .noglow: o botão está destacado#
Ambush.glow: o jogo destaca o botão deste feitiço (o mesmo brilho que você vê na sua barra de ações quando um proc é ativado). Ambush.noglow: não destaca. Use .glow apenas se o botão deste feitiço realmente brilhar no jogo; se não tiver certeza, verifique o bônus do proc: Blindside.up.
Recursos#
Energy >= 70: pelo menos 70% da energia máxima. Todos os recursos são porcentagens de 0 a 100: vida, energia, mana, raiva, runas, pontos de combo.
| Recurso | Número | Exemplo |
|---|---|---|
| Vida do jogador | resource1 (PlayerHP) | PlayerHP <= 40: vida em 40% ou menos |
| Vida do alvo | resource2 (TargetHP) | TargetHP >= 50: o alvo ainda não chegou à metade. Desconhecida sem alvo |
| Recursos da especialização | de resource3 em diante | Energy >= 70, Combo_Points >= 70, Rage >= 40 |
Para porcentagem: porcentagem = valor / máximo × 100. Com 250 de energia, 175 de energia são 70%. A energia máxima e os outros recursos mudam com os talentos, por isso limites em porcentagem servem para outros personagens melhor do que valores absolutos.
Pontos de combo. Com um máximo de 7 pontos de combo, um ponto equivale a cerca de 14,3%. O valor é arredondado para um número inteiro e, dependendo do arredondamento, 2 pontos aparecem como 28 ou 29, 3 como 42 ou 43, 6 como 85 ou 86. Por isso, coloque o limite no meio entre os degraus: assim ele fica correto com qualquer arredondamento.
| Pontos de combo | % | “pelo menos N” | “no máximo N” |
|---|---|---|---|
| 0 | 0 | — | < 7 |
| 1 | 14 | >= 7 | < 20 |
| 2 | 28–29 | >= 20 | < 35 |
| 3 | 42–43 | >= 35 | < 50 |
| 4 | 57 | >= 50 | < 65 |
| 5 | 71 | >= 65 (>= 70) | < 80 |
| 6 | 85–86 | >= 80 | < 95 |
| 7 | 100 | >= 95 | — |
Para outro máximo, “pelo menos N” é (N − 0,5) / máximo × 100. Com 5 pontos de combo, “pelo menos 4” é >= 70, e “pelo menos 5” é >= 90.
Inimigos por perto#
enemies >= 3: 3 ou mais inimigos dentro do raio do contador. O raio e “Só inimigos em combate” são definidos na página Geral (enemies.range e enemies.combatOnly no JSON). Se a contagem for desconhecida, a condição é falsa.
- Para que os inimigos sejam contados, as placas de identificação dos inimigos precisam estar ativadas no jogo (a tecla V, por padrão), sem ocultar os inimigos inferiores.
- Escolha o raio de acordo com as suas habilidades: Leque de Facas atinge até 8 metros, então 8 é o raio honesto para “Leque de Facas ou Mutilar”.
- Para um único alvo,
enemies <= 1é mais seguro do queenemies == 1: a regra continua funcionando se o inimigo não for contado.
Distância até o alvo#
target.distance <= 8: o alvo está a 8 metros ou menos. Sem alvo, a distância é desconhecida, e a condição é falsa. A distância é aproximada: a condição só é atendida quando a distância com certeza cumpre o limite; nos casos limítrofes, ela é falsa.
use Pistol_Shot when # o alvo está fora do alcance corpo a corpo, mas a até 20 metros
target.distance >= 10 and target.distance <= 20
Alternadores do painel#
Os alternadores são os botões do painel de configurações rápidas, exibido por cima do jogo, além das teclas de atalho. A rotação decide o que eles significam.
| Condição | Botão do painel | Tecla: Windows, macOS | Significado comum |
|---|---|---|---|
aoe == 1 | Alvos: Vários | F2, ⌃⇧T, em ciclo | Forçar o modo de vários alvos |
st == 1 | Alvos: Um | F2, ⌃⇧T, em ciclo | Forçar um único alvo |
aoe == 0 and st == 0 | Alvos: Auto | F2, ⌃⇧T, em ciclo | As regras decidem, normalmente por enemies |
cd == 1 | Burst | F3, ⌃⇧B | Grandes recargas: usar agora ou guardar |
defensives == 1 | Cura / defesa | — | Cura e habilidades defensivas |
ground_spells == 1 | No chão | — | Feitiços com alvo no chão |
movement == 1 | Movimento | — | Ações em movimento |
- Compare apenas com
== 0ou== 1. cd == 1é o botão Burst, não a recarga de um feitiço. A recarga de um slot éSlot.cd.aoeestnunca valem 1 ao mesmo tempo. A tecla do modo de alvos alterna em ciclo entre Auto, Um e Vários.- Por padrão, o Burst fica ligado, o modo de alvos fica em Auto e os outros botões ficam desligados. A KeyRota lembra o estado deles.
- Um botão do painel só fica ativo se a rotação ler esse alternador; com o perfil da Blizzard, todos ficam esmaecidos.
- Os alternadores nunca são desconhecidos.
Como as condições são avaliadas#
| Condição | Valor presente | Aura ausente | Desconhecido |
|---|---|---|---|
X.up | verdadeira | falsa | falsa |
X.down | falsa | verdadeira | falsa |
X.duration op N, X.stacks op N | comparada | comparada com 0 | falsa |
X.ready / X.oncd | conforme a prontidão | — | falsa (as duas) |
X.glow / X.noglow | conforme o destaque | — | falsa (as duas) |
X.cd, X.charges, um recurso, enemies, target.distance | comparada | — | falsa |
| um alternador | comparada | — | nunca |
Um grupo é verdadeiro quando todas as suas condições são verdadeiras. Uma regra é atendida quando pelo menos um grupo é verdadeiro ou quando ela não tem nenhum grupo.
“Não”, parênteses e OU dentro de um grupo#
O KRC não tem not, != nem parênteses. Tudo é expresso com grupos:
- “Não” é a condição par: o contrário de
.upé.down, de.readyé.oncd, de.glowé.noglow; para números, o operador inverso: o contrário de>= 70é< 70. - (A ou B) e C são dois grupos:
A and C,B and C. - A e não (B e C) são dois grupos:
A and não-B,A and não-C. - A mesma condição em todos os grupos (como a proteção de canalização) é repetida em cada grupo.
use Fan_of_Knives when # Leque de Facas: (modo Vários OU Auto e 2+ inimigos) E menos de 5 pontos de combo
aoe == 1 and Combo_Points < 70
or
st == 0 and enemies >= 2 and Combo_Points < 70
Resumo#
| Condição | Significado |
|---|---|
X.up / X.down | aura presente / ausente |
X.duration <= 30 | restam ≤ 30% (uma aura ausente tem 0) |
X.up and X.duration <= 30 | presente e na hora de renovar |
X.stacks >= 2 | 2 acúmulos ou mais (1 acúmulo é lido como 0) |
X.ready / X.oncd | slot pronto / não pronto por qualquer motivo |
X.cd <= 3 | restam ≤ 3% da recarga |
X.charges >= 2 | 2 cargas ou mais |
X.glow / X.noglow | botão destacado / não destacado |
PlayerHP <= 40 | a sua vida ≤ 40% |
TargetHP >= 50 | o alvo com ≥ 50% (falsa sem alvo) |
Combo_Points >= 70 | 5+ pontos de combo de 7 |
Energy >= 70 | energia ≥ 70% |
enemies >= 3 | 3+ inimigos no raio |
target.distance <= 8 | o alvo a até 8 metros (falsa sem alvo) |
aoe == 1 / st == 1 | modo Vários / Um |
aoe == 0 and st == 0 | modo Auto |
cd == 1 | Burst ligado |
defensives == 1 | Cura / defesa ligado |
ground_spells == 1 | No chão ligado |
movement == 1 | Movimento ligado |