In classic, drive by buffs are common. I had an idea to create an addon that grabs the name of the player who buffed you and do a /ty. The later part is theoretical, but here is my hacked together code.
Code:
local JWB = CreateFrame("Frame")
local function(WhoBuff)
print("Buffed!")
local buffnum=0
for i=1, 40 do
local name, __, count,_,_,_,caster = UnitBuff("player", i, "HELPFUL"); -- buffs only
if (not name) then
buffnum=i
casterName = caster==nil and "unknown" or caster=="player" and "you" or caster=="pet" and "your pet" or UnitName(caster)
print("Caster: "..casterName)
print("break"..i)
break; --end the loop
end
end
end
JWB:SetScript("OnEvent", WhoBuff)
JWB:RegisterUnitEvent("UNIT_AURA", "player")
What I thought would happen is when my toon is buffed, the code would loop through the buffs and pick the last one and print the caster name. Maybe I am misreading the API documentation or I should not try coding until I adjust to a new shift.