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

Exemples de modèles

Mis à jour le 18/10/2026

Chaque modèle est une petite rotation complète : le texte KRC à gauche, le même JSON à droite. Collez-le dans l’éditeur (Texte et JSON — Coller) pour voir à quoi il ressemble sur les pages Emplacements et Règles. Les ID de sort sont réels, tirés de Wowhead. À la fin : des rotations complètes.

Un DoT renouvelé dans la fenêtre de pandémie#

Appliquez un DoT quand il manque et renouvelez-le quand il reste 30 % ou moins : un renouvellement dans cette fenêtre ne fait rien perdre. Une aura absente a 0 restant : le renouvellement fait donc l’objet d’un groupe distinct avec .up.

Texte KRC
rotation "Modèle : DoT avec la fenêtre de pandémie"

buff1	Garrote_DoT = "Garrot sur la cible [703]"
slot1	Garrote = "Garrot"
slot4	Mutilate = "Estropier"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Garrote when  # Garrot
	Garrote_DoT.down  # pas de DoT
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30  # pandémie

use Mutilate when  # Estropier
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : DoT avec la fenêtre de pandémie",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "Garrot sur la cible [703]", "spell": 703}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "Garrot", "spell": 703},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329}
  ],
  "rules": [
    {"use": "Garrote", "name": "Garrot", "when": [
      {"all": ["Garrote_DoT.down"], "comment": "pas de DoT"},
      {"all": ["Garrote_DoT.up", "Garrote_DoT.duration <= 30"], "comment": "pandémie"}
    ]},
    {"use": "Mutilate", "name": "Estropier"}
  ]
}
  • Pour éviter de poser un nouveau DoT sur une cible sur le point de mourir quand il y a 3 cibles ou plus, ajoutez TargetHP >= 50 au groupe « pas de DoT », ainsi qu’un groupe distinct Garrote_DoT.down and enemies <= 2 pour une ou deux cibles.
  • Un DoT long à durée variable (Rupture : 4 s + 4 s par point de combo) fonctionne de la même façon : les pourcentages se rapportent à la durée de cette application.

Générateur et dépense selon les points de combo#

Dépensez à partir de 5 points de combo sur 7, générez en dessous. Les seuils sont placés à mi-chemin entre deux paliers, voir le tableau des points de combo.

Texte KRC
rotation "Modèle : générateur et dépense"

slot3	Envenom = "Envenimer"
slot4	Mutilate = "Estropier"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # Envenimer
	Combo_Points >= 70  # 5+ points de combo

use Mutilate when  # Estropier
	Combo_Points < 70  # moins de 5 points de combo
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : générateur et dépense",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "Envenimer", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329}
  ],
  "rules": [
    {"use": "Envenom", "name": "Envenimer", "when": [
      {"all": ["Combo_Points >= 70"], "comment": "5+ points de combo"}
    ]},
    {"use": "Mutilate", "name": "Estropier", "when": [
      {"all": ["Combo_Points < 70"], "comment": "moins de 5 points de combo"}
    ]}
  ]
}

Un générateur avec Combo_Points < 70 ne fait pas déborder les points de combo : à partir de 5, il se tait même si la dépense n’est pas encore prête (pas assez d’énergie), et KeyRota attend.

Mise en réserve de ressources#

Ne pas dépenser tout de suite, maintenir l’amélioration et mettre de l’énergie en réserve : Envenimer quand son amélioration se termine, sous Marque létale, ou quand l’énergie est élevée. Le reste du temps, aucune règle ne convient à partir de 5 points de combo, et KeyRota attend davantage d’énergie : c’est la mise en réserve.

Texte KRC
rotation "Modèle : mise en réserve d’énergie"

buff3	Envenom_Buff = "Envenimer [32645]"
buff4	Deathmark_DoT = "Marque létale sur la cible [360194]"
slot3	Envenom = "Envenimer"
slot4	Mutilate = "Estropier"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # Envenimer
	Combo_Points >= 70 and Envenom_Buff.down  # pas d’amélioration
	or
	Combo_Points >= 70 and Envenom_Buff.duration <= 20  # l’amélioration se termine
	or
	Combo_Points >= 70 and Deathmark_DoT.up  # sous Marque létale
	or
	Combo_Points >= 70 and Energy >= 70  # ne pas plafonner l’énergie

use Mutilate when  # Estropier
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : mise en réserve d’énergie",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 3, "alias": "Envenom_Buff", "label": "Envenimer [32645]", "spell": 32645},
    {"n": 4, "alias": "Deathmark_DoT", "label": "Marque létale sur la cible [360194]", "spell": 360194}
  ],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "Envenimer", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329}
  ],
  "rules": [
    {"use": "Envenom", "name": "Envenimer", "when": [
      {"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "pas d’amélioration"},
      {"all": ["Combo_Points >= 70", "Envenom_Buff.duration <= 20"], "comment": "l’amélioration se termine"},
      {"all": ["Combo_Points >= 70", "Deathmark_DoT.up"], "comment": "sous Marque létale"},
      {"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "ne pas plafonner l’énergie"}
    ]},
    {"use": "Mutilate", "name": "Estropier", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}
  • Le seuil Energy >= 70 empêche l’énergie de plafonner.
  • Le groupe Envenom_Buff.duration <= 20 se déclenche aussi sans l’amélioration (0 restant) ; le groupe .down est là pour la clarté.
  • Pour ajuster la mise en réserve, ne modifiez que le seuil d’énergie : plus bas, la dépense est plus précoce ; plus haut, la réserve dure plus longtemps.

Cible unique et plusieurs cibles#

Le joueur choisit le mode de cibles avec la touche du mode de cibles (elle passe en cycle par Auto, Une, Plusieurs) ; en mode Auto, les règles décident d’après le nombre d’ennemis. Chaque règle AoE reçoit deux groupes, « mode Plusieurs » et « Auto avec 2 ennemis ou plus » ; la règle de cible unique reçoit « mode Une » et « Auto avec un ennemi au plus ».

Texte KRC
rotation "Modèle : une ou plusieurs cibles"

slot3	Envenom = "Envenimer"
slot4	Mutilate = "Estropier"
slot6	Fan_of_Knives = "Éventail de couteaux"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # Envenimer
	Combo_Points >= 70

use Fan_of_Knives when  # Éventail de couteaux : 2+ cibles
	aoe == 1 and Combo_Points < 70  # mode Plusieurs
	or
	st == 0 and enemies >= 2 and Combo_Points < 70  # mode Auto, 2+ ennemis

use Mutilate when  # Estropier : cible unique
	st == 1 and Combo_Points < 70  # mode Une
	or
	aoe == 0 and enemies <= 1 and Combo_Points < 70  # mode Auto, un ennemi
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : une ou plusieurs cibles",
  "specID": 259,
  "enemies": {"range": 8, "combatOnly": true},
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "Envenimer", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329},
    {"n": 6, "alias": "Fan_of_Knives", "label": "Éventail de couteaux", "spell": 51723}
  ],
  "rules": [
    {"use": "Envenom", "name": "Envenimer", "when": [
      {"all": ["Combo_Points >= 70"]}
    ]},
    {"use": "Fan_of_Knives", "name": "Éventail de couteaux : 2+ cibles", "when": [
      {"all": ["aoe == 1", "Combo_Points < 70"], "comment": "mode Plusieurs"},
      {"all": ["st == 0", "enemies >= 2", "Combo_Points < 70"], "comment": "mode Auto, 2+ ennemis"}
    ]},
    {"use": "Mutilate", "name": "Estropier : cible unique", "when": [
      {"all": ["st == 1", "Combo_Points < 70"], "comment": "mode Une"},
      {"all": ["aoe == 0", "enemies <= 1", "Combo_Points < 70"], "comment": "mode Auto, un ennemi"}
    ]}
  ]
}
  • st == 0 and enemies >= 2 signifie « pas en mode Une » : en mode Plusieurs, la règle se déclenche de toute façon par son premier groupe.
  • enemies <= 1 est plus sûr que enemies == 1 : sur une cible unique, l’ennemi peut ne pas être compté.
  • Prenez le rayon du compteur (enemies.range) d’après votre technique AoE : Éventail de couteaux touche à 8 mètres.

Temps de recharge sur Burst et « seulement sous le temps de recharge »#

cd == 1 est le bouton Burst. Un temps de recharge majeur n’est pressé que tant que Burst est activé, et vous le gardez en réserve en désactivant Burst, par exemple avant une phase où le boss est insensible. Ce qui renforce la fenêtre du temps de recharge n’est pressé que pendant celle-ci : ici, Disparition seulement tant que Marque létale est sur la cible, et Plaie des rois sous Marque létale ou quand Marque létale est encore loin.

Texte KRC
rotation "Modèle : Burst"

buff1	Garrote_DoT = "Garrot sur la cible [703]"
buff2	Rupture_DoT = "Rupture sur la cible [1943]"
buff4	Deathmark_DoT = "Marque létale sur la cible [360194]"
buff10	Vanish_Buff = "Disparition [11327]"
slot1	Garrote = "Garrot"
slot4	Mutilate = "Estropier"
slot8	Deathmark = "Marque létale"
slot9	Kingsbane = "Plaie des rois"
slot10	Vanish = "Disparition"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Garrote when  # Garrot depuis le Camouflage
	Vanish_Buff.up

use Deathmark when  # Marque létale
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up  # Burst activé, DoT actifs

use Kingsbane when  # Plaie des rois
	cd == 1 and Deathmark_DoT.up and Combo_Points < 50  # sous Marque létale, 0-3 points de combo
	or
	cd == 1 and Deathmark.cd >= 44 and Combo_Points < 50  # Marque létale dans plus de 52 s

use Vanish when  # Disparition
	Deathmark_DoT.up and Combo_Points < 65  # sous Marque létale, 0-4 points de combo

