Template:Arcanist/Skill Tree/doc

Revision as of 11:55, 20 June 2026 by Willow (talk | contribs) (the mass documenting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The per-class Skill Tree templates (Template:Arcanist/Skill Tree, Assassin/Skill Tree, Huntress/Skill Tree, Knight/Skill Tree, Necromancer/Skill Tree, Samurai/Skill Tree) are data templates that hold one class's full skill-tree layout as hover nodes, and are transcluded into the Skill Tree page.

Overview

There is one of these templates per class. Each one stores that class's entire skill tree as a block of wikitext: a == <Class> Skill Trees == heading, a <tabber> with two named tabs (the class's two ability/weapon paths), and inside each tab the 18 skill nodes laid out as rows of Template:ImageTooltip calls. They take no parameters — all content is hard-coded inside each template. The Skill Tree page transcludes all six ({{Knight/Skill_Tree}}, etc.) inside its own outer tabber, and separately lists the animated showcase via Template:DynamicGifDisplay. Editors maintain these templates whenever a class's skill nodes change.

The two tabs per class are:

Class Tab 1 Tab 2
Knight Shield Emblem
Samurai Kunai Star
Huntress Trap Bomb
Assassin Poison Cloak
Necromancer Skull Scripture
Arcanist Jewel Orb

Parameters

These templates take no template parameters — they are pure data. The "parameters" an editor actually fills are the fields of each Template:ImageTooltip node inside them:

Parameter Required? What it does Example
img Required The node's icon, as base;hover (two file names separated by a semicolon): the first image shows normally, the second shows on hover. Live trees use the placeholder pair below for every node until art is ready. img=SpinningQuestion.gif;HoverSpinningQuestion.gif
title Required The skill's name, shown as the tooltip heading. Escape an apostrophe as '. title=Unyielding Bastion
content Required The skill description shown in the tooltip. Usually wrapped in <p>...</p> with key numbers highlighted via <span>...</span> and line breaks via <br>. content=<p>Gain <span>+2 defense </span>for <span>3s </span>(<span>Max 20</span>)</p>

How to use

Structure of one template. Reading top to bottom in the source, a tab is a vertical flex column built from the top row of the tree down to the single root node at the bottom, in this node count per row: 3 nodes, 2, 3, 2, 2, then 1. That is 6 + 2 + 3 + 2 + 2 + 1... — in practice each tab contains 18 nodes total (the in-game tree has 3 paths × 6 rows = 18 nodes), grouped into flex rows. Each row is a <div style="display:flex; gap:...;"> holding that row's

nodes; rows of three use gap:20px and rows of two use gap:40px so columns line up. The single bottom node is placed bare (not inside a flex div). The whole column sits in <div style="display:flex; flex-direction:column; align-items:center; row-gap:15px;">.

Skeleton of a single node (this is the unit you copy):

  • img = base;hover images.
  • title = the skill name.
  • content = the description; use <span> to colour/emphasise numbers and <br> for new lines (e.g. tier-point damage tables: "0–8TP: 13 Damage", "9TP: 16 Damage", ...).

How they feed the Skill Tree page. The Skill Tree page does not contain any nodes itself. It has an outer <tabber> (one tab per class) and each class tab just transcludes the matching data template — for example the Knight tab is only {{Knight/Skill_Tree}}. (Note the page uses the underscore form Knight/Skill_Tree = the title Template:Knight/Skill Tree.) Below the trees, the page calls {{DynamicGifDisplay}} with a long list= of Skill Name:Gif-FileName.gif; pairs — that is the animated "Skill Tree Showcase". The GIF list is maintained separately on the Skill Tree page itself, not inside these data templates, so when you add a new skill you typically add the node here and add its GIF entry to the DynamicGifDisplay list on the Skill Tree page.

To edit an existing skill: open the class template, find the node by its title=, and edit the content= (or title/img). Save.

To add a skill: decide which tab (path) and which row it belongs to, then paste a new

block into that row's flex <div>, keeping it among the correct siblings so the layout stays aligned. Match the row's existing gap spacing. Then add the matching Title:Gif-Title.gif; entry to the DynamicGifDisplay list= on the Skill Tree page (use blank in place of a file name if no GIF exists yet, as seen for "Surprise Attack!").

Copy this

A blank single node to paste into the right flex row:

{{ImageTooltip
|img=SpinningQuestion.gif;HoverSpinningQuestion.gif
|title=
|content=
<p></p>
}}

A blank tab skeleton (one path; repeat the column for the second tab, separated by |-|):

== <Class> Skill Trees ==
<tabber>
<Tab1Name>=
<div style="display:flex; flex-direction:column; align-items:center; row-gap:15px;">
<br>
  <!-- top row (3 nodes) -->
  <div style="display:flex; gap:20px;">
    {{ImageTooltip|img=SpinningQuestion.gif;HoverSpinningQuestion.gif|title=|content=<p></p>}}
    {{ImageTooltip|img=SpinningQuestion.gif;HoverSpinningQuestion.gif|title=|content=<p></p>}}
    {{ImageTooltip|img=SpinningQuestion.gif;HoverSpinningQuestion.gif|title=|content=<p></p>}}
  </div>
  <!-- ...further rows: gap:40px for 2-node rows... -->
  <!-- root node (1, placed bare) -->
  {{ImageTooltip|img=SpinningQuestion.gif;HoverSpinningQuestion.gif|title=|content=<p></p>}}
</div>
|-|
<Tab2Name>=
<div style="display:flex; flex-direction:column; align-items:center; row-gap:15px;">
<br>
  <!-- same structure as Tab1 -->
</div>
</tabber>

Example

Live result (the Knight tree's root node from Template:Knight/Skill Tree, hover it for the tooltip):

Unyielding Bastion

When your shield deals damage or when you take damage, gain +2 defense for 3s (Max 20)

Wikitext (one node, exactly as it appears in the data template):

{{ImageTooltip
|img=SpinningQuestion.gif;HoverSpinningQuestion.gif
|title=Unyielding Bastion
|content=
<p>When your shield deals damage or when you take damage, gain <span>+2 defense </span>for <span>3s </span>(<span>Max 20</span>)</p>
}}

And how the whole tree reaches the page:

Knight=
{{Knight/Skill_Tree}}
|-|
Samurai=
{{Samurai/Skill_Tree}}

Tips & notes

  • These templates take no parameters; all six are pure data and are meant to be transcluded by Skill Tree.
  • Title with the title Template:Knight/Skill Tree is referenced as {{Knight/Skill_Tree}} ( / in the title, _ for the space) — keep that exact form on the Skill Tree page.
  • All nodes currently share the placeholder icon pair SpinningQuestion.gif;HoverSpinningQuestion.gif; swap in real art per node when available (format stays base;hover).
  • Inside content, wrap emphasised numbers in <span> and use <br> for tier-point breakpoints; escape apostrophes in title as '.
  • Keep each row's node count and gap consistent (3-node rows = gap:20px, 2-node rows = gap:40px) so columns stay aligned; the lone root node is placed outside any flex row.
  • The animated showcase GIF list lives on the Skill Tree page in Template:DynamicGifDisplay, not in these templates — update both when adding a skill. Use blank as the file when a GIF isn't ready.
  • Related: Template:ImageTooltip (the node), Template:DynamicGifDisplay (the showcase), Skill Tree (the host page).