Module:Pets: Difference between revisions

_getPetEffect: Adjust for various changes in source data
(_getPetSource: Add override for Bone)
(_getPetEffect: Adjust for various changes in source data)
Line 94: Line 94:
   if effectOverrides[pet.name] ~= nil then
   if effectOverrides[pet.name] ~= nil then
     return effectOverrides[pet.name]
     return effectOverrides[pet.name]
  elseif pet.modifiers ~= nil then
    local effects = {}
    for effectName, effectValue in pairs(pet.modifiers) do
      table.insert(effects, Constants._getModifierText(effectName, effectValue, false))
    end
    return table.concat(effects, '<br/>')
   else
   else
    return pet.description
  local modKeys = {'modifiers', 'enemyModifiers'}
  local effects = {}
  for i, key in ipairs(modKeys) do
    if pet[key] ~= nil and Shared.tableCount(pet[key]) > 0 then
    for effectName, effectValue in pairs(pet[key]) do
      local preText = (key == 'enemyModifiers' and 'All enemies have: ' or '')
      table.insert(effects, preText .. Constants._getModifierText(effectName, effectValue, false))
    end
    end
  end
  if Shared.tableCount(effects) > 0 then
    return table.concat(effects, '<br/>')
  elseif pet.skill ~= nil and pet.skill >= 0 then
    -- Attempt to remove skill prefix from description
    local newDesc, subIdx = string.gsub(pet.description, '^' .. Constants.getSkillName(pet.skill) .. '<br>', '')
    return newDesc
  else
    return pet.description
  end
   end
   end
end
end