Перейти к содержимому

Condizioni

Aggiornato il 18/10/2026

Una condizione è un singolo controllo: «Garrota è sul bersaglio», «l'energia è almeno al 70%», «Burst è attivo». Le condizioni formano i gruppi (AND), i gruppi formano una regola (OR). Nell'editor scegli una condizione da elenchi; nel testo KRC e nel JSON si scrive come stringa, ed è questa la forma usata negli esempi.

Sintassi#

TipoFormaEsempio
Aura: presente / assenteAura.up, Aura.downGarrote_DoT.down
Aura: durata rimanente, cumuliAura.duration op N, Aura.stacks op NRupture_DoT.duration <= 30
Slot: pronto / non prontoSlot.ready, Slot.oncdKingsbane.ready
Slot: tempo di recupero, caricheSlot.cd op N, Slot.charges op NDeathmark.cd <= 3
Slot: illuminazioneSlot.glow, Slot.noglowAmbush.glow
RisorsaRisorsa op NCombo_Points >= 70
Nemici vicinienemies op Nenemies >= 3
Distanza dal bersagliotarget.distance op Ntarget.distance <= 8
Interruttoreaoe, st, cd, defensives, ground_spells, movement == 0 o == 1cd == 1

Operatori: <, <=, ==, = (uguale a ==), >=, >. Non esiste «diverso da».

Il numero N è un intero da 0 a 100. Niente numeri negativi o decimali e niente oltre 100: il valore 120 è fuori da 0..100.

Gli spazi intorno all'operatore sono facoltativi: Energy>=70 ed Energy >= 70 sono la stessa cosa. Niente spazi all'interno di un nome o tra un nome e la sua proprietà: Garrote_DoT.up, non Garrote_DoT .up.

I riferimenti si fanno per nome (Garrote_DoT) o per numero: buff1, slot3, resource4. Le parole chiave sono in minuscolo.

Aure#

Un'aura è un tuo beneficio o una tua penalità sul bersaglio, dichiarata nell'elenco delle aure con il suo ID. I benefici e le penalità di altri giocatori non sono visibili.

.up e .down#

Envenom_Buff.up: l'aura è presente. Envenom_Buff.down: è assente. Se l'aura è sconosciuta (non letta), sono false entrambe.

Testo KRC
use Garrote when  # Garrota: applicala quando manca
	Garrote_DoT.down

.duration: durata rimanente in percentuale#

Rupture_DoT.duration <= 30: rimane al massimo il 30% della durata totale dell'aura. La durata totale è quella dell'applicazione in corso: Perforazione con 5 punti combo dura 24 s, con 7 dura 32 s, quindi il 30% corrisponde a 7,2 s e a 9,6 s.

Importante

Un'aura assente ha 0 rimanente. Quindi Rupture_DoT.duration <= 30 è vera anche quando Perforazione non c'è affatto. Per rinnovare solo un'aura presente, scrivi Rupture_DoT.up and Rupture_DoT.duration <= 30 e gestisci il caso «l'aura manca» con un gruppo separato con Rupture_DoT.down.

In WoW la finestra di pandemia è il 30% della durata: rinnovare un effetto al suo interno non fa perdere nulla. Da qui la soglia abituale <= 30.

Testo KRC
use Rupture when  # Perforazione
	Combo_Points >= 70 and Rupture_DoT.down  # nessun DoT
	or
	Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 30  # pandemia
JSON
{
  "use": "Rupture",
  "name": "Perforazione",
  "when": [
    {"all": ["Combo_Points >= 70", "Rupture_DoT.down"], "comment": "nessun DoT"},
    {"all": ["Combo_Points >= 70", "Rupture_DoT.up", "Rupture_DoT.duration <= 30"], "comment": "pandemia"}
  ]
}

Da secondi a percentuale: percentuale = secondi / durata totale × 100. Garrota dura 18 s: «restano 14 s» è <= 78, «restano 5,4 s» è <= 30.

Un'aura senza durata (Furtività e simili) risulta sempre con 1 rimanente. Per queste aure usa solo .up e .down.

.stacks: numero di cumuli#

Opportunity.stacks >= 6: l'aura ha 6 cumuli o più. Un'aura assente ha 0 cumuli.

Nota

Il conteggio dei cumuli parte da due: un'aura con un solo cumulo risulta 0, come un'aura senza contatore. Per verificare che un'aura sia presente usa .up; usa .stacks per soglie da 2 in su.

Testo KRC
use Pistol_Shot when  # Colpo di Pistola con 6 cumuli di Opportunità
	Opportunity.stacks >= 6 and Combo_Points < 80

Slot#

Le condizioni sugli slot leggono lo stato di un altro pulsante: «premi Affondo Venefico solo finché Stigma Letale non è ancora pronto» e simili. Lo slot della regola stessa viene controllato automaticamente: se il suo incantesimo non si può usare, KeyRota passa semplicemente alla regola successiva.

.ready e .oncd#

