Fixed things about the Real Time DPS; Open Raid Lib Update
This commit is contained in:
@@ -41,3 +41,4 @@ plugins/Details_Streamer/.github/workflows/release.yml
|
||||
plugins/Details_TinyThreat/.github/workflows/release.yml
|
||||
plugins/Details_Vanguard/.github/workflows/release.yml
|
||||
photoshop/ten_years_skin.tga
|
||||
*.yml
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Terciob19
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,8 @@
|
||||
## Interface: 100105
|
||||
## Title: LuaServerDefinitions
|
||||
## Notes: Development Tools
|
||||
## Version: #@project-version@
|
||||
|
||||
## X-Curse-Project-ID: 889573
|
||||
|
||||
LuaServerDefinitions.lua
|
||||
@@ -23,6 +23,8 @@ BUGS:
|
||||
|
||||
--]=]
|
||||
|
||||
LIB_OPEN_RAID_CAN_LOAD = false
|
||||
|
||||
local versionString, revision, launchDate, gameVersion = GetBuildInfo()
|
||||
|
||||
local isExpansion_Dragonflight = function()
|
||||
@@ -37,19 +39,15 @@ if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE and not isExpansion_Dragonflight()) t
|
||||
end
|
||||
|
||||
local major = "LibOpenRaid-1.0"
|
||||
local CONST_LIB_VERSION = 105
|
||||
local CONST_LIB_VERSION = 107
|
||||
|
||||
if (not LIB_OPEN_RAID_MAX_VERSION) then
|
||||
LIB_OPEN_RAID_MAX_VERSION = CONST_LIB_VERSION
|
||||
else
|
||||
LIB_OPEN_RAID_MAX_VERSION = math.max(LIB_OPEN_RAID_MAX_VERSION, CONST_LIB_VERSION)
|
||||
if (LIB_OPEN_RAID_MAX_VERSION) then
|
||||
if (CONST_LIB_VERSION <= LIB_OPEN_RAID_MAX_VERSION) then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
LIB_OPEN_RAID_CAN_LOAD = false
|
||||
|
||||
local unpack = table.unpack or _G.unpack
|
||||
|
||||
--declae the library within the LibStub
|
||||
--declare the library within the LibStub
|
||||
local libStub = _G.LibStub
|
||||
local openRaidLib = libStub:NewLibrary(major, CONST_LIB_VERSION)
|
||||
|
||||
@@ -58,8 +56,11 @@ local unpack = table.unpack or _G.unpack
|
||||
end
|
||||
|
||||
openRaidLib.__version = CONST_LIB_VERSION
|
||||
|
||||
LIB_OPEN_RAID_CAN_LOAD = true
|
||||
LIB_OPEN_RAID_MAX_VERSION = CONST_LIB_VERSION
|
||||
|
||||
--locals
|
||||
local unpack = table.unpack or _G.unpack
|
||||
|
||||
openRaidLib.__errors = {} --/dump LibStub:GetLibrary("LibOpenRaid-1.0").__errors
|
||||
|
||||
@@ -2376,6 +2377,14 @@ function openRaidLib.CooldownManager.OnReceiveUnitCooldowns(data, unitName)
|
||||
--unpack the table as a pairs table
|
||||
local unpackedTable = openRaidLib.UnpackTable(data, 1, true, true, CONST_COOLDOWN_INFO_SIZE)
|
||||
|
||||
--[=[ --debug for data received from Evokers
|
||||
local _, class = UnitClass(unitName)
|
||||
if (class == "EVOKER") then
|
||||
print(unitName)
|
||||
dumpt(unpackedTable)
|
||||
end
|
||||
--]=]
|
||||
|
||||
--add the list of cooldowns
|
||||
openRaidLib.CooldownManager.AddUnitCooldownsList(unitName, unpackedTable)
|
||||
end
|
||||
|
||||
@@ -358,7 +358,7 @@ do
|
||||
[89766] = {class = "WARLOCK", specs = {266}, cooldown = 30, silence = 4, talent = false, cooldownWithTalent = false, cooldownTalentId = false, pet = 17252, type = 6, charges = 1}, --Axe Toss (pet felguard ability)
|
||||
[351338] = {class = "EVOKER", specs = {1467, 1468}, cooldown = 40, silence = 4, talent = false, cooldownWithTalent = false, cooldownTalentId = false, charges = 1, type = 6}, --Quell (Evoker)
|
||||
|
||||
--paladin
|
||||
--~paladin
|
||||
-- 65 - Holy
|
||||
-- 66 - Protection
|
||||
-- 70 - Retribution
|
||||
@@ -394,7 +394,7 @@ do
|
||||
[389539] = {cooldown = 120, duration = 20, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 2}, --Sentinel
|
||||
[31935] = {cooldown = 13, duration = 0, specs = {66}, talent = false, charges = 1, class = "PALADIN", type = 6}, --Avenger's Shield
|
||||
|
||||
--warrior
|
||||
--~warrior
|
||||
-- 71 - Arms
|
||||
-- 72 - Fury
|
||||
-- 73 - Protection
|
||||
@@ -425,7 +425,7 @@ do
|
||||
[385952] = {cooldown = 45, duration = 4, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 5}, --Shield Charge
|
||||
[1160] = {cooldown = 45, duration = 8, specs = {73}, talent = false, charges = 1, class = "WARRIOR", type = 2}, --Demoralizing Shout
|
||||
|
||||
--warlock
|
||||
--~warlock
|
||||
-- 265 - Affliction
|
||||
-- 266 - Demonology
|
||||
-- 267 - Destruction
|
||||
@@ -452,7 +452,7 @@ do
|
||||
[6358] = {cooldown = 30, duration = 30, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 8, pet = 184600}, --Seduction
|
||||
[261589] = {cooldown = 30, duration = 30, specs = {265, 266, 267}, talent = false, charges = 1, class = "WARLOCK", type = 8}, --Seduction (Sacrifice)
|
||||
|
||||
--shaman
|
||||
--~shaman
|
||||
-- 262 - Elemental
|
||||
-- 263 - Enchancment
|
||||
-- 264 - Restoration
|
||||
@@ -487,7 +487,7 @@ do
|
||||
[305483] = {cooldown = 45, duration = 5, specs = {262, 263, 264}, talent = false, charges = 1, class = "SHAMAN", type = 8}, --Lightning Lasso
|
||||
[197214] = {cooldown = 40, duration = 2, specs = {262}, talent = false, charges = 1, class = "SHAMAN", type = 8}, --Sundering
|
||||
|
||||
--monk
|
||||
--~monk
|
||||
-- 268 - Brewmaster
|
||||
-- 269 - Windwalker
|
||||
-- 270 - Restoration
|
||||
@@ -521,7 +521,7 @@ do
|
||||
[115078] = {cooldown = 45, duration = 60, specs = {268, 269, 270}, talent = false, charges = 1, class = "MONK", type = 8}, --Paralysis
|
||||
|
||||
|
||||
--hunter
|
||||
--~hunter
|
||||
-- 253 - Beast Mastery
|
||||
-- 254 - Marksmenship
|
||||
-- 255 - Survival
|
||||
@@ -548,7 +548,7 @@ do
|
||||
[236776] = {cooldown = 40, duration = 0, specs = {253, 254, 255}, talent = false, charges = 1, class = "HUNTER", type = 8}, --High Explosive Trap
|
||||
|
||||
|
||||
--druid
|
||||
--~druid
|
||||
-- 102 - Balance
|
||||
-- 103 - Feral
|
||||
-- 104 - Guardian
|
||||
@@ -585,7 +585,7 @@ do
|
||||
[205636] = {cooldown = 60, duration = 10, specs = {102}, talent = false, charges = 1, class = "DRUID", type = 5}, --Force of Nature
|
||||
[200851] = {cooldown = 60, duration = 10, specs = {104}, talent = false, charges = 1, class = "DRUID", type = 2}, --Rage of the Sleeper
|
||||
|
||||
--death knight
|
||||
--~death knight
|
||||
-- 252 - Unholy
|
||||
-- 251 - Frost
|
||||
-- 252 - Blood
|
||||
@@ -615,7 +615,7 @@ do
|
||||
[194679] = {cooldown = 25, duration = 4, specs = {252}, talent = false, charges = 1, class = "DEATHKNIGHT", type = 2}, --Rune Tap
|
||||
[194844] = {cooldown = 60, duration = 0, specs = {251}, talent = false, charges = 1, class = "DEATHKNIGHT", type = 1}, --Bonestorm
|
||||
|
||||
--demon hunter
|
||||
--~demon hunter
|
||||
-- 577 - Havoc
|
||||
-- 581 - Vengance
|
||||
[198589] = {cooldown = 60, duration = 10, specs = {577}, talent = false, charges = 1, class = "DEMONHUNTER", type = 2}, --Blur
|
||||
@@ -637,7 +637,7 @@ do
|
||||
[212084] = {cooldown = 60, duration = 2, specs = {581}, talent = false, charges = 1, class = "DEMONHUNTER", type = 2}, --Fel Devastation
|
||||
[203720] = {cooldown = 20, duration = 6, specs = {581}, talent = false, charges = 2, class = "DEMONHUNTER", type = 2}, --Demon Spikes
|
||||
|
||||
--mage
|
||||
--~mage
|
||||
-- 62 - Arcane
|
||||
-- 63 - Fire
|
||||
-- 64 - Frost
|
||||
@@ -665,10 +665,13 @@ do
|
||||
[122] = {cooldown = 30, duration = 6, specs = {63, 64, 62}, talent = false, charges = 1, class = "MAGE", type = 8}, --Frost Nova
|
||||
[157980] = {cooldown = 25, duration = 0, specs = {62}, talent = false, charges = 1, class = "MAGE", type = 8}, --Supernova
|
||||
|
||||
[414660] = {cooldown = 120, duration = 60, specs = {63, 64, 62}, talent = false, charges = 1, class = "MAGE", type = 4}, --Mass Barrier
|
||||
[414664] = {cooldown = 300, duration = 12, specs = {63, 64, 62}, talent = false, charges = 1, class = "MAGE", type = 5}, --Mass Invisibility (only out of combat)
|
||||
|
||||
-- This needs more work to actually function
|
||||
--[342245] = {cooldown = 60, duration = 0, specs = {}, talent = false, charges = 1, class = "MAGE", type = 2}, --Alter Time
|
||||
|
||||
--priest
|
||||
--~priest
|
||||
-- 256 - Discipline
|
||||
-- 257 - Holy
|
||||
-- 258 - Shadow
|
||||
@@ -705,7 +708,7 @@ do
|
||||
[108920] = {cooldown = 60, duration = 20, specs = {256, 257, 258}, talent = false, charges = 1, class = "PRIEST", type = 8}, --Void Tendrils
|
||||
|
||||
|
||||
--rogue
|
||||
--~rogue
|
||||
-- 259 - Assasination
|
||||
-- 260 - Outlaw
|
||||
-- 261 - Subtlety
|
||||
@@ -727,7 +730,7 @@ do
|
||||
[384631] = {cooldown = 90, duration = 12, specs = {261}, talent = false, charges = 1, class = "ROGUE", type = 1}, --Flagellation
|
||||
[277925] = {cooldown = 60, duration = 4, specs = {261}, talent = false, charges = 1, class = "ROGUE", type = 1}, --Shuriken Tornado
|
||||
|
||||
--evoker
|
||||
--~evoker
|
||||
-- 1467 - Devastation
|
||||
-- 1468 - Preservation
|
||||
-- 1473 - Augmentation
|
||||
@@ -911,6 +914,7 @@ do
|
||||
[106898] = {106898,77764,77761},
|
||||
[77764] = {106898,77764,77761},
|
||||
[77761] = {106898,77764,77761},
|
||||
[232633] = {155145, 28730, 25046, 80483, 129597, 69179, 50613, 202719, 232633}, --Arcane Torrent
|
||||
}
|
||||
|
||||
LIB_OPEN_RAID_SPECID_TO_CLASSID = {
|
||||
@@ -964,17 +968,17 @@ do
|
||||
|
||||
[1467] = 13,
|
||||
[1468] = 13,
|
||||
[1473] = 13,
|
||||
}
|
||||
|
||||
LIB_OPEN_RAID_DATABASE_LOADED = true
|
||||
end
|
||||
|
||||
--this will make sure to always have the latest data
|
||||
--/dumpt LIB_OPEN_RAID_BLOODLUST
|
||||
C_Timer.After(0, function()
|
||||
if (openRaidLib.__version == LIB_OPEN_RAID_MAX_VERSION) then
|
||||
loadLibDatabase()
|
||||
end
|
||||
end)
|
||||
loadLibDatabase()
|
||||
end
|
||||
end
|
||||
@@ -1233,6 +1233,69 @@ Details222.UnitIdCache.Party = {
|
||||
[4] = "party4",
|
||||
}
|
||||
|
||||
Details222.UnitIdCache.Boss = {
|
||||
[1] = "boss1",
|
||||
[2] = "boss2",
|
||||
[3] = "boss3",
|
||||
[4] = "boss4",
|
||||
[5] = "boss5",
|
||||
[6] = "boss6",
|
||||
[7] = "boss7",
|
||||
[8] = "boss8",
|
||||
[9] = "boss9",
|
||||
}
|
||||
|
||||
Details222.UnitIdCache.Nameplate = {
|
||||
[1] = "nameplate1",
|
||||
[2] = "nameplate2",
|
||||
[3] = "nameplate3",
|
||||
[4] = "nameplate4",
|
||||
[5] = "nameplate5",
|
||||
[6] = "nameplate6",
|
||||
[7] = "nameplate7",
|
||||
[8] = "nameplate8",
|
||||
[9] = "nameplate9",
|
||||
[10] = "nameplate10",
|
||||
[11] = "nameplate11",
|
||||
[12] = "nameplate12",
|
||||
[13] = "nameplate13",
|
||||
[14] = "nameplate14",
|
||||
[15] = "nameplate15",
|
||||
[16] = "nameplate16",
|
||||
[17] = "nameplate17",
|
||||
[18] = "nameplate18",
|
||||
[19] = "nameplate19",
|
||||
[20] = "nameplate20",
|
||||
[21] = "nameplate21",
|
||||
[22] = "nameplate22",
|
||||
[23] = "nameplate23",
|
||||
[24] = "nameplate24",
|
||||
[25] = "nameplate25",
|
||||
[26] = "nameplate26",
|
||||
[27] = "nameplate27",
|
||||
[28] = "nameplate28",
|
||||
[29] = "nameplate29",
|
||||
[30] = "nameplate30",
|
||||
[31] = "nameplate31",
|
||||
[32] = "nameplate32",
|
||||
[33] = "nameplate33",
|
||||
[34] = "nameplate34",
|
||||
[35] = "nameplate35",
|
||||
[36] = "nameplate36",
|
||||
[37] = "nameplate37",
|
||||
[38] = "nameplate38",
|
||||
[39] = "nameplate39",
|
||||
[40] = "nameplate40",
|
||||
}
|
||||
|
||||
Details222.UnitIdCache.Arena = {
|
||||
[1] = "arena1",
|
||||
[2] = "arena2",
|
||||
[3] = "arena3",
|
||||
[4] = "arena4",
|
||||
[5] = "arena5",
|
||||
}
|
||||
|
||||
function Details222.Tables.MakeWeakTable(mode)
|
||||
local newTable = {}
|
||||
setmetatable(newTable, {__mode = mode or "v"})
|
||||
|
||||
@@ -2589,12 +2589,14 @@ local actor_class_color_r, actor_class_color_g, actor_class_color_b
|
||||
percentText = percentText or ""
|
||||
|
||||
if ((Details.time_type == 3 or (Details.combat_log.evoker_show_realtimedps and Details.playerspecid == 1473)) and Details.in_combat) then --real time
|
||||
local actorSerial = thisLine:GetActor().serial
|
||||
local currentDps = Details.CurrentDps.GetCurrentDps(actorSerial)
|
||||
if (currentDps and currentDps > 0) then
|
||||
currentDps = Details:ToK2(currentDps)
|
||||
if (thisLine:GetActor()) then
|
||||
local actorSerial = thisLine:GetActor().serial
|
||||
local currentDps = Details.CurrentDps.GetCurrentDps(actorSerial)
|
||||
if (currentDps and currentDps > 0) then
|
||||
currentDps = Details:ToK2(currentDps)
|
||||
end
|
||||
perSecondText = currentDps
|
||||
end
|
||||
perSecondText = currentDps
|
||||
end
|
||||
|
||||
--check if the instance is showing total, dps and percent
|
||||
|
||||
+95
-16
@@ -182,10 +182,23 @@
|
||||
---@field key3 controlflags
|
||||
---@field key4 valueamount
|
||||
|
||||
---@class evokereonsbreathinfo : table
|
||||
---@field key1 serial
|
||||
---@field key2 actorname
|
||||
---@field key3 controlflags
|
||||
---@field key4 unit
|
||||
---@field key5 unixtime
|
||||
---@field key6 number
|
||||
---@field key7 number
|
||||
|
||||
--store all information about augmentation evokers ~roskash
|
||||
local augmentation_cache = {
|
||||
ebon_might = {},
|
||||
prescience = {},
|
||||
---@type table<serial, evokereonsbreathinfo[]>
|
||||
breath_targets = {},
|
||||
flyaway = {},
|
||||
flyaway_timer = {},
|
||||
}
|
||||
|
||||
local empower_cache = {}
|
||||
@@ -1229,7 +1242,7 @@
|
||||
end
|
||||
end
|
||||
|
||||
if (spellId == 404908 and augmentation_cache.prescience[sourceSerial]) then
|
||||
if (spellId == 404908 and augmentation_cache.prescience[sourceSerial]) then --fate mirror
|
||||
---actor buffed with prescience -> list of evokers whose buffed
|
||||
---@type table<serial, evokerinfo[]>
|
||||
local currentlyBuffedWithPrescience = augmentation_cache.prescience[sourceSerial]
|
||||
@@ -1253,6 +1266,42 @@
|
||||
end
|
||||
end
|
||||
|
||||
if (spellId == 409632) then
|
||||
local breathTargets = augmentation_cache.breath_targets
|
||||
|
||||
---@type evokereonsbreathinfo[]
|
||||
local evokerWithEonsApplications = breathTargets[targetSerial]
|
||||
|
||||
if (evokerWithEonsApplications) then
|
||||
--this table consists in a list of evokers who applied eon's breath on the target
|
||||
for i = 1, #evokerWithEonsApplications do
|
||||
---@type evokereonsbreathinfo
|
||||
local evokerInfo = evokerWithEonsApplications[i]
|
||||
local appliedTime = evokerInfo[5]
|
||||
local duration = evokerInfo[6]
|
||||
|
||||
if (detailsFramework:IsNearlyEqual(time, appliedTime + duration, 0.05)) then
|
||||
local evokerName = evokerInfo[2]
|
||||
if (evokerName ~= Details.playername) then
|
||||
local evokerSerial = evokerInfo[1]
|
||||
local evokerFlags = evokerInfo[3]
|
||||
|
||||
---@type actor
|
||||
local evokerActor = damage_cache[evokerSerial]
|
||||
|
||||
if (not evokerActor) then
|
||||
evokerActor = _current_damage_container:PegarCombatente(evokerSerial, evokerName, evokerFlags, true)
|
||||
end
|
||||
|
||||
if (evokerActor) then
|
||||
evokerActor.extra_bar = evokerActor.extra_bar + amount
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--actor owner (if any)
|
||||
if (ownerActor) then --se for dano de um Pet
|
||||
ownerActor.total = ownerActor.total + amount --e adiciona o dano ao pet
|
||||
@@ -2528,6 +2577,24 @@
|
||||
---@type evokerinfo
|
||||
local evokerInfo = {sourceSerial, sourceName, sourceFlags, amount}
|
||||
table.insert(augmentation_cache.prescience[targetSerial], evokerInfo)
|
||||
|
||||
elseif (spellId == 409560) then
|
||||
local unitIDAffected = Details:FindUnitIDByUnitSerial(targetSerial)
|
||||
if (unitIDAffected) then
|
||||
local duration, expirationTime = Details:FindDebuffDuration(unitIDAffected, spellId)
|
||||
if (duration) then
|
||||
local breathTargets = augmentation_cache.breath_targets[targetSerial]
|
||||
if (not breathTargets) then
|
||||
augmentation_cache.breath_targets[targetSerial] = {}
|
||||
breathTargets = augmentation_cache.breath_targets[targetSerial]
|
||||
end
|
||||
|
||||
--evoker serial, evoker name, evoker flags, target unitID, unixtime, duration, expirationTime (GetTime + duration)
|
||||
---@type evokereonsbreathinfo
|
||||
local eonsBreathInfo = {sourceSerial, sourceName, sourceFlags, unitIDAffected, time, duration, expirationTime}
|
||||
table.insert(breathTargets, eonsBreathInfo)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if (buffs_makeyourown[spellId]) then
|
||||
@@ -3678,20 +3745,20 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
--serach key: ~interrupts
|
||||
---comment: this function is called when a spell is interrupted
|
||||
---@param token string
|
||||
---@param time number
|
||||
---@param sourceSerial string
|
||||
---@param sourceName string
|
||||
---@param sourceFlags number
|
||||
---@param targetSerial string
|
||||
---@param targetName string
|
||||
---@param targetFlags number
|
||||
---@param time unixtime
|
||||
---@param sourceSerial guid
|
||||
---@param sourceName actorname
|
||||
---@param sourceFlags controlflags
|
||||
---@param targetSerial guid
|
||||
---@param targetName actorname
|
||||
---@param targetFlags controlflags
|
||||
---@param targetFlags2 number
|
||||
---@param spellId number
|
||||
---@param spellName string
|
||||
---@param spellType number
|
||||
---@param extraSpellID number
|
||||
---@param extraSpellName string
|
||||
---@param extraSchool number
|
||||
---@param spellId spellid
|
||||
---@param spellName spellname
|
||||
---@param spellType spellschool
|
||||
---@param extraSpellID spellid
|
||||
---@param extraSpellName spellname
|
||||
---@param extraSchool spellschool
|
||||
function parser:interrupt(token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, targetFlags2, spellId, spellName, spellType, extraSpellID, extraSpellName, extraSchool)
|
||||
--quake affix from mythic+
|
||||
if (spellId == 240448) then
|
||||
@@ -6093,7 +6160,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
|
||||
if (not parserDebug[token]) then
|
||||
parserDebug[token] = true
|
||||
print(token)
|
||||
--print(token)
|
||||
end
|
||||
|
||||
if ( spellId == 409632 ) then
|
||||
@@ -6164,10 +6231,21 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
--print(time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5)
|
||||
end
|
||||
|
||||
if (spellId == 409560) then --temporal would
|
||||
local spellschool, auraType, amount = A3, A4, A5
|
||||
print(time, token, spellName, sourceName, targetName, spellschool, auraType, amount, A6, A7, A8, A9, A10)
|
||||
end
|
||||
|
||||
if (spellName == "Ebon Might") then
|
||||
--6/30 14:19:19.299 SPELL_AURA_REMOVED,Player-5764-00018FF1,"Termøhead-Iridikron",0x518,0x0,Player-5764-0001977A,"Drgndeesnutz-Fyrakk",0x518,0x0,395152,"Ebon Might",0xc,BUFF
|
||||
local spellschool, auraType, amount = A3, A4, A5
|
||||
print(token, spellName, sourceName, targetName, spellschool, auraType, amount, A6, A7, A8, A9, A10)
|
||||
--print(token, spellName, sourceName, targetName, spellschool, auraType, amount, A6, A7, A8, A9, A10)
|
||||
end
|
||||
|
||||
if (spellName == "Breath of Eons") then
|
||||
--6/30 14:19:19.299 SPELL_AURA_REMOVED,Player-5764-00018FF1,"Termøhead-Iridikron",0x518,0x0,Player-5764-0001977A,"Drgndeesnutz-Fyrakk",0x518,0x0,395152,"Ebon Might",0xc,BUFF
|
||||
local spellschool, auraType, amount = A3, A4, A5
|
||||
print(time, token, spellName, sourceName, targetName, spellschool, auraType, amount, A6, A7, A8, A9, A10)
|
||||
end
|
||||
|
||||
if (token == "SPELL_CAST_START") then
|
||||
@@ -6331,6 +6409,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
|
||||
Details:Destroy(augmentation_cache.ebon_might) --~roskash
|
||||
Details:Destroy(augmentation_cache.prescience)
|
||||
Details:Destroy(augmentation_cache.breath_targets)
|
||||
|
||||
cacheAnything.track_hunter_frenzy = Details.combat_log.track_hunter_frenzy
|
||||
|
||||
|
||||
@@ -68,6 +68,56 @@
|
||||
Details.FadeHandler.frames[frame] = nil
|
||||
end
|
||||
|
||||
local predicateFunc = function(spellIdToFind, _, _, name, texture, count, debuffType, duration, expirationTime, _, _, _, spellID)
|
||||
print(name, texture, count, debuffType, duration, expirationTime, spellID)
|
||||
if (spellIdToFind == spellID) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
function Details:FindDebuffDuration(unitId, spellId)
|
||||
local name, texture, count, debuffType, duration, expirationTime = AuraUtil.FindAura(predicateFunc, unitId, "HARMFUL", spellId)
|
||||
if (name) then
|
||||
return duration, expirationTime
|
||||
end
|
||||
end
|
||||
|
||||
function Details:FindUnitIDByUnitSerial(unitSerial)
|
||||
--boss
|
||||
for i = 1, 9 do
|
||||
local unitId = Details222.UnitIdCache.Boss[i]
|
||||
if (UnitExists(unitId)) then
|
||||
if (UnitGUID(unitId) == unitSerial) then
|
||||
return unitId
|
||||
end
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
--nameplate
|
||||
for i = 1, 40 do
|
||||
local unitId = Details222.UnitIdCache.Nameplate[i]
|
||||
if (UnitExists(unitId)) then
|
||||
if (UnitGUID(unitId) == unitSerial) then
|
||||
return unitId
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--arena enemies
|
||||
for i = 1, #Details222.UnitIdCache.Arena do
|
||||
local unitId = Details222.UnitIdCache.Arena[i]
|
||||
if (UnitExists(unitId)) then
|
||||
if (UnitGUID(unitId) == unitSerial) then
|
||||
return unitId
|
||||
end
|
||||
else
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Details.FadeHandler.OnUpdateFrame = CreateFrame("frame", "DetailsFadeFrameOnUpdate", UIParent)
|
||||
Details.FadeHandler.OnUpdateFrame:SetScript("OnUpdate", function(self, deltaTime)
|
||||
for frame, frameSettings in pairs(Details.FadeHandler.frames) do
|
||||
|
||||
@@ -2250,6 +2250,13 @@ local iconFrame_OnEnter = function(self)
|
||||
end
|
||||
end
|
||||
|
||||
if (actor.spec == 1473) then
|
||||
local damageDone = math.floor(actor.total + actor.extra_bar)
|
||||
GameCooltip:AddLine("Evoker Predicted Damage:", Details:Format(damageDone) .. " (" .. Details:Format(damageDone / Details:GetCurrentCombat():GetCombatTime()) .. ")", 1, "white")
|
||||
GameCooltip:AddIcon([[]], 1, 1, 1, 20)
|
||||
Details:AddTooltipBackgroundStatusbar()
|
||||
end
|
||||
|
||||
GameCooltip:SetOption("FixedHeight", height)
|
||||
GameCooltip:ShowCooltip()
|
||||
|
||||
|
||||
@@ -1,401 +0,0 @@
|
||||
|
||||
--uiobject: is an object that represents a UI element, such as a frame, a texture, or a button. UIObjects are the base class for all UI elements in the WoW API.
|
||||
--3D World: is an object which is placed behind|below all UI elements, cannot be parent of any object, in the 3D World object is where the game world is rendered
|
||||
--size: corresponds to the height and height of an object, it is measure in pixels, must be bigger than zero.
|
||||
--scale: the size of an object is multiplied by this value, it is measure in percentage, must be between 0.65 and 2.40.
|
||||
--alpha: corresponds to the transparency of an object, the bigger is the value less transparent is the object, it is measure in percentage, must be between 0 and 1, zero is fully transparent and one is fully opaque.
|
||||
--controller: abstract term to define who's in control of an entity, can be the server or a player.
|
||||
--npc: an entity shown in the 3d world with a name and a health bar, can be friendly or hostile, can be interacted with, always controlled by the server.
|
||||
--player: is an entity that represents a player character, the controller is always player.
|
||||
--pet: represents a npc controlled by the server and can accept commands from the player.
|
||||
--guadians: represents a npc, the server has the possess of the controller, don't accept commands like pets, helps attacking the enemies of the npc or player.
|
||||
--role: is a string that represents the role of a unit, such as tank, healer, or damage dealer. only players can have a role.
|
||||
|
||||
---@alias role
|
||||
---| "TANK"
|
||||
---| "HEALER"
|
||||
---| "DAMAGER"
|
||||
---| "NONE"
|
||||
|
||||
---@alias anchorpoint
|
||||
---| "topleft"
|
||||
---| "topright"
|
||||
---| "bottomleft"
|
||||
---| "bottomright"
|
||||
---| "top"
|
||||
---| "bottom"
|
||||
---| "left"
|
||||
---| "right"
|
||||
---| "center"
|
||||
|
||||
---@alias framestrata
|
||||
---| "background"
|
||||
---| "low"
|
||||
---| "medium"
|
||||
---| "high"
|
||||
---| "dialog"
|
||||
---| "fullscreen"
|
||||
---| "fullscreen_dialog"
|
||||
---| "tooltip"
|
||||
---| "BACKGROUND"
|
||||
---| "LOW"
|
||||
---| "MEDIUM"
|
||||
---| "HIGH"
|
||||
---| "DIALOG"
|
||||
---| "FULLSCREEN"
|
||||
---| "FULLSCREEN_DIALOG"
|
||||
---| "TOOLTIP"
|
||||
|
||||
---@alias sizingpoint
|
||||
---| "top"
|
||||
---| "topright"
|
||||
---| "right"
|
||||
---| "bottomright"
|
||||
---| "bottom"
|
||||
---| "bottomleft"
|
||||
---| "left"
|
||||
---| "topleft"
|
||||
|
||||
---@alias drawlayer
|
||||
---| "background"
|
||||
---| "border"
|
||||
---| "artwork"
|
||||
---| "overlay"
|
||||
---| "highlight"
|
||||
|
||||
---@alias buttontype
|
||||
---| "AnyUp"
|
||||
---| "AnyDown"
|
||||
---| "LeftButtonDown"
|
||||
---| "LeftButtonUp"
|
||||
---| "MiddleButtonUp"
|
||||
---| "MiddleButtonDown"
|
||||
---| "RightButtonDown"
|
||||
---| "RightButtonUp"
|
||||
---| "Button4Up"
|
||||
---| "Button4Down"
|
||||
---| "Button5Up"
|
||||
---| "Button5Down"
|
||||
|
||||
---@alias justifyh
|
||||
---| "left"
|
||||
---| "right"
|
||||
---| "center"
|
||||
|
||||
---@alias justifyv
|
||||
---| "top"
|
||||
---| "bottom"
|
||||
---| "middle"
|
||||
|
||||
---@alias orientation
|
||||
---| "HORIZONTAL"
|
||||
---| "VERTICAL"
|
||||
|
||||
---@alias width number property that represents the horizontal size of a UI element, such as a frame or a texture. Gotten from the first result of GetWidth() or from the first result of GetSize(). It is expected a GetWidth() or GetSize() when the type 'height' is used.
|
||||
---@alias height number property that represents the vertical size of a UI element, such as a frame or a texture. Gotten from the first result of GetHeight() or from the second result of GetSize(). It is expected a GetHeight() or GetSize() when the type 'height' is used.
|
||||
---@alias red number color value representing the red component of a color, the value must be between 0 and 1. To retrieve a color from a string or table use: local red, green, blue, alpha = DetailsFramework:ParseColors(color)
|
||||
---@alias green number color value representing the green component of a color, the value must be between 0 and 1. To retrieve a color from a string or table use: local red, green, blue, alpha = DetailsFramework:ParseColors(color)
|
||||
---@alias blue number color value representing the blue component of a color, the value must be between 0 and 1. To retrieve a color from a string or table use: local red, green, blue, alpha = DetailsFramework:ParseColors(color)
|
||||
---@alias alpha number @number(0-1.0) value representing the alpha (transparency) of a UIObject, the value must be between 0 and 1. 0 is fully transparent, 1 is fully opaque.
|
||||
---@alias unit string string that represents a unit in the game, such as the player, a party member, or a raid member.
|
||||
---@alias health number amount of hit points (health) of a unit. This value can be changed by taking damage or healing.
|
||||
---@alias spellid number each spell in the game has a unique spell id, this id can be used to identify a spell.
|
||||
---@alias actorname string name of a unit
|
||||
---@alias spellname string name of a spell
|
||||
---@alias spellschool number each spell in the game has a school, such as fire, frost, shadow and many others. This value can be used to identify the school of a spell.
|
||||
---@alias actorid string unique id of a unit (GUID)
|
||||
---@alias serial string unique id of a unit (GUID)
|
||||
---@alias color table, string @table(r: red|number, g: green|number, b: blue|number, a: alpha|number) @string(color name) @hex (000000-ffffff) value representing a color, the value must be a table with the following fields: r, g, b, a. r, g, b are numbers between 0 and 1, a is a number between 0 and 1. To retrieve a color from a string or table use: local red, green, blue, alpha = DetailsFramework:ParseColors(color)
|
||||
---@alias scale number @number(0.65-2.40) value representing the scale factor of the UIObject, the value must be between 0.65 and 2.40, the width and height of the UIObject will be multiplied by this value.
|
||||
---@alias script string, function is a piece of code that is executed in response to a specific event, such as a button click or a frame update. Scripts can be used to implement behavior and logic for UI elements.
|
||||
---@alias event string is a notification that is sent to a frame when something happens, such as a button click or a frame update. Events can be used to trigger scripts.
|
||||
---@alias backdrop table @table(bgFile: string, edgeFile: string, tile: edgeSize: number, backgroundColor: color, borderColor: color) is a table that contains information about the backdrop of a frame. The backdrop is the background of a frame, which can be a solid color, a gradient, or a texture.
|
||||
---@alias npcid number a number that identifies a specific npc in the game.
|
||||
---@alias textureid number each texture from the game client has an id.
|
||||
---@alias texturepath string access textures from addons.
|
||||
---@alias unixtime number
|
||||
---@alias valueamount number used to represent a value, such as a damage amount, a healing amount, or a resource amount.
|
||||
|
||||
---@class _G
|
||||
---@field RegisterAttributeDriver fun(statedriver: frame, attribute: string, conditional: string)
|
||||
---@field RegisterStateDriver fun(statedriver: frame, attribute: string, conditional: string)
|
||||
---@field UnitGUID fun(unit: string): string
|
||||
---@field UnitName fun(unit: string): string
|
||||
---@field GetCursorPosition fun(): number, number return the position of the cursor on the screen, in pixels, relative to the bottom left corner of the screen.
|
||||
---@field C_Timer C_Timer
|
||||
|
||||
---@class timer : table
|
||||
---@field Cancel fun(self: timer)
|
||||
---@field IsCancelled fun(self: timer): boolean
|
||||
|
||||
---@class C_Timer : table
|
||||
---@field After fun(delay: number, func: function)
|
||||
---@field NewTimer fun(delay: number, func: function): timer
|
||||
---@field NewTicker fun(interval: number, func: function, iterations: number|nil): timer
|
||||
|
||||
---@class C_ChallengeMode : table
|
||||
---@field GetActiveKeystoneInfo fun(): number, number[], boolean @returns keystoneLevel, affixIDs, wasActive
|
||||
|
||||
---@class tablesize : {H: number, W: number}
|
||||
---@class tablecoords : {L: number, R: number, T: number, B: number}
|
||||
---@class texturecoords: {left: number, right: number, top: number, bottom: number}
|
||||
---@class objectsize : {height: number, width: number}
|
||||
---@class texturetable : {texture: string, coords: texturecoords, size: objectsize}
|
||||
|
||||
---@class uiobject
|
||||
---@field GetObjectType fun(self: uiobject) : string
|
||||
---@field Show fun(self: uiobject) make the object be shown on the user screen
|
||||
---@field Hide fun(self: uiobject) make the object be hidden from the user screen
|
||||
---@field SetShown fun(self: uiobject, state: boolean) show or hide the object
|
||||
---@field IsShown fun(self: uiobject) : boolean return if the object is shown or not
|
||||
---@field SetAllPoints fun(self: uiobject, target: uiobject|nil) set the object to be the same size as its parent or the target object
|
||||
---@field SetParent fun(self: uiobject, parent: frame) set the parent object of the object
|
||||
---@field SetSize fun(self: uiobject, width: width|number, height: height|number) set the width and height of the object
|
||||
---@field SetWidth fun(self: uiobject, width: width|number) set only the width of the object
|
||||
---@field SetHeight fun(self: uiobject, height: height|number) set only the height of the object
|
||||
---@field SetAlpha fun(self: uiobject, alpha: alpha|number) set the transparency of the object
|
||||
---@field SetScale fun(self: uiobject, scale: scale|number)
|
||||
---@field GetWidth fun(self: uiobject) : width|number
|
||||
---@field GetHeight fun(self: uiobject) : height|number
|
||||
---@field GetScale fun(self: uiobject) : scale|number
|
||||
---@field GetAlpha fun(self: uiobject) : alpha|number
|
||||
---@field GetSize fun(self: uiobject) : width|number, height|number
|
||||
---@field GetParent fun(self: uiobject) : frame
|
||||
---@field GetPoint fun(self: uiobject, index: number): string, frame, string, number, number
|
||||
---@field GetCenter fun(self: uiobject): number, number
|
||||
---@field SetPoint fun(self: uiobject, point: anchorpoint, relativeFrame: uiobject, relativePoint: anchorpoint, xOffset: number, yOffset: number)
|
||||
---@field ClearAllPoints fun(self: uiobject)
|
||||
---@field CreateAnimationGroup fun(self: uiobject, name: string|nil, templateName: string|nil) : animationgroup
|
||||
|
||||
---@class animationgroup : uiobject
|
||||
---@field CreateAnimation fun(self: animationgroup, animationType: string, name: string|nil, inheritsFrom: string|nil) : animation
|
||||
---@field GetAnimation fun(self: animationgroup, name: string) : animation
|
||||
---@field GetAnimations fun(self: animationgroup) : table
|
||||
---@field GetDuration fun(self: animationgroup) : number
|
||||
---@field GetEndDelay fun(self: animationgroup) : number
|
||||
---@field GetLoopState fun(self: animationgroup) : boolean
|
||||
---@field GetScript fun(self: animationgroup, event: string) : function
|
||||
---@field GetSmoothProgress fun(self: animationgroup) : boolean
|
||||
---@field IsDone fun(self: animationgroup) : boolean
|
||||
---@field IsPaused fun(self: animationgroup) : boolean
|
||||
---@field IsPlaying fun(self: animationgroup) : boolean
|
||||
---@field Pause fun(self: animationgroup)
|
||||
---@field Play fun(self: animationgroup)
|
||||
---@field Resume fun(self: animationgroup)
|
||||
---@field SetDuration fun(self: animationgroup, duration: number)
|
||||
---@field SetEndDelay fun(self: animationgroup, delay: number)
|
||||
---@field SetLooping fun(self: animationgroup, loop: boolean)
|
||||
---@field SetScript fun(self: animationgroup, event: string, handler: function|nil) "OnEvent"|"OnShow"
|
||||
---@field SetSmoothProgress fun(self: animationgroup, smooth: boolean)
|
||||
---@field Stop fun(self: animationgroup)
|
||||
|
||||
---@class animation : uiobject
|
||||
---@field GetDuration fun(self: animation) : number
|
||||
---@field GetEndDelay fun(self: animation) : number
|
||||
---@field GetOrder fun(self: animation) : number
|
||||
---@field GetScript fun(self: animation, event: string) : function
|
||||
---@field GetSmoothing fun(self: animation) : string
|
||||
---@field IsDone fun(self: animation) : boolean
|
||||
---@field IsPaused fun(self: animation) : boolean
|
||||
---@field IsPlaying fun(self: animation) : boolean
|
||||
---@field Pause fun(self: animation)
|
||||
---@field Play fun(self: animation)
|
||||
---@field Resume fun(self: animation)
|
||||
---@field SetDuration fun(self: animation, duration: number)
|
||||
---@field SetEndDelay fun(self: animation, delay: number)
|
||||
---@field SetOrder fun(self: animation, order: number)
|
||||
---@field SetScript fun(self: animation, event: string, handler: function|nil)
|
||||
---@field SetSmoothing fun(self: animation, smoothing: string)
|
||||
---@field Stop fun(self: animation)
|
||||
|
||||
---@class line : uiobject
|
||||
---@field GetEndPoint fun(self: line) : relativePoint: anchorpoint, relativeTo: anchorpoint, offsetX: number, offsetY: number
|
||||
---@field GetStartPoint fun(self: line) : relativePoint: anchorpoint, relativeTo: anchorpoint, offsetX: number, offsetY: number
|
||||
---@field GetThickness fun(self: line) : number
|
||||
---@field SetStartPoint fun(self: line, point: anchorpoint, relativeFrame: uiobject|number, relativePoint: anchorpoint|number, xOffset: number|nil, yOffset: number|nil)
|
||||
---@field SetEndPoint fun(self: line, point: anchorpoint, relativeFrame: uiobject|number, relativePoint: anchorpoint|number, xOffset: number|nil, yOffset: number|nil)
|
||||
---@field SetColorTexture fun(self: line, red: number, green: number, blue: number, alpha: number)
|
||||
---@field SetThickness fun(self: line, thickness: number)
|
||||
|
||||
---@class frame : uiobject
|
||||
---@field CreateLine fun(self: frame, name: string|nil, drawLayer: drawlayer, templateName: string|nil, subLevel: number|nil) : line
|
||||
---@field SetID fun(self: frame, id: number) set an ID for the frame
|
||||
---@field SetAttribute fun(self: frame, name: string, value: any)
|
||||
---@field SetScript fun(self: frame, event: string, handler: function|nil)
|
||||
---@field GetScript fun(self: frame, event: string) : function
|
||||
---@field SetFrameStrata fun(self: frame, strata: framestrata)
|
||||
---@field SetFrameLevel fun(self: frame, level: number)
|
||||
---@field SetClampedToScreen fun(self: frame, clamped: boolean)
|
||||
---@field SetClampRectInsets fun(self: frame, left: number, right: number, top: number, bottom: number)
|
||||
---@field SetMovable fun(self: frame, movable: boolean)
|
||||
---@field SetUserPlaced fun(self: frame, userPlaced: boolean)
|
||||
---@field SetBackdrop fun(self: frame, backdrop: backdrop|table)
|
||||
---@field SetBackdropColor fun(self: frame, red: red|number, green: green|number, blue: blue|number, alpha: alpha|number)
|
||||
---@field SetBackdropBorderColor fun(self: frame, red: red|number, green: green|number, blue: blue|number, alpha: alpha|number)
|
||||
---@field SetHitRectInsets fun(self: frame, left: number, right: number, top: number, bottom: number)
|
||||
---@field SetToplevel fun(self: frame, toplevel: boolean)
|
||||
---@field SetPropagateKeyboardInput fun(self: frame, propagate: boolean)
|
||||
---@field SetPropagateGamepadInput fun(self: frame, propagate: boolean)
|
||||
---@field StartMoving fun(self: frame)
|
||||
---@field IsMovable fun(self: frame) : boolean
|
||||
---@field StartSizing fun(self: frame, sizingpoint: sizingpoint|nil)
|
||||
---@field StopMovingOrSizing fun(self: frame)
|
||||
---@field GetAttribute fun(self: frame, name: string) : any
|
||||
---@field GetFrameLevel fun(self: frame) : number
|
||||
---@field GetFrameStrata fun(self: frame) : framestrata
|
||||
---@field GetNumChildren fun(self: frame) : number
|
||||
---@field GetNumPoints fun(self: frame) : number
|
||||
---@field GetNumRegions fun(self: frame) : number
|
||||
---@field GetName fun(self: frame) : string
|
||||
---@field GetChildren fun(self: frame) : frame[]
|
||||
---@field GetRegions fun(self: frame) : region[]
|
||||
---@field CreateTexture fun(self: frame, name: string|nil, layer: drawlayer, inherits: string|nil, subLayer: number|nil) : texture
|
||||
---@field CreateFontString fun(self: frame, name: string|nil, layer: drawlayer, inherits: string|nil, subLayer: number|nil) : fontstring
|
||||
---@field EnableMouse fun(self: frame, enable: boolean) enable mouse interaction
|
||||
---@field SetResizable fun(self: frame, enable: boolean) enable resizing of the frame
|
||||
---@field EnableMouseWheel fun(self: frame, enable: boolean) enable mouse wheel scrolling
|
||||
---@field RegisterForDrag fun(self: frame, button: string) register the frame for drag events, allowing it to be dragged by the mouse
|
||||
---@field SetResizeBounds fun(self: frame, minWidth: number, minHeight: number, maxWidth: number, maxHeight: number) set the minimum and maximum size of the frame
|
||||
---@field RegisterEvent fun(self: frame, event: string) register for an event, trigers "OnEvent" script when the event is fired
|
||||
---@field HookScript fun(self: frame, event: string, handler: function) run a function after the frame's script has been executed, carrying the same arguments
|
||||
|
||||
---@class button : frame
|
||||
---@field Click fun(self: button)
|
||||
---@field SetNormalTexture fun(self: button, texture: textureid|texturepath)
|
||||
---@field SetPushedTexture fun(self: button, texture: textureid|texturepath)
|
||||
---@field SetHighlightTexture fun(self: button, texture: textureid|texturepath)
|
||||
---@field SetDisabledTexture fun(self: button, texture: textureid|texturepath)
|
||||
---@field SetCheckedTexture fun(self: button, texture: textureid|texturepath)
|
||||
---@field SetNormalFontObject fun(self: button, fontString: fontstring)
|
||||
---@field SetHighlightFontObject fun(self: button, fontString: fontstring)
|
||||
---@field SetDisabledFontObject fun(self: button, fontString: fontstring)
|
||||
---@field SetText fun(self: button, text: string)
|
||||
---@field GetText fun(self: button) : string
|
||||
---@field SetTextInsets fun(self: button, left: number, right: number, top: number, bottom: number)
|
||||
---@field GetTextInsets fun(self: button) : number, number, number, number
|
||||
---@field SetDisabledTextColor fun(self: button, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field GetDisabledTextColor fun(self: button) : number, number, number, number
|
||||
---@field SetFontString fun(self: button, fontString: fontstring)
|
||||
---@field GetFontString fun(self: button) : fontstring
|
||||
---@field SetButtonState fun(self: button, state: string, enable: boolean)
|
||||
---@field GetButtonState fun(self: button, state: string) : boolean
|
||||
---@field RegisterForClicks fun(self: button, button1: nil|buttontype, button2: nil|buttontype, button3: nil|buttontype, button4: nil|buttontype)
|
||||
---@field GetNormalTexture fun(self: button) : texture
|
||||
---@field GetPushedTexture fun(self: button) : texture
|
||||
---@field GetHighlightTexture fun(self: button) : texture
|
||||
---@field GetDisabledTexture fun(self: button) : texture
|
||||
|
||||
---@class statusbar : frame
|
||||
---@field SetStatusBarColor fun(self: statusbar, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field SetStatusBarTexture fun(self: statusbar, path: string|texture)
|
||||
---@field GetStatusBarTexture fun(self: statusbar) : texture
|
||||
---@field SetMinMaxValues fun(self: statusbar, minValue: number, maxValue: number)
|
||||
---@field SetValue fun(self: statusbar, value: number)
|
||||
---@field SetValueStep fun(self: statusbar, valueStep: number)
|
||||
---@field SetOrientation fun(self: statusbar, orientation: orientation)
|
||||
---@field SetReverseFill fun(self: statusbar, reverseFill: boolean)
|
||||
---@field GetMinMaxValues fun(self: statusbar) : number, number
|
||||
---@field GetValue fun(self: statusbar) : number
|
||||
---@field GetValueStep fun(self: statusbar) : number
|
||||
---@field GetOrientation fun(self: statusbar) : orientation
|
||||
---@field GetReverseFill fun(self: statusbar) : boolean
|
||||
|
||||
---@class scrollframe : frame
|
||||
---@field SetScrollChild fun(self: scrollframe, child: frame)
|
||||
---@field GetScrollChild fun(self: scrollframe) : frame
|
||||
---@field SetHorizontalScroll fun(self: scrollframe, offset: number)
|
||||
---@field SetVerticalScroll fun(self: scrollframe, offset: number)
|
||||
---@field GetHorizontalScroll fun(self: scrollframe) : number
|
||||
---@field GetVerticalScroll fun(self: scrollframe) : number
|
||||
---@field GetHorizontalScrollRange fun(self: scrollframe) : number
|
||||
---@field GetVerticalScrollRange fun(self: scrollframe) : number
|
||||
|
||||
---@class region : uiobject
|
||||
|
||||
---@class fontstring : region
|
||||
---@field SetDrawLayer fun(self: fontstring, layer: drawlayer, subLayer: number|nil)
|
||||
---@field SetFont fun(self: fontstring, font: string, size: number, flags: string)
|
||||
---@field SetText fun(self: fontstring, text: string|number)
|
||||
---@field GetText fun(self: fontstring) : string
|
||||
---@field GetFont fun(self: fontstring) : string, number, string
|
||||
---@field GetStringWidth fun(self: fontstring) : number return the width of the string in pixels
|
||||
---@field SetShadowColor fun(self: fontstring, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field GetShadowColor fun(self: fontstring) : number, number, number, number
|
||||
---@field SetShadowOffset fun(self: fontstring, offsetX: number, offsetY: number)
|
||||
---@field GetShadowOffset fun(self: fontstring) : number, number
|
||||
---@field SetTextColor fun(self: fontstring, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field GetTextColor fun(self: fontstring) : number, number, number, number
|
||||
---@field SetJustifyH fun(self: fontstring, justifyH: justifyh)
|
||||
---@field GetJustifyH fun(self: fontstring) : string
|
||||
---@field SetJustifyV fun(self: fontstring, justifyV: justifyv)
|
||||
---@field GetJustifyV fun(self: fontstring) : string
|
||||
---@field SetNonSpaceWrap fun(self: fontstring, nonSpaceWrap: boolean)
|
||||
---@field GetNonSpaceWrap fun(self: fontstring) : boolean
|
||||
---@field SetIndentedWordWrap fun(self: fontstring, indentedWordWrap: boolean)
|
||||
---@field GetIndentedWordWrap fun(self: fontstring) : boolean
|
||||
---@field SetMaxLines fun(self: fontstring, maxLines: number)
|
||||
---@field GetMaxLines fun(self: fontstring) : number
|
||||
---@field SetWordWrap fun(self: fontstring, wordWrap: boolean)
|
||||
---@field GetWordWrap fun(self: fontstring) : boolean
|
||||
---@field SetSpacing fun(self: fontstring, spacing: number)
|
||||
---@field GetSpacing fun(self: fontstring) : number
|
||||
---@field SetLineSpacing fun(self: fontstring, lineSpacing: number)
|
||||
---@field GetLineSpacing fun(self: fontstring) : number
|
||||
---@field SetMaxLetters fun(self: fontstring, maxLetters: number)
|
||||
---@field GetMaxLetters fun(self: fontstring) : number
|
||||
---@field SetTextInsets fun(self: fontstring, left: number, right: number, top: number, bottom: number)
|
||||
---@field GetTextInsets fun(self: fontstring) : number, number, number, number
|
||||
---@field SetTextJustification fun(self: fontstring, justifyH: string, justifyV: string)
|
||||
---@field GetTextJustification fun(self: fontstring) : string, string
|
||||
---@field SetTextShadowColor fun(self: fontstring, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field GetTextShadowColor fun(self: fontstring) : number, number, number, number
|
||||
---@field SetTextShadowOffset fun(self: fontstring, offsetX: number, offsetY: number)
|
||||
---@field GetTextShadowOffset fun(self: fontstring) : number, number
|
||||
---@field SetTextShadow fun(self: fontstring, offsetX: number, offsetY: number, r: red|number, g: green|number, b: blue|number, a: alpha|number)
|
||||
---@field SetTextTruncate fun(self: fontstring, truncate: string)
|
||||
---@field GetTextTruncate fun(self: fontstring) : string
|
||||
---@field SetTextTruncateWidth fun(self: fontstring, width: number)
|
||||
---@field GetTextTruncateWidth fun(self: fontstring) : number
|
||||
---@field SetTextTruncateLines fun(self: fontstring, lines: number)
|
||||
---@field GetTextTruncateLines fun(self: fontstring) : number
|
||||
|
||||
---@class texture : region
|
||||
---@field SetDrawLayer fun(self: texture, layer: drawlayer, subLayer: number|nil)
|
||||
---@field SetTexture fun(self: texture, path: string)
|
||||
---@field SetAtlas fun(self: texture, atlas: string)
|
||||
---@field SetColorTexture fun(self: texture, r: red|number, g: green|number, b: blue|number, a: alpha|number|nil)
|
||||
---@field SetDesaturated fun(self: texture, desaturate: boolean)
|
||||
---@field SetBlendMode fun(self: texture, mode: "ADD"|"BLEND"|"DISABLE"|"MOD"|"MOD2X"|"OVERLAY"|"REPLACE"|"SUBTRACT")
|
||||
---@field SetVertexColor fun(self: texture, r: red|number, g: green|number, b: blue|number, a: alpha|number|nil)
|
||||
---@field GetPoint fun(self: texture, index: number) : string, table, string, number, number
|
||||
---@field SetShown fun(self: texture, state: boolean)
|
||||
---@field IsShown fun(self: texture) : boolean
|
||||
---@field GetParent fun(self: texture) : table
|
||||
---@field SetTexCoord fun(self: texture, left: number, right: number, top: number, bottom: number)
|
||||
---@field GetTexCoord fun(self: texture) : number, number, number, number
|
||||
---@field SetRotation fun(self: texture, rotation: number)
|
||||
---@field GetRotation fun(self: texture) : number
|
||||
---@field SetRotationRadians fun(self: texture, rotation: number)
|
||||
---@field GetRotationRadians fun(self: texture) : number
|
||||
---@field SetRotationDegrees fun(self: texture, rotation: number)
|
||||
---@field GetRotationDegrees fun(self: texture) : number
|
||||
---@field SetMask fun(self: texture, mask: table)
|
||||
---@field GetMask fun(self: texture) : table
|
||||
---@field SetMaskTexture fun(self: texture, maskTexture: table)
|
||||
---@field GetMaskTexture fun(self: texture) : table
|
||||
---@field GetDesaturated fun(self: texture) : boolean
|
||||
---@field SetGradient fun(self: texture, gradient: string)
|
||||
---@field GetGradient fun(self: texture) : string
|
||||
---@field SetGradientAlpha fun(self: texture, gradient: string)
|
||||
---@field GetGradientAlpha fun(self: texture) : string
|
||||
---@field SetGradientRotation fun(self: texture, rotation: number)
|
||||
---@field GetGradientRotation fun(self: texture) : number
|
||||
---@field SetGradientRotationRadians fun(self: texture, rotation: number)
|
||||
---@field GetGradientRotationRadians fun(self: texture) : number
|
||||
---@field SetGradientRotationDegrees fun(self: texture, rotation: number)
|
||||
---@field GetGradientRotationDegrees fun(self: texture) : number
|
||||
---@field SetGradientColors fun(self: texture, ...)
|
||||
---@field GetGradientColors fun(self: texture) : number, number, number, number, number, number, number, number, number, number, number, number
|
||||
---@field GetBlendMode fun(self: texture) : string
|
||||
---@field GetVertexColor fun(self: texture) : number, number, number, number
|
||||
|
||||
+1
-1
@@ -87,7 +87,7 @@ function Details:StartMeUp()
|
||||
if (Details.ocd_tracker.show_options) then
|
||||
Details:InitializeCDTrackerWindow()
|
||||
end
|
||||
|
||||
--/run Details.ocd_tracker.show_options = true; ReloadUI()
|
||||
--custom window
|
||||
Details.custom = Details.custom or {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user