MasterSkillTree.txt

Per-master-level skill progression table. For each master skill, defines 20 values (level 1-20 progression), prerequisites, replacement chains, and per-class Rank gating.

File Location#

Data/Skill/MasterSkillTree.txt

Loaded once at GameServer startup. Changes require a restart.

Format#

Whitespace-delimited. One row per master skill. First comment line names the columns. Terminated by end. Numeric values in MainValue1-MainValue20 are parsed as floats; all other columns are integers.

Columns#

ColumnEffect
IndexSkill index from Skill.txt
GroupTree group. 1 = left, 2 = middle, 3 = right (three master trees per class)
RankVertical tier within the tree (1 = base row, 9 = top row). Higher ranks require lower-rank investment in the same group
MinLevelMinimum master level for the first investable point in this skill. Typically 1
MaxLevelMaximum investable level for this skill. Fixed at 20 in S6.3; values above 20 are clamped
MainValue1 ... MainValue20Effect magnitude at invested level 1 through 20. Parsed as floating-point; per-level curve is pre-baked in the table, not interpolated by formula
RelatedSkillSkill whose effect also benefits from this row's bonus (e.g. an "Improved" node boosting a base skill). 0 = none
ReplaceSkillSkill index that gets replaced on the active bar when this node is learned. 0 = no replacement
RequireSkill (first)Primary prerequisite. Must reference an Index in this file. 0 = no prerequisite. Both header labels in the shipped file are the string RequireSkill; this is the first of the two
RequireSkill (second)Secondary prerequisite. 0 = not required. When both are non-zero both must be learned
DW / DK / FE / MG / DL / SU / RFPer-class visibility and tree position. Non-zero = this class sees the node at that ordinal position in its tree; 0 = the class does not see this node

Tree Semantics#

  • Group - which of the three trees a skill belongs to (left/middle/right columns in the master UI)
  • Rank - vertical position in the tree. Higher Rank requires at least one investment at every lower Rank within the same Group before becoming learnable
  • MainValueN - effect magnitude at invested level N. The server looks up the value for the character's current invested level directly; it does not compute intermediate values between the 20 entries

Relationship to Common.dat#

Common.dat Master Skill Tree Settings controls global gates:

  • MasterSkillTree = 1 enables the tree
  • MasterSkillTreePoint = points per master level
  • MasterSkillTreeMaxLevel = master level cap

Cross-File Dependencies#

AttributeRelated in
IndexSkill.txt
Base skill damage formula constantsSkill.dat
Both RequireSkill columnsMust reference another entry in this file
ReplaceSkillMust reference an existing Skill.txt entry
Class rate multipliersCharacter.dat
Attack speed / delay scalingSkillTweaks.xml
Cross-class combo listCustomCombo.xml
Master level capCommon.dat

Common Issues#

  • Skill available too early - Rank too low for the intended progression; reorder within the Group
  • Per-class rank shows zero - the class column is 0; set to the non-zero position that class should see
  • MainValueN progression too flat - regenerate the curve; shipped values follow a tuned diminishing-returns shape
  • Prerequisite skill learned but dependent still locked - one of the two RequireSkill columns points to the wrong Index, or the required node has not reached at least level 1
  • Replace not applying - ReplaceSkill must match the exact Index of the skill being replaced in the active bar
  • File edit ignored - missing end terminator or a malformed MainValue token; parser drops the file on error

Last updated July 30, 2026