17,101
edits
(getExpansionIcon: Implemented ItA expansion icon) |
(Currency handling & icon override changes for v1.3) |
||
Line 34: | Line 34: | ||
["Slayer Coins"] = "svg", | ["Slayer Coins"] = "svg", | ||
["Raid Coins"] = "svg", | ["Raid Coins"] = "svg", | ||
["Abyssal Pieces"] = "svg", | |||
["Abyssal Slayer Coins"] = "svg", | |||
["TotH"] = "svg", | ["TotH"] = "svg", | ||
["Shop"] = "svg", | ["Shop"] = "svg", | ||
Line 211: | Line 213: | ||
["Ritual Site"] = "png", | ["Ritual Site"] = "png", | ||
["Shipwreck Cove"] = "png", | ["Shipwreck Cove"] = "png", | ||
-- Slayer areas | |||
["Blighted Reach"] = "png", | |||
["Crimson Forest"] = "png", | |||
["Echo Mire"] = "png", | |||
["Eldritch Chasm"] = "png", | |||
["Fractured Spires"] = "png", | |||
["Paranoia Pit"] = "png", | |||
["Petrified Lair"] = "png", | |||
["Tangled Grove"] = "png", | |||
["Tendril Hollow"] = "png", | |||
["Toxic Wastes"] = "png", | |||
["Void Enclave"] = "png", | |||
["Void Nexus"] = "png", | |||
["Whispering Sea"] = "png", | |||
["Withering Catacombs"] = "png" | |||
} | } | ||
} | } | ||
Line 217: | Line 234: | ||
local typeExtOverrides = { | local typeExtOverrides = { | ||
-- Example: ["item"] = { ["Chicken"] = "png" } | -- Example: ["item"] = { ["Chicken"] = "png" } | ||
["building"] = { | |||
["Abyssal Combat Lab"] = "png", | |||
["Abyssal Enhancer"] = "png", | |||
["Abyssal Gateway"] = "png", | |||
["Abyssal Harvester I"] = "png", | |||
["Abyssal Harvester II"] = "png", | |||
["Abyssal Harvester III"] = "png", | |||
["Abyssal Research Lab"] = "png", | |||
["Arcane Altar"] = "png", | |||
["Armourer I"] = "png", | |||
["Armourer II"] = "png", | |||
["Armourer III"] = "png", | |||
["Armourer IV"] = "png", | |||
["Bonfire"] = "png", | |||
["Divine Sanctuary"] = "png", | |||
["Empowered Altar"] = "png", | |||
["Enchanted Tower"] = "png", | |||
["Ethereal Altar"] = "png", | |||
["Ethereal Sanctuary"] = "png", | |||
["Fire Pit"] = "png", | |||
["Obsidian Blaster"] = "png", | |||
["Obsidian Mines"] = "png", | |||
["Obsidian Quarry"] = "png", | |||
["Obsidian Walls"] = "png", | |||
["Reinforced Carpenter I"] = "png", | |||
["Reinforced Carpenter II"] = "png", | |||
["Reinforced Carpenter III"] = "png", | |||
["Runestone Combiner"] = "png", | |||
["Runestone Crafter"] = "png", | |||
["Runestone Merger"] = "png", | |||
["Sanctuary"] = "png", | |||
["Slayer Research Lab"] = "png", | |||
["Stone Walls"] = "png", | |||
["Void Sanctuary"] = "png", | |||
["Voidfire Beacon"] = "png", | |||
["Weaponsmith I"] = "png", | |||
["Weaponsmith II"] = "png", | |||
["Weaponsmith III"] = "png", | |||
["Weaponsmith IV"] = "png", | |||
["Wooden Walls"] = "png" | |||
}, | |||
["combatArea"] = { | |||
-- Combat areas | |||
["Abyssal Farmlands"] = "png", | |||
["Blighted Marsh"] = "png", | |||
["Dark Descent"] = "png", | |||
["Dreaded Crossing"] = "png", | |||
["Eldritch Domain"] = "png", | |||
["Fractured Plains"] = "png", | |||
["Lightless Cave"] = "png", | |||
["Murmuring Forest"] = "png", | |||
["Smoggy Plain"] = "png", | |||
["Void Conflux"] = "png", | |||
["Whisperwind Cove"] = "png", | |||
["Withering Bastion"] = "png", | |||
}, | |||
["dungeon"] = { | |||
["Into the Abyss"] = "png", | |||
["The Abyssal Approach"] = "png" | |||
}, | |||
["item"] = { | ["item"] = { | ||
-- These familiars also exist as type mark, where the image is of PNG format | -- These familiars also exist as type mark, where the image is of PNG format | ||
Line 268: | Line 345: | ||
["Lava Golem"] = "svg", | ["Lava Golem"] = "svg", | ||
["Puppet Master"] = "svg" | ["Puppet Master"] = "svg" | ||
}, | |||
["prayer"] = { | |||
-- ItA prayers | |||
["Annihilation"] = "png", | |||
["Brutality"] = "png", | |||
["Cruelty"] = "png", | |||
["Deadshot"] = "png", | |||
["Devastation"] = "png", | |||
["Dispersion"] = "png", | |||
["Dissipation"] = "png", | |||
["Drain"] = "png", | |||
["Elusion"] = "png", | |||
["Endure"] = "png", | |||
["Evisceration"] = "png", | |||
["Ferocity"] = "png", | |||
["Focused"] = "png", | |||
["Instability"] = "png", | |||
["Magic Shroud"] = "png", | |||
["Melee Shroud"] = "png", | |||
["Menace"] = "png", | |||
["Meticulous"] = "png", | |||
["Obliteration"] = "png", | |||
["Opress"] = "png", | |||
["Piercer"] = "png", | |||
["Ranged Shroud"] = "png", | |||
["Ravage"] = "png", | |||
["Renewal"] = "png", | |||
["Savagery"] = "png", | |||
["Siphon"] = "png", | |||
["Terrorize"] = "png", | |||
["Tyranny"] = "png", | |||
["Unrelenting"] = "png", | |||
["Vanish"] = "png", | |||
["Volatility"] = "png" | |||
}, | |||
["resource"] = { | |||
-- Abyssal Township resources | |||
["Obsidian"] = "png", | |||
["Runestone"] = "png", | |||
["Voidfire Ash"] = "png", | |||
["Armour & Weaponry"] = "png", | |||
["Abyssal Stone"] = "png", | |||
["Abyssal Pieces"] = "png" | |||
}, | }, | ||
["rock"] = { | ["rock"] = { | ||
Line 276: | Line 396: | ||
["Cerulean"] = "png", | ["Cerulean"] = "png", | ||
["Crystal"] = "png", | ["Crystal"] = "png", | ||
["Pure Crystal"] = "png" | ["Pure Crystal"] = "png", | ||
["Abycite"] = "png", | |||
["Abyssal Essence"] = "png", | |||
["Abyssium Ore"] = "png", | |||
["Azurian Outcrop"] = "png", | |||
["Brumite Ore"] = "png", | |||
["Echocite"] = "png", | |||
["Eventide Ore"] = "png", | |||
["Gloomite Ore"] = "png", | |||
["Moonstone"] = "png", | |||
["Mysticite"] = "png", | |||
["Netherite Ore"] = "png", | |||
["Nightopal"] = "png", | |||
["Obsidian Outcrop"] = "png", | |||
["Shadowpearl"] = "png", | |||
["Stellarite"] = "png", | |||
["Voidheart"] = "png", | |||
["Witherite Ore"] = "png" | |||
}, | |||
["skill"] = { | |||
["Corruption"] = "png", | |||
["Harvesting"] = "png" | |||
}, | |||
["spell"] = { | |||
-- Abyssal spells | |||
["Abyssal Blast"] = "png", | |||
["Abyssal Eruption"] = "png", | |||
["Abyssal Surge"] = "png", | |||
["Abyssal Wave"] = "png", | |||
["Black Hole"] = "png", | |||
["Brume Blast"] = "png", | |||
["Brume Eruption"] = "png", | |||
["Brume Surge"] = "png", | |||
["Brume Wave"] = "png", | |||
["Consuming Grasp"] = "png", | |||
["Gloom Blast"] = "png", | |||
["Gloom Eruption"] = "png", | |||
["Gloom Surge"] = "png", | |||
["Gloom Wave"] = "png", | |||
["Infinite Void"] = "png", | |||
["Madness"] = "png", | |||
["Nether Blast"] = "png", | |||
["Nether Eruption"] = "png", | |||
["Nether Surge"] = "png", | |||
["Nether Wave"] = "png", | |||
["Null Sphere"] = "png", | |||
["Pandemonium"] = "png", | |||
["Tendril Slam"] = "png", | |||
["VoidfireVolley"] = "png", | |||
["Wither Blast"] = "png", | |||
["Wither Eruption"] = "png", | |||
["Wither Surge"] = "png", | |||
["Wither Wave"] = "png" | |||
}, | |||
["spellType"] = { | |||
["Abyssal"] = "png" | |||
}, | |||
["thieving"] = { | |||
-- Abyssal NPCs | |||
["Blighted Dryad"] = "png", | |||
["Blighted Treant"] = "png", | |||
["Dark Shade"] = "png", | |||
["Dark Shadowmancer"] = "png", | |||
["Dark Wraithlurker"] = "png", | |||
["Silent Keeper"] = "png", | |||
["Silent Poltergeist"] = "png", | |||
["Silent Wanderer"] = "png", | |||
["Turned Farmer"] = "png", | |||
["Turned Man"] = "png", | |||
["Turned Woman"] = "png", | |||
["Void Envoy"] = "png", | |||
["Void Gazer"] = "png", | |||
["Void Shambler"] = "png", | |||
["Withering Gargoyle"] = "png", | |||
["Withering Golem"] = "png" | |||
}, | }, | ||
["township"] = { | ["township"] = { | ||
Line 286: | Line 480: | ||
["Nightfall"] = "png", | ["Nightfall"] = "png", | ||
["Solar Eclipse"] = "png" | ["Solar Eclipse"] = "png" | ||
}, | |||
["tree"] = { | |||
-- Abyssal trees | |||
["Abyssia Tree"] = "png", | |||
["Brumia Tree"] = "png", | |||
["Crumbletain Tree"] = "png", | |||
["Eldria Tree"] = "png", | |||
["Gloomia Tree"] = "png", | |||
["Nethia Tree"] = "png", | |||
["Plagueroot Tree"] = "png", | |||
["Riftwood Tree"] = "png", | |||
["Shadebark Tree"] = "png", | |||
["Starwood Tree"] = "png", | |||
["Twisted Tree"] = "png", | |||
["Voidia Tree"] = "png", | |||
["Whisperwillow Tree"] = "png", | |||
["Withia Tree"] = "png" | |||
} | } | ||
} | } | ||
Line 418: | Line 629: | ||
-- Township resources | -- Township resources | ||
['GP'] = {'Coins', ''}, | ['GP'] = {'Coins', ''}, | ||
['Abyssal Pieces'] = {'Abyssal Pieces', ''}, | |||
['Food'] = {'Raw Beef', 'item'}, | ['Food'] = {'Raw Beef', 'item'}, | ||
['Ore'] = {'Iron', 'rock'}, | ['Ore'] = {'Iron', 'rock'}, | ||
Line 821: | Line 1,033: | ||
return p._SkillReq(skill, level, showText) | return p._SkillReq(skill, level, showText) | ||
end | end | ||
function p._AbyssalSkillReq(skill, level, showText) | |||
local altText = (showText and '') or skill | |||
local result = p.Icon({skill, type='skill', notext=(showText and '' or true), nospan=true, alt=altText}) | |||
if level == nil then level = 'Unknown [[Category:Pages with script errors]]' end | |||
result = result.." Abyssal Level "..level | |||
result = '<span class="img-text">'..result..'</span>' | |||
return result | |||
end | |||
function p.AbyssalSkillReq(frame) | |||
local args = frame.args ~= nil and frame.args or frame | |||
local skill = args[1] | |||
local level = tonumber(args[2]) | |||
local showText = args.showText ~= nil and args.showText ~= '' and args.showText ~= 'false' | |||
return p._AbyssalSkillReq(skill, level, showText) | |||
end | |||
function p._MasteryReq(itemName, level, showText) | function p._MasteryReq(itemName, level, showText) | ||
Line 849: | Line 1,080: | ||
end | end | ||
function p._Currency(fileName, link, altText, | local currencyFormatDefn = { | ||
["melvorD:GP"] = { | |||
["img"] = 'Coins.svg', | |||
["name"] = 'Gold Pieces', | |||
["abbr"] = 'GP' | |||
}, | |||
["melvorD:SlayerCoins"] = { | |||
["img"] = 'Slayer Coins.svg', | |||
["name"] = 'Slayer Coins', | |||
["abbr"] = 'SC' | |||
}, | |||
["melvorD:RaidCoins"] = { | |||
["img"] = 'Raid Coins.svg', | |||
["name"] = 'Raid Coins', | |||
["abbr"] = 'RC' | |||
}, | |||
["melvorItA:AbyssalPieces"] = { | |||
["img"] = 'Abyssal Pieces.svg', | |||
["name"] = 'Abyssal Pieces', | |||
["abbr"] = 'AP' | |||
}, | |||
["melvorItA:AbyssalSlayerCoins"] = { | |||
["img"] = 'Abyssal Slayer Coins.svg', | |||
["name"] = 'Abyssal Slayer Coins', | |||
["abbr"] = 'ASC' | |||
}, | |||
} | |||
-- Aliases for the above | |||
for k, v in pairs(currencyFormatDefn) do | |||
if v.abbr ~= nil and currencyFormatDefn[v.abbr] == nil then | |||
currencyFormatDefn[v.abbr] = v | |||
end | |||
end | |||
function p._Currency(currencyID, amount, maxAmount) | |||
local currencyDefn = currencyFormatDefn[currencyID] | |||
if currencyDefn == nil then | |||
error('Invalid currency ID: ' .. currencyID, 2) | |||
end | |||
local fileName, link, altText = currencyDefn.img, currencyDefn.name, currencyDefn.abbr | |||
local function numColour(amount) | local function numColour(amount) | ||
if tonumber(amount) < 0 then | if tonumber(amount) < 0 then | ||
Line 896: | Line 1,169: | ||
function p.GP(amt, maxamt) | function p.GP(amt, maxamt) | ||
return p._Currency(' | return p._Currency('melvorD:GP', amt, maxamt) | ||
end | end | ||
function p.SC(amt, maxamt) | function p.SC(amt, maxamt) | ||
return p._Currency(' | return p._Currency('melvorD:SlayerCoins', amt, maxamt) | ||
end | end | ||
function p.RC(amt, maxamt) | function p.RC(amt, maxamt) | ||
return p._Currency(' | return p._Currency('melvorD:RaidCoins', amt, maxamt) | ||
end | end | ||
Line 920: | Line 1,193: | ||
end | end | ||
return p._Currency((currID or 'nil'), minVal, maxVal) | |||
end | end | ||