M工厂代码拆解:炮塔与子弹

创建日期:2024-12-13

更新日期:2025-02-02

阅读次数:80

本文写作流程:

  • 游玩M工厂(Mindustry)
  • 尝试拆解M工厂的炮塔设定结构
  • 拆解发现M工厂的设定不完美,于是修改

本文用于学习研究。也可为风神界的代码结构提供参考。

道具类

  • 名称:基础炮塔
  • 简介:便宜好用的炮塔
  • 图片:【炮塔图】

建筑类:道具

  • 生命:100
  • 尺寸:4×4
  • 建造时间:25秒
  • 建造花费:铜100、铁100

射击者:后台道具(不会被玩家所知晓。制造菜单与市场中都不存在)

  • 射击频率:2次/秒
  • 子弹速度:5格/s
  • 射击方向:随机方向(或锁定最近敌人、锁定射程内血最厚的敌人)
  • 射击误差:5度

炮塔类:建筑、射击者

  • 弹药容量:10
  • 飞行寿命修正:+50%
  • 有效子弹列表(下述多份)
    • 子弹:铁子弹
    • 弹药容量修正:+20%
    • 射击频率修正:+50%
    • 子弹速度修正:0
    • 射击误差修正:0

子弹类:道具

  • 飞行寿命:1s
  • 是否对地:是
  • 是否对空:是
  • 伤害列表(下述多份。实现:对目标造成100点伤害,然后对周围4格内的所有单位再造成20点伤害)
    • 范围半径:4(0表示单体)
    • 伤害值:20
  • 命中效果模块
    • 击退:0格(如果有数值,那么沿着当前方向击退目标)
    • 穿透:0(整数。如果有数值,那么命中目标后本子弹依然存在)
    • 分裂
      • 分裂数量:4
      • 射击者:分裂射击者
      • 分裂子弹:小子弹(道具)

实体类(世界中可被选中的存在)

  • 实体名称:基础炮塔
  • 生命值:100
  • 序列帧:【炮塔序列帧】

世界炮塔类:实体

  • 建筑:基础炮塔
  • 当前弹药:铁子弹
  • 当前库存:10
  • 当前冷却:0.32秒(如果每秒攻击2次,那么意味着0.18秒后下次攻击)

世界子弹类:实体(射出去的子弹以实体的形式存在)

  • 子弹:铁子弹
  • 当前速度:5格/s(暂时与子弹速度一致。未来可能增加【速度随时间衰减】的功能)
  • 当前年龄:0.1s(随时间增长。当抵达寿命时子弹消失)
  • 当前方向:42度(正北0度、顺时针增加度数)
  • 当前穿透:0(每次命中增长。当超过子弹的穿透能力时子弹消失)