initial commit
This commit is contained in:
57
Core/Service/Operations/Sniper.lua
Normal file
57
Core/Service/Operations/Sniper.lua
Normal file
@@ -0,0 +1,57 @@
|
||||
-- ------------------------------------------------------------------------------ --
|
||||
-- TradeSkillMaster --
|
||||
-- https://tradeskillmaster.com --
|
||||
-- All Rights Reserved - Detailed license information included with addon. --
|
||||
-- ------------------------------------------------------------------------------ --
|
||||
|
||||
local _, TSM = ...
|
||||
local Sniper = TSM.Operations:NewPackage("Sniper")
|
||||
local private = {}
|
||||
local L = TSM.Include("Locale").GetTable()
|
||||
local CustomPrice = TSM.Include("Service.CustomPrice")
|
||||
local OPERATION_INFO = {
|
||||
belowPrice = { type = "string", default = "max(vendorsell, ifgt(DBRegionMarketAvg, 250000g, 0.8, ifgt(DBRegionMarketAvg, 100000g, 0.7, ifgt(DBRegionMarketAvg, 50000g, 0.6, ifgt(DBRegionMarketAvg, 25000g, 0.5, ifgt(DBRegionMarketAvg, 10000g, 0.4, ifgt(DBRegionMarketAvg, 5000g, 0.3, ifgt(DBRegionMarketAvg, 2000g, 0.2, ifgt(DBRegionMarketAvg, 1000g, 0.1, 0.05)))))))) * DBRegionMarketAvg)" },
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- ============================================================================
|
||||
-- Module Functions
|
||||
-- ============================================================================
|
||||
|
||||
function Sniper.OnInitialize()
|
||||
TSM.Operations.Register("Sniper", L["Sniper"], OPERATION_INFO, 1, private.GetOperationInfo)
|
||||
end
|
||||
|
||||
function Sniper.IsOperationValid(itemString)
|
||||
local _, operationSettings = TSM.Operations.GetFirstOperationByItem("Sniper", itemString)
|
||||
if not operationSettings then
|
||||
return false
|
||||
end
|
||||
local isValid = CustomPrice.Validate(operationSettings.belowPrice)
|
||||
return isValid
|
||||
end
|
||||
|
||||
function Sniper.HasOperation(itemString)
|
||||
itemString = TSM.Groups.TranslateItemString(itemString)
|
||||
return TSM.Operations.GetFirstOperationByItem("Sniper", itemString) and true or false
|
||||
end
|
||||
|
||||
function Sniper.GetBelowPrice(itemString)
|
||||
itemString = TSM.Groups.TranslateItemString(itemString)
|
||||
local operationName, operationSettings = TSM.Operations.GetFirstOperationByItem("Sniper", itemString)
|
||||
if not operationName then
|
||||
return
|
||||
end
|
||||
return CustomPrice.GetValue(operationSettings.belowPrice, itemString)
|
||||
end
|
||||
|
||||
|
||||
|
||||
-- ============================================================================
|
||||
-- Private Helper Functions
|
||||
-- ============================================================================
|
||||
|
||||
function private.GetOperationInfo(operationSettings)
|
||||
return L["Sniping items below a max price"]
|
||||
end
|
||||
Reference in New Issue
Block a user