Kingsbane.ready: l'incantesimo dello slot si può usare, senza contare il tempo di recupero globale. Devono valere tutte queste condizioni:

  • l'incantesimo è appreso (il talento è preso);
  • la risorsa è sufficiente;
  • il bersaglio è a portata, se serve;
  • il tempo di recupero è inferiore a 0,2 s oppure è disponibile una carica;
  • Better Assistant mostra lo slot (Con bersaglio: hai un bersaglio; In combattimento: sei in combattimento).

Kingsbane.oncd: lo slot non è pronto per uno qualsiasi di questi motivi, non solo per il tempo di recupero. Se lo stato è sconosciuto, sono false entrambe.

Testo KRC
use Preparation when  # Preparazione quando Scarica d'Adrenalina, In Mezzo agli Occhi e Furia Omicida sono in recupero
	Adrenaline_Rush.oncd and Between_the_Eyes.oncd and Killing_Spree.oncd

.cd: tempo di recupero rimanente in percentuale#

Deathmark.cd <= 3: rimane al massimo il 3% del tempo di recupero totale. 0 significa pronto, 100 appena usato. Il tempo di recupero globale non è incluso. Per un incantesimo con cariche .cd è la ricarica della carica successiva, quindi l'incantesimo può essere pronto con cd > 0.

Tempo di recupero1% =Esempio
30 s0,3 sX.cd <= 10: restano ≤ 3 s
1 min0,6 sKingsbane.cd <= 3: restano ≤ 1,8 s
2 min1,2 sDeathmark.cd <= 3: restano ≤ 3,6 s; Deathmark.cd >= 44: mancano ancora ≥ 52 s
3 min1,8 sX.cd >= 50: mancano ancora ≥ 90 s

Un uso tipico è «tenerlo per un grande tempo di recupero»: non spendere Rovina dei Re se Stigma Letale sta per tornare disponibile, spenderla se Stigma Letale è ancora lontano.

Testo KRC
use Kingsbane when  # Rovina dei Re
	cd == 1 and Deathmark_DoT.up  # sotto Stigma Letale
	or
	cd == 1 and Deathmark.cd >= 44  # Stigma Letale a più di 52 s

.charges#

Barbed_Shot.charges >= 2: l'incantesimo ha 2 cariche o più. Gli incantesimi senza cariche ne hanno 0. Uno schema tipico evita che le cariche arrivino al massimo:

Testo KRC
use Barbed_Shot when  # Tiro Lacerante
	Barbed_Shot.charges >= 2  # entrambe le cariche: non sprecare la ricarica
	or
	Barbed_Shot.charges == 1 and Barbed_Shot.cd <= 20  # la seconda è quasi pronta

.glow e .noglow: il pulsante è illuminato#

Ambush.glow: il gioco evidenzia il pulsante di questo incantesimo (la stessa illuminazione che vedi sulla barra delle azioni quando si attiva un proc). Ambush.noglow: non lo evidenzia. Usa .glow solo se il pulsante di questo incantesimo si illumina davvero nel gioco; se non sei sicuro, controlla invece il beneficio del proc: Blindside.up.

Risorse#

Energy >= 70: almeno il 70% dell'energia massima. Tutte le risorse sono in percentuale, da 0 a 100: salute, energia, mana, rabbia, rune, punti combo.

RisorsaNumeroEsempio
Salute del giocatoreresource1 (PlayerHP)PlayerHP <= 40: salute al 40% o meno
Salute del bersaglioresource2 (TargetHP)TargetHP >= 50: il bersaglio non è ancora a metà. Sconosciuta senza bersaglio
Risorse della specializzazioneda resource3 in poiEnergy >= 70, Combo_Points >= 70, Rage >= 40

In percentuale: percentuale = valore / massimo × 100. Con 250 di energia massima, 175 di energia sono il 70%. L'energia massima e le altre risorse cambiano con i talenti, quindi le soglie in percentuale si trasferiscono tra personaggi meglio dei valori assoluti.

Punti combo. Con un massimo di 7 punti combo, un punto vale circa il 14,3%. Il valore viene arrotondato a un numero intero e, a seconda dell'arrotondamento, 2 punti risultano 28 o 29, 3 risultano 42 o 43, 6 risultano 85 o 86. Per questo metti la soglia a metà tra un gradino e l'altro: così è corretta con qualsiasi arrotondamento.

Punti combo%«almeno N»«al massimo N»
00—< 7
114>= 7< 20
228–29>= 20< 35
342–43>= 35< 50
457>= 50< 65
571>= 65 (>= 70)< 80
685–86>= 80< 95
7100>= 95—

Con un altro massimo, «almeno N» è (N − 0,5) / massimo × 100. Con 5 punti combo, «almeno 4» è >= 70 e «almeno 5» è >= 90.

Nemici vicini#

enemies >= 3: 3 o più nemici entro il raggio del contatore. Il raggio e «Solo nemici in combattimento» si impostano nella pagina Generale (enemies.range ed enemies.combatOnly nel JSON). Se il numero è sconosciuto, la condizione è falsa.

  • Perché i nemici vengano contati, nel gioco devono essere attive le barre delle unità nemiche (tasto V per impostazione predefinita), senza nascondere le unità minori.
  • Scegli il raggio in base alle tue abilità: Ventaglio di Lame colpisce entro 8 metri, quindi 8 è il raggio corretto per «Ventaglio di Lame o Mutilazione».
  • Per un singolo bersaglio enemies <= 1 è più sicuro di enemies == 1: la regola continua a funzionare anche se il nemico non viene contato.

