铁锈战争模组和地图制作帮助文档

单位创建

在铁锈战争中,单位是游戏的核心元素。本章节将详细介绍如何创建自定义单位,包括单位的基本属性、图像设置、移动方式、攻击能力等。

单位基本结构

每个单位定义文件都包含多个部分,每个部分负责不同的功能:

[core] 核心属性

这是单位定义的基础部分,包含单位的基本属性:

[core]
name:单位名称
class:CustomUnitMetadata
price:建造价格
maxHp:最大生命值
mass:质量
techLevel:科技等级
buildSpeed:建造速度
radius:碰撞半径
displayRadius:显示半径
fogOfWarSightRange:视野范围
            

重要核心属性说明

属性 说明 示例
name 单位的名称,在游戏中显示 name:基础坦克
class 单位类型,通常为CustomUnitMetadata class:CustomUnitMetadata
price 建造单位所需的资金 price:1000
maxHp 单位的最大生命值 maxHp:1000
mass 单位的质量,影响物理交互 mass:10000
techLevel 科技等级,影响UI显示 techLevel:1
buildSpeed 建造速度,数值越小建造越快 buildSpeed:0.002
radius 单位的碰撞半径 radius:20
displayRadius 单位的选择半径 displayRadius:25
fogOfWarSightRange 单位的视野范围 fogOfWarSightRange:15

[graphics] 图像设置

图像部分定义单位的外观:

[graphics]
image:units/tank_base.png
image_wreak:units/tank_wreak.png
image_turret:units/tank_turret.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
            

重要图像属性说明

属性 说明 示例
image 单位主体图像 image:units/tank_base.png
image_wreak 单位死亡后的残骸图像 image_wreak:units/tank_wreak.png
image_turret 炮塔图像 image_turret:units/tank_turret.png
image_shadow 阴影图像,AUTO表示自动生成 image_shadow:AUTO
teamColorsUseHue 是否使用队伍颜色 teamColorsUseHue:true
teamColoringMode 队伍着色模式 teamColoringMode:hueAdd

[movement] 移动设置

移动部分定义单位的移动方式:

[movement]
movementType:LAND
moveSpeed:1.2
maxTurnSpeed:2
reverseSpeedPercentage:0.5
            

重要移动属性说明

属性 说明 可选值
movementType 移动类型 LAND, WATER, AIR, HOVER, OVER_CLIFF, OVER_CLIFF_WATER
moveSpeed 移动速度 数值,越大越快
maxTurnSpeed 最大转向速度 数值,越大转向越快
reverseSpeedPercentage 倒车速度比例 0-1之间的数值

[attack] 攻击设置

攻击部分定义单位的攻击能力:

[attack]
canAttack:true
canAttackFlyingUnits:false
canAttackLandUnits:true
canAttackUnderwaterUnits:false
isFixedFiring:false
            

重要攻击属性说明

属性 说明 示例
canAttack 是否可以攻击 canAttack:true
canAttackFlyingUnits 是否可以攻击空中单位 canAttackFlyingUnits:false
canAttackLandUnits 是否可以攻击地面单位 canAttackLandUnits:true
canAttackUnderwaterUnits 是否可以攻击水下单位 canAttackUnderwaterUnits:false
isFixedFiring 是否需要固定射击(如火炮) isFixedFiring:false

[turret_#] 炮塔设置

炮塔部分定义单位的武器系统:

[turret_1]
x:0
y:0
projectile:main_bullet
turnSpeed:2
size:10
barrelX:0
barrelY:15
            

重要炮塔属性说明

属性 说明 示例
x, y 炮塔在单位上的位置 x:0, y:0
projectile 使用的抛射体 projectile:main_bullet
turnSpeed 炮塔旋转速度 turnSpeed:2
size 炮塔大小 size:10
barrelX, barrelY 炮管出口位置 barrelX:0, barrelY:15

[projectile_#] 抛射体设置

抛射体部分定义单位发射的武器:

[projectile_1]
directDamage:50
life:60
speed:10
image:projectiles/bullet.png
drawType:1
color:#FF0000
            

重要抛射体属性说明

属性 说明 示例
directDamage 直接伤害值 directDamage:50
life 存在时间(帧) life:60
speed 移动速度 speed:10
image 抛射体图像 image:projectiles/bullet.png
drawType 绘制类型 drawType:1
color 颜色 color:#FF0000

完整单位示例

以下是一个完整的单位定义示例:

[core]
name:重型坦克
class:CustomUnitMetadata
price:2000
maxHp:2000
mass:20000
techLevel:2
buildSpeed:0.003
radius:25
displayRadius:30
fogOfWarSightRange:18
armour:3

[graphics]
image:units/heavy_tank_base.png
image_wreak:units/heavy_tank_wreak.png
image_turret:units/heavy_tank_turret.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd

[movement]
movementType:LAND
moveSpeed:0.8
maxTurnSpeed:1.5
reverseSpeedPercentage:0.3

[attack]
canAttack:true
canAttackFlyingUnits:false
canAttackLandUnits:true
canAttackUnderwaterUnits:false
isFixedFiring:false

[turret_1]
x:0
y:0
projectile:heavy_bullet
turnSpeed:1.5
size:15
barrelX:0
barrelY:20

[projectile_1]
directDamage:100
life:80
speed:8
image:projectiles/heavy_bullet.png
drawType:1
color:#FF0000
            

高级单位属性

除了基本属性外,单位还可以设置许多高级属性:

资源相关

[core]
generation_resources:credits:5
generation_delay:40
            

AI相关

[ai]
useAsBuilder:true
useAsAttacker:true
buildPriority:0.6
            

特殊效果

[graphics]
dustEffect:true
splastEffect:true
            

注意事项

回到顶部