PitBull Unit Frames 4.0
PitBull Unit Frames 4.0
Woof. Arf. Yip.
Getting Started:
You can help translate PitBull for your language with the localization tool.
Classic
PitBull works with WoW Classic! Classic Era/Vanilla is supported in
v4.3.x-vanilla releases. Other Classic versions are supported in v4.2.x releases
(the same releases retail use).
Download
CurseForge: https://www.curseforge.com/wow/addons/pitbull-unit-frames-4-0
Wago: https://addons.wago.io/addons/pitbull4
WoWInterface: https://www.wowinterface.com/downloads/info20021
-
View User Profile
-
Send Message
Posted Aug 15, 2016PitBull author(s) - why on earth are your unit frames overlapping everything? i've had this problem for over a year now and no update fixes it. It is INCREDIBLY annoying so please can you tell me and others who may have this issue how to fix it. Thanks.
-
View User Profile
-
Send Message
Posted Aug 17, 2016Which things overlap which in WoW are controlled by "strata" settings. I did see that in the PB4 config, but you may have to do that for each unit type if there's no global settings (not sure).
-
View User Profile
-
Send Message
Posted Aug 19, 2016Each layout has a strata tab in the general tab of the layout editor and has for a long time. If you stick your strata as "dialog", "high" or even sometimes "medium" it will do this. Go into each of your layouts and check your strata. Pitbull is one of the few that has this control at pretty much each frame level
-
View User Profile
-
Send Message
Posted Aug 12, 2016I'm having a problem with my vehicle power bar. It isn't depleting the bar. The energy bar stays full the entire time. I've set the empty opacity down. But only the numbers are depleting(IE: 50/50 to 45/50 on Flame Leviathan). And for Gunship, it is completely full the entire time, instead of filling up.
-
View User Profile
-
Send Message
Posted Aug 10, 2016Noone else have problems with debuffs??
-
View User Profile
-
Send Message
Posted Aug 12, 2016Sure am...
-
View User Profile
-
Send Message
Posted Aug 2, 2016Sorry to bother again, just slowly digging out my alts, since arcane charges for mage are now a resource and not buffs, can you add a way to display those?
-
View User Profile
-
Send Message
Posted Aug 2, 2016I'm having an issue where sometimes the 'target' frame will now show up.
I have to target myself and then target someone else to get it to appear. This makes it tougher to keep track of health and such. Is this a known problem or is there a way to maybe fix this? Could this be an issue because I also use IceHuD for some information?
-
View User Profile
-
Send Message
Posted Aug 1, 2016Just a little request, if you got the time can you add an option to make the background color class colored?
-
View User Profile
-
Send Message
Posted Jul 30, 2016Is there any way to add the Stagger amount to a bar? I can't seem to find it anywhere. It's conspicuously missing, despite being exposed on the Blizzard player frame now.
-
View User Profile
-
Send Message
Posted Aug 18, 2016There's a dedicated stagger plugin for Pitbull, just search for it in the curse UI.
-
View User Profile
-
Send Message
Posted Jul 28, 2016no more aura debuffs?
-
View User Profile
-
Send Message
Posted Jul 27, 2016Thank you for fixing the DK runes (if you got the time can you make it so it shows the spec specific runes instead of death runes? ie frost runes for frost etc)
Also for some reason the totem bar is showing on my druid
-
View User Profile
-
Send Message
Posted Jul 27, 2016There is only one kind of rune now.
-
View User Profile
-
Send Message
Posted Jul 28, 2016I thought they still had the spec colors tho, I was wrong. Any way to change the color then? The constant pink gets a bit annoying.
-
View User Profile
-
Send Message
Posted Jul 27, 2016great addon!^^ big thanks ! :)
add "[81749] = true, -- Atonement"
\Interface\Addons\PitBull4_Aura\Filter.lua
-- PRIEST
friend_buffs.PRIEST = {
[121557] = true, -- Angelic Feather
[152118] = true, -- Clarity of Will
[47753] = not legion_700 or nil, -- Divine Aegis
[64843] = true, -- Divine Hymn
[77489] = true, -- Echo of Light
[157146] = not legion_700 or nil, -- Enhanced Leap of Faith
[6346] = not legion_700 or nil, -- Fear Ward
[47788] = true, -- Guardian Spirit
[1706] = true, -- Levitate
[7001] = not legion_700 or nil, -- Lightwell Renew
[49868] = not legion_700 or nil, -- Mind Quickening
[81782] = true, -- Power Word: Barrier
[21562] = not legion_700 or nil, -- Power Word: Fortitude
[17] = true, -- Power Word: Shield
[123258] = true, -- Power Word: Shield (Divine Insight)
[21562] = not legion_700 or nil, -- Prayer of Fortitude
[33206] = true, -- Pain Suppression
[41635] = true, -- Prayer of Mending
[123262] = not legion_700 or nil, -- Prayer of Mending (Divine Insight)
[139] = true, -- Renew
[81749] = true, -- Atonement
}
-
View User Profile
-
Send Message
Posted Jul 27, 2016Is there a way to offset combo points, chi and holy power from the point ?
If not is it possible to add one ?
Thanks
-
View User Profile
-
Send Message
Posted Jul 26, 2016For some reason the icons for debuffs on the target frame are just blank/black with the timer in the middle.
EDIT: appears to be a conflict with masque
-
View User Profile
-
Send Message
Posted Jul 25, 2016On my Warlock, only 4 Soul Shard icons are displayed, instead of the correct 5.
Everything else seems to be functioning correctly.
-
View User Profile
-
Send Message
Posted Jul 25, 2016Actually, just fixed this myself. Here's the code for SoulShards.lua
if select(5, GetAddOnInfo("PitBull4_" .. (debugstack():match("[o%.][d%.][u%.]les\\(.-)\\") or ""))) ~= "MISSING" then return end if select(2, UnitClass("player")) ~= "WARLOCK" then return end local PitBull4 = _G.PitBull4 if not PitBull4 then error("PitBull4_SoulShards requires PitBull4") end -- CONSTANTS ---------------------------------------------------------------- local STANDARD_SIZE = 15 local BORDER_SIZE = 3 local SPACING = 3 local HALF_STANDARD_SIZE = STANDARD_SIZE / 2 local CONTAINER_HEIGHT = STANDARD_SIZE + BORDER_SIZE * 2 ----------------------------------------------------------------------------- local L = PitBull4.L local PitBull4_SoulShards = PitBull4:NewModule("SoulShards", "AceEvent-3.0") PitBull4_SoulShards:SetModuleType("indicator") PitBull4_SoulShards:SetName(L["Soul shards"]) PitBull4_SoulShards:SetDescription(L["Show Warlock Soul shards."]) PitBull4_SoulShards:SetDefaults({ attach_to = "root", location = "out_top", position = 1, vertical = false, click_through = false, size = 1.5, background_color = { 0, 0, 0, 0.5 } }) function PitBull4_SoulShards:OnEnable() self:RegisterEvent("UNIT_POWER_FREQUENT") self:RegisterEvent("UNIT_DISPLAYPOWER") self:RegisterEvent("PLAYER_ENTERING_WORLD") end local function update_player(self) for frame in PitBull4:IterateFramesForUnitID("player") do self:Update(frame) end end function PitBull4_SoulShards:UNIT_POWER_FREQUENT(event, unit, power_type) if unit ~= "player" or power_type ~= "SOUL_SHARDS" then return end update_player(self) end function PitBull4_SoulShards:UNIT_DISPLAYPOWER(event, unit) if unit ~= "player" then return end update_player(self) end function PitBull4_SoulShards:PLAYER_ENTERING_WORLD(event) update_player(self) end function PitBull4_SoulShards:ClearFrame(frame) local container = frame.SoulShards if not container then return false end for i = 1, 5 do container[i] = container[i]:Delete() end container.bg = container.bg:Delete() frame.SoulShards = container:Delete() return true end local function update_container_size(container, vertical, max_shards) local width = STANDARD_SIZE * max_shards + BORDER_SIZE * 2 + SPACING * (max_shards - 1) if not vertical then container:SetWidth(width) container:SetHeight(CONTAINER_HEIGHT) container.height = 1 else container:SetWidth(CONTAINER_HEIGHT) container:SetHeight(width) container.height = width / CONTAINER_HEIGHT end container.max_shards = max_shards end function PitBull4_SoulShards:UpdateFrame(frame) if frame.unit ~= "player" then return self:ClearFrame(frame) end local db = self:GetLayoutDB(frame) local vertical = db.vertical local container = frame.SoulShards if not container then container = PitBull4.Controls.MakeFrame(frame) frame.SoulShards = container container:SetFrameLevel(frame:GetFrameLevel() + 13) for i = 1, 5 do local soul_shard = PitBull4.Controls.MakeSoulShard(container, i) container[i] = soul_shard soul_shard:UpdateTexture() soul_shard:ClearAllPoints() soul_shard:EnableMouse(not db.click_through) if not vertical then soul_shard:SetPoint("CENTER", container, "LEFT", BORDER_SIZE + (i - 1) * (SPACING + STANDARD_SIZE) + HALF_STANDARD_SIZE, 0) else soul_shard:SetPoint("CENTER", container, "BOTTOM", 0, BORDER_SIZE + (i - 1) * (SPACING + STANDARD_SIZE) + HALF_STANDARD_SIZE) end end update_container_size(container, vertical, 5) local bg = PitBull4.Controls.MakeTexture(container, "BACKGROUND") container.bg = bg bg:SetColorTexture(unpack(db.background_color)) bg:SetAllPoints(container) end local num_soul_shards = UnitPower("player", SPELL_POWER_SOUL_SHARDS) local max_shards = UnitPowerMax("player", SPELL_POWER_SOUL_SHARDS) if max_shards ~= container.max_shards then update_container_size(container, vertical, max_shards) end for i = 1, 5 do local soul_shard = container[i] if i > max_shards then soul_shard:Hide() elseif i <= num_soul_shards then soul_shard:Show() soul_shard:Activate() else soul_shard:Show() soul_shard:Deactivate() end end container:Show() return true end PitBull4_SoulShards:SetLayoutOptionsFunction(function(self) return 'vertical', { type = 'toggle', name = L["Vertical"], desc = L["Show the icons stacked vertically instead of horizontally."], get = function(info) return PitBull4.Options.GetLayoutDB(self).vertical end, set = function(info, value) PitBull4.Options.GetLayoutDB(self).vertical = value for frame in PitBull4:IterateFramesForUnitID("player") do self:Clear(frame) self:Update(frame) end end, order = 100, }, 'click_through', { type = 'toggle', name = L["Click-through"], desc = L["Disable capturing clicks on icons, allowing the click to fall through to the window underneath the icon."], get = function(info) return PitBull4.Options.GetLayoutDB(self).click_through end, set = function(info, value) PitBull4.Options.GetLayoutDB(self).click_through = value for frame in PitBull4:IterateFramesForUnitID("player") do self:Clear(frame) self:Update(frame) end end, order = 101, }, 'background_color', { type = 'color', hasAlpha = true, name = L["Background color"], desc = L["The background color behind the icons."], get = function(info) return unpack(PitBull4.Options.GetLayoutDB(self).background_color) end, set = function(info, r, g, b, a) local color = PitBull4.Options.GetLayoutDB(self).background_color color[1], color[2], color[3], color[4] = r, g, b, a for frame in PitBull4:IterateFramesForUnitID("player") do self:Clear(frame) self:Update(frame) end end, order = 103, } end)