extends ReloadTurret
field | type | default | note |
---|---|---|---|
maxAmmo | int | 30 | 子弹容量 |
ammoPerShot | int | 1 | 单次射击子弹次数 |
consumeAmmoOnce | boolean | true | 每次射击是否只消耗一次弹药 |
heatRequirement | float | -1 | 射击所需最低热量 |
maxHeatEfficiency | float | 3 | 热量最大效率 |
inaccuracy | float | 0 | 射击误差度 |
velocityRnd | float | 0 | |
shootCone | float | 8 | 允许射击最大差异角度 |
shootX | float | 0 | 炮塔射击点 |
shootY | -∞ | ||
xRand | float | 0 | |
minRange | float | 0 | 限制最小检测范围(仅对火炮子弹生效) |
minWarmup | float | 0 | 射击所需最低预热 |
accurateDelay | boolean | true | 是否根据充能时间预瞄单位 |
moveWhileCharging | boolean | true | 充能时能否转动 |
warmupMaintainTime | float | 0 | 不射击时预热保留时长 |
shoot | ShootPattern | new ShootPattern() | 子弹排列形式(? |
targetAir | boolean | true | 是否瞄准空中单位 |
targetGround | boolean | true | 是否瞄准陆地单位 |
targetHealing | boolean | false | 是否瞄准友方方块以治疗他们 |
playerControllable | boolean | true | 是否能被附身 |
displayAmmoMultiplier | boolean | true | 是否能被附身 |
unitSort | Sortf | UnitSorts.closest | 决定瞄准哪个单位的算法 |
unitFilter | Boolf<Unit> | u -> true | 设置可瞄准的单位算法 |
buildingFilter | Boolf<Building> | b -> !b.block.underBullets | 设置可瞄准的建筑的算法 |
heatColor | Color | Pal.turretHeat | -heat 贴图过热颜色 |
shootEffect | @Nullable Effect | Pal.turretHeat | |
smokeEffect | @Nullable Effect | 冒烟特效 | |
ammoUseEffect | Effect | Fx.none | |
shootSound | Sound | Sounds.shoot | 炮台射击音效 |
chargeSound | Sound | Sounds.none | 炮台充能音效shoot.firstShotDelay > 0 时 |
soundPitchMin | float | 0.9 | 射击声音响度范围 |
soundPitchMin | 1.1 | ||
ammoEjectBack | float | 1 | 弹药推出特效偏移(-y) |
shootWarmupSpeed | float | 0.1 | 过渡到最大效率速度 |
linearWarmup | boolean | false | 是否线性过渡到最大效率 |
recoil | float | 1 | 后坐力特效夸张度(无实际影响) |
recoilTime | float | -1 | 恢复正常位置耗时 |
recoilPow | float | 1.8 | 后坐力视觉强度 |
cooldownTime | float | 20 | -heat 贴图恢复时间 |
elevation | float | -1 | |
shake | float | 0 | 单次射击屏幕摇晃强度 |
drawer | DrawBlock | new DrawTurret() |
public Turret(String name){ super(name); liquidCapacity = 20f; quickRotate = false; outlinedIcon = 1; }