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

模式示例

更新于 2026年10月18日

每个模式都是一个小而完整的循环:左侧是 KRC 文本,右侧是对应的 JSON。把它粘贴到构建器中(“文本和 JSON”——“粘贴”),即可看到它在“槽位”和“规则”页面上的样子。法术 ID 均为真实 ID,取自 Wowhead。文末有完整循环。

在刷新窗口内刷新的 DoT#

DoT 不存在时施放,剩余 30% 及以下时刷新:在这个窗口内刷新不会有任何损失。不存在的光环剩余时间为 0,因此刷新要用一个带 .up 的单独组。

KRC 文本
rotation "模式:带刷新窗口的 DoT"

buff1	Garrote_DoT = "目标身上的锁喉 [703]"
slot1	Garrote = "锁喉"
slot4	Mutilate = "毁伤"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Garrote when  # 锁喉
	Garrote_DoT.down  # 没有流血
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30  # 刷新窗口

use Mutilate when  # 毁伤
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:带刷新窗口的 DoT",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "目标身上的锁喉 [703]", "spell": 703}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "锁喉", "spell": 703},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329}
  ],
  "rules": [
    {"use": "Garrote", "name": "锁喉", "when": [
      {"all": ["Garrote_DoT.down"], "comment": "没有流血"},
      {"all": ["Garrote_DoT.up", "Garrote_DoT.duration <= 30"], "comment": "刷新窗口"}
    ]},
    {"use": "Mutilate", "name": "毁伤"}
  ]
}
  • 在 3+ 个目标时,为了避免给快死的目标上新 DoT,可以在“没有流血”组中加上 TargetHP >= 50,并为一到两个目标另加一个 Garrote_DoT.down and enemies <= 2 组。
  • 持续时间可变的长 DoT(割裂:4 秒 + 每个连击点 4 秒)也是同样的写法:百分比按这一次施放的持续时间计算。

按连击点数使用生成技能和消耗技能#

7 点连击点中达到 5 点以上时使用消耗技能,否则使用生成技能。阈值设在两档之间的中点,见连击点数对照表。

KRC 文本
rotation "模式:生成技能与消耗技能"

slot3	Envenom = "毒伤"
slot4	Mutilate = "毁伤"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # 毒伤
	Combo_Points >= 70  # 5+ 个连击点

use Mutilate when  # 毁伤
	Combo_Points < 70  # 少于 5 个连击点
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:生成技能与消耗技能",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "毒伤", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329}
  ],
  "rules": [
    {"use": "Envenom", "name": "毒伤", "when": [
      {"all": ["Combo_Points >= 70"], "comment": "5+ 个连击点"}
    ]},
    {"use": "Mutilate", "name": "毁伤", "when": [
      {"all": ["Combo_Points < 70"], "comment": "少于 5 个连击点"}
    ]}
  ]
}

带 Combo_Points < 70 的生成技能不会让连击点溢出:达到 5 点以上时,即使消耗技能还没就绪(能量不足),它也不会触发,KeyRota 会等待。

资源积攒#

不要立刻消耗,而是保持增益效果并积攒能量:在毒伤增益快结束时、目标身上有死亡印记时或能量充足时使用毒伤。其余时间,在 5 个以上连击点时没有规则符合,KeyRota 会等待更多能量:这就是资源积攒(攒能量)。

KRC 文本
rotation "模式:攒能量"

buff3	Envenom_Buff = "毒伤 [32645]"
buff4	Deathmark_DoT = "目标身上的死亡印记 [360194]"
slot3	Envenom = "毒伤"
slot4	Mutilate = "毁伤"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # 毒伤
	Combo_Points >= 70 and Envenom_Buff.down  # 没有增益
	or
	Combo_Points >= 70 and Envenom_Buff.duration <= 20  # 增益快结束
	or
	Combo_Points >= 70 and Deathmark_DoT.up  # 目标身上有死亡印记
	or
	Combo_Points >= 70 and Energy >= 70  # 避免能量溢出

