You've already forked GnomishVendorShrinker
Move to externals' version of GSC
This commit is contained in:
64
externals/gsc.lua
vendored
Normal file
64
externals/gsc.lua
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
|
||||
local myname, ns = ...
|
||||
|
||||
local G, S, C = "|cffffd700", "|cffc7c7cf", "|cffeda55f"
|
||||
local GOLD, SILVER, COPPER = G.."%s", S.."%s", C.."%s"
|
||||
local SILVER00, COPPER00 = S.."%02d", C.."%02d"
|
||||
|
||||
local GSC = string.join('.', GOLD, SILVER00, COPPER00)
|
||||
local GS = string.join('.', GOLD, SILVER00)
|
||||
local SC = string.join('.', SILVER, COPPER00)
|
||||
|
||||
|
||||
-- Converts an integer into a colored gold.silver.copper string
|
||||
--
|
||||
-- cash - an integer representing a price in copper
|
||||
-- colorblind - force the use of colorblind mode, always printing out
|
||||
-- zero-value silver and copper
|
||||
--
|
||||
-- Returns a colored string
|
||||
function ns.GSC(cash, colorblind)
|
||||
if not cash then return end
|
||||
|
||||
local g, s, c = floor(cash/10000), floor((cash/100)%100), cash%100
|
||||
local g2 = BreakUpLargeNumbers(g)
|
||||
|
||||
if colorblind or GetCVarBool("colorblindMode") then
|
||||
if g > 0 then return string.format(GSC, g2, s, c)
|
||||
elseif s > 0 then return string.format(SC, s, c)
|
||||
else return string.format(COPPER, c) end
|
||||
else
|
||||
if g > 0 and s == 0 and c == 0 then return string.format(GOLD, g2)
|
||||
elseif g > 99999 then return string.format(GOLD, g2)
|
||||
elseif g > 0 and c == 0 then return string.format(GS, g2, s)
|
||||
elseif g > 0 then return string.format(GSC, g2, s, c)
|
||||
elseif s > 0 and c == 0 then return string.format(GS, 0, s)
|
||||
elseif s > 0 then return string.format(SC, s, c)
|
||||
else return string.format(COPPER, c) end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Converts an integer into a colored gold.silver string
|
||||
--
|
||||
-- cash - an integer representing a price in copper
|
||||
--
|
||||
-- Returns a colored string
|
||||
function ns.GS(cash)
|
||||
if not cash then return end
|
||||
|
||||
if cash > 999999 then return ns.GSC(floor(cash/10000)*10000)
|
||||
else return ns.GSC(floor(cash/100)*100) end
|
||||
end
|
||||
|
||||
|
||||
-- Converts an integer into a colored gold string
|
||||
--
|
||||
-- cash - an integer representing a price in copper
|
||||
--
|
||||
-- Returns a colored string
|
||||
function ns.G(cash)
|
||||
if not cash then return end
|
||||
|
||||
return ns.GSC(floor(cash/10000)*10000)
|
||||
end
|
Reference in New Issue
Block a user