加农炮塔 Cannon Tower
“我就知道这些螃蟹会炮制点什么。”—— 威尔逊检查它时说
概述
加农炮塔带有 hostile、crabking_ally 和 lunar_aligned 标签,是帝王蟹的战斗单位,而不是可独立生成的普通生物。
帝王蟹 会把它生成在自身周围;源码中的默认生成位置以帝王蟹为中心、半径约 20 的圆周上,并会根据宝石数量提高炮塔生命值。炮塔可以漂浮在海面上,生成时若落在船只上则会触发破船相关机制。
属性
| 属性 | 数值 |
|---|---|
| 生命值 | 300(帝王蟹的黄宝石数量超过 4、7 或达到 11 时,会额外增加同等的基础生命值) |
| 炮击基础伤害 | 20 |
| 红宝石伤害加成 | 每颗红宝石额外 5;红宝石数量达到 11 时再加 25 |
| 船体撞击伤害 | 40 |
| 标签 | 敌对、帝王蟹盟友、月亮阵营、电击免疫、无灵魂 |
炮塔没有独立的脑(brain),攻击、装填和破船行为由 SGcrabking_cannontower 状态图及自身的定时任务控制。
行为
炮击目标
炮塔装填完毕后会先在约 18 范围内寻找船只;找到船只时优先向船只开火。没有船只时,它会在约 12 范围内寻找目标,优先选择玩家,或选择跟随玩家的单位。搜索会排除带有 crabking_ally、NOCLICK、INLIMBO 等标签的实体。
炮弹的落点不是目标当前位置,而是目标周围半径不超过约 6 的随机位置,因此站在目标附近不能保证完全避开落点。炮弹飞行速度会根据距离在代码设定的范围内变化,最大取样距离使用 15。
装填与开火
炮塔处于空炮状态时会开始装填,装填等待时间为 6~10 秒(源码使用 6 + math.random() * 4)。找不到合适目标时会等待 2 秒后再次检查;炮塔开火后进入空炮状态并重新装填。炮塔受到攻击时会进入受击状态;若当时已经装填完成,受击动画会保留已装填状态。
破船
炮塔生成在船只上时,会先对船体造成 40 点伤害,并进入“破口”状态。破口状态持续约 2~3 秒后进行一次突刺;突刺时再次对船体造成同样的伤害。如果船只在过程中消失,炮塔会离开破口状态并重新落水。炮塔移除后会解除它给船只施加的紧急刹车来源。
炮塔与船只发生物理碰撞时也会根据船只速度损失生命值;碰撞伤害以炮塔基础生命值、碰撞速度和黄宝石数量对应的减伤倍率计算。
掉落
击杀加农炮塔后使用掉落表 ck_cannontower:
死亡状态会在掉落后生成一只
蟹卫,随后播放破坏动画并移除炮塔。
应对
- 发现炮塔时优先处理船体威胁:嵌在船上的炮塔会持续造成船体伤害,并可能影响船只移动。
- 炮塔开火后会进入空炮状态;可以利用其装填窗口进行攻击,但装填时间会在代码设定的区间内随机变化。
- 炮击优先锁定船只,且落点会在目标周围随机偏移;不要把船停在炮塔附近等待炮弹落下。
- 帝王蟹的黄宝石会提高炮塔生命值,红宝石会提高炮弹伤害;宝石数量较多时应优先清理炮塔,避免同时承受炮击与破船伤害。
- 摧毁炮塔后仍会生成
蟹卫,战斗结束前不要只顾拾取掉落物。
动画
