Files
Gen_Hack-and-Slash-Roguelite/Client/Data/Core/Define/SkillTree.xml

242 lines
8.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<Define>
<!-- 仅为符合示例结构实际测试UI时这些引用可以省略因为本例的SkillTreeDef并未引用它们 -->
<AffiliationDef>
<defName>TestFaction</defName>
<label>测试派系</label>
</AffiliationDef>
<WeaponDef>
<defName>TestWeapon</defName>
<label>测试武器</label>
</WeaponDef>
<HediffDef>
<defName>TestHediff</defName>
<label>测试增益</label>
</HediffDef>
<!-- 技能树节点定义带有前置条件用于UI结构和链接测试 -->
<!-- 基础节点:一个起点 -->
<SkillTreeDef>
<defName>Root_Skill</defName>
<label>初始技能</label>
<description>所有路径的起点之一。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>0</cost>
<faction>TestFaction</faction>
</SkillTreeDef>
<!-- 线性发展路径 A -->
<SkillTreeDef>
<defName>LinearA_Node1</defName>
<label>线性A-1</label>
<description>线性路径A的第一个节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>5</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>Root_Skill</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>LinearA_Node2</defName>
<label>线性A-2</label>
<description>线性路径A的中间节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>10</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>LinearA_Node1</li>
</prerequisites>
<!-- 不指定位置,测试自动布局在下方 -->
</SkillTreeDef>
<SkillTreeDef>
<defName>LinearA_Node3</defName>
<label>线性A-3</label>
<description>线性路径A的终点可作为其他路径的前置。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>15</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>LinearA_Node2</li>
</prerequisites>
</SkillTreeDef>
<!-- 分支与汇合路径 B -->
<SkillTreeDef>
<defName>BranchB_Root</defName>
<label>分支B-根</label>
<description>分支路径B的起始节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>8</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>Root_Skill</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>BranchB_Left</defName>
<label>分支B-左</label>
<description>向左分支。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>12</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>BranchB_Root</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>BranchB_Right</defName>
<label>分支B-右</label>
<description>向右分支。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>12</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>BranchB_Root</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>MergeB_Output</defName>
<label>汇合B-输出</label>
<description>分支B汇合后的节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>20</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>BranchB_Left</li>
<li>BranchB_Right</li>
</prerequisites>
</SkillTreeDef>
<!-- 复杂多层网络结构 C结合自动与手动布局 -->
<SkillTreeDef>
<defName>ComplexC_Start</defName>
<label>复杂C-起点</label>
<description>复杂结构起点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>10</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>BranchB_Left</li> <!-- 从分支B的左侧分支连接过来 -->
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>ComplexC_Branch1</defName>
<label>复杂C-分支1</label>
<description>复杂结构分支1。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>15</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>ComplexC_Start</li>
</prerequisites>
<!-- 不指定位置,让系统自动布局 -->
</SkillTreeDef>
<SkillTreeDef>
<defName>ComplexC_Branch2</defName>
<label>复杂C-分支2</label>
<description>复杂结构分支2。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>15</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>ComplexC_Start</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>ComplexC_LinearAfterBranch1</defName>
<label>复杂C-分支1后继</label>
<description>分支1的后继节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>20</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>ComplexC_Branch1</li>
</prerequisites>
<!-- 不指定位置 -->
</SkillTreeDef>
<SkillTreeDef>
<defName>ComplexC_MergePoint</defName>
<label>复杂C-汇合点</label>
<description>汇合点需要分支1后继和分支2才能解锁。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>25</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>ComplexC_LinearAfterBranch1</li>
<li>ComplexC_Branch2</li>
</prerequisites>
</SkillTreeDef>
<!-- 跨分支汇合 G从之前两个独立路径汇合 -->
<SkillTreeDef>
<defName>GlobalMerge_Ultimate</defName>
<label>终极技能</label>
<description>需要线性路径A终点和分支B汇合点才能解锁的终极技能。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>50</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>LinearA_Node3</li>
<li>MergeB_Output</li>
</prerequisites>
</SkillTreeDef>
<SkillTreeDef>
<defName>GlobalMerge_Finale</defName>
<label>大结局</label>
<description>需要所有主要复杂分支都解锁才能获得的技能。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>100</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>GlobalMerge_Ultimate</li>
<li>ComplexC_MergePoint</li>
</prerequisites>
<!-- 不指定位置让UI自动布局在下方 -->
</SkillTreeDef>
<!-- 孤立节点确保UI能显示未连接的节点 -->
<SkillTreeDef>
<defName>Isolated_Discovery</defName>
<label>孤立发现</label>
<description>一个独立存在,不连接任何其他节点的技能。可能通过特殊事件解锁。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>30</cost>
<faction>TestFaction</faction>
</SkillTreeDef>
<SkillTreeDef>
<defName>AnotherIsolated_Path</defName>
<label>另一条孤立路径</label>
<description>另一条完全独立的路径起始点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>10</cost>
<faction>TestFaction</faction>
</SkillTreeDef>
<SkillTreeDef>
<defName>AnotherIsolated_Node2</defName>
<label>孤立路径2</label>
<description>孤立路径的第二个节点。</description>
<tag>test</tag> <!-- 已修改 -->
<cost>20</cost>
<faction>TestFaction</faction>
<prerequisites>
<li>AnotherIsolated_Path</li>
</prerequisites>
<!-- 不指定位置,让系统自动布局 -->
</SkillTreeDef>
</Define>