Skip to content

Commit

Permalink
Merge pull request #5 from speedwaystar/master
Browse files Browse the repository at this point in the history
new: /gt bank open/show/hide/close/closed (toggle whether to deposit …
  • Loading branch information
raptormama authored Oct 6, 2024
2 parents 5dd70e9 + e7f6317 commit c70d45d
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 15 deletions.
81 changes: 68 additions & 13 deletions Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ end

-- Get a string for the current version of the addon.
function E:GetVerString()
CURRENT_REVISION = 129
CURRENT_REVISION = 130
local v, rev = (C_AddOns.GetAddOnMetadata(addonName, "VERSION") or "???"), CURRENT_REVISION

--[===[@debug@
Expand Down Expand Up @@ -79,6 +79,7 @@ local SettingsDefaults = {
SkinElvUI = true,
LDBDisplayTotal = false,
PrettyLDB = false,
DepositOnBankHide = false,
}

-- Get the coin string for the databroker icon, because it needs to be shorter.
Expand Down Expand Up @@ -166,7 +167,7 @@ function E:Init()
if not GuildTithe_SavedDB or GuildTithe_SavedDB.SettingsVer < SettingsDefaults.SettingsVer then
GuildTithe_SavedDB = SettingsDefaults
end

-- Load the frames
GT_MiniTitheFrame:EnableMouse(not GuildTithe_SavedDB.MiniFrameLocked)
if GuildTithe_SavedDB.MiniFrameShown then
Expand All @@ -177,6 +178,10 @@ function E:Init()
if (GuildTithe_SavedDB.PrettyLDB == nil or GuildTithe_SavedDB.PrettyLDB == '') then
GuildTithe_SavedDB.PrettyLDB = false
end

if GuildTithe_SavedDB.DepositOnBankHide == nil then
GuildTithe_SavedDB.DepositOnBankHide = false
end
end

function E:ResetWindowSettings()
Expand Down Expand Up @@ -315,6 +320,7 @@ end


-- Handles depositing the tithe
-- NB: deposit by mail won't work when mailbox replacement addons are active e.g. Tradeskillmaster
function E:DepositTithe(clicked, isMail)
self:PrintDebug("DepositTithe(".. self:debugArgs(clicked, isMail) .. ") -- ACTUAL DEPOSIT IS DISABLED IN DEBUG MODE")
if not clicked and not GuildTithe_SavedDB.AutoDeposit then
Expand All @@ -338,7 +344,7 @@ function E:DepositTithe(clicked, isMail)
local tithe = GuildTithe_SavedDB.CurrentTithe
local bank = GetGuildBankMoney()

if bank + tithe > GOLD_CAP then
if not isMail and (bank + tithe > GOLD_CAP) then
tithe = GOLD_CAP - bank
end

Expand All @@ -348,7 +354,7 @@ function E:DepositTithe(clicked, isMail)
return
end

-- Deposit the money, then reset CurrentTithe and update TotalTithe
-- Deposit the money, then adjust CurrentTithe and update TotalTithe
if not E._DebugMode then
if isMail then
-- postal fix
Expand All @@ -359,13 +365,19 @@ function E:DepositTithe(clicked, isMail)
SendMailMoneySilver:SetText(silverAmount)
SendMailMoneyCopper:SetText(copperAmount)
else
DepositGuildBankMoney(tithe)
end
-- begin temporary test spam

print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Tithe before deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GuildTithe_SavedDB.CurrentTithe))))
print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Guild bank before deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GetGuildBankMoney()))))
print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Own balance before deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GetMoney()))))
DepositGuildBankMoney(tithe)
-- end temporary test spam
end
end

