Card = require('Module:Card')
-- Extra traits that apply to cards in this game
require('Module:Card/traits/implicit Normal and Effect')
require('Module:Card/traits/has sets')
local Parent = mw.clone(Card)
-- ------------------------------------
-- Overwrite `Module:Card` data
-- ------------------------------------
Card.config.defaultImage = 'DM5-Box-JP.jpg'
Card.config.enableMainLinks = true
Card.config.footerText = "''[[Yu-Gi-Oh! Duel Monsters 5: Expert 1]]'' cards "
.. "([[List of Yu-Gi-Oh! Duel Monsters 5: Expert 1 cards|list]] '''·''' "
.. "[[Gallery of Yu-Gi-Oh! Duel Monsters 5: Expert 1 cards|gallery]])"
-- Card.config.icons.level = '[[File:Level-DM5.png|7px|alt=]]'
Card.config.icons.effect = '[[File:Effect Monster-DM5.png|16px|Effect|alt=]]'
Card.config.icons.cardTypes = '[[File:{$cardType}-card type-DM5.png|16px|alt=]]'
Card.config.icons.properties = '[[File:{$property}-Property-DM5.png|16px|alt=]]'
Card.config.icons.attributes = '[[File:{$attribute}-Attribute-DM5.png|16px|alt=]]'
Card.config.icons.types = '[[File:{$type}-Type-DM5.png|16px|{$type}|alt=]]'
Card.config.icons.summonTypes = '[[File:{$type} Monster-DM5.png|16px|{$type}|alt=]]'
Card.config.langs = { 'en', 'ja' }
Card.config.rows = {
'cardType',
'property',
'attribute',
'type',
'level',
'atkDef',
'effectType',
'number',
'internalNumber',
'lore',
'limitationText',
'password'
}
Card.config.allowedCardTypes = { 'Monster', 'Magic', 'Trap', 'Token', 'Ticket' }
Card.config.allowedAttributes = {
'LIGHT', 'DARK', 'EARTH', 'WATER', 'FIRE', 'WIND', 'DIVINE'
}
Card.config.allowedTypes = {
'Dragon', 'Spellcaster', 'Zombie', 'Warrior', 'Beast-Warrior', 'Beast',
'Winged Beast', 'Fiend', 'Fairy', 'Insect', 'Dinosaur', 'Reptile', 'Fish',
'Sea Serpent', 'Machine', 'Thunder', 'Aqua', 'Pyro', 'Rock', 'Plant',
'Fusion', 'Ritual', 'Special Summon',
'Flip', 'Toon',
'Effect',
'Token',
}
-- Configuration for the sets trait
Card.setsConfig.breakdown = {
{
abbr = 'dm5',
shortName = 'Duel Monsters 5',
name = 'Yu-Gi-Oh! Duel Monsters 5: Expert 1'
},
}
Card.setsConfig.uses.releaseDates = false
Card.setsConfig.uses.cardNumbers = false
Card.setsConfig.uses.artworks = true
Card.setsConfig.uses.rarities = true
-- Add categories
table.insert(Card.categories, 'Yu-Gi-Oh! Duel Monsters 5: Expert 1 cards')
-- ------------------------------------
-- Override existing methods
-- ------------------------------------
-- Override the `setData` method.
-- Extend to also set some DM5-specific stuff
function Card:setData(args)
-- Call the original function
Parent.setData(self, args)
self.number2 = args.number2;
self.internalNumber = args.internal_number;
self.internalNumber2 = args.internal_number2;
self:setImages()
end
-- ------------------------------------
-- Add custom functions
-- ------------------------------------
-- Determine images automatically
function Card:setImages()
-- Add the first artwork to the list of images.
table.insert(self.images, {
image = self.cardImageName .. '-DM5-JP-VG.png',
artwork = 1,
isCurrent = true
})
-- If there is a second artwork, add it too.
if (self.number2 or self.internalNumber2) then
table.insert(self.images, {
image = self.cardImageName .. '-DM5-JP-VG-2.png',
artwork = 2,
isCurrent = false
})
end
end
function Card:addInternalNumberRow()
self:addRow('Internal number', self.internalNumber)
end
return Card