Module:AchievementSystem: Difference between revisions
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
| Line 358: | Line 358: | ||
-- Get a user-friendly name for a given achievement type | -- Get a user-friendly name for a given achievement type | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.getAchievementName(achievementType) | function Achievements.getAchievementName(achievementType, frame) | ||
if not achievementType or achievementType == '' then | if not achievementType or achievementType == '' then | ||
return 'Unknown' | return 'Unknown' | ||
end | end | ||
local types = Achievements.loadTypes() | local types = Achievements.loadTypes(frame) | ||
-- Try to match achievement ID | -- Try to match achievement ID | ||
| Line 383: | Line 383: | ||
-- Return the CSS class and the readable achievement name | -- Return the CSS class and the readable achievement name | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.getTitleClass(pageId) | function Achievements.getTitleClass(pageId, frame) | ||
if not pageId or pageId == '' then | if not pageId or pageId == '' then | ||
return '', '' | return '', '' | ||
| Line 393: | Line 393: | ||
end | end | ||
local types = Achievements.loadTypes() | local types = Achievements.loadTypes(frame) | ||
local highestTier = 999 | local highestTier = 999 | ||
local highestAchievement = nil | local highestAchievement = nil | ||
| Line 424: | Line 424: | ||
-- Renders a box with the top-tier achievement for the user | -- Renders a box with the top-tier achievement for the user | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.renderAchievementBox(pageId) | function Achievements.renderAchievementBox(pageId, frame) | ||
if not pageId or pageId == '' then | if not pageId or pageId == '' then | ||
return '' | return '' | ||
| Line 434: | Line 434: | ||
end | end | ||
local types = Achievements.loadTypes() | local types = Achievements.loadTypes(frame) | ||
-- Build a lookup table for achievement type definitions | -- Build a lookup table for achievement type definitions | ||
| Line 537: | Line 537: | ||
-- Get achievement definition directly from JSON data | -- Get achievement definition directly from JSON data | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.getAchievementDefinition(achievementType) | function Achievements.getAchievementDefinition(achievementType, frame) | ||
if not achievementType or achievementType == '' then | if not achievementType or achievementType == '' then | ||
return nil | return nil | ||
end | end | ||
local types = Achievements.loadTypes() | local types = Achievements.loadTypes(frame) | ||
-- Direct lookup in achievement_types array | -- Direct lookup in achievement_types array | ||
| Line 559: | Line 559: | ||
-- Return the CSS class, readable achievement name, and achievement ID (or empty strings if none found) | -- Return the CSS class, readable achievement name, and achievement ID (or empty strings if none found) | ||
-------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
function Achievements.getTitleAchievement(pageId) | function Achievements.getTitleAchievement(pageId, frame) | ||
if not pageId or pageId == '' then | if not pageId or pageId == '' then | ||
return '', '', '' | return '', '', '' | ||
| Line 569: | Line 569: | ||
end | end | ||
local types = Achievements.loadTypes() | local types = Achievements.loadTypes(frame) | ||
-- Build a table of achievement definitions for quick lookup | -- Build a table of achievement definitions for quick lookup | ||