The Alchemist Code Wiki
READ MORE
The Alchemist Code Wiki
Explore
Main Page
All Pages
Interactive Maps
Units
Team Building Tools
Global Tier List
ACDB Unit Builder
Raid Buffer/Debuffer List
Team Building
About Units
About Units
List of Units
Jobs
About Jobs
List of Jobs
Job Upgrades
Job+ List
Equipment
Unit Shards
Elemental Shards
Enlightenment
Truth Seals
Obtainables
Mementos
About Mementos
List of Mementos
Memento Quick Reference
Mementos Rated By Usefulness
Memento Leader Skills
Gear
About Gear
Free (Permanent)
Free (Event)
Summon
VCR (Memento)
PvP
Enlightened Gear Skills
Consumables
Gameplay & Guides
Gameplay
About the Game
Lore
Mechanics
New Player Help
Help Center
Beginner's Guide
Reroll Guide
Glossary of Terms
Recommended Free Units
Shard Farm Priority
Banners
Lore
Main Story
Ancient Story
Genesis Story
Sacred Stone Memories
Babel Chronicles
Character Stories
Event Stories
NPCs
News and Events
List of Events by Date
References
Update History
Shops
Milestones
Friends
Mercenaries
Alchemia Port
Experience Charts
Other Resources
Guides and Rankings
Discord
Alchemist Code Database
Quests
Story
Character Quests
Events
Multiplay
Raids
Battle
Babel Expedition
FANDOM
Fan Central
BETA
Games
Anime
Movies
TV
Video
Wikis
Explore Wikis
Community Central
Start a Wiki
Don't have an account?
Register
Sign In
FANDOM
Explore
Current Wiki
Start a Wiki
Don't have an account?
Register
Sign In
Sign In
Register
The Alchemist Code Wiki
21,532
pages
Explore
Main Page
All Pages
Interactive Maps
Units
Team Building Tools
Global Tier List
ACDB Unit Builder
Raid Buffer/Debuffer List
Team Building
About Units
About Units
List of Units
Jobs
About Jobs
List of Jobs
Job Upgrades
Job+ List
Equipment
Unit Shards
Elemental Shards
Enlightenment
Truth Seals
Obtainables
Mementos
About Mementos
List of Mementos
Memento Quick Reference
Mementos Rated By Usefulness
Memento Leader Skills
Gear
About Gear
Free (Permanent)
Free (Event)
Summon
VCR (Memento)
PvP
Enlightened Gear Skills
Consumables
Gameplay & Guides
Gameplay
About the Game
Lore
Mechanics
New Player Help
Help Center
Beginner's Guide
Reroll Guide
Glossary of Terms
Recommended Free Units
Shard Farm Priority
Banners
Lore
Main Story
Ancient Story
Genesis Story
Sacred Stone Memories
Babel Chronicles
Character Stories
Event Stories
NPCs
News and Events
List of Events by Date
References
Update History
Shops
Milestones
Friends
Mercenaries
Alchemia Port
Experience Charts
Other Resources
Guides and Rankings
Discord
Alchemist Code Database
Quests
Story
Character Quests
Events
Multiplay
Raids
Battle
Babel Expedition
Editing
Module:Render/Memento
Back to page
Edit source
View history
Talk (0)
Edit Page
Module:Render/Memento
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local render_icon = require('Module:Render').icon local util_cargo = require('Module:CargoUtil') local linkUtils = require('Module:LinkUtils') local p = {} local h = {} function p.icon(frame) local args = require('Module:Arguments').getArgs(frame, { parentFirst = true, wrappers = { 'Template:Memento/Icon', }, }) return p._icon(args) end function p._icon(args) local iname = args[1] or '' local data = args.data if not data then if iname == '' then return end local server = args.server or 'gl' local lang = args.lang or 'english' local rows = util_cargo.queryAndCast{ tables = {'ConceptCard=CC', 'ConceptCardLoc=CCLoc', 'Pages'}, join = { 'CC.iname = CCLoc.iname', 'CC.iname = Pages.iname', }, fields = { 'Pages._pageName = _pageName', 'CC.iname = iname', 'CC.server = server', 'CC.rare = rare', 'CC.icon = icon', 'CCLoc.name = name', }, where = { ('"%s" IN (CC.iname, Pages._pageName)'):format(iname), ('CC.server = "%s"'):format(server), ('CCLoc.lang = "%s"'):format(lang), 'Pages._pageName IS NULL OR Pages.type = "Memento"', }, } data = rows[1] or {} end iname = data.iname if data.name == '' then data.name = '???' end local link = nil if args.link ~= 'none' then if args.jplink then link = linkUtils.acdbLink(iname, true) else link = data._pageName or data.name end end -- TODO Get the correct server local renderArgs = { (data.icon or '') ~= '' and ('ConceptCardIcon,'..data.icon) or 'ItemIcon,IT_UNKNOWN', data.name or '???', link, tonumber(data.rare), 4, 64, (args.count or '') ~= '' and args.count or nil, args.classes, nil, false, } local name if args.name ~= 'none' then if (renderArgs[3] or '') ~= '' then if args.jplink then name = ('[%s %s]'):format(renderArgs[3], renderArgs[2]) else name = ('[[%s|%s]]'):format(renderArgs[3], renderArgs[2]) end else name = renderArgs[2] end end if args.size == 'large' then renderArgs[6] = 128 elseif args.size == 'small' then renderArgs[6] = 24 renderArgs[9] = name and '<span>'..name..'</span>' renderArgs[10] = true elseif args['size'] == 'compact' then renderArgs[9] = name and '<div class="item-count" style="font-size: 0.7em;overflow: hidden;right: 0">'..renderArgs[2]..'</div>' else renderArgs[9] = name and '<div style="width: '..renderArgs[6]..'px">'..name..'</div>' end return render_icon(unpack(renderArgs)) end -- Non cargo version function p._icon2(args) local data = args.data or {} local iname = data.iname if not iname then return end data.name = linkUtils.wikiSafeName(data.name) local link = nil if args.link ~= 'none' then if args.jplink then link = linkUtils.acdbLink(iname, true) else link = data._pageName or data.name end end -- TODO Get the correct server local renderArgs = { (data.icon or '') ~= '' and ('ConceptCardIcon,'..data.icon) or 'ItemIcon,IT_UNKNOWN', data.name, link, tonumber(data.rare), 4, 64, tonumber(args.count), args.classes, nil, false, } local name if args.name ~= 'none' then if (renderArgs[3] or '') ~= '' then if args.jplink then name = ('[%s %s]'):format(renderArgs[3], renderArgs[2]) else name = ('[[%s|%s]]'):format(renderArgs[3], renderArgs[2]) end else name = renderArgs[2] end end if args.size == 'large' then renderArgs[6] = 128 elseif args.size == 'small' then renderArgs[6] = 24 renderArgs[9] = name and '<span>'..name..'</span>' renderArgs[10] = true elseif args['size'] == 'compact' then renderArgs[9] = name and '<div class="item-count" style="font-size: 0.7em;overflow: hidden;right: 0">'..renderArgs[2]..'</div>' else renderArgs[9] = name and '<div style="width: '..renderArgs[6]..'px">'..name..'</div>' end return render_icon(unpack(renderArgs)) end function p._pageName(args) local iname = args[1] local data = args.data or util_cargo.queryAndCast{tables='ConceptCard',fields='_pageName,server',where='iname="'..iname..'"',limit=1}[1] or {} local name = h.getName(data._pageName) local link = nil if data._pageName ~= nil then link = (util_cargo.queryAndCast{tables='Pages',fields='_pageName',where='type="Memento" and iname="'..iname..'"'}[1] or {linkUtils.wikiSafeName(name)})._pageName or nil end local displayName = (name and name ~= '' and (link and '[['..link..'|'..name..']]') or name) or iname return displayName end function h.getName(_pageName, lang) if _pageName == nil then return '???' end local rows = util_cargo.queryAndCast{ tables = 'ConceptCardLoc', fields = 'name,lang', where = ('_pageName=%q AND name<>""'):format(_pageName) } local names = {} for i, row in ipairs(rows) do names[row.lang] = row.name end return names[lang] or names.english or names.japanese or '' end return p
Summary:
Please note that all contributions to the The Alchemist Code Wiki are considered to be released under the CC BY-NC-SA
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Render/Memento/doc
(
edit
)
Follow on IG
TikTok
Join Fan Lab