local fm = FarmManager local classes = fm.classes classes.Settings = ZO_Object:Subclass() local LAM2 = LibStub("LibAddonMenu-2.0") function classes.Settings:New(...) local controller = ZO_Object.New(self) controller:Init(...) return controller end function classes.Settings:ShouldInclude(itemLink) local itemType = GetItemLinkItemType(itemLink) local localItemType = self.db.itemFilter[itemType] return localItemType == nil or localItemType.include end function classes.Settings:GetGuildName() return self.guildNameToNumberList[self.db.guild] end function classes.Settings:Init() self.name = fm.name.."Settings" self.defaults = { useMM = true, running = false, useCraftBag = true, itemFilter = { [ITEMTYPE_ADDITIVE] = { include = 1 }, [ITEMTYPE_ARMOR] = { include = 0}, [ITEMTYPE_ARMOR_BOOSTER] = { include = 1}, [ITEMTYPE_ARMOR_TRAIT] = {include = 1}, [ITEMTYPE_AVA_REPAIR] = {include = 1}, [ITEMTYPE_BLACKSMITHING_BOOSTER] = {include = 1}, [ITEMTYPE_BLACKSMITHING_MATERIAL] = {include = 1}, [ITEMTYPE_BLACKSMITHING_RAW_MATERIAL] = {include = 1}, [ITEMTYPE_CLOTHIER_BOOSTER] = {include = 1}, [ITEMTYPE_CLOTHIER_MATERIAL] = {include = 1}, [ITEMTYPE_CLOTHIER_RAW_MATERIAL] = {include = 1}, [ITEMTYPE_COLLECTIBLE] = {include = 1}, [ITEMTYPE_CONTAINER] = {include = 1}, [ITEMTYPE_COSTUME] = {include = 1}, [ITEMTYPE_CROWN_ITEM] = {include = 1}, [ITEMTYPE_CROWN_REPAIR] = {include = 1}, [ITEMTYPE_DISGUISE] = {include = 1}, [ITEMTYPE_DRINK] = {include = 0}, [ITEMTYPE_DYE_STAMP] = {include = 1}, [ITEMTYPE_ENCHANTING_RUNE_ASPECT] = {include = 1}, [ITEMTYPE_ENCHANTING_RUNE_ESSENCE] = {include = 1}, [ITEMTYPE_ENCHANTING_RUNE_POTENCY] = {include = 1}, [ITEMTYPE_ENCHANTMENT_BOOSTER] = {include = 1}, [ITEMTYPE_FISH] = {include = 1}, [ITEMTYPE_FLAVORING] = {include = 1}, [ITEMTYPE_FOOD] = {include=0}, [ITEMTYPE_FURNISHING] = {include=1}, [ITEMTYPE_FURNISHING_MATERIAL] = {include=1}, [ITEMTYPE_GLYPH_ARMOR] = {include=0}, [ITEMTYPE_GLYPH_JEWELRY] = {include=0}, [ITEMTYPE_GLYPH_WEAPON] = {include=0}, [ITEMTYPE_INGREDIENT] = {include=1}, [ITEMTYPE_LOCKPICK] = {inclde=1}, [ITEMTYPE_LURE] = {include=1}, [ITEMTYPE_MASTER_WRIT] = {include=1}, [ITEMTYPE_MOUNT] = {include=1}, [ITEMTYPE_PLUG] = {include=1}, [ITEMTYPE_POISON] = {include=1}, [ITEMTYPE_POISON_BASE] = {include=1}, [ITEMTYPE_POTION] = {include=0}, [ITEMTYPE_POTION_BASE] = {include=1}, [ITEMTYPE_RACIAL_STYLE_MOTIF] = {include=1}, [ITEMTYPE_RAW_MATERIAL] = {include=1}, [ITEMTYPE_REAGENT] = {include=1}, [ITEMTYPE_RECIPE] = {include=1}, [ITEMTYPE_SIEGE] = {include=0}, [ITEMTYPE_SOUL_GEM] = {include=1}, [ITEMTYPE_SPELLCRAFTING_TABLET] = {include=1}, [ITEMTYPE_SPICE] = {include=1}, [ITEMTYPE_STYLE_MATERIAL] = {include=1}, [ITEMTYPE_TABARD] = {include=0}, [ITEMTYPE_TOOL] = {include=0}, [ITEMTYPE_TRASH] = {include=0}, [ITEMTYPE_TREASURE] = {include=0}, [ITEMTYPE_TROPHY] = {include=1}, [ITEMTYPE_WEAPON] = {include=0}, [ITEMTYPE_WEAPON_BOOSTER] = {include=1}, [ITEMTYPE_WEAPON_TRAIT] = {include=1}, [ITEMTYPE_WOODWORKING_BOOSTER] = {include=1}, [ITEMTYPE_WOODWORKING_MATERIAL] = {include=1}, [ITEMTYPE_WOODWORKING_RAW_MATERIAL] = {include=1}, [ITEMTYPE_JEWELRYCRAFTING_RAW_MATERIAL] = {include=1}, [ITEMTYPE_JEWELRYCRAFTING_MATERIAL] = {include=1}, [ITEMTYPE_JEWELRYCRAFTING_BOOSTER] = {include=1}, [ITEMTYPE_JEWELRYCRAFTING_RAW_BOOSTER] = {include=1} } } self.db = ZO_SavedVars:NewAccountWide("FarmManagerSavedVars", fm.variableVersion, nil, self.defaults) local panelData = { type = "panel", name = "Farm Manager", displayName = "Farm Manager", author = "@dirtdart", version = FarmManager.version, registerForRefresh = true, registerForDefaults = true } local menuPanel = LAM2:RegisterAddonPanel(FarmManager.name.."MenuPanel", panelData) local optionsTable = { { type = "checkbox", name = "Use MM", tooltip = "Use Master Merchant (when off, use Arkadius' Trade Tools", getFunc = function() return self.db.useMM end, setFunc = function(value) self.db.useMM = value end, default = self.db.useMM }, { type = "checkbox", name = "Use Craft Bag", tooltip = "Pull items from craft bag (when off use inventory)", getFunc = function() return self.db.useCraftBag end, setFunc = function(value) self.db.useCraftBag = value end, default = self.db.useCraftBag } } LAM2:RegisterOptionControls(FarmManager.name.."MenuPanel", optionsTable) end