运输系统
在铁锈战争中,运输系统允许单位装载和运输其他单位。本章节将详细介绍如何创建和配置运输单位,包括装载能力、卸载机制、运输限制等。
运输基本配置
运输系统主要通过核心属性和专门的运输设置来定义:
核心运输属性
[core]
name:运输车
class:CustomUnitMetadata
price:1200
maxHp:1000
maxTransportingUnits:5
transportSlotsNeeded:1
核心运输属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| maxTransportingUnits | 最大运输单位数量 | maxTransportingUnits:5 |
| transportSlotsNeeded | 被运输时占用的槽位数 | transportSlotsNeeded:1 |
运输限制设置
可以设置运输单位的限制条件:
标签限制
[core]
transportUnitsRequireTag:soldier,vehicle
运输限制属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| transportUnitsRequireTag | 只能运输具有指定标签的单位 | transportUnitsRequireTag:soldier,vehicle |
| transportUnitsRequireMovementType | 只能运输指定移动类型的单位 | transportUnitsRequireMovementType:LAND |
| transportUnitsBlockAirAndWaterUnits | 禁止运输空中和水上单位 | transportUnitsBlockAirAndWaterUnits:true |
运输行为控制
可以控制运输单位的行为:
运输行为属性
[core]
transportUnitsKeepBuiltUnits:true
transportUnitsCanUnloadUnits:false
transportUnitsAddUnloadOption:true
运输行为属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| transportUnitsKeepBuiltUnits | 建造的单位留在运输者中 | transportUnitsKeepBuiltUnits:true |
| transportUnitsCanUnloadUnits | 运输单位可以卸载 | transportUnitsCanUnloadUnits:true |
| transportUnitsAddUnloadOption | 显示卸载按钮 | transportUnitsAddUnloadOption:true |
| transportUnitsUnloadDelayBetweenEachUnit | 卸载单位之间的延迟 | transportUnitsUnloadDelayBetweenEachUnit:12 |
运输安全设置
可以设置运输过程中的安全机制:
安全属性
[core]
transportUnitsKillOnDeath:if self.isOverLiquid()
transportUnitsHealBy:0.1
transportUnitsBlockOtherTransports:true
安全属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| transportUnitsKillOnDeath | 运输单位死亡时内部单位也死亡 | transportUnitsKillOnDeath:if self.isOverLiquid() |
| transportUnitsHealBy | 自动治疗内部单位 | transportUnitsHealBy:0.1 |
| transportUnitsBlockOtherTransports | 禁止装载其他运输单位 | transportUnitsBlockOtherTransports:true |
中立运输设置
特殊情况下允许中立单位被运输:
中立运输属性
[core]
whileNeutralTransportAnyTeam:true
whileNeutralConvertToTransportedTeam:true
convertToNeutralIfNotTransporting:true
中立运输属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| whileNeutralTransportAnyTeam | 中立时可装载任意所属单位 | whileNeutralTransportAnyTeam:true |
| whileNeutralConvertToTransportedTeam | 中立时转换为载员队伍 | whileNeutralConvertToTransportedTeam:true |
| convertToNeutralIfNotTransporting | 卸载所有单位时恢复为中立 | convertToNeutralIfNotTransporting:true |
运输槽位优化
可以优化运输槽位的使用:
槽位优化属性
[core]
transportUnitsEachUnitAlwaysUsesSingleSlot:true
transportUnitsKeepWaypoints:true
槽位优化属性说明
| 属性 | 说明 | 示例 |
|---|---|---|
| transportUnitsEachUnitAlwaysUsesSingleSlot | 所有载员只占用一个槽位 | transportUnitsEachUnitAlwaysUsesSingleSlot:true |
| transportUnitsKeepWaypoints | 载员保持路径点 | transportUnitsKeepWaypoints:true |
完整运输单位示例
基础运输车
[core]
name:基础运输车
class:CustomUnitMetadata
price:1200
maxHp:1000
mass:8000
techLevel:1
buildSpeed:0.002
radius:25
displayRadius:30
fogOfWarSightRange:12
maxTransportingUnits:6
transportSlotsNeeded:1
transportUnitsRequireTag:soldier
transportUnitsBlockAirAndWaterUnits:true
transportUnitsCanUnloadUnits:true
transportUnitsAddUnloadOption:true
transportUnitsUnloadDelayBetweenEachUnit:6
transportUnitsKillOnDeath:true
transportUnitsHealBy:0.05
[graphics]
image:units/transport_truck.png
image_wreak:units/transport_truck_wreak.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:LAND
moveSpeed:1.3
maxTurnSpeed:2
reverseSpeedPercentage:0.6
[ai]
useAsBuilder:false
useAsTransport:true
useAsAttacker:false
useAsHarvester:false
disableUse:false
ai_upgradePriority:0.05
buildPriority:0.4
高级运输船
[core]
name:运输船
class:CustomUnitMetadata
price:2000
maxHp:1500
mass:15000
techLevel:2
buildSpeed:0.003
radius:35
displayRadius:40
fogOfWarSightRange:15
maxTransportingUnits:10
transportSlotsNeeded:1
transportUnitsRequireMovementType:LAND
transportUnitsBlockAirAndWaterUnits:false
transportUnitsCanUnloadUnits:true
transportUnitsAddUnloadOption:true
transportUnitsUnloadDelayBetweenEachUnit:8
transportUnitsKillOnDeath:if self.isOverLiquid()
transportUnitsHealBy:0.1
transportUnitsBlockOtherTransports:false
[graphics]
image:units/transport_ship.png
image_wreak:units/transport_ship_wreak.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:WATER
moveSpeed:0.8
maxTurnSpeed:1
reverseSpeedPercentage:0.3
[ai]
useAsBuilder:false
useAsTransport:true
useAsAttacker:false
useAsHarvester:false
disableUse:false
ai_upgradePriority:0.08
buildPriority:0.5
空中运输直升机
[core]
name:运输直升机
class:CustomUnitMetadata
price:2500
maxHp:1200
mass:10000
techLevel:2
buildSpeed:0.004
radius:30
displayRadius:35
fogOfWarSightRange:18
maxTransportingUnits:4
transportSlotsNeeded:1
transportUnitsRequireTag:infantry
transportUnitsBlockAirAndWaterUnits:true
transportUnitsCanUnloadUnits:true
transportUnitsAddUnloadOption:true
transportUnitsUnloadDelayBetweenEachUnit:4
transportUnitsKillOnDeath:true
transportUnitsHealBy:0.08
transportUnitsBlockOtherTransports:true
targetHeight:30
targetHeightDrift:2
[graphics]
image:units/transport_helicopter.png
image_wreak:units/transport_helicopter_wreak.png
image_shadow:AUTO
teamColorsUseHue:true
teamColoringMode:hueAdd
[movement]
movementType:AIR
moveSpeed:1.5
maxTurnSpeed:3
reverseSpeedPercentage:0.4
landOnGround:false
[ai]
useAsBuilder:false
useAsTransport:true
useAsAttacker:false
useAsHarvester:false
disableUse:false
ai_upgradePriority:0.1
buildPriority:0.6
注意事项
- 合理设置运输槽位数量,平衡运输能力和成本
- 为运输单位设置适当的移动速度和转向速度
- 考虑运输单位的防护能力,避免被轻易摧毁
- 测试不同地形上的运输效果
- 为运输单位配置合适的AI行为