Release OEVG Cursive 1.6 with ClassicAPI tracking and appearance options

This commit is contained in:
2026-11-03 19:55:47 -04:00
parent 6fd8901c0f
commit 8240256726
13 changed files with 611 additions and 46 deletions
+41
View File
@@ -0,0 +1,41 @@
local callbacks = {}
local auras = {}
local removed = 0
local pending = {}
Cursive = { nampower = true, db = {profile = {enabled=true,useclassicapi=true}},
core = {addGuid=function() end},
curses = {trackedCurseIds={[172]={name="corruption",rank=1}},guids={},pendingCast=pending} }
function Cursive.curses:ApplyCurse(id,guid,start,duration)
self.pendingCast = {}
self.guids[guid] = self.guids[guid] or {}
self.guids[guid].corruption = {currentPlayer=true,start=start,duration=duration}
end
function Cursive.curses:RemoveCurse(guid,name) self.guids[guid][name]=nil; removed=removed+1 end
function CreateFrame() return {RegisterEvent=function() end,SetScript=function(self,key,fn) callbacks[key]=fn end} end
function UnitExists(unit) return true,"mob" end
function UnitIsUnit(a,b) return a==b end
function GetTime() return 100 end
C_UnitAuras = {
GetAuraSlots=function(unit,filter,a,b,out) for i=1,table.getn(auras) do out[i]=i end; return nil,table.getn(auras) end,
UnitAuraBySlot=function(unit,slot) return unpack(auras[slot]) end,
GetAuraDataByAuraInstanceID=function() end,
}
dofile("classicapi.lua")
auras[1]={"Corruption","icon",1,"Magic",18,118,"player",false,false,172}
Cursive.ReconcileClassicAuras("target")
assert(Cursive.curses.guids.mob.corruption.start==100)
auras[1][6]=125
Cursive.ReconcileClassicAuras("target")
assert(Cursive.curses.guids.mob.corruption.start==107)
auras={}
Cursive.ReconcileClassicAuras("target")
assert(removed==1)
Cursive.curses.guids.mob.corruption={currentPlayer=true}
Cursive.ReconcileClassicAuras("target")
assert(Cursive.curses.guids.mob.corruption)
auras[1]={"Corruption","icon",1,"Magic",18,118,"party1",false,false,172}
Cursive.ReconcileClassicAuras("target")
assert(not Cursive.curses.guids.mob.corruption.classicConfirmed)
C_UnitAuras=nil
Cursive.ReconcileClassicAuras("target")
print("ClassicAPI reconciliation tests passed")