Files
WulaFallenEmpireRW/Documentation/ExplosiveBeamWeapons/测试说明.md

3.8 KiB
Raw Blame History

爆炸射线武器测试说明

已实现的功能

1. 核心功能

  • 继承自原版 Verb_ShootBeam 的所有功能
  • 可配置的爆炸触发间隔
  • 可配置的爆炸伤害、范围、类型
  • 可配置的音效和特效
  • 可配置的爆炸后效果(生成物品、气体等)

2. 配置选项

  • enableExplosion: 爆炸开关
  • explosionShotInterval: 爆炸间隔每x发触发一次
  • explosionRadius: 爆炸半径
  • explosionDamageDef: 爆炸伤害类型
  • explosionDamage: 爆炸伤害值
  • explosionSound: 爆炸音效
  • chanceToStartFire: 点燃概率
  • postExplosionSpawnThingDef: 爆炸后生成物品

3. 示例武器

已创建三个示例武器:

  1. CLa-15"蓝爆"轻型: 每发都爆炸,火焰伤害
  2. CLa-16"蓝爆"重型: 每3发爆炸炸弹伤害+燃料污渍
  3. CLa-17"蓝毒": 每2发爆炸毒气伤害+毒气云

测试步骤

1. 编译测试

dotnet build "Source\WulaFallenEmpire\WulaFallenEmpire.csproj"

编译成功

2. 游戏内测试准备

  1. 启动RimWorld
  2. 启用开发者模式 (Options -> Dev mode)
  3. 加载包含此模组的存档或创建新游戏
  4. ~ 键打开开发者控制台

3. 生成测试武器

使用以下命令生成测试武器:

Thing.Spawn WULA_RW_Fractal_AR 1
Thing.Spawn WULA_LightExplosiveBeam 1
Thing.Spawn WULA_HeavyExplosiveBeam 1
Thing.Spawn WULA_ToxicExplosiveBeam 1

4. 功能验证清单

基础射线功能

  • 射线正常发射和显示
  • 射线宽度和颜色正确
  • 射线伤害正常造成
  • 音效和视觉效果正常

爆炸功能

  • 爆炸按配置间隔触发
  • 爆炸位置在射线命中点
  • 爆炸半径和伤害正确
  • 爆炸音效正常播放
  • 爆炸视觉效果正常

特殊效果

  • 点燃效果正常工作
  • 爆炸后生成物品(燃料污渍等)
  • 毒气云正常生成和扩散
  • 护甲穿透计算正确

5. 性能测试

  • 连续射击时帧率稳定
  • 多个单位同时使用时无卡顿
  • 内存使用正常,无内存泄漏

6. 平衡性测试

  • 武器伤害与成本匹配
  • 爆炸威力不会过于强大
  • AI正确使用武器
  • 友伤风险合理

测试场景

场景1单目标测试

  1. 生成一个敌对的人形目标
  2. 装备测试武器
  3. 射击并观察:
    • 射线效果
    • 爆炸触发时机
    • 伤害数值
    • 特殊效果

场景2群体目标测试

  1. 生成多个敌对目标5-10个
  2. 测试爆炸范围伤害
  3. 观察连锁效果(点燃、毒气扩散等)

场景3建筑物测试

  1. 建造一些墙壁和家具
  2. 测试爆炸对建筑物的影响
  3. 验证射线穿透和爆炸破坏

场景4友军测试

  1. 在友军附近使用武器
  2. 验证友伤机制
  3. 测试AI的使用策略

常见问题排查

问题1爆炸不触发

  • 检查 enableExplosion 是否为 true
  • 检查 explosionShotInterval 设置
  • 确认射击确实命中目标

问题2爆炸位置错误

  • 检查射线的 InterpolatedPosition 计算
  • 确认目标位置在地图范围内

问题3音效不播放

  • 检查 explosionSound 定义是否正确
  • 确认音效文件存在

问题4特效不显示

  • 检查 explosionEffecter 定义
  • 确认特效资源文件存在

调试工具

开发者命令

# 生成特定武器
Thing.Spawn [武器DefName] [数量]

# 生成敌对目标
Pawn.Spawn Raider 5

# 治疗所有伤害
Heal.All

# 清除所有火焰
Fire.Clear

日志监控

监控游戏日志文件中的错误信息:

  • Player.log (Windows)
  • 搜索 "WulaFallenEmpire" 相关错误

报告问题

如果发现问题,请记录:

  1. 具体的复现步骤
  2. 预期行为 vs 实际行为
  3. 相关的日志错误信息
  4. 游戏版本和模组版本
  5. 其他加载的模组列表