use Mutilate when  # Estropier
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : Burst",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "Garrot sur la cible [703]", "spell": 703},
    {"n": 2, "alias": "Rupture_DoT", "label": "Rupture sur la cible [1943]", "spell": 1943},
    {"n": 4, "alias": "Deathmark_DoT", "label": "Marque létale sur la cible [360194]", "spell": 360194},
    {"n": 10, "alias": "Vanish_Buff", "label": "Disparition [11327]", "spell": 11327}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "Garrot", "spell": 703},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329},
    {"n": 8, "alias": "Deathmark", "label": "Marque létale", "spell": 360194},
    {"n": 9, "alias": "Kingsbane", "label": "Plaie des rois", "spell": 385627},
    {"n": 10, "alias": "Vanish", "label": "Disparition", "spell": 1856, "offGcd": true, "queue": true}
  ],
  "rules": [
    {"use": "Garrote", "name": "Garrot depuis le Camouflage", "when": [
      {"all": ["Vanish_Buff.up"]}
    ]},
    {"use": "Deathmark", "name": "Marque létale", "when": [
      {"all": ["cd == 1", "Garrote_DoT.up", "Rupture_DoT.up"], "comment": "Burst activé, DoT actifs"}
    ]},
    {"use": "Kingsbane", "name": "Plaie des rois", "when": [
      {"all": ["cd == 1", "Deathmark_DoT.up", "Combo_Points < 50"], "comment": "sous Marque létale, 0-3 points de combo"},
      {"all": ["cd == 1", "Deathmark.cd >= 44", "Combo_Points < 50"], "comment": "Marque létale dans plus de 52 s"}
    ]},
    {"use": "Vanish", "name": "Disparition", "when": [
      {"all": ["Deathmark_DoT.up", "Combo_Points < 65"], "comment": "sous Marque létale, 0-4 points de combo"}
    ]},
    {"use": "Mutilate", "name": "Estropier", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}
  • Disparition est hors GCD, mais a aussi Fenêtre de file d’attente (O + Q) : sinon elle serait pressée en plein GCD juste après Plaie des rois, avant l’arrivée des points de combo de Plaie des rois, et vérifierait l’ancien nombre.
  • Désactivez Burst, et Marque létale comme Plaie des rois attendent ; Disparition attend Marque létale.
  • Plaie des rois à 0–3 points de combo : 5 points de plus arrivent après elle, et aucun n’est perdu.

Protection d’une canalisation#

Le jeu termine certaines canalisations un peu avant le dernier coup, et l’appui suivant la coupe. La protection repose sur l’aura de la canalisation elle-même : tant qu’il en reste plus de 8 %, aucune règle n’est remplie. La condition figure dans chaque groupe de chaque règle. L’indicateur C sur l’emplacement de la canalisation l’empêche d’être pressé deux fois au démarrage.

Texte KRC
rotation "Modèle : protection d’une canalisation"

buff10	Killing_Spree_Buff = "Série meurtrière, canalisation [51690]"
slot8	Killing_Spree = "Série meurtrière"
slot9	Dispatch = "Couperet"
slot11	Sinister_Strike = "Attaque pernicieuse"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Killing_Spree when  # Série meurtrière
	Combo_Points >= 80 and Killing_Spree_Buff.duration <= 8

use Dispatch when  # Couperet
	Combo_Points >= 80 and Killing_Spree_Buff.duration <= 8

use Sinister_Strike when  # Attaque pernicieuse
	Combo_Points < 80 and Killing_Spree_Buff.duration <= 8
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : protection d’une canalisation",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 10, "alias": "Killing_Spree_Buff", "label": "Série meurtrière, canalisation [51690]", "spell": 51690}
  ],
  "slots": [
    {"n": 8, "alias": "Killing_Spree", "label": "Série meurtrière", "spell": 51690, "channel": true},
    {"n": 9, "alias": "Dispatch", "label": "Couperet", "spell": 2098},
    {"n": 11, "alias": "Sinister_Strike", "label": "Attaque pernicieuse", "spell": 193315}
  ],
  "rules": [
    {"use": "Killing_Spree", "name": "Série meurtrière", "when": [
      {"all": ["Combo_Points >= 80", "Killing_Spree_Buff.duration <= 8"]}
    ]},
    {"use": "Dispatch", "name": "Couperet", "when": [
      {"all": ["Combo_Points >= 80", "Killing_Spree_Buff.duration <= 8"]}
    ]},
    {"use": "Sinister_Strike", "name": "Attaque pernicieuse", "when": [
      {"all": ["Combo_Points < 80", "Killing_Spree_Buff.duration <= 8"]}
    ]}
  ]
}
  • Pourquoi <= 8 et pas .down : sans canalisation, l’aura a 0 restant et la condition est remplie ; pendant la canalisation, elle n’attend que les 8 % finaux, et non des fractions de seconde supplémentaires après la fin.
  • Si l’aura n’est pas lue, la condition est fausse dans toutes les règles et KeyRota ne presse rien : mieux vaut sauter un appui que couper la canalisation. L’aura de la canalisation doit donc figurer dans le profil Better Assistant.

Une macro hors GCD dans la fenêtre de file d’attente#

Il existe deux sortes de « hors GCD » :

  • O : le bouton est pressé immédiatement, même en plein GCD. C’est ainsi qu’Osselets relancés (qui prolonge Jet d’osselets) ne fait perdre aucun temps.
  • O + Q : le bouton est hors GCD, mais sa macro ou son résultat dépend du GCD. La macro Poussée d'adrénaline avec Série meurtrière en deuxième ligne (Série meurtrière est soumise au GCD) est pressée dans la fenêtre de file d’attente, à la fin du GCD, et Série meurtrière part juste après Poussée d'adrénaline.
La macro dans le jeu (emplacement 1)
#showtooltip Poussée d'adrénaline
/cast Poussée d'adrénaline
/cast Série meurtrière
Texte KRC
rotation "Modèle : hors GCD"

buff2	Triple_Threat = "Jet d’osselets, niveau 3 [1214935]"
buff3	Jackpot = "Jet d’osselets, niveau 4 [1214937]"
buff6	Adrenaline_Rush_Buff = "Poussée d'adrénaline [13750]"
slot1	Adrenaline_Rush = "Poussée d'adrénaline + Série meurtrière (macro)"
slot4	Keep_It_Rolling = "Osselets relancés"
slot11	Sinister_Strike = "Attaque pernicieuse"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Adrenaline_Rush when  # Poussée d'adrénaline (+ Série meurtrière par la macro)
	Adrenaline_Rush_Buff.down and Combo_Points >= 7 and Combo_Points < 80  # 1-5 points de combo : à 0, la Série meurtrière de la macro ne part pas

use Keep_It_Rolling when  # Osselets relancés
	Triple_Threat.up
	or
	Jackpot.up

