Module:GameSkills/doc
More actions
This is the documentation page for Module:GameSkills
Module:GameSkills
edit sourceModule:GameSkills renders skill data from Data:skills.json into a reusable infobox-style table.
It is intended to be used via a template (for example Template:Skill) so that skills can be embedded on any page without creating individual skill pages.
This module:
- Loads data via Module:GameData →
GameData.loadSkills(). - Looks up skills primarily by display
"Name"(what editors use), with"Internal Name"as a fallback. - Builds a table with only the fields that actually exist for that skill.
Data source
edit sourceSkill data comes from Data:skills.json, which is a JSON page with this top-level structure (see Module:GameData/doc for full details):
{
"version": "SpiritVale-0.8.2",
"schema_version": 1,
"generated_at": "2025-12-12T17:24:05.807675+00:00",
"records": [
{
"Name": "Some Skill",
"Internal Name": "SomeSkillInternalId",
"...": "other fields specific to skills"
}
]
}
Each record is a single skill. Important keys:
"Name"– the display name (what players and editors will usually see and use)."Internal Name"– the stable ID used internally and available as an optional parameter for power users and tooling.
Output
edit sourceFor a given skill, the module renders a table with the CSS class spiritvale-skill-infobox.
Depending on what exists in the JSON record, the table may include:
- Header row with skill name (and icon, if present).
- Icon (from
"Icon", as a file name likeskill-example.webp). - Description.
- Type information:
- Damage Type
- Element Type
- Target Type
- Cast Type
- Max Level.
- Users:
- Classes
- Summons
- Monsters
- Events
- Requirements:
- Required Skills (with required level)
- Required Weapons
- Required Stances
- Mechanics:
- Range
- Cast Time / Cooldown / Duration
- Mana Cost
- Damage and scaling:
- Main Damage (base and per-level, where present)
- Scaling (stat-based contributions)
- Status interactions:
- Status Applications (status name, scope, basic duration/chance info)
Rows are only shown if the underlying field exists in the JSON for that skill.
Public interface
edit sourceThe module exposes a single entry point for templates:
GameSkills.infobox(frame)
edit source
This is usually called via #invoke from a template, not directly from pages.
It accepts the following parameters (either passed directly or via a wrapper template):
1– unnamed parameter; treated as the skill"Name".name– explicit display"Name"of the skill (equivalent to1).id–"Internal Name"of the skill (optional fallback / power use).
Lookup order:
- If
nameor the first unnamed parameter is provided and matches a record’s"Name", that record is used. - Otherwise, if
idis provided and matches an"Internal Name", that record is used. - If nothing is found, a small error message is returned and the page is categorized for tracking.
Example direct usage (not recommended; normally use a template):
No skills found for: GameSkills/doc
or:
No skills found for: GameSkills/doc
Template:Skill
edit sourceThe recommended way to use this module is via a small wrapper template, for example:
Template:Skill
No skills found for: GameSkills/doc
Typical usage on any page:
Bash | Delivers a crushing blow with a chance to stun the target. |
|---|---|
| General | |
| Max level | 10 |
| Classes | Warrior, Weaver |
| Monsters | Ashrend, Goblin King |
| Requirements | |
| Required skills | Axe Mastery (Lv.1) |
| Type | |
| Damage type | Melee |
| Element | Neutral |
| Target | Enemy |
| Cast type | Target |
| Mechanics | |
| Autocast multiplier | 1 |
| Timing | Effect Cast Time: 0.24 |
| Resource cost | MP: Base 3, 1 / Lv |
| Combo | Type: Ready, Duration: 4 |
| Damage and scaling | |
| Main damage | Damage – Base 1%, 0.25% / Lv, ATK-based |
| Scaling | Strength – 2%, ATK-based |
| Modifiers | |
| Flags | Special: Self Centered |
| Status effects | |
| Applies | Target – Stun (Duration Base 3, Chance 0.03 / Lv) |
or, explicitly:
Bash | Delivers a crushing blow with a chance to stun the target. |
|---|---|
| General | |
| Max level | 10 |
| Classes | Warrior, Weaver |
| Monsters | Ashrend, Goblin King |
| Requirements | |
| Required skills | Axe Mastery (Lv.1) |
| Type | |
| Damage type | Melee |
| Element | Neutral |
| Target | Enemy |
| Cast type | Target |
| Mechanics | |
| Autocast multiplier | 1 |
| Timing | Effect Cast Time: 0.24 |
| Resource cost | MP: Base 3, 1 / Lv |
| Combo | Type: Ready, Duration: 4 |
| Damage and scaling | |
| Main damage | Damage – Base 1%, 0.25% / Lv, ATK-based |
| Scaling | Strength – 2%, ATK-based |
| Modifiers | |
| Flags | Special: Self Centered |
| Status effects | |
| Applies | Target – Stun (Duration Base 3, Chance 0.03 / Lv) |
Internal IDs can still be used when needed:
Unknown skill: Bash_InternalId
This keeps page wikitext simple while centralizing all JSON loading and formatting logic inside Lua.