Fix rayofhope
This commit is contained in:
19
FreshShit/RayOfHope/1/display.lua
Normal file
19
FreshShit/RayOfHope/1/display.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
function()
|
||||
local net = aura_env.totalHealAbsorb * 1.5 - aura_env.totalDmgAbsorb;
|
||||
-- Use player HP to gauge the limits of the progress bar.
|
||||
-- Seems reasonable for now. Maybe want to stick some multipliers on.
|
||||
local hp = UnitHealth("player")
|
||||
|
||||
if WeakAuras.IsOptionsOpen() then
|
||||
aura_env.region:SetDurationInfo(0, hp, true)
|
||||
return
|
||||
end
|
||||
|
||||
if (net < 0 ) then
|
||||
aura_env.region:SetDurationInfo(-net, hp, true)
|
||||
return
|
||||
else
|
||||
aura_env.region:SetDurationInfo(0, hp, true)
|
||||
return
|
||||
end
|
||||
end
|
22
FreshShit/RayOfHope/2/display.lua
Normal file
22
FreshShit/RayOfHope/2/display.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
function()
|
||||
local net = aura_env.totalHealAbsorb * 1.5 - aura_env.totalDmgAbsorb;
|
||||
-- Use player HP to gauge the limits of the progress bar.
|
||||
-- Seems reasonable for now. Maybe want to stick some multipliers on.
|
||||
local hp = UnitHealth("player")
|
||||
|
||||
if WeakAuras.IsOptionsOpen() then
|
||||
aura_env.region:SetDurationInfo(0.25*hp, hp, true)
|
||||
return "25K"
|
||||
end
|
||||
|
||||
-- AbbreviateNumbers sucks for negative numbers so handle it
|
||||
if net < 0 then
|
||||
net = -net
|
||||
aura_env.region:SetDurationInfo(0, hp, true)
|
||||
return "-" .. AbbreviateNumbers(net)
|
||||
else
|
||||
aura_env.region:SetDurationInfo(net, hp, true)
|
||||
return AbbreviateNumbers(net)
|
||||
end
|
||||
|
||||
end
|
1
FreshShit/RayOfHope/export
Normal file
1
FreshShit/RayOfHope/export
Normal file
@@ -0,0 +1 @@
|
||||
!TV1cZjUrY)Vlu1wNjNnlGFSjBUCvHTXRj)Tbog8UBYLdyqAaMyHezKW24kfF2)398qpabiZ6lBDjQCcR0OPNPN(XVPhPU7vPx3Ee)EKQLQCwPJ7rM2JyJ)h06yH3J9ix3QtJFUvZU1UPhzONWMjoNADVTWBwpcXZHd9(r6yVgx2J4EX7U(zRfTFUhHopyINO1SaUNRpmyb9ilAnAKplOxZJlxgMsprW1lgk42DPdDyQUOg)l8C8eqdnR0Rz5EnRk)9y5VNGncD0Fg1IHTqMlC6rMeemZ)9V9TiJuI792qg5TNbSILHji(burGAQgXD5(tuxdxQAfUoqWhpMj8vZF3WgWlTzdNpAu3fZyGyP(nTV6oqMeiVLoxqRI8fZXPHTEf7pFi7bMBabOI)ups)lQr62N0TwNUrpSTGjFiPD9BGHZLoLPjx(yyMyuNGjWkf5sYmh6cGBcW7JyTafZB55mFQlrjCQ0JiO285(GieL4ux(ukkkIljimQpdwJm3XWCasz96X1Zf(1gwvif9vn6ZS8CHfNKOUr9dM5PuU7R4WfQDELgqyiPo8XU9ixuVz36DKcaPSdTHEa03OCP5zs1sh24iRwhpQ0zyUpRVLd13V3qGhOoOQbAE6CNaUX2b0(wR1OIO16k)z2QnIoaAxR4UavKUavKUavKUaLXUcoNrkALULH82O5ooxWfwGp15W8ybSQYwWlqP9XvSYrd7G6Q62JbHf53MtfSLdUcgILd(0eomIeHuAOKM2laZtUfammFMHucUsaoK4WNcgOnpfKviOaz6fpx3E0KMvxGEybmHl15Jgj9Pvm03WvckubXBaWa5805s0w2f0rUbxb(VGSG0P2LnUJ0J8KbgjCzyAa9)ytbLzpsLsLlbmsGNvOU9DLL4oiR1HUy5aVrlhCT3my5EPAvTCWhuRlKp(e3gT3GXyKa8iblqAavlQTaKTRWwvml5Io1R3eNBNrT94OlRXidwdJ4J1GbaGNXULkSUXyrFwzZyUoX28y4NC3rEIqp4aPj5nsz(qPDwiIfaokUxVaQGlzyKiEZfAeZuGMT5(iUsx2tWnVzwmS6nXCY5OtCtQDdeJ8bAHI)BFRTAHlb5VNXMvd9Pc6GtdsAmz85T62T1TOlJyDVL12WWM5Bb0a69pdi0C)LdoA5GZDa3TjuxB96rTO)j5YX43ZDvw7R6aVbiGqVDFGqWZJ0UtJ6Ky9Y0W5Q()mypG7xquimY9pU317rPGYMd7BybeUyT5r45Sg(bzKARU1AF2dZIyxnJ1SY3g1l8MZJVUQUrSnd5vJrDvdXcepAxqDqVcy2apHWpYRbqhxkEx4f6Nk9wo3aoccOA2)6CFGcM9TCPiko6eUhmynaRbWoEUGfgFYZEEtbLkgEdy87HJCkiduNztuU4sJHl2TbQ2TPbAx3SYjNCA1J)UEGNwGdh9YBDx3BA0SEcJRplnUsjGPm4pyblDVPkN0rZDL66dkU8hxoq9NJha2VCGlly5GFy5auC0N5(qPaWn1bJIO2qaeA4YbFZYbvkDQ0fizNUC6yvF((Or9iOx35dWKQipaqZ2lhe4TCWy68XqZbtGFKy)(kqvzdZeEJfmFOjqJucgNeJhHXMcpsa7t75IH)TCaGTbSU3JqFVLUyi0YJa4VAM8d4w3d)J3uOzPz0mhoO9G5ZnXyRLatMjfa3bbmPcE6GckMVqrtpJOj6koW8FIrVVgit8l1Wxdr2AgdfZ46Yngz6)cfGklX3tybxQJkPbayFq5dr(b(jqmNvCD6fmWun24YCT3eVDGuZ(pwoO8Yb7n)CemiVuwYbu)FPl8vL6Bz5hU4vYc4p09WZXgGfjpYNjdSjYz4Uz2yOpMWLn9ugsZWThqVkSr1qHbuRhcjir6r7BI4Sh5SWz8IjuqVClyTtXOOseNE845nZd6bCrRBpVw3(306d9R)ryp1(318Qg3aBTw)YL)yOZDm5covhgDFahg2a60zhUsFWLuS2MWTzxqbitrSg9fwF4UgxMSLMaJMSLRCOJ9t2uhk3E1MT9dwz0Gwwz0GwsHS0gn1jOaHW6aBc6IAGC5bws4TOMt4Te(Cupow7USYymIIM2j95qTZmbeIXb(GLI74sQOUoOqiPVF5G3aSCK8w2qb0u3trZbH9Ty8wdjOyXIjzwxVGe8gfDdc7oWRaZwqEcX(1URtT(1A3(Mg1VSWMqb2SaWiFXLFLV7Dvp7BxfZj2qe15y9wYBAti1tqGw8U4WSPZx7M)uI(cYq0PZqCEBC4mqbBy8sXyaxGi0Z2id11Dy(iS6duN5mFT2G9OuBa3bTybUpzyMxBx2FabQZiDHB8gs2gjuJyAwBR80eQs5nYFw9ntinTGOo3cm0gFdfB9TAOW40Nh3GiRAdHIaixa4YE1xFri0yAH1KCbhUNq0FYOdBwDRy7PcMVcGFcEhaxdyZ1BTKbu)m(6C2Lm)lzpcQJJKR9p8VG7BuQuP)y2ZqAgM0pdjDvW7d2a695KwDoxICJb8MENUUETy9CJGP6LOgK(q9vkjO6AcCYDph4okXO6KxQ7tF9)tjHdH6s9Zv3eBqWBRn1dCDvOvm7dvHLpCoy7nHlJS0t4ZWRrP1grXKQRnSGmM2GUgvdG)SCtbM4GI7XokBKIvfJbcP(n5U(7MCZFfK6stSbH(zPhSWHX9WmTODVIDlQhm3QDxIDB8NQncsC7ApxPjnnLM6mS7X0PHmSrXAc3jZIMKbavCFOmuEwCVNxzGx7d1rAQ9ICTADFPf1I7fTAdM9L29EE1MI7pTFzZSYiFVOpnpI9JrI5(SFMCgFTI7M4m0LWZZSL(M6HasTrzuZY4Z1YiaBaI7n9oQTGLqRTvVbPu7N2It2VoExVCqxQymlyddASdXi7C4PgtR3MD8KDVwipJXQdbzjDS3eHXMNvjKS9PCDlj5OypFY3N(zTYsOa7)XQY8X(sC8VDDip1rbt7qIzBR3xW(7F57Z)kVFF4((R81KICkEJ)FZx5ACOElu5l58n2LEjBEggDpzTyTZoPrb1TNeVIPCMhLIzVRzbKkjU0o72wpC(MF4FFFx1B)S5zaPnlyT2thVBOwMlB6IxzKwPijoq4wrDd3kpDALpz3W1BBlJeWZBFBGndW(kGTMGpYm4Q5iz7aDn2GNdVMc8QnDkDm71aG1FVXx9ZHxx7DyUXN91dCn9fxicl7PzCXMEHqVG3nFN6326JBbqj5RTrkSs9TH815fWNXZsOClfSPEpWa3TIzNoeNgJjc8DdO3ZCFpi9oCZ7g)chzCZXTmUH2HfZI9nAAi)q5c2mbZhF9T6pV9PLFZYbt9S5J44Neh)i161eWkEQpEqwFXtVgFV(SSA0tNmrdisuz50wOq22vqYM)t5hF(LTHWQt4kFwTF3A0OYLX))n2)UavzWmLfmQu)Q0FbmbYcVyMW1oZ2NnzbABYymZopq(l9tEP(KM773fYAcZ6(WpXXw)spj)m3)H8nEWeU5xLu)qSpTJotaut0nEJ5wXMJG0MK)DL)JCsu5g8dmnT36bmFZJQuwLTDPKXI)fpfA3yEYQtSI4zHvFmtSc)SCQXE(qWFJH5tNlAEaSs8NH5(A0Zor(m2tb9L)OCu7pRpAB1hqJT4kwPsk9YxFHzng2bvYnkV1Fc127XmKQ5QEhL3H1URBlDR4NneThSujBjPM8ZiQ4e(tmtsKE2jMKO8NILwLYUHzZgF0IO8QuMLUmvoE1SfM8yHYh1cytIe9koCKZq(KPhf5IYYc8CDdWniAdB1H3yTyZZMorG7hmb68ephByvwoHKnCPEuLeT)zt7MMF0ty)jbf0lFk8QqotzbgMiDkPE88rTrZM170)M6xLM1IBA2bpagodvjhD40OZH5q90NxvpLueygvdoxZt7L5PxBgA9NbZWxMn2vc(Zlh8VMtTXCPE5GUD3HbtgSmAgjytXSOtJpCD3TB9fP9RuDJAFJjdMN1a2hoKCR77dn5A3FkURbP2LxgxgXXDrLDkE6QlBWM5tdqqxz2PfQ767OWNpx3TGjWVUmFFzQ2kBYA3wjyoeBY(1HAYGTOTytbNBdRg0MjSKBWN859igEmmbABG7cocE(VGVNCiELZPIF5UghfD3rem5w10f33cVFXQlEhZMqMgMYfcyrz414fPGClNjm(4jbkcKPr75Oq)2izEYKcM(KuOU9k(jmYbvQfA71x3WWyfduyN2ECwREgQyrG9J4XhA4YJLCrYxpHoRHJr7gsDODKIqX5CD(xNSebi8XUW(T60yTogjxDuA7l7UsC29LRPLPVVVmqpTdMCKKPNF8QcqRKK4uYhCDmDz0M9Bh7dlJdv67hZPjeUsH7VsrF8OPYhmMmxZTHTZaWI6FeX2sPcqAYgtvbvM5Q9WKMPOa8sUpMeZ2iVfVKp4UyetswoomGNGJB1QsOOOYRRFJMa)rQVELFyMlCGK1wJL9Vn(NjN1rC7DHXy9x6Q(OCSXQCPYFB1JpT63DsLkV7StExL8QajVkqYRcK8Qa5RzvGuQ6PFJSAiYqHxmOq1t))kSZscbfH1gouWEGdUpnNpDOuy4p36EtOgU691GRcFm(QkbWouAZd2JcmXyyHfsY)1khMbfoQa(AXtzfEqY3m3(vCkzUiy208VM2yfLuEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUsEPRKx6k5LUYF2kDL8Qbi7vCYxqfbSZAf5fvuaBPKqIY19WcajVOaYlkG8IcqNu()VEnb02ZN)vVMaYqTau7Zhx9u(c(XNCIERomlKRIE(9()d
|
6
FreshShit/RayOfHope/init.lua
Normal file
6
FreshShit/RayOfHope/init.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
aura_env.rayActive = false
|
||||
aura_env.debug = false
|
||||
|
||||
-- Init values for display
|
||||
aura_env.totalHealAbsorb = 0
|
||||
aura_env.totalDmgAbsorb = 0
|
34
FreshShit/RayOfHope/trigger1.lua
Normal file
34
FreshShit/RayOfHope/trigger1.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
-- COMBAT_LOG_EVENT_UNFILTERED
|
||||
function(
|
||||
event,
|
||||
timestamp,
|
||||
eventtype,
|
||||
hideCaster,
|
||||
srcGUID,
|
||||
srcName,
|
||||
srcFlags,
|
||||
srcRaidFlags,
|
||||
dstGUID,
|
||||
dstName,
|
||||
dstFlags,
|
||||
dstRaidFlags,
|
||||
spellID
|
||||
)
|
||||
local rayActive = aura_env.rayActive
|
||||
if aura_env.debug then rayActive = false end
|
||||
-- print(string.format("rayActive: %s, eventtype: %s", tostring(rayActive), tostring(eventtype)))
|
||||
if not rayActive and eventtype == "SPELL_AURA_APPLIED" then
|
||||
if aura_env.debug then spellID = 197268 end
|
||||
if spellID == 197268 and srcGUID == UnitGUID("player") then
|
||||
if aura_env.debug then print("Ray applied") end
|
||||
|
||||
aura_env.rayActive = true
|
||||
|
||||
-- Reset values if new ray is cast
|
||||
aura_env.totalHealAbsorb = 0
|
||||
aura_env.totalDmgAbsorb = 0
|
||||
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
122
FreshShit/RayOfHope/trigger2.lua
Normal file
122
FreshShit/RayOfHope/trigger2.lua
Normal file
@@ -0,0 +1,122 @@
|
||||
-- COMBAT_LOG_EVENT_UNFILTERED
|
||||
function(
|
||||
allstates,
|
||||
event,
|
||||
timestamp,
|
||||
eventtype,
|
||||
hideCaster,
|
||||
srcGUID,
|
||||
srcName,
|
||||
srcFlags,
|
||||
srcRaidFlags,
|
||||
dstGUID,
|
||||
dstName,
|
||||
dstFlags,
|
||||
dstRaidFlags,
|
||||
...
|
||||
)
|
||||
local rayActive = aura_env.rayActive
|
||||
if aura_env.debug then rayActive = true end
|
||||
if rayActive and (eventtype == "SPELL_ABSORBED" or eventtype == "SPELL_HEAL_ABSORBED") then
|
||||
local spellID, spellName, spellSchool, aSrcGUID, aSrcName, _, _, aSpellID, aSpellName, aSpellSchool, aSpellAmountAbsorbed, somebullshit, horseshit =
|
||||
...
|
||||
local function debuggerprinter()
|
||||
if aura_env.debug then
|
||||
local str = string.format(
|
||||
"event: %s, timestamp: %s, eventtype: %s, hideCaster: %s, srcGUID: %s, srcName: %s, dstGUID: %s, dstName: %s, spellID: %s, spellName: %s, spellSchool: %s, aSpellAmountAbsorbed: %s, somebullshit: %s, horseshit: %s",
|
||||
tostring(event),
|
||||
tostring(timestamp),
|
||||
tostring(eventtype),
|
||||
tostring(hideCaster),
|
||||
tostring(srcGUID),
|
||||
tostring(srcName),
|
||||
tostring(dstGUID),
|
||||
tostring(dstName),
|
||||
tostring(spellID),
|
||||
tostring(spellName),
|
||||
tostring(spellSchool),
|
||||
tostring(aSpellAmountAbsorbed),
|
||||
tostring(somebullshit),
|
||||
tostring(horseshit)
|
||||
)
|
||||
print(str)
|
||||
end
|
||||
end
|
||||
-- Ray absorbed heal
|
||||
-- srcName = Player
|
||||
-- dstName = RoH Target
|
||||
-- spellID = RoH spellID
|
||||
-- aSrcName = Absorbed Heal Caster
|
||||
-- aSpellID = Absorbed Heal SpellID
|
||||
-- aSpellAmountAbsorbed = duh;
|
||||
if eventtype == "SPELL_HEAL_ABSORBED" then
|
||||
if aura_env.debug then spellID = 197268 end
|
||||
if srcGUID == UnitGUID("player") and spellID == 197268 then
|
||||
debuggerprinter()
|
||||
if aura_env.debug then
|
||||
local str = string.format(
|
||||
"Ray of Hope absorbed %s's heal, %s, for %d.",
|
||||
aSrcName,
|
||||
aSpellName,
|
||||
aSpellAmountAbsorbed
|
||||
)
|
||||
print(str)
|
||||
end
|
||||
|
||||
aura_env.totalHealAbsorb = aura_env.totalHealAbsorb + aSpellAmountAbsorbed
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
-- Ray absorbed dmg
|
||||
-- srcName = enemy
|
||||
-- dstName = RoH Target
|
||||
-- spellID = Spell Absorbed spellID
|
||||
-- spellName = Spell Absorbed Name
|
||||
-- aSrcName = Player
|
||||
-- aSpellID = RoH spellID
|
||||
if eventtype == "SPELL_ABSORBED" then
|
||||
if aura_env.debug then aSpellID = 197268 end
|
||||
if aSrcGUID == UnitGUID("player") and aSpellID == 197268 then
|
||||
debuggerprinter()
|
||||
if aura_env.debug then
|
||||
local str = string.format(
|
||||
"Ray of Hope absorbed %s's damage, %s, for %d.",
|
||||
srcName,
|
||||
spellName,
|
||||
aSpellAmountAbsorbed
|
||||
)
|
||||
print(str)
|
||||
end
|
||||
|
||||
aura_env.totalDmgAbsorb = aura_env.totalDmgAbsorb + aSpellAmountAbsorbed
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Ray expire
|
||||
if aura_env.rayActive and eventtype == "SPELL_AURA_REMOVED" then
|
||||
local spellID = ...
|
||||
if spellID == 197268 and srcGUID == UnitGUID("player") then
|
||||
if aura_env.debug then
|
||||
print("Ray removed.")
|
||||
print("RoH heals taken: ", aura_env.totalHealAbsorb)
|
||||
print("RoH dmg taken: ", aura_env.totalDmgAbsorb)
|
||||
|
||||
-- 1.5 represents the 50% modifier to heals into ray
|
||||
local net = aura_env.totalHealAbsorb * 1.5 - aura_env.totalDmgAbsorb
|
||||
|
||||
local colorString = ""
|
||||
if net > 0 then
|
||||
colorString = string.format("|cff00ff00%d|r", net)
|
||||
else
|
||||
colorString = string.format("|cffff0000%d|r", net)
|
||||
end
|
||||
print("Net: ", colorString)
|
||||
end
|
||||
|
||||
aura_env.rayActive = false
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user