战斗系统¶
战斗是完全自动的。冒险者与敌人在攻击范围内会自动交战。
战斗流程¶
- 侦测 — 冒险者在视野内发现敌人(每 2 tick 检查一次)
- 接近 — 如果敌人在视野内但不在攻击范围内,冒险者会追击
- 攻击 — 进入攻击范围后,双方开始交战
- 解算 — 每 5 tick 进行一次伤害结算
伤害计算¶
冒险者攻击敌人¶
| 类型 | 伤害公式 |
|---|---|
| 近战 | 攻击力 × 2(全局伤害倍率) |
| 远程 | 攻击力(投射物伤害,不乘倍率) |
敌人攻击冒险者¶
伤害 = (敌人攻击 + random(0~2)) × 2
防御¶
实际伤害 = max(1, 伤害 - 防御力)
闪避¶
| 来源 | 闪避率 |
|---|---|
| 敌人基础闪避 | 5% |
| 游侠「闪避」技能 | +15% |
投射物系统¶
所有攻击距离 > 1 的冒险者使用投射物攻击:
| 职业 | 投射物类型 |
|---|---|
| 战士 | 箭矢 (arrow) |
| 法师 | 魔弹 (magic_bolt) |
| 游侠 | 箭矢 (arrow) |
| 龙(敌人) | 火球 (fireball) |
投射物在发射后每 tick 朝目标移动,命中后结算伤害。
箭塔¶
箭塔是自动防御建筑:
| 属性 | 值 |
|---|---|
| 攻击距离 | 20 格 |
| 基础伤害 | 8 |
| 升级提升 | 随等级增加 |
箭塔会自动攻击范围内最近的敌人。
经验奖励¶
| 来源 | XP |
|---|---|
| 每次命中(Drip) | 击杀 XP 的 1/5 |
| 击杀史莱姆 | 10 XP |
| 击杀哥布林 | 25 XP |
| 击杀骷髅 | 40 XP |
| 击杀僵尸 | 60 XP |
| 击杀龙 | 150 XP |
Drip XP
每次命中敌人(无论近战或投射物命中)都会获得该敌人击杀 XP 的 1/5。这确保即使没有击杀也能获得经验。
战斗 AI¶
冒险者逃跑条件¶
- HP < 30%(HP_CRITICAL)
- 逃跑概率受安全性格影响
药水使用¶
| 条件 | 行为 |
|---|---|
| HP < 30% | 紧急使用药水 |
| HP < 50% | 使用药水 |
敌人攻击优先顺序¶
- 战斗中的冒险者(非和平主义者)
- 工匠(和平主义者)
- 箭塔等威胁建筑
- 城堡
- 其他建筑