12,872
edits
(Add TotH icon to tables) |
(getDungeonTable: Add Requirements column; getSlayerAreaTable: Additional formatting for Requirements & area effects columns) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
local Items = require('Module:Items') | local Items = require('Module:Items') | ||
local Monsters = require('Module:Monsters') | local Monsters = require('Module:Monsters') | ||
local Pets = require('Module:Pets') | |||
local Areas = require('Module:CombatAreas') | local Areas = require('Module:CombatAreas') | ||
Line 26: | Line 27: | ||
local result = '{| class="wikitable sortable stickyHeader"' | local result = '{| class="wikitable sortable stickyHeader"' | ||
result = result..'\r\n|- class="headerRow-0"' | result = result..'\r\n|- class="headerRow-0"' | ||
result = result..'\r\n!colspan="2"|Zone!!Difficulty!!Lowest Monster Level!!Highest Monster Level' | result = result..'\r\n!colspan="2"|Zone!!Difficulty!!Lowest Monster Level!!Highest Monster Level!!Requirements' | ||
local areas = GameData.sortByOrderTable(GameData.rawData.combatAreas, GameData.rawData.combatAreaDisplayOrder) | local areas = GameData.sortByOrderTable(GameData.rawData.combatAreas, GameData.rawData.combatAreaDisplayOrder) | ||
for i, area in ipairs(areas) do | for i, area in ipairs(areas) do | ||
result = result..'\r\n|-' | result = result..'\r\n|-' | ||
result = result..'\r\n|class="table-img" data-sort-value="' .. area.name .. '"| '..Icons.Icon({area.name, type=' | result = result..'\r\n|class="table-img" data-sort-value="' .. area.name .. '"| '..Icons.Icon({area.name, type='combatArea', size='50', notext=true}) | ||
result = result..'||' .. Icons.getExpansionIcon(area.id) .. Icons.Icon({area.name, type=' | result = result..'||' .. Icons.getExpansionIcon(area.id) .. Icons.Icon({area.name, type='combatArea', noicon=true}) | ||
result = result..'||data-sort-value="'..area.difficulty[1]..'"|'..Areas._getAreaStat(area, 'difficulty') | result = result..'||data-sort-value="'..area.difficulty[1]..'"|'..Areas._getAreaStat(area, 'difficulty') | ||
local lowLvl, highLvl = p.getLowHighLevels(area.monsterIDs) | local lowLvl, highLvl = p.getLowHighLevels(area.monsterIDs) | ||
result = result .. '||data-sort-value="' .. lowLvl .. '"| ' .. Shared.formatnum(lowLvl) | result = result .. '||data-sort-value="' .. lowLvl .. '"| ' .. Shared.formatnum(lowLvl) | ||
result = result .. '||data-sort-value="' .. highLvl .. '"| ' .. Shared.formatnum(highLvl) | result = result .. '||data-sort-value="' .. highLvl .. '"| ' .. Shared.formatnum(highLvl) | ||
local reqText = Areas._getAreaRequirements(area) | |||
if reqText == nil or reqText == '' then | |||
result = result .. '||class="table-na"| None' | |||
else | |||
result = result .. '||' .. reqText | |||
end | |||
end | end | ||
result = result..'\r\n|}' | result = result..'\r\n|}' | ||
Line 56: | Line 63: | ||
local lowLvl, highLvl = p.getLowHighLevels(area.monsterIDs) | local lowLvl, highLvl = p.getLowHighLevels(area.monsterIDs) | ||
result = result..'||data-sort-value="' .. highLvl .. '"| ' .. Shared.formatnum(highLvl) | result = result..'||data-sort-value="' .. highLvl .. '"| ' .. Shared.formatnum(highLvl) | ||
result = result..'||'..Areas. | local reqText = Areas._getAreaRequirements(area) | ||
result = result..'|| '.. | if reqText == nil or reqText == '' then | ||
result = result .. '||class="table-na"| None' | |||
else | |||
result = result .. '||' .. reqText | |||
end | |||
local effectText = Areas._getAreaStat(area, 'areaEffectDesc') | |||
local classText = ((effectText == nil or effectText == 'None') and 'class="table-na"|') or '' | |||
result = result..'||' .. classText .. ' ' .. effectText | |||
end | end | ||
Line 69: | Line 83: | ||
asList = true | asList = true | ||
elseif type(asList) == 'string' then | elseif type(asList) == 'string' then | ||
asList = | asList = string.upper(asList) ~= 'FALSE' | ||
end | end | ||
Line 122: | Line 136: | ||
local area = Areas.getArea(areaName) | local area = Areas.getArea(areaName) | ||
if area == nil then | if area == nil then | ||
return | return Shared.printError('Could not find an area named "' .. areaName .. '"') | ||
end | end | ||
Line 128: | Line 142: | ||
return p._getDungeonRewards(area, asList) | return p._getDungeonRewards(area, asList) | ||
else | else | ||
return " | return Shared.printError('"' .. areaName .. '" is not a dungeon') | ||
end | end | ||
end | end | ||
Line 135: | Line 149: | ||
local result = '{| class="wikitable sortable stickyHeader"' | local result = '{| class="wikitable sortable stickyHeader"' | ||
result = result..'\r\n|-class="headerRow-0"' | result = result..'\r\n|-class="headerRow-0"' | ||
result = result..'\r\n!colspan="2"|Dungeon!!Difficulty!!Monsters!!Boss Level!! | result = result..'\r\n!colspan="2"|Dungeon!!Difficulty!!Monsters!!Boss Level!!Requirements!!Rewards!!Boss Pet' | ||
local areas = GameData.sortByOrderTable(GameData.rawData.dungeons, GameData.rawData.dungeonDisplayOrder) | local areas = GameData.sortByOrderTable(GameData.rawData.dungeons, GameData.rawData.dungeonDisplayOrder) | ||
Line 148: | Line 162: | ||
result = result..'||'..monsterCount | result = result..'||'..monsterCount | ||
result = result..'||'..Shared.formatnum(Monsters._getMonsterCombatLevel(boss)) | result = result..'||'..Shared.formatnum(Monsters._getMonsterCombatLevel(boss)) | ||
local reqText = Areas._getAreaRequirements(dung) | |||
if reqText == nil or reqText == '' then | |||
result = result .. '||class="table-na"| None' | |||
else | |||
result = result .. '||' .. reqText | |||
end | |||
result = result..'||'..p._getDungeonRewards(dung, false) | result = result..'||'..p._getDungeonRewards(dung, false) | ||
local petAdded = false | |||
if dung.pet ~= nil then | if dung.pet ~= nil then | ||
local pet = GameData.getEntityByID('pets', dung.pet.petID) | local pet = GameData.getEntityByID('pets', dung.pet.petID) | ||
if pet ~= nil then | if pet ~= nil then | ||
result = result..'||data-sort-value="'..pet.name..'"|'..Icons.Icon({pet.name, type='pet'}) | result = result..'||data-sort-value="'..pet.name..'"|'..Icons.Icon({pet.name, type='pet'}) | ||
local petDrop = Pets._getPetChance(pet) | |||
if petDrop ~= nil then | |||
result = result..'<br/>'..petDrop | |||
end | |||
petAdded = true | |||
end | end | ||
end | |||
result = result..'|| ' | if not petAdded then | ||
result = result..'||class="table-na"| None' | |||
end | end | ||
end | end |