17,428
edits
(getPetNavbox: Migrate to Module:Navboxes) |
(Update for v1.3) |
||
Line 6: | Line 6: | ||
local Constants = require('Module:Constants') | local Constants = require('Module:Constants') | ||
local GameData = require('Module:GameData') | local GameData = require('Module:GameData') | ||
local Modifiers = require('Module:Modifiers') | |||
local Icons = require('Module:Icons') | local Icons = require('Module:Icons') | ||
Line 13: | Line 14: | ||
local result = {} | local result = {} | ||
for _, key in ipairs(areaDataKeys) do | for _, key in ipairs(areaDataKeys) do | ||
local areas = GameData.getEntities(key, function(area) return area.pet ~= nil end) | local areas = GameData.getEntities(key, | ||
function(area) | |||
-- Lazy exclusion of event namespaces | |||
local areaNS, areaLocalID = Shared.getLocalID(area.id) | |||
if areaNS == 'melvorBirthday2023' or areaNS == 'melvorAprilFools2024' then | |||
return false | |||
end | |||
return area.pet ~= nil | |||
end | |||
) | |||
for i, area in ipairs(areas) do | for i, area in ipairs(areas) do | ||
result[area.pet.petID] = { | result[area.pet.petID] = { | ||
Line 52: | Line 62: | ||
function p._getPetSource(pet) | function p._getPetSource(pet) | ||
if CombatPetSources ~= nil and CombatPetSources[pet.id] ~= nil then | |||
if | |||
return CombatPetSources[pet.id] | return CombatPetSources[pet.id] | ||
else | |||
local skillID = p._getPetSkill(pet) | |||
if skillID ~= nil then | |||
local skillName = Constants.getSkillName(skillID) | |||
return { id = skillID, name = skillName, type = 'skill' } | |||
end | |||
end | end | ||
end | end | ||
Line 107: | Line 119: | ||
for i, key in ipairs(modKeys) do | for i, key in ipairs(modKeys) do | ||
if pet[key] ~= nil and not Shared.tableIsEmpty(pet[key]) then | if pet[key] ~= nil and not Shared.tableIsEmpty(pet[key]) then | ||
local preText = (key == 'enemyModifiers' and 'All enemies have: ' or '') | |||
table.insert(effects, preText .. Modifiers.getModifiersText(pet[key], false)) | |||
end | end | ||
end | end |