Trying to get rid of duplicate types between Daemonic and Tinkr.

main
jeffi 11 months ago
parent f8aa3b0832
commit dac833937d
  1. 164
      Daemonic.lua
  2. 1
      README.md
  3. 704
      Tinkr.lua
  4. 513
      Universal.lua

@ -1,3 +1,5 @@
---@meta
--#region DaemonicTypes
---@enum KeyCode
local KeyCode = {
@ -6,18 +8,6 @@ local KeyCode = {
RSHIFT = "RSHIFT"
}
---@enum CollisionFlags
local CollisionFlags = {
M2Collision = 0x1,
M2Render = 0x2,
WMOCollision = 0x10,
WMORender = 0x20,
Terrain = 0x100,
WaterWalkableLiquid = 0x10000,
Liquid = 0x20000,
EntityCollision = 0x100000,
}
---@alias GUID string
---@alias UnitReference UnitId | GUID
@ -44,154 +34,6 @@ local HMacHashType = {
---@alias DaemonicObjectReference GUID
---@enum LuaType
local LuaType = {
Bool = 1,
Char = 2,
Byte = 3,
Short = 4,
UShort = 5,
Int = 6,
UInt = 7,
Long = 8,
ULong = 9,
Float = 10,
Double = 11,
StringType = 12,
IntPtr = 13,
UIntPtr = 14,
GUID = 15,
}
---@enum UnitCreatureType
local UnitCreatureType = {
Beast = 1,
Dragonkin = 2,
Demon = 3,
Elemental = 4,
Giant = 5,
Undead = 6,
Humanoid = 7,
Critter = 8,
Mechanical = 9,
NotSpecified = 10,
Totem = 11,
NonCombatPet = 12,
GasCloud = 13,
WildPet = 14, -- Retail Only
Aberration = 15, -- Retail Only
}
---@enum DObjectTypes
local DObjectTypes = {
Object = 0,
Item = 1,
Container = 2,
AzeriteEmpoweredItem = 3,
AzeriteItem = 4,
Unit = 5,
Player = 6,
ActivePlayer = 7,
GameObject = 8,
DynamicObject = 9,
Corpse = 10,
AreaTrigger = 11,
SceneObject = 12,
Conversation = 13,
AiGroup = 14,
Scenario = 15,
Loot = 16,
Invalid = 17,
}
---@enum GameObjectType
local GameObjectType = {
Door = 0,
Button = 1,
Questgiver = 2,
Chest = 3, -- Herbs, Minerals, Chests
Binder = 4,
Generic = 5,
Trap = 6,
Chair = 7,
SpellFocus = 8,
Text = 9,
Goober = 10,
TransportElevator = 11,
AreaDamage = 12,
Camera = 13,
Mapobject = 14,
MoTransportShip = 15,
DuelFlag = 16,
FishingNode = 17,
Ritual = 18,
Mailbox = 19,
DONOTUSE1 = 20,
GuardPost = 21,
SpellCaster = 22,
MeetingStone = 23,
FlagStand = 24,
FishingHole = 25,
FlagDrop = 26,
DONOTUSE2 = 27,
DONOTUSE3 = 28,
ControlZone = 29,
AuraGenerator = 30,
DungeonDifficulty = 31,
BarberChair = 32,
DestructibleBuilding = 33,
GuildBank = 34,
Trapdoor = 35,
Newflag = 36,
Newflagdrop = 37,
GarrisonBuilding = 38,
GarrisonPlot = 39,
ClientCreature = 40,
ClientItem = 41,
CapturePoint = 42,
PhaseableMO = 43,
GarrisonMonument = 44,
GarrisonShipment = 45,
GarrisonMonumentPlaque = 46,
ItemForge = 47,
UILink = 48,
KeystoneReceptacle = 49,
GatheringNode = 50,
ChallengeModeReward = 51,
Multi = 52,
SeigableMulti = 53,
SeigableMo = 54,
PvpReward = 55,
PlayerChoiceChest = 56,
LegendaryForge = 57,
GearTalentTree = 58,
WeeklyRewardChest = 59,
ClientModel = 60,
}
---@enum MovementFlags
local MovementFlags = {
None = 0x0,
Forward = 0x1,
Backward = 0x2,
StrafeLeft = 0x4,
StrafeRight = 0x8,
TurnLeft = 0x10,
TurnRight = 0x20,
PitchUp = 0x40,
PitchDown = 0x80,
Walking = 0x100,
OnTransport = 0x200,
Immobilized = 0x400,
Falling = 0x800,
FallingFar = 0x1000,
Swimming = 0x100000,
Ascending = 0x200000,
Descending = 0x400000,
CanFly = 0x800000,
Flying = 0x1000000,
}
---@enum FindPathReturnType
local FindPathReturnType = {
NavigationFinished = 0,
@ -484,7 +326,7 @@ local Daemonic = {
---@return string
ObjectMover = function(unit) end,
---@param unit UnitReference
---@return DObjectTypes
---@return ObjectType
ObjectType = function(unit) end,
---@param unit UnitReference
---@return boolean

@ -1,6 +1,7 @@
If using VSCode you can update your projects `.vscode/settings.json` file to add the types you need. For example:
```
"Lua.workspace.library": [
"~/dev/UnlockerTypes/Universal.lua",
"~/dev/UnlockerTypes/Tinkr.lua"
]
```

@ -1,314 +1,5 @@
---@meta
--- The current player.
---@alias PlayerUnitId "player"
local PlayerUnitId = "player"
--- The current player's focus target as selected by the /focus command.
---@alias FocusUnitId "focus"
local FocusUnitId = "focus"
--- The unit which the mouse is currently (or was most recently) hovering over.
---@alias MouseoverUnitId "mouseover"
local MouseoverUnitId = "mouseover"
--- A valid unit token that always refers to no unit. UnitName will return "Unknown, nil" for this UnitID.
---@alias NoneUnitId "none"
local NoneUnitId = "none"
--- The current player's pet.
---@alias PetUnitId "pet"
local PetUnitId = "pet"
--- The currently targeted unit. May be overridden in macros by unit specified as a value of respective Secure Button attribute.
---@alias TargetUnitId "target"
local TargetUnitId = "target"
--- The current player's vehicle.
---@alias VehicleUnitId "vehicle"
local VehicleUnitId = "vehicle"
--- The NPC with which the player is currently interacting. You must be interacting with the NPC for this to work (e.g. the quest, flight path, merchant, gossip, or bank frame is open).
---@alias NpcUnitId "npc"
local NpcUnitId = "npc"
--- The quest giver NPC with which the player is currently interacting. In most cases this will be identical to the "npc" unit.
---@alias QuestNpcUnitId "questnpc"
local QuestNpcUnitId = "questnpc"
local PartyBaseUnitId = "party"
local PartyPetBaseUnitId = PartyBaseUnitId .. PetUnitId
local RaidBaseUnitId = "raid"
local RaidPetBaseUnitId = RaidBaseUnitId .. PetUnitId
local ArenaBaseUnitId = "arena"
local BossBaseUnitId = "boss"
local NameplateBaseUnitId = "nameplate"
local SpectatedBaseUnitId = "spectated"
local SpectatedTeamAId = "a"
local SpectatedTeamABaseUnitId = SpectatedBaseUnitId .. SpectatedTeamAId
local SpectatedTeamAPetBaseUnitId = SpectatedBaseUnitId .. PetUnitId .. SpectatedTeamAId
local SpectatedTeamBId = "b"
local SpectatedTeamBBaseUnitId = SpectatedBaseUnitId .. SpectatedTeamBId
local SpectatedTeamBPetBaseUnitId = SpectatedBaseUnitId .. PetUnitId .. SpectatedTeamBId
--- The raid member with raidIndex N (1,2,3,...,40) `raid1` - `raid40`.
---@enum (key) RaidUnitIds
local RaidUnitIds = {
raid1 = RaidBaseUnitId .. "1",
raid2 = RaidBaseUnitId .. "2",
raid3 = RaidBaseUnitId .. "3",
raid4 = RaidBaseUnitId .. "4",
raid5 = RaidBaseUnitId .. "5",
raid6 = RaidBaseUnitId .. "6",
raid7 = RaidBaseUnitId .. "7",
raid8 = RaidBaseUnitId .. "8",
raid9 = RaidBaseUnitId .. "9",
raid10 = RaidBaseUnitId .. "10",
raid11 = RaidBaseUnitId .. "11",
raid12 = RaidBaseUnitId .. "12",
raid13 = RaidBaseUnitId .. "13",
raid14 = RaidBaseUnitId .. "14",
raid15 = RaidBaseUnitId .. "15",
raid16 = RaidBaseUnitId .. "16",
raid17 = RaidBaseUnitId .. "17",
raid18 = RaidBaseUnitId .. "18",
raid19 = RaidBaseUnitId .. "19",
raid20 = RaidBaseUnitId .. "20",
raid21 = RaidBaseUnitId .. "21",
raid22 = RaidBaseUnitId .. "22",
raid23 = RaidBaseUnitId .. "23",
raid24 = RaidBaseUnitId .. "24",
raid25 = RaidBaseUnitId .. "25",
raid26 = RaidBaseUnitId .. "26",
raid27 = RaidBaseUnitId .. "27",
raid28 = RaidBaseUnitId .. "28",
raid29 = RaidBaseUnitId .. "29",
raid30 = RaidBaseUnitId .. "30",
raid31 = RaidBaseUnitId .. "31",
raid32 = RaidBaseUnitId .. "32",
raid33 = RaidBaseUnitId .. "33",
raid34 = RaidBaseUnitId .. "34",
raid35 = RaidBaseUnitId .. "35",
raid36 = RaidBaseUnitId .. "36",
raid37 = RaidBaseUnitId .. "37",
raid38 = RaidBaseUnitId .. "38",
raid39 = RaidBaseUnitId .. "39",
raid40 = RaidBaseUnitId .. "40",
}
--- Opposing arena member with index N (1,2,3,4 or 5) `arena1` - `arena5`.
---@enum (key) ArenaUnitIds
local ArenaUnitIds = {
arena1 = ArenaBaseUnitId .. "1",
arena2 = ArenaBaseUnitId .. "2",
arena3 = ArenaBaseUnitId .. "3",
arena4 = ArenaBaseUnitId .. "4",
arena5 = ArenaBaseUnitId .. "5",
}
--- The active bosses of the current encounter if available N (1,2,3...,8) `boss1` - `boss8`.
---@enum (key) BossUnitIds
local BossUnitIds = {
boss1 = BossBaseUnitId .. "1",
boss2 = BossBaseUnitId .. "2",
boss3 = BossBaseUnitId .. "3",
boss4 = BossBaseUnitId .. "4",
boss5 = BossBaseUnitId .. "5",
boss6 = BossBaseUnitId .. "6",
boss7 = BossBaseUnitId .. "7",
boss8 = BossBaseUnitId .. "8",
}
--- The Nth party member excluding the player (1,2,3 or 4) `party1` - `party4`.
---@enum (key) PartyUnitIds
local PartyUnitIds = {
party1 = PartyBaseUnitId .. "1",
party2 = PartyBaseUnitId .. "2",
party3 = PartyBaseUnitId .. "3",
party4 = PartyBaseUnitId .. "4",
}
--- The pet of the Nth party member (N is 1,2,3, or 4) `partypet1` - `partypet4`.
---@enum (key) PartyPetUnitIds
local PartyPetUnitIds = {
partypet1 = PartyPetBaseUnitId .. "1",
partypet2 = PartyPetBaseUnitId .. "2",
partypet3 = PartyPetBaseUnitId .. "3",
partypet4 = PartyPetBaseUnitId .. "4",
}
--- The pet of the raid member with raidIndex N (1,2,3,...,40) `raidpet1` - `raidpet40`.
---@enum (key) RaidPetUnitIds
local RaidPetUnitIds = {
raidpet1 = RaidPetBaseUnitId .. "1",
raidpet2 = RaidPetBaseUnitId .. "2",
raidpet3 = RaidPetBaseUnitId .. "3",
raidpet4 = RaidPetBaseUnitId .. "4",
raidpet5 = RaidPetBaseUnitId .. "5",
raidpet6 = RaidPetBaseUnitId .. "6",
raidpet7 = RaidPetBaseUnitId .. "7",
raidpet8 = RaidPetBaseUnitId .. "8",
raidpet9 = RaidPetBaseUnitId .. "9",
raidpet10 = RaidPetBaseUnitId .. "10",
raidpet11 = RaidPetBaseUnitId .. "11",
raidpet12 = RaidPetBaseUnitId .. "12",
raidpet13 = RaidPetBaseUnitId .. "13",
raidpet14 = RaidPetBaseUnitId .. "14",
raidpet15 = RaidPetBaseUnitId .. "15",
raidpet16 = RaidPetBaseUnitId .. "16",
raidpet17 = RaidPetBaseUnitId .. "17",
raidpet18 = RaidPetBaseUnitId .. "18",
raidpet19 = RaidPetBaseUnitId .. "19",
raidpet20 = RaidPetBaseUnitId .. "20",
raidpet21 = RaidPetBaseUnitId .. "21",
raidpet22 = RaidPetBaseUnitId .. "22",
raidpet23 = RaidPetBaseUnitId .. "23",
raidpet24 = RaidPetBaseUnitId .. "24",
raidpet25 = RaidPetBaseUnitId .. "25",
raidpet26 = RaidPetBaseUnitId .. "26",
raidpet27 = RaidPetBaseUnitId .. "27",
raidpet28 = RaidPetBaseUnitId .. "28",
raidpet29 = RaidPetBaseUnitId .. "29",
raidpet30 = RaidPetBaseUnitId .. "30",
raidpet31 = RaidPetBaseUnitId .. "31",
raidpet32 = RaidPetBaseUnitId .. "32",
raidpet33 = RaidPetBaseUnitId .. "33",
raidpet34 = RaidPetBaseUnitId .. "34",
raidpet35 = RaidPetBaseUnitId .. "35",
raidpet36 = RaidPetBaseUnitId .. "36",
raidpet37 = RaidPetBaseUnitId .. "37",
raidpet38 = RaidPetBaseUnitId .. "38",
raidpet39 = RaidPetBaseUnitId .. "39",
raidpet40 = RaidPetBaseUnitId .. "40",
}
--- The Nth nameplate unit (1,2,3,...,40) `nameplate1` - `nameplate40`.
---@enum (key) NameplateUnitIds
local NameplateUnitIds = {
nameplate1 = NameplateBaseUnitId .. "1",
nameplate2 = NameplateBaseUnitId .. "2",
nameplate3 = NameplateBaseUnitId .. "3",
nameplate4 = NameplateBaseUnitId .. "4",
nameplate5 = NameplateBaseUnitId .. "5",
nameplate6 = NameplateBaseUnitId .. "6",
nameplate7 = NameplateBaseUnitId .. "7",
nameplate8 = NameplateBaseUnitId .. "8",
nameplate9 = NameplateBaseUnitId .. "9",
nameplate10 = NameplateBaseUnitId .. "10",
nameplate11 = NameplateBaseUnitId .. "11",
nameplate12 = NameplateBaseUnitId .. "12",
nameplate13 = NameplateBaseUnitId .. "13",
nameplate14 = NameplateBaseUnitId .. "14",
nameplate15 = NameplateBaseUnitId .. "15",
nameplate16 = NameplateBaseUnitId .. "16",
nameplate17 = NameplateBaseUnitId .. "17",
nameplate18 = NameplateBaseUnitId .. "18",
nameplate19 = NameplateBaseUnitId .. "19",
nameplate20 = NameplateBaseUnitId .. "20",
nameplate21 = NameplateBaseUnitId .. "21",
nameplate22 = NameplateBaseUnitId .. "22",
nameplate23 = NameplateBaseUnitId .. "23",
nameplate24 = NameplateBaseUnitId .. "24",
nameplate25 = NameplateBaseUnitId .. "25",
nameplate26 = NameplateBaseUnitId .. "26",
nameplate27 = NameplateBaseUnitId .. "27",
nameplate28 = NameplateBaseUnitId .. "28",
nameplate29 = NameplateBaseUnitId .. "29",
nameplate30 = NameplateBaseUnitId .. "30",
nameplate31 = NameplateBaseUnitId .. "31",
nameplate32 = NameplateBaseUnitId .. "32",
nameplate33 = NameplateBaseUnitId .. "33",
nameplate34 = NameplateBaseUnitId .. "34",
nameplate35 = NameplateBaseUnitId .. "35",
nameplate36 = NameplateBaseUnitId .. "36",
nameplate37 = NameplateBaseUnitId .. "37",
nameplate38 = NameplateBaseUnitId .. "38",
nameplate39 = NameplateBaseUnitId .. "39",
nameplate40 = NameplateBaseUnitId .. "40",
}
-- The Nth spectated unit (1,2,3,...,15) for Team "a". Only present in commentator mode. `spectateda1` - `spectateda15`
---@enum (key) SpectatedTeamAUnitIds
local SpectatedTeamAUnitIds = {
spectateda1 = SpectatedTeamABaseUnitId .. "1",
spectateda2 = SpectatedTeamABaseUnitId .. "2",
spectateda3 = SpectatedTeamABaseUnitId .. "3",
spectateda4 = SpectatedTeamABaseUnitId .. "4",
spectateda5 = SpectatedTeamABaseUnitId .. "5",
spectateda6 = SpectatedTeamABaseUnitId .. "6",
spectateda7 = SpectatedTeamABaseUnitId .. "7",
spectateda8 = SpectatedTeamABaseUnitId .. "8",
spectateda9 = SpectatedTeamABaseUnitId .. "9",
spectateda10 = SpectatedTeamABaseUnitId .. "10",
spectateda11 = SpectatedTeamABaseUnitId .. "11",
spectateda12 = SpectatedTeamABaseUnitId .. "12",
spectateda13 = SpectatedTeamABaseUnitId .. "13",
spectateda14 = SpectatedTeamABaseUnitId .. "14",
spectateda15 = SpectatedTeamABaseUnitId .. "15",
}
-- The pet of the Nth spectated unit (1,2,3,...,15) for Team "a". Only present in commentator mode. `spectatedpeta1` - `spectatedpeta15`
---@enum (key) SpectatedTeamAPetUnitIds
local SpectatedTeamAPetUnitIds = {
spectatedpeta1 = SpectatedTeamAPetBaseUnitId .. "1",
spectatedpeta2 = SpectatedTeamAPetBaseUnitId .. "2",
spectatedpeta3 = SpectatedTeamAPetBaseUnitId .. "3",
spectatedpeta4 = SpectatedTeamAPetBaseUnitId .. "4",
spectatedpeta5 = SpectatedTeamAPetBaseUnitId .. "5",
spectatedpeta6 = SpectatedTeamAPetBaseUnitId .. "6",
spectatedpeta7 = SpectatedTeamAPetBaseUnitId .. "7",
spectatedpeta8 = SpectatedTeamAPetBaseUnitId .. "8",
spectatedpeta9 = SpectatedTeamAPetBaseUnitId .. "9",
spectatedpeta10 = SpectatedTeamAPetBaseUnitId .. "10",
spectatedpeta11 = SpectatedTeamAPetBaseUnitId .. "11",
spectatedpeta12 = SpectatedTeamAPetBaseUnitId .. "12",
spectatedpeta13 = SpectatedTeamAPetBaseUnitId .. "13",
spectatedpeta14 = SpectatedTeamAPetBaseUnitId .. "14",
spectatedpeta15 = SpectatedTeamAPetBaseUnitId .. "15",
}
-- The Nth spectated unit (1,2,3,...,15) for Team "b". Only present in commentator mode. `spectatedb1` - `spectatedb15`
---@enum (key) SpectatedTeamBUnitIds
local SpectatedTeamBUnitIds = {
spectatedb1 = SpectatedTeamBBaseUnitId .. "1",
spectatedb2 = SpectatedTeamBBaseUnitId .. "2",
spectatedb3 = SpectatedTeamBBaseUnitId .. "3",
spectatedb4 = SpectatedTeamBBaseUnitId .. "4",
spectatedb5 = SpectatedTeamBBaseUnitId .. "5",
spectatedb6 = SpectatedTeamBBaseUnitId .. "6",
spectatedb7 = SpectatedTeamBBaseUnitId .. "7",
spectatedb8 = SpectatedTeamBBaseUnitId .. "8",
spectatedb9 = SpectatedTeamBBaseUnitId .. "9",
spectatedb10 = SpectatedTeamBBaseUnitId .. "10",
spectatedb11 = SpectatedTeamBBaseUnitId .. "11",
spectatedb12 = SpectatedTeamBBaseUnitId .. "12",
spectatedb13 = SpectatedTeamBBaseUnitId .. "13",
spectatedb14 = SpectatedTeamBBaseUnitId .. "14",
spectatedb15 = SpectatedTeamBBaseUnitId .. "15",
}
-- The pet of the Nth spectated unit (1,2,3,...,15) for Team "B". Only present in commentator mode. `spectatedpetb1` - `spectatedpetb15`
---@enum (key) SpectatedTeamBPetUnitIds
local SpectatedTeamBPetUnitIds = {
spectatedpetb1 = SpectatedTeamBPetBaseUnitId .. "1",
spectatedpetb2 = SpectatedTeamBPetBaseUnitId .. "2",
spectatedpetb3 = SpectatedTeamBPetBaseUnitId .. "3",
spectatedpetb4 = SpectatedTeamBPetBaseUnitId .. "4",
spectatedpetb5 = SpectatedTeamBPetBaseUnitId .. "5",
spectatedpetb6 = SpectatedTeamBPetBaseUnitId .. "6",
spectatedpetb7 = SpectatedTeamBPetBaseUnitId .. "7",
spectatedpetb8 = SpectatedTeamBPetBaseUnitId .. "8",
spectatedpetb9 = SpectatedTeamBPetBaseUnitId .. "9",
spectatedpetb10 = SpectatedTeamBPetBaseUnitId .. "10",
spectatedpetb11 = SpectatedTeamBPetBaseUnitId .. "11",
spectatedpetb12 = SpectatedTeamBPetBaseUnitId .. "12",
spectatedpetb13 = SpectatedTeamBPetBaseUnitId .. "13",
spectatedpetb14 = SpectatedTeamBPetBaseUnitId .. "14",
spectatedpetb15 = SpectatedTeamBPetBaseUnitId .. "15",
}
---@alias UnitIds PlayerUnitId | FocusUnitId | MouseoverUnitId | NoneUnitId | PetUnitId | TargetUnitId | VehicleUnitId | NpcUnitId | QuestNpcUnitId | RaidUnitIds | ArenaUnitIds | BossUnitIds | PartyUnitIds | PartyPetUnitIds | RaidPetUnitIds | NameplateUnitIds | SpectatedTeamAUnitIds | SpectatedTeamAPetUnitIds | SpectatedTeamBUnitIds | SpectatedTeamBPetUnitIds
--#region TinkrTypes
--- Example: "!00038"
@ -318,7 +9,8 @@ local SpectatedTeamBPetUnitIds = {
---@field unit fun(): UnitIds
---@field guid fun(): string
---@alias TinkrObjectReference WowGameObject | UnitId
---@alias TinkrObjectReference WowGameObject | UnitIds
---@alias spellId integer
---@enum PathTypes
@ -332,58 +24,6 @@ local PathTypes = {
PATHFIND_SHORT = 0x20, -- path is longer or equal to its limited path length
}
---@enum TObjectTypes
local TObjectTypes = {
Object = 0,
Item = 1,
Container = 2,
AzeriteEmpoweredItem = 3,
AzeriteItem = 4,
Unit = 5,
Player = 6,
ActivePlayer = 7,
GameObject = 8,
DynamicObject = 9,
Corpse = 10,
AreaTrigger = 11,
SceneObject = 12,
Conversation = 13,
AiGroup = 14,
Scenario = 15,
Loot = 16,
Invalid = 17,
}
---@enum eGameObjType
local eGameObjType = {
Door = 0,
Button = 1,
QuestGiver = 2,
Chest = 3,
Binder = 4,
Generic = 5,
Trap = 6,
Chair = 7,
SpellFocus = 8,
Text = 9,
Goober = 0xa,
Transport = 0xb,
AreaDamage = 0xc,
Camera = 0xd,
WorldObj = 0xe, -- Compare with Mapobject
MapObjTransport = 0xf,
DuelArbiter = 0x10,
FishingNode = 0x11,
Ritual = 0x12,
Mailbox = 0x13,
AuctionHouse = 0x14, -- Compare to DONOTUSE1?
SpellCaster = 0x16,
MeetingStone = 0x17,
Unkown18 = 0x18, -- Compare to FlagStand
FishingPool = 0x19, -- Compare to FishingHole
FORCEDWORD = 0xFFFFFFFF,
}
---@class Missle
---@field cx number # current x
---@field cy number # current y
@ -398,42 +38,6 @@ local eGameObjType = {
---@field my? number # model y
---@field mz? number # model z
---@enum TinkrMovementFlags
local TinkrMovementFlags = {
NONE = 0x00000000,
FORWARD = 0x00000001,
BACKWARD = 0x00000002,
STRAFELEFT = 0x00000004,
STRAFERIGHT = 0x00000008,
TURNLEFT = 0x00000010,
TURNRIGHT = 0x00000020,
PITCHUP = 0x00000040,
PITCHDOWN = 0x00000080,
WALKMODE = 0x00000100,
ONTRANSPORT = 0x00000200,
LEVITATING = 0x00000400,
ROOT = 0x00000800,
FALLING = 0x00001000,
FALLINGFAR = 0x00002000,
PENDINGSTOP = 0x00004000,
PENDINGSTRAFESTOP = 0x00008000,
PENDINGFORWARD = 0x00010000,
PENDINGBACKWARD = 0x00020000,
PENDINGSTRAFELEFT = 0x00040000,
PENDINGSTRAFERIGHT = 0x00080000,
PENDINGROOT = 0x00100000,
SWIMMING = 0x00200000,
ASCENDING = 0x00400000,
DESCENDING = 0x00800000,
CAN_FLY = 0x01000000,
FLYING = 0x02000000,
SPLINEELEVATION = 0x04000000,
SPLINEENABLED = 0x08000000,
WATERWALKING = 0x10000000,
SAFEFALL = 0x20000000,
HOVER = 0x40000000,
}
---@enum SkinType
local SkinType = {
HERBALISM = 0x100,
@ -1198,40 +802,52 @@ local TinkrUtilModulesDetour = {
---@class Tinkr.Util.Modules.Draw
local TinkrUtilModulesDraw = {
---@param self Tinkr.Util.Modules.Draw
---@param wx number
---@param wy number
---@param wz number
WorldToScreen = function(self, wx, wy, wz) end,
---@param x number
---@param y number
---@param z number
---@param size number
---@param arc number
---@param rotation number
Arc = function(self, x, y, z, size, arc, rotation) end,
---@param self Tinkr.Util.Modules.Draw
---@param vectors Position[]
---@param x number
---@param y number
---@param z number
---@param rotationX number
---@param rotationY number
---@param rotationZ number
Array = function(self, vectors, x, y, z, rotationX, rotationY, rotationZ) end,
---@param self Tinkr.Util.Modules.Draw
---@return number x, number y, number z
CameraPosition = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param value number
---@param fromLow number
---@param fromHigh number
---@param toLow number
---@param toHigh number
Map = function(self, value, fromLow, fromHigh, toLow, toHigh) end,
---@param x number
---@param y number
---@param z number
---@param radius number
---@param steps number
Circle = function(self, x, y, z, radius, steps) end,
---@param self Tinkr.Util.Modules.Draw
---@param r number
---@param g number
---@param b number
---@param a number
SetColor = function(self, r, g, b, a) end,
ClearCanvas = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param r number
---@param g number
---@param b number
---@param a number
SetColorRaw = function(self, r, g, b, a) end,
---@param x number
---@param y number
---@param z number
---@param radius number
---@param height number
Cylinder = function(self, x, y, z, radius, height) end,
---@param self Tinkr.Util.Modules.Draw
---@param a number
SetAlpha = function(self, a) end,
DashedLine = function(self) end,
---@param self Tinkr.Util.Modules.Draw
Disable = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param ax number
@ -1251,38 +867,46 @@ local TinkrUtilModulesDraw = {
Distance2D = function(self, x1, y1, x2, y2) end,
---@param self Tinkr.Util.Modules.Draw
---@param width number
SetWidth = function(self, width) end,
Draw3DTexture = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateX = function(self, cx, cy, cz, px, py, pz, r) end,
Enable = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateY = function(self, cx, cy, cz, px, py, pz, r) end,
---@return boolean
Enabled = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateZ = function(self, cx, cy, cz, px, py, pz, r) end,
FilledArc = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param x number
---@param y number
---@param z number
---@param radius number
FilledCircle = function(self, x, y, z, radius) end,
---@param self Tinkr.Util.Modules.Draw
FilledRectangle = function(self) end,
---@param self Tinkr.Util.Modules.Draw
FilledRectangleOffset = function(self) end,
---@param self Tinkr.Util.Modules.Draw
FilledRing = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param object TinkrObjectReference
---@return number r, number g, number b
GetColorFromObject = function(self, object) end,
---@param self Tinkr.Util.Modules.Draw
Helper = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param hex string
---@return number r, number g, number b
HexToRGB = function(self, hex) end,
---@param self Tinkr.Util.Modules.Draw
---@param x1 number
@ -1294,6 +918,13 @@ local TinkrUtilModulesDraw = {
---@param maxD number
Line = function(self, x1, y1, z1, x2, y2, z2, maxD) end,
---@param self Tinkr.Util.Modules.Draw
---@param sx number
---@param sy number
---@param ex number
---@param ey number
Line2D = function(self, sx, sy, ex, ey) end,
---@param self Tinkr.Util.Modules.Draw
---@param x1 number
---@param y1 number
@ -1304,113 +935,166 @@ local TinkrUtilModulesDraw = {
LineRaw = function(self, x1, y1, z1, x2, y2, z2) end,
---@param self Tinkr.Util.Modules.Draw
---@param sx number
---@param sy number
---@param ex number
---@param ey number
Line2D = function(self, sx, sy, ex, ey) end,
---@param value number
---@param fromLow number
---@param fromHigh number
---@param toLow number
---@param toHigh number
Map = function(self, value, fromLow, fromHigh, toLow, toHigh) end,
---@param self Tinkr.Util.Modules.Draw
---@param x number
---@param y number
---@param z number
---@param radius number
---@param steps number
Circle = function(self, x, y, z, radius, steps) end,
---@param canvas? table
---@return Tinkr.Util.Modules.Draw.Canvas
New = function(self, canvas) end,
---@param self Tinkr.Util.Modules.Draw
---@param x number
---@param y number
---@param z number
---@param radius number
---@param height number
Cylinder = function(self, x, y, z, radius, height) end,
Outline = function(self, x, y, z, radius) end,
---@param self Tinkr.Util.Modules.Draw
---@param vectors Position[]
---@param x number
---@param y number
---@param z number
---@param rotationX number
---@param rotationY number
---@param rotationZ number
Array = function(self, vectors, x, y, z, rotationX, rotationY, rotationZ) end,
ProjectedTexture = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param text string
---@param font string
---@param x number
---@param y number
---@param z number
Text = function(self, text, font, x, y, z) end,
---@param w number
---@param l number
---@param rot number
Rectangle = function(self, x, y, z, w, l, rot) end,
---@param self Tinkr.Util.Modules.Draw
---@param config table
---@param x number
---@param y number
---@param z number
---@param alphaA number
Texture = function(self, config, x, y, z, alphaA) end,
---@param self Tinkr.Util.Modules.Draw
ClearCanvas = function(self) end,
---@param self Tinkr.Util.Modules.Draw
Update = function(self) end,
---@param w number
---@param l number
---@param rot number
RectangleOffset = function(self, x, y, z, w, l, rot) end,
---@param self Tinkr.Util.Modules.Draw
Helper = function(self) end,
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateX = function(self, cx, cy, cz, px, py, pz, r) end,
---@param self Tinkr.Util.Modules.Draw
Enable = function(self) end,
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateY = function(self, cx, cy, cz, px, py, pz, r) end,
---@param self Tinkr.Util.Modules.Draw
Disable = function(self) end,
---@param cx number
---@param cy number
---@param cz number
---@param px number
---@param py number
---@param pz number
---@param r number
RotateZ = function(self, cx, cy, cz, px, py, pz, r) end,
---@param self Tinkr.Util.Modules.Draw
---@return boolean
Enabled = function(self) end,
---@param a number
SetAlpha = function(self, a) end,
---@param self Tinkr.Util.Modules.Draw
---@param callback fun()
Sync = function(self, callback) end,
---@param a number
SetAlphaRaw = function(self, a) end,
---@param self Tinkr.Util.Modules.Draw
---@param hex string
---@return number r, number g, number b
HexToRGB = function(self, hex) end,
---@param r number
---@param g number
---@param b number
---@param a number
SetColor = function(self, r, g, b, a) end,
---@param self Tinkr.Util.Modules.Draw
---@param object TinkrObjectReference
SetColorFromObject = function(self, object) end,
---@param self Tinkr.Util.Modules.Draw
---@param object TinkrObjectReference
---@return number r, number g, number b
GetColorFromObject = function(self, object) end,
---@param r number
---@param g number
---@param b number
---@param a number
SetColorRaw = function(self, r, g, b, a) end,
---@param self Tinkr.Util.Modules.Draw
---@param canvas table
New = function(self, canvas) end,
---@param width number
SetWidth = function(self, width) end,
---@param self Tinkr.Util.Modules.Draw
---@param callback fun(draw: Tinkr.Util.Modules.Draw.Canvas)
Sync = function(self, callback) end,
---@param self Tinkr.Util.Modules.Draw
---@param text string
---@param font string
---@param x number
---@param y number
---@param z number
---@param size number
---@param arc number
---@param rotation number
Arc = function(self, x, y, z, size, arc, rotation) end,
Text = function(self, text, font, x, y, z) end,
---@param self Tinkr.Util.Modules.Draw
---@param config table
---@param x number
---@param y number
---@param z number
---@param w number
---@param l number
---@param rot number
Rectangle = function(self, x, y, z, w, l, rot) end,
---@param alphaA number
Texture = function(self, config, x, y, z, alphaA) end,
TracedCircle = function() end,
Triangle = function() end,
Triangle2D = function() end,
TriangleAbsolut = function() end,
TriangleAbsolute = function() end,
---@param self Tinkr.Util.Modules.Draw
Update = function(self) end,
---@param self Tinkr.Util.Modules.Draw
---@param wx number
---@param wy number
---@param wz number
WorldToScreen = function(self, wx, wy, wz) end,
mixColors = function() end
}
---@class Tinkr.Util.Modules.Draw.Canvas : Tinkr.Util.Modules.Draw
---@field enabled boolean
---@field height number
---@field line_width number
---@field scale number
---@field width number
---@field callbacks fun(self: Tinkr.Util.Modules.Draw.Canvas)[]
---@field color { [1]: number, [2]: number, [3]: number, [4]: number }
---@field lines table
---@field lines_used table
---@field strings FontString[]
---@field strings_used FontString[]
---@field textures Texture[]
---@field textures_used Texture[]
---@field triangles table
---@field triangles_used table
---@field canvas Frame
---@field relative Frame
local TinkrUtilDrawCanvas = {
}
--#endregion Tinkr.Util.Modules.Draw
--#region Tinkr.Util.Modules.Evaluator
@ -1675,6 +1359,8 @@ local TinkrUtil = {
Modules = {},
---@type Tinkr.Util.GUIBuilder
GUIBuilder = {},
---@type Tinkr.Util.Modules.Draw
Draw = {},
LibStub = LibStub,
JSON = Tinkr.Util.Modules.JSON,
Serialize = {},
@ -1948,12 +1634,12 @@ SetPitch = TinkrMovement.SetPitch
local TinkrObjects = {
---Returns the spellID of a WowGameObject representation of an Area Trigger
---@param objectRef TinkrObjectReference
---@return spellId | false
---@return { spellID1: number, spellID2: number } | false
AreaTriggerSpell = function(objectRef) end,
---Returns the gameobject type of a WowGameObject.
---@param objectRef TinkrObjectReference
---@return GameObjectType | false
---@return ObjectType | false
GameObjectType = function(objectRef) end,
---Gets a list of all Missiles.
@ -1961,7 +1647,7 @@ local TinkrObjects = {
Missiles = function() end,
---Gets a single object.
---@param unitId UnitId
---@param unitId TinkrObjectReference
---@return WowGameObject | false
Object = function(unitId) end,
@ -2046,7 +1732,7 @@ local TinkrObjects = {
---Returns the current movement state of a Unit
---@param objectRef TinkrObjectReference
---@return TinkrMovementFlags
---@return MovementFlags
ObjectMovementFlag = function(objectRef) end,
---Returns the objectReference that the WowGameObject is moving on.
@ -2096,7 +1782,7 @@ local TinkrObjects = {
---Returns the type of a WowGameObject.
---@param objectRef TinkrObjectReference
---@return TObjectTypes | false
---@return ObjectType | false
ObjectType = function(objectRef) end,
---@param objectRef TinkrObjectReference
@ -2114,7 +1800,7 @@ local TinkrObjects = {
ObjectWorldPosition = function(objectRef) end,
---Gets a list of all objects.
---@param filterTypeId? TObjectTypes
---@param filterTypeId? ObjectType
---@return WowGameObject[]
Objects = function(filterTypeId) end,

@ -0,0 +1,513 @@
---@meta
---@enum CollisionFlags
local CollisionFlags = {
M2Collision = 0x1,
M2Render = 0x2,
WMOCollision = 0x10,
WMORender = 0x20,
Terrain = 0x100,
WaterWalkableLiquid = 0x10000,
Liquid = 0x20000,
EntityCollision = 0x100000,
}
---@enum ObjectType
local ObjectType = {
Object = 0,
Item = 1,
Container = 2,
AzeriteEmpoweredItem = 3,
AzeriteItem = 4,
Unit = 5,
Player = 6,
ActivePlayer = 7,
GameObject = 8,
DynamicObject = 9,
Corpse = 10,
AreaTrigger = 11,
SceneObject = 12,
Conversation = 13,
AiGroup = 14,
Scenario = 15,
Loot = 16,
Invalid = 17,
}
---@enum LuaType
local LuaType = {
Bool = 1,
Char = 2,
Byte = 3,
Short = 4,
UShort = 5,
Int = 6,
UInt = 7,
Long = 8,
ULong = 9,
Float = 10,
Double = 11,
StringType = 12,
IntPtr = 13,
UIntPtr = 14,
GUID = 15,
}
---@enum UnitCreatureType
local UnitCreatureType = {
Beast = 1,
Dragonkin = 2,
Demon = 3,
Elemental = 4,
Giant = 5,
Undead = 6,
Humanoid = 7,
Critter = 8,
Mechanical = 9,
NotSpecified = 10,
Totem = 11,
NonCombatPet = 12,
GasCloud = 13,
WildPet = 14, -- Retail Only
Aberration = 15, -- Retail Only
}
local ot = {
GOT_Door = 0,
GOT_Button = 1,
GOT_QuestGiver = 2,
GOT_Chest = 3,
GOT_Binder = 4,
GOT_Generic = 5,
GOT_Trap = 6,
GOT_Chair = 7,
GOT_SpellFocus = 8,
GOT_Text = 9,
GOT_Goober = 0xa,
GOT_Transport = 0xb,
GOT_AreaDamage = 0xc,
GOT_Camera = 0xd,
GOT_WorldObj = 0xe,
GOT_MapObjTransport = 0xf,
GOT_DuelArbiter = 0x10,
GOT_FishingNode = 0x11,
GOT_Ritual = 0x12,
GOT_Mailbox = 0x13,
GOT_AuctionHouse = 0x14,
GOT_SpellCaster = 0x16,
GOT_MeetingStone = 0x17,
GOT_Unkown18 = 0x18,
GOT_FishingPool = 0x19,
GOT_FORCEDWORD = 0xFFFFFFFF,
}
---@enum GameObjectType
local GameObjectType = {
Door = 0,
Button = 1,
QuestGiver = 2,
Chest = 3, -- Herbs, Minerals, Chests
Binder = 4,
Generic = 5,
Trap = 6,
Chair = 7,
SpellFocus = 8,
Text = 9,
Goober = 0xa, -- 10
Transport = 0xb, -- 11
AreaDamage = 0xc, -- 12
Camera = 0xd, -- 13
WorldObj = 0xe, -- 14
MapObjTransport = 0xf, -- 15
DuelArbiter = 0x10, -- 16
FishingNode = 0x11, -- 17
Ritual = 0x12, -- 18
Mailbox = 0x13, -- 19
AuctionHouse = 0x14, -- 20
GuardPost = 21,
SpellCaster = 0x16, -- 22
MeetingStone = 0x17, -- 23
FlagStand = 0x18, -- 24
FishingPool = 0x19, -- 25
FlagDrop = 26,
DONOTUSE2 = 27,
DONOTUSE3 = 28,
ControlZone = 29,
AuraGenerator = 30,
DungeonDifficulty = 31,
BarberChair = 32,
DestructibleBuilding = 33,
GuildBank = 34,
Trapdoor = 35,
Newflag = 36,
Newflagdrop = 37,
GarrisonBuilding = 38,
GarrisonPlot = 39,
ClientCreature = 40,
ClientItem = 41,
CapturePoint = 42,
PhaseableMO = 43,
GarrisonMonument = 44,
GarrisonShipment = 45,
GarrisonMonumentPlaque = 46,
ItemForge = 47,
UILink = 48,
KeystoneReceptacle = 49,
GatheringNode = 50,
ChallengeModeReward = 51,
Multi = 52,
SeigableMulti = 53,
SeigableMo = 54,
PvpReward = 55,
PlayerChoiceChest = 56,
LegendaryForge = 57,
GearTalentTree = 58,
WeeklyRewardChest = 59,
ClientModel = 60,
ForceDWord = 0xFFFFFFFF, -- 4294967295
}
---@enum MovementFlags
local MovementFlags = {
NONE = 0x00000000,
FORWARD = 0x00000001,
BACKWARD = 0x00000002,
STRAFELEFT = 0x00000004,
STRAFERIGHT = 0x00000008,
TURNLEFT = 0x00000010,
TURNRIGHT = 0x00000020,
PITCHUP = 0x00000040,
PITCHDOWN = 0x00000080,
WALKMODE = 0x00000100,
ONTRANSPORT = 0x00000200,
LEVITATING = 0x00000400,
ROOT = 0x00000800,
FALLING = 0x00001000,
FALLINGFAR = 0x00002000,
PENDINGSTOP = 0x00004000,
PENDINGSTRAFESTOP = 0x00008000,
PENDINGFORWARD = 0x00010000,
PENDINGBACKWARD = 0x00020000,
PENDINGSTRAFELEFT = 0x00040000,
PENDINGSTRAFERIGHT = 0x00080000,
PENDINGROOT = 0x00100000,
SWIMMING = 0x00200000,
ASCENDING = 0x00400000,
DESCENDING = 0x00800000,
CAN_FLY = 0x01000000,
FLYING = 0x02000000,
SPLINEELEVATION = 0x04000000,
SPLINEENABLED = 0x08000000,
WATERWALKING = 0x10000000,
SAFEFALL = 0x20000000,
HOVER = 0x40000000,
}
--- The current player.
---@alias PlayerUnitId "player"
local PlayerUnitId = "player"
--- The current player's focus target as selected by the /focus command.
---@alias FocusUnitId "focus"
local FocusUnitId = "focus"
--- The unit which the mouse is currently (or was most recently) hovering over.
---@alias MouseoverUnitId "mouseover"
local MouseoverUnitId = "mouseover"
--- A valid unit token that always refers to no unit. UnitName will return "Unknown, nil" for this UnitID.
---@alias NoneUnitId "none"
local NoneUnitId = "none"
--- The current player's pet.
---@alias PetUnitId "pet"
local PetUnitId = "pet"
--- The currently targeted unit. May be overridden in macros by unit specified as a value of respective Secure Button attribute.
---@alias TargetUnitId "target"
local TargetUnitId = "target"
--- The current player's vehicle.
---@alias VehicleUnitId "vehicle"
local VehicleUnitId = "vehicle"
--- The NPC with which the player is currently interacting. You must be interacting with the NPC for this to work (e.g. the quest, flight path, merchant, gossip, or bank frame is open).
---@alias NpcUnitId "npc"
local NpcUnitId = "npc"
--- The quest giver NPC with which the player is currently interacting. In most cases this will be identical to the "npc" unit.
---@alias QuestNpcUnitId "questnpc"
local QuestNpcUnitId = "questnpc"
local PartyBaseUnitId = "party"
local PartyPetBaseUnitId = PartyBaseUnitId .. PetUnitId
local RaidBaseUnitId = "raid"
local RaidPetBaseUnitId = RaidBaseUnitId .. PetUnitId
local ArenaBaseUnitId = "arena"
local BossBaseUnitId = "boss"
local NameplateBaseUnitId = "nameplate"
local SpectatedBaseUnitId = "spectated"
local SpectatedTeamAId = "a"
local SpectatedTeamABaseUnitId = SpectatedBaseUnitId .. SpectatedTeamAId
local SpectatedTeamAPetBaseUnitId = SpectatedBaseUnitId .. PetUnitId .. SpectatedTeamAId
local SpectatedTeamBId = "b"
local SpectatedTeamBBaseUnitId = SpectatedBaseUnitId .. SpectatedTeamBId
local SpectatedTeamBPetBaseUnitId = SpectatedBaseUnitId .. PetUnitId .. SpectatedTeamBId
--- The raid member with raidIndex N (1,2,3,...,40) `raid1` - `raid40`.
---@enum (key) RaidUnitIds
local RaidUnitIds = {
raid1 = RaidBaseUnitId .. "1",
raid2 = RaidBaseUnitId .. "2",
raid3 = RaidBaseUnitId .. "3",
raid4 = RaidBaseUnitId .. "4",
raid5 = RaidBaseUnitId .. "5",
raid6 = RaidBaseUnitId .. "6",
raid7 = RaidBaseUnitId .. "7",
raid8 = RaidBaseUnitId .. "8",
raid9 = RaidBaseUnitId .. "9",
raid10 = RaidBaseUnitId .. "10",
raid11 = RaidBaseUnitId .. "11",
raid12 = RaidBaseUnitId .. "12",
raid13 = RaidBaseUnitId .. "13",
raid14 = RaidBaseUnitId .. "14",
raid15 = RaidBaseUnitId .. "15",
raid16 = RaidBaseUnitId .. "16",
raid17 = RaidBaseUnitId .. "17",
raid18 = RaidBaseUnitId .. "18",
raid19 = RaidBaseUnitId .. "19",
raid20 = RaidBaseUnitId .. "20",
raid21 = RaidBaseUnitId .. "21",
raid22 = RaidBaseUnitId .. "22",
raid23 = RaidBaseUnitId .. "23",
raid24 = RaidBaseUnitId .. "24",
raid25 = RaidBaseUnitId .. "25",
raid26 = RaidBaseUnitId .. "26",
raid27 = RaidBaseUnitId .. "27",
raid28 = RaidBaseUnitId .. "28",
raid29 = RaidBaseUnitId .. "29",
raid30 = RaidBaseUnitId .. "30",
raid31 = RaidBaseUnitId .. "31",
raid32 = RaidBaseUnitId .. "32",
raid33 = RaidBaseUnitId .. "33",
raid34 = RaidBaseUnitId .. "34",
raid35 = RaidBaseUnitId .. "35",
raid36 = RaidBaseUnitId .. "36",
raid37 = RaidBaseUnitId .. "37",
raid38 = RaidBaseUnitId .. "38",
raid39 = RaidBaseUnitId .. "39",
raid40 = RaidBaseUnitId .. "40",
}
--- Opposing arena member with index N (1,2,3,4 or 5) `arena1` - `arena5`.
---@enum (key) ArenaUnitIds
local ArenaUnitIds = {
arena1 = ArenaBaseUnitId .. "1",
arena2 = ArenaBaseUnitId .. "2",
arena3 = ArenaBaseUnitId .. "3",
arena4 = ArenaBaseUnitId .. "4",
arena5 = ArenaBaseUnitId .. "5",
}
--- The active bosses of the current encounter if available N (1,2,3...,8) `boss1` - `boss8`.
---@enum (key) BossUnitIds
local BossUnitIds = {
boss1 = BossBaseUnitId .. "1",
boss2 = BossBaseUnitId .. "2",
boss3 = BossBaseUnitId .. "3",
boss4 = BossBaseUnitId .. "4",
boss5 = BossBaseUnitId .. "5",
boss6 = BossBaseUnitId .. "6",
boss7 = BossBaseUnitId .. "7",
boss8 = BossBaseUnitId .. "8",
}
--- The Nth party member excluding the player (1,2,3 or 4) `party1` - `party4`.
---@enum (key) PartyUnitIds
local PartyUnitIds = {
party1 = PartyBaseUnitId .. "1",
party2 = PartyBaseUnitId .. "2",
party3 = PartyBaseUnitId .. "3",
party4 = PartyBaseUnitId .. "4",
}
--- The pet of the Nth party member (N is 1,2,3, or 4) `partypet1` - `partypet4`.
---@enum (key) PartyPetUnitIds
local PartyPetUnitIds = {
partypet1 = PartyPetBaseUnitId .. "1",
partypet2 = PartyPetBaseUnitId .. "2",
partypet3 = PartyPetBaseUnitId .. "3",
partypet4 = PartyPetBaseUnitId .. "4",
}
--- The pet of the raid member with raidIndex N (1,2,3,...,40) `raidpet1` - `raidpet40`.
---@enum (key) RaidPetUnitIds
local RaidPetUnitIds = {
raidpet1 = RaidPetBaseUnitId .. "1",
raidpet2 = RaidPetBaseUnitId .. "2",
raidpet3 = RaidPetBaseUnitId .. "3",
raidpet4 = RaidPetBaseUnitId .. "4",
raidpet5 = RaidPetBaseUnitId .. "5",
raidpet6 = RaidPetBaseUnitId .. "6",
raidpet7 = RaidPetBaseUnitId .. "7",
raidpet8 = RaidPetBaseUnitId .. "8",
raidpet9 = RaidPetBaseUnitId .. "9",
raidpet10 = RaidPetBaseUnitId .. "10",
raidpet11 = RaidPetBaseUnitId .. "11",
raidpet12 = RaidPetBaseUnitId .. "12",
raidpet13 = RaidPetBaseUnitId .. "13",
raidpet14 = RaidPetBaseUnitId .. "14",
raidpet15 = RaidPetBaseUnitId .. "15",
raidpet16 = RaidPetBaseUnitId .. "16",
raidpet17 = RaidPetBaseUnitId .. "17",
raidpet18 = RaidPetBaseUnitId .. "18",
raidpet19 = RaidPetBaseUnitId .. "19",
raidpet20 = RaidPetBaseUnitId .. "20",
raidpet21 = RaidPetBaseUnitId .. "21",
raidpet22 = RaidPetBaseUnitId .. "22",
raidpet23 = RaidPetBaseUnitId .. "23",
raidpet24 = RaidPetBaseUnitId .. "24",
raidpet25 = RaidPetBaseUnitId .. "25",
raidpet26 = RaidPetBaseUnitId .. "26",
raidpet27 = RaidPetBaseUnitId .. "27",
raidpet28 = RaidPetBaseUnitId .. "28",
raidpet29 = RaidPetBaseUnitId .. "29",
raidpet30 = RaidPetBaseUnitId .. "30",
raidpet31 = RaidPetBaseUnitId .. "31",
raidpet32 = RaidPetBaseUnitId .. "32",
raidpet33 = RaidPetBaseUnitId .. "33",
raidpet34 = RaidPetBaseUnitId .. "34",
raidpet35 = RaidPetBaseUnitId .. "35",
raidpet36 = RaidPetBaseUnitId .. "36",
raidpet37 = RaidPetBaseUnitId .. "37",
raidpet38 = RaidPetBaseUnitId .. "38",
raidpet39 = RaidPetBaseUnitId .. "39",
raidpet40 = RaidPetBaseUnitId .. "40",
}
--- The Nth nameplate unit (1,2,3,...,40) `nameplate1` - `nameplate40`.
---@enum (key) NameplateUnitIds
local NameplateUnitIds = {
nameplate1 = NameplateBaseUnitId .. "1",
nameplate2 = NameplateBaseUnitId .. "2",
nameplate3 = NameplateBaseUnitId .. "3",
nameplate4 = NameplateBaseUnitId .. "4",
nameplate5 = NameplateBaseUnitId .. "5",
nameplate6 = NameplateBaseUnitId .. "6",
nameplate7 = NameplateBaseUnitId .. "7",
nameplate8 = NameplateBaseUnitId .. "8",
nameplate9 = NameplateBaseUnitId .. "9",
nameplate10 = NameplateBaseUnitId .. "10",
nameplate11 = NameplateBaseUnitId .. "11",
nameplate12 = NameplateBaseUnitId .. "12",
nameplate13 = NameplateBaseUnitId .. "13",
nameplate14 = NameplateBaseUnitId .. "14",
nameplate15 = NameplateBaseUnitId .. "15",
nameplate16 = NameplateBaseUnitId .. "16",
nameplate17 = NameplateBaseUnitId .. "17",
nameplate18 = NameplateBaseUnitId .. "18",
nameplate19 = NameplateBaseUnitId .. "19",
nameplate20 = NameplateBaseUnitId .. "20",
nameplate21 = NameplateBaseUnitId .. "21",
nameplate22 = NameplateBaseUnitId .. "22",
nameplate23 = NameplateBaseUnitId .. "23",
nameplate24 = NameplateBaseUnitId .. "24",
nameplate25 = NameplateBaseUnitId .. "25",
nameplate26 = NameplateBaseUnitId .. "26",
nameplate27 = NameplateBaseUnitId .. "27",
nameplate28 = NameplateBaseUnitId .. "28",
nameplate29 = NameplateBaseUnitId .. "29",
nameplate30 = NameplateBaseUnitId .. "30",
nameplate31 = NameplateBaseUnitId .. "31",
nameplate32 = NameplateBaseUnitId .. "32",
nameplate33 = NameplateBaseUnitId .. "33",
nameplate34 = NameplateBaseUnitId .. "34",
nameplate35 = NameplateBaseUnitId .. "35",
nameplate36 = NameplateBaseUnitId .. "36",
nameplate37 = NameplateBaseUnitId .. "37",
nameplate38 = NameplateBaseUnitId .. "38",
nameplate39 = NameplateBaseUnitId .. "39",
nameplate40 = NameplateBaseUnitId .. "40",
}
-- The Nth spectated unit (1,2,3,...,15) for Team "a". Only present in commentator mode. `spectateda1` - `spectateda15`
---@enum (key) SpectatedTeamAUnitIds
local SpectatedTeamAUnitIds = {
spectateda1 = SpectatedTeamABaseUnitId .. "1",
spectateda2 = SpectatedTeamABaseUnitId .. "2",
spectateda3 = SpectatedTeamABaseUnitId .. "3",
spectateda4 = SpectatedTeamABaseUnitId .. "4",
spectateda5 = SpectatedTeamABaseUnitId .. "5",
spectateda6 = SpectatedTeamABaseUnitId .. "6",
spectateda7 = SpectatedTeamABaseUnitId .. "7",
spectateda8 = SpectatedTeamABaseUnitId .. "8",
spectateda9 = SpectatedTeamABaseUnitId .. "9",
spectateda10 = SpectatedTeamABaseUnitId .. "10",
spectateda11 = SpectatedTeamABaseUnitId .. "11",
spectateda12 = SpectatedTeamABaseUnitId .. "12",
spectateda13 = SpectatedTeamABaseUnitId .. "13",
spectateda14 = SpectatedTeamABaseUnitId .. "14",
spectateda15 = SpectatedTeamABaseUnitId .. "15",
}
-- The pet of the Nth spectated unit (1,2,3,...,15) for Team "a". Only present in commentator mode. `spectatedpeta1` - `spectatedpeta15`
---@enum (key) SpectatedTeamAPetUnitIds
local SpectatedTeamAPetUnitIds = {
spectatedpeta1 = SpectatedTeamAPetBaseUnitId .. "1",
spectatedpeta2 = SpectatedTeamAPetBaseUnitId .. "2",
spectatedpeta3 = SpectatedTeamAPetBaseUnitId .. "3",
spectatedpeta4 = SpectatedTeamAPetBaseUnitId .. "4",
spectatedpeta5 = SpectatedTeamAPetBaseUnitId .. "5",
spectatedpeta6 = SpectatedTeamAPetBaseUnitId .. "6",
spectatedpeta7 = SpectatedTeamAPetBaseUnitId .. "7",
spectatedpeta8 = SpectatedTeamAPetBaseUnitId .. "8",
spectatedpeta9 = SpectatedTeamAPetBaseUnitId .. "9",
spectatedpeta10 = SpectatedTeamAPetBaseUnitId .. "10",
spectatedpeta11 = SpectatedTeamAPetBaseUnitId .. "11",
spectatedpeta12 = SpectatedTeamAPetBaseUnitId .. "12",
spectatedpeta13 = SpectatedTeamAPetBaseUnitId .. "13",
spectatedpeta14 = SpectatedTeamAPetBaseUnitId .. "14",
spectatedpeta15 = SpectatedTeamAPetBaseUnitId .. "15",
}
-- The Nth spectated unit (1,2,3,...,15) for Team "b". Only present in commentator mode. `spectatedb1` - `spectatedb15`
---@enum (key) SpectatedTeamBUnitIds
local SpectatedTeamBUnitIds = {
spectatedb1 = SpectatedTeamBBaseUnitId .. "1",
spectatedb2 = SpectatedTeamBBaseUnitId .. "2",
spectatedb3 = SpectatedTeamBBaseUnitId .. "3",
spectatedb4 = SpectatedTeamBBaseUnitId .. "4",
spectatedb5 = SpectatedTeamBBaseUnitId .. "5",
spectatedb6 = SpectatedTeamBBaseUnitId .. "6",
spectatedb7 = SpectatedTeamBBaseUnitId .. "7",
spectatedb8 = SpectatedTeamBBaseUnitId .. "8",
spectatedb9 = SpectatedTeamBBaseUnitId .. "9",
spectatedb10 = SpectatedTeamBBaseUnitId .. "10",
spectatedb11 = SpectatedTeamBBaseUnitId .. "11",
spectatedb12 = SpectatedTeamBBaseUnitId .. "12",
spectatedb13 = SpectatedTeamBBaseUnitId .. "13",
spectatedb14 = SpectatedTeamBBaseUnitId .. "14",
spectatedb15 = SpectatedTeamBBaseUnitId .. "15",
}
-- The pet of the Nth spectated unit (1,2,3,...,15) for Team "B". Only present in commentator mode. `spectatedpetb1` - `spectatedpetb15`
---@enum (key) SpectatedTeamBPetUnitIds
local SpectatedTeamBPetUnitIds = {
spectatedpetb1 = SpectatedTeamBPetBaseUnitId .. "1",
spectatedpetb2 = SpectatedTeamBPetBaseUnitId .. "2",
spectatedpetb3 = SpectatedTeamBPetBaseUnitId .. "3",
spectatedpetb4 = SpectatedTeamBPetBaseUnitId .. "4",
spectatedpetb5 = SpectatedTeamBPetBaseUnitId .. "5",
spectatedpetb6 = SpectatedTeamBPetBaseUnitId .. "6",
spectatedpetb7 = SpectatedTeamBPetBaseUnitId .. "7",
spectatedpetb8 = SpectatedTeamBPetBaseUnitId .. "8",
spectatedpetb9 = SpectatedTeamBPetBaseUnitId .. "9",
spectatedpetb10 = SpectatedTeamBPetBaseUnitId .. "10",
spectatedpetb11 = SpectatedTeamBPetBaseUnitId .. "11",
spectatedpetb12 = SpectatedTeamBPetBaseUnitId .. "12",
spectatedpetb13 = SpectatedTeamBPetBaseUnitId .. "13",
spectatedpetb14 = SpectatedTeamBPetBaseUnitId .. "14",
spectatedpetb15 = SpectatedTeamBPetBaseUnitId .. "15",
}
---@alias UnitIds PlayerUnitId | FocusUnitId | MouseoverUnitId | NoneUnitId | PetUnitId | TargetUnitId | VehicleUnitId | NpcUnitId | QuestNpcUnitId | RaidUnitIds | ArenaUnitIds | BossUnitIds | PartyUnitIds | PartyPetUnitIds | RaidPetUnitIds | NameplateUnitIds | SpectatedTeamAUnitIds | SpectatedTeamAPetUnitIds | SpectatedTeamBUnitIds | SpectatedTeamBPetUnitIds
Loading…
Cancel
Save