Module:AchievementSystem: Difference between revisions
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
| Line 391: | Line 391: | ||
-- @return Array of badge achievement objects | -- @return Array of badge achievement objects | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.getBadgeAchievements(pageId, frame) | function Achievements.getBadgeAchievements(pageId, frame) | ||
if not pageId or pageId == '' then | if not pageId or pageId == '' then | ||
| Line 421: | Line 416: | ||
local achType = achievementTbl['type'] | local achType = achievementTbl['type'] | ||
if achType and typeDefinitions[achType] and typeDefinitions[achType]['type'] == "badge" then | if achType and typeDefinitions[achType] and typeDefinitions[achType]['type'] == "badge" then | ||
local newAchievement = { | |||
type = achType, | |||
date = achievementTbl['date'] or '', | |||
name = typeDefinitions[achType].name or achType, | |||
category = typeDefinitions[achType].category | |||
} | |||
table.insert(badgeAchievements, newAchievement) | table.insert(badgeAchievements, newAchievement) | ||
end | end | ||
| Line 610: | Line 605: | ||
-- Direct lookup for the requested achievement type | -- Direct lookup for the requested achievement type | ||
for _, | for _, achievementTbl in ipairs(userAchievements) do | ||
if | if achievementTbl["type"] == achievementType then | ||
return | local def = Achievements.getAchievementDefinition(achievementType) | ||
return { | |||
type = achievementTbl.type, | |||
date = achievementTbl.date or '', | |||
name = def and def.name or achievementType, | |||
category = def and def.category | |||
} | |||
end | end | ||
end | end | ||