16,985
edits
Falterfire (talk | contribs) (removed stray colon) |
(getMonster: Amend for ambiguous monster name) |
||
Line 10: | Line 10: | ||
function p.getMonster(name) | function p.getMonster(name) | ||
if name == 'Earth Golem (AoD)' then | |||
-- Special case for ambiguous monster name | |||
return p.getMonsterByID('melvorAoD:EarthGolem') | |||
else | |||
return GameData.getEntityByName('monsters', name) | |||
end | |||
end | end | ||
function p.getMonsterByID(ID) | function p.getMonsterByID(ID) | ||
return GameData.getEntityByID('monsters', ID) | return GameData.getEntityByID('monsters', ID) | ||
end | |||
function p.getMonsterName(monster) | |||
if monster.id == 'melvorAoD:Earth Golem' then | |||
-- Special case for ambiguous monster name | |||
return 'Earth Golem (AoD)' | |||
else | |||
return monster.name | |||
end | |||
end | end | ||
Line 85: | Line 99: | ||
iconText = Icons.Icon({'Magic', type='skill', notext=notext, nolink=nolink}) | iconText = Icons.Icon({'Magic', type='skill', notext=notext, nolink=nolink}) | ||
elseif monster.attackType == 'random' then | elseif monster.attackType == 'random' then | ||
iconText = Icons.Icon({monster | iconText = Icons.Icon({p.getMonsterName(monster), notext=notext, nolink=nolink, img='Question'}) | ||
end | end | ||
Line 1,178: | Line 1,192: | ||
for i, monsterID in ipairs(area.monsterIDs) do | for i, monsterID in ipairs(area.monsterIDs) do | ||
local monster = p.getMonsterByID(monsterID) | local monster = p.getMonsterByID(monsterID) | ||
tableTxt = tableTxt..'\r\n|-\r\n|'..Icons.Icon({monster | tableTxt = tableTxt..'\r\n|-\r\n|'..Icons.Icon({p.getMonsterName(monster), type='monster'}) | ||
tableTxt = tableTxt..'||'..p._getMonsterCombatLevel(monster) | tableTxt = tableTxt..'||'..p._getMonsterCombatLevel(monster) | ||
tableTxt = tableTxt..'||'..Shared.formatnum(p._getMonsterHP(monster)) | tableTxt = tableTxt..'||'..Shared.formatnum(p._getMonsterHP(monster)) | ||
Line 1,230: | Line 1,244: | ||
local monster = p.getMonsterByID(monsterID) | local monster = p.getMonsterByID(monsterID) | ||
if monster ~= nil then | if monster ~= nil then | ||
table.insert(monIconPart, Icons.Icon({monster | table.insert(monIconPart, Icons.Icon({p.getMonsterName(monster), type='monster'})) | ||
end | end | ||
end | end | ||
Line 1,251: | Line 1,265: | ||
-- entityID corresponds to a monster | -- entityID corresponds to a monster | ||
local monster = p.getMonsterByID(entityID) | local monster = p.getMonsterByID(entityID) | ||
monIcon = Icons.Icon({monster | monIcon = Icons.Icon({p.getMonsterName(monster), type='monster'}) | ||
monLevel = p._getMonsterCombatLevel(monster) | monLevel = p._getMonsterCombatLevel(monster) | ||
monHP = p._getMonsterHP(monster) | monHP = p._getMonsterHP(monster) | ||
Line 1,347: | Line 1,361: | ||
for i, monsterID in ipairs(area.monsterIDs) do | for i, monsterID in ipairs(area.monsterIDs) do | ||
local monster = p.getMonsterByID(monsterID) | local monster = p.getMonsterByID(monsterID) | ||
table.insert(monsterList, Icons.Icon({monster | table.insert(monsterList, Icons.Icon({p.getMonsterName(monster), type='monster'})) | ||
end | end | ||
return table.concat(monsterList, '<br/>') | return table.concat(monsterList, '<br/>') | ||
Line 1,390: | Line 1,404: | ||
local monster = p.getMonsterByID(monsterID) | local monster = p.getMonsterByID(monsterID) | ||
if monster ~= nil then | if monster ~= nil then | ||
table.insert(monIconPart, ' ' .. Icons.Icon({monster | table.insert(monIconPart, ' ' .. Icons.Icon({p.getMonsterName(monster), type='monster'})) | ||
end | end | ||
end | end | ||
Line 1,396: | Line 1,410: | ||
else | else | ||
local monsterObj = p.getMonsterByID(monster.id) | local monsterObj = p.getMonsterByID(monster.id) | ||
table.insert(monsterList, Icons.Icon({monsterObj | table.insert(monsterList, Icons.Icon({p.getMonsterName(monsterObj), type='monster', qty=monster.count})) | ||
end | end | ||
end | end | ||
Line 1,423: | Line 1,437: | ||
if monster.gpDrops ~= nil and monster.gpDrops.max > 0 then | if monster.gpDrops ~= nil and monster.gpDrops.max > 0 then | ||
local avgGp = (monster.gpDrops.min + monster.gpDrops.max) / 2 | local avgGp = (monster.gpDrops.min + monster.gpDrops.max) / 2 | ||
result = result .. '<br/>' .. monster | result = result .. '<br/>' .. p.getMonsterName(monster) .. ',' .. monster.gpDrops.min .. ',' .. monster.gpDrops.max .. ',' .. avgGp | ||
end | end | ||
end | end | ||
Line 1,493: | Line 1,507: | ||
local monsterGP = p._getMonsterAverageGP(monster) | local monsterGP = p._getMonsterAverageGP(monster) | ||
local combatLevel = p._getMonsterCombatLevel(monster) | local combatLevel = p._getMonsterCombatLevel(monster) | ||
result = result..'\r\n|-\r\n|'..Icons.Icon({monster | result = result..'\r\n|-\r\n|'..Icons.Icon({p.getMonsterName(monster), type='monster', noicon=true})..'||'..combatLevel..'||'..monsterGP | ||
end | end | ||
end | end | ||
Line 1,586: | Line 1,600: | ||
local boneTxt = (bones ~= nil and Icons.Icon({bones.item.name, type='item', notext=true})) or 'None' | local boneTxt = (bones ~= nil and Icons.Icon({bones.item.name, type='item', notext=true})) or 'None' | ||
table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', size=50, notext=true})) | ||
table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', noicon=true})) | ||
table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | ||
table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. p._getMonsterHP(monster) .. '" |' .. Shared.formatnum(p._getMonsterHP(monster))) | table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. p._getMonsterHP(monster) .. '" |' .. Shared.formatnum(p._getMonsterHP(monster))) | ||
Line 1,625: | Line 1,639: | ||
-- Generate row per monster | -- Generate row per monster | ||
for i, monster in ipairs(GameData.rawData.monsters) do | for i, monster in ipairs(GameData.rawData.monsters) do | ||
if monster | if p.getMonsterName(monster) ~= nil then | ||
local cmbLevel = p._getMonsterCombatLevel(monster) | local cmbLevel = p._getMonsterCombatLevel(monster) | ||
Line 1,642: | Line 1,656: | ||
table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', size=50, notext=true})) | ||
table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', noicon=true})) | ||
table.insert(tableParts, '\r\n|style="text-align:right" |' .. monster.id) | table.insert(tableParts, '\r\n|style="text-align:right" |' .. monster.id) | ||
table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | ||
Line 1,673: | Line 1,687: | ||
-- Generate row per monster | -- Generate row per monster | ||
for i, monster in ipairs(GameData.rawData.monsters) do | for i, monster in ipairs(GameData.rawData.monsters) do | ||
if monster | if p.getMonsterName(monster) ~= nil then | ||
local cmbLevel = p._getMonsterCombatLevel(monster) | local cmbLevel = p._getMonsterCombatLevel(monster) | ||
Line 1,697: | Line 1,711: | ||
local boneTxt = (bones ~= nil and Icons.Icon({bones.item.name, type='item', notext=true})) or 'None' | local boneTxt = (bones ~= nil and Icons.Icon({bones.item.name, type='item', notext=true})) or 'None' | ||
table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|-\r\n|style="text-align: center;" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', size=50, notext=true})) | ||
table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({monster | table.insert(tableParts, '\r\n|style="text-align:left" |' .. Icons.Icon({p.getMonsterName(monster), type='monster', noicon=true})) | ||
-- table.insert(tableParts, '\r\n|style="text-align:right" |' .. monster.id) | -- table.insert(tableParts, '\r\n|style="text-align:right" |' .. monster.id) | ||
table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | table.insert(tableParts, '\r\n|style="text-align:right" data-sort-value="' .. cmbLevel .. '" |' .. Shared.formatnum(cmbLevel)) | ||
Line 1,736: | Line 1,750: | ||
spAttTable[spAtt.id]['icons'][attChance] = {} | spAttTable[spAtt.id]['icons'][attChance] = {} | ||
end | end | ||
table.insert(spAttTable[spAtt.id]['icons'][attChance], Icons.Icon({ monster | table.insert(spAttTable[spAtt.id]['icons'][attChance], Icons.Icon({ p.getMonsterName(monster), type = 'monster' })) | ||
end | end | ||
end | end | ||
Line 1,781: | Line 1,795: | ||
for i, monsterID in ipairs(area.monsterIDs) do | for i, monsterID in ipairs(area.monsterIDs) do | ||
local monster = p.getMonsterByID(monsterID) | local monster = p.getMonsterByID(monsterID) | ||
table.insert(outArray, "===={{MonsterIcon|"..monster | table.insert(outArray, "===={{MonsterIcon|"..p.getMonsterName(monster).."|size=40}}====") | ||
table.insert(outArray, "{{MonsterDrops|"..monster | table.insert(outArray, "{{MonsterDrops|"..p.getMonsterName(monster).."|size=40}}") | ||
end | end | ||
return table.concat(outArray, "\r\n") | return table.concat(outArray, "\r\n") |