diff --git a/Definitions.lua b/Definitions.lua index ae0cb051..c7d64cb3 100644 --- a/Definitions.lua +++ b/Definitions.lua @@ -52,6 +52,17 @@ ---@alias containertype number this container type is the number used to identify the actorcontainer type when using combat:GetContainer(containertype), can be 1, 2, 3, or 4. +---@alias actorclass string this is the class of the actor, can be "WARRIOR", "PALADIN", "HUNTER", "ROGUE", "PRIEST", "DEATHKNIGHT", "SHAMAN", "MAGE", "WARLOCK", "MONK", "DRUID", "DEMONHUNTER" +---@alias actorspec number this is the specID of the actor + +---@class petinfo : table +---@field key1 ownername +---@field key2 guid +---@field key3 unixtime +---@field key4 boolean +---@field key5 petname +---@field key6 guid + ---@class details ---@field SpellTableMixin spelltablemixin ---@field GetInstance fun(self: details) : instance @@ -82,6 +93,7 @@ ---@class alternatepowertable : {last: number, total: number} ---@class combat : table +---@field bIsClosed boolean if true the combat is closed (passed by the EndCombat() function) ---@field __destroyedBy string ---@field amountCasts {[string]: table} ---@field instance_type string "raid" or "party" or "pvp" or "arena" or "none" @@ -100,6 +112,8 @@ ---@field __destroyed boolean ---@field PhaseData table ---@field is_boss table +---@field is_world_trash_combat boolean when true this combat is a regular combat done in the world, not in a dungeon, raid, battleground, arena, ... +---@field player_last_events table record the latest events of each player, latter used to build the death log ---@field GetTimeData fun(dataName: string) : table ---@field GetPhases fun(combat: combat) : table ---@field GetCombatTime fun(combat) : number diff --git a/Libs/DF/dropdown.lua b/Libs/DF/dropdown.lua index 56a9d344..bf16cb99 100644 --- a/Libs/DF/dropdown.lua +++ b/Libs/DF/dropdown.lua @@ -533,7 +533,11 @@ function DropDownMetaFunctions:Selected(thisOption) self.icon:SetVertexColor(1, 1, 1, 1) end - self.icon:SetSize(self:GetHeight()-4, self:GetHeight()-4) + if (thisOption.iconsize) then + self.icon:SetSize(thisOption.iconsize[1], thisOption.iconsize[2]) + else + self.icon:SetSize(self:GetHeight()-4, self:GetHeight()-4) + end else self.label:SetPoint("left", self.label:GetParent(), "left", 4, 0) end diff --git a/Libs/DF/fw.lua b/Libs/DF/fw.lua index cf23a630..1ca5e160 100644 --- a/Libs/DF/fw.lua +++ b/Libs/DF/fw.lua @@ -1,6 +1,6 @@ -local dversion = 443 +local dversion = 444 local major, minor = "DetailsFramework-1.0", dversion local DF, oldminor = LibStub:NewLibrary(major, minor) diff --git a/Libs/DF/panel.lua b/Libs/DF/panel.lua index 7dce2c15..b909544f 100644 --- a/Libs/DF/panel.lua +++ b/Libs/DF/panel.lua @@ -2059,6 +2059,7 @@ function detailsFramework:CreateSimplePanel(parent, width, height, title, frameN close:SetAlpha(0.7) close:SetScript("OnClick", simple_panel_close_click) simplePanel.Close = close + simplePanel.closeButton = close local titleText = titleBar:CreateFontString(frameName and frameName .. "Title", "overlay", "GameFontNormal") titleText:SetTextColor(.8, .8, .8, 1) diff --git a/Libs/LibLuaServer/LuaServerDefinitions.lua b/Libs/LibLuaServer/LuaServerDefinitions.lua index a1a75730..ee81068d 100644 --- a/Libs/LibLuaServer/LuaServerDefinitions.lua +++ b/Libs/LibLuaServer/LuaServerDefinitions.lua @@ -91,6 +91,21 @@ ---| "HORIZONTAL" ---| "VERTICAL" +---@alias class +---| "WARRIOR" +---| "PALADIN" +---| "HUNTER" +---| "ROGUE" +---| "PRIEST" +---| "DEATHKNIGHT" +---| "SHAMAN" +---| "MAGE" +---| "WARLOCK" +---| "MONK" +---| "DRUID" +---| "DEMONHUNTER" +---| "EVOKER" + ---@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) @@ -101,10 +116,15 @@ ---@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 petname string refers to a pet's name +---@alias ownername string refers to the pet's owner name ---@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 guid string unique id of a unit (GUID) +---@alias specialization number the ID of a class specialization +---@alias controlflags number flags telling what unit type the is (player, npc, pet, etc); it's relatiotionship to the player (friendly, hostile, etc); who controls the unit (controlled by the player, controlled by the server, etc) ---@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. @@ -115,6 +135,8 @@ ---@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. +---@alias timestring string refers to a string showing a time value, such as "1:23" or "1:23:45". +---@alias combattime number elapsed time of a combat or time in seconds that a unit has been in combat. ---@class _G ---@field RegisterAttributeDriver fun(statedriver: frame, attribute: string, conditional: string)