修复了数个bug

This commit is contained in:
waynebian01
2026-05-03 14:20:09 +08:00
parent 4fb4470515
commit dba0088cf0
7 changed files with 21 additions and 12 deletions

View File

@@ -13,7 +13,7 @@ action_map = {
9: ("奉献", "奉献"),
10: ("审判", "审判"),
11: ("正义盾击", "正义盾击"),
12: ("祝福之锤", "祝福之锤"),
12: ("祝福之锤", "十字军打击"),
19: ("愤怒之锤", "审判"),
21: ("愤怒之锤", "审判"),
13: ("公正之剑", "公正之剑"),
@@ -23,6 +23,7 @@ action_map = {
17: ("神圣风暴", "神圣风暴"),
18: ("圣光之锤", "灰烬觉醒"), # 防御: 圣洁鸣钟; 惩戒: 灰烬觉醒
20: ("处决宣判", "处决宣判"),
26: ("正义之锤", "十字军打击"),
}
# 法术失败映射

View File

@@ -13,7 +13,7 @@ from utils import *
# 将需要驱散的首领 ID
need_dispel_bosses = {4, 5}
# 不需要驱散的首领 ID
no_dispel_bosses = {64}
no_dispel_bosses = {64, 58}
# 失败法术映射
failed_spell_map = {
@@ -142,8 +142,8 @@ def run_shaman_logic(state_dict, spec_name):
升腾 = spells.get("升腾", -1)
治疗之潮图腾 = spells.get("治疗之潮图腾", -1)
dispel_unit_magic, _ = get_unit_with_dispel_type(state_dict, 1) # 获取可以驱散魔法类型的单位
dispel_unit_curse, _ = get_unit_with_dispel_type(state_dict, 2) # 获取可以驱散诅咒类型的单位
需要驱散魔法单位, _ = get_unit_with_dispel_type(state_dict, 1) # 获取可以驱散魔法类型的单位
需要驱散诅咒单位, _ = get_unit_with_dispel_type(state_dict, 2) # 获取可以驱散诅咒类型的单位
无盾坦克,_ = get_unit_with_role_and_without_aura_name(state_dict, 1, "大地之盾" , reverse=False) # 没有大地之盾的坦克单位
无盾治疗,_ = get_unit_with_role_and_without_aura_name(state_dict, 2, "大地之盾") # 没有大地之盾的治疗单位
@@ -158,13 +158,16 @@ def run_shaman_logic(state_dict, spec_name):
无激流最低, 无激流最低血量= get_lowest_health_unit_without_aura(state_dict, "激流", 101) # 没有激流且需要补血的最低血量单位
驱散单位 = None
if dispel_unit_magic is not None:
if 需要驱散魔法单位 is not None:
if 队伍类型 == 46 and 首领战 not in no_dispel_bosses:
驱散单位 = dispel_unit_magic
驱散单位 = 需要驱散魔法单位
elif 队伍类型 <= 40 and 首领战 in need_dispel_bosses:
驱散单位 = dispel_unit_magic
if 驱散单位 is None:
驱散单位 = dispel_unit_curse
驱散单位 = 需要驱散魔法单位
if 需要驱散诅咒单位 is not None:
if 队伍类型 == 46 and 首领战 not in no_dispel_bosses:
驱散单位 = 需要驱散魔法单位
elif 队伍类型 <= 40 and 首领战 in need_dispel_bosses:
驱散单位 = 需要驱散魔法单位
if 引导 > 0:
current_step = "引导,不执行任何操作"

View File

@@ -201,7 +201,7 @@
201: {unit: 0, 技能: "复仇者之盾", 热键: "CTRL-SHIFT-'"}
202: {unit: 0, 技能: "责难", 热键: "CTRL-SHIFT-["}
203: {unit: 0, 技能: "远古列王守卫", 热键: "CTRL-SHIFT-]"}
204: {unit: 0, 技能: "祝福之锤", 热键: "CTRL-SHIFT-="}
204: {unit: 0, 技能: "十字军打击", 热键: "CTRL-SHIFT-="}
205: {unit: 0, 技能: "炽热防御者", 热键: "ALT-CTRL-SHIFT-NUMPAD1"}
206: {unit: 0, 技能: "破咒祝福", 热键: "ALT-CTRL-SHIFT-NUMPAD2"}
207: {unit: 0, 技能: "神圣风暴", 热键: "ALT-CTRL-SHIFT-NUMPAD3"}

View File

@@ -216,13 +216,14 @@ function fu.CreateClassMacro()
[21] = "复仇者之盾",
[22] = "责难",
[23] = "远古列王守卫",
[24] = "祝福之锤",
[24] = "十字军打击",
[25] = "炽热防御者",
[26] = "[@mouseover]破咒祝福",
[27] = "神圣风暴",
[28] = "奉献",
[29] = "神圣壁垒",
[30] = "[@player]荣耀圣令",
[31] = "圣光道标",
}
fu.CreateMacro(dynamicSpells, staticSpells, specialSpells)
end

View File

@@ -376,7 +376,7 @@ local auras = {
duration = 10,
expirationTime = nil,
addAuras = {
[188290] = { event = e["法术冷却"] },
[43265] = { event = e["施法成功"] },
},
updateAuras = nil,
removeAuras = nil,
@@ -749,6 +749,7 @@ local auras = {
},
}
fu.Auras = {}
do
fu.Auras = auras[classId] or {}

View File

@@ -238,6 +238,7 @@ fu.spellsList = {
[19750] = { index = 23, }, -- 圣光闪现
[200025] = { index = 24, failed = true }, -- 美德道标
[114165] = { index = 25, }, -- 神圣棱镜
[53595] = { index = 26, }, -- 正义之锤
-- 武僧
[322109] = { index = 1, failed = true }, -- 轮回之触
[119381] = { index = 2, failed = true }, -- 扫堂腿
@@ -582,6 +583,7 @@ fu.spellsList = {
[193315] = { index = 59, }, -- 影袭
[441776] = { index = 60, }, -- 致命一击
}
fu.e = {
["法术冷却"] = "SPELL_UPDATE_COOLDOWN", -- 冷却事件
["施法成功"] = "UNIT_SPELLCAST_SUCCEEDED", -- 成功事件

View File

@@ -19,6 +19,7 @@ fu.specIndex = specIndex
-- /fu dpsmode — DPS 模式 开 / 关 切换
-- /fu dpsmode manual — 输出模式 切换到 手动编写逻辑
-- /fu dpsmode assistant — 输出模式 切换到 官方一键辅助
FuyutsuiDB = {
aoeMode = 0,
cooldowns = 0,