(client) feat:支持定义实体的碰撞体大小和偏移;建筑支持定义实体建筑和瓦片建筑,建筑支持指定按钮回调;添加存档管理器;Dev支持设置是否暂停;实体允许定义事件组;添加基地界面 (#57)
Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com> Reviewed-on: http://47.107.252.169:3000/Roguelite-Game-Developing-Team/Gen_Hack-and-Slash-Roguelite/pulls/57
76
Client/Data/Core/Define/Building/FunctionalBuilding.xml
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<ImageDef>
|
||||
<defName>Shop</defName>
|
||||
<label>商店贴图</label>
|
||||
<path>Resources\Map\Outpost\Store.png</path>
|
||||
</ImageDef>
|
||||
|
||||
<EventDef>
|
||||
<defName>OpenShopUI</defName>
|
||||
<label>打开商店界面</label>
|
||||
<description>当玩家与商店交互时打开商店界面</description>
|
||||
<workClass>Event_OpenUI</workClass>
|
||||
<parameter>
|
||||
{
|
||||
"uiName": "Shop"
|
||||
}
|
||||
</parameter>
|
||||
</EventDef>
|
||||
<EventDef>
|
||||
<defName>OpenSkillTreeUI</defName>
|
||||
<label>打开技能树界面</label>
|
||||
<description>当玩家与技能树商店交互时打开技能树界面</description>
|
||||
<workClass>Event_OpenUI</workClass>
|
||||
<parameter>
|
||||
{
|
||||
"uiName": "SkillTree"
|
||||
}
|
||||
</parameter>
|
||||
</EventDef>
|
||||
|
||||
<BuildingDef>
|
||||
<defName>Shop</defName>
|
||||
<label>商店</label>
|
||||
<description>一个可以购买物品的商店</description>
|
||||
<attributes>
|
||||
<health>500</health>
|
||||
</attributes>
|
||||
<affiliation>player</affiliation>
|
||||
<buildingType>Dynamic</buildingType>
|
||||
<drawingOrder>
|
||||
<idle_down>
|
||||
<textures>
|
||||
<li>Shop</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
<colliderSize>4,4</colliderSize>
|
||||
<detectionRadius>6</detectionRadius>
|
||||
<triggerEvents>
|
||||
<li>OpenShopUI</li>
|
||||
</triggerEvents>
|
||||
</BuildingDef>
|
||||
<BuildingDef>
|
||||
<defName>SkillTreeShop</defName>
|
||||
<label>技能树商店</label>
|
||||
<description>一个可以升级技能的商店</description>
|
||||
<attributes>
|
||||
<health>500</health>
|
||||
</attributes>
|
||||
<affiliation>player</affiliation>
|
||||
<buildingType>Dynamic</buildingType>
|
||||
<drawingOrder>
|
||||
<idle_down>
|
||||
<textures>
|
||||
<li>Shop</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
<colliderSize>4,4</colliderSize>
|
||||
<detectionRadius>6</detectionRadius>
|
||||
<triggerEvents>
|
||||
<li>OpenSkillTreeUI</li>
|
||||
</triggerEvents>
|
||||
</BuildingDef>
|
||||
</Define>
|
||||
@@ -9,5 +9,7 @@
|
||||
</attributes>
|
||||
<affiliation>none</affiliation>
|
||||
<slowDown>1</slowDown>
|
||||
<buildingType>Static</buildingType>
|
||||
<tile>BaseWall</tile>
|
||||
</BuildingDef>
|
||||
</Define>
|
||||
294
Client/Data/Core/Define/Entity/Character/Character.xml
Normal file
@@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<!-- 女仆行走贴图 -->
|
||||
<ImageDef>
|
||||
<defName>Character_Maid_Walk</defName>
|
||||
<path>Resources\Character\女仆行走.png</path>
|
||||
<wCount>12</wCount>
|
||||
<hCount>8</hCount>
|
||||
<pixelsPerUnit>32</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
<!-- 玩家角色的详细定义 -->
|
||||
<CharacterDef>
|
||||
<defName>maid</defName>
|
||||
<label>女仆</label>
|
||||
<description>一个可爱的女仆角色</description>
|
||||
|
||||
<!-- 角色基础属性 -->
|
||||
<attributes>
|
||||
<health>100</health>
|
||||
<moveSpeed>2</moveSpeed>
|
||||
<!-- 更多 attributesDef 中的属性... -->
|
||||
</attributes>
|
||||
|
||||
<!-- 角色所属阵营 -->
|
||||
<affiliation>player</affiliation> <!-- 引用 AffiliationDef 的 defName -->
|
||||
|
||||
<!-- 角色不同状态和朝向的绘制指令 -->
|
||||
<drawingOrder>
|
||||
<!-- Idle states -->
|
||||
<idle_up>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
</textures>
|
||||
</idle_up>
|
||||
<idle_down>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<idle_left>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
</textures>
|
||||
</idle_left>
|
||||
<idle_right>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
</textures>
|
||||
</idle_right>
|
||||
|
||||
<!-- Walk states -->
|
||||
<walk_up>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_36</li>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
<li>Character_Maid_Walk_38</li>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
</textures>
|
||||
</walk_up>
|
||||
<walk_down>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_0</li>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
<li>Character_Maid_Walk_2</li>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<walk_left>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_12</li>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
<li>Character_Maid_Walk_14</li>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
</textures>
|
||||
</walk_left>
|
||||
<walk_right>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_24</li>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
<li>Character_Maid_Walk_26</li>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
</textures>
|
||||
</walk_right>
|
||||
|
||||
<!-- Melee Attack states -->
|
||||
<meleeAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_2</li>
|
||||
</textures>
|
||||
</meleeAttack_up>
|
||||
<meleeAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_6</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<meleeAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_10</li>
|
||||
</textures>
|
||||
</meleeAttack_left>
|
||||
<meleeAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_14</li>
|
||||
</textures>
|
||||
</meleeAttack_right>
|
||||
|
||||
<!-- Ranged Attack states -->
|
||||
<rangedAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_3</li>
|
||||
</textures>
|
||||
</rangedAttack_up>
|
||||
<rangedAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_7</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
<rangedAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_11</li>
|
||||
</textures>
|
||||
</rangedAttack_left>
|
||||
<rangedAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_15</li>
|
||||
</textures>
|
||||
</rangedAttack_right>
|
||||
</drawingOrder>
|
||||
|
||||
<behaviorTree>
|
||||
<Node className="ThinkNode_Selector">
|
||||
<Node className="ThinkNode_Conditional" value="HasEnemyInSight()">
|
||||
<Node className="ThinkNode_Conditional" value="HasWeapon()">
|
||||
<Node className="JobGiver_AttackJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_FleeJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</Node>
|
||||
</behaviorTree>
|
||||
|
||||
|
||||
</CharacterDef>
|
||||
|
||||
<ImageDef>
|
||||
<defName>PlayerIdle</defName>
|
||||
<path>Resources\Character\PlayerIdle.png</path>
|
||||
<wCount>2</wCount>
|
||||
<hCount>4</hCount>
|
||||
<pixelsPerUnit>32</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
<ImageDef>
|
||||
<defName>PlayerWalk</defName>
|
||||
<path>Resources\Character\PlayerWalk.png</path>
|
||||
<wCount>4</wCount>
|
||||
<hCount>4</hCount>
|
||||
<pixelsPerUnit>32</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
|
||||
<CharacterDef>
|
||||
<defName>testPawn</defName>
|
||||
<label>测试小人</label>
|
||||
<description>用于测试功能的角色</description>
|
||||
<attributes>
|
||||
<health>100</health>
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<affiliation>player</affiliation>
|
||||
<drawingOrder>
|
||||
<!-- Idle states -->
|
||||
<idle_up>
|
||||
<FPS>2.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerIdle_2</li>
|
||||
<li>PlayerIdle_3</li>
|
||||
</textures>
|
||||
</idle_up>
|
||||
<idle_down>
|
||||
<FPS>2.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerIdle_0</li>
|
||||
<li>PlayerIdle_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<idle_left>
|
||||
<FPS>2.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerIdle_6</li>
|
||||
<li>PlayerIdle_7</li>
|
||||
</textures>
|
||||
</idle_left>
|
||||
<idle_right>
|
||||
<FPS>2.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerIdle_4</li>
|
||||
<li>PlayerIdle_5</li>
|
||||
</textures>
|
||||
</idle_right>
|
||||
|
||||
<!-- Walk states -->
|
||||
<walk_down>
|
||||
<FPS>4.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerWalk_0</li>
|
||||
<li>PlayerWalk_1</li>
|
||||
<li>PlayerWalk_2</li>
|
||||
<li>PlayerWalk_3</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<walk_up>
|
||||
<FPS>4.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerWalk_4</li>
|
||||
<li>PlayerWalk_5</li>
|
||||
<li>PlayerWalk_6</li>
|
||||
<li>PlayerWalk_7</li>
|
||||
</textures>
|
||||
</walk_up>
|
||||
<walk_right>
|
||||
<FPS>4.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerWalk_8</li>
|
||||
<li>PlayerWalk_9</li>
|
||||
<li>PlayerWalk_10</li>
|
||||
<li>PlayerWalk_11</li>
|
||||
</textures>
|
||||
</walk_right>
|
||||
<walk_left>
|
||||
<FPS>4.0</FPS>
|
||||
<textures>
|
||||
<li>PlayerWalk_12</li>
|
||||
<li>PlayerWalk_13</li>
|
||||
<li>PlayerWalk_14</li>
|
||||
<li>PlayerWalk_15</li>
|
||||
</textures>
|
||||
</walk_left>
|
||||
|
||||
<!-- Melee Attack states -->
|
||||
<meleeAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_2</li>
|
||||
</textures>
|
||||
</meleeAttack_up>
|
||||
<meleeAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_6</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<meleeAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_10</li>
|
||||
</textures>
|
||||
</meleeAttack_left>
|
||||
<meleeAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_14</li>
|
||||
</textures>
|
||||
</meleeAttack_right>
|
||||
|
||||
<!-- Ranged Attack states -->
|
||||
<rangedAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_3</li>
|
||||
</textures>
|
||||
</rangedAttack_up>
|
||||
<rangedAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_7</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
<rangedAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_11</li>
|
||||
</textures>
|
||||
</rangedAttack_left>
|
||||
<rangedAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_15</li>
|
||||
</textures>
|
||||
</rangedAttack_right>
|
||||
</drawingOrder>
|
||||
<behaviorTree>
|
||||
<Node className="ThinkNode_Conditional" value="EntityHealth(50)">
|
||||
<Node className="JobGiver_AttackJob"/>
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</behaviorTree>
|
||||
</CharacterDef>
|
||||
</Define>
|
||||
70
Client/Data/Core/Define/Entity/Monster.xml
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<BehaviorTreeDef>
|
||||
<defName>BasicMonsterBehavior</defName>
|
||||
<Node className="ThinkNode_Selector">
|
||||
<Node className="ThinkNode_Conditional" value="HasEnemyInSight()">
|
||||
<Node className="ThinkNode_Conditional" value="HasWeapon()">
|
||||
<Node className="JobGiver_AttackJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_FleeJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</Node>
|
||||
</BehaviorTreeDef>
|
||||
|
||||
<MonsterDef>
|
||||
<defName>chicken</defName>
|
||||
<label>不大聪明</label>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<moveSpeed>1</moveSpeed>
|
||||
<health>2</health> <!-- 123 -> approx 2 (round down) -->
|
||||
</attributes>
|
||||
<weapon>Claw</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body" FPS="10">
|
||||
<textures>
|
||||
<li>testPawnAnimation_0</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_4</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
|
||||
<MonsterDef>
|
||||
<defName>big</defName>
|
||||
<label>大聪明</label>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<moveSpeed>1</moveSpeed>
|
||||
<health>2</health> <!-- 123 -> approx 2 (round down) -->
|
||||
</attributes>
|
||||
<weapon>TestGun</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body" FPS="20">
|
||||
<textures>
|
||||
<li>testPawnAnimation_0</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_4</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<!-- Mechanical Monsters -->
|
||||
|
||||
|
||||
</Define>
|
||||
@@ -18,4 +18,15 @@
|
||||
<li>TreeGenerator</li>
|
||||
</mapGenerators>
|
||||
</DimensionDef>
|
||||
<DimensionDef>
|
||||
<defName>DefaultBaseDimension</defName>
|
||||
<label>默认基地维度地图</label>
|
||||
<description>默认基地维度地图的描述</description>
|
||||
<mapGenerators>
|
||||
<li>BaseFloorFiller</li>
|
||||
<li>BaseUpWallFiller</li>
|
||||
<li>BaseDownWallFiller</li>
|
||||
<li>BaseBuildingGenerator</li>
|
||||
</mapGenerators>
|
||||
</DimensionDef>
|
||||
</Define>
|
||||
@@ -8,7 +8,7 @@
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Water",
|
||||
"elseTileDefName":"Grass",
|
||||
"elseTileDefName":"Grassland",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"threshold":0,
|
||||
@@ -58,8 +58,8 @@
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"Tree",
|
||||
"mapCellSizeX":100,
|
||||
"mapCellSizeY":100,
|
||||
"mapCellSizeX":50,
|
||||
"mapCellSizeY":50,
|
||||
"requiredBaseTileDefName":"Grass",
|
||||
"density":0.2,
|
||||
"threshold":0,
|
||||
@@ -67,4 +67,96 @@
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
|
||||
|
||||
<MapGeneratorDef>
|
||||
<defName>BaseBuildingGenerator</defName>
|
||||
<label>基地建筑生成器</label>
|
||||
<description>一个简单的基地建筑生成器,填充地图为基地建筑</description>
|
||||
<workClass>BuildingMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"defName":"ConcreteWall",
|
||||
"positionX":15,
|
||||
"positionY":20,
|
||||
"mapping":
|
||||
{
|
||||
1:"ConcreteWall",
|
||||
2:"SkillTreeShop"
|
||||
},
|
||||
"pattern": [
|
||||
[2]
|
||||
]
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
<MapGeneratorDef>
|
||||
<defName>BaseFloorFiller</defName>
|
||||
<label>基地地板填充</label>
|
||||
<description>一个简单的基地地板填充生成器,填充地图为基地地板</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"BaseFloor",
|
||||
"mapCellSizeX":30,
|
||||
"mapCellSizeY":30,
|
||||
"threshold":-1,
|
||||
"Scale":2,
|
||||
"offsetX":0,
|
||||
"offsetY":0
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
<MapGeneratorDef>
|
||||
<defName>BaseUpWallFiller</defName>
|
||||
<label>基地顶部墙面绘制</label>
|
||||
<description>一个简单的基地墙面绘制生成器,填充地图为基地墙面</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"BaseWall",
|
||||
"mapCellSizeX":30,
|
||||
"mapCellSizeY":1,
|
||||
"threshold":-1,
|
||||
"Scale":2,
|
||||
"originX":0,
|
||||
"originY":30
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
<MapGeneratorDef>
|
||||
<defName>BaseDownWallFiller</defName>
|
||||
<label>基地底部墙面绘制</label>
|
||||
<description>一个简单的基地墙面绘制生成器,填充地图为基地墙面</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"BaseWall",
|
||||
"mapCellSizeX":30,
|
||||
"mapCellSizeY":1,
|
||||
"threshold":-1,
|
||||
"Scale":2,
|
||||
"originX":0,
|
||||
"originY":0
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
<MapGeneratorDef>
|
||||
<defName>BaseLeftWallFiller</defName>
|
||||
<label>基地左侧墙面绘制</label>
|
||||
<description>一个简单的基地墙面绘制生成器,填充地图为基地墙面</description>
|
||||
<workClass>BasicTerrainMapGenerator</workClass>
|
||||
<value>
|
||||
{
|
||||
"tileDefName":"BaseWall",
|
||||
"mapCellSizeX":1,
|
||||
"mapCellSizeY":30,
|
||||
"threshold":-1,
|
||||
"Scale":2,
|
||||
"originX":0,
|
||||
"originY":0
|
||||
}
|
||||
</value>
|
||||
</MapGeneratorDef>
|
||||
|
||||
</Define>
|
||||
142
Client/Data/Core/Define/Map/Tile.xml
Normal file
@@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<ImageDef>
|
||||
<defName>Grassland</defName>
|
||||
<path>Resources\Map\Outdoor Ground\Grassland.png</path>
|
||||
<wCount>9</wCount>
|
||||
<hCount>3</hCount>
|
||||
<pixelsPerUnit>8</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
|
||||
<TileDef>
|
||||
<defName>Grassland</defName>
|
||||
<label>草地</label>
|
||||
<description>地图上的草地瓦片,构成废弃工业区的地面。</description>
|
||||
<collider>None</collider>
|
||||
<texture>Grassland_17</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<outputType>Random</outputType>
|
||||
<chance>0.2</chance>
|
||||
<animationTextures>
|
||||
<li>Grassland_0</li>
|
||||
<li>Grassland_1</li>
|
||||
<li>Grassland_2</li>
|
||||
<li>Grassland_8</li>
|
||||
|
||||
<li>Grassland_9</li>
|
||||
<li>Grassland_10</li>
|
||||
<li>Grassland_11</li>
|
||||
<li>Grassland_13</li>
|
||||
<!-- <li>Grassland_17</li> -->
|
||||
|
||||
<li>Grassland_18</li>
|
||||
<li>Grassland_19</li>
|
||||
<li>Grassland_20</li>
|
||||
</animationTextures>
|
||||
<outputCollider>None</outputCollider>
|
||||
</rule>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>This</li><li>This</li><li>This</li>
|
||||
</neighborConditions>
|
||||
<animationTextures>
|
||||
<li>Grassland_17</li>
|
||||
</animationTextures>
|
||||
<outputCollider>None</outputCollider>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
|
||||
<ImageDef>
|
||||
<defName>BaseFloor</defName>
|
||||
<path>Resources\Map\Base\BaseFloor.jpg</path>
|
||||
<wCount>4</wCount>
|
||||
<hCount>4</hCount>
|
||||
<pixelsPerUnit>32</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
|
||||
<!-- 基地地板瓦片 -->
|
||||
<TileDef>
|
||||
<defName>BaseFloor</defName>
|
||||
<label>基地地板</label>
|
||||
<description>地图上的基地地板瓦片,构成废弃工业区的地面。</description>
|
||||
<collider>None</collider>
|
||||
<texture>BaseFloor_0</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
<li>Any</li> <li>Any</li>
|
||||
<li>Any</li><li>Any</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<outputType>Random</outputType>
|
||||
<chance>0.5</chance>
|
||||
<animationTextures>
|
||||
<li>BaseFloor_0</li>
|
||||
<li>BaseFloor_1</li>
|
||||
<li>BaseFloor_2</li>
|
||||
<li>BaseFloor_3</li>
|
||||
|
||||
<li>BaseFloor_4</li>
|
||||
<li>BaseFloor_5</li>
|
||||
<li>BaseFloor_6</li>
|
||||
<li>BaseFloor_7</li>
|
||||
|
||||
<li>BaseFloor_8</li>
|
||||
<li>BaseFloor_9</li>
|
||||
<li>BaseFloor_10</li>
|
||||
<li>BaseFloor_11</li>
|
||||
|
||||
<li>BaseFloor_12</li>
|
||||
<li>BaseFloor_13</li>
|
||||
<li>BaseFloor_14</li>
|
||||
<li>BaseFloor_15</li>
|
||||
</animationTextures>
|
||||
<outputCollider>None</outputCollider>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
|
||||
<ImageDef>
|
||||
<defName>BaseWall</defName>
|
||||
<path>Resources\Map\Base\WallUp.png</path>
|
||||
<wCount>4</wCount>
|
||||
<hCount>3</hCount>
|
||||
<pixelsPerUnit>32</pixelsPerUnit>
|
||||
</ImageDef>
|
||||
|
||||
|
||||
<TileDef>
|
||||
<defName>BaseWall</defName>
|
||||
<label>基地墙壁</label>
|
||||
<description>地图上的基地墙壁瓦片,构成废弃工业区的墙壁。</description>
|
||||
<collider>Grid</collider>
|
||||
<texture>BaseWall_0</texture>
|
||||
<rules>
|
||||
<rule>
|
||||
<neighborConditions>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
<li>This</li> <li>This</li>
|
||||
<li>Any</li><li>NotThis</li><li>Any</li>
|
||||
</neighborConditions>
|
||||
<chance>0.5</chance>
|
||||
<outputType>Random</outputType>
|
||||
<animationTextures>
|
||||
<li>BaseWall_0</li>
|
||||
<li>BaseWall_1</li>
|
||||
<li>BaseWall_2</li>
|
||||
<li>BaseWall_3</li>
|
||||
</animationTextures>
|
||||
<outputCollider>Grid</outputCollider>
|
||||
</rule>
|
||||
</rules>
|
||||
</TileDef>
|
||||
</Define>
|
||||
@@ -1,165 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<!-- 女仆行走贴图 -->
|
||||
<ImageDef>
|
||||
<defName>Character_Maid_Walk</defName>
|
||||
<path>Resources\Character\女仆行走.png</path>
|
||||
<wCount>12</wCount>
|
||||
<hCount>8</hCount>
|
||||
</ImageDef>
|
||||
<!-- 玩家角色的详细定义 -->
|
||||
<CharacterDef>
|
||||
<defName>maid</defName>
|
||||
<label>女仆</label>
|
||||
<description>一个可爱的女仆角色</description>
|
||||
|
||||
<!-- 角色基础属性 -->
|
||||
<attributes>
|
||||
<health>100</health>
|
||||
<moveSpeed>2</moveSpeed>
|
||||
<!-- 更多 attributesDef 中的属性... -->
|
||||
</attributes>
|
||||
|
||||
<!-- 角色所属阵营 -->
|
||||
<affiliation>player</affiliation> <!-- 引用 AffiliationDef 的 defName -->
|
||||
|
||||
<!-- 角色不同状态和朝向的绘制指令 -->
|
||||
<drawingOrder>
|
||||
<!-- Idle states -->
|
||||
<idle_up>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
</textures>
|
||||
</idle_up>
|
||||
<idle_down>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<idle_left>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
</textures>
|
||||
</idle_left>
|
||||
<idle_right>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
</textures>
|
||||
</idle_right>
|
||||
|
||||
<!-- Walk states -->
|
||||
<walk_up>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_36</li>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
<li>Character_Maid_Walk_38</li>
|
||||
<li>Character_Maid_Walk_37</li>
|
||||
</textures>
|
||||
</walk_up>
|
||||
<walk_down>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_0</li>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
<li>Character_Maid_Walk_2</li>
|
||||
<li>Character_Maid_Walk_1</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<walk_left>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_12</li>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
<li>Character_Maid_Walk_14</li>
|
||||
<li>Character_Maid_Walk_13</li>
|
||||
</textures>
|
||||
</walk_left>
|
||||
<walk_right>
|
||||
<FPS>5.0</FPS>
|
||||
<textures>
|
||||
<li>Character_Maid_Walk_24</li>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
<li>Character_Maid_Walk_26</li>
|
||||
<li>Character_Maid_Walk_25</li>
|
||||
</textures>
|
||||
</walk_right>
|
||||
|
||||
<!-- Melee Attack states -->
|
||||
<meleeAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_2</li>
|
||||
</textures>
|
||||
</meleeAttack_up>
|
||||
<meleeAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_6</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<meleeAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_10</li>
|
||||
</textures>
|
||||
</meleeAttack_left>
|
||||
<meleeAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_14</li>
|
||||
</textures>
|
||||
</meleeAttack_right>
|
||||
|
||||
<!-- Ranged Attack states -->
|
||||
<rangedAttack_up>
|
||||
<textures>
|
||||
<li>testPawn_3</li>
|
||||
</textures>
|
||||
</rangedAttack_up>
|
||||
<rangedAttack_down>
|
||||
<textures>
|
||||
<li>testPawn_7</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
<rangedAttack_left>
|
||||
<textures>
|
||||
<li>testPawn_11</li>
|
||||
</textures>
|
||||
</rangedAttack_left>
|
||||
<rangedAttack_right>
|
||||
<textures>
|
||||
<li>testPawn_15</li>
|
||||
</textures>
|
||||
</rangedAttack_right>
|
||||
</drawingOrder>
|
||||
|
||||
<!-- 角色的AI行为树 -->
|
||||
<behaviorTree>
|
||||
<!-- 行为树的根节点 -->
|
||||
<Node className="ThinkNode_Conditional" value="EntityHealth(50)">
|
||||
<!-- 如果HP低于50,尝试攻击 -->
|
||||
<Node className="JobGiver_AttackJob"/>
|
||||
<!-- 否则随机游荡 -->
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</Node>
|
||||
<!-- 如果上方条件不满足,则默认随机游荡 -->
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</behaviorTree>
|
||||
|
||||
<!-- 死亡动画 (示例中未提供,但结构在此) -->
|
||||
<!-- <deathAnimation>
|
||||
<nodeName>DeathEffect</nodeName>
|
||||
<FPS>15.0</FPS>
|
||||
<textures>
|
||||
<li>DeathAnim_Frame1</li>
|
||||
<li>DeathAnim_Frame2</li>
|
||||
</textures>
|
||||
</deathAnimation> -->
|
||||
|
||||
<!-- 死亡时触发的事件 (示例中未提供,但结构在此) -->
|
||||
<!-- <deathEffects>
|
||||
<li>Event_Explosion</li>
|
||||
<li>Event_DropLoot</li>
|
||||
</deathEffects> -->
|
||||
|
||||
</CharacterDef>
|
||||
|
||||
|
||||
</Define>
|
||||
@@ -1,771 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Define>
|
||||
<BehaviorTreeDef>
|
||||
<defName>BasicMonsterBehavior</defName>
|
||||
<Node className="ThinkNode_Selector">
|
||||
<Node className="ThinkNode_Conditional" value="HasEnemyInSight()">
|
||||
<Node className="ThinkNode_Conditional" value="HasWeapon()">
|
||||
<Node className="JobGiver_AttackJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_FleeJob"/>
|
||||
</Node>
|
||||
<Node className="JobGiver_RandomWander"/>
|
||||
</Node>
|
||||
</BehaviorTreeDef>
|
||||
|
||||
<MonsterDef>
|
||||
<defName>chicken</defName>
|
||||
<label>不大聪明</label>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<moveSpeed>1</moveSpeed>
|
||||
<health>2</health> <!-- 123 -> approx 2 (round down) -->
|
||||
</attributes>
|
||||
<weapon>Claw</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body" FPS="10">
|
||||
<textures>
|
||||
<li>testPawnAnimation_0</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_4</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
|
||||
<MonsterDef>
|
||||
<defName>big</defName>
|
||||
<label>大聪明</label>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<moveSpeed>1</moveSpeed>
|
||||
<health>2</health> <!-- 123 -> approx 2 (round down) -->
|
||||
</attributes>
|
||||
<weapon>TestGun</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body" FPS="20">
|
||||
<textures>
|
||||
<li>testPawnAnimation_0</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_4</li>
|
||||
<li>testPawnAnimation_3</li>
|
||||
<li>testPawnAnimation_2</li>
|
||||
<li>testPawnAnimation_1</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<!-- Mechanical Monsters -->
|
||||
<MonsterDef>
|
||||
<defName>MonsterA1</defName>
|
||||
<label>A怪物1 (普通)</label>
|
||||
<description>机械类型怪物,拥有远程攻击能力。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>60</health> <!-- 4600 -> 60 (scaled) -->
|
||||
<defense>10</defense> <!-- 100 -> 10 -->
|
||||
<moveSpeed>2.5</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterA1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterA2</defName>
|
||||
<label>A怪物2 (普通)</label>
|
||||
<description>更快的机械远程怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>80</health> <!-- 6000 -> 80 (scaled) -->
|
||||
<defense>1</defense> <!-- 10 -> 1 -->
|
||||
<moveSpeed>4</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterA2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterA2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterB1</defName>
|
||||
<label>B怪物1 (普通)</label>
|
||||
<description>防御较高的机械近战怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>70</health> <!-- 5000 -> 70 (scaled) -->
|
||||
<defense>40</defense> <!-- 400 -> 40 -->
|
||||
<moveSpeed>1</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterB1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterB2</defName>
|
||||
<label>B怪物2 (普通)</label>
|
||||
<description>高血高防的机械近战怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>100</health> <!-- 8000 -> 100 (scaled) -->
|
||||
<defense>50</defense> <!-- 500 -> 50 -->
|
||||
<moveSpeed>1.5</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterB2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterB2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterC1</defName>
|
||||
<label>C怪物1 (精英)</label>
|
||||
<description>血量和防御极高的精英机械近战怪物。击杀后掉落10能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>300</health> <!-- 22000 -> 300 (scaled) -->
|
||||
<defense>80</defense> <!-- 800 -> 80 -->
|
||||
<moveSpeed>1</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterC1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterC2</defName>
|
||||
<label>C怪物2 (精英)</label>
|
||||
<description>血量极高的精英机械近战怪物,攻击力强大。击杀后掉落10能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>300</health> <!-- 22000 -> 300 (scaled) -->
|
||||
<defense>45</defense> <!-- 450 -> 45 -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterC2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>MechanicalMonsterC2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<!-- Hybrid Monsters -->
|
||||
<MonsterDef>
|
||||
<defName>MonsterD1</defName>
|
||||
<label>D怪物1 (普通)</label>
|
||||
<description>混合类型怪物,拥有远程攻击能力。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>85</health> <!-- 6400 -> 85 (scaled) -->
|
||||
<defense>5</defense> <!-- 50 -> 5 -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterD1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterD2</defName>
|
||||
<label>D怪物2 (普通)</label>
|
||||
<description>混合类型怪物,高速远程攻击。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>95</health> <!-- 7200 -> 95 (scaled) -->
|
||||
<defense>0</defense> <!-- 0 -> 0 (no change) -->
|
||||
<moveSpeed>3</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterD2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterD2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterE1</defName>
|
||||
<label>E怪物1 (普通)</label>
|
||||
<description>混合类型近战怪物,高速。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>90</health> <!-- 6550 -> 90 (scaled) -->
|
||||
<defense>24</defense> <!-- 240 -> 24 -->
|
||||
<moveSpeed>3</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterE1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterE2</defName>
|
||||
<label>E怪物2 (普通)</label>
|
||||
<description>更强大的混合类型近战怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>120</health> <!-- 9120 -> 120 (scaled) -->
|
||||
<defense>32</defense> <!-- 320 -> 32 -->
|
||||
<moveSpeed>3</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterE2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterE2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterF1</defName>
|
||||
<label>F怪物1 (关卡11BOSS)</label>
|
||||
<description>关卡BOSS,血量和防御极高,近战爆发强。击杀后掉落50能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>420</health> <!-- 42000 -> 420 (scaled) -->
|
||||
<defense>70</defense> <!-- 770 -> 70 (scaled) -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterF1</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MonsterF2</defName>
|
||||
<label>F怪物2 (关卡11BOSS)</label>
|
||||
<description>终极关卡BOSS,超高血量和攻击力。击杀后掉落50能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>480</health> <!-- 48000 -> 480 (scaled) -->
|
||||
<defense>50</defense> <!-- 560 -> 50 (scaled) -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MonsterF2</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>HybridMonsterF2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<!-- Biological Monsters -->
|
||||
<MonsterDef>
|
||||
<defName>MaskMonster1</defName>
|
||||
<label>面具1/2/3 (普通)</label>
|
||||
<description>快速生物近战怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>60</health> <!-- 4800 -> 60 (scaled) -->
|
||||
<defense>7</defense> <!-- 66 -> 7 (scaled) -->
|
||||
<moveSpeed>8</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MaskMonster</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>MaskMonster4</defName>
|
||||
<label>面具4/5/6 (精英)</label>
|
||||
<description>更强大的快速精英生物近战怪物。击杀后掉落10能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>120</health> <!-- 9600 -> 120 (scaled) -->
|
||||
<defense>13</defense> <!-- 132 -> 13 (scaled) -->
|
||||
<moveSpeed>8</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_MaskMonsterElite</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster4Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster4Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster4Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalMaskMonster4Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>HologramMonster1</defName>
|
||||
<label>全息1/2 (普通)</label>
|
||||
<description>特殊的生物近战怪物,无移动速度。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>90</health> <!-- 6666 -> 90 (scaled) -->
|
||||
<defense>-7</defense> <!-- -66 -> -7 (scaled) -->
|
||||
<moveSpeed>0</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_HologramMonster</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>HologramMonster3</defName>
|
||||
<label>全息3/4 (精英)</label>
|
||||
<description>更强大的精英生物近战怪物,无移动速度。击杀后掉落10能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>200</health> <!-- 16666 -> 200 (scaled) -->
|
||||
<defense>-17</defense> <!-- -166 -> -17 (scaled) -->
|
||||
<moveSpeed>0</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_HologramMonsterElite</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster3Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster3Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster3Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalHologramMonster3Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>SnakeMonster1</defName>
|
||||
<label>蛇1/2/3 (普通)</label>
|
||||
<description>生物远程怪物。击杀后掉落5能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>75</health> <!-- 5630 -> 75 (scaled) -->
|
||||
<defense>8</defense> <!-- 78 -> 8 (scaled) -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_SnakeMonster</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>SnakeMonster4</defName>
|
||||
<label>蛇4/5/6 (精英)</label>
|
||||
<description>更强大的精英生物远程怪物。击杀后掉落10能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>150</health> <!-- 11260 -> 150 (scaled) -->
|
||||
<defense>16</defense> <!-- 156 -> 16 (scaled) -->
|
||||
<moveSpeed>2</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_SnakeMonsterElite</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster4Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster4Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster4Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalSnakeMonster4Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>RatMonster1</defName>
|
||||
<label>鼠鼠1 (普通)</label>
|
||||
<description>弱小的生物近战怪物,每11秒移动一次。击杀后掉落1能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>3</health> <!-- 111 -> 3 (scaled) -->
|
||||
<defense>0</defense> <!-- 1 -> 0 (scaled) -->
|
||||
<moveSpeed>11</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_RatMonster</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster1Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster1Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster1Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster1Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
<MonsterDef>
|
||||
<defName>RatMonster2</defName>
|
||||
<label>鼠鼠2 (精英)</label>
|
||||
<description>更强大的精英生物近战怪物,每22秒移动一次。击杀后掉落2能量。</description>
|
||||
<behaviorTree>BasicMonsterBehavior</behaviorTree>
|
||||
<affiliation>monster</affiliation>
|
||||
<attributes>
|
||||
<health>5</health> <!-- 222 -> 5 (scaled) -->
|
||||
<defense>0</defense> <!-- 2 -> 0 (scaled) -->
|
||||
<moveSpeed>22</moveSpeed>
|
||||
</attributes>
|
||||
<weapon>Weapon_RatMonsterElite</weapon>
|
||||
<drawingOrder>
|
||||
<idle_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster2Texture</li>
|
||||
</textures>
|
||||
</idle_down>
|
||||
<walk_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster2Texture</li>
|
||||
</textures>
|
||||
</walk_down>
|
||||
<meleeAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster2Texture</li>
|
||||
</textures>
|
||||
</meleeAttack_down>
|
||||
<rangedAttack_down name="Body">
|
||||
<textures>
|
||||
<li>BiologicalRatMonster2Texture</li>
|
||||
</textures>
|
||||
</rangedAttack_down>
|
||||
</drawingOrder>
|
||||
</MonsterDef>
|
||||
|
||||
</Define>
|
||||
BIN
Client/Data/Core/Resources/Character/PlayerIdle.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
Client/Data/Core/Resources/Character/PlayerWalk.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
Client/Data/Core/Resources/Map/Base/BaseFloor.jpg
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
Client/Data/Core/Resources/Map/Base/Wall.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
Client/Data/Core/Resources/Map/Base/WallUp.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
Client/Data/Core/Resources/Map/Outdoor Ground/Grassland.png
Normal file
|
After Width: | Height: | Size: 734 B |
BIN
Client/Data/Core/Resources/Map/Outdoor Ground/GrasslandPit.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
Client/Data/Core/Resources/Map/Outdoor Ground/GrasslandRoad.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Client/Data/Core/Resources/Map/Outdoor Ground/Road.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Client/Data/Core/Resources/Map/Outpost/OutpostDamageⅠ.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
Client/Data/Core/Resources/Map/Outpost/OutpostDamageⅡ.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Client/Data/Core/Resources/Map/Outpost/OutpostDestroyed.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
Client/Data/Core/Resources/Map/Outpost/OutpostInitial.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
Client/Data/Core/Resources/Map/Outpost/Store.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
Client/Data/Core/Resources/Map/Ruins/RuinsⅠ.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
Client/Data/Core/Resources/Map/Ruins/RuinsⅡ.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
Client/Data/Core/Resources/Map/Ruins/RuinsⅢ.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
Client/Data/Core/Resources/Map/Ruins/RuinsⅣ.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
Client/Data/Core/Resources/Map/rustFloor.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |