Addon is customized with lua config file
You can place your configuration changes into AptechkaUserConfig/userconfig.lua to avoid overwriting them when updating. Reference config - Aptechka/config.lua.
There's still some basic options available ingame from /apt console command. like positioning.
How can i change manabar width, indicator placement etc etc?
See the custom skin part at the end of this FAQ.
How to switch skins?
change config.skin = "GridSkin" to config.skin = "MechanizeV"
How to make it hidden when i'm not in a group?
config.showSolo = false
What is UserConfig?
It's a separate addon that contains your personal settings.
Values from UserConfig replace default settings. That way you can safely update core module without losing your changes.
Or you can have 2 UserConfig modules.
It is also possible to add new skins as plugins, and switch between them depending on character class.
Lua knowledge is required?
Probably not, copy-pasting and changing values should be enough for most things.
But editor with Lua syntax highlighting will help you (SublimeText, SciTE, Notepad++). If you want to make your own skin you better be familiar with wow widget api.
What is priority?
When two or more actions assigned to the same spot are active, the one with higher priority is displayed.
Weakened soul is a good example. You won't see WS until PWS is still active.
What is "heal trace"?
That's when you want to know who exactly was healed by your Circle of Healing, Chain Heal, etc in the form of blinking indicator.
How to add new zones and spells for debuff loader?
Instances are identified by map id (assuming they have their own map).
To find out current zone map id type: /dump GetCurrentMapAreaID()
Map IDs are tied to instance name and instance name is tied to function that is pushing boss spells into your current spell set. More info inside userconfig file
What's that combat filtering option for?
Disabled until better days. In 4.2 all autorefreshing spells (SWP-MF, Corruption-Haunt, Lifebloom, Renew-Chakra, etc) stopped generating SPELL_AURA_REFRESH event for combat log. So basically this feature is ruined until Blizzard fix this.
useCombatLogFiltering provides a huge perfomance boost over default behavior, which would be to listen only to UNIT_AURA event.
UNIT_AURA doesn't tell what exactly changed and every time addon had to scan current buffs/debuffs,
In raid combat unit_aura sometimes fired up to 8 times per second for each member with all the stacking trinkets and procs.
useCombatLogFiltering option moves this process mainly to combat log, where we can see what spell was updated.
Only if it's in our spell set it will update buff data for this unit.
The drawback is that it only works in combat log range, but it's big enough, and there's a fallback on throttled unit_aura (every 5s) for out of range units.
On lich king there was an issue, and maybe it's still present, that necrotic plague removal event didn't appear in combat log
and that caused glitches with boss debuff indicator. But that's a rare blizzard side bug.
Dispel idicators still work from unit_aura, so you'll see plague regardless as disease if you can dispel it.
What is Aptechka?
First Aid Kit
How to change skin layout from config?
So to customize frame elements, you'll have to create a custom skin, inherit default skin stuff and then add to/change it. Easy... Default skin source is in frame.lua file
config.skin = "GridCustom"
config.useAnchors = "GridSkin" -- use parent skin anchors
config.GridCustom = function(self)
config.GridSkin(self) -- inheriting
-- how to create new icon
local icon2 = config.GridSkin_CreateIcon(self,24,24,0.4,"TOPLEFT",self,"TOPLEFT",0,0) -- w/h = 24, alpha = 0.4
self.icon2 = icon2
-- how to move existing indicators
self.spell2:ClearAllPoints() -- clear previous position
self.spell2:SetPoint("CENTER",self,"CENTER",0,0) -- set to center
-- same way to move text
-- how to delete existsing indicators
self.raidbuff = nil
-- how to create new indicator
local newind = config.GridSkin_CreateIndicator(self,6,6,"TOPLEFT",self,"TOPLEFT",0,0) -- w/h = 6
self.spell4 = newind
-- change healthbar texture
--how to change mana bar width
--how to change indicator size
- Absorb bar
- Corner type indicator
- new resizing system. you now can resize and switch anchors based on spec/role and raid members count.
By default frames are scaled down for healers after 27 members, and for non healers after 11 members.
- fixed debuff loader map ids (still no debuffs for mop raids tho)
- bugfixes and config tweaks since mop release
- Small fixes
- LibCLHealth, but it's disabled by default
- GetNumRaidMembers => GetNumGroupMembers
- temporary fix for UnitInRange function.
- ROSTER_UPDATE bugfix
- Paladin and Shaman config seem to be fine
- TOC updated to 50000
- UnitInRange function seems to be broken, enabled IsSpellInRange check for healing classes.
- Monk config
- Dragon Soul raid debuffs, TOC Update
- Manabar frame changes. Now using texture drawing layers
- Crappy LoS status, it can flash only once every 10 or so seconds, because of spam protection on "Out of sight" error messages, config.LOSStatus = nil to disable
- New indicator type for default skin: bar1, by default renew and rejuv assigned to it.
- ZA,ZG,Firelands boss spells, Grim Batol vehicles are maybe fixed, spellsets autoloading (by default tank cooldowns and common healing reduction spells)
- config.useCombatLogFiltering turned off because of combat log bug
- Update for WoW 4.2 combat log changes
- Update for WoW 4.1 combat log changes
- Removed LibQuickHealth, it wasn't updated since Burning Crusade.
- Replaced it with similar native feature ( config.useCombatLogHealthUpdates )
- Autoscale for pets, tho they're still on separate anchor so it won't be pretty
- Death status update when leaving vehicle
- Changed clique integration to group headers variant.
- Custom bindings bugfix
- Secure scaling and config.scale var
- Mouse bindings for frames moved to initial config func
- Pet group. ( /apt createpets command and config.petgroup option )
- Another vehicle bug.
- Another vehicle bug.
- Bastion of Twilight spells added
- changes to fix taint, width and height for skin now should be preloaded via <SkinName>Settings function. (See upgrading instructions on description tab)
- bugfix for vehicles, probably not the last one
- various small fixes
- I forgot git rep inside prev version archive
- icon now stands above health text
- anchors fixed
- Shaman's earth shield and trace heals fixed, added Light of dawn traceheal
- boss debuffs for TotFW, Blackwing Descent
- lockedOnStartup restored and renamed to "unlocked"
- vehicle health/power updates restored
- useGroupAnchors option. resize will not work with group anchors enabled
- groupGrowth restored
- text3 is font string object now, like text1 and text2.
- New group anchors, unique for every skin. group growth options removed. /inj unlockall command, config.useAnchors options to use anchors from another skin
- Stupid getfrom field was removed, and replaced with almost just as stupid alternatives. But anyway, previous version was horrible. = Now you can customize health format
- disableManaBar option restored
- GridSkin_CreateTextTimer function
- Horizontal child skin.
2.0 RC4: CreateIndicator and CreateIcon functions now accessible from config.
Info about custom skins and loadable debuffs added to user config comments
2.0 RC3: "raidX in not in your party" spam fixed. GetPartyAssignment function was causing it... and so, now that it's removed MainTankStatus only works for LFD tanks
2.0 RC2: removed long raid buffs, and power type changing functions restored
2.0: A lot
0.9.7: Moved to animation groups, UserConfig addon, skin settings moved to frame.lua, renamed to Aptechka
0.8.1.7: MT indicator for lfg tanks, target indicator(disabled by default), foreigncolor option.
0.8.1.6: pulse option for spells, simple animation for activating indicator.
0.8.1.5: incoming heals text bug fixed, libhealcomm updated to 1.6.3, nothing new
0.8.1.4: Lich King spells added
Readycheck fixed, paste updated readycheck indicator into your config from default one.
type parameter on trace now actually means something. and for example "HEAL" means that when SPELL_HEAL is fired for given (yours) spell name it's trigger indicator. PERIODIC_HEAL for ticks, AURA_APPLIED for initial application. More: http://www.wowwiki.com/API_COMBAT_LOG_EVENT_UNFILTERED
0.8.1.3: nothing new, small bugfixes
0.8.1.2: offline status, loadables.lua improved, /inj load, Essence of the Blood Queen added, petanchor bug