Distanza dal bersaglio#

target.distance <= 8: il bersaglio si trova a 8 metri o meno. Senza bersaglio la distanza è sconosciuta e la condizione è falsa. La distanza è approssimativa: la condizione è vera solo quando la distanza rispetta sicuramente la soglia; nei casi limite è falsa.

Testo KRC
use Pistol_Shot when  # il bersaglio è fuori dalla mischia ma entro 20 metri
	target.distance >= 10 and target.distance <= 20

Interruttori del pannello#

Gli interruttori sono i pulsanti del pannello delle impostazioni rapide sopra il gioco, più i tasti rapidi. Il loro significato lo decide la rotazione.

CondizionePulsante del pannelloTasto: Windows, macOSSignificato abituale
aoe == 1Bersagli: MoltiF2, ⌃⇧T, a rotazioneForzare la modalità a più bersagli
st == 1Bersagli: UnoF2, ⌃⇧T, a rotazioneForzare un bersaglio singolo
aoe == 0 and st == 0Bersagli: AutoF2, ⌃⇧T, a rotazioneDecidono le regole, di solito in base a enemies
cd == 1BurstF3, ⌃⇧BGrandi tempi di recupero: usarli ora o tenerli
defensives == 1Cure / difesa—Cure e abilità difensive
ground_spells == 1A terra—Incantesimi con bersaglio a terra
movement == 1Movimento—Azioni in movimento
  • Confronta solo con == 0 o == 1.
  • cd == 1 è il pulsante Burst, non il tempo di recupero di un incantesimo. Il tempo di recupero di uno slot è Slot.cd.
  • aoe e st non valgono mai 1 contemporaneamente. Il tasto della modalità bersagli passa a rotazione tra Auto, Uno e Molti.
  • Per impostazione predefinita Burst è attivo, la modalità bersagli è Auto e gli altri pulsanti sono disattivi. KeyRota ne ricorda lo stato.
  • Un pulsante del pannello è attivo solo se la rotazione legge quell'interruttore; con il profilo Blizzard sono tutti attenuati.
  • Gli interruttori non sono mai sconosciuti.

Come vengono valutate le condizioni#

CondizioneValore presenteAura assenteSconosciuto
X.upverafalsafalsa
X.downfalsaverafalsa
X.duration op N, X.stacks op Nconfrontoconfronto con 0falsa
X.ready / X.oncdin base alla disponibilità—falsa (entrambe)
X.glow / X.noglowin base all'illuminazione—falsa (entrambe)
X.cd, X.charges, una risorsa, enemies, target.distanceconfronto—falsa
un interruttoreconfronto—mai

Un gruppo è vero quando tutte le sue condizioni sono vere. Una regola è soddisfatta quando almeno un gruppo è vero, oppure quando non ha alcun gruppo.

«Non», parentesi e OR all'interno di un gruppo#

KRC non ha not, != né parentesi. Tutto si esprime con i gruppi:

  • «Non» è la condizione opposta: il contrario di .up è .down, di .ready è .oncd, di .glow è .noglow; per i numeri si usa l'operatore inverso: il contrario di >= 70 è < 70.
  • (A o B) e C sono due gruppi: A and C, B and C.
  • A e non (B e C) sono due gruppi: A and non-B, A and non-C.
  • La stessa condizione in ogni gruppo (come la protezione della canalizzazione) va ripetuta in ciascun gruppo.
Testo KRC
use Fan_of_Knives when  # Ventaglio di Lame: (modalità Molti OPPURE Auto e 2+ nemici) E meno di 5 punti combo
	aoe == 1 and Combo_Points < 70
	or
	st == 0 and enemies >= 2 and Combo_Points < 70

Riepilogo#

CondizioneSignificato
X.up / X.downaura presente / assente
X.duration <= 30rimane ≤ 30% (un'aura assente ha 0)
X.up and X.duration <= 30presente e da rinnovare
X.stacks >= 22 cumuli o più (1 cumulo risulta 0)
X.ready / X.oncdslot pronto / non pronto per un motivo qualsiasi
X.cd <= 3rimane ≤ 3% del tempo di recupero
X.charges >= 22 cariche o più
X.glow / X.noglowpulsante illuminato / non illuminato
PlayerHP <= 40la tua salute ≤ 40%
TargetHP >= 50il bersaglio ≥ 50% (falsa senza bersaglio)
Combo_Points >= 705+ punti combo su 7
Energy >= 70energia ≥ 70%
enemies >= 33+ nemici nel raggio
target.distance <= 8il bersaglio entro 8 metri (falsa senza bersaglio)
aoe == 1 / st == 1modalità Molti / Uno
aoe == 0 and st == 0modalità Auto
cd == 1Burst attivo
defensives == 1Cure / difesa attivo
ground_spells == 1A terra attivo
movement == 1Movimento attivo