盾T一键仇恨输出宏(简化注解)
大约 3 分钟
盾T一键仇恨输出宏【需要防御姿态】(简化注解)
第一步:打开黑兔客户端 → 点击"超级宏" → 新建一个宏 → 把下面代码粘贴进去。
第二步:在游戏里创建一个普通宏 /s S DTank_Main(),绑到按键上使用。
-- ============ 盾T一键仇恨输出宏【防御姿态】 ============
-- 使用:/s S DTank_Main()
-- 优先级:生命宝石+破釜沉舟 > 双饰品 > 血性狂暴 > 战斗怒吼(破甲≥3) > 嘲讽 > 挫志怒吼(满破甲) > 复仇 > 维持5破甲 > 盾牌猛击 > 英勇打击 > 盾牌格挡 > 顺劈斩
-- 说明:41%血自动生命宝石,26%血自动破釜沉舟;怒气<26开血性狂暴;满破甲补挫志;复仇优先泄怒;盾猛填充仇恨;高怒泄怒
-- 手动释放:盾墙、群嘲
function DTank_Main()
-- ====================== 常量区:技能/饰品ID ======================
-- 怒气、团队增益
local SPELL_BLOODRAGE = 2687 -- 血性狂暴:怒气<26可用
local SPELL_BATTLE_SHOUT = 25289 -- 战斗怒吼:破甲≥3、buff快消失释放
local SPELL_TAUNT = 355 -- 嘲讽:OT时抢仇恨
local SPELL_PAIN_SUPPRESS = 12975 -- 破釜沉舟:血量<26自动开
-- 仇恨/减伤技能
local SPELL_SUNDER_ARMOR = 11597 -- 破甲攻击:维持5层
local SPELL_REVENGE = 11601 -- 复仇:触发优先泄怒
local SPELL_DEMORALIZE = 11556 -- 挫志怒吼:5层破甲、debuff快消失补
local SPELL_SHIELD_SLAM = 23922 -- 盾牌猛击:填充仇恨
local SPELL_SHIELD_BLOCK = 2565 -- 盾牌格挡:怒气>45、盾猛CD好开启
-- 泄怒技能
local SPELL_HEROIC_STRIKE= 25286 -- 英勇打击:中高怒泄怒
local SPELL_CLEAVE = 20569 -- 顺劈斩:高怒兜底泄怒
-- 生存饰品
local ITEM_LIFE_GEM = 19341 -- 生命宝石:血量<41抬血
-- 输出饰品
local ITEM_SPIDER = 22954 -- 蜘蛛之吻
local ITEM_BUG_BADGE = 21670 -- 虫群卫士徽章
-- ====================== 状态预读 ======================
local me = GetMeInfo()
local inCombat = IsCombat()
local rage = Power(1)
local brCD = SCT(SPELL_BLOODRAGE)
local shoutLeft = AuraRemainingTime(SPELL_BATTLE_SHOUT)
local tauntCD = SCT(SPELL_TAUNT)
local painSupCD = SCT(SPELL_PAIN_SUPPRESS)
local demoralizeCD = SCT(SPELL_DEMORALIZE)
local demoralizeDebuffDur,_ = TART(SPELL_DEMORALIZE)
local ssCD = SCT(SPELL_SHIELD_SLAM)
local sbCD = SCT(SPELL_SHIELD_BLOCK)
local spiderCD = SCT(ITEM_SPIDER)
local bugBadgeCD = SCT(ITEM_BUG_BADGE)
local sunderDur, sunderStack = TART(SPELL_SUNDER_ARMOR)
local lifeGemCD = SCT(ITEM_LIFE_GEM)
local hpPercent = me and (me.health / me.maxHealth * 100) or 100
local isTargetSelf = TTIS()
-- ====================== 1.生存保命 ======================
if inCombat then
-- 生命宝石优先
if lifeGemCD <= 0 and hpPercent < 41 then
M('/use 生命宝石')
lifeGemCD = SCT(ITEM_LIFE_GEM)
end
-- 破釜沉舟
if hpPercent < 26 and painSupCD <= 0 then
S(SPELL_PAIN_SUPPRESS)
painSupCD = SCT(SPELL_PAIN_SUPPRESS)
end
end
-- ====================== 2.自动饰品 ======================
if inCombat then
if spiderCD <= 0 then
M('/use 蜘蛛之吻')
spiderCD = SCT(ITEM_SPIDER)
end
if bugBadgeCD <= 0 then
M('/use 虫群卫士徽章')
bugBadgeCD = SCT(ITEM_BUG_BADGE)
end
end
-- ====================== 3.回怒 ======================
if brCD <= 0 and rage < 26 then
S(SPELL_BLOODRAGE)
rage = Power(1)
brCD = SCT(SPELL_BLOODRAGE)
end
-- ====================== 4.战斗怒吼 ======================
if inCombat and shoutLeft < 2000 and rage > 9 and sunderStack >= 3 then
S(SPELL_BATTLE_SHOUT)
rage = Power(1)
end
-- ====================== 5.嘲讽抢仇 ======================
if inCombat and not isTargetSelf and rage > 9 and tauntCD <= 0 then
S(SPELL_TAUNT)
tauntCD = SCT(SPELL_TAUNT)
end
-- ====================== 6.挫志怒吼 ======================
if inCombat and sunderStack == 5 and demoralizeDebuffDur < 2000 and rage > 9 and demoralizeCD <= 0 then
S(SPELL_DEMORALIZE)
rage = Power(1)
demoralizeCD = SCT(SPELL_DEMORALIZE)
end
-- ====================== 7.复仇泄怒 ======================
if CanDefensiveStrike() and SCT(SPELL_REVENGE) <= 0 and rage > 4 then
Spell(SPELL_REVENGE)
rage = Power(1)
end
-- ====================== 8.维持5破甲 ======================
if (sunderStack < 5 or sunderDur < 3000) and rage > 14 then
S(SPELL_SUNDER_ARMOR)
rage = Power(1)
sunderDur, sunderStack = TART(SPELL_SUNDER_ARMOR)
end
-- ====================== 9.盾牌猛击 ======================
if rage > 24 and ssCD <= 0 then
S(SPELL_SHIELD_SLAM)
rage = Power(1)
ssCD = SCT(SPELL_SHIELD_SLAM)
end
-- ====================== 10.英勇打击 ======================
if rage > 36 then
S(SPELL_HEROIC_STRIKE)
rage = Power(1)
end
-- ====================== 11.盾牌格挡 ======================
if rage > 45 and sbCD <= 0 and ssCD <= 0 then
S(SPELL_SHIELD_BLOCK)
rage = Power(1)
sbCD = SCT(SPELL_SHIELD_BLOCK)
end
-- ====================== 12.顺劈斩 ======================
if rage > 74 then
S(SPELL_CLEAVE)
rage = Power(1)
end
end