暂存
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -26,3 +26,10 @@ Source/MCP/*.log
|
||||
Source/MCP/vector_cache/
|
||||
Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/DocumentLayout.json
|
||||
Source/MCP/pid.txt
|
||||
|
||||
# Kilo Code logs
|
||||
.kilocode/logs/
|
||||
|
||||
# MCP Knowledge Base Cache and Logs
|
||||
*.log
|
||||
MCP/vector_cache/*.txt
|
||||
|
||||
@@ -5,14 +5,13 @@
|
||||
"args": [
|
||||
"mcpserver_stdio.py"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/Source/MCP/",
|
||||
"cwd": "${workspaceFolder}/MCP/",
|
||||
"env": {
|
||||
"PYTHONUNBUFFERED": "1"
|
||||
"PYTHONUNBUFFERED": "1",
|
||||
"PYTHONPATH": "${workspaceFolder}/MCP/python-sdk/src"
|
||||
},
|
||||
"disabled": false,
|
||||
"alwaysAllow": [
|
||||
"get_context"
|
||||
]
|
||||
"alwaysAllow": []
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
|
||||
@@ -22,4 +22,42 @@ Always remember these critical paths for your work:
|
||||
|
||||
## Verification Mandate
|
||||
When writing or modifying code or XML, especially for specific identifiers like enum values, class names, or field names, you **MUST** verify the correct value/spelling by using the `rimworld-knowledge-base` tool. Do not rely on memory.
|
||||
- **同步项目文件:** 当重命名、移动或删除C#源文件时,**必须**同步更新 `.csproj` 项目文件中的相应 `<Compile Include="..." />` 条目,否则会导致编译失败。
|
||||
- **同步项目文件:** 当重命名、移动或删除C#源文件时,**必须**同步更新 `.csproj` 项目文件中的相应 `<Compile Include="..." />` 条目,否则会导致编译失败。
|
||||
|
||||
## 任务日志记录 (Task Logging)
|
||||
|
||||
为了实现最低的 token 消耗和最高效的上下文理解,所有任务日志 **必须** 遵循以下 YAML-like Markdown 格式。
|
||||
|
||||
1. **日志文件:** 在每个新任务开始时,在 `.kilocode/logs/` 目录下创建一个以当前日期和任务名命名的 Markdown 文件 (例如 `2025-08-12-fix-cleave-weapon.md`)。
|
||||
|
||||
2. **日志格式:**
|
||||
* **Front Matter:** 文件开头使用 YAML Front Matter 提供任务摘要。
|
||||
* **事件驱动:** 每个独立的操作(工具调用、命令执行、用户反馈等)都应记录为一个独立的“事件”。
|
||||
* **事件分隔符:** 使用 `---` 将每个事件分隔开。
|
||||
* **键值对:** 使用简短、标准化的英文 `key:` 标识信息。
|
||||
* **代码块:** 所有多行文本(代码、diff、命令输出)都必须包含在带语言标识的 ` ``` ` 代码块中。
|
||||
|
||||
3. **启动时读取:** 每次会话初始化时,必须检查并读取最新的日志文件,以了解上一个任务的最终状态和上下文。
|
||||
|
||||
4. **格式示例:**
|
||||
```markdown
|
||||
---
|
||||
task: "任务的简短描述"
|
||||
date: "YYYY-MM-DD"
|
||||
status: "in-progress" # or "completed"
|
||||
---
|
||||
|
||||
# EVENT: TOOL_CALL
|
||||
tool: tool_name
|
||||
params:
|
||||
key: value
|
||||
---
|
||||
|
||||
# EVENT: CMD_EXEC
|
||||
cmd: command to execute
|
||||
exit_code: 0
|
||||
output: |
|
||||
```
|
||||
...
|
||||
``` ---
|
||||
```
|
||||
Binary file not shown.
81
1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Melee_Cleave.xml
Normal file
81
1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Melee_Cleave.xml
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
|
||||
<defName>WULA_MeleeWeapon_Cleaver</defName>
|
||||
<label>CMl-91"裂空"</label>
|
||||
<description>一把沉重但制作精良的双手战刃,挥舞时能对前方扇形区域内的多个敌人造成伤害。</description>
|
||||
<graphicData>
|
||||
<texPath>Wula/Weapon/WULA_MW_Glaive</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>CutoutComplex</shaderType>
|
||||
<drawSize>1.5</drawSize>
|
||||
</graphicData>
|
||||
<techLevel>Spacer</techLevel>
|
||||
<costList>
|
||||
<Plasteel>120</Plasteel>
|
||||
<ComponentSpacer>4</ComponentSpacer>
|
||||
</costList>
|
||||
<statBases>
|
||||
<WorkToMake>45000</WorkToMake>
|
||||
<Mass>2.5</Mass>
|
||||
</statBases>
|
||||
<equippedAngleOffset>-65</equippedAngleOffset>
|
||||
<tools>
|
||||
<li>
|
||||
<label>刃</label>
|
||||
<capacities>
|
||||
<li>WULA_CleaveAttack</li>
|
||||
</capacities>
|
||||
<power>20</power>
|
||||
<cooldownTime>2</cooldownTime>
|
||||
</li>
|
||||
<li>
|
||||
<label>柄</label>
|
||||
<capacities>
|
||||
<li>Blunt</li>
|
||||
</capacities>
|
||||
<power>9</power>
|
||||
<cooldownTime>2</cooldownTime>
|
||||
</li>
|
||||
</tools>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_Cleave">
|
||||
<cleaveAngle>70</cleaveAngle>
|
||||
<cleaveRange>5.9</cleaveRange>
|
||||
<cleaveDamageFactor>0.7</cleaveDamageFactor>
|
||||
<damageDowned>false</damageDowned>
|
||||
<explosionDamageDef>Bomb</explosionDamageDef>
|
||||
</li>
|
||||
</comps>
|
||||
<recipeMaker>
|
||||
<researchPrerequisite>WULA_FallenEmpire_Weapons</researchPrerequisite>
|
||||
<skillRequirements>
|
||||
<Crafting>10</Crafting>
|
||||
</skillRequirements>
|
||||
<recipeUsers>
|
||||
<li>FabricationBench</li>
|
||||
</recipeUsers>
|
||||
</recipeMaker>
|
||||
</ThingDef>
|
||||
|
||||
<ToolCapacityDef>
|
||||
<defName>WULA_CleaveAttack</defName>
|
||||
<label>cleave</label>
|
||||
</ToolCapacityDef>
|
||||
|
||||
<ManeuverDef>
|
||||
<defName>WULA_CleaveManeuver</defName>
|
||||
<requiredCapacity>WULA_CleaveAttack</requiredCapacity>
|
||||
<verb>
|
||||
<verbClass>WulaFallenEmpire.Verb_MeleeAttack_Cleave</verbClass>
|
||||
<meleeDamageDef>Cut</meleeDamageDef>
|
||||
</verb>
|
||||
<logEntryDef>MeleeAttack</logEntryDef>
|
||||
<combatLogRulesHit>Maneuver_Slash_MeleeHit</combatLogRulesHit>
|
||||
<combatLogRulesDeflect>Maneuver_Slash_MeleeDeflect</combatLogRulesDeflect>
|
||||
<combatLogRulesMiss>Maneuver_Slash_MeleeMiss</combatLogRulesMiss>
|
||||
<combatLogRulesDodge>Maneuver_Slash_MeleeDodge</combatLogRulesDodge>
|
||||
</ManeuverDef>
|
||||
|
||||
</Defs>
|
||||
@@ -685,3 +685,240 @@ requests.exceptions.SSLError: HTTPSConnectionPool(host='dashscope.aliyuncs.com',
|
||||
2025-08-09 23:32:58,909 - INFO - 找到 3 个候选文件,开始向量化处理...
|
||||
2025-08-09 23:32:58,910 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\RimWorld\JobDriver_CarryToBiosculpterPod.txt
|
||||
2025-08-09 23:32:59,792 - INFO - 向量搜索完成。找到了 1 个匹配项并成功提取了代码。
|
||||
2025-08-12 13:10:04,500 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:10:04,512 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:10:57,291 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:10:57,299 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:10:57,307 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 13:10:57,309 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 13:10:57,310 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 13:11:07,758 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:11:07,766 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:11:07,775 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 13:11:07,776 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 13:11:07,777 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 13:11:25,395 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 13:11:25,395 - INFO - 收到问题: Verb_MeleeAttack 的 ApplyMeleeDamageToTarget 方法是如何实现的?
|
||||
2025-08-12 13:11:25,396 - INFO - 找到的潜在关键词: ['Verb_MeleeAttack', 'ApplyMeleeDamageToTarget']
|
||||
2025-08-12 13:11:25,396 - INFO - 提取到关键词: ['Verb_MeleeAttack', 'ApplyMeleeDamageToTarget']
|
||||
2025-08-12 13:11:25,396 - INFO - 缓存未命中,开始实时搜索: ApplyMeleeDamageToTarget-Verb_MeleeAttack
|
||||
2025-08-12 13:11:36,892 - INFO - 找到 3 个候选文件,开始向量化处理...
|
||||
2025-08-12 13:11:36,892 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\RimWorld\Verb_MeleeAttack.txt
|
||||
2025-08-12 13:11:37,737 - INFO - 向量搜索完成。找到了 2 个匹配项并成功提取了代码。
|
||||
2025-08-12 13:46:05,186 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 13:46:05,186 - INFO - 收到问题: C# code examples for drawing a cone area of effect with GenDraw.DrawFieldEdges
|
||||
2025-08-12 13:46:05,186 - INFO - 找到的潜在关键词: ['DrawFieldEdges', 'GenDraw']
|
||||
2025-08-12 13:46:05,186 - INFO - 提取到关键词: ['DrawFieldEdges', 'GenDraw']
|
||||
2025-08-12 13:46:05,186 - INFO - 缓存未命中,开始实时搜索: DrawFieldEdges-GenDraw
|
||||
2025-08-12 13:46:06,641 - INFO - 找到 47 个候选文件,开始向量化处理...
|
||||
2025-08-12 13:46:06,641 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\GenDraw.txt
|
||||
2025-08-12 13:46:06,641 - WARNING - 候选文件过多 (46),仅处理前 25 个。
|
||||
2025-08-12 13:46:15,700 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。
|
||||
2025-08-12 13:56:22,716 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:56:22,725 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:56:22,733 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 13:56:22,736 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 13:56:22,736 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 13:56:25,445 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:56:25,453 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:56:25,461 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 13:56:25,463 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 13:56:25,463 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 13:59:25,436 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:59:25,445 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:59:26,695 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 13:59:26,704 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 13:59:26,711 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 13:59:26,712 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 13:59:26,713 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:02:26,973 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:02:26,983 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:02:28,315 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:02:28,325 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:02:28,334 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:02:28,336 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:02:28,336 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:05:12,751 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:05:12,751 - INFO - 收到问题: FleckDef for explosion or blast
|
||||
2025-08-12 14:05:12,751 - INFO - 找到的潜在关键词: ['FleckDef']
|
||||
2025-08-12 14:05:12,751 - INFO - 提取到关键词: ['FleckDef']
|
||||
2025-08-12 14:05:12,751 - INFO - 缓存未命中,开始实时搜索: FleckDef
|
||||
2025-08-12 14:05:14,428 - INFO - 找到 120 个候选文件,开始向量化处理...
|
||||
2025-08-12 14:05:14,429 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\FleckDef.txt
|
||||
2025-08-12 14:05:14,429 - WARNING - 候选文件过多 (119),仅处理前 25 个。
|
||||
2025-08-12 14:05:27,384 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。
|
||||
2025-08-12 14:05:28,722 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:05:28,731 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:05:29,890 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:05:29,900 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:05:29,907 - WARNING - Failed to validate request: Received request before initialization was complete
|
||||
2025-08-12 14:05:30,568 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:05:30,576 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:05:30,585 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:05:30,586 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:05:30,587 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:07:15,411 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:07:15,421 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:07:16,552 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:07:16,561 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:07:16,570 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:07:16,571 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:07:16,571 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:08:29,958 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:08:29,967 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:08:31,507 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:08:31,516 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:08:31,524 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:08:31,526 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:08:31,526 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:08:51,260 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:08:51,261 - INFO - 收到问题: MoteMaker a C#
|
||||
2025-08-12 14:08:51,261 - INFO - 找到的潜在关键词: ['MoteMaker']
|
||||
2025-08-12 14:08:51,261 - INFO - 提取到关键词: ['MoteMaker']
|
||||
2025-08-12 14:08:51,261 - INFO - 缓存未命中,开始实时搜索: MoteMaker
|
||||
2025-08-12 14:08:52,783 - INFO - 找到 93 个候选文件,开始向量化处理...
|
||||
2025-08-12 14:08:52,784 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\RimWorld\MoteMaker.txt
|
||||
2025-08-12 14:08:52,784 - WARNING - 候选文件过多 (92),仅处理前 25 个。
|
||||
2025-08-12 14:09:02,079 - INFO - 向量搜索完成。找到了 4 个匹配项并成功提取了代码。
|
||||
2025-08-12 14:10:58,139 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:10:58,140 - INFO - 收到问题: GenExplosion.DoExplosion
|
||||
2025-08-12 14:10:58,140 - INFO - 找到的潜在关键词: ['GenExplosion', 'DoExplosion']
|
||||
2025-08-12 14:10:58,140 - INFO - 提取到关键词: ['GenExplosion', 'DoExplosion']
|
||||
2025-08-12 14:10:58,140 - INFO - 缓存未命中,开始实时搜索: DoExplosion-GenExplosion
|
||||
2025-08-12 14:10:59,681 - INFO - 找到 31 个候选文件,开始向量化处理...
|
||||
2025-08-12 14:10:59,681 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\GenExplosion.txt
|
||||
2025-08-12 14:10:59,682 - WARNING - 候选文件过多 (30),仅处理前 25 个。
|
||||
2025-08-12 14:11:08,969 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。
|
||||
2025-08-12 14:11:31,655 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:11:31,664 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:11:32,875 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:11:32,883 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:11:32,892 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:11:32,893 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:11:32,893 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:15:34,332 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:15:34,341 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:15:35,824 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:15:35,833 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:15:35,842 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:15:35,844 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:15:35,845 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:18:15,009 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:18:15,018 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:18:16,372 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:18:16,380 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:18:16,387 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:18:16,389 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:18:16,390 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:18:36,256 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:18:36,265 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:18:37,487 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:18:37,494 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:18:37,502 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:18:37,503 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:18:37,504 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:21:38,017 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:21:38,026 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:21:39,239 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:21:39,247 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:21:39,254 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:21:39,256 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:21:39,257 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:24:39,348 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:24:39,357 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:24:40,544 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:24:40,552 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:24:40,559 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:24:40,561 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:24:40,562 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:27:59,228 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:27:59,237 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:28:00,785 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:28:00,795 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:28:00,803 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:28:00,804 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:28:00,806 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:30:14,451 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:30:14,460 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:30:15,814 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:30:15,823 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:30:15,830 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:30:15,832 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:30:15,833 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:31:10,525 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:31:10,534 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:31:11,907 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:31:11,916 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:31:11,924 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:31:11,925 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:31:11,926 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:34:41,249 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:34:41,258 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:34:42,477 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:34:42,486 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:34:42,494 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:34:42,496 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:34:42,496 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:35:15,037 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:35:15,037 - INFO - 收到问题: DamageDef named Bomb
|
||||
2025-08-12 14:35:15,038 - INFO - 找到的潜在关键词: ['Bomb', 'DamageDef']
|
||||
2025-08-12 14:35:15,038 - INFO - 提取到关键词: ['Bomb', 'DamageDef']
|
||||
2025-08-12 14:35:15,038 - INFO - 缓存未命中,开始实时搜索: Bomb-DamageDef
|
||||
2025-08-12 14:35:16,686 - INFO - 找到 226 个候选文件,开始向量化处理...
|
||||
2025-08-12 14:35:16,687 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\DamageDef.txt
|
||||
2025-08-12 14:35:16,687 - WARNING - 候选文件过多 (225),仅处理前 25 个。
|
||||
2025-08-12 14:35:29,897 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。
|
||||
2025-08-12 14:36:18,709 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:36:18,709 - INFO - 收到问题: XML definition for DamageDef named Bomb
|
||||
2025-08-12 14:36:18,709 - INFO - 找到的潜在关键词: ['Bomb', 'DamageDef']
|
||||
2025-08-12 14:36:18,709 - INFO - 提取到关键词: ['Bomb', 'DamageDef']
|
||||
2025-08-12 14:36:18,721 - INFO - 缓存命中: 关键词 'Bomb-DamageDef'
|
||||
2025-08-12 14:36:55,690 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:36:55,690 - INFO - 收到问题: XML for DamageDef with defName Bomb
|
||||
2025-08-12 14:36:55,690 - INFO - 找到的潜在关键词: ['defName', 'Bomb', 'DamageDef']
|
||||
2025-08-12 14:36:55,690 - INFO - 提取到关键词: ['defName', 'Bomb', 'DamageDef']
|
||||
2025-08-12 14:36:55,690 - INFO - 缓存未命中,开始实时搜索: Bomb-DamageDef-defName
|
||||
2025-08-12 14:36:57,167 - INFO - 找到 226 个候选文件,开始向量化处理...
|
||||
2025-08-12 14:36:57,168 - INFO - 文件名精确匹配: C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse\DamageDef.txt
|
||||
2025-08-12 14:36:57,168 - WARNING - 候选文件过多 (225),仅处理前 25 个。
|
||||
2025-08-12 14:37:12,844 - INFO - 向量搜索完成。找到了 5 个匹配项并成功提取了代码。
|
||||
2025-08-12 14:37:42,959 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:37:42,968 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:37:44,363 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:37:44,373 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:37:44,382 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:37:44,386 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:37:44,387 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:38:42,888 - INFO - Processing request of type CallToolRequest
|
||||
2025-08-12 14:38:42,889 - INFO - 收到问题: GenExplosion.DoExplosion method source code
|
||||
2025-08-12 14:38:42,889 - INFO - 找到的潜在关键词: ['DoExplosion', 'GenExplosion']
|
||||
2025-08-12 14:38:42,889 - INFO - 提取到关键词: ['DoExplosion', 'GenExplosion']
|
||||
2025-08-12 14:38:42,890 - INFO - 缓存命中: 关键词 'DoExplosion-GenExplosion'
|
||||
2025-08-12 14:40:44,341 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:40:44,352 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:40:45,718 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:40:45,726 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:40:45,733 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:40:45,734 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:40:45,735 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:45:40,616 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:45:40,625 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:45:41,722 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:45:41,731 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:45:43,262 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:45:43,270 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:45:43,277 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:45:43,279 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:45:43,279 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:48:43,297 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:48:43,306 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:48:44,628 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:48:44,636 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:48:44,643 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:48:44,644 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:48:44,645 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
2025-08-12 14:49:39,596 - INFO - 成功加载 DASHSCOPE_API_KEY。
|
||||
2025-08-12 14:49:39,605 - INFO - RimWorld 向量知识库 (FastMCP版, v2.1-v4-model) 正在启动...
|
||||
2025-08-12 14:49:39,613 - INFO - Processing request of type ListToolsRequest
|
||||
2025-08-12 14:49:39,614 - INFO - Processing request of type ListResourcesRequest
|
||||
2025-08-12 14:49:39,615 - INFO - Processing request of type ListResourceTemplatesRequest
|
||||
|
||||
23
Source/WulaFallenEmpire/CompCleave.cs
Normal file
23
Source/WulaFallenEmpire/CompCleave.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using Verse;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class CompProperties_Cleave : CompProperties
|
||||
{
|
||||
public float cleaveAngle = 90f;
|
||||
public float cleaveRange = 2.9f;
|
||||
public float cleaveDamageFactor = 0.7f;
|
||||
public bool damageDowned = false;
|
||||
public DamageDef explosionDamageDef = null;
|
||||
|
||||
public CompProperties_Cleave()
|
||||
{
|
||||
this.compClass = typeof(CompCleave);
|
||||
}
|
||||
}
|
||||
|
||||
public class CompCleave : ThingComp
|
||||
{
|
||||
public CompProperties_Cleave Props => (CompProperties_Cleave)this.props;
|
||||
}
|
||||
}
|
||||
180
Source/WulaFallenEmpire/Verb/Verb_MeleeAttack_Cleave.cs
Normal file
180
Source/WulaFallenEmpire/Verb/Verb_MeleeAttack_Cleave.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class Verb_MeleeAttack_Cleave : Verb_MeleeAttack
|
||||
{
|
||||
private CompCleave Comp
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.EquipmentSource?.GetComp<CompCleave>();
|
||||
}
|
||||
}
|
||||
|
||||
protected override DamageWorker.DamageResult ApplyMeleeDamageToTarget(LocalTargetInfo target)
|
||||
{
|
||||
if (this.Comp == null)
|
||||
{
|
||||
// This verb should only be used with a weapon that has CompCleave
|
||||
return new DamageWorker.DamageResult();
|
||||
}
|
||||
|
||||
DamageWorker.DamageResult result = new DamageWorker.DamageResult();
|
||||
|
||||
// 1. 对主目标造成伤害
|
||||
DamageInfo dinfo = new DamageInfo(
|
||||
this.verbProps.meleeDamageDef,
|
||||
this.verbProps.AdjustedMeleeDamageAmount(this, this.CasterPawn),
|
||||
this.verbProps.AdjustedArmorPenetration(this, this.CasterPawn),
|
||||
-1f,
|
||||
this.CasterPawn,
|
||||
null,
|
||||
this.EquipmentSource?.def
|
||||
);
|
||||
dinfo.SetTool(this.tool);
|
||||
|
||||
if (target.HasThing)
|
||||
{
|
||||
result = target.Thing.TakeDamage(dinfo);
|
||||
}
|
||||
|
||||
// 2. 执行溅射伤害
|
||||
Pawn casterPawn = this.CasterPawn;
|
||||
if (casterPawn == null || !target.HasThing)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
Thing mainTarget = target.Thing;
|
||||
Vector3 attackDirection = (mainTarget.Position - casterPawn.Position).ToVector3().normalized;
|
||||
bool mainTargetIsHostile = mainTarget.HostileTo(casterPawn);
|
||||
|
||||
// 查找施法者周围的潜在目标
|
||||
IEnumerable<Thing> potentialTargets = GenRadial.RadialDistinctThingsAround(casterPawn.Position, casterPawn.Map, this.Comp.Props.cleaveRange, useCenter: true);
|
||||
|
||||
foreach (Thing thing in potentialTargets)
|
||||
{
|
||||
// 跳过主目标、自己和非生物
|
||||
if (thing == mainTarget || thing == casterPawn || !(thing is Pawn secondaryTargetPawn))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 根据XML配置决定是否跳过倒地的生物
|
||||
if (!this.Comp.Props.damageDowned && secondaryTargetPawn.Downed)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 智能溅射:次要目标的敌对状态必须与主目标一致
|
||||
if (secondaryTargetPawn.HostileTo(casterPawn) != mainTargetIsHostile)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 检查目标是否在攻击扇形范围内
|
||||
Vector3 directionToTarget = (thing.Position - casterPawn.Position).ToVector3().normalized;
|
||||
float angle = Vector3.Angle(attackDirection, directionToTarget);
|
||||
|
||||
if (angle <= this.Comp.Props.cleaveAngle / 2f)
|
||||
{
|
||||
// 对次要目标造成伤害
|
||||
DamageInfo cleaveDinfo = new DamageInfo(
|
||||
this.verbProps.meleeDamageDef,
|
||||
this.verbProps.AdjustedMeleeDamageAmount(this, casterPawn) * this.Comp.Props.cleaveDamageFactor,
|
||||
this.verbProps.AdjustedArmorPenetration(this, casterPawn) * this.Comp.Props.cleaveDamageFactor,
|
||||
-1f,
|
||||
casterPawn,
|
||||
null,
|
||||
this.EquipmentSource?.def
|
||||
);
|
||||
cleaveDinfo.SetTool(this.tool);
|
||||
secondaryTargetPawn.TakeDamage(cleaveDinfo);
|
||||
}
|
||||
}
|
||||
|
||||
// 3. 创建扇形爆炸效果
|
||||
CreateCleaveExplosion(casterPawn, mainTarget, this.Comp.Props.cleaveRange, this.Comp.Props.cleaveAngle);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void CreateCleaveExplosion(Pawn caster, Thing target, float radius, float angle)
|
||||
{
|
||||
if (caster.Map == null || this.Comp.Props.explosionDamageDef == null) return;
|
||||
|
||||
Vector3 direction = (target.Position - caster.Position).ToVector3().normalized;
|
||||
float baseAngle = direction.AngleFlat();
|
||||
|
||||
float startAngle = baseAngle - (angle / 2f);
|
||||
float endAngle = baseAngle + (angle / 2f);
|
||||
|
||||
GenExplosion.DoExplosion(
|
||||
center: caster.Position,
|
||||
map: caster.Map,
|
||||
radius: radius,
|
||||
damType: this.Comp.Props.explosionDamageDef,
|
||||
instigator: caster,
|
||||
damAmount: 0,
|
||||
armorPenetration: 0,
|
||||
explosionSound: null,
|
||||
weapon: this.EquipmentSource?.def,
|
||||
projectile: null,
|
||||
intendedTarget: target,
|
||||
postExplosionSpawnThingDef: null,
|
||||
postExplosionSpawnChance: 0f,
|
||||
postExplosionSpawnThingCount: 1,
|
||||
postExplosionGasType: null,
|
||||
applyDamageToExplosionCellsNeighbors: false,
|
||||
preExplosionSpawnThingDef: null,
|
||||
preExplosionSpawnChance: 0f,
|
||||
preExplosionSpawnThingCount: 1,
|
||||
chanceToStartFire: 0f,
|
||||
damageFalloff: false,
|
||||
direction: null, // Let affectedAngle handle the direction and arc
|
||||
ignoredThings: null,
|
||||
affectedAngle: new FloatRange(startAngle, endAngle),
|
||||
doVisualEffects: true,
|
||||
propagationSpeed: 1.7f,
|
||||
excludeRadius: 0.9f,
|
||||
doSoundEffects: false,
|
||||
screenShakeFactor: 0.2f
|
||||
);
|
||||
}
|
||||
|
||||
public override void DrawHighlight(LocalTargetInfo target)
|
||||
{
|
||||
base.DrawHighlight(target);
|
||||
|
||||
if (target.IsValid && CasterPawn != null && this.Comp != null)
|
||||
{
|
||||
GenDraw.DrawFieldEdges(GetCleaveCells(target.Cell));
|
||||
}
|
||||
}
|
||||
|
||||
private List<IntVec3> GetCleaveCells(IntVec3 center)
|
||||
{
|
||||
if (this.Comp == null)
|
||||
{
|
||||
return new List<IntVec3>();
|
||||
}
|
||||
|
||||
IntVec3 casterPos = this.CasterPawn.Position;
|
||||
Map map = this.CasterPawn.Map;
|
||||
Vector3 attackDirection = (center - casterPos).ToVector3().normalized;
|
||||
|
||||
return GenRadial.RadialCellsAround(casterPos, this.Comp.Props.cleaveRange, useCenter: true)
|
||||
.Where(cell => {
|
||||
if (!cell.InBounds(map)) return false;
|
||||
Vector3 directionToCell = (cell - casterPos).ToVector3();
|
||||
if (directionToCell.sqrMagnitude <= 0.001f) return false; // Exclude caster's cell
|
||||
return Vector3.Angle(attackDirection, directionToCell) <= this.Comp.Props.cleaveAngle / 2f;
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,6 +68,7 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CompCleave.cs" />
|
||||
<Compile Include="Building_Wula_DarkEnergy_Engine.cs" />
|
||||
<Compile Include="CompApparelInterceptor.cs" />
|
||||
<Compile Include="CompCustomUniqueWeapon.cs" />
|
||||
@@ -135,6 +136,7 @@
|
||||
<Compile Include="Verb\Trackingbullet.cs" />
|
||||
<Compile Include="Verb\Verb_ShootBeamExplosive.cs" />
|
||||
<Compile Include="Verb\VerbPropertiesExplosiveBeam.cs" />
|
||||
<Compile Include="Verb\Verb_MeleeAttack_Cleave.cs" />
|
||||
<Compile Include="WorkGiver_FeedWulaPatient.cs" />
|
||||
<Compile Include="WorkGiver_Warden_DeliverEnergy.cs" />
|
||||
<Compile Include="WorkGiver_Warden_FeedWula.cs" />
|
||||
|
||||
Reference in New Issue
Block a user