Giter Club home page Giter Club logo

gladius's Issues

Keep the repo up2date

Seeing a 3.0.5 release on Curse but the code here still seems stuck on 3.0.4. Makes it hard to contributors to stay in sync :)

Proposing new defaults

I think the current defaults are quite horrible. I'm proposing changing them to something like this:

wowscrnshot_101114_004116

  • They are inspired by the new raid frames, so the users should feel at home
  • Prettier
  • Cleaner

What do you think?

Error with Evokers

18x Gladius/Modules/Racial.lua:348: attempt to index field '?' (a nil value)
[string "@Gladius/Modules/Racial.lua"]:348: in function ?' [string "@Gladius/Gladius.lua"]:68: in function Call'
[string "@Gladius/Gladius.lua"]:777: in function ShowUnit' [string "@Gladius/Gladius.lua"]:507: in function ?'
[string "@Gladius/Gladius.lua"]:51: in function <Gladius/Gladius.lua:43>

Locals:
self =

{
UpdateRacial = defined @Gladius/Modules/Racial.lua:199
messages =
{
}
Enable = defined @Gladius/Gladius.lua:127
AutoFixAll = defined @Gladius/Modules/Racial.lua:128
GetRacialCD = defined @Gladius/Modules/Racial.lua:192
UpdateColors = defined @Gladius/Modules/Racial.lua:241
CreateFrame = defined @Gladius/Modules/Racial.lua:222
enabled = true
UNIT_NAME_UPDATE = defined @Gladius/Modules/Racial.lua:115
eventHandler = Frame {
}
GetOptions = defined @Gladius/Modules/Racial.lua:403
attachTo = true
name = "Racial"
IsEnabled = defined @Gladius/Gladius.lua:143
Disable = defined @Gladius/Gladius.lua:135
RegisterMessage = defined @Gladius/Gladius.lua:147
Update = defined @Gladius/Modules/Racial.lua:245
isBarOption = false
templates =
{
}
SendMessage = defined @Gladius/Gladius.lua:151
UNIT_AURA = defined @Gladius/Modules/Racial.lua:143
OnDisable = defined @Gladius/Modules/Racial.lua:96
GetAttachTo = defined @Gladius/Modules/Racial.lua:103
OptionsLoad = defined @Gladius/Modules/Racial.lua:392
RegisterEvent = defined @Gladius/Gladius.lua:112
IsDetached = defined @Gladius/Modules/Racial.lua:107
UNIT_SPELLCAST_SUCCEEDED = defined @Gladius/Modules/Racial.lua:160
defaults =
{
}
GetFrame = defined @Gladius/Modules/Racial.lua:111
OnEnable = defined @Gladius/Modules/Racial.lua:86
UnregisterAllEvents = defined @Gladius/Gladius.lua:123
Show = defined @Gladius/Modules/Racial.lua:345
Test = defined @Gladius/Modules/Racial.lua:383
frame =
{
}
UnregisterEvent = defined @Gladius/Gladius.lua:119
Reset = defined @Gladius/Modules/Racial.lua:361
}
unit = "arena4"
testing = false
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
Gladius =
{
GetColorOption = defined @Gladius/Options.lua:149
defaults =
{
}
testCount = 0
instanceType = "arena"
OnInitialize = defined @Gladius/Gladius.lua:225
NewModule = defined @Gladius/Gladius.lua:100
EnableModule = defined @Gladius/Gladius.lua:196
modules =
{
}
GetModule = defined @Gladius/Gladius.lua:210
ARENA_PREP_OPPONENT_SPECIALIZATIONS = defined @Gladius/Gladius.lua:523
UpdateColors = defined @Gladius/Gladius.lua:562
CreateButton = defined @Gladius/Gladius.lua:852
anchor = GladiusButtonAnchor {
}
UNIT_NAME_UPDATE = defined @Gladius/Gladius.lua:469
UpdateFrame = defined @Gladius/Gladius.lua:543
OnProfileChanged = defined @Gladius/Gladius.lua:390
eventHandler = Frame {
}
background = GladiusButtonBackground {
}
buttons =
{
}
UNIT_HEALTH = defined @Gladius/Gladius.lua:941
GetUnitFrame = defined @Gladius/Gladius.lua:961
LSM =
{
}
test = false
UnregisterAllEvents = defined @Gladius/Gladius.lua:96
SetTemplate = defined @Gladius/Options.lua:54
DisableModule = de

Utility functions for generating option keys

Just something that caught my eye is that the options are taking up a lot of code lines. Not really a real issue but I think a lot of it could be turned into reusable functions. For instance a generatePositionOptions() function would make a lot of sense.

Question about Drtracker module

Thanks for your great work, Gladius has helped me several years.

Now I'm reading the source code, but I get confused in Drtracker module.
When the GladiusDRTrackerFrameCat[drCat][unit]Icon texture was built, I could not find the definition . just showed in following picture.
d
the print sentence was added by me for debugging. In DRTracker:DRFaded function the Icon texture was built just after CreateFrame, and used in function DRTracker:UpdateIcon.
Sorry, I just can't find your email,so raise the question hear.

What about not Interruptible casts?

What do you think about replicating the blizzard shield icon functionality on casts that can't be interrupted? I mean this: http://puu.sh/a451w/7d54b7d53c.jpg.
I already did something similar with an old version of gladius.. here the screen : http://puu.sh/a0DHI/5a44a2e07a.jpg
But as you can see i only changed the texture with the one i have created, i think i'll add the shield soon.
If you like the idea tell me if you want to see my code so you can adjust it to your gladius.
Cheers

attempt to index field '?' (a nil value) against Dracthyr

1347x Gladius/Modules/Racial.lua:133: attempt to index field '?' (a nil value)
[string "@Gladius/Modules/Racial.lua"]:133: in function `AutoFixAll'
[string "@Gladius/Modules/Racial.lua"]:159: in function `?'
[string "@Gladius/Gladius.lua"]:109: in function <Gladius/Gladius.lua:106>

Locals:
self = <table> {
 UpdateRacial = <function> defined @Gladius/Modules/Racial.lua:197
 messages = <table> {
 }
 Enable = <function> defined @Gladius/Gladius.lua:127
 AutoFixAll = <function> defined @Gladius/Modules/Racial.lua:126
 GetRacialCD = <function> defined @Gladius/Modules/Racial.lua:190
 UpdateColors = <function> defined @Gladius/Modules/Racial.lua:239
 CreateFrame = <function> defined @Gladius/Modules/Racial.lua:220
 enabled = true
 UNIT_NAME_UPDATE = <function> defined @Gladius/Modules/Racial.lua:113
 eventHandler = Frame {
 }
 GetOptions = <function> defined @Gladius/Modules/Racial.lua:401
 attachTo = true
 name = "Racial"
 IsEnabled = <function> defined @Gladius/Gladius.lua:143
 Disable = <function> defined @Gladius/Gladius.lua:135
 RegisterMessage = <function> defined @Gladius/Gladius.lua:147
 Update = <function> defined @Gladius/Modules/Racial.lua:243
 isBarOption = false
 templates = <table> {
 }
 SendMessage = <function> defined @Gladius/Gladius.lua:151
 UNIT_AURA = <function> defined @Gladius/Modules/Racial.lua:141
 OnDisable = <function> defined @Gladius/Modules/Racial.lua:94
 GetAttachTo = <function> defined @Gladius/Modules/Racial.lua:101
 OptionsLoad = <function> defined @Gladius/Modules/Racial.lua:390
 RegisterEvent = <function> defined @Gladius/Gladius.lua:112
 IsDetached = <function> defined @Gladius/Modules/Racial.lua:105
 UNIT_SPELLCAST_SUCCEEDED = <function> defined @Gladius/Modules/Racial.lua:158
 defaults = <table> {
 }
 GetFrame = <function> defined @Gladius/Modules/Racial.lua:109
 OnEnable = <function> defined @Gladius/Modules/Racial.lua:84
 UnregisterAllEvents = <function> defined @Gladius/Gladius.lua:123
 Show = <function> defined @Gladius/Modules/Racial.lua:343
 Test = <function> defined @Gladius/Modules/Racial.lua:381
 frame = <table> {
 }
 UnregisterEvent = <function> defined @Gladius/Gladius.lua:119
 Reset = <function> defined @Gladius/Modules/Racial.lua:359
}
_ = true
instanceType = "arena"
(for index) = 3
(for limit) = 3
(for step) = 1
i = 3
unit = "arena3"
_ = "Dracthyr"
race = "DRACTHYR"
(*temporary) = <function> defined =[C]:-1
(*temporary) = nil
(*temporary) = "DRACTHYR"
(*temporary) = <function> defined =[C]:-1
(*temporary) = GladiusRacialFramearena2Icon {
 0 = <userdata>
}
(*temporary) = 135726
(*temporary) = "attempt to index field '?' (a nil value)"
IsInInstance = <function> defined =[C]:-1
UnitRace = <function> defined =[C]:-1
string = <table> {
 split = <function> defined =[C]:-1
 match = <function> defined =[C]:-1
 gmatch = <function> defined =[C]:-1
 upper = <function> defined =[C]:-1
 gsub = <function> defined =[C]:-1
 format = <function> defined =[C]:-1
 lower = <function> defined =[C]:-1
 sub = <function> defined =[C]:-1
 gfind = <function> defined =[C]:-1
 rep = <function> defined =[C]:-1
 char = <function> defined =[C]:-1
 rtgsub = <function> defined @FrameXML/RestrictedInfrastructure.lua:618
 join = <function> defined =[C]:-1
 reverse = <function> defined =[C]:-1
 byte = <function> defined =[C]:-1
 trim = <function> defined =[C]:-1
 len = <function> defined =[C]:-1
 find = <function> defined =[C]:-1
}
GetSpellInfo = <function> defined =[C]:-1
unitRaceCDs = <table> {
 VOIDELF = <table> {
 }
 DWARF = <table> {
 }
 PANDAREN = <table> {
 }
 MAGHARORC = <table> {
 }
 DARKIRONDWARF = <table> {
 }
 HUMAN = <table> {
 }
 DRAENEI = <table> {
 }
 GNOME = <table> {
 }
 LIGHTFORGEDDRAENEI = <table> {
 }
 ZANDALARITROLL = <table> {
 }
 VULPERA = <table> {
 }
 NIGHTELF = <table> {
 }
 HIGHMOUNTAINTAUREN = <table> {
 }
 KULTIRAN = <table> {
 }
 WORGEN = <table> {
 }
 NIGHTBORNE = <table> {
 }
 SCOURGE = <table> {
 }
 BLO

Class icon auras delayed

There's a bug where sometimes auras aren't displayed until a new UNIT_AURA event is fired. Probably related to aura chaining.

Not working after update

Never mind got mine working.

Would also be nice to impelment an interrupt module to show enemy getting kicked :)

10.2.5 Retail patch breaks some functionality

Gladius is not updating correctly when entering/leaving arena, meaning:

  • Opponents are unknown until they get out of stealth or similar (they are not displayed until they're targetable)

    • If there has been a previous arena match where gladius has displayed players, it will not be reset when entering a new arena.
    • If a target is in stealth when arena has started and previous match has been played, gladius will instead show the old players.
  • Opponents are unknown while in the starting room (showing old history or if there is no history, shows nothing)

  • When leaving arena gladius does not hide, displaying previous opponents (it does hide when relogging)

Gladius not tracking new trinket channeling cast

There is a new pvp trinket called Unchained Gladiator's Shackles, currently gladius can't track when it's channeled. See the picture below, the shaman is channeling the shackles but gladius doesn't register. Note: the the trinket has a 1s cast time which gladius can track.
gladius problem

Bug: change the function Auras:GetAuraList()

Hi there, i can't add [GetSpellInfo(31117)] = 8, -- Unstable Affliction silence debuff
in the Auras.lua file, because if i do this i end up in game with the classIcon of the enemy arena unit always covered up by the Unstable Affliction Icon of the Dot and not of the Silence debuff you get when you dispell UA.
This is happening because you are using Names and not Ids for the auras so in the Classicon.lua File this IF:
if (Gladius.db.aurasFrameAuras[name] and Gladius.db.aurasFrameAuras[name] >= self.frame[unit].priority) then

is actually true even for the Dot part of the Unstable Affliction because it has the same name as the silence debuff you get by dispelling it (31117), but i don't wan't to show the Dot just the silence debuff named "Unstable Affliction".

I guess there can be more of this type of bugs if you handle the auras with Names rather than Ids

Castbar Error

10x Gladius/Modules/CastBar.lua:449: attempt to index field '?' (a nil value)
[string "@Gladius/Modules/CastBar.lua"]:449: in function ?' [string "@Gladius/Gladius.lua"]:68: in function Call'
[string "@Gladius/Gladius.lua"]:833: in function ResetUnit' [string "@Gladius/Gladius.lua"]:569: in function HideFrame'
[string "@Gladius/Gladius.lua"]:454: in function LeftArena' [string "@Gladius/Gladius.lua"]:405: in function ?'
[string "@Gladius/Gladius.lua"]:51: in function <Gladius/Gladius.lua:43>

Locals:
self =

{
defaults =
{
}
messages =
{
}
Enable = defined @Gladius/Gladius.lua:127
UnregisterAllEvents = defined @Gladius/Gladius.lua:123
CastEnd = defined @Gladius/Modules/CastBar.lua:242
UNIT_SPELLCAST_INTERRUPTIBLE = defined @Gladius/Modules/CastBar.lua:140
UpdateColors = defined @Gladius/Modules/CastBar.lua:293
enabled = true
UNIT_SPELLCAST_NOT_INTERRUPTIBLE = defined @Gladius/Modules/CastBar.lua:154
eventHandler = Frame {
}
GetOptions = defined @Gladius/Modules/CastBar.lua:505
attachTo = true
name = "CastBar"
IsEnabled = defined @Gladius/Gladius.lua:143
Disable = defined @Gladius/Gladius.lua:135
RegisterMessage = defined @Gladius/Gladius.lua:147
Update = defined @Gladius/Modules/CastBar.lua:325
UNIT_SPELLCAST_DELAYED = defined @Gladius/Modules/CastBar.lua:209
isBarOption = true
UNIT_SPELLCAST_STOP = defined @Gladius/Modules/CastBar.lua:202
GetAttachTo = defined @Gladius/Modules/CastBar.lua:87
OnDisable = defined @Gladius/Modules/CastBar.lua:80
isBar = true
CreateBar = defined @Gladius/Modules/CastBar.lua:253
GetFrame = defined @Gladius/Modules/CastBar.lua:95
RegisterEvent = defined @Gladius/Gladius.lua:112
IsDetached = defined @Gladius/Modules/CastBar.lua:91
Show = defined @Gladius/Modules/CastBar.lua:442
UNIT_SPELLCAST_START = defined @Gladius/Modules/CastBar.lua:107
UNIT_SPELLCAST_CHANNEL_START = defined @Gladius/Modules/CastBar.lua:168
OnEnable = defined @Gladius/Modules/CastBar.lua:54
GetIndicatorHeight = defined @Gladius/Modules/CastBar.lua:103
SendMessage = defined @Gladius/Gladius.lua:151
Test = defined @Gladius/Modules/CastBar.lua:462
frame =
{
}
UnregisterEvent = defined @Gladius/Gladius.lua:119
Reset = defined @Gladius/Modules/CastBar.lua:447
}
unit = "arena5"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"

unit not defined

lately this error seems to popup quite frequently ... maybe you can fix :-)
ty

6x Gladius/Modules/Racial.lua:346: attempt to index field '?' (a nil value)
[string "@Gladius/Modules/Racial.lua"]:346: in function `?'
[string "@Gladius/Gladius.lua"]:68: in function `Call'
[string "@Gladius/Gladius.lua"]:777: in function `ShowUnit'
[string "@Gladius/Gladius.lua"]:507: in function `?'
[string "@Gladius/Gladius.lua"]:51: in function <Gladius/Gladius.lua:43>

Locals:
self = <table> {
 UpdateRacial = <function> defined @Gladius/Modules/Racial.lua:197
 messages = <table> {
 }
 Enable = <function> defined @Gladius/Gladius.lua:127
 AutoFixAll = <function> defined @Gladius/Modules/Racial.lua:126
 GetRacialCD = <function> defined @Gladius/Modules/Racial.lua:190
 UpdateColors = <function> defined @Gladius/Modules/Racial.lua:239
 CreateFrame = <function> defined @Gladius/Modules/Racial.lua:220
 enabled = true
 UNIT_NAME_UPDATE = <function> defined @Gladius/Modules/Racial.lua:113
 eventHandler = Frame {
 }
 GetOptions = <function> defined @Gladius/Modules/Racial.lua:401
 attachTo = true
 name = "Racial"
 IsEnabled = <function> defined @Gladius/Gladius.lua:143
 Disable = <function> defined @Gladius/Gladius.lua:135
 RegisterMessage = <function> defined @Gladius/Gladius.lua:147
 Update = <function> defined @Gladius/Modules/Racial.lua:243
 isBarOption = false
 templates = <table> {
 }
 SendMessage = <function> defined @Gladius/Gladius.lua:151
 UNIT_AURA = <function> defined @Gladius/Modules/Racial.lua:141
 OnDisable = <function> defined @Gladius/Modules/Racial.lua:94
 GetAttachTo = <function> defined @Gladius/Modules/Racial.lua:101
 OptionsLoad = <function> defined @Gladius/Modules/Racial.lua:390
 RegisterEvent = <function> defined @Gladius/Gladius.lua:112
 IsDetached = <function> defined @Gladius/Modules/Racial.lua:105
 UNIT_SPELLCAST_SUCCEEDED = <function> defined @Gladius/Modules/Racial.lua:158
 defaults = <table> {
 }
 GetFrame = <function> defined @Gladius/Modules/Racial.lua:109
 OnEnable = <function> defined @Gladius/Modules/Racial.lua:84
 UnregisterAllEvents = <function> defined @Gladius/Gladius.lua:123
 Show = <function> defined @Gladius/Modules/Racial.lua:343
 Test = <function> defined @Gladius/Modules/Racial.lua:381
 frame = <table> {
 }
 UnregisterEvent = <function> defined @Gladius/Gladius.lua:119
 Reset = <function> defined @Gladius/Modules/Racial.lua:359
}
unit = "arena4"
testing = false
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
Gladius = <table> {
 GetColorOption = <function> defined @Gladius/Options.lua:149
 defaults = <table> {
 }
 testCount = 0
 instanceType = "arena"
 OnInitialize = <function> defined @Gladius/Gladius.lua:225
 NewModule = <function> defined @Gladius/Gladius.lua:100
 EnableModule = <function> defined @Gladius/Gladius.lua:196
 modules = <table> {
 }
 GetModule = <function> defined @Gladius/Gladius.lua:210
 ARENA_PREP_OPPONENT_SPECIALIZATIONS = <function> defined @Gladius/Gladius.lua:523
 UpdateColors = <function> defined @Gladius/Gladius.lua:562
 CreateButton = <function> defined @Gladius/Gladius.lua:852
 anchor = GladiusButtonAnchor {
 }
 UNIT_NAME_UPDATE = <function> defined @Gladius/Gladius.lua:469
 UpdateFrame = <function> defined @Gladius/Gladius.lua:543
 OnProfileChanged = <function> defined @Gladius/Gladius.lua:390
 eventHandler = Frame {
 }
 background = GladiusButtonBackground {
 }
 buttons = <table> {
 }
 UNIT_HEALTH = <function> defined @Gladius/Gladius.lua:941
 GetUnitFrame = <function> defined @Gladius/Gladius.lua:961
 LSM = <table> {
 }
 test = false
 UnregisterAllEvents = <function> defined @Gladius/Gladius.lua:96
 SetTemplate = <function> defined @Gladius/Options.lua:54
 DisableModule = <function> de

Normalize option names and descriptions

There are many identical options in the different modules. Every module doesn't need a unique name/description. For instance, the options "Power Bar Attach To" and "HealthBar Attach To" could just as well both be called "Attach To". Same goes for the descriptions.

This would make it easier for translators (less unique strings to translate) and would clean up the options UI somewhat.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.