#
# Page 1
## **[core]组**
!> 以下的代码为`通用代码`,多半是必要的代码,如果不包括这些,可能在`绝大多数情况下导致错误`。
### name
#### name-代码简介
?> 代码:name 中文释义:名字 类型:字符型 隶属于:通用代码组
#### name-要点指示
> [!NOTE] name代码的要点指示:
#### **JDSALing**
定义单位原始名称,可以是中文。
游戏使用它区分其它单位。
如果没有在[displayText或者语言文件设置显示名称],
那么它也将作为单位的显示名称。
具体描述文件位置(内部):
1.assets/translationsStrings_zh.properties
格式:units.单位名称.name=写单位显示的名称
units.单位名称.description= [[填单位显示的描述]]
#### **tobby3600**
ini文件的单独定义(外部-推荐):
2.displayText: 单位的标题
displayDescription: -单位的描述
特别提醒:`displayText支持本地化`,例如如果要写一个`多语言的单位描述`,可以通过以下例子:
#### name-演示例子
```ini
演示例子
[core]
name: Ling
displayText: English Title Text
displayText_zh:中文标题
displayDescription: -English Description
displayDescription_zh:-中文描述
```
### price
#### price-代码简介
?> 代码:price 中文释义:价格 类型:整数 隶属于:通用代码组
#### price-要点指示
!> price代码要点指示:
定义单位的价格,显示在单位信息中,建造时也以此价格为准。
#### **tobby3600**
默认情况下,price只需要填写一个整数,此时使用的是游戏内自带的资金credit;
想要更改资源类型,可以使用 `price:资源1=数值1,资源2=数值2,...` 的格式(前提是此资源要在使用的单位进行定义)。
#### price-演示例子
```ini
[core]
price:120,石油=80,铁=60
```
### radius
#### radius-代码简介
?> 代码:radius 中文释义:半径 类型:整数 隶属于:通用代码组
#### radius-要点指示
!> radius代码要点指示:
半径定义单位的`实际碰撞体积和显示范围`,在未设置`选择框大小`时,半径决定是单位选择框的大小。
半径的单位是像素(px)。
#### radius-演示例子
```ini
[core]
radius:20
```
### mass
#### mass-代码简介
?> 代码:mass 中文释义:质量 类型:整数 隶属于:通用代码组
#### mass-要点指示
!> mass代码要点指示:
质量决定单位在各种碰撞时的效果。`质量越大,其他单位越难推动`。
#### mass-演示例子
```ini
[core]
mass:2000
```
### maxHp
#### maxHp-代码简介
?> 代码:maxHp 中文释义:最大生命值 类型:整数 隶属于:通用代码组
#### maxHp-要点指示
!> maxHp代码要点指示:
#### **tobby3600**
最大生命值定义单位在不修改它时最多能够有多少血量,单位默认生成时即是这个血量。
maxHp可以通过单位参考.maxHp()来获取,也可以通过[action]setUnitStatus进行修改。
#### maxHp-演示例子
```ini
[core]
maxHp:600
```
### altNames
#### altNames-代码简介
?> 代码:altNames 中文释义:别名 类型:字符型 隶属于:通用代码组
#### altNames-要点指示
!> altNames代码要点指示:
#### **JDSALing**
主要在启用多个自定义Mod进行优先级定义
以逗号分隔的名称列表。像名称一样,但优先级较低,对于启用多个自定义mod有用。
#### altNames-演示例子:
```ini
[core]
altNames:ling,tobby3600,coldmint
```
### class
#### class-代码简介
?> 代码:class 中文释义:类 类型:字符型 隶属于:通用代码组
> [!ATTENTION] 无实际用处,可以删除。
Luke:保留供将来使用,默认情况下必须为CustomUnitMetadata。由于该代码无实际用途,可以忽略该代码
该代码后面什么都可以输,但没有实际用途。或许在未来会有用。
#### class-演示例子:
```ini
[core]
class:CustomUnitMetadata
```
### strictLevel
#### strictLevel-代码简介
?> 代码:strictLevel 中文释义:严格级别 类型:数字固定型 隶属于:通用代码组
> [!TIP] 建议添加到"all-units.template"以应用于所有单位,进行统一查错。
默认值为0,忽略代码重复。设为1时如果当前单位内有重复代码,则报错。
#### strictLevel-演示例子:
```all-units.template & ini
[core]
strictLevel:1
```
### techLevel
#### techLevel-代码简介:
?> 代码:techLevel 中文释义:科技等级 类型:数字固定型 隶属于:通用代码组
> [!TIP] 早期是用于在builtFrom的代码,并结合科技等级使用。如果工厂的等级低于单位的目标科技等级,则会在工厂里面隐藏该单位。
自铁锈1.09后出现overrideAndReplace后,该方法则不建议使用。有关于新策略,请参考overrideAndReplace代码文档指南。
设置单位的科技等级,共有3个级别,1级GUI显示为绿色,2、3级显示为黄色。超过3报错。
#### techLevel-演示例子:
```ini
[core]
techLevel:2
```
### buildSpeed
#### buildSpeed-代码简介
?> 代码:buildSpeed 中文释义:建造速度 类型:浮点/秒型 隶属于:通用代码组
> [!TIP] 建造此单位需要的时间,填秒。
以前的计算方式为:此处所填时间=1÷(60x你需要的秒)如果定义了工厂速率则需要乘以建造乘数。
#### buildSpeed-演示例子:
```ini
[core]
buildSpeed:30s
#或者:
## 下方可能有误差
buildSpeed:0.0006
```
### isBio
#### isBio-代码简介
?> 代码:isBio 中文释义:是生物 类型:布尔型 隶属于:通用代码组
> [!TIP] 若设置成true,则会在单位死亡时产生血迹,
图像在drawable/blood_mark.png,hideScorchMark:true时可以隐藏)非生物则为黑色爆炸效果。
#### isBio-演示例子:
```ini
[core]
isBio:true
```
### isBug
#### isBug-代码简介
?> 代码:isBug 中文释义:是虫子 类型:布尔型 隶属于:通用代码组
> [!TIP] 若设置成true,则会认定为虫子,用于沙盒中的单独分类。
#### isBio-演示例子:
```ini
[core]
isBug:true
```
### isBuilder
#### isBuilder-代码简介
?> 代码:isBuilder 中文释义:是建造者 类型:布尔型 隶属于:通用代码组
> [!TIP] 若设置成true,则会需要此单位建造建筑物,则通常需要此代码。
并且默认设为[ai] useAsBuilder。
#### isBuilder-演示例子:
```ini
[core]
isBuilder:true
```
### streamingCost
#### streamingCost-代码简介
?> 代码:streamingCost 中文释义:流式资金 类型:整数型 隶属于:通用代码组
> [!TIP] 和价格一样,但在建造时逐渐消耗资金,如果在构建过程中资源耗尽,
建造或生产队列将暂停。就像是红警中那样。铁锈默认是预先扣除资金。
若使用该代码,则玩家的每秒资金将会根据流式资金的算法进行扣减。
#### streamingCost-演示例子:
```ini
[core]
streamingCost:1145
```
### switchPriceWithStreamingCost
#### switchPriceWithStreamingCost-代码简介
?> 代码:switchPriceWithStreamingCost 中文释义:流式资金模式全局切换 类型:布尔型 隶属于:通用代码组
> [!TIP] 快捷设置为默认资金消耗方式或为流式建造方式。
建议使用模板快速将一个模组为所有单位切换流资源。
例如all-units.template.
#### switchPriceWithStreamingCost-演示例子:
```ini,all-units.template
[core]
switchPriceWithStreamingCost:true
```
!> 以下的代码为`单位统计代码组`,非必须存在的代码,请根据情况自行使用
### selfRegenRate
#### selfRegenRate-代码简介
?> 代码:selfRegenRate 中文释义:生命恢复速度 类型:浮点型 隶属于:单位统计代码组
> [!TIP] 此数值决定每帧增加血量。游戏内默认速度下,一秒为60逻辑帧,而你看到的FPS帧数为渲染帧,所以电脑上几百帧和手机上60帧和省电模式下30帧并不影响计算。所以不要写太大。可以写负值用于自毁。
#### selfRegenRate-演示例子:
```ini
[core]
maxHp:500
selfRegenRate:0.5
```
### maxShield
#### maxShield-代码简介
?> 代码:maxShield 中文释义:护盾值 类型:整型 隶属于:单位统计代码组
> [!TIP] 单位最大护盾值,默认生成时即为此值。如果设置了startShieldAtZero:true,则初始为0.
#### maxShield-演示例子:
```ini
[core]
maxShield:3000
```
### startShieldAtZero
#### startShieldAtZero-代码简介
?> 代码:startShieldAtZero 中文释义:护盾初始值为0 类型:布尔型 隶属于:单位统计代码组
> [!TIP] 如果为true,则单位护盾值从0开始增加。
#### startShieldAtZero-演示例子:
```ini
[core]
maxShield:3000
startShieldAtZero:true
```
### shieldRegen
#### shieldRegen-代码简介
?> 代码:shieldRegen 中文释义:护盾恢复速度 类型:浮点型 隶属于:单位统计代码组
> [!TIP] 此数值决定每帧增加护盾值,游戏内一秒为60帧,所以不要写太大。可以写负值。
#### shieldRegen-演示例子:
```ini
[core]
maxShield:3000
shieldRegen:0.5
```
### energyMax
#### energyMax-代码简介
?> 代码:energyMax 中文释义:能量值 类型:浮点型 隶属于:单位统计代码组
> [!TIP] 默认值为0。可以用作炮塔,激光防御和行动的弹药的能量。
#### energyMax-演示例子:
```ini
[core]
energyMax:5
```
### energyRegen
#### energyRegen-代码简介
?> 代码:energyRegen 中文释义:能量恢复速度 类型:浮点型 隶属于:单位统计代码组
> [!TIP] 能量每帧恢复速度,游戏内一秒为60帧,所以不要写太大。可以写负值。
#### energyRegen-演示例子:
```ini
[core]
energyRegen:0.4
```
### energyRegenWhenRecharging
#### energyRegenWhenRecharging-代码简介
?> 代码:energyRegenWhenRecharging
中文释义:充能时能量恢复速度 类型:浮点型 隶属于:单位统计代码组
> [!TIP] 能量恢复是持续的,如果你设置了energyNeedsToRechargeToFull,那么攻击时按energyRegen恢复,耗尽时的灰条按此处设定值恢复。
#### energyRegenWhenRecharging-演示例子:
```ini
[core]
energyMax:1
energyRegenWhenRecharging:0.4
```
### energyNeedsToRechargeToFull
#### energyNeedsToRechargeToFull-代码简介
?> 代码:energyNeedsToRechargeToFull
中文释义:能量需要充满 类型:布尔型 隶属于:单位统计代码组
> [!TIP] 如果能量耗尽,则需要完全充能才能进行攻击。
#### energyRegenWhenRecharging-演示例子:
```ini
[core]
energyMax:4
energyNeedsToRechargeToFull:true
```
### armour
#### armour-代码简介
?> 代码:armour
中文释义:装甲 类型:整型 隶属于:单位统计代码组
> [!TIP] 抵消敌方攻击所造成的伤害。
#### armour-演示例子:
```ini
[core]
armour:40
#如果受到40以上的常规攻击,则进行抵消,反之返回1伤害点。
#例如45伤害,40护甲,那么将获得5点伤害。
```
### armourMinDamageToKeep
#### armourMinDamageToKeep-代码简介
?> 代码:armour
中文释义:装甲最低伤害 类型:整型 隶属于:单位统计代码组
> [!TIP] 至少造成多少点伤害,默认为1.防止护甲太高完全打不动。
#### armourMinDamageToKeep-演示例子:
```ini
[core]
armour:40
armourMinDamageToKeep:2
#如果受到40以下的常规攻击,则进行最低伤害判定
```
### borrowResourcesWhileAlive
#### borrowResourcesWhileAlive-代码简介
?> 代码:armour
中文释义:资源活着时借用 类型:Price型 隶属于:单位统计代码组
> [!TIP] 创建时获取这些资源,删除或销毁时将其返回。例如用于电力逻辑,负数供电和正数耗电。
#### borrowResourcesWhileAlive-演示例子:
```ini
[core]
borrowResourcesWhileAlive:5000
#单位活着的时候给予5000金币,死亡扣除5000金币
#一个小型贷款系统,
### 考考你:
如果这里要通过这个代码做一个小的贷款系统,并经过一段时间让单位死亡。
只需要4行代码即可实现,试试看。
提示:dieOnZeroEnergy:true---(无能量时死亡|如果能量值为零,该单位死亡)
```
## **[canBuild_Name]组** ## **[canBuild_Name]组** ## **[graphics]组** ### image #### image-代码简介 ?> 代码:image 中文释义:主体图像 类型:文件(图像文件) 隶属于:通用代码组 #### image-要点指示 !> image代码要点指示: #### **tobby3600** 主体图像定义单位的图像。
演示例子:
要点指示:
要点指示:
演示例子:
鼠标放上显示参考答案
### 算数运算符 #### 加 ?> 代码:+ 中文释义:加演示例子:
演示例子: