update rogue spells

This commit is contained in:
pepopo978
2025-08-18 10:08:17 -07:00
parent 00c22ea07d
commit 7f81b51b1a
3 changed files with 43 additions and 9 deletions
+5 -1
View File
@@ -163,6 +163,8 @@ L:RegisterTranslations("enUS", function()
["blind"] = true,
["sap"] = true,
["gouge"] = true,
["rupture"] = true,
["kidney shot"] = true,
["expose armor"] = true,
["garrote"] = true,
["deadly poison"] = true,
@@ -363,7 +365,9 @@ L:RegisterTranslations("zhCN", function()
["blind"] = "致盲",
["sap"] = "闷棍",
["gouge"] = "凿击",
["expose armor"] = "破甲", -- no idea if right
["rupture"] = "割裂", -- no idea if right
["kidney shot"] = "肾击", -- no idea if right
["expose armor"] = "破甲", -- no idea if right
["garrote"] = "锁喉", -- no idea if right
["deadly poison"] = "致命毒药", -- no idea if right
["deadly poison II"] = "致命毒药 II",
+5 -3
View File
@@ -139,6 +139,8 @@ end
function curses:GetCurseDuration(curseSpellID)
if curses.trackedCurseIds[curseSpellID].variableDuration then
return curses:ScanTooltipForDuration(curseSpellID)
elseif curses.trackedCurseIds[curseSpellID].calculateDuration then
return curses.trackedCurseIds[curseSpellID].calculateDuration()
end
return curses.trackedCurseIds[curseSpellID].duration
@@ -207,7 +209,8 @@ Cursive:RegisterEvent("UNIT_CASTEVENT", function(casterGuid, targetGuid, event,
if curses.trackedCurseIds[spellID] then
lastGuid = targetGuid
Cursive:ScheduleEvent("addCurse" .. targetGuid .. curses.trackedCurseIds[spellID].name, curses.ApplyCurse, 0.2, self, spellID, targetGuid, GetTime())
local duration = curses:GetCurseDuration(spellID) - 0.2
Cursive:ScheduleEvent("addCurse" .. targetGuid .. curses.trackedCurseIds[spellID].name, curses.ApplyCurse, 0.2, self, spellID, targetGuid, GetTime(), duration)
elseif curses.conflagrateSpellIds[spellID] then
Cursive:ScheduleEvent("updateCurse" .. targetGuid .. L["conflagrate"], curses.UpdateCurse, 0.2, self, spellID, targetGuid, GetTime())
end
@@ -500,13 +503,12 @@ function curses:ApplySharedCurse(sharedDebuffKey, spellID, targetGuid, startTime
end
-- Apply curse from player
function curses:ApplyCurse(spellID, targetGuid, startTime)
function curses:ApplyCurse(spellID, targetGuid, startTime, duration)
-- clear pending cast
curses.pendingCast = {}
local name = curses.trackedCurseIds[spellID].name
local rank = curses.trackedCurseIds[spellID].rank
local duration = curses:GetCurseDuration(spellID)
if not curses.guids[targetGuid] then
curses.guids[targetGuid] = {}
+33 -5
View File
@@ -1,3 +1,21 @@
function getGougeDuration()
-- Improved Gouge: +.5s per talent
local _, _, _, _, count = GetTalentInfo(2, 1)
if count and count > 0 then
return 4 + (count * .5)
end
return 4
end
function getRuptureDuration()
return 6 + GetComboPoints() * 2
end
function getKidneyShotDuration()
return 1 + GetComboPoints()
end
local L = AceLibrary("AceLocale-2.2"):new("Cursive")
function getRogueSpells()
return {
@@ -8,11 +26,21 @@ function getRogueSpells()
[2070] = { name = L["sap"], rank = 2, duration = 35 },
[11297] = { name = L["sap"], rank = 3, duration = 45 },
[1776] = { name = L["gouge"], rank = 1, duration = 4 },
[1777] = { name = L["gouge"], rank = 2, duration = 4 },
[8629] = { name = L["gouge"], rank = 3, duration = 4 },
[11285] = { name = L["gouge"], rank = 4, duration = 4 },
[11286] = { name = L["gouge"], rank = 5, duration = 4 },
[1776] = { name = L["gouge"], rank = 1, duration = 4, calculateDuration = getGougeDuration },
[1777] = { name = L["gouge"], rank = 2, duration = 4, calculateDuration = getGougeDuration },
[8629] = { name = L["gouge"], rank = 3, duration = 4, calculateDuration = getGougeDuration },
[11285] = { name = L["gouge"], rank = 4, duration = 4, calculateDuration = getGougeDuration },
[11286] = { name = L["gouge"], rank = 5, duration = 4, calculateDuration = getGougeDuration },
[1943] = { name = L["rupture"], rank = 1, duration = 6, calculateDuration = getRuptureDuration },
[8639] = { name = L["rupture"], rank = 2, duration = 6, calculateDuration = getRuptureDuration },
[8640] = { name = L["rupture"], rank = 3, duration = 6, calculateDuration = getRuptureDuration },
[11273] = { name = L["rupture"], rank = 4, duration = 6, calculateDuration = getRuptureDuration },
[11274] = { name = L["rupture"], rank = 5, duration = 6, calculateDuration = getRuptureDuration },
[11275] = { name = L["rupture"], rank = 6, duration = 6, calculateDuration = getRuptureDuration },
[408] = { name = L["kidney shot"], rank = 1, duration = 1, calculateDuration = getKidneyShotDuration },
[8643] = { name = L["kidney shot"], rank = 2, duration = 1, calculateDuration = getKidneyShotDuration },
[8647] = { name = L["expose armor"], rank = 1, duration = 30 }, -- this is a shared debuff but almost always only done by 1 rogue
[8649] = { name = L["expose armor"], rank = 2, duration = 30 },