From 7dcb9e7e68651c5b1f4219d91ba7f8aafd75deb8 Mon Sep 17 00:00:00 2001 From: Lexie <6937574+Lexiebean@users.noreply.github.com> Date: Mon, 6 Jun 2022 19:30:54 +1000 Subject: [PATCH 1/8] Add files via upload --- FB_OutfitDisplayFrame/Bindings.xml | 8 + .../FB_OutfitDisplayFrame.toc | 11 + FB_OutfitDisplayFrame/FishingOutfitFrame.lua | 294 +++ FB_OutfitDisplayFrame/FishingOutfitFrame.xml | 123 ++ FB_OutfitDisplayFrame/localization.de.lua | 30 + FB_OutfitDisplayFrame/localization.es.lua | 23 + FB_OutfitDisplayFrame/localization.fr.lua | 15 + FB_OutfitDisplayFrame/localization.lua | 30 + FB_Titan/FB_Titan.toc | 6 + FB_Titan/FishingBuddyTitan.lua | 58 + FB_Titan/FishingBuddyTitan.xml | 27 + FB_TrackingFrame/Bindings.xml | 8 + FB_TrackingFrame/FB_TrackingFrame.toc | 12 + FB_TrackingFrame/FishingTrackingFrame.lua | 463 +++++ FB_TrackingFrame/FishingTrackingFrame.xml | 162 ++ FB_TrackingFrame/GraphHandler.lua | 251 +++ FB_TrackingFrame/GraphHandler.xml | 211 ++ FB_TrackingFrame/localization.de.lua | 35 + FB_TrackingFrame/localization.es.lua | 12 + FB_TrackingFrame/localization.fr.lua | 15 + FB_TrackingFrame/localization.lua | 47 + FishingBuddy/Bindings.xml | 37 + FishingBuddy/FishingBuddy.lua | 1792 +++++++++++++++++ FishingBuddy/FishingBuddy.toc | 27 + FishingBuddy/FishingBuddy.xml | 24 + FishingBuddy/FishingBuddyFrame.lua | 205 ++ FishingBuddy/FishingBuddyFrame.xml | 280 +++ FishingBuddy/FishingBuddyMinimap.lua | 141 ++ FishingBuddy/FishingBuddyMinimap.xml | 92 + FishingBuddy/FishingDebugging.lua | 95 + FishingBuddy/FishingExtravaganza.lua | 530 +++++ FishingBuddy/FishingExtravaganza.xml | 119 ++ FishingBuddy/FishingInit.lua | 755 +++++++ FishingBuddy/FishingLocationsFrame.lua | 655 ++++++ FishingBuddy/FishingLocationsFrame.xml | 590 ++++++ FishingBuddy/FishingOptionsFrame.lua | 254 +++ FishingBuddy/FishingOptionsFrame.xml | 368 ++++ FishingBuddy/FishingOutfitManager.lua | 203 ++ FishingBuddy/FishingOutfitManager.xml | 11 + FishingBuddy/FishingOutfitter.lua | 141 ++ FishingBuddy/FishingSchools.lua | 170 ++ FishingBuddy/FishingSetup.lua | 136 ++ FishingBuddy/FishingWatcher.lua | 406 ++++ FishingBuddy/FishingWatcher.xml | 258 +++ FishingBuddy/Icons/Fishing-Icon.tga | Bin 0 -> 12332 bytes FishingBuddy/Icons/MiniMapArrow.blp | Bin 0 -> 2553 bytes FishingBuddy/Icons/MiniMapArrow0.tga | Bin 0 -> 750 bytes FishingBuddy/Icons/MiniMapArrow10.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow100.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow110.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow120.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow130.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow140.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow150.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow160.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow170.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow180.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow190.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow20.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow200.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow210.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow220.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow230.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow240.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow250.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow260.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow270.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow280.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow290.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow30.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow300.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow310.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow320.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow330.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow340.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow350.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow40.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow50.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow60.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow70.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow80.tga | Bin 0 -> 1068 bytes FishingBuddy/Icons/MiniMapArrow90.tga | Bin 0 -> 1068 bytes FishingBuddy/changes.txt | 267 +++ FishingBuddy/future.txt | 41 + FishingBuddy/localization.de.lua | 198 ++ FishingBuddy/localization.es.lua | 121 ++ FishingBuddy/localization.fr.lua | 128 ++ FishingBuddy/localization.lua | 232 +++ FishingBuddy/readme.txt | 64 + OutfitDisplayFrame/OutfitDisplayFrame.lua | 1286 ++++++++++++ OutfitDisplayFrame/OutfitDisplayFrame.toc | 8 + OutfitDisplayFrame/OutfitDisplayFrame.xml | 541 +++++ OutfitDisplayFrame/changes.txt | 55 + OutfitDisplayFrame/localization.lua | 40 + OutfitDisplayFrame/readme.txt | 14 + 95 files changed, 12125 insertions(+) create mode 100644 FB_OutfitDisplayFrame/Bindings.xml create mode 100644 FB_OutfitDisplayFrame/FB_OutfitDisplayFrame.toc create mode 100644 FB_OutfitDisplayFrame/FishingOutfitFrame.lua create mode 100644 FB_OutfitDisplayFrame/FishingOutfitFrame.xml create mode 100644 FB_OutfitDisplayFrame/localization.de.lua create mode 100644 FB_OutfitDisplayFrame/localization.es.lua create mode 100644 FB_OutfitDisplayFrame/localization.fr.lua create mode 100644 FB_OutfitDisplayFrame/localization.lua create mode 100644 FB_Titan/FB_Titan.toc create mode 100644 FB_Titan/FishingBuddyTitan.lua create mode 100644 FB_Titan/FishingBuddyTitan.xml create mode 100644 FB_TrackingFrame/Bindings.xml create mode 100644 FB_TrackingFrame/FB_TrackingFrame.toc create mode 100644 FB_TrackingFrame/FishingTrackingFrame.lua create mode 100644 FB_TrackingFrame/FishingTrackingFrame.xml create mode 100644 FB_TrackingFrame/GraphHandler.lua create mode 100644 FB_TrackingFrame/GraphHandler.xml create mode 100644 FB_TrackingFrame/localization.de.lua create mode 100644 FB_TrackingFrame/localization.es.lua create mode 100644 FB_TrackingFrame/localization.fr.lua create mode 100644 FB_TrackingFrame/localization.lua create mode 100644 FishingBuddy/Bindings.xml create mode 100644 FishingBuddy/FishingBuddy.lua create mode 100644 FishingBuddy/FishingBuddy.toc create mode 100644 FishingBuddy/FishingBuddy.xml create mode 100644 FishingBuddy/FishingBuddyFrame.lua create mode 100644 FishingBuddy/FishingBuddyFrame.xml create mode 100644 FishingBuddy/FishingBuddyMinimap.lua create mode 100644 FishingBuddy/FishingBuddyMinimap.xml create mode 100644 FishingBuddy/FishingDebugging.lua create mode 100644 FishingBuddy/FishingExtravaganza.lua create mode 100644 FishingBuddy/FishingExtravaganza.xml create mode 100644 FishingBuddy/FishingInit.lua create mode 100644 FishingBuddy/FishingLocationsFrame.lua create mode 100644 FishingBuddy/FishingLocationsFrame.xml create mode 100644 FishingBuddy/FishingOptionsFrame.lua create mode 100644 FishingBuddy/FishingOptionsFrame.xml create mode 100644 FishingBuddy/FishingOutfitManager.lua create mode 100644 FishingBuddy/FishingOutfitManager.xml create mode 100644 FishingBuddy/FishingOutfitter.lua create mode 100644 FishingBuddy/FishingSchools.lua create mode 100644 FishingBuddy/FishingSetup.lua create mode 100644 FishingBuddy/FishingWatcher.lua create mode 100644 FishingBuddy/FishingWatcher.xml create mode 100644 FishingBuddy/Icons/Fishing-Icon.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow.blp create mode 100644 FishingBuddy/Icons/MiniMapArrow0.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow10.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow100.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow110.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow120.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow130.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow140.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow150.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow160.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow170.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow180.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow190.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow20.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow200.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow210.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow220.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow230.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow240.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow250.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow260.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow270.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow280.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow290.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow30.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow300.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow310.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow320.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow330.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow340.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow350.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow40.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow50.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow60.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow70.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow80.tga create mode 100644 FishingBuddy/Icons/MiniMapArrow90.tga create mode 100644 FishingBuddy/changes.txt create mode 100644 FishingBuddy/future.txt create mode 100644 FishingBuddy/localization.de.lua create mode 100644 FishingBuddy/localization.es.lua create mode 100644 FishingBuddy/localization.fr.lua create mode 100644 FishingBuddy/localization.lua create mode 100644 FishingBuddy/readme.txt create mode 100644 OutfitDisplayFrame/OutfitDisplayFrame.lua create mode 100644 OutfitDisplayFrame/OutfitDisplayFrame.toc create mode 100644 OutfitDisplayFrame/OutfitDisplayFrame.xml create mode 100644 OutfitDisplayFrame/changes.txt create mode 100644 OutfitDisplayFrame/localization.lua create mode 100644 OutfitDisplayFrame/readme.txt diff --git a/FB_OutfitDisplayFrame/Bindings.xml b/FB_OutfitDisplayFrame/Bindings.xml new file mode 100644 index 0000000..2f542bb --- /dev/null +++ b/FB_OutfitDisplayFrame/Bindings.xml @@ -0,0 +1,8 @@ + + + + if ( keystate == "down" ) then + ToggleFishingBuddyFrame("FishingOutfitFrame"); + end + + \ No newline at end of file diff --git a/FB_OutfitDisplayFrame/FB_OutfitDisplayFrame.toc b/FB_OutfitDisplayFrame/FB_OutfitDisplayFrame.toc new file mode 100644 index 0000000..4c62757 --- /dev/null +++ b/FB_OutfitDisplayFrame/FB_OutfitDisplayFrame.toc @@ -0,0 +1,11 @@ +## Interface: 11200 +## Title: Fishing Buddy - Outfit Frame +## Version: 0.8.9 Beta 10 +## Author: Sutorix=AT=hotmail.com +## RequiredDeps: OutfitDisplayFrame, FishingBuddy +## SavedVariablesPerCharacter: FBODF_PlayerInfo +localization.lua +localization.de.lua +localization.es.lua +localization.fr.lua +FishingOutfitFrame.xml diff --git a/FB_OutfitDisplayFrame/FishingOutfitFrame.lua b/FB_OutfitDisplayFrame/FishingOutfitFrame.lua new file mode 100644 index 0000000..78b1ceb --- /dev/null +++ b/FB_OutfitDisplayFrame/FishingOutfitFrame.lua @@ -0,0 +1,294 @@ +-- Wrap OutfitDisplayFrame with our "improvements" +FB_OutfitFrame = {}; +FB_ODFConstants = {}; + +local DEFAULTUPDATE_WAIT = 0.1; + +local function StylePoints(outfit) + local isp = FishingBuddy.OutfitManager.ItemStylePoints; + local points = 0; + if ( outfit )then + for slot in pairs(outfit) do + if ( outfit[slot].item ) then + local _,_,check, enchant = string.find(outfit[slot].item, + "^(%d+):(%d+)"); + points = points + isp(check, enchant); + end + end + end + return points; +end + +local match; +local function ItemBonusPoints(item) + local points = 0; + if ( item and item ~= "" ) then + if ( not match ) then + match = FishingBuddy.GetFishingSkillName().." %+(%d+)"; + end + FishingOutfitTooltip:SetHyperlink("item:"..item); + local bodyslot = FishingOutfitTooltipTextLeft2:GetText(); + local textline = 2; + while (bodyslot) do + local _,_,bonus = string.find(bodyslot, match); + if bonus then + points = points + bonus; + end + textline = textline + 1; + bodyslot = getglobal("FishingOutfitTooltipTextLeft"..textline):GetText(); + end + -- See if the Eternium Fishing Line has been applied + local _,_,check, enchant = string.find(item, "^(%d+):(%d+)"); + if ( enchant == "2603" ) then + points = points + 5; + end + end + return points; +end + +local function BonusPoints(outfit) + local points = 0; + if ( outfit )then + for slot in pairs(outfit) do + points = points + ItemBonusPoints(outfit[slot].item); + end + end + return points; +end + +local function UpdateSwitchButton(outfit) + local msg = OutfitDisplayFrame_SwitchWillFail(FishingOutfitFrame, outfit); + if ( outfit and not msg ) then + FishingOutfitSwitchButton:Enable(); + else + FishingOutfitSwitchButton:Disable(); + end +end + +-- outfit support functions +local function GetWasWearing() + if FBODF_PlayerInfo["WasWearing"] then + return FBODF_PlayerInfo["WasWearing"]; + end +end + +local function SetWasWearing(outfit) + FBODF_PlayerInfo["WasWearing"] = outfit; +end + +local function GetOutfit() + return FBODF_PlayerInfo["Outfit"]; +end + +local saved_outfit; +local function SetOutfit(outfit) + saved_outfit = outfit; + FBODF_PlayerInfo["Outfit"] = outfit; +end + +local function StyleString(long, points) + if ( points == 1 ) then + pstring = FBConstants.POINT; + else + pstring = FBConstants.POINTS; + end + if ( long ) then + return FB_ODFConstants.STYLEPOINTS..points.." "..pstring; + else + return FB_ODFConstants.CONFIG_STYLISH_TEXT..points.." "..pstring; + end +end + +local function UpdateStyleInfo(outfit) + local points = BonusPoints(outfit); + if ( points >= 0 ) then + points = "+"..points; + else + points = 0 - points; + points = "-"..points; + end + FishingOutfitSkill:SetText(FB_ODFConstants.CONFIG_SKILL_TEXT..points); + points = StylePoints(outfit); + FishingOutfitStyle:SetText(StyleString(false, points)); +end + +local function ODF_Initialize() + OutfitDisplayFrame_SetOutfit(FishingOutfitFrame, saved_outfit); +end + +-- the user has chosen us, make sure everything is set up the way we need +local function ODF_Choose(useme) + if ( useme ) then + FishingBuddy.EnableSubFrame("FishingOutfitFrame"); + else + FishingBuddy.DisableSubFrame("FishingOutfitFrame"); + end +end +FB_OutfitFrame.Choose = ODF_Choose; + +-- only have one outfit at the moment +-- don't switch if +-- we can't find everything in the outfit +-- we have saved stuff but we're not wearing everything in the outfit +-- We don't have the outfit display frame! +local function ODF_Switch() + if (CursorHasItem()) then + FishingBuddy.UIError(FB_ODFConstants.CURSORBUSYMSG); + return false; + end + if ( OutfitDisplayFrame_IsSwapping() ) then + FishingBuddy.UIError(OUTFITDISPLAYFRAME_TOOFASTMSG); + return false; + end + + local isfishing = FishingBuddy.API.IsFishingPole(); + local outfit = GetOutfit(); + local waswearing = GetWasWearing(); + if ( waswearing ) then + local msg; + + if ( isfishing ) then + msg = OutfitDisplayFrame_SwitchWillFail(FishingOutfitFrame, waswearing); + else + msg = FB_ODFConstants.CANTSWITCHBACK; + SetWasWearing(nil); + end + + if ( msg ) then + FishingBuddy.UIError(msg); + return false; + end + local check = OutfitDisplayFrame_SwitchOutfit(waswearing); + if ( check ) then + SetWasWearing(nil); + end + return true; -- look for pole + elseif ( outfit ) then + local msg; + if ( not isfishing ) then + msg = OutfitDisplayFrame_SwitchWillFail(FishingOutfitFrame, outfit); + else + msg = FB_ODFConstants.POLEALREADYEQUIPPED; + end + if ( msg ) then + FishingBuddy.UIError(msg); + return false; + end + local waswearing = OutfitDisplayFrame_SwitchOutfit(outfit); + if ( waswearing ) then + SetWasWearing(waswearing); + end + return false; -- look for no pole + else + FishingBuddy.UIError(FB_ODFConstants.NOOUTFITDEFINED); + end +end + +local updateWait = DEFAULTUPDATE_WAIT; +FB_OutfitFrame.Update = function(elapsed) + updateWait = updateWait - elapsed; + if ( updateWait <= 0 ) then + UpdateSwitchButton(saved_outfit); + UpdateStyleInfo(saved_outfit); + FishingOutfitUpdate:Hide(); + end +end + +local function CustomTooltip(button) + if ( button and button.item ) then + local _,_,check, enchant = string.find(button.item, "^(%d+):(%d+)"); + local points = FishingBuddy.OutfitManager.ItemStylePoints(check, enchant); + if ( points > 0 ) then + GameTooltip:AddLine(StyleString(true, points)); + end + end +end + +local function OutfitChanged(button) + local outfit = OutfitDisplayFrame_GetOutfit(FishingOutfitFrame); + if ( outfit ) then + SetOutfit(outfit); + end + updateWait = DEFAULTUPDATE_WAIT; + FishingOutfitUpdate:Show(); + FishingOutfitFrame.valid = true; +end + +FB_OutfitFrame.OnShow = function() + if ( not this.valid ) then + saved_outfit = GetOutfit(); + end + OutfitDisplayFrame_SetOutfit(FishingOutfitFrame, saved_outfit); + UpdateSwitchButton(saved_outfit); + if ( not this.valid ) then + OutfitChanged(); + end +end + +FB_OutfitFrame.OnLoad = function() + -- Handle the override + OutfitDisplayFrame_OnLoad(); + FishingOutfitSkill.tooltip = FB_ODFConstants.CONFIG_SKILL_INFO; + FishingOutfitStyle.tooltip = FB_ODFConstants.CONFIG_STYLISH_INFO; + FishingOutfitSwitchButton:SetText(FB_ODFConstants.SWITCHOUTFIT); + FishingOutfitSwitchButton.tooltip = FB_ODFConstants.SWITCHOUTFIT_INFO; + FishingOutfitFrame.OutfitChanged = OutfitChanged; + FishingOutfitFrame.CustomTooltip = CustomTooltip; + FishingBuddy.OutfitManager.RegisterManager("OutfitDisplayFrame", + ODF_Initialize, + ODF_Choose, + ODF_Switch); + this:RegisterEvent("VARIABLES_LOADED"); +end + +FB_OutfitFrame.OnEvent = function() + if ( event == "VARIABLES_LOADED" ) then + FishingBuddy.ManageFrame(this, + FB_ODFConstants.OUTFITS_TAB, + FB_ODFConstants.OUTFITS_INFO, + "_OUT"); + this:UnregisterEvent("VARIABLES_LOADED"); + end +end + +FB_OutfitFrame.OnHide = function() + -- OutfitChanged(); +end + +FB_OutfitFrame.Button_OnClick = function() + -- make sure we have the current state + SetOutfit(OutfitDisplayFrame_GetOutfit(FishingOutfitFrame)); + ODF_Switch(); +end + +-- outfit debugging functions +FishingBuddy.Commands["outfit"] = {}; +FishingBuddy.Commands["outfit"].func = + function(what) + if ( what and OutfitDisplayFrame_OnLoad ) then + if ( what == FBConstants.RESET ) then + SetWasWearing(nil); + elseif ( what == "dump" ) then + FishingBuddy.Debug("Outfit"); + FishingBuddy.Dump(GetOutfit()); + FishingBuddy.Debug("Was Wearing"); + FishingBuddy.Dump(GetWasWearing()); + end + end + return true; + end; + +-- set up +FishingBuddy.Setup.Translate("FB_OutfitDisplayFrame", FB_ODFTranslations, FB_ODFConstants); +if ( not FBODF_PlayerInfo ) then + FBODF_PlayerInfo = {}; + FBODF_PlayerInfo["Outfit"] = {}; +end +if ( FishingBuddy_Player and FishingBuddy_Player["Outfit"] ) then + for k,v in pairs(FishingBuddy_Player["Outfit"]) do + FBODF_PlayerInfo["Outfit"][k] = v; + end + FishingBuddy_Player["Outfit"] = nil; +end +-- free up the space +FB_ODFTranslations = nil; diff --git a/FB_OutfitDisplayFrame/FishingOutfitFrame.xml b/FB_OutfitDisplayFrame/FishingOutfitFrame.xml new file mode 100644 index 0000000..3efbd9b --- /dev/null +++ b/FB_OutfitDisplayFrame/FishingOutfitFrame.xml @@ -0,0 +1,123 @@ + +