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

242 lines
8.0 KiB
XML
Raw Normal View History

<?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>