Guidelines:Data Modules

Megami Tensei Wiki makes use of data modules to handle large quantities of data. While creating applications that work with modules requires knowledge of Lua, a scripting language, data modules can be freely edited and created. The purpose of this page is to give a general overview of how to edit a data module.
General Guidelines
Data modules are specific pages in the Module: namespace that act as a database of basic information about specific objects, such as Module:Data/Skill/smt4 collecting data about Skills in Shin Megami Tensei IV. The advantage of this approach is that the data can be referenced repeatedly, meaning that users do not have to spend time manually typing out the information each time that data is needed. Data modules are formatted as tables, and each object or entry in the table is its own sub-table, formatted like so:
['key'] = {
text_parameter = 'value',
numbers_parameter = value,
},
Each entry begins with ['name of entry'] = {, referred to as the key. The key entered is the name of the item, skill, etc. that is being covered. The name of the entry must be written in lower-case, and any entries which use an apostrophe must either be encased in double quotes (["thor's judgment"]) or use an escape character such as \ (['thor\'s judgment']), as otherwise the table will not function correctly.
Attributes of an object can be defined with parameters, then filled in with values. This follows the same rules as the key, and must be formatted differently depending on the parameter. For parameters that have values of text, it must be enclosed in apostrophes/quotes, 'like this'. For numerical values, the value does not typically need to be encased in apostrophes/quotes. However, some parameters are exceptions. For such cases, they will be listed in the specific parameter guidelines further into the documentation. Following the end of each parameter (after the apostrophe), a comma must also be used, or the module will interpret the next parameter as being part of the value for the first. For the same reason, at the end of the table, }, must be written before the start of the next entry in the table, unless it is the final entry in the module. However, because the module may be expanded further, and because there is no technical reason not to include it, closing curly brackets should still have this comma.
In summary:
- Keys should always be lowercase, and apostrophes should be formatted properly
- Text parameter values should be encased in apostrophes, while number values do not always have to be
- Commas should follow every parameter and every closing curly bracket
| Correct ✔ | Incorrect ✘ |
|---|---|
['masakado\'s sword'] = {
text_parameter = 'value',
numbers_parameter = value
},
|
['Masakado's Sword'] = {
text_parameter = value
numbers_parameter = value
}
|
| In this example, the apostrophe in the key name is properly formatted to allow it to be used in the key. The text parameter is enclosed in apostrophes properly, and a comma has been added after the curly bracket at the end. | The key has been improperly formatted in this example. It should be in lowercase, and the apostrophe needs to be formatted correctly, as Mediawiki will read the key as Masakado and interpet s Sword' as an error. The text parameter has no apostrophes enclosing it, and there is no comma afterward to separate it from the numbers_parameter. There is no comma after the curly bracket at the end, which can only be done for the very last entry in the data.
|
While the exact placement of each entry in the table is irrelevant to the function of the data and to most applications using it, it is recommended to group like items together for ease of use by future editors. For example, when creating item data, consumables should be grouped together, rather than mixed in among gemstones, barter items, unused items, key items, and so forth. The more structured data is, the better.
When a parameter is known to exist, but the exact value is currently unknown, it is best to enter a value of '?'. This indicates to future editors that this information is missing. If a parameter does not exist or is known to be blank, it is best to exclude the parameter entirely or enter '—' as the value. Whether or not the parameter should be excluded or filled with '—' depends on the type of parameter, where it is found, and how it will be used. For example, because passive skills generally do not have a cost, the parameter associated with cost is better left excluded; however, because most other skill attributes do have a cost, it may be better to use '—' for a fire-attribute skill that has no cost because it is exclusive to enemies.
Creating Data Modules
Creating data modules is a relatively simple task. Generally an empty data module looks like this:
local data = {
(Tables go here)
}
return {
data = data,
}
Note that instances of the keyword data in this code block should be replaced with the relevant type of data, such as skill, icon, item and so forth. If it is unclear which keyword to use, it is best to refer to an existing module for that particular data type. Once this has been done, data authors can simply begin inserting tables with data into the section labeled "tables go here."
Data Sources
Certain parameters are often hidden from the player during gameplay and may not necessarily match the given description. The following are considered to be reliable sources of this information, with items higher on the list taking priority when there is a conflict between sources:
- Datamined game data
- In cases where the datamined data contradicts the stated effect or values from within the game itself, the datamine takes priority, and the
notesfield is used to document the discrepancy.
- In cases where the datamined data contradicts the stated effect or values from within the game itself, the datamine takes priority, and the
- In-game text or displayed values
- An exception is made if it is stated within a manual or strategy guide that a displayed value is incorrect and noted within the guide. However, as guidebooks can be wrong, a discrepancy should still prioritize the in-game information in all other cases.
- Manuals and strategy guides
- Manual testing (~100+ tests)
- Information gleaned from manual testing should be noted using a comment on the skill data for integrity purposes. Comments may be placed by using two dashes
--like sonext to (but not within) relevant parameters, following the comma. The comment should include a brief description of the results of the test, the number of tests done, what version of the game the test was done on, and (if applicable) what emulator was used.
- Information gleaned from manual testing should be noted using a comment on the skill data for integrity purposes. Comments may be placed by using two dashes
Skill Data
Used with Skill, Skill Effect, Skill List and GameDesc.
Parameters
| Parameter | Description | Example |
|---|---|---|
| attribute | The elemental attribute of the skill. This must be written in lowercase, like the skill name. It is responsible for identifying the attribute of the skill where applicable, and in games with icons, the default icon that will be used for the skill. | attribute = 'almighty'
|
| attribute_link | Sets the link for the attribute if it would otherwise link to an unrelated article, for example, setting attribute_link = 'Charge (Attribute)', will link the attribute to Charge (Attribute) (the skill attribute) rather than Charge (the skill). |
attribute_link = 'Wood (Attribute)'
|
| icon | This parameter is only used if the attribute of a skill does not match the icon, such as for Unison Skills in Persona Q2. Like attribute, this parameter must be written in lowercase. This parameter will change the displayed icon to the value entered, for example: icon = 'fire' will display |
icon = 'ice'
|
| damagetype | The damage type of the skill. Add "Physical" if a physical skill; "Magical" if a magic skill; "Healing" if it does healing, and "Status" if a skill that inflicts a status ailment, buff, or debuff. Otherwise, leave blank. Damage types should also not be used for elemental damage. The "damage type" of a skill influences the kind of damage it does and how it will behave, such as whether or not it will be affected by Tetrakarn or Makarakarn, and whether or not it is capable of naturally landing a critical hit. | damagetype = 'Physical'
|
| effect | Any special properties of the skill. This should be kept concise; lengthier explanations of skill mechanics should not go into the skill data but rather in a dedicated Mechanics subsection on the skill's page. It should also not be used for descriptions of unlock conditions, skill exclusivity, or for information that is redundant to another field (i.e. the cost should not be present). For skills without descriptions (such as titles without skill descriptions and titles with unviewable enemy-only skills), Template:Skill will use the effect field as a fallback when displaying skills in stat tables. For this reason, it is especially important for the effect field to remain concise. |
effect = 'Inflicts Burn.'
|
| cost | The skill's cost to use as a numerical value. For skills which cost a percentage of a meter (such as HP-cost Physical skills), this should instead be formatted as 'x%' within apostrophes. This parameter can be omitted from passive skills. |
cost = 20cost = '17%'
|
| costtype | The cost type of a skill, i.e. HP, MP, SP, PM. For skills whose sole cost is a full gauge, i.e. Theurgy and Magatsuhi Skills, this parameter may be omitted. It may also be omitted for passive skills. |
costtype = 'SP'
|
| target | The target of the skill's effects, if applicable. Not to be confused with range. Target is best thought of as the combatants which will be affected by a skill. In titles where a targeting reticle or confirmation screen is present, the target is equivalent to the combatants that are selectable by the targeting reticle or cursor. For skills that can only be used outside of battle, the target is the party members that will be affected. Target should be formatted as follows, depending on the skill:Enemies: Single enemy, Enemy group, All enemies, Random enemies Party: Single ally, Random ally, Random allies, All allies, Self, Party Grid-based: Map, Party, Team, Ally's Area, Enemy's Area Skills that target all combatants should simply be written as All. |
target = 'Self'
|
| hit | The number of hits the skill inflicts, if applicable. For multiple hits, format as '1-5'. This must be placed within apostrophes, or the data for multiple hits will instead be interpreted as math, for example, 1-5 will be output as -4. |
hit = '4-5'hit = 2
|
| power | The skill's base power using hard numbers, if applicable. | power = 150
|
| powerlvl | The power level description of the skill, if applicable. This reflects the listed in-game power scaling: Light / Weak, Moderate / Medium, Heavy, Severe, etc. If the skill has no such description, do not use this parameter. | powerlvl = 'Severe'
|
| crit | The skill's critical rate. Formatted as 'x%'. |
crit = '70%'
|
| acc | The skill's accuracy. Formatted as 'x%'. |
acc = '100%'
|
| range | The skill's range of usage. Separate from the restriction of targets that will be affected by a skill, which is covered by target. Range is used when a skill is unable to target all possible targets due to game mechanics such as row-based or grid-based battle systems; for example, a skill that targets all allies would target all allies if they were in the same row, but because a portion of the party is in the back row, the range is limited to a single row. Range should be formatted as follows:Row-based: Front row, Splash, effect parameter.Grid-based: Self, Team, Map, Party. For map skills, also list the grid range, i.e. Map (2-5).Field-based: Cone, Circle, Vertical Line, Horizontal Line. Additionally, the markers (S), (M), and (L) can be used to designate small, medium, and large areas of the denoted shape. |
range = 'Party'
|
| skilltype | The skill's type, such as Magic, Extra, Theurgy, Fusion, Magatsuhi Skill, Showtime, Commander, and so forth. For skills that do not fall into a special category, they are considered to be Magic. Skill types are not for subtypes or categories such as Passive, Dark or Nerve; they are specifically meant to distinguish between skills which are standard magic and skills which have unique mechanics. | skilltype = 'Theurgy'
|
| rank | The skill's rank, which affects what skills it can be changed into when skill mutations occur and its priority during random inheritance. | rank = '12'
|
| inbattle | Can the skill be used in battle? y for yes, n for no. |
inbattle = 'y'
|
| outbattle | Can the skill be used outside of battle? y for yes, n for no. |
outbattle = 'n'
|
| description | The skill's in-game description, if applicable. When the title in question only exists in Japanese, this serves as the translation for description_ja. |
description = 'Attack magic. Front row. Power 23. Fire-type damage to 1 enemy.'
|
| description_ja | The skill's in-game description in the original Japanese, if applicable. Used for Japanese-only games. | description_ja = '攻撃魔法 前列 威力23 敵1体に火炎系ダメージ'
|
| notes | For short notes on a skill that do not fit elsewhere. This should not be used for detailed, in-depth explanations of skill effects, which should be placed on the skill page; rather it is used for brief anecdotes on additional properties of a skill. | notes = 'Bugged and does not work.'notes = 'Unused.'notes = 'Exclusive to Jack Frost and cannot be inherited.'
|
| name | Sets the display name of the skill. This should be rendered with the proper capitalization and accents as seen in-game. The name must also escape any apostrophes or be encased with double quotes if it is required for the name of the skill at the beginning of skill data. This must be included. | name = 'Fire'
|
| link | Sets the target page for the link, if different from the skill name; i.e. pointing to Fire (Skill) instead of Fire. | link = 'Fire (Skill)'
|
| name_note | Places Template:Exp after the name of the skill, which will display the text entered as the parameter's value as a tooltip. Also used in rare instances where notes need to be displayed on skill lists for stat tables. | name_note = 'Enemy-exclusive'
|
| effect_note | Places Template:Exp after the name of the game when the skill is called in Template:Skill Effect, for differentiating between two versions of the same skill in the same game. Omit this parameter if it is not needed. | effect_note = 'Freikugel'
|
| platform | Places Template:Exp Plat after the name of the game when the skill is called in Template:Skill Effect, for differentiating between two versions of the same skill across different versions. Omit this parameter if it is not needed. | platform = 'PSP'
|
A filled skill data entry may look like this:
['lunge'] = {
attribute = 'phys',
attribute_link = 'sword (attribute)',
damage_attribute = 'almighty',
damagetype = 'Physical',
effect = 'Inflicts damage.',
cost = 14,
costtype = 'HP',
target = 'Single',
hit = '1',
power = '145',
powerlvl = 'Light',
crit = '?',
acc = '?',
range = 'Melee',
skilltype = 'Magic',
inbattle = 'y',
outbattle = 'n',
description = 'Light Phys attack. (1 Enemy)',
description_ja = '日本語',
notes = 'Power scales with Boost.',
name = 'Lunge',
link = 'Deathbound',
name_note = 'Enemy-exclusive',
effect_note = 'Lunge',
},
Title-Specific Guidelines
| Parameter | Guideline |
|---|---|
| rdsname | Used for the skill name in the Revelations: The Demon Slayer release. |
| Parameter | Guideline |
|---|---|
| range | Use the values from Template:MIPRange instead of previously suggested values. A reference can be found here. |
| rpname | Used for the skill name in the Revelations: Persona release. |
| rpdescription | Used for the skill description in the Revelations: Persona release. |
| Parameter | Guideline |
|---|---|
| dkname | Used for the skill name in the DemiKids Light Version and Dark Version release. |
| dkdescription | Used for the skill description in the DemiKids Light Version and Dark Version release. |
| Parameter | Guideline |
|---|---|
| mantra | Optional parameter for the Mantra that a skill is learned from. Ignore for enemy-exclusive skills. |
| Parameter | Guideline |
|---|---|
| costicon | Optional parameter for the icon that displays alongside the skill's cost; accepts prepare, tap, and yomi as inputs. Used for the additional non-MAG cost of a skill, such as discarding or tapping the Demon card.
|
Item Data
Used with Item, Item Effect and GameDesc.
Parameters
| Parameter | Description | Example |
|---|---|---|
| name | Sets the display name of the item. This should be rendered with the proper capitalization as seen in-game. This must be included. | name = 'Al Azif'
|
| link | Sets the target page for the link, if different from the item name; i.e. pointing to Al Azif (Item) instead of Al Azif. | link = 'Al Azif (Item)'
|
| itemtype | The type of item in question. Item types should be as defined by a specific title's own category names if applicable; however, the following broad item types are recommended for all other titles or for items of unclear category:
Consumable, |
itemtype = 'Key Item'
|
| icon | This parameter sets which icon will display alongside the item when called from item data. This overrides any icon that may be set by itemtype. |
icon = 'rare material'
|
| target | The target of the item's effects, if applicable. Target is best thought of as the combatants which will be affected by an item. In titles where a targeting reticle or confirmation screen is present, the target is equivalent to the combatants that are selectable by the targeting reticle or cursor. For items that can only be used outside of battle, the target is the party members that will be affected. Target should be formatted as follows, depending on the item: Enemies: Single enemy, Enemy group, All enemies, Random enemies Party: Single ally, Random ally, Random allies, All allies, Party Grid-based: Map, Party, Team, Ally's Area, Enemy's Area |
target = 'Self'
|
| capacity | The maximum number of copies of an item that can be held at one time. For titles where all items take up individual inventory spaces, omit the capacity. | capacity = 99
|
| buy | The amount of currency that is required to purchase an item from a shop. This parameter is not used for items that are exchanged for with materials such as gems. The currency type will be automatically applied based on the game in question, so there is no need to specify it within the module unless multiple currencies exist in a title. For such titles, reference the list of title-specific guidelines below. | buy = 2500
|
| sell | The amount of currency received when selling an item to a shop. The currency type will be automatically applied based on the game in question, so there is no need to specify it within the module unless multiple currencies exist in a title. For such titles, reference the list of title-specific guidelines below. | sell = 1250
|
| inbattle | Can the item be used in battle? y for yes, n for no. |
inbattle = 'y'
|
| outbattle | Can the item be used outside of battle? y for yes, n for no. |
outbattle = 'n'
|
| effect | The effect of using the item. If this is a combat item that deals damage, the attribute of the damage should be mentioned. | effect = 'Inflicts 150 Fire damage.'
|
| description | The item's in-game description, if applicable. When the title in question only exists in Japanese, this serves as the translation for description_ja. |
description = 'Recovery item. Single. Recovers just a little HP to 1 ally.'
|
| description_ja | The item's in-game description in the original Japanese, if applicable. Used for Japanese-only games. | description_ja = '回復アイテム 単体 味方1体のHP少しだけ回復'
|
| notes | For short notes on an item that do not fit elsewhere. This should not be used for detailed, in-depth explanations of item effects, which should be placed on the item page; rather it is used for brief anecdotes on additional properties of an item. | notes = 'Bugged and does not work.'notes = 'Unused.'
|
| effect_note | Places Template:Exp after the name of the game when the item is called in Template:Item Effect, for differentiating between two versions of the same item in the same game. Omit this parameter if it is not needed. | effect_note = 'Life Stone'
|
| platform | Places Template:Exp Plat after the name of the game when the item is called in Template:Item Effect, for differentiating between two versions of the same item across different versions. Omit this parameter if it is not needed. | platform = 'PSP'
|
A filled item data entry may look like this:
['bead'] = {
name = 'Bead',
icon = 'medicine',
itemtype = "Consumable",
capacity = 99,
buy = 10000,
sell = 5000,
inbattle = 'y',
outbattle = 'y',
target = 'Single ally',
effect = 'Revives at full HP.',
description = '(Example)',
description_ja = '日本語',
},
Title-Specific Guidelines
| Parameter | Guideline |
|---|---|
| yenbuy | Used for the buy price in yen. |
| maccabuy | Used for the buy price in Macca. |
| yensell | Used for the sell price in yen. |
| maccasell | Used for the sell price in Macca. |
| Parameter | Guideline |
|---|---|
| kreuzbuy | Used for the buy price in Kreuz. |
| kreuzsell | Used for the sell price in Kreuz. |
| Parameter | Guideline |
|---|---|
| rdsname | Used for the item name in the Revelations: The Demon Slayer release. |
| Parameter | Guideline |
|---|---|
| rpname | Used for the item name in the Revelations: Persona release. |
| rpdescription | Used for the item description in the Revelations: Persona release. |
| Parameter | Guideline |
|---|---|
| bg | Used for the item's rarity background when called from Template:P5X Item. Accepts grey, blue, purple, yellow, and rainbow for most items. For Personas, append _persona to the background, and for Persona Seals, append _seal (i.e. purple_seal).
|
| Parameter | Guideline |
|---|---|
| dkname | Used for the item name in the DemiKids Light Version and Dark Version release. |
| dkdescription | Used for the item description in the DemiKids Light Version and Dark Version release. |
Equipment Data
Used with Item, Equipment List and GameDesc.
Parameters
Note that for equipment data, any parameter that is unused should be omitted entirely, unless otherwise noted within the parameter guideline.
| Parameter | Description | Example |
|---|---|---|
| name | Sets the display name of the equipment. This should be rendered with the proper capitalization as seen in-game. This must be included. | name = 'Jagd Gloves'
|
| link | Sets the target page for the link, if different from the equipment's name; i.e. pointing to Ame-no-Murakumo (Weapon) instead of Ame-no-Murakumo. | link = 'Vajra (Weapon)'
|
| equiptype | The type of equipment in question; for example gun, sword, leg armor, helm, and so forth. | equiptype = 'Pistol'
|
| icon | This parameter sets which icon will display alongside the item when called from equipment data. | icon = 'sword'
|
| buy | The amount of currency that is required to purchase a piece of equipment from a shop. This parameter is not used for equipment that is exchanged for with materials such as gems. | buy = 2500
|
| casinobuy | The amount of casino coins that are required to purchase a piece of equipment from a shop. If used, then instead of buy, either yenbuy or maccabuy must be used if the piece of equipment is purchasable elsewhere with standard currency to prevent confusion. |
casinobuy = 25000
|
| sell | The amount of currency received when selling a piece of equipment to a shop. | sell = 1250
|
| capacity | The maximum number of copies of a piece of equipment that can be held at one time. | capacity = 99
|
| gender | The gender restriction of a piece of equipment. Format as m for male, f for female, and either fm or mf for both. Other, unique restrictions should be formatted as plain text. |
gender = 'f'gender = 'Dog'
|
| alignment | The alignment restriction of a piece of equipment. | alignment = 'Law'
|
| effect | Any special properties of the equipment. This should be kept concise; lengthier explanations of mechanics should not go into the equipment data but rather in a dedicated Mechanics subsection on the equipment's page. It should also not be used for descriptions of unlock conditions, alignment exclusivity, or for information that is redundant to another field (i.e. the damage attribute should not be present). | effect = 'Chance to inflict Burn.'
|
| skill | Any skill that the equipment grants or uses, formatted in lowercase. In some cases, this is actually the effect of an item; this parameter should still be used for such cases. | skill = 'invigorate 2'
|
| description | The equipment's in-game description, if applicable. When the title in question only exists in Japanese, this serves as the translation for description_ja. |
description = 'Divine weapon made from a holy bone.'
|
| description_ja | The equipment's in-game description in the original Japanese, if applicable. Used for Japanese-only games. | description_ja = '回復アイテム 単体 味方1体のHP少しだけ回復'
|
| notes | For short notes on a piece of equipment that do not fit elsewhere. This should not be used for detailed, in-depth explanations of equipment effects, which should be placed on the equipment page; rather it is used for brief anecdotes on additional properties of a piece of equipment. | notes = 'Bugged and does not work.'notes = 'Unused.'
|
| Obtain Method Parameters | ||
| shop | The names of shops (or towns with shops) that sell this equipment. Omit if none exist. | shop = '[[Aohige Pharmacy]]'shop = '[[Ginza]]'
|
| drop | The names of enemies that drop this equipment. Omit if none exist. | drop = '[[Jack Frost]]'
|
| event | A brief description of any scripted events that grant this equipment. Also used for default equipment. | event = 'Initial equipment ([[Yu Narukami]])'event = 'Quest Reward from [[Extracurricular Activities]]'
|
| chest | The dungeon and floor where this item can be found in a treasure chest (or equivalent). | chest = '[[Shinjuku Medical Center]]'
|
| itemize | The names of Demons, Personas, etc. that transform into this item via itemization. Omit if none exist. If the itemization method involves fusion with another Demon or item, the fusion parameter should be used instead. |
itemize = '[[Jack-o'-Lantern]]'
|
| fusion | The names of items and/or Demons that fuse into this item, such as in sword fusion. Omit if none exist. | fusion = '[[Spirit Sword]] × [[Tengu]]'
|
| Weapon Parameters | ||
| attribute | The elemental attribute of the weapon. This must be written in lowercase, like the equipment name. It is responsible for identifying the attribute of the equipment where applicable. | attribute = 'phys'
|
| attribute_link | Sets the link for the attribute if it would otherwise link to an unrelated article, for example, setting attribute_link = 'Gun (Attribute)', will link the attribute to Gun (Attribute) (the skill attribute) rather than Gun (a disambiguation page). |
attribute_link = 'Wood (Attribute)'
|
| attack | The weapon's attack modifier. | attack = '+20'
|
| target | The target of the equipment's attacks, as applicable to weapons. Target is best thought of as the combatants which will be affected by a weapon's basic attacks. In titles where a targeting reticle or confirmation screen is present, the target is equivalent to the combatants that are selectable by the targeting reticle or cursor. Target should be formatted as follows: Single enemy, Enemy group, All enemies, Random enemies |
target = 'Single enemy'
|
| hit | The number of hits the weapon inflicts, if applicable. For multiple hits, format as '1-5'. This must be placed within apostrophes, or the data for multiple hits will instead be interpreted as math, for example, 1-5 will be output as -4. |
hit = '4-5'hit = 2
|
| crit | The equipment's critical rate. Formatted as 'x%'. |
crit = '70%'
|
| acc | The equipment's accuracy. Formatted as 'x%'. |
acc = '100%'
|
| Armor Parameters | ||
| restype | The armor's resistance type as used in titles such as Shin Megami Tensei. | restype = 'Ice2'
|
| defense | The armor's defense modifier. | defense = '+15'
|
| magicdefense | The armor's magic defense modifier. | magicdefense = 15
|
| evasion | The armor's evasion modifier. | evasion = '+5'
|
| Resistance Parameters | ||
| phys | Used for their respective attributes. Template:Rst is used for most titles; however, some titles will accept other values depending on their needs, such as numeric values. These parameters should only be used for titles where equipment affects elemental affinity and does not use the restype parameter. If the attribute affinity is not affected in any way, omit it. Omit any attribute that does not exist in the game that the equipment data is for.
|
phys= 'Str'
|
| gun | gun = 'Rpl'
| |
| fire | fire = 'Strtri'
| |
| ice | ice = 'Wk'
| |
| elec | elec = 'Rgd'
| |
| force | force = 'Rfl'
| |
| light | light = 'Nu'
| |
| dark | dark = 'Drn'
| |
| death | death = '100'
| |
| mind | mind = '50'
| |
| special | special = '250'
| |
| Stat Parameters | ||
| hp | Used for their respective stats. Format in apostrophes with a plus or minus. If the stat is not affected in any way, input ±0. Omit any stat that does not exist in the game that the equipment data is for.
|
hp = '+2'
|
| mp | mp = '±0'
| |
| strength | strength = '+2'
| |
| dexterity | dexterity = '-2'
| |
| vitality | vitality = '+4'
| |
| magic | magic = '-1'
| |
| endurance | endurance = '+8'
| |
| intelligence | intelligence = '-2'
| |
| agility | agility = '±0'
| |
| luck | luck = '±0'
| |
A filled equipment data entry may look like this:
['nambu 2'] = {
name = 'Nambu 2',
type = gun,
icon = 'pistol',
gender = 'm',
alignment = 'Law',
effect = 'Inflicts Poison.',
skill = 'Resist Fire',
buy = 10000,
sell = 5000,
attribute = 'gun',
attribute_link = 'Gun (Attribute)',
attack = 54,
target = 'All enemies',
hit = '2-4',
crit = '4%',
acc = '80%',
description = '(Example)',
description_ja = '日本語',
},
Title-Specific Guidelines
| Parameter | Guideline |
|---|---|
| charisma | Used for the Charm/Charisma stat. |
| Parameter | Guideline |
|---|---|
| mt_attack | Used for the Attack stat, separate from weapon power, which is the attack= parameter.
|
| agility_level | Used for the agility level of armor, separate from the Agility stat. |
| Parameter | Guideline |
|---|---|
| yenbuy | Used for the buy price in yen. |
| maccabuy | Used for the buy price in Macca. |
| yensell | Used for the sell price in yen. |
| maccasell | Used for the sell price in Macca. |
| Parameter | Guideline |
|---|---|
| weapontype | Used for the subcategory of weapon, such as Sword, Dagger, and Spear. |
| Parameter | Guideline |
|---|---|
| rdsname | Used for the equipment name in the Revelations: The Demon Slayer release. |
| el | Used for if a piece of equipment is usable by El. Format as either 'y' or 'n', which will be interpreted as ✔ or ✘, respectively.
|
| kishe | Used for if a piece of equipment is usable by Kishe. Format as either 'y' or 'n', which will be interpreted as ✔ or ✘, respectively.
|
| uranus | Used for if a piece of equipment is usable by Uranus. Format as either 'y' or 'n', which will be interpreted as ✔ or ✘, respectively.
|
| Parameter | Guideline |
|---|---|
| buyback | Used for whether or not the equipment can be bought back from shops it was sold to. Format as either 'y' or 'n', which will be interpreted as ✔ or ✘, respectively.
|
| Parameter | Guideline |
|---|---|
| backrow | Used for whether or not the equipment can be used from the back row. Format as either 'y' or 'n', which will be interpreted as ✔ or ✘, respectively.
|
| Parameter | Guideline |
|---|---|
| rpname | Used for the equipment name in the Revelations: Persona release. |
| rpdescription | Used for the equipment description in the Revelations: Persona release. |
| Parameter | Guideline |
|---|---|
| shottype | Used for the Shot Type of each weapon, with the following acceptable inputs:
|
| range | Used for the weapon's range, expressed as a single number. |
| Parameter | Guideline |
|---|---|
| dkname | Used for the skill name in the DemiKids Light Version and Dark Version release. |
| dkdescription | Used for the skill description in the DemiKids Light Version and Dark Version release. |
Translation Data
Used with TLTable and TLTable/Header.
Translation data is unique from previous kinds of data in how it is formatted. There are two special entries in the table with important keys that have unique parameters: the language index and the hack list.
Language Index
An example of the language index looks like so:
['p3r'] = {
en = 'y',
ja = 'y',
zhcn = 'y',
zhtw = 'y',
fr = 'y',
de = 'y',
it = 'y',
ko = 'y',
pl = 'y',
ptbr = 'y',
ru = 'y',
es = 'y',
},
This is a list of language codes that the translation module uses. Language codes that are used in the data should be present and filled; otherwise, they should be omitted. A list of language codes is provided later, but there is a unique one that will be discussed shortly. Without the language index, the modules do not know which languages have translations and will break. Providing a list ensures internal consistency even if individual entries are missing translation data. The key for the language list should be the media abbreviation in lowercase; in this example, p3r for Persona 3 Reload.
There is a special language code for the index titled hack, which indicates that this title has unofficial translations produced by fans. Any title with fan translation data should have hack = 'y' in its language index, along with the hack list, which is used to provide data about the unofficial translations.
Hack List
An example of the hack list looks like so:
['hacklist'] = {
[1] = {
code = 'ftl_ag',
lang = "English",
groupname = 'Aeon Genesis',
platform = 'SFC',
},
[2] = {
code = 'ftl_sdc',
lang = "English",
groupname = 'Stardust Crusaders',
platform = 'SFC',
},
},
The hack list, named after "translation hacks" which modify the ROM data of a video game to alter the text to be in another language, catalogues data about unofficial translations within a subtable. The following is the meaning of each parameter:
| Parameter | Description | Example |
|---|---|---|
| key | The key of an entry in the hacklist subtable is a number. It cannot be a phrase like most other keys; it must be written as a number without apostrophes or data associated with unofficial translations will refuse to display. This number also determines the order in which these unofficial translations will be displayed; it is recommended to place them in order by language, then alphabetically by the group name. | [1]
|
| code | Sets a custom code used in the translation data to refer to the terminology used by that unofficial translation. This must be included. It is recommended to preface all such codes with "ftl_" and an acronym or abbreviation of the translation group's name for easy identification. | name = 'ftl_ag'
|
| lang | The language of the unofficial translation. | lang = 'Spanish'lang = 'Tagalog'
|
| groupname | The name of the translation group who created the unofficial translation. | groupname = 'Aeon Genesis'
|
| platform | The platform that the translation was made for, if a video game. | platform = 'PS2'
|
Translation Data
| Parameter | Description | Example |
|---|---|---|
| Language-related | ||
| en | Language code for English. | en = 'Jack Frost'
|
| enBr | Language code for British English. Used if there is a difference between American English and British English versions of a text. Does not need listed in the language index. | enBr = 'Jack Frost'
|
| enAu | Language code for Australian English. Used if there is a difference between American English and Australian English versions of a text. Does not need listed in the language index. | enAu = 'Jack Frost'
|
| ja | Language code for Japanese. | ja = 'ジャックフロスト'
|
| ja_hepburn | Japanese romanization in Hepburn. | ja_hepburn = 'Jakku Furosuto'
|
| ja_tl | Simple translation of Japanese. | ja_tl = 'Jack Frost'
|
| zhcn | Language code for Simplified Chinese. | zhcn = '杰克霜精'
|
| zhcn_pinyin | Simplified Chinese in pinyin. | zhcn_pinyin = 'Jiékè Shuāngjīng'
|
| zhtw | Language code for Traditional Chinese. | zhtw = '傑克霜精'
|
| zhtw_pinyin | Traditional Chinese in pinyin. | zhtw_pinyin = 'Jiékè Shuāngjīng'
|
| fr | Language code for French. | fr = 'Jack Frost'
|
| frF | Language code for Metropolitan French; used if there is a difference between Metropolitan and Canadian French versions of a text. Does not need listed in the language index. | frF = 'Jack Givre'
|
| frC | Language code for Canadian French; used if there is a difference between Metropolitan and Canadian French versions of a text. Does not need listed in the language index. | frC = 'Jack Frost'
|
| de | Language code for German. | de = 'Jack Frost'
|
| it | Language code for Italian. | it = 'Jack Frost'
|
| ko | Language code for Korean. | ko = '잭 프로스트'
|
| ko_revised | Korean romanized with Revised Romanization of Korean. | ko_revised = 'Jaek Peuroseuteu'
|
| pl | Language code for Polish. | pl = 'Jack Frost'
|
| ptbr | Language code for Brazilian Portuguese. | ptbr = 'Jack Frost'
|
| ru | Language code for Russian. | ru = 'Джек Фрост'
|
| ru_bgn | Russian romanized with BGN/PCGN. | ru_bgn = 'Dzhek Frost'
|
| es | Language code for Spanish, assumed Peninsular. | es = 'Jack Frost'
|
| ess | Language code for Peninsular Spanish. Used instead of es when Latin American Spanish also exists. |
ess = 'Jack Frost'
|
| esl | Language code for Latin American Spanish. | esl = 'Jack Frost'
|
| th | Language code for Thai. | th = 'แจ็ค ฟรอสต์'
|
| th_r | Thai romanization using ISO-11940. | th_r = 'Jaek Frost'
|
| tr | Language code for Turkish. | tr = 'Jack Frost'
|
| Other | ||
| key_link | Changes the target link for the table key. If set to none, no link will be displayed. Omit if the name of the terminology is identical to the link. |
key_link = 'Vajra (Weapon)'
|
| key_override | Overrides the display text of the key. Used if text display errors are occurring. | key_override = 'New Key'
|
A filled translation data entry may look like this:
['igor'] = {
en = 'Igor',
ja = 'イゴール',
ja_hepburn = 'Igōru',
ja_tl = 'Igor',
zhcn = '伊格尔',
zhcn_pinyin = 'Yīgé\'ěr',
zhcn_tl = 'Igor',
zhtw = '伊格爾',
zhtw_pinyin = 'Yīgé\'ěr',
zhtw_tl = 'Igor',
fr = 'Igor',
de = 'Igor',
it = 'Igor',
ko = '이고르',
ko_revised = 'Igoreu',
ko_tl = 'Igor',
pl = 'Igor',
ptbr = 'Igor',
ru = 'Игорь',
ru_bgn = 'Igor’',
ru_tl = 'Igor',
es = 'Igor',
tr = 'Igor'
},
Other Data
Media Data
Used for templates such as Link to track various Megami Tensei media. Media data can only be edited by a staff member. If an edit needs to be made to media data, it is recommended to reach out to a member of staff on their talk pages.
Icon Data
Simple data listing for icons. Used for a wide variety of applications, but is primarily used to display icons within templates. Icon data is not as heavily protected as media data, but should be edited with caution. Icons should either link to a relevant article (such as the attribute the icon represents) or disable linking altogether. Links can be disabled using link= by leaving the link field empty.
A simple example of icon data is as follows, for reference:
local icon = {
['almighty'] = '[[File:DeSu1 Almighty Icon.png|12px|link=Almighty]]',
['cursed'] = '[[File:DeSu1 Curse Icon.png|12px|link=]]', --This icon will not link anywhere.
}
return {
icon = icon,
}
| Wiki Guidelines | |
|---|---|
| Main | Code of Conduct • Manual of Style • Media Abbreviations |
| Content | Article Naming • Article Writing • Canon • Categories • Data Modules • Deletion • Files • Galleries • Gameplay • Infoboxes • Media Order • Merchandise • References, Notes • Romanization • Spoilers • Translations |
| Other | Leaks |