use Mutilate when  # 毁伤
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:攒能量",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 3, "alias": "Envenom_Buff", "label": "毒伤 [32645]", "spell": 32645},
    {"n": 4, "alias": "Deathmark_DoT", "label": "目标身上的死亡印记 [360194]", "spell": 360194}
  ],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "毒伤", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329}
  ],
  "rules": [
    {"use": "Envenom", "name": "毒伤", "when": [
      {"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "没有增益"},
      {"all": ["Combo_Points >= 70", "Envenom_Buff.duration <= 20"], "comment": "增益快结束"},
      {"all": ["Combo_Points >= 70", "Deathmark_DoT.up"], "comment": "目标身上有死亡印记"},
      {"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "避免能量溢出"}
    ]},
    {"use": "Mutilate", "name": "毁伤", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}
  • 阈值 Energy >= 70 可以避免能量溢出。
  • Envenom_Buff.duration <= 20 组在没有增益时(剩余 0)也会触发;.down 组只是为了清晰起见。
  • 调整积攒行为只需修改能量阈值:调低会更早消耗,调高会积攒更久。

单目标和多目标#

玩家用目标模式键设置目标模式(依次切换“自动”“单体”“群体”);在“自动”模式下,由规则根据敌人数决定。每条 AoE 规则有两个组:“‘群体’模式”和“‘自动’模式且 2+ 个敌人”;单体规则则有“‘单体’模式”和“‘自动’模式且至多一个敌人”。

KRC 文本
rotation "模式:单目标与多目标"

slot3	Envenom = "毒伤"
slot4	Mutilate = "毁伤"
slot6	Fan_of_Knives = "刀扇"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Envenom when  # 毒伤
	Combo_Points >= 70

use Fan_of_Knives when  # 刀扇:2+ 个目标
	aoe == 1 and Combo_Points < 70  # “群体”模式
	or
	st == 0 and enemies >= 2 and Combo_Points < 70  # “自动”模式,2+ 个敌人

use Mutilate when  # 毁伤:单体
	st == 1 and Combo_Points < 70  # “单体”模式
	or
	aoe == 0 and enemies <= 1 and Combo_Points < 70  # “自动”模式,一个敌人
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:单目标与多目标",
  "specID": 259,
  "enemies": {"range": 8, "combatOnly": true},
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 3, "alias": "Envenom", "label": "毒伤", "spell": 32645},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329},
    {"n": 6, "alias": "Fan_of_Knives", "label": "刀扇", "spell": 51723}
  ],
  "rules": [
    {"use": "Envenom", "name": "毒伤", "when": [
      {"all": ["Combo_Points >= 70"]}
    ]},
    {"use": "Fan_of_Knives", "name": "刀扇:2+ 个目标", "when": [
      {"all": ["aoe == 1", "Combo_Points < 70"], "comment": "“群体”模式"},
      {"all": ["st == 0", "enemies >= 2", "Combo_Points < 70"], "comment": "“自动”模式,2+ 个敌人"}
    ]},
    {"use": "Mutilate", "name": "毁伤:单体", "when": [
      {"all": ["st == 1", "Combo_Points < 70"], "comment": "“单体”模式"},
      {"all": ["aoe == 0", "enemies <= 1", "Combo_Points < 70"], "comment": "“自动”模式,一个敌人"}
    ]}
  ]
}
  • st == 0 and enemies >= 2 表示“不是‘单体’模式”:在“群体”模式下,规则无论如何都会通过第一个组触发。
  • enemies <= 1 比 enemies == 1 更稳妥:单目标时,敌人可能未被统计。
  • 计数半径(enemies.range)取自你的 AoE 技能:刀扇的作用范围是 8 码。

Burst 冷却技能与“只在冷却期间”#

cd == 1 是 Burst 按钮。大冷却技能只在 Burst 开启时按下;关闭 Burst 就能保留它,例如在首领免疫的阶段之前。凡是能增强冷却窗口的技能都只在窗口期间按下:这里,消失只在目标身上有死亡印记时使用,君王之灾在目标身上有死亡印记或离死亡印记还很久时使用。

KRC 文本
rotation "模式:Burst"

buff1	Garrote_DoT = "目标身上的锁喉 [703]"
buff2	Rupture_DoT = "目标身上的割裂 [1943]"
buff4	Deathmark_DoT = "目标身上的死亡印记 [360194]"
buff10	Vanish_Buff = "消失 [11327]"
slot1	Garrote = "锁喉"
slot4	Mutilate = "毁伤"
slot8	Deathmark = "死亡印记"
slot9	Kingsbane = "君王之灾"
slot10	Vanish = "消失"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Garrote when  # 潜行中的锁喉
	Vanish_Buff.up

use Deathmark when  # 死亡印记
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up  # Burst 开启,流血都在

use Kingsbane when  # 君王之灾
	cd == 1 and Deathmark_DoT.up and Combo_Points < 50  # 目标身上有死亡印记,0-3 个连击点
	or
	cd == 1 and Deathmark.cd >= 44 and Combo_Points < 50  # 距离死亡印记还有 52 秒以上

use Vanish when  # 消失
	Deathmark_DoT.up and Combo_Points < 65  # 目标身上有死亡印记,0-4 个连击点

use Mutilate when  # 毁伤
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:Burst",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "目标身上的锁喉 [703]", "spell": 703},
    {"n": 2, "alias": "Rupture_DoT", "label": "目标身上的割裂 [1943]", "spell": 1943},
    {"n": 4, "alias": "Deathmark_DoT", "label": "目标身上的死亡印记 [360194]", "spell": 360194},
    {"n": 10, "alias": "Vanish_Buff", "label": "消失 [11327]", "spell": 11327}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "锁喉", "spell": 703},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329},
    {"n": 8, "alias": "Deathmark", "label": "死亡印记", "spell": 360194},
    {"n": 9, "alias": "Kingsbane", "label": "君王之灾", "spell": 385627},
    {"n": 10, "alias": "Vanish", "label": "消失", "spell": 1856, "offGcd": true, "queue": true}
  ],
  "rules": [
    {"use": "Garrote", "name": "潜行中的锁喉", "when": [
      {"all": ["Vanish_Buff.up"]}
    ]},
    {"use": "Deathmark", "name": "死亡印记", "when": [
      {"all": ["cd == 1", "Garrote_DoT.up", "Rupture_DoT.up"], "comment": "Burst 开启,流血都在"}
    ]},
    {"use": "Kingsbane", "name": "君王之灾", "when": [
      {"all": ["cd == 1", "Deathmark_DoT.up", "Combo_Points < 50"], "comment": "目标身上有死亡印记,0-3 个连击点"},
      {"all": ["cd == 1", "Deathmark.cd >= 44", "Combo_Points < 50"], "comment": "距离死亡印记还有 52 秒以上"}
    ]},
    {"use": "Vanish", "name": "消失", "when": [
      {"all": ["Deathmark_DoT.up", "Combo_Points < 65"], "comment": "目标身上有死亡印记,0-4 个连击点"}
    ]},
    {"use": "Mutilate", "name": "毁伤", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}
  • 消失不占 GCD,但同时开启了“法术队列窗口”(O + Q):否则它会在君王之灾之后的 GCD 中途立即按下,此时君王之灾的连击点还没到账,检查的会是旧的数值。
  • 关闭 Burst,死亡印记和君王之灾就会等待;消失则等待死亡印记。
  • 君王之灾在 0–3 个连击点时使用:之后还会获得 5 点,一点都不会浪费。

引导保护#

游戏会在最后一击之前稍早结束某些引导,此时下一次按键就会打断引导。保护手段是引导自身的光环:只要它的剩余时间超过 8%,任何规则都不成立。该条件要加到每条规则的每个组中。引导槽位上的标记 C 可以防止在引导开始时重复按下。

KRC 文本
rotation "模式:引导保护"

buff10	Killing_Spree_Buff = "影舞步,引导 [51690]"
slot8	Killing_Spree = "影舞步"
slot9	Dispatch = "斩击"
slot11	Sinister_Strike = "影袭"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Killing_Spree when  # 影舞步
	Combo_Points >= 80 and Killing_Spree_Buff.duration <= 8

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

use Sinister_Strike when  # 影袭
	Combo_Points < 80 and Killing_Spree_Buff.duration <= 8
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:引导保护",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 10, "alias": "Killing_Spree_Buff", "label": "影舞步,引导 [51690]", "spell": 51690}
  ],
  "slots": [
    {"n": 8, "alias": "Killing_Spree", "label": "影舞步", "spell": 51690, "channel": true},
    {"n": 9, "alias": "Dispatch", "label": "斩击", "spell": 2098},
    {"n": 11, "alias": "Sinister_Strike", "label": "影袭", "spell": 193315}
  ],
  "rules": [
    {"use": "Killing_Spree", "name": "影舞步", "when": [
      {"all": ["Combo_Points >= 80", "Killing_Spree_Buff.duration <= 8"]}
    ]},
    {"use": "Dispatch", "name": "斩击", "when": [
      {"all": ["Combo_Points >= 80", "Killing_Spree_Buff.duration <= 8"]}
    ]},
    {"use": "Sinister_Strike", "name": "影袭", "when": [
      {"all": ["Combo_Points < 80", "Killing_Spree_Buff.duration <= 8"]}
    ]}
  ]
}
  • 为什么用 <= 8 而不是 .down:没有引导时光环剩余为 0,条件成立;引导期间,它只等待最后 8%,而不会在引导结束后再多等零点几秒。
  • 如果光环未被读取,条件在每条规则中都为假,KeyRota 什么也不按:宁可少按一次,也不要打断引导。因此,引导的光环必须在 Better Assistant 配置中。

法术队列窗口内的不占 GCD 宏#

“不占 GCD”有两种:

  • O:按钮立即按下,即使正处于 GCD 中。时运继延(延长命运骨骰)就是这样做到不浪费时间的。
  • O + Q:按钮本身不占 GCD,但它的宏或结果依赖 GCD。第二行是影舞步(占用 GCD)的冲动宏会在 GCD 即将结束时的法术队列窗口内按下,影舞步紧接着冲动施放。
游戏中的宏(槽位 1)
#showtooltip 冲动
/cast 冲动
/cast 影舞步
KRC 文本
rotation "模式:不占 GCD"

buff2	Triple_Threat = "命运骨骰,3 级 [1214935]"
buff3	Jackpot = "命运骨骰,4 级 [1214937]"
buff6	Adrenaline_Rush_Buff = "冲动 [13750]"
slot1	Adrenaline_Rush = "冲动 + 影舞步(宏)"
slot4	Keep_It_Rolling = "时运继延"
slot11	Sinister_Strike = "影袭"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Adrenaline_Rush when  # 冲动(宏里带影舞步)
	Adrenaline_Rush_Buff.down and Combo_Points >= 7 and Combo_Points < 80  # 1-5 个连击点:0 点时宏里的影舞步放不出来

use Keep_It_Rolling when  # 时运继延
	Triple_Threat.up
	or
	Jackpot.up

use Sinister_Strike when  # 影袭
	Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:不占 GCD",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 2, "alias": "Triple_Threat", "label": "命运骨骰,3 级 [1214935]", "spell": 1214935},
    {"n": 3, "alias": "Jackpot", "label": "命运骨骰,4 级 [1214937]", "spell": 1214937},
    {"n": 6, "alias": "Adrenaline_Rush_Buff", "label": "冲动 [13750]", "spell": 13750}
  ],
  "slots": [
    {"n": 1, "alias": "Adrenaline_Rush", "label": "冲动 + 影舞步(宏)", "spell": 13750, "offGcd": true, "queue": true},
    {"n": 4, "alias": "Keep_It_Rolling", "label": "时运继延", "spell": 381989, "offGcd": true},
    {"n": 11, "alias": "Sinister_Strike", "label": "影袭", "spell": 193315}
  ],
  "rules": [
    {"use": "Adrenaline_Rush", "name": "冲动(宏里带影舞步)", "when": [
      {"all": ["Adrenaline_Rush_Buff.down", "Combo_Points >= 7", "Combo_Points < 80"], "comment": "1-5 个连击点:0 点时宏里的影舞步放不出来"}
    ]},
    {"use": "Keep_It_Rolling", "name": "时运继延", "when": [
      {"all": ["Triple_Threat.up"]},
      {"all": ["Jackpot.up"]}
    ]},
    {"use": "Sinister_Strike", "name": "影袭", "when": [
      {"all": ["Combo_Points < 80"]}
    ]}
  ]
}

宏槽位的 ID 是宏中主法术的 ID(冲动,13750):Better Assistant 据此把宏的法术放入槽位,KeyRota 则从你动作条上的宏按钮读取按键。

按生命值使用防御技能#

生命值低于阈值时使用治疗或防御技能,且只在面板上的“治疗 / 防御”开启时使用。该槽位在战斗中显示(“战斗中”,"show": "combat"),这样没有目标时也能使用。这条规则放在最前:生命值低时,它比伤害更重要。

KRC 文本
rotation "模式:按生命值使用防御技能"

slot4	Mutilate = "毁伤"
slot11	Crimson_Vial = "猩红之瓶"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Crimson_Vial when  # 猩红之瓶
	defensives == 1 and PlayerHP <= 40  # 生命值 40% 及以下

use Mutilate when  # 毁伤
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:按生命值使用防御技能",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329},
    {"n": 11, "alias": "Crimson_Vial", "label": "猩红之瓶", "spell": 185311, "show": "combat"}
  ],
  "rules": [
    {"use": "Crimson_Vial", "name": "猩红之瓶", "when": [
      {"all": ["defensives == 1", "PlayerHP <= 40"], "comment": "生命值 40% 及以下"}
    ]},
    {"use": "Mutilate", "name": "毁伤"}
  ]
}

“治疗 / 防御”默认关闭:想要自动使用防御技能时,请在快速设置面板上开启它。

触发效果:按增益或按高亮#

按增益效果检查触发:在奇袭团队副本循环中,侧袭增益(Blindside.up)允许伏击规则触发。如果游戏会在触发时高亮按钮,规则也可以读取高亮(Ambush.glow),但前提是你在动作条上确实看到了这种高亮。

KRC 文本
rotation "模式:触发效果"

buff7	Blindside = "侧袭 [121153]"
slot4	Mutilate = "毁伤"
slot5	Ambush = "伏击"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Ambush when  # 伏击(侧袭)
	Blindside.up and Combo_Points < 70

use Mutilate when  # 毁伤
	Combo_Points < 70
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:触发效果",
  "specID": 259,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 7, "alias": "Blindside", "label": "侧袭 [121153]", "spell": 121153}
  ],
  "slots": [
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329},
    {"n": 5, "alias": "Ambush", "label": "伏击", "spell": 8676}
  ],
  "rules": [
    {"use": "Ambush", "name": "伏击(侧袭)", "when": [
      {"all": ["Blindside.up", "Combo_Points < 70"]}
    ]},
    {"use": "Mutilate", "name": "毁伤", "when": [
      {"all": ["Combo_Points < 70"]}
    ]}
  ]
}

充能#

有充能的法术在有两层充能或第二层快恢复时按下,这样它的充能恢复永远不会闲置。示例:猎人的倒刺射击(2 层充能)。

KRC 文本
rotation "模式:充能"

slot1	Barbed_Shot = "倒刺射击"
slot2	Kill_Command = "杀戮命令"
resource1	PlayerHP
resource2	TargetHP
resource3	Focus

use Barbed_Shot when  # 倒刺射击
	Barbed_Shot.charges >= 2  # 两层充能
	or
	Barbed_Shot.charges == 1 and Barbed_Shot.cd <= 20  # 第二层快好了

use Kill_Command when  # 杀戮命令
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:充能",
  "specID": 253,
  "resources": ["PlayerHP", "TargetHP", "Focus"],
  "slots": [
    {"n": 1, "alias": "Barbed_Shot", "label": "倒刺射击", "spell": 217200},
    {"n": 2, "alias": "Kill_Command", "label": "杀戮命令", "spell": 34026}
  ],
  "rules": [
    {"use": "Barbed_Shot", "name": "倒刺射击", "when": [
      {"all": ["Barbed_Shot.charges >= 2"], "comment": "两层充能"},
      {"all": ["Barbed_Shot.charges == 1", "Barbed_Shot.cd <= 20"], "comment": "第二层快好了"}
    ]},
    {"use": "Kill_Command", "name": "杀戮命令"}
  ]
}

对于有充能的法术,.cd 是下一层充能的恢复进度:Barbed_Shot.cd <= 20 表示它的充能恢复还剩不超过 20%。

与目标的距离#

当目标超出近战范围、但仍在远程技能射程内时,按远程技能,而不是闲着。没有目标时距离未知,规则不会触发。

KRC 文本
rotation "模式:距离"

slot10	Pistol_Shot = "手枪射击"
slot11	Sinister_Strike = "影袭"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Pistol_Shot when  # 手枪射击:目标较远
	target.distance >= 10 and target.distance <= 20 and Combo_Points < 80

use Sinister_Strike when  # 影袭
	Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:距离",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 10, "alias": "Pistol_Shot", "label": "手枪射击", "spell": 185763},
    {"n": 11, "alias": "Sinister_Strike", "label": "影袭", "spell": 193315}
  ],
  "rules": [
    {"use": "Pistol_Shot", "name": "手枪射击:目标较远", "when": [
      {"all": ["target.distance >= 10", "target.distance <= 20", "Combo_Points < 80"]}
    ]},
    {"use": "Sinister_Strike", "name": "影袭", "when": [
      {"all": ["Combo_Points < 80"]}
    ]}
  ]
}

近战规则不需要检查距离:如果目标太远,法术无法使用,KeyRota 会自动检查下一条规则。

移动#

面板上的“移动”按钮是你给循环的信号:“我马上要跑位了”。由循环决定该怎么做,例如改用远程技能。

KRC 文本
rotation "模式:移动"

slot10	Pistol_Shot = "手枪射击"
slot11	Sinister_Strike = "影袭"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

use Pistol_Shot when  # 移动中的手枪射击
	movement == 1 and Combo_Points < 80

use Sinister_Strike when  # 影袭
	movement == 0 and Combo_Points < 80
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:移动",
  "specID": 260,
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "slots": [
    {"n": 10, "alias": "Pistol_Shot", "label": "手枪射击", "spell": 185763},
    {"n": 11, "alias": "Sinister_Strike", "label": "影袭", "spell": 193315}
  ],
  "rules": [
    {"use": "Pistol_Shot", "name": "移动中的手枪射击", "when": [
      {"all": ["movement == 1", "Combo_Points < 80"]}
    ]},
    {"use": "Sinister_Strike", "name": "影袭", "when": [
      {"all": ["movement == 0", "Combo_Points < 80"]}
    ]}
  ]
}

地面目标法术#

“地面法术”按钮允许使用需要放置在地面上的法术。KeyRota 只负责按键,因此位置由宏决定:[@player] 表示脚下,[@cursor] 表示鼠标指针处。

游戏中的宏
#showtooltip 枯萎凋零
/cast [@player] 枯萎凋零
KRC 文本
rotation "模式:地面法术"

slot1	Death_and_Decay = "枯萎凋零(宏 @player)"
resource1	PlayerHP
resource2	TargetHP
resource3	Runes
resource4	Runic_Power

use Death_and_Decay when  # 枯萎凋零
	ground_spells == 1 and enemies >= 2  # “地面法术”开启,2+ 个敌人
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "模式:地面法术",
  "specID": 250,
  "resources": ["PlayerHP", "TargetHP", "Runes", "Runic_Power"],
  "slots": [
    {"n": 1, "alias": "Death_and_Decay", "label": "枯萎凋零(宏 @player)", "spell": 43265}
  ],
  "rules": [
    {"use": "Death_and_Decay", "name": "枯萎凋零", "when": [
      {"all": ["ground_spells == 1", "enemies >= 2"], "comment": "“地面法术”开启,2+ 个敌人"}
    ]}
  ]
}

完整的入门循环#

来自构建器示例的循环:两个 DoT、一个生成技能、一个带攒能量逻辑的消耗技能、一个防御技能,以及由 Burst 控制的死亡印记。

KRC 文本
rotation "奇袭:示例 v1"

# KeyRota 文档中的示例:两个流血、一个生成技能、一个攒能量的消耗技能,
# 低生命值时的防御,以及由 Burst 按钮控制的死亡印记。
# 连击点按 7 点的百分比计:5 点 = 71%,阈值 70 = 5 点以上。

buff1	Garrote_DoT = "目标身上的锁喉 [703]"
buff2	Rupture_DoT = "目标身上的割裂 [1943]"
buff3	Envenom_Buff = "毒伤 [32645]"
buff4	Deathmark_DoT = "目标身上的死亡印记 [360194]"
slot1	Garrote = "锁喉"
slot2	Rupture = "割裂"
slot3	Envenom = "毒伤"
slot4	Mutilate = "毁伤"
slot5	Deathmark = "死亡印记"
slot6	Crimson_Vial = "猩红之瓶"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

# --- 防御:仅在“治疗 / 防御”开启时 ---
use Crimson_Vial when  # 猩红之瓶
	defensives == 1 and PlayerHP <= 40  # 生命值 40% 及以下

# --- 冷却技能:仅在 Burst 开启时 ---
use Deathmark when  # 死亡印记
	cd == 1 and Garrote_DoT.up and Rupture_DoT.up and Envenom_Buff.up  # Burst 开启,流血和毒伤都在

# --- 流血 ---
use Garrote when  # 锁喉
	Garrote_DoT.down  # 没有流血
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30  # 刷新窗口:剩余 30% 及以下

use Rupture when  # 割裂
	Combo_Points >= 70 and Rupture_DoT.down  # 5+ 个连击点,没有流血
	or
	Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 30  # 5+ 个连击点,刷新窗口

# --- 消耗:5+ 个连击点,攒能量 ---
use Envenom when  # 毒伤
	Combo_Points >= 70 and Envenom_Buff.down  # 没有增益
	or
	Combo_Points >= 70 and Envenom_Buff.up and Envenom_Buff.duration <= 20  # 增益快结束
	or
	Combo_Points >= 70 and Energy >= 70  # 避免能量溢出
	or
	Combo_Points >= 70 and Deathmark_DoT.up  # 目标身上有死亡印记

# --- 生成技能:少于 5 个连击点 ---
use Mutilate when  # 毁伤
	Combo_Points < 70  # 少于 5 个连击点
JSON
{
  "format": "keyrota-rotation",
  "version": 1,
  "title": "奇袭:示例 v1",
  "specID": 259,
  "ignoreMainIcon": true,
  "enemies": {"range": 8, "combatOnly": true},
  "notes": [
    "KeyRota 文档中的示例:两个流血、一个生成技能、一个攒能量的消耗技能,",
    "低生命值时的防御,以及由 Burst 按钮控制的死亡印记。",
    "连击点按 7 点的百分比计:5 点 = 71%,阈值 70 = 5 点以上。"
  ],
  "resources": ["PlayerHP", "TargetHP", "Energy", "Combo_Points"],
  "auras": [
    {"n": 1, "alias": "Garrote_DoT", "label": "目标身上的锁喉 [703]", "spell": 703},
    {"n": 2, "alias": "Rupture_DoT", "label": "目标身上的割裂 [1943]", "spell": 1943},
    {"n": 3, "alias": "Envenom_Buff", "label": "毒伤 [32645]", "spell": 32645},
    {"n": 4, "alias": "Deathmark_DoT", "label": "目标身上的死亡印记 [360194]", "spell": 360194}
  ],
  "slots": [
    {"n": 1, "alias": "Garrote", "label": "锁喉", "spell": 703, "show": "target"},
    {"n": 2, "alias": "Rupture", "label": "割裂", "spell": 1943, "show": "target"},
    {"n": 3, "alias": "Envenom", "label": "毒伤", "spell": 32645, "show": "target"},
    {"n": 4, "alias": "Mutilate", "label": "毁伤", "spell": 1329, "show": "target"},
    {"n": 5, "alias": "Deathmark", "label": "死亡印记", "spell": 360194, "show": "target"},
    {"n": 6, "alias": "Crimson_Vial", "label": "猩红之瓶", "spell": 185311, "show": "combat"}
  ],
  "rules": [
    {
      "use": "Crimson_Vial",
      "name": "猩红之瓶",
      "note": ["--- 防御:仅在“治疗 / 防御”开启时 ---"],
      "when": [{"all": ["defensives == 1", "PlayerHP <= 40"], "comment": "生命值 40% 及以下"}]
    },
    {
      "use": "Deathmark",
      "name": "死亡印记",
      "note": ["--- 冷却技能:仅在 Burst 开启时 ---"],
      "when": [
        {
          "all": ["cd == 1", "Garrote_DoT.up", "Rupture_DoT.up", "Envenom_Buff.up"],
          "comment": "Burst 开启,流血和毒伤都在"
        }
      ]
    },
    {
      "use": "Garrote",
      "name": "锁喉",
      "note": ["--- 流血 ---"],
      "when": [
        {"all": ["Garrote_DoT.down"], "comment": "没有流血"},
        {"all": ["Garrote_DoT.up", "Garrote_DoT.duration <= 30"], "comment": "刷新窗口:剩余 30% 及以下"}
      ]
    },
    {
      "use": "Rupture",
      "name": "割裂",
      "when": [
        {"all": ["Combo_Points >= 70", "Rupture_DoT.down"], "comment": "5+ 个连击点,没有流血"},
        {
          "all": ["Combo_Points >= 70", "Rupture_DoT.up", "Rupture_DoT.duration <= 30"],
          "comment": "5+ 个连击点,刷新窗口"
        }
      ]
    },
    {
      "use": "Envenom",
      "name": "毒伤",
      "note": ["--- 消耗:5+ 个连击点,攒能量 ---"],
      "when": [
        {"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "没有增益"},
        {"all": ["Combo_Points >= 70", "Envenom_Buff.up", "Envenom_Buff.duration <= 20"], "comment": "增益快结束"},
        {"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "避免能量溢出"},
        {"all": ["Combo_Points >= 70", "Deathmark_DoT.up"], "comment": "目标身上有死亡印记"}
      ]
    },
    {
      "use": "Mutilate",
      "name": "毁伤",
      "note": ["--- 生成技能:少于 5 个连击点 ---"],
      "when": [{"all": ["Combo_Points < 70"], "comment": "少于 5 个连击点"}]
    }
  ]
}

完整的团队副本循环#

一个真实的奇袭团队副本循环(命缚者):15 条规则,包括 Burst、在目标身上有死亡印记时使用消失、用猩红风暴复制 DoT、AoE 与单体、攒能量。

KRC 文本:奇袭,团队副本
KRC 文本
rotation "奇袭,团队副本 v2.8:Burst 按钮、Method 12.1、SimulationCraft、顶尖日志"

# 奇袭,团队副本。依据:Method 指南(12.1 版本)、SimulationCraft 动作列表和 Warcraft Logs 顶尖玩家。
# 忽略主图标:开启。死亡印记和君王之灾仅在 Burst 开启时使用;消失仅在目标身上有死亡印记时使用。
# 连击点按 7 点的百分比计:3 = 43%,4 = 57%,5 = 71%,6 = 86%,7 = 100%。

# v2.4:君王之灾仅在 0–3 个连击点时使用(之后无情打击再给 5 点),消失在 0–4 点时使用(潜行中的锁喉给 3 点)。
# v2.5:仅当两个流血中只有一个是新上的时才使用猩红风暴;此前它会连续按好几次。
# v2.6:Burst 开启且死亡印记就绪或已在目标身上时,无论目标生命值多少都施放锁喉和割裂。
# v2.7 和 v2.8:没有流血的新目标、Burst 开启、死亡印记就绪、附近 2+ 个敌人:先用猩红风暴复制流血(连击点不限),再用死亡印记。

buff1	Garrote_DoT = "目标身上的锁喉 [703]"
buff2	Rupture_DoT = "目标身上的割裂 [1943]"
buff3	Envenom_Buff = "毒伤 [32645]"
buff4	Deathmark_DoT = "目标身上的死亡印记 [360194]"
buff5	Improved_Garrote = "强化锁喉 [392401]"
buff6	Darkest_Night = "至黑之夜 [457280]"
buff7	Blindside = "侧袭 [121153]"
buff8	Stealth_Buff = "潜行 [1784]"
buff9	Stealth_Sub = "潜行(诡诈) [115191]"
buff10	Vanish_Buff = "消失 [11327]"
slot1	Garrote = "锁喉"
slot2	Rupture = "割裂"
slot3	Envenom = "毒伤"
slot4	Mutilate = "毁伤"
slot5	Ambush = "伏击"
slot6	Fan_of_Knives = "刀扇"
slot7	Crimson_Tempest = "猩红风暴"
slot8	Deathmark = "死亡印记"
slot9	Kingsbane = "君王之灾"
slot10	Vanish = "消失"
slot11	Crimson_Vial = "猩红之瓶"
resource1	PlayerHP
resource2	TargetHP
resource3	Energy
resource4	Combo_Points

# --- 防御:仅在“治疗 / 防御”开启时 ---
use Crimson_Vial when  # 猩红之瓶
	defensives == 1 and PlayerHP <= 40  # 生命值 40% 及以下

# === 潜行 ===
use Garrote when  # 潜行中的锁喉
	Stealth_Buff.up  # 潜行中
	or
	Stealth_Sub.up  # 潜行中(诡诈)
	or
	Vanish_Buff.up  # 消失之后立即

use Garrote when  # 锁喉:强化锁喉窗口
	Improved_Garrote.up and Garrote_DoT.down  # 窗口已开,目标身上没有锁喉
	or
	Improved_Garrote.up and Garrote_DoT.duration <= 78  # SimulationCraft:18 秒剩 14 秒时刷新

# === 冷却技能(Burst 按钮) ===
use Deathmark when  # 死亡印记
	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 开启,流血都在,君王之灾就绪,毒伤还剩 2 秒以上

use Kingsbane when  # 君王之灾
	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 开启,目标身上有死亡印记,0–3 个连击点
	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 开启,距离死亡印记还有 52 秒以上,0–3 个连击点

use Vanish when  # 消失
	Deathmark_DoT.up and Improved_Garrote.down and Combo_Points < 65 and Stealth_Buff.down and Stealth_Sub.down  # 目标身上有死亡印记,0–4 个连击点(潜行中的锁喉给 3 点)

# === 流血 ===
use Crimson_Tempest when  # 猩红风暴:为死亡印记把流血复制到新目标
	cd == 1 and Deathmark.cd <= 3 and Garrote_DoT.down and Rupture_DoT.down and Envenom_Buff.up and enemies >= 2  # 连击点不限

# 不给快死的小怪上新流血(同 SimulationCraft 的“目标还能活 12 秒以上”):1–2 个目标和“单体”模式下总是施放;
# 3+ 个目标时,仅当目标生命值 50% 以上,或 Burst 开启且死亡印记就绪,或目标身上已有死亡印记。
use Garrote when  # 锁喉:保持
	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+ 个目标:只给活得久的目标
	or
	Garrote_DoT.down and Combo_Points < 95 and cd == 1 and Deathmark.cd <= 3  # Burst 开启且死亡印记就绪:生命值不限
	or
	Garrote_DoT.down and Combo_Points < 95 and Deathmark_DoT.up  # 目标身上有死亡印记(复制的流血)
	or
	Garrote_DoT.up and Garrote_DoT.duration <= 30 and Combo_Points < 95  # 刷新窗口(已在目标身上)

use Rupture when  # 割裂
	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+ 个目标:只给活得久的目标
	or
	Combo_Points >= 70 and Rupture_DoT.down and cd == 1 and Deathmark.cd <= 3  # Burst 开启且死亡印记就绪
	or
	Combo_Points >= 70 and Rupture_DoT.down and Deathmark_DoT.up  # 目标身上有死亡印记
	or
	Combo_Points >= 70 and Rupture_DoT.up and Rupture_DoT.duration <= 25 and Darkest_Night.down  # 刷新;不要把至黑之夜的 7 个连击点花在这里

# === 生成技能:最多 5 个连击点,至黑之夜期间最多 7 个 ===

# 新上割裂后立即用一次猩红风暴(4+ 个目标时新上锁喉后也用),其余时间用刀扇。
# 两个流血只能有一个是新的(94% 以上):猩红风暴之后两个都是新的,下一次就会等待。
use Crimson_Tempest when  # 猩红风暴:新上割裂或锁喉后立即扩散流血
	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 个目标:仅在新上割裂之后
	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 个目标:仅在新上割裂之后

use Fan_of_Knives when  # 刀扇:单体,至黑之夜,还差 1 个连击点
	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  # 刀扇:2+ 个目标
	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  # 伏击(侧袭)
	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  # 毁伤
	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

# === 消耗:5+ 个连击点(至黑之夜期间 7 个) ===
# SimulationCraft:不要马上按,而是让毒伤保持不断:增益最后 1 秒、目标身上有死亡印记时、能量快满时,4+ 个目标时更早。
use Envenom when  # 毒伤
	Darkest_Night.down and Combo_Points >= 70 and Envenom_Buff.down
	or
	Darkest_Night.down and Combo_Points >= 70 and Envenom_Buff.duration <= 20  # 约剩 1 秒
	or
	Darkest_Night.down and Combo_Points >= 70 and Deathmark_DoT.up
	or
	Darkest_Night.down and Combo_Points >= 70 and Energy >= 70  # 避免能量溢出
	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

它的 JSON 见下方的文件。第二个循环是狂徒(欺诈者),包含冲动宏(O + Q)、时运继延(O)、影舞步(C),并在每条规则中都加入了引导保护。

示例文件#

示例文件
构建器示例中的奇袭入门循环JSON、KRC 文本
奇袭,团队副本:15 条规则JSON、KRC 文本
狂徒,团队副本和史诗钥石:13 条规则,标记 O、OQ、CJSON、KRC 文本
最简短的实用循环JSON、KRC 文本
语法示例:所有条件和标记(无 ID,不用于实战)JSON、KRC 文本

每个示例都提供网站支持的所有语言版本:名称、规则和注释均已翻译,而条件、法术 ID 和标记完全相同。语言体现在文件名中:.en、.ru、.de、.fr、.es、.it、.pt、.ko、.zh、.zh-TW。

打开文件:在主窗口中选择“新建”——“从文件…”,或在构建器的“文本和 JSON”页面上点击“打开…”。