use Sinister_Strike when  # Attaque pernicieuse
	Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : hors GCD",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 2, "alias": "Triple_Threat", "label": "Jet d’osselets, niveau 3 [1214935]", "spell": 1214935},
    {"n": 3, "alias": "Jackpot", "label": "Jet d’osselets, niveau 4 [1214937]", "spell": 1214937},
    {"n": 6, "alias": "Adrenaline_Rush_Buff", "label": "Poussée d'adrénaline [13750]", "spell": 13750}
  ],
  "slots": [
    {"n": 1, "alias": "Adrenaline_Rush", "label": "Poussée d'adrénaline + Série meurtrière (macro)", "spell": 13750, "offGcd": true, "queue": true},
    {"n": 4, "alias": "Keep_It_Rolling", "label": "Osselets relancés", "spell": 381989, "offGcd": true},
    {"n": 11, "alias": "Sinister_Strike", "label": "Attaque pernicieuse", "spell": 193315}
  ],
  "rules": [
    {"use": "Adrenaline_Rush", "name": "Poussée d'adrénaline (+ Série meurtrière par la macro)", "when": [
      {"all": ["Adrenaline_Rush_Buff.down", "Combo_Points >= 7", "Combo_Points < 80"], "comment": "1-5 points de combo : à 0, la Série meurtrière de la macro ne part pas"}
    ]},
    {"use": "Keep_It_Rolling", "name": "Osselets relancés", "when": [
      {"all": ["Triple_Threat.up"]},
      {"all": ["Jackpot.up"]}
    ]},
    {"use": "Sinister_Strike", "name": "Attaque pernicieuse", "when": [
      {"all": ["Combo_Points < 80"]}
    ]}
  ]
}

L’ID d’un emplacement de macro est celui du sort principal de la macro (Poussée d'adrénaline, 13750) : Better Assistant s’en sert pour placer le sort de la macro dans l’emplacement, et KeyRota prend la touche du bouton de la macro sur votre barre.

Une défense selon la vie#

Un soin ou une technique défensive en dessous d’un seuil de vie, uniquement quand Soins / défense est activé dans le panneau. L’emplacement est affiché en combat (En combat, "show": "combat") pour fonctionner sans cible. La règle vient en premier : à faible vie, elle compte plus que les dégâts.

Texte KRC
rotation "Modèle : une défense selon la vie"

slot4	Mutilate = "Estropier"
slot11	Crimson_Vial = "Fiole cramoisie"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Crimson_Vial when  # Fiole cramoisie
	defensives == 1 and PlayerHP <= 40  # vie à 40 % ou moins

use Mutilate when  # Estropier
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : une défense selon la vie",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329},
    {"n": 11, "alias": "Crimson_Vial", "label": "Fiole cramoisie", "spell": 185311, "show": "combat"}
  ],
  "rules": [
    {"use": "Crimson_Vial", "name": "Fiole cramoisie", "when": [
      {"all": ["defensives == 1", "PlayerHP <= 40"], "comment": "vie à 40 % ou moins"}
    ]},
    {"use": "Mutilate", "name": "Estropier"}
  ]
}

Soins / défense est désactivé par défaut : activez-le dans le panneau de réglages rapides si vous voulez des défenses automatiques.

Procs : par amélioration ou par surbrillance#

Vérifiez un proc par son amélioration : dans la rotation de raid Assassinat, l’amélioration Angle mort (Blindside.up) autorise la règle d’Embuscade. Si le jeu met le bouton en surbrillance lors d’un proc, une règle peut lire la surbrillance (Ambush.glow), mais seulement si vous voyez réellement cette surbrillance sur votre barre.

Texte KRC
rotation "Modèle : un proc"

buff7	Blindside = "Angle mort [121153]"
slot4	Mutilate = "Estropier"
slot5	Ambush = "Embuscade"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Ambush when  # Embuscade (Angle mort)
	Blindside.up and Combo_Points < 70

use Mutilate when  # Estropier
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : un proc",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 7, "alias": "Blindside", "label": "Angle mort [121153]", "spell": 121153}
  ],
  "slots": [
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329},
    {"n": 5, "alias": "Ambush", "label": "Embuscade", "spell": 8676}
  ],
  "rules": [
    {"use": "Ambush", "name": "Embuscade (Angle mort)", "when": [
      {"all": ["Blindside.up", "Combo_Points < 70"]}
    ]},
    {"use": "Mutilate", "name": "Estropier", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}

Charges#

Un sort à charges est pressé à deux charges ou quand la deuxième est presque revenue, pour que sa recharge ne soit jamais à l’arrêt. Exemple : Tir acéré du chasseur (2 charges).

Texte KRC
rotation "Modèle : charges"

slot1	Barbed_Shot = "Tir acéré"
slot2	Kill_Command = "Ordre de tuer"
resource1	PlayerHP
resource2	TargetHP
resource3	Focus

use Barbed_Shot when  # Tir acéré
	Barbed_Shot.charges >= 2  # les deux charges
	or
	Barbed_Shot.charges == 1 and Barbed_Shot.cd <= 20  # la deuxième revient bientôt

use Kill_Command when  # Ordre de tuer
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : charges",
  "specID": 253,
  "resources": ["PlayerHP", "TargetHP", "Focus"],
  "slots": [
    {"n": 1, "alias": "Barbed_Shot", "label": "Tir acéré", "spell": 217200},
    {"n": 2, "alias": "Kill_Command", "label": "Ordre de tuer", "spell": 34026}
  ],
  "rules": [
    {"use": "Barbed_Shot", "name": "Tir acéré", "when": [
      {"all": ["Barbed_Shot.charges >= 2"], "comment": "les deux charges"},
      {"all": ["Barbed_Shot.charges == 1", "Barbed_Shot.cd <= 20"], "comment": "la deuxième revient bientôt"}
    ]},
    {"use": "Kill_Command", "name": "Ordre de tuer"}
  ]
}

Pour un sort à charges, .cd est la recharge de la charge suivante : Barbed_Shot.cd <= 20 signifie qu’il reste au plus 20 % de sa recharge.

Distance de la cible#

Quand la cible est hors de portée de mêlée mais à portée d’une technique à distance, pressez celle-ci au lieu de rester inactif. Sans cible, la distance est inconnue et la règle se tait.

Texte KRC
rotation "Modèle : distance"

slot10	Pistol_Shot = "Coup de pistolet"
slot11	Sinister_Strike = "Attaque pernicieuse"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Pistol_Shot when  # Coup de pistolet : la cible est loin
	target.distance >= 10 and target.distance <= 20 and Combo_Points < 80

use Sinister_Strike when  # Attaque pernicieuse
	Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : distance",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 10, "alias": "Pistol_Shot", "label": "Coup de pistolet", "spell": 185763},
    {"n": 11, "alias": "Sinister_Strike", "label": "Attaque pernicieuse", "spell": 193315}
  ],
  "rules": [
    {"use": "Pistol_Shot", "name": "Coup de pistolet : la cible est loin", "when": [
      {"all": ["target.distance >= 10", "target.distance <= 20", "Combo_Points < 80"]}
    ]},
    {"use": "Sinister_Strike", "name": "Attaque pernicieuse", "when": [
      {"all": ["Combo_Points < 80"]}
    ]}
  ]
}

Une règle de mêlée n’a pas besoin de vérifier la distance : si la cible est trop loin, le sort ne peut pas être utilisé, et KeyRota passe d’elle-même à la règle suivante.

Déplacement#

Le bouton Déplacement du panneau est votre signal à la rotation : « je vais devoir courir ». C’est la rotation qui décide quoi faire, par exemple passer à une technique à distance.

Texte KRC
rotation "Modèle : déplacement"

slot10	Pistol_Shot = "Coup de pistolet"
slot11	Sinister_Strike = "Attaque pernicieuse"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Pistol_Shot when  # Coup de pistolet en déplacement
	movement == 1 and Combo_Points < 80

use Sinister_Strike when  # Attaque pernicieuse
	movement == 0 and Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : déplacement",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 10, "alias": "Pistol_Shot", "label": "Coup de pistolet", "spell": 185763},
    {"n": 11, "alias": "Sinister_Strike", "label": "Attaque pernicieuse", "spell": 193315}
  ],
  "rules": [
    {"use": "Pistol_Shot", "name": "Coup de pistolet en déplacement", "when": [
      {"all": ["movement == 1", "Combo_Points < 80"]}
    ]},
    {"use": "Sinister_Strike", "name": "Attaque pernicieuse", "when": [
      {"all": ["movement == 0", "Combo_Points < 80"]}
    ]}
  ]
}

Sorts ciblés au sol#

Le bouton Au sol autorise les sorts qui se placent au sol. KeyRota ne fait que presser une touche ; c’est donc la macro qui définit l’endroit : [@player] à vos pieds, [@cursor] sous le curseur.

La macro dans le jeu
#showtooltip Mort et décomposition
/cast [@player] Mort et décomposition
Texte KRC
rotation "Modèle : sorts au sol"

slot1	Death_and_Decay = "Mort et décomposition (macro @player)"
resource1	PlayerHP
resource2	TargetHP
resource3	Runes
resource4	Runic_Power

use Death_and_Decay when  # Mort et décomposition
	ground_spells == 1 and enemies >= 2  # Au sol activé, 2+ ennemis
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Modèle : sorts au sol",
  "specID": 250,
  "resources": ["PlayerHP", "TargetHP", "Runes", "Runic_Power"],
  "slots": [
    {"n": 1, "alias": "Death_and_Decay", "label": "Mort et décomposition (macro @player)", "spell": 43265}
  ],
  "rules": [
    {"use": "Death_and_Decay", "name": "Mort et décomposition", "when": [
      {"all": ["ground_spells == 1", "enemies >= 2"], "comment": "Au sol activé, 2+ ennemis"}
    ]}
  ]
}

La rotation de départ complète#

La rotation de l’exemple de l’éditeur : deux DoT, un générateur, une dépense avec mise en réserve, une défense et Marque létale sur Burst.

Texte KRC
rotation "Assassinat : exemple v1"

# Exemple de la documentation KeyRota : deux saignements, un générateur, une dépense avec mise en réserve d’énergie,
# une défense à faible vie et Marque létale sur le bouton Burst.
# Points de combo en pourcentage de 7 : 5 points = 71 %, seuil 70 = 5+.

buff1	Garrote_DoT = "Garrot sur la cible [703]"
buff2	Rupture_DoT = "Rupture sur la cible [1943]"
buff3	Envenom_Buff = "Envenimer [32645]"
buff4	Deathmark_DoT = "Marque létale sur la cible [360194]"
slot1	Garrote = "Garrot"
slot2	Rupture = "Rupture"
slot3	Envenom = "Envenimer"
slot4	Mutilate = "Estropier"
slot5	Deathmark = "Marque létale"
slot6	Crimson_Vial = "Fiole cramoisie"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

# --- Défense : seulement avec « Soins / défense » activé ---
use Crimson_Vial when  # Fiole cramoisie
	defensives == 1 and PlayerHP <= 40  # vie à 40 % ou moins

# --- Temps de recharge : seulement avec Burst activé ---
use Deathmark when  # Marque létale
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Envenom_Buff.up  # Burst activé, saignements et Envenimer actifs

# --- Saignements ---
use Garrote when  # Garrot
	Garrote_DoT.down  # pas de saignement
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30  # fenêtre de pandémie : 30 % ou moins restants

use Rupture when  # Rupture
	Combo_Points >= 70 and Rupture_DoT.down  # 5+ points de combo, pas de saignement
	or
	Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 30  # 5+ points de combo, fenêtre de pandémie

# --- Dépense : 5+ points de combo, en réservant l’énergie ---
use Envenom when  # Envenimer
	Combo_Points >= 70 and Envenom_Buff.down  # pas d’amélioration
	or
	Combo_Points >= 70 and Envenom_Buff.up and Envenom_Buff.duration <= 20  # l’amélioration se termine
	or
	Combo_Points >= 70 and Energy >= 70  # ne pas plafonner l’énergie
	or
	Combo_Points >= 70 and Deathmark_DoT.up  # Marque létale sur la cible

# --- Générateur : moins de 5 points de combo ---
use Mutilate when  # Estropier
	Combo_Points < 70  # moins de 5 points de combo
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "Assassinat : exemple v1",
  "specID": 259,
  "ignoreMainIcon": true,
  "enemies": {"range": 8, "combatOnly": true},
  "notes": [
    "Exemple de la documentation KeyRota : deux saignements, un générateur, une dépense avec mise en réserve d’énergie,",
    "une défense à faible vie et Marque létale sur le bouton Burst.",
    "Points de combo en pourcentage de 7 : 5 points = 71 %, seuil 70 = 5+."
  ],
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "Garrot sur la cible [703]", "spell": 703},
    {"n": 2, "alias": "Rupture_DoT", "label": "Rupture sur la cible [1943]", "spell": 1943},
    {"n": 3, "alias": "Envenom_Buff", "label": "Envenimer [32645]", "spell": 32645},
    {"n": 4, "alias": "Deathmark_DoT", "label": "Marque létale sur la cible [360194]", "spell": 360194}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "Garrot", "spell": 703, "show": "target"},
    {"n": 2, "alias": "Rupture", "label": "Rupture", "spell": 1943, "show": "target"},
    {"n": 3, "alias": "Envenom", "label": "Envenimer", "spell": 32645, "show": "target"},
    {"n": 4, "alias": "Mutilate", "label": "Estropier", "spell": 1329, "show": "target"},
    {"n": 5, "alias": "Deathmark", "label": "Marque létale", "spell": 360194, "show": "target"},
    {"n": 6, "alias": "Crimson_Vial", "label": "Fiole cramoisie", "spell": 185311, "show": "combat"}
  ],
  "rules": [
    {
      "use": "Crimson_Vial",
      "name": "Fiole cramoisie",
      "note": ["--- Défense : seulement avec « Soins / défense » activé ---"],
      "when": [{"all": ["defensives == 1", "PlayerHP <= 40"], "comment": "vie à 40 % ou moins"}]
    },
    {
      "use": "Deathmark",
      "name": "Marque létale",
      "note": ["--- Temps de recharge : seulement avec Burst activé ---"],
      "when": [
        {
          "all": ["cd == 1", "Garrote_DoT.up", "Rupture_DoT.up", "Envenom_Buff.up"],
          "comment": "Burst activé, saignements et Envenimer actifs"
        }
      ]
    },
    {
      "use": "Garrote",
      "name": "Garrot",
      "note": ["--- Saignements ---"],
      "when": [
        {"all": ["Garrote_DoT.down"], "comment": "pas de saignement"},
        {
          "all": ["Garrote_DoT.up", "Garrote_DoT.duration <= 30"],
          "comment": "fenêtre de pandémie : 30 % ou moins restants"
        }
      ]
    },
    {
      "use": "Rupture",
      "name": "Rupture",
      "when": [
        {
          "all": ["Combo_Points >= 70", "Rupture_DoT.down"],
          "comment": "5+ points de combo, pas de saignement"
        },
        {
          "all": ["Combo_Points >= 70", "Rupture_DoT.up", "Rupture_DoT.duration <= 30"],
          "comment": "5+ points de combo, fenêtre de pandémie"
        }
      ]
    },
    {
      "use": "Envenom",
      "name": "Envenimer",
      "note": ["--- Dépense : 5+ points de combo, en réservant l’énergie ---"],
      "when": [
        {"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "pas d’amélioration"},
        {
          "all": ["Combo_Points >= 70", "Envenom_Buff.up", "Envenom_Buff.duration <= 20"],
          "comment": "l’amélioration se termine"
        },
        {"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "ne pas plafonner l’énergie"},
        {"all": ["Combo_Points >= 70", "Deathmark_DoT.up"], "comment": "Marque létale sur la cible"}
      ]
    },
    {
      "use": "Mutilate",
      "name": "Estropier",
      "note": ["--- Générateur : moins de 5 points de combo ---"],
      "when": [{"all": ["Combo_Points < 70"], "comment": "moins de 5 points de combo"}]
    }
  ]
}

Une rotation de raid complète#

Une vraie rotation de raid Assassinat (Fatebound) : 15 règles, Burst, Disparition sous Marque létale, copie des DoT avec Tempête cramoisie, AoE et cible unique, mise en réserve d’énergie.

Texte KRC : Assassinat, raid
Texte KRC
rotation "Assassinat, raid v2.8 : bouton Burst, Method 12.1, SimulationCraft, meilleurs logs"

# Assassinat, raid. Base : le guide Method (patch 12.1), la liste d’actions de SimulationCraft et les meilleurs joueurs de Warcraft Logs.
# Ignorer l’icône principale : activé. Marque létale et Plaie des rois seulement avec Burst activé ; Disparition seulement tant que Marque létale est sur la cible.
# Points de combo en pourcentage de 7 : 3 = 43 %, 4 = 57 %, 5 = 71 %, 6 = 86 %, 7 = 100 %.

# v2.4 : Plaie des rois seulement à 0–3 points de combo (Frappes implacables en donnent ensuite 5), Disparition à 0–4 (Garrot depuis le Camouflage en donne 3).
# v2.5 : Tempête cramoisie seulement quand un seul des deux saignements est frais ; avant, elle partait plusieurs fois de suite.
# v2.6 : si Burst est activé et que Marque létale est prête ou déjà sur la cible, Garrot et Rupture vont sur une cible quelle que soit sa vie.
# v2.7 et v2.8 : nouvelle cible sans saignements, Burst activé, Marque létale prête, 2+ ennemis à proximité : Tempête cramoisie copie d’abord les saignements (avec n’importe quels points de combo), puis Marque létale.

buff1	Garrote_DoT = "Garrot sur la cible [703]"
buff2	Rupture_DoT = "Rupture sur la cible [1943]"
buff3	Envenom_Buff = "Envenimer [32645]"
buff4	Deathmark_DoT = "Marque létale sur la cible [360194]"
buff5	Improved_Garrote = "Garrot amélioré [392401]"
buff6	Darkest_Night = "Nuit noire [457280]"
buff7	Blindside = "Angle mort [121153]"
buff8	Stealth_Buff = "Camouflage [1784]"
buff9	Stealth_Sub = "Camouflage (Subterfuge) [115191]"
buff10	Vanish_Buff = "Disparition [11327]"
slot1	Garrote = "Garrot"
slot2	Rupture = "Rupture"
slot3	Envenom = "Envenimer"
slot4	Mutilate = "Estropier"
slot5	Ambush = "Embuscade"
slot6	Fan_of_Knives = "Éventail de couteaux"
slot7	Crimson_Tempest = "Tempête cramoisie"
slot8	Deathmark = "Marque létale"
slot9	Kingsbane = "Plaie des rois"
slot10	Vanish = "Disparition"
slot11	Crimson_Vial = "Fiole cramoisie"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

# --- Défense : seulement avec « Soins / défense » activé ---
use Crimson_Vial when  # Fiole cramoisie
	defensives == 1 and PlayerHP <= 40  # vie à 40 % ou moins

# === Camouflage ===
use Garrote when  # Garrot depuis le Camouflage
	Stealth_Buff.up  # camouflé
	or
	Stealth_Sub.up  # camouflé (Subterfuge)
	or
	Vanish_Buff.up  # juste après Disparition

use Garrote when  # Garrot : fenêtre de Garrot amélioré
	Improved_Garrote.up and Garrote_DoT.down  # fenêtre ouverte, pas de Garrot sur la cible
	or
	Improved_Garrote.up and Garrote_DoT.duration <= 78  # SimulationCraft : renouveler quand il reste 14 s sur 18

# === Temps de recharge (bouton Burst) ===
use Deathmark when  # Marque létale
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Kingsbane.cd <= 3 and Envenom_Buff.duration >= 35 and Stealth_Buff.down and Stealth_Sub.down  # Burst activé, saignements actifs, Plaie des rois prête, Envenimer encore 2 s ou plus

use Kingsbane when  # Plaie des rois
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Envenom_Buff.up and Deathmark_DoT.up and Combo_Points < 50 and Stealth_Buff.down and Stealth_Sub.down  # Burst activé, Marque létale sur la cible, 0–3 points de combo
	or
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Envenom_Buff.up and Deathmark.cd >= 44 and Combo_Points < 50 and Stealth_Buff.down and Stealth_Sub.down  # Burst activé, Marque létale dans plus de 52 s, 0–3 points de combo

use Vanish when  # Disparition
	Deathmark_DoT.up and Improved_Garrote.down and Combo_Points < 65 and Stealth_Buff.down and Stealth_Sub.down  # Marque létale sur la cible, 0–4 points de combo (Garrot depuis le Camouflage en donne 3)

# === Saignements ===
use Crimson_Tempest when  # Tempête cramoisie : copier les saignements sur une nouvelle cible pour Marque létale
	cd == 1 and Deathmark.cd <= 3 and Garrote_DoT.down and Rupture_DoT.down and Envenom_Buff.up and enemies >= 2  # points de combo indifférents

# Pas de nouveau saignement sur des adds presque morts (comme « la cible vit encore 12 s ou plus » de SimulationCraft) : sur 1–2 cibles et en mode « Une », toujours ;
# sur 3+ cibles, seulement si la cible a 50 %+ de vie, ou si Burst est activé et Marque létale prête, ou si Marque létale est déjà sur la cible.
use Garrote when  # Garrot : entretien
	Garrote_DoT.down and Combo_Points < 95 and enemies <= 2
	or
	Garrote_DoT.down and Combo_Points < 95 and st == 1
	or
	Garrote_DoT.down and Combo_Points < 95 and TargetHP >= 50  # 3+ cibles : seulement une cible qui va durer
	or
	Garrote_DoT.down and Combo_Points < 95 and cd == 1 and Deathmark.cd <= 3  # Burst activé et Marque létale prête : la vie n’importe pas
	or
	Garrote_DoT.down and Combo_Points < 95 and Deathmark_DoT.up  # Marque létale sur la cible (saignements copiés)
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30 and Combo_Points < 95  # fenêtre de pandémie (déjà actif)

use Rupture when  # Rupture
	Combo_Points >= 70 and Rupture_DoT.down and enemies <= 2
	or
	Combo_Points >= 70 and Rupture_DoT.down and st == 1
	or
	Combo_Points >= 70 and Rupture_DoT.down and TargetHP >= 50  # 3+ cibles : seulement une cible qui va durer
	or
	Combo_Points >= 70 and Rupture_DoT.down and cd == 1 and Deathmark.cd <= 3  # Burst activé et Marque létale prête
	or
	Combo_Points >= 70 and Rupture_DoT.down and Deathmark_DoT.up  # Marque létale sur la cible
	or
	Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 25 and Darkest_Night.down  # renouvellement ; ne pas y dépenser les 7 points de combo de Nuit noire

# === Générateurs : jusqu’à 5 points de combo, jusqu’à 7 avec Nuit noire ===

# Tempête cramoisie une fois juste après une Rupture fraîche (sur 4+ cibles aussi après un Garrot frais), sinon Éventail de couteaux.
# Un seul des deux doit être frais (94 %+) : juste après Tempête cramoisie, les deux le sont, la suivante attend donc.
use Crimson_Tempest when  # Tempête cramoisie : répandre les saignements juste après une Rupture fraîche ou un Garrot frais
	aoe == 1 and Darkest_Night.down and Combo_Points < 70 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94
	or
	aoe == 1 and Darkest_Night.down and Combo_Points < 70 and Garrote_DoT.up and Rupture_DoT.up and Garrote_DoT.duration >= 94 and Rupture_DoT.duration < 94
	or
	aoe == 1 and Darkest_Night.up and Combo_Points < 95 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94
	or
	aoe == 1 and Darkest_Night.up and Combo_Points < 95 and Garrote_DoT.up and Rupture_DoT.up and Garrote_DoT.duration >= 94 and Rupture_DoT.duration < 94
	or
	st == 0 and enemies >= 4 and Darkest_Night.down and Combo_Points < 70 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94
	or
	st == 0 and enemies >= 4 and Darkest_Night.down and Combo_Points < 70 and Garrote_DoT.up and Rupture_DoT.up and Garrote_DoT.duration >= 94 and Rupture_DoT.duration < 94
	or
	st == 0 and enemies >= 4 and Darkest_Night.up and Combo_Points < 95 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94
	or
	st == 0 and enemies >= 4 and Darkest_Night.up and Combo_Points < 95 and Garrote_DoT.up and Rupture_DoT.up and Garrote_DoT.duration >= 94 and Rupture_DoT.duration < 94
	or
	st == 0 and enemies >= 2 and enemies <= 3 and Darkest_Night.down and Combo_Points < 70 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94  # 2–3 cibles : seulement après une Rupture fraîche
	or
	st == 0 and enemies >= 2 and enemies <= 3 and Darkest_Night.up and Combo_Points < 95 and Garrote_DoT.up and Rupture_DoT.up and Rupture_DoT.duration >= 94 and Garrote_DoT.duration < 94  # 2–3 cibles : seulement après une Rupture fraîche

use Fan_of_Knives when  # Éventail de couteaux : cible unique, Nuit noire, il manque un point de combo
	st == 1 and Darkest_Night.up and Combo_Points >= 80 and Combo_Points < 95
	or
	aoe == 0 and enemies <= 1 and Darkest_Night.up and Combo_Points >= 80 and Combo_Points < 95

use Fan_of_Knives when  # Éventail de couteaux : 2+ cibles
	aoe == 1 and Darkest_Night.down and Combo_Points < 70
	or
	aoe == 1 and Darkest_Night.up and Combo_Points < 95
	or
	st == 0 and enemies >= 2 and Darkest_Night.down and Combo_Points < 70
	or
	st == 0 and enemies >= 2 and Darkest_Night.up and Combo_Points < 95

use Ambush when  # Embuscade (Angle mort)
	Blindside.up and st == 1 and Darkest_Night.down and Combo_Points < 70
	or
	Blindside.up and st == 1 and Darkest_Night.up and Combo_Points < 95
	or
	Blindside.up and aoe == 0 and enemies <= 1 and Darkest_Night.down and Combo_Points < 70
	or
	Blindside.up and aoe == 0 and enemies <= 1 and Darkest_Night.up and Combo_Points < 95

use Mutilate when  # Estropier
	st == 1 and Darkest_Night.down and Combo_Points < 70
	or
	st == 1 and Darkest_Night.up and Combo_Points < 95
	or
	aoe == 0 and enemies <= 1 and Darkest_Night.down and Combo_Points < 70
	or
	aoe == 0 and enemies <= 1 and Darkest_Night.up and Combo_Points < 95

# === Dépense : 5+ points de combo (7 avec Nuit noire) ===
# SimulationCraft : ne pas l’utiliser tout de suite mais garder Envenimer actif : dans la dernière seconde de l’amélioration, tant que Marque létale est sur la cible, avant que l’énergie ne plafonne, plus tôt sur 4+ cibles.
use Envenom when  # Envenimer
	Darkest_Night.down and Combo_Points >= 70 and Envenom_Buff.down
	or
	Darkest_Night.down and Combo_Points >= 70 and Envenom_Buff.duration <= 20  # il reste environ 1 s
	or
	Darkest_Night.down and Combo_Points >= 70 and Deathmark_DoT.up
	or
	Darkest_Night.down and Combo_Points >= 70 and Energy >= 70  # ne pas plafonner l’énergie
	or
	Darkest_Night.down and Combo_Points >= 70 and Energy >= 30 and enemies >= 4
	or
	Darkest_Night.up and Combo_Points >= 95 and Envenom_Buff.down
	or
	Darkest_Night.up and Combo_Points >= 95 and Envenom_Buff.duration <= 20
	or
	Darkest_Night.up and Combo_Points >= 95 and Deathmark_DoT.up
	or
	Darkest_Night.up and Combo_Points >= 95 and Energy >= 70
	or
	Darkest_Night.up and Combo_Points >= 95 and Energy >= 30 and enemies >= 4

Son JSON se trouve dans les fichiers ci-dessous. La deuxième rotation est Hors-la-loi (Trickster), avec la macro Poussée d'adrénaline (O + Q), Osselets relancés (O), Série meurtrière (C) et la protection de canalisation dans chaque règle.

Fichiers d’exemple#

ExempleFichiers
La rotation Assassinat de départ de l’exemple de l’éditeurJSON, texte KRC
Assassinat, raid : 15 règlesJSON, texte KRC
Hors-la-loi, raid et Mythique+ : 13 règles, indicateurs O, OQ, CJSON, texte KRC
La plus courte rotation utileJSON, texte KRC
Un exemple de syntaxe : toutes les conditions et tous les indicateurs (sans ID, pas pour le combat)JSON, texte KRC

Chaque exemple existe dans toutes les langues du site : les libellés, les règles et les commentaires sont traduits, tandis que les conditions, les ID de sort et les indicateurs restent identiques. La langue figure dans le nom du fichier : .en, .ru, .de, .fr, .es, .it, .pt, .ko, .zh, .zh-TW.

Pour ouvrir un fichier : Nouveau — Depuis un fichier… dans la fenêtre principale, ou Ouvrir… sur la page Texte et JSON de l’éditeur.