if GuildTithe_SavedDB.Spammy or E._DebugMode then
if tithe ~= GuildTithe_SavedDB.CurrentTithe then
self:PrintMessage(format(L.ChatDepositToGoldCap, C_CurrencyInfo.GetCoinTextureString(tithe), C_CurrencyInfo.GetCoinTextureString(GuildTithe_SavedDB.CurrentTithe)))
self:PrintMessage(format(L.ChatDepositToGoldCap, C_CurrencyInfo.GetCoinTextureString(tithe), C_CurrencyInfo.GetCoinTextureString(GuildTithe_SavedDB.CurrentTithe)), false, E._DebugMode)
else
self:PrintMessage(format(L.ChatDepositTitheAmount, C_CurrencyInfo.GetCoinTextureString(tithe), false, E._DebugMode))
end
Expand All @@ -374,6 +386,11 @@ function E:DepositTithe(clicked, isMail)
if not E._DebugMode then
GuildTithe_SavedDB.TotalTithe = GuildTithe_SavedDB.TotalTithe + tithe
GuildTithe_SavedDB.CurrentTithe = GuildTithe_SavedDB.CurrentTithe - tithe
-- begin temporary test spam
print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Tithe after deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GuildTithe_SavedDB.CurrentTithe))))
print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Guild bank after deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GetGuildBankMoney()))))
print(LIGHTGRAY_FONT_COLOR:WrapTextInColorCode(format("Own balance after deposit: %s.",C_CurrencyInfo.GetCoinTextureString(GetMoney()))))
-- end temporary test spam

if not GuildTithe_SavedDB.LDBDisplayTotal or not E.ShowTotalTimer then
GuildTithe_SavedDB.LDBDisplayTotal = true
Expand All @@ -382,7 +399,7 @@ function E:DepositTithe(clicked, isMail)
end
end

local numHelpLines = 12
local numHelpLines = 15
-- Print Help
function E:PrintHelpMessages()
for i = 1, numHelpLines do
Expand All @@ -392,6 +409,10 @@ function E:PrintHelpMessages()
self:PrintMessage(L["ChatHelpLine" .. i])
end
end
self:PrintMessage("=== Status ===")
self:PrintMessage(format(L.ChatCommandToggleDebug, tostring(E._DebugMode)), false, E._DebugMode )
self:PrintMessage(format(L.ChatCommandToggleChat, tostring(GuildTithe_SavedDB.Spammy)))
self:PrintMessage(format(L.ChatCommandDepositOnBankHide ,tostring(GuildTithe_SavedDB.DepositOnBankHide)))
end

-- Handles slash commands
Expand All @@ -400,7 +421,13 @@ function E:OnChatCommand(msg)

-- toggle debug mode without opening the config window
if cmd == "debug" then
E._DebugMode = not E._DebugMode
if args == "on" or args == "true" then
E._DebugMode = true
elseif args == "off" or args == "false" then
E._DebugMode = false
else
E._DebugMode = not E._DebugMode
end
self:PrintMessage(format(L.ChatCommandToggleDebug, tostring(E._DebugMode)), false, E._DebugMode )
return
end
Expand Down Expand Up @@ -434,9 +461,9 @@ function E:OnChatCommand(msg)

-- Toggle pretty LDB display (requires more room on LDB bar than existing basic default)
elseif cmd == "prettyldb" then
if args == "on" then
if args == "on" or args == "true" then
GuildTithe_SavedDB.PrettyLDB = true
elseif args == "off" then
elseif args == "off" or args == "false" then
GuildTithe_SavedDB.PrettyLDB = false
else -- No args clause, toggle.
GuildTithe_SavedDB.PrettyLDB = not(GuildTithe_SavedDB.PrettyLDB)
Expand Down Expand Up @@ -491,6 +518,28 @@ function E:OnChatCommand(msg)
self:PrintMessage(format(L.ChatOutstandingTithe, C_CurrencyInfo.GetCoinTextureString(GuildTithe_SavedDB.CurrentTithe)))
end

-- taggle chat output
elseif cmd == "chat" then
if args == "on" or args == "true" then
GuildTithe_SavedDB.Spammy = true
elseif args == "off" or args == "false" then
GuildTithe_SavedDB.Spammy = false
else -- No args clause, toggle.
GuildTithe_SavedDB.Spammy = not GuildTithe_SavedDB.Spammy
end
self:PrintMessage(format(L.ChatCommandToggleChat, tostring(GuildTithe_SavedDB.Spammy)))

-- deposit on bank window open or close (potential fix for server lag)
elseif cmd == "bankhide" then
if args == "on" or args == "true" then
GuildTithe_SavedDB.DepositOnBankHide = true
elseif args == "off" or args == "false" then
GuildTithe_SavedDB.DepositOnBankHide = false
else
GuildTithe_SavedDB.DepositOnBankHide = not GuildTithe_SavedDB.DepositOnBankHide
end
self:PrintMessage(format(L.ChatCommandDepositOnBankHide, tostring(GuildTithe_SavedDB.DepositOnBankHide)))

-- This is where we're going to actually print the help info... Later though.
else
self:PrintMessage(format(L.ChatCommandNotFound, msg), true)
Expand Down Expand Up @@ -594,9 +643,15 @@ function E.EventHandler(self, event, ...)
E.Loaded = true
end

-- GUILDBANKFRAME_OPENED: The GB was closed, deposit the outstanding tithe.
-- GUILDBANKFRAME_OPENED: The GB was opened, deposit the outstanding tithe.
elseif event == "PLAYER_INTERACTION_MANAGER_FRAME_SHOW" and tonumber(arg1) == Enum.PlayerInteractionType.GuildBanker then
if not GuildTithe_SavedDB.DepositOnBankHide then
E:DepositTithe()
end
elseif event == "PLAYER_INTERACTION_MANAGER_FRAME_HIDE" and tonumber(arg1) == Enum.PlayerInteractionType.GuildBanker then
E:DepositTithe()
if GuildTithe_SavedDB.DepositOnBankHide then
E:DepositTithe()
end
-- Mail_*: Update outstanding tithe from Mail sources
elseif event == "PLAYER_INTERACTION_MANAGER_FRAME_SHOW" and tonumber(arg1) == Enum.PlayerInteractionType.MailInfo then
return E:UpdateOutstandingTithe("Mail")
Expand Down
3 changes: 2 additions & 1 deletion GuildTitheFrameScripts.lua
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@ end

function E.FrameScript_MiniTitheFrameOnClick(self, button)
E:PrintDebug("MiniFrame OnClick()")
if C_AddOns.IsAddOnLoaded("Blizzard_GuildBankUI") and GuildBankFrame:IsVisible() then
if (C_AddOns.IsAddOnLoaded("Blizzard_GuildBankUI") and GuildBankFrame:IsVisible()) or
(C_AddOns.IsAddOnLoaded("Arkinventory") and ARKINV_Frame4TitleArkBorder:IsVisible()) then
E:DepositTithe(1)
elseif SendMailFrame:IsVisible() then
E:DepositTithe(1,1)
Expand Down
7 changes: 6 additions & 1 deletion Locale/enUS.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,19 @@ L["ChatHelpLine8"] = "reset config -- Reset this character's config."
L["ChatHelpLine9"] = "current/tithe -- Show your current outstanding tithe."
L["ChatHelpLine10"] = "mini -- Toggle the Mini-frame."
L["ChatHelpLine11"] = "mini lock -- Lock or unlock the Mini-frame."
L["ChatHelpLine12"] = "debug -- Toggle debug mode on and off."
L["ChatHelpLine12"] = "debug (on/true/off/false) -- Toggle debug mode on and off."
L["ChatHelpLine13"] = "chat (on/true/off/false) -- Toggle chat output on and off."
L["ChatHelpLine14"] = "prettyldb (on/true/off/false) -- Toggle LDB text vs graphical display."
L["ChatHelpLine15"] = "bankhide (on/true/off/false) -- Deposit tithe on bank window hide (default false)"

L["ChatMiniFrameLock"] = "Mini-Frame locked."

L["ChatCommandSetNegative"] = "Tithe cannot be negative."
L["ChatCommandSetOverCap"] = "Tithe cannot exceed gold cap."
L["ChatCommandSetSyntax"] = "Syntax: /gt set <amount in copper>."
L["ChatCommandToggleDebug"] = "Debug mode §c%s§r."
L["ChatCommandToggleChat"] = "Chat mode §c%s§r."
L["ChatCommandDepositOnBankHide"] = "Deposit on bank window frame hide §c%s§r."

L["ChatMiniFrameUnlock"] = "Mini-frame unlocked."
L["ChatNotEnoughFunds"] = "You don't have enough money to do that!"
Expand Down

0 comments on commit c70d45d

Please sign in to comment.