diff --git a/modules/gui.lua b/modules/gui.lua index 419f7569..42763bf2 100644 --- a/modules/gui.lua +++ b/modules/gui.lua @@ -949,7 +949,7 @@ pfUI:RegisterModule("gui", function () -- panels pfUI.gui.panel = pfUI.gui:CreateConfigTab("Panel") - local values = { "time", "fps", "exp", "gold", "friends", "guild", "durability", "zone", "combat", "none" } + local values = { "time", "fps", "exp", "gold", "friends", "guild", "durability", "zone", "combat", "ammo", "none" } pfUI.gui:CreateConfig(pfUI.gui.panel, "Left Panel: Left", C.panel.left, "left", "dropdown", values) pfUI.gui:CreateConfig(pfUI.gui.panel, "Left Panel: Center", C.panel.left, "center", "dropdown", values) pfUI.gui:CreateConfig(pfUI.gui.panel, "Left Panel: Right", C.panel.left, "right", "dropdown", values) diff --git a/modules/panel.lua b/modules/panel.lua index c81250d9..de50810f 100644 --- a/modules/panel.lua +++ b/modules/panel.lua @@ -7,6 +7,7 @@ pfUI:RegisterModule("panel", function () pfUI.panel = CreateFrame("Frame",nil,UIParent) pfUI.panel:RegisterEvent("PLAYER_ENTERING_WORLD") pfUI.panel:RegisterEvent("PLAYER_MONEY") + pfUI.panel:RegisterEvent("UNIT_INVENTORY_CHANGED") pfUI.panel:RegisterEvent("PLAYER_XP_UPDATE") pfUI.panel:RegisterEvent("FRIENDLIST_UPDATE") pfUI.panel:RegisterEvent("GUILD_ROSTER_UPDATE") @@ -19,7 +20,7 @@ pfUI:RegisterModule("panel", function () -- list of available panel fields pfUI.panel.options = { "time", "fps", "exp", "gold", "friends", - "guild", "durability", "zone" } + "guild", "durability", "zone", "ammo" } pfUI.panel:SetScript("OnEvent", function() if event == "PLAYER_ENTERING_WORLD" then @@ -30,9 +31,12 @@ pfUI:RegisterModule("panel", function () pfUI.panel:UpdateGuild() pfUI.panel:UpdateRepair() pfUI.panel:UpdateZone() + pfUI.panel:UpdateAmmo() elseif event == "PLAYER_MONEY" then pfUI.panel:UpdateGold() pfUI.panel:UpdateRepair() + elseif event == "UNIT_INVENTORY_CHANGED" then + pfUI.panel:UpdateAmmo() elseif event == "PLAYER_XP_UPDATE" then pfUI.panel:UpdateExp() elseif event == "FRIENDLIST_UPDATE" then @@ -366,6 +370,25 @@ pfUI:RegisterModule("panel", function () pfUI.panel:OutputPanel("zone", GetMinimapZoneText(), tooltip, click) end + function pfUI.panel:UpdateAmmo () + if not GetInventoryItemQuality("player", 0) then + pfUI.panel:OutputPanel("ammo", AMMOSLOT .. ": -") + else + local tooltip = function () + if GetInventoryItemQuality("player", 0) then + local ammo = GetInventoryItemCount("player", 0) + GameTooltip:ClearLines() + GameTooltip_SetDefaultAnchor(GameTooltip, this) + GameTooltip:SetInventoryItem("player", 0) + GameTooltip:AddLine("Count: " .. ammo, .3,1,.8) + GameTooltip:Show() + end + end + + pfUI.panel:OutputPanel("ammo", AMMOSLOT .. ": " .. GetInventoryItemCount("player", 0), tooltip) + end + end + function pfUI.panel:OutputPanel(entry, value, tooltip, func) -- return if not yet fully initialized if not pfUI.panel.minimap then return end