跳到正文

武器

定义的武器:伤害如何作用于各类装甲,以及武器自己的外观:弹药、枪口焰、爆炸和光束。

定义用它的 weapons 作战,每一项是一门有自己类型、伤害、射程和射速的武器。用了 extends 时,不写 weapons 就保留基础单位的武器,写自己的列表就整个替换。

伤害

伤害 = dmg × 装甲倍率表中该武器类型对目标装甲的格子,mult 可覆盖单个格子。克制体系解释了各类型;倍率表如下:

武器轻甲中甲重甲建筑舰船潜艇飞行器
侦察车
×1.50×0.80×0.40×0.35———
野狼轻型坦克
×1.50×1×0.50×0.50×0.70——
野牛主战坦克
×0.60×1.30×1×0.80×0.90—×0.70
猛犸重型坦克
×0.60×1.30×1.10×1×0.90—×0.70
蝰蛇反坦克车
×0.40×1.10×1.80×0.70×0.75——
防空炮车
×0.90×0.60×0.25×0.30×0.40—×1
猎鹰防空导弹车
——————×1
雷霆榴弹炮
×1.20×1×0.75×1.60×1——
暴风雨火箭炮
×1.20×1×0.75×1.60×1——
火蜥蜴温压炮车
×1.20×1×0.60×1.60×1——
火龙喷火坦克
×1.50×1.10×0.45×1.30×0.50——
鳄鱼两栖战车
×1.50×1×0.50×0.50×0.70——
黄蜂自杀式无人机
×0.40×1.10×1.80×0.70×0.75——
蝎子弹道导弹发射车
×1.20×1×0.75×1.60×1——
炮艇
×1.50×1×0.50×0.50×0.80—×0.25
导弹艇
————×1.60——
神盾护卫舰
×1×1×0.75×0.75×1×1.90×1
虎鲸驱逐舰
×1×1.10×0.80×0.80×1×1.90×0.60
梭鱼潜艇
————×1.30×1.20—
君王战列舰
×1.20×1×1×1.60×1.20—×1
航空母舰
×1×1×0.75×0.75×1—×1
海妖巡航导弹潜艇
×1.20×1×0.75×1.60———
猎隼战斗机
——————×1
眼镜蛇武装直升机
×0.60×1.10×1.80×0.80×0.75——
霹雳攻击机
×1.40×1.40×0.90×0.70×0.90——
信天翁反舰攻击机
————×1.70——
秃鹫轰炸机
×1.20×1.20×1×1.60×1.10——
幽灵炮艇机
×1.20×1.20×0.80×0.80×0.70——
幽魂隐形轰炸机
×1×0.90×0.60×1.60×1——
鸬鹚反潜直升机
————×0.90×1.80—
总部
×1.50×0.90×0.50×0.30×0.70—×0.80
二级总部
×1.50×0.90×0.50×0.30×0.70—×0.80
机枪塔
×1.50×0.80×0.40×0.30×0.60—×0.70
加特林炮塔
×1.50×0.90×0.50×0.30×0.70—×0.80
加农炮塔
×0.60×1.30×1.10×0.60×1——
要塞重炮
×0.60×1.30×1.20×0.60×1.10——
防空炮塔
——————×1
防空导弹阵地
——————×1
地雷
×1.20×1×0.25×0.10———
水雷
————×1×1—

自己的外观

武器可以用 look 拥有自己的样子:自己的弹药(prj.<名字> 精灵图)、枪口焰和命中爆炸(fx.<名字> 精灵图),或光束——从枪口画到目标的激光或特斯拉电弧,即时命中。

sound 引用了模组某段录音的武器就用它开火;没写的武器用其类型的游戏音效。建筑上会转动的炮,以及一个车体上的多门炮,都按炮塔绘制。

参考

武器(defs[].weapons[])

字段类型必填默认含义
extensions{ capability: configuration }可选引擎武器配置(格式 3)
idstringw1, w2…武器名
clsmg | autocannon | cannon | at | he | rocket | navgun | ashm | torpedo | aa必填设计用途,决定装甲倍率表中的行
dmgnumber 0–100000必填每次命中伤害
reloadnumber 0.05–600必填两次射击/齐射间隔秒数
rangenumber 0.5–64必填射程(格)
minRangenumber 0–64最小射程(格)
projectilebullet | shell | missile | rocket | bomb | torpedo | flak | flameby class弹药样式
speednumber 1–5000by projectile弹速(世界像素/秒)
targets(ground | ship | sub | air)[]by class可攻击目标:ground、ship、sub、air
mult{ armour: number }按装甲类型覆盖倍率
splashnumber 0–500溅射半径(世界像素)
burstinteger 1–32每次齐射发数
burstDelaynumber 0–5齐射内各发间隔秒数
ammointeger 1–9999携弹量,一次齐射算一发:打空后单位自行返回补给(飞机回机场,舰船回造船厂,其余回战车工厂),建筑原地补充;不填则永不耗尽
vsWarheadnumber 0–101对飞行中的弹头,造成对飞机伤害的此比例
homingboolean弹药追踪目标
interceptableboolean可被拦截
arcboolean抛物线弹道(火炮)
turretbooleantrue when the def has a turretSprite由旋转部件发射
recoilnumber 0–10炮管后坐的视觉行程(美术像素);炮塔图像须带炮管区域,不改变武器属性
verticalboolean从艇体垂直发射,如潜艇的导弹发射筒:任何方向都能开火,艇体无需转向;此时 `muzzleOffset` 沿艇身纵轴量到发射筒
muzzleOffsetnumber 0–200枢轴到炮口距离(世界像素);单位美术按 1.5625 倍绘制,量图后需乘以该倍数
boresinteger 1–81炮管数,逐根轮流开火
boreSpacingnumber 0–60相邻炮管间距(世界像素)
muzzlePointsstring按列表顺序开火的炮口位置:1–8 个 `{ forward, lateral }` 点,单位为距开火枢轴的世界像素(forward 沿炮管向前,lateral 向右,均可为负);替代 `muzzleOffset`、`bores` 和 `boreSpacing`
spreadnumber 0–200最大射程处的散布(世界像素)
friendlyFireboolean溅射也会伤及己方
fannumber 0–1.5`flame` 喷流:喷射张角的一半(弧度)
burnnumber 0–1000`flame` 喷流:残留火焰每秒伤害,敌我通吃
burnLifenumber 0–120`flame` 喷流:火焰持续秒数
soundstringby class开火音效:mg、autocannon、cannon、missile、flak、arty、rocket、torpedo、bomb、flame,或本模组 `sounds` 中的一个键
looklook外观,替代其类别默认的样子:自己的弹药、枪口焰、命中爆炸,或光束(见“武器外观”)

武器外观(weapons[].look)

字段类型必填默认含义
spritestring弹药图像:本模组的 `prj.<名字>` 精灵图——飞行时播放其帧;若为 `rotated`,则朝向飞行方向
scalenumber 0.1–81弹药与枪口焰的缩放倍数
beam{ color, width, style, life }弹药是光束:`{ color, width, style, life }`——从枪口到命中点的一条线,`laser` 为直线,`lightning` 为闪电折线,持续 `life` 秒;即时命中
muzzlestringthe class's flash枪口焰:本模组的 `fx.<名字>` 精灵图,或 `none`
impactstringthe class's burst命中处的爆炸:本模组的 `fx.<名字>` 精灵图、fx.expl.s、fx.expl.m、fx.expl.l、fx.spark、fx.flak、fx.smoke、fx.splash、fx.splash.l、fx.muzzle、fx.repair、fx.emp、fx.nuke 之一,或 `none`
impactScalenumber 0.1–81爆炸的缩放倍数
impactLifenumber 0.05–50.5爆炸播放的秒数
trailsmoke | nonesmoke火箭或导弹的尾烟,或无

最后编辑