Permanently protected module

Difference between revisions of "Module:Data/data"

From Yugipedia
Jump to: navigation, search
m (Becasita moved page Module:Database to Module:Data/data without leaving a redirect: More concise and it's a sub-module.)
(Reformat the Lua database. Trying to make it cleaner and more intuitive.)
Line 1: Line 1:
 
-- <pre>
 
-- <pre>
-- @name Database
+
-- @name Data/data
-- @description Serves as database for the other modules.
+
-- @description Serves as a database for other modules.
 
-- NEVER INTERACT DIRECTLY WITH THIS MODULE. USE [[Module:Data]].
 
-- NEVER INTERACT DIRECTLY WITH THIS MODULE. USE [[Module:Data]].
  
-- @name rg
+
------------------------
-- @description Region indexes. Main map.
+
-- Normalization tables:
local rg = {
+
------------------------
 +
local N = {};
 +
 
 +
-- @description
 +
N.region = {
 
-- Worldwide English (EN):
 
-- Worldwide English (EN):
 
['en'] = 'en', ['ew'] = 'en', ['we'] = 'en', ['ww'] = 'en',
 
['en'] = 'en', ['ew'] = 'en', ['we'] = 'en', ['ww'] = 'en',
Line 12: Line 16:
 
['worldwideenglish'] = 'en', ['englishworldwide'] = 'en',
 
['worldwideenglish'] = 'en', ['englishworldwide'] = 'en',
  
-- North American English (NA): (filter 'north')
+
-- North American English (NA):
 
['na'] = 'na', ['american'] = 'na', ['americanenglish'] = 'na',
 
['na'] = 'na', ['american'] = 'na', ['americanenglish'] = 'na',
  
Line 56: Line 60:
 
};
 
};
  
-- @name region
+
-- @description
-- @description Region names.
+
N.language = {
local region = {
 
['en'] = 'Worldwide English',
 
['na'] = 'North American English',
 
['eu'] = 'European English',
 
['au'] = 'Australian English', ['oc'] = 'Oceanic English', -- TODO: check this.
 
['fr'] = 'French',  ['fc'] = 'French-Canadian',
 
['de'] = 'German',
 
['it'] = 'Italian',
 
['pt'] = 'Portuguese',
 
['es'] = 'Spanish', ['sp'] = 'Spanish',
 
['jp'] = 'Japanese',
 
['ja'] = 'Japanese-Asian',
 
['ae'] = 'Asian-English',
 
['tc'] = 'Chinese', ['zh'] = 'Chinese',
 
['ko'] = 'Korean',  ['kr'] = 'Korean',
 
};
 
 
 
-- @name ln
 
-- @description Language indexes.
 
local ln = {
 
 
['en'] = 'en',
 
['en'] = 'en',
['na'] = 'en',
+
['na'] = 'en', ['eu'] = 'en',
['eu'] = 'en',
 
 
['au'] = 'en', ['oc'] = 'en',
 
['au'] = 'en', ['oc'] = 'en',
 
['fr'] = 'fr', ['fc'] = 'fr',
 
['fr'] = 'fr', ['fc'] = 'fr',
Line 86: Line 69:
 
['it'] = 'it',
 
['it'] = 'it',
 
['pt'] = 'pt',
 
['pt'] = 'pt',
['es'] = 'es', ['sp'] = 'es',
+
['sp'] = 'es',
 
['jp'] = 'ja', ['ja'] = 'ja',
 
['jp'] = 'ja', ['ja'] = 'ja',
 
['ae'] = 'en',
 
['ae'] = 'en',
['tc'] = 'zh', ['zh'] = 'zh',
+
['tc'] = 'zh',
['ko'] = 'ko', ['kr'] = 'ko',
+
['kr'] = 'ko',
 
};
 
};
  
-- @name language
+
-- @description
-- @description Language names.
+
N.medium = {
local language = {
+
['tcg'] = 'tcg', ['trading'] = 'tcg',
['en'] = 'English',
+
['en'] = 'tcg',
['fr'] = 'French',
+
['na']  = 'tcg', ['eu'] = 'tcg',
['de'] = 'German',
+
['au']  = 'tcg', ['oc'] = 'tcg',
['it'] = 'Italian',
+
['fr'] = 'tcg', ['fc'] = 'tcg',
['pt'] = 'Portuguese',
+
['de'] = 'tcg',
['es'] = 'Spanish',
+
['it'] = 'tcg',
['ja'] = 'Japanese',
+
['pt'] = 'tcg',
['zh'] = 'Chinese',
+
['sp']  = 'tcg',
['ko'] = 'Korean',
+
['ocg'] = 'ocg', ['official'] = 'ocg',
 +
['jp']  = 'ocg', ['ja'] = 'ocg',
 +
['ae']  = 'ocg',
 +
['tc'] = 'ocg',
 +
['kr'] = 'ocg',
 
};
 
};
  
-- @name ed
+
-- @description
-- @description Edition abbreviations.
+
N.edition = {
local ed = {
 
 
['1e'] = '1e', ['1'] = '1e', ['first']    = '1e', ['1st'] = '1e',
 
['1e'] = '1e', ['1'] = '1e', ['first']    = '1e', ['1st'] = '1e',
 
['ue'] = 'ue', ['u'] = 'ue', ['unlimited'] = 'ue',
 
['ue'] = 'ue', ['u'] = 'ue', ['unlimited'] = 'ue',
Line 116: Line 102:
 
};
 
};
  
-- @name edition
+
N.release = {
-- @description Edition names.
+
['op'] = 'op', ['proxy']  = 'op',
local edition = {
+
['gc'] = 'gc', ['giant']  = 'gc',
['1e'] = '1st Edition',
+
['ct'] = 'ct', ['topper']  = 'ct',
['ue'] = 'Unlimited Edition',
 
['le'] = 'Limited Edition',
 
['dt'] = 'Duel Terminal',
 
};
 
 
 
-- @name rel
 
-- @description Release abbreviations.
 
local rel = {
 
['op'] = 'op', ['proxy']  = 'op', ['officialproxy'] = 'op',
 
['gc'] = 'gc', ['giant']  = 'gc', ['giantcard']    = 'gc',
 
['ct'] = 'ct', ['topper']  = 'ct', ['casetopper']    = 'ct',
 
 
['rp'] = 'rp', ['replica'] = 'rp',
 
['rp'] = 'rp', ['replica'] = 'rp',
 
};
 
};
  
-- @name release
+
-- @description
-- @description Release names.
+
N.rarity = {
local release = {
 
['op'] = 'Official Proxy',
 
['gc'] = 'Giant Card',
 
['ct'] = 'Case Topper',
 
['rp'] = 'Replica',
 
};
 
 
 
-- @name amRel
 
-- @description Anime and manga release abbreviations.
 
local amRel = {
 
['nc'] = 'nc', ['noncard'] = 'nc',
 
['ca'] = 'ca', ['cardart'] = 'ca', ['art'] = 'ca',
 
};
 
 
 
-- @name amRelease
 
-- @description Anime and manga release names.
 
local amRelease = {
 
['nc'] = 'Non-card',
 
['ca'] = 'Card art',
 
};
 
 
 
-- @name r
 
-- @description Rarity abbreviations.
 
-- TODO
 
local r = {
 
 
-- Stadard non-foils:
 
-- Stadard non-foils:
['c']    = 'C',      ['common']          = 'C',  ['n'] = 'C',
+
['c']    = 'c',      ['common']          = 'c',  ['n'] = 'c',
['nr']  = 'NR',    ['normal']          = 'NR',
+
['nr']  = 'nr',    ['normal']          = 'nr',
['sp']  = 'SP',    ['shortprint']      = 'SP',
+
['sp']  = 'sp',    ['shortprint']      = 'sp',
['ssp']  = 'SSP',    ['supershortprint'] = 'SSP',
+
['ssp']  = 'ssp',    ['supershortprint'] = 'ssp',
['r']    = 'R',      ['rare']            = 'R',
+
['r']    = 'r',      ['rare']            = 'r',
  
 
-- Stadard foils:
 
-- Stadard foils:
['sr']  = 'SR',    ['super']      = 'SR',
+
['sr']  = 'sr',    ['super']      = 'sr',
['ur']  = 'UR',    ['ultra']      = 'UR',
+
['ur']  = 'ur',    ['ultra']      = 'ur',
['utr']  = 'UtR',    ['ultimate']    = 'UtR',
+
['utr']  = 'utr',    ['ultimate']    = 'utr',
['gr']  = 'GR',    ['ghost']      = 'GR',
+
['gr']  = 'gr',    ['ghost']      = 'gr',
['hgr']  = 'HGR',    ['holographic'] = 'HGR',
+
['hgr']  = 'hgr',    ['holographic'] = 'hgr',
  
 
-- Secrets:
 
-- Secrets:
['scr']  = 'ScR',  ['secret']      = 'ScR',
+
['scr']  = 'scr',  ['secret']      = 'scr',
['pscr']  = 'PScR',  ['prismatic']  = 'PScR', ['prismaticsecret'] = 'PScR',
+
['pscr']  = 'pscr',  ['prismatic']  = 'pscr', ['prismaticsecret'] = 'pscr',
['uscr']  = 'UScR',  ['ultrasecret'] = 'UScR',
+
['uscr']  = 'uscr',  ['ultrasecret'] = 'uscr',
['scur']  = 'ScUR',  ['secretultra'] = 'ScUR',
+
['scur']  = 'scur',  ['secretultra'] = 'scur',
['20scr'] = '20ScR', ['20thsecret']  = '20ScR',
+
['20scr'] = '20scr', ['20thsecret']  = '20scr',
['escr']  = 'EScR',  ['extrasecret'] = 'EScR',
+
['escr']  = 'escr',  ['extrasecret'] = 'escr',
  
 
-- Precious:
 
-- Precious:
['gur']  = 'GUR',  ['gold']          = 'GUR', ['goldultra'] = 'GUR',
+
['gur']  = 'gur',  ['gold']          = 'gur', ['goldultra'] = 'gur',
['gscr']  = 'GScR',  ['goldsecret']    = 'GScR',
+
['gscr']  = 'gscr',  ['goldsecret']    = 'gscr',
['ggr']  = 'GGR',  ['ghostgold']      = 'GGR',
+
['ggr']  = 'ggr',  ['ghostgold']      = 'ggr',
['pir']  = 'PIR',  ['platinum']      = 'PIR',
+
['pir']  = 'pir',  ['platinum']      = 'pir',
['piscr'] = 'PIScR', ['platinumsecret'] = 'PIScR',
+
['piscr'] = 'piscr', ['platinumsecret'] = 'piscr',
  
 
-- Millennium:
 
-- Millennium:
['mlr']  = 'MLR',  ['millennium']      = 'MLR',
+
['mlr']  = 'mlr',  ['millennium']      = 'mlr',
['mlsr']  = 'MLSR',  ['millenniumsuper'] = 'MLSR',
+
['mlsr']  = 'mlsr',  ['millenniumsuper'] = 'mlsr',
['mlur']  = 'MLUR',  ['millenniumultra'] = 'MLUR',
+
['mlur']  = 'mlur',  ['millenniumultra'] = 'mlur',
['mlscr'] = 'MLScR', ['millenniumultra'] = 'MLUR',
+
['mlscr'] = 'mlscr', ['millenniumultra'] = 'mlur',
['mlgr']  = 'MLGR',  ['millenniumgold']  = 'MLGR', -- Why not MLGUR?
+
['mlgr']  = 'mlgr',  ['millenniumgold']  = 'mlgr', -- Why not MLGUR?
  
 
-- Parallel:
 
-- Parallel:
['npr']  = 'NPR',  ['normalparallel']      = 'NPR',
+
['npr']  = 'npr',  ['normalparallel']      = 'npr',
['spr']  = 'SPR',  ['superparallel']      = 'SPR',
+
['spr']  = 'spr',  ['superparallel']      = 'spr',
['upr']  = 'UPR',  ['ultraparallel']      = 'UPR',
+
['upr']  = 'upr',  ['ultraparallel']      = 'upr',
['scpr']  = 'ScPR',  ['secretparallel']      = 'ScPR',
+
['scpr']  = 'scpr',  ['secretparallel']      = 'scpr',
['escpr'] = 'EScPR', ['extrasecretparallel'] = 'EScPR',
+
['escpr'] = 'escpr', ['extrasecretparallel'] = 'escpr',
['hgpr']  = 'HGPR' , ['holographicparallel'] = 'HGPR',
+
['hgpr']  = 'hgpr' , ['holographicparallel'] = 'hgpr',
  
 
-- Duel terminal: (Why not removing the "parallel rare" part?)
 
-- Duel terminal: (Why not removing the "parallel rare" part?)
['dnpr']  = 'DNPR',  ['duelterminalnormalparallel']    = 'DNPR', -- Duel Terminal Common
+
['dnpr']  = 'dnpr',  ['duelterminalnormalparallel']    = 'dnpr', -- Duel Terminal Common
['dnrpr'] = 'DNRPR', ['duelterminalnormalrareparallel'] = 'DNRPR',
+
['dnrpr'] = 'dnrpr', ['duelterminalnormalrareparallel'] = 'dnrpr',
['drpr']  = 'DRPR',  ['duelterminalrareparallel']      = 'DRPR',
+
['drpr']  = 'drpr',  ['duelterminalrareparallel']      = 'drpr',
['dspr']  = 'DSPR',  ['duelterminalsuperparallel']      = 'DSPR',
+
['dspr']  = 'dspr',  ['duelterminalsuperparallel']      = 'dspr',
['dupr']  = 'DUPR',  ['duelterminalultraparallel']      = 'DUPR',
+
['dupr']  = 'dupr',  ['duelterminalultraparallel']      = 'dupr',
['dscpr'] = 'DScPR', ['duelterminalsecretparallel']    = 'DScPR',
+
['dscpr'] = 'dscpr', ['duelterminalsecretparallel']    = 'dscpr',
  
 
-- Kaiba's:
 
-- Kaiba's:
['kcc']  = 'KCC',  ['kaibacorporationcommon'] = 'KCC',
+
['kcc']  = 'kcc',  ['kaibacorporationcommon'] = 'kcc',
['kcn']  = 'KCC',  ['kaibacorporationnormal'] = 'KCC',  -- Yes, they are the same
+
['kcn']  = 'kcc',  ['kaibacorporationnormal'] = 'kcc',  -- Yes, they are the same
['kcr']  = 'KCR',  ['kaibacorporation']      = 'KCR',
+
['kcr']  = 'kcr',  ['kaibacorporation']      = 'kcr',
['kcsr'] = 'KCSR', ['kaibacorporationsuper']  = 'KCSR', ['kcs'] = 'KCSR',
+
['kcsr'] = 'kcsr', ['kaibacorporationsuper']  = 'kcsr', ['kcs'] = 'kcsr',
['kcur'] = 'KCUR', ['kaibacorporationultra']  = 'KCUR', ['kcu'] = 'KCUR',
+
['kcur'] = 'kcur', ['kaibacorporationultra']  = 'kcur', ['kcu'] = 'kcur',
  
 
-- Other:
 
-- Other:
['hfr'] = 'HFR', ['holofoil']    = 'HFR',
+
['hfr'] = 'hfr', ['holofoil']    = 'hfr',
['sfr'] = 'SFR', ['starfoil']    = 'SFR',
+
['sfr'] = 'sfr', ['starfoil']    = 'sfr',
['msr'] = 'MSR', ['mosaic']      = 'MSR',
+
['msr'] = 'msr', ['mosaic']      = 'msr',
['shr'] = 'SHR', ['shatterfoil'] = 'SHR',
+
['shr'] = 'shr', ['shatterfoil'] = 'shr',
['cr']  = 'CR',  ['collectors']  = 'CR',
+
['cr']  = 'cr',  ['collectors']  = 'cr',
 
};
 
};
  
-- @name rarity
+
---------------
-- @description Rarity names.
+
-- Anime stuff:
local rarity = {
+
---------------
-- Stadard non-foils:
+
N.anime = {};
['C']   = 'Common',
+
 
['NR']  = 'Normal Rare',
+
N.anime.release = {
['SP']  = 'Short Print',
+
['nc'] = 'nc', ['noncard'] = 'nc',
['SSP']  = 'Super Short Print',
+
['ca'] = 'ca', ['cardart'] = 'ca', ['art'] = 'ca',
['R']   = 'Rare',
+
};
 +
 
 +
N.anime.series = {
 +
-- Shorts:
 +
['toei'] = 'toei', -- TODO: TOEI = Yu-Gi-Oh! (Toei anime) and Yu-Gi-Oh! The Movie
 +
['dm']  = 'dm', ['duelmonsters'] = 'dm',
 +
['gx']  = 'gx',
 +
['5d']  = '5d', ['5ds']    = '5d',
 +
['zx']  = 'zx', ['zexal']  = 'zx',
 +
['av']  = 'av', ['arcv']  = 'av',  
 +
['vr']  = 'vr', ['vrains'] = 'vr',
  
-- Stadard foils:
+
-- Movies:
['SR']   = 'Super Rare',
+
['mov'] = 'mov',  ['pyramidoflight'] = 'mov', ['moviepyramidoflight'] = 'mov',  ['pol']  = 'mov',
['UR']   = 'Ultra Rare',
+
['mov2'] = 'mov2', ['3dbondsbeyondtime'] = 'mov2', ['bondsbeyondtime'] = 'mov2', ['bbt']  = 'mov2',
['UtR']  = 'Ultimate Rare',
+
['mov3'] = 'mov3', ['darksideofdimensions'] = 'mov3',                           ['dsod'] = 'mov3',
['GR']   = 'Ghost Rare',
+
};
['HGR'] = 'Holographic Rare',
 
  
-- Secrets:
+
--------------------
['ScR']   = 'Secret Rare',
+
-- Public interface:
['PScR'] = 'Prismatic Secret Rare ',
+
--------------------
['UScR'] = 'Ultra Secret Rare',
+
--[=[Doc
['ScUR'] = 'Secret Ultra Rare',
+
@exports
['EScR'] = 'Extra Secret Rare',
+
<ul>
['20ScR'] = '20th Secret Rare',
+
<li>region</li>
 +
<li>language</li>
 +
<li>medium</li>
 +
<li>edition</li>
 +
<li>release</li>
 +
<li>rarity</li>
 +
<li>
 +
anime
 +
<ul>
 +
<li>release</li>
 +
<li>series</li>
 +
</ul>
 +
</li>
 +
<li>
 +
templates
 +
<ul>
 +
<li>[[Template:Card gallery|]]</li>
 +
</ul>
 +
</li>
 +
</ul>
 +
]=]
 +
return {
 +
['normalize'] = N,
 +
 +
['region'] = {
 +
['en'] = { index = 'EN', full = 'Worldwide English'      },
 +
['na'] = { index = 'NA', full = 'North American English' },
 +
['eu'] = { index = 'EU', full = 'European English'      },
 +
['au'] = { index = 'AU', full = 'Australian English'    },
 +
['oc'] = { index = 'OC', full = 'Oceanic English'        },
 +
['fr'] = { index = 'FR', full = 'French'                },
 +
['fr'] = { index = 'FC', full = 'French-Canadian'        },
 +
['de'] = { index = 'DE', full = 'German'                },
 +
['it'] = { index = 'IT', full = 'Italian'                },
 +
['pt'] = { index = 'PT', full = 'Portuguese'            },
 +
['sp'] = { index = 'SP', full = 'Spanish'               },
 +
['jp'] = { index = 'JP', full = 'Japanese'              },
 +
['ja'] = { index = 'JA', full = 'Japanese-Asian'        },
 +
['ae'] = { index = 'AE', full = 'Asian-English'         },
 +
['tc'] = { index = 'TC', full = 'Chinese'               },
 +
['kr'] = { index = 'KR', full = 'Korean'                },
 +
},
  
-- Precious:
+
['language'] = {
['GUR']   = 'Gold Rare',
+
['en'] = { index = 'en', full = 'English'    },
['GScR'] = 'Gold Secret Rare',
+
['fr'] = { index = 'fr', full = 'French'    },
['GGR']   = 'Ghost/Gold Rare',
+
['de'] = { index = 'de', full = 'German'    },
['PIR']  = 'Platinum Rare',
+
['it'] = { index = 'it', full = 'Italian'   },
['PIScR'] = 'Platinum Secret Rare',
+
['pt'] = { index = 'pt', full = 'Portuguese' },
 +
['es'] = { index = 'es', full = 'Spanish'   },
 +
['ja'] = { index = 'ja', full = 'Japanese'   },
 +
['zh'] = { index = 'zh', full = 'Chinese'   },
 +
['ko'] = { index = 'ko', full = 'Korean'     },
 +
},
  
-- Millennium:
+
['medium'] = {
['MLR']   = 'Millennium Rare',
+
['tcg'] = { abbr = 'TCG', full = 'Yu-Gi-Oh! Trading Card Game},
['MLSR'] = 'Millennium Super Rare',
+
['ocg'] = { abbr = 'OCG', full = 'Yu-Gi-Oh! Official Card Game' },
['MLUR'] = 'Millennium Ultra Rare',
+
},
['MLScR'] = 'Millennium Secret Rare',
 
['MLGR']  = 'Millennium Gold Rare',
 
  
-- Parallel:
+
['edition'] = {
['NPR']   = 'Normal Parallel Rare',
+
['1e'] = { abbr = '1E', full = '1st Edition'       },
['SPR']   = 'Super Parallel Rare',
+
['ue'] = { abbr = 'UE', full = 'Unlimited Edition' },
['UPR']   = 'Ultra Parallel Rare',
+
['le'] = { abbr = 'LE', full = 'Limited Edition'   },
['ScPR'] = 'Secret Parallel Rare',
+
['dt'] = { abbr = 'DT', full = 'Duel Terminal'     },
['EScPR'] = 'Extra Secret Parallel Rare',
+
},
['HGPR']  = 'Holographic Parallel Rare',
 
  
-- Duel terminal:
+
['release'] = {
['DNPR'] = 'Duel Terminal Normal Parallel Rare',
+
['op'] = { abbr = 'OP', full = 'Official Proxy' },
['DNRPR'] = 'Duel Terminal Normal Rare Parallel Rare',
+
['gc'] = { abbr = 'GC', full = 'Giant Card'     },
['DRPR'] = 'Duel Terminal Rare Parallel Rare',
+
['ct'] = { abbr = 'CT', full = 'Case Topper'    },
['DSPR'] = 'Duel Terminal Super Parallel Rare',
+
['rp'] = { abbr = 'RP', full = 'Replica'       },
['DUPR'] = 'Duel Terminal Ultra Parallel Rare',
+
},
['DScPR'] = 'Duel Terminal Secret Parallel Rare',
 
  
-- Kaiba's:
+
['rarity'] = {
['KCC'] = 'Kaiba Corporation Common',
+
-- Stadard non-foils:
['KCR']  = 'Kaiba Corporation Rare',
+
['c']   = { abbr = 'C',  full = 'Common'           },
['KCSR'] = 'Kaiba Corporation Super Rare',
+
['nr']  = { abbr = 'NR',  full = 'Normal Rare'       },
['KCUR'] = 'Kaiba Corporation Ultra Rare',
+
['sp'] = { abbr = 'SP',  full = 'Short Print'      },
 +
['ssp'] = { abbr = 'SSP', full = 'Super Short Print' },
 +
['r']   = { abbr = 'R',  full = 'Rare'             },
  
-- Other:
+
-- Stadard foils:
['HFR'] = 'Holofoil Rare',
+
['sr'] = { abbr = 'SR',  full = 'Super Rare'       },
['SFR'] = 'Starfoil Rare',
+
['ur'] = { abbr = 'UR',  full = 'Ultra Rare'       },
['MSR'] = 'Mosaic Rare',
+
['utr'] = { abbr = 'UtR', full = 'Ultimate Rare'   },
['SHR'] = 'Shatterfoil Rare',
+
['gr'] = { abbr = 'GR',  full = 'Ghost Rare'       },
['CR'] = 'Collectors Rare',
+
['hgr'] = { abbr = 'HGR', full = 'Holographic Rare' },
};
 
  
-- @name s
+
-- Secrets:
-- @description Series code.
+
['scr']   = { abbr = 'ScR',  full = 'Secret Rare'           },
local ser = {
+
['pscr'] = { abbr = 'PScR', full = 'Prismatic Secret Rare' },
anime = {
+
['uscr'] = { abbr = 'UScR', full = 'Ultra Secret Rare'     },
-- Shorts:
+
['scur'] = { abbr = 'ScUR',  full = 'Secret Ultra Rare'     },
['toei'] = 'toei', -- TODO: TOEI = Yu-Gi-Oh! (Toei anime) and Yu-Gi-Oh! The Movie
+
['escr'] = { abbr = 'EScR', full = 'Extra Secret Rare'     },
['dm']   = 'dm', ['duelmonsters'] = 'dm',
+
['20scr'] = { abbr = '20ScR', full = '20th Secret Rare'     },
['gx']  = 'gx',
 
['5d']   = '5d', ['5ds']    = '5d',
 
['zx']   = 'zx', ['zexal'] = 'zx',
 
['av']   = 'av', ['arcv']  = 'av',  
 
['vr']   = 'vr', ['vrains'] = 'vr',
 
  
-- Movies:
+
-- Precious:
['mov'] = 'mov', ['pyramidoflight'] = 'mov', ['moviepyramidoflight'] = 'mov',  ['pol']  = 'mov',
+
['gur']   = { abbr = 'GUR',   full = 'Gold Rare'           },
['mov2'] = 'mov2', ['3dbondsbeyondtime'] = 'mov2', ['bondsbeyondtime'] = 'mov2', ['bbt']  = 'mov2',
+
['gscr'] = { abbr = 'GScR',  full = 'Gold Secret Rare'     },
['mov3'] = 'mov3', ['darksideofdimensions'] = 'mov3',                           ['dsod'] = 'mov3',
+
['ggr']   = { abbr = 'GGR',   full = 'Ghost/Gold Rare'     },
},
+
['pir']   = { abbr = 'PIR',   full = 'Platinum Rare'       },
 +
['piscr'] = { abbr = 'PIScR', full = 'Platinum Secret Rare' },
  
manga = {
+
-- Millennium:
-- Manga:
+
['mlr']   = { abbr = 'MLR',  full = 'Millennium Rare'       },
['r'] = 'r',
+
['mlsr'] = { abbr = 'MLSR',  full = 'Millennium Super Rare' },
['dz'] = 'dz', ['dteam'] = 'dz', ['dteamzexal'] = 'dz',
+
['mlur'] = { abbr = 'MLUR', full = 'Millennium Ultra Rare'  },
-- TODO
+
['mlscr'] = { abbr = 'MLScR', full = 'Millennium Secret Rare' },
}
+
['mlgr']  = { abbr = 'MLGR',  full = 'Millennium Gold Rare'  },
};
 
  
-- @name series
+
-- Parallel:
-- @description Series name.
+
['npr']   = { abbr = 'NPR',   full = 'Normal Parallel Rare'       },
local series = {
+
['spr']   = { abbr = 'SPR',   full = 'Super Parallel Rare'       },
anime = {
+
['upr']   = { abbr = 'UPR',  full = 'Ultra Parallel Rare'       },
-- Shorts:
+
['scpr'] = { abbr = 'ScPR', full = 'Secret Parallel Rare'       },
['toei'] = {
+
['escpr'] = { abbr = 'EScPR', full = 'Extra Secret Parallel Rare' },
page  = 'Yu-Gi-Oh! (Toei anime)',
+
['hgpr'] = { abbr = 'HGPR', full = 'Holographic Parallel Rare' },
label = 'Yu-Gi-Oh! (Toei)',
 
},
 
['dm'] = {
 
page  = 'Yu-Gi-Oh! (anime)',
 
label = 'Yu-Gi-Oh!',
 
},
 
['gx'] = {
 
page  = "Yu-Gi-Oh! GX",
 
label = "Yu-Gi-Oh! GX"
 
},
 
['5d'] = {
 
page  = "Yu-Gi-Oh! 5D's",
 
label = "Yu-Gi-Oh! 5D's"
 
},
 
['zx'] = {
 
page  = 'Yu-Gi-Oh! ZEXAL',
 
label = 'Yu-Gi-Oh! ZEXAL',
 
},
 
['av'] = {
 
page  = 'Yu-Gi-Oh! ARC-V',
 
label = 'Yu-Gi-Oh! ARC-V',
 
},
 
['vr'] = {
 
page  = 'Yu-Gi-Oh! VRAINS',
 
label = 'Yu-Gi-Oh! VRAINS',
 
},
 
  
-- Movies:
+
-- Duel terminal:
['mov']  = {
+
['dnpr']  = { abbr = 'DNPR', full = 'Duel Terminal Normal Parallel Rare'     },
page = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
+
['dnrpr'] = { abbr = 'DNRPR', full = 'Duel Terminal Normal Rare Parallel Rare' },
label = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
+
['drpr'] = { abbr = 'DRPR', full = 'Duel Terminal Rare Parallel Rare'       },
},
+
['dspr']  = { abbr = 'DSPR', full = 'Duel Terminal Super Parallel Rare'      },
['mov2'] = {
+
['dupr'] = { abbr = 'DUPR', full = 'Duel Terminal Ultra Parallel Rare'       },
page = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
+
['dscpr'] = { abbr = 'DScPR', full = 'Duel Terminal Secret Parallel Rare'      },
label = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
 
},
 
['mov3'] = {
 
page  = 'Yu-Gi-Oh! The Dark Side of Dimensions',
 
label = 'Yu-Gi-Oh! The Dark Side of Dimensions',
 
},
 
},
 
  
manga = {}
+
-- Kaiba's:
};
+
['kcc']  = { abbr = 'KCC',  full = 'Kaiba Corporation Common'    },
 +
['kcr']  = { abbr = 'KCR',  full = 'Kaiba Corporation Rare'      },
 +
['kcsr'] = { abbr = 'KCSR', full = 'Kaiba Corporation Super Rare' },
 +
['kcur'] = { abbr = 'KCUR', full = 'Kaiba Corporation Ultra Rare' },
  
local CardGallery = {
+
-- Other:
parameters = {
+
['hfr'] = { abbr = 'HFR', full = 'Holofoil Rare'    },
[ 1 ]     = true,
+
['sfr'] = { abbr = 'SFR', full = 'Starfoil Rare'    },
['1']     = true,
+
['msr'] = { abbr = 'MSR', full = 'Mosaic Rare'      },
['type'] = true,
+
['shr'] = { abbr = 'SHR', full = 'Shatterfoil Rare' },
['title'] = true,
+
['cr'] = { abbr = 'CR',  full = 'Collectors Rare'  },
 
},
 
},
 
types = {
 
['anime'] = 'Anime',
 
['manga'] = 'Manga',
 
['game']  = 'Video games', ['vg'] = 'Video games',
 
['other'] = 'Other',
 
}
 
};
 
  
----------------
+
---------------
-- Return table:
+
-- Anime stuff:
----------------
+
---------------
return {
+
['anime'] = {
-- Globals:
+
['release'] = {
['rg']       = rg,
+
['nc'] = { abbr = 'NC', full = 'Non-card' },
['region']   = region,
+
['ca'] = { abbr = 'CA', full = 'Card art' },
['ln']       = ln,
+
},
['language'] = language,
+
 
['ed']       = ed,
+
['series'] = {
['edition']   = edition,
+
-- Shorts:
['rel']       = rel,
+
['toei'] = {
['release']   = release,
+
page  = 'Yu-Gi-Oh! (Toei anime)',
['amRel']     = amRel,
+
label = 'Yu-Gi-Oh! (Toei)',
['amRelease'] = amRelease,
+
},
['r']         = r,
+
['dm'] = {
['rarity']   = rarity,
+
page  = 'Yu-Gi-Oh! (anime)',
 +
label = 'Yu-Gi-Oh!',
 +
},
 +
['gx'] = {
 +
page  = "Yu-Gi-Oh! GX",
 +
label = "Yu-Gi-Oh! GX"
 +
},
 +
['5d'] = {
 +
page  = "Yu-Gi-Oh! 5D's",
 +
label = "Yu-Gi-Oh! 5D's"
 +
},
 +
['zx'] = {
 +
page  = 'Yu-Gi-Oh! ZEXAL',
 +
label = 'Yu-Gi-Oh! ZEXAL',
 +
},
 +
['av'] = {
 +
page  = 'Yu-Gi-Oh! ARC-V',
 +
label = 'Yu-Gi-Oh! ARC-V',
 +
},
 +
['vr'] = {
 +
page  = 'Yu-Gi-Oh! VRAINS',
 +
label = 'Yu-Gi-Oh! VRAINS',
 +
},
  
-- Series:
+
-- Movies:
['ser']   = ser,
+
['mov']  = {
['series'] = series,
+
page  = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
 +
label = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
 +
},
 +
['mov2'] = {
 +
page  = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
 +
label = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
 +
},
 +
['mov3'] = {
 +
page  = 'Yu-Gi-Oh! The Dark Side of Dimensions',
 +
label = 'Yu-Gi-Oh! The Dark Side of Dimensions',
 +
},
 +
},
 +
},
  
-- Templates:
+
-------------------
['Card gallery'] = CardGallery,
+
-- Templates stuff:
 +
-------------------
 +
['templates'] = {
 +
['Card Gallery'] = {
 +
parameters = {
 +
[ 1 ]    = true,
 +
['1']    = true,
 +
['type']  = true,
 +
['title'] = true,
 +
},
 +
 +
types = {
 +
['anime'] = 'Anime',
 +
['manga'] = 'Manga',
 +
['game']  = 'Video games', ['vg'] = 'Video games',
 +
['other'] = 'Other',
 +
}
 +
}
 +
},
 
};
 
};

Revision as of 14:02, 10 August 2018

-- <pre>
-- @name Data/data
-- @description Serves as a database for other modules.
-- NEVER INTERACT DIRECTLY WITH THIS MODULE. USE [[Module:Data]].

------------------------
-- Normalization tables:
------------------------
local N = {};

-- @description
N.region = {
	-- Worldwide English (EN):
	['en'] = 'en', ['ew'] = 'en', ['we'] = 'en', ['ww'] = 'en',
	['english'] = 'en', ['worldwide'] = 'en',
	['worldwideenglish'] = 'en', ['englishworldwide'] = 'en',

	-- North American English (NA):
	['na'] = 'na', ['american'] = 'na', ['americanenglish'] = 'na',

	-- European English (EU):
	['eu'] = 'eu', ['e'] = 'eu', ['european'] = 'eu', ['europeanenglish'] = 'eu',

	-- Australian/Oceanic English (AU/OC):
	['au'] = 'au', ['australian'] = 'au', ['australianenglish'] = 'au',
	['oc'] = 'oc', ['oceanic']    = 'oc', ['oceanicenglish']    = 'oc',

	-- French (FR):
	['fr'] = 'fr', ['f'] = 'fr', ['french'] = 'fr',

	-- French Canadian (FC):
	['fc'] = 'fc', ['c'] = 'fc', ['canadian'] = 'fc', ['frenchcanadian'] = 'fc',

	-- German (DE):
	['de'] = 'de', ['g'] = 'de', ['german'] = 'de',

	-- Italian (IT):
	['it'] = 'it', ['i'] = 'it', ['italian'] = 'it',

	-- Portuguese (PT):
	['pt'] = 'pt', ['p'] = 'pt', ['portuguese'] = 'pt',

	-- Spanish (SP):
	['sp'] = 'sp', ['es'] = 'sp', ['s'] = 'sp', ['spanish'] = 'sp',

	-- Japanese (JP):
	['jp'] = 'jp', ['j'] = 'jp', ['jap'] = 'jp', ['japanese'] = 'jp', 

	-- Japanese Asian (JA):
	['ja'] = 'ja', ['japaneseasian'] = 'ja', ['asianjapanese'] = 'ja', 

	-- Asian English (AE):
	['ae'] = 'ae', ['asianenglish'] = 'ae', ['englishasian'] = 'ae',

	-- Chinese (TC):
	['tc'] = 'tc', ['zh'] = 'tc', ['ch'] = 'tc', ['chinese'] = 'tc',

	-- Korean (KR):
	['kr'] = 'kr', ['ko'] = 'kr', ['k'] = 'kr', ['korean'] = 'kr',
};

-- @description
N.language = {
	['en'] = 'en',
	['na'] = 'en', ['eu'] = 'en',
	['au'] = 'en', ['oc'] = 'en',
	['fr'] = 'fr', ['fc'] = 'fr',
	['de'] = 'de',
	['it'] = 'it',
	['pt'] = 'pt',
	['sp'] = 'es',
	['jp'] = 'ja', ['ja'] = 'ja',
	['ae'] = 'en',
	['tc'] = 'zh',
	['kr'] = 'ko',
};

-- @description
N.medium = {
	['tcg'] = 'tcg', ['trading'] = 'tcg',
	['en']  = 'tcg',
	['na']  = 'tcg', ['eu'] = 'tcg',
	['au']  = 'tcg', ['oc'] = 'tcg',
	['fr']  = 'tcg', ['fc'] = 'tcg',
	['de']  = 'tcg',
	['it']  = 'tcg',
	['pt']  = 'tcg',
	['sp']  = 'tcg',
	['ocg'] = 'ocg', ['official'] = 'ocg',
	['jp']  = 'ocg', ['ja'] = 'ocg',
	['ae']  = 'ocg',
	['tc']  = 'ocg',
	['kr']  = 'ocg',
};

-- @description
N.edition = {
	['1e'] = '1e', ['1'] = '1e', ['first']     = '1e', ['1st'] = '1e',
	['ue'] = 'ue', ['u'] = 'ue', ['unlimited'] = 'ue',
	['le'] = 'le', ['l'] = 'le', ['limited']   = 'le',
	['dt'] = 'dt',            ['duelterminal'] = 'dt',
};

N.release = {
	['op'] = 'op', ['proxy']   = 'op',
	['gc'] = 'gc', ['giant']   = 'gc',
	['ct'] = 'ct', ['topper']  = 'ct',
	['rp'] = 'rp', ['replica'] = 'rp',
};

-- @description
N.rarity = {
	-- Stadard non-foils:
	['c']    = 'c',      ['common']          = 'c',  ['n'] = 'c',
	['nr']   = 'nr',     ['normal']          = 'nr',
	['sp']   = 'sp',     ['shortprint']      = 'sp',
	['ssp']  = 'ssp',    ['supershortprint'] = 'ssp',
	['r']    = 'r',      ['rare']            = 'r',

	-- Stadard foils:
	['sr']   = 'sr',     ['super']       = 'sr',
	['ur']   = 'ur',     ['ultra']       = 'ur',
	['utr']  = 'utr',    ['ultimate']    = 'utr',
	['gr']   = 'gr',     ['ghost']       = 'gr',
	['hgr']  = 'hgr',    ['holographic'] = 'hgr',

	-- Secrets:
	['scr']   = 'scr',   ['secret']      = 'scr',
	['pscr']  = 'pscr',  ['prismatic']   = 'pscr', ['prismaticsecret'] = 'pscr',
	['uscr']  = 'uscr',  ['ultrasecret'] = 'uscr',
	['scur']  = 'scur',  ['secretultra'] = 'scur',
	['20scr'] = '20scr', ['20thsecret']  = '20scr',
	['escr']  = 'escr',  ['extrasecret'] = 'escr',

	-- Precious:
	['gur']   = 'gur',   ['gold']           = 'gur', ['goldultra'] = 'gur',
	['gscr']  = 'gscr',  ['goldsecret']     = 'gscr',
	['ggr']   = 'ggr',   ['ghostgold']      = 'ggr',
	['pir']   = 'pir',   ['platinum']       = 'pir',
	['piscr'] = 'piscr', ['platinumsecret'] = 'piscr',

	-- Millennium:
	['mlr']   = 'mlr',   ['millennium']      = 'mlr',
	['mlsr']  = 'mlsr',  ['millenniumsuper'] = 'mlsr',
	['mlur']  = 'mlur',  ['millenniumultra'] = 'mlur',
	['mlscr'] = 'mlscr', ['millenniumultra'] = 'mlur',
	['mlgr']  = 'mlgr',  ['millenniumgold']  = 'mlgr', -- Why not MLGUR?

	-- Parallel:
	['npr']   = 'npr',   ['normalparallel']      = 'npr',
	['spr']   = 'spr',   ['superparallel']       = 'spr',
	['upr']   = 'upr',   ['ultraparallel']       = 'upr',
	['scpr']  = 'scpr',  ['secretparallel']      = 'scpr',
	['escpr'] = 'escpr', ['extrasecretparallel'] = 'escpr',
	['hgpr']  = 'hgpr' , ['holographicparallel'] = 'hgpr',

	-- Duel terminal: (Why not removing the "parallel rare" part?)
	['dnpr']  = 'dnpr',  ['duelterminalnormalparallel']     = 'dnpr', -- Duel Terminal Common
	['dnrpr'] = 'dnrpr', ['duelterminalnormalrareparallel'] = 'dnrpr',
	['drpr']  = 'drpr',  ['duelterminalrareparallel']       = 'drpr',
	['dspr']  = 'dspr',  ['duelterminalsuperparallel']      = 'dspr',
	['dupr']  = 'dupr',  ['duelterminalultraparallel']      = 'dupr',
	['dscpr'] = 'dscpr', ['duelterminalsecretparallel']     = 'dscpr',

	-- Kaiba's:
	['kcc']  = 'kcc',  ['kaibacorporationcommon'] = 'kcc',
	['kcn']  = 'kcc',  ['kaibacorporationnormal'] = 'kcc',  -- Yes, they are the same
	['kcr']  = 'kcr',  ['kaibacorporation']       = 'kcr',
	['kcsr'] = 'kcsr', ['kaibacorporationsuper']  = 'kcsr', ['kcs'] = 'kcsr',
	['kcur'] = 'kcur', ['kaibacorporationultra']  = 'kcur', ['kcu'] = 'kcur',

	-- Other:
	['hfr'] = 'hfr', ['holofoil']    = 'hfr',
	['sfr'] = 'sfr', ['starfoil']    = 'sfr',
	['msr'] = 'msr', ['mosaic']      = 'msr',
	['shr'] = 'shr', ['shatterfoil'] = 'shr',
	['cr']  = 'cr',  ['collectors']  = 'cr',
};

---------------
-- Anime stuff:
---------------
N.anime = {};

N.anime.release = {
	['nc'] = 'nc', ['noncard'] = 'nc',
	['ca'] = 'ca', ['cardart'] = 'ca', ['art'] = 'ca',
};

N.anime.series = {
	-- Shorts:
	['toei'] = 'toei', -- TODO: TOEI = Yu-Gi-Oh! (Toei anime) and Yu-Gi-Oh! The Movie
	['dm']   = 'dm', ['duelmonsters'] = 'dm',
	['gx']   = 'gx',
	['5d']   = '5d', ['5ds']    = '5d',
	['zx']   = 'zx', ['zexal']  = 'zx',
	['av']   = 'av', ['arcv']   = 'av', 
	['vr']   = 'vr', ['vrains'] = 'vr',

	-- Movies:
	['mov']  = 'mov',  ['pyramidoflight'] = 'mov', ['moviepyramidoflight'] = 'mov',  ['pol']  = 'mov',
	['mov2'] = 'mov2', ['3dbondsbeyondtime'] = 'mov2', ['bondsbeyondtime'] = 'mov2', ['bbt']  = 'mov2',
	['mov3'] = 'mov3', ['darksideofdimensions'] = 'mov3',                            ['dsod'] = 'mov3',
};

--------------------
-- Public interface:
--------------------
--[=[Doc
@exports
<ul>
	<li>region</li>
	<li>language</li>
	<li>medium</li>
	<li>edition</li>
	<li>release</li>
	<li>rarity</li>
	<li>
		anime
		<ul>
			<li>release</li>
			<li>series</li>
		</ul>
	</li>
	<li>
		templates
		<ul>
			<li>[[Template:Card gallery|]]</li>
		</ul>
	</li>
</ul>
]=]
return {
	['normalize'] = N,
	
	['region'] = {
		['en'] = { index = 'EN', full = 'Worldwide English'      },
		['na'] = { index = 'NA', full = 'North American English' },
		['eu'] = { index = 'EU', full = 'European English'       },
		['au'] = { index = 'AU', full = 'Australian English'     },
		['oc'] = { index = 'OC', full = 'Oceanic English'        },
		['fr'] = { index = 'FR', full = 'French'                 },
		['fr'] = { index = 'FC', full = 'French-Canadian'        },
		['de'] = { index = 'DE', full = 'German'                 },
		['it'] = { index = 'IT', full = 'Italian'                },
		['pt'] = { index = 'PT', full = 'Portuguese'             },
		['sp'] = { index = 'SP', full = 'Spanish'                },
		['jp'] = { index = 'JP', full = 'Japanese'               },
		['ja'] = { index = 'JA', full = 'Japanese-Asian'         },
		['ae'] = { index = 'AE', full = 'Asian-English'          },
		['tc'] = { index = 'TC', full = 'Chinese'                },
		['kr'] = { index = 'KR', full = 'Korean'                 },
	},

	['language'] = {
		['en'] = { index = 'en', full = 'English'    },
		['fr'] = { index = 'fr', full = 'French'     },
		['de'] = { index = 'de', full = 'German'     },
		['it'] = { index = 'it', full = 'Italian'    },
		['pt'] = { index = 'pt', full = 'Portuguese' },
		['es'] = { index = 'es', full = 'Spanish'    },
		['ja'] = { index = 'ja', full = 'Japanese'   },
		['zh'] = { index = 'zh', full = 'Chinese'    },
		['ko'] = { index = 'ko', full = 'Korean'     },
	},

	['medium'] = {
		['tcg'] = { abbr = 'TCG', full = 'Yu-Gi-Oh! Trading Card Game'  },
		['ocg'] = { abbr = 'OCG', full = 'Yu-Gi-Oh! Official Card Game' },
	},

	['edition'] = {
		['1e'] = { abbr = '1E', full = '1st Edition'       },
		['ue'] = { abbr = 'UE', full = 'Unlimited Edition' },
		['le'] = { abbr = 'LE', full = 'Limited Edition'   },
		['dt'] = { abbr = 'DT', full = 'Duel Terminal'     },
	},

	['release'] = {
		['op'] = { abbr = 'OP', full = 'Official Proxy' },
		['gc'] = { abbr = 'GC', full = 'Giant Card'     },
		['ct'] = { abbr = 'CT', full = 'Case Topper'    },
		['rp'] = { abbr = 'RP', full = 'Replica'        },
	},

	['rarity'] = {
		-- Stadard non-foils:
		['c']   = { abbr = 'C',   full = 'Common'            },
		['nr']  = { abbr = 'NR',  full = 'Normal Rare'       },
		['sp']  = { abbr = 'SP',  full = 'Short Print'       },
		['ssp'] = { abbr = 'SSP', full = 'Super Short Print' },
		['r']   = { abbr = 'R',   full = 'Rare'              },

		-- Stadard foils:
		['sr']  = { abbr = 'SR',  full = 'Super Rare'       },
		['ur']  = { abbr = 'UR',  full = 'Ultra Rare'       },
		['utr'] = { abbr = 'UtR', full = 'Ultimate Rare'    },
		['gr']  = { abbr = 'GR',  full = 'Ghost Rare'       },
		['hgr'] = { abbr = 'HGR', full = 'Holographic Rare' },

		-- Secrets:
		['scr']   = { abbr = 'ScR',   full = 'Secret Rare'           },
		['pscr']  = { abbr = 'PScR',  full = 'Prismatic Secret Rare' },
		['uscr']  = { abbr = 'UScR',  full = 'Ultra Secret Rare'     },
		['scur']  = { abbr = 'ScUR',  full = 'Secret Ultra Rare'     },
		['escr']  = { abbr = 'EScR',  full = 'Extra Secret Rare'     },
		['20scr'] = { abbr = '20ScR', full = '20th Secret Rare'      },

		-- Precious:
		['gur']   = { abbr = 'GUR',   full = 'Gold Rare'            },
		['gscr']  = { abbr = 'GScR',  full = 'Gold Secret Rare'     },
		['ggr']   = { abbr = 'GGR',   full = 'Ghost/Gold Rare'      },
		['pir']   = { abbr = 'PIR',   full = 'Platinum Rare'        },
		['piscr'] = { abbr = 'PIScR', full = 'Platinum Secret Rare' },

		-- Millennium:
		['mlr']   = { abbr = 'MLR',   full = 'Millennium Rare'        },
		['mlsr']  = { abbr = 'MLSR',  full = 'Millennium Super Rare'  },
		['mlur']  = { abbr = 'MLUR',  full = 'Millennium Ultra Rare'  },
		['mlscr'] = { abbr = 'MLScR', full = 'Millennium Secret Rare' },
		['mlgr']  = { abbr = 'MLGR',  full = 'Millennium Gold Rare'   },

		-- Parallel:
		['npr']   = { abbr = 'NPR',   full = 'Normal Parallel Rare'       },
		['spr']   = { abbr = 'SPR',   full = 'Super Parallel Rare'        },
		['upr']   = { abbr = 'UPR',   full = 'Ultra Parallel Rare'        },
		['scpr']  = { abbr = 'ScPR',  full = 'Secret Parallel Rare'       },
		['escpr'] = { abbr = 'EScPR', full = 'Extra Secret Parallel Rare' },
		['hgpr']  = { abbr = 'HGPR',  full = 'Holographic Parallel Rare'  },

		-- Duel terminal:
		['dnpr']  = { abbr = 'DNPR',  full = 'Duel Terminal Normal Parallel Rare'      },
		['dnrpr'] = { abbr = 'DNRPR', full = 'Duel Terminal Normal Rare Parallel Rare' },
		['drpr']  = { abbr = 'DRPR',  full = 'Duel Terminal Rare Parallel Rare'        },
		['dspr']  = { abbr = 'DSPR',  full = 'Duel Terminal Super Parallel Rare'       },
		['dupr']  = { abbr = 'DUPR',  full = 'Duel Terminal Ultra Parallel Rare'       },
		['dscpr'] = { abbr = 'DScPR', full = 'Duel Terminal Secret Parallel Rare'      },

		-- Kaiba's:
		['kcc']  = { abbr = 'KCC',  full = 'Kaiba Corporation Common'     },
		['kcr']  = { abbr = 'KCR',  full = 'Kaiba Corporation Rare'       },
		['kcsr'] = { abbr = 'KCSR', full = 'Kaiba Corporation Super Rare' },
		['kcur'] = { abbr = 'KCUR', full = 'Kaiba Corporation Ultra Rare' },

		-- Other:
		['hfr'] = { abbr = 'HFR', full = 'Holofoil Rare'    },
		['sfr'] = { abbr = 'SFR', full = 'Starfoil Rare'    },
		['msr'] = { abbr = 'MSR', full = 'Mosaic Rare'      },
		['shr'] = { abbr = 'SHR', full = 'Shatterfoil Rare' },
		['cr']  = { abbr = 'CR',  full = 'Collectors Rare'  },
	},

	---------------
	-- Anime stuff:
	---------------
	['anime'] = {
		['release'] = {
			['nc'] = { abbr = 'NC', full = 'Non-card' },
			['ca'] = { abbr = 'CA', full = 'Card art' },
		},

		['series'] = {
			-- Shorts:
			['toei'] = {
				page  = 'Yu-Gi-Oh! (Toei anime)',
				label = 'Yu-Gi-Oh! (Toei)',
			},
			['dm'] = {
				page  = 'Yu-Gi-Oh! (anime)',
				label = 'Yu-Gi-Oh!',
			},
			['gx'] = {
				page  = "Yu-Gi-Oh! GX",
				label = "Yu-Gi-Oh! GX"
			},
			['5d'] = {
				page  = "Yu-Gi-Oh! 5D's",
				label = "Yu-Gi-Oh! 5D's"
			},
			['zx'] = {
				page  = 'Yu-Gi-Oh! ZEXAL',
				label = 'Yu-Gi-Oh! ZEXAL',
			},
			['av'] = {
				page  = 'Yu-Gi-Oh! ARC-V',
				label = 'Yu-Gi-Oh! ARC-V',
			},
			['vr'] = {
				page  = 'Yu-Gi-Oh! VRAINS',
				label = 'Yu-Gi-Oh! VRAINS',
			},

			-- Movies:
			['mov']  = {
				page  = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
				label = 'Yu-Gi-Oh! The Movie: Pyramid of Light',
			},
			['mov2'] = {
				page  = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
				label = 'Yu-Gi-Oh! 3D Bonds Beyond Time',
			},
			['mov3'] = {
				page  = 'Yu-Gi-Oh! The Dark Side of Dimensions',
				label = 'Yu-Gi-Oh! The Dark Side of Dimensions',
			},
		},
	},

	-------------------
	-- Templates stuff:
	-------------------
	['templates'] = {
		['Card Gallery'] = {
			parameters = {
				[ 1 ]     = true,
				['1']     = true,
				['type']  = true,
				['title'] = true,
			},
			
			types = {
				['anime'] = 'Anime',
				['manga'] = 'Manga',
				['game']  = 'Video games', ['vg'] = 'Video games',
				['other'] = 'Other',
			}
		}
	},
};