制作兵种:战斗数据
上一篇建立的精锐玉勇仍在共用原版玉勇的battle_entities_tables、近战武器、护甲、盾牌和部分属性记录。本篇把这些战斗数据拆成新单位自己的记录,避免以后修改精锐玉勇时连带影响原版单位。
本篇继续编辑
twcn_tutorial_unit.pack。如果某项数据完全不需要与模板区分,可以继续引用原版记录;不要为了“看起来完整”复制永远不会修改的数据。
本篇会用到哪些表单
| 表单 | 作用 | 是否必须新建记录 |
|---|---|---|
battle_entities_tables |
单兵实体的移动、加减速、转向、质量、碰撞尺寸、基础生命值、体型和血液肢解等。 | 想独立修改这些属性时必须。 |
melee_weapons_tables |
近战基础伤害、破甲、反步/反大、溅射和攻击间隔等。 | 想独立修改武器伤害时必须。 |
unit_armour_types_tables |
护甲值和受击音效类型。 | 只改面板护甲或音效时再建。 |
unit_shield_types_tables |
盾牌格挡概率和音效。 | 只改盾牌时再建。 |
unit_attributes_groups_tables |
注册一个属性组 Key。 | 想让新单位拥有独立属性组合时必须。 |
unit_attributes_to_groups_junctions_tables |
把森林隐蔽、恐惧、阵型等属性放进属性组。 | 与独立属性组配套。 |
land_units_to_unit_abilites_junctions_tables |
把主动或被动能力关联给陆战单位。 | 单位需要能力时使用。 |
这些表最终都由land_units_tables直接或间接引用。
为什么不能直接修改原版实体
玉勇的Man Entity是:
wh3_main_cth_infantry_heavy_blood_dismembers
这条实体记录可能被多个原版单位共用。直接把它的速度或质量改大,会同时改变所有引用它的单位。正确做法是复制该行、改成新 Key,再让精锐玉勇指向新实体。
建立独立的 Battle Entity
- 在
依赖项中打开battle_entities_tables。 - 搜索
wh3_main_cth_infantry_heavy_blood_dismembers,只导入这一行。 - 把新行的
Key改为twcn_tutorial_cth_infantry_elite。 - 打开
land_units_tables,把精锐玉勇的Man Entity改为这个新 Key。
常用列如下:
| 列 | 作用 | 注意事项 |
|---|---|---|
Walk Speed、Run Speed |
步行与奔跑速度。 | 战场面板速度通常与Run Speed相关,但不要只看面板判断实际动作是否自然。 |
Acceleration、Deceleration |
加速和减速能力。 | 与最高速度差距过大时,单位起步或停步会显得突兀。 |
Charge Speed |
冲锋时的移动速度。 | 不是land_units_tables里的Charge Bonus。 |
Radius、Height |
碰撞半径和实体高度。 | 应与模型尺寸接近;过大或过小会造成拥挤、穿模或受击异常。 |
Mass |
碰撞质量。 | 影响推挤与被冲撞表现,不等于生命值。 |
Turn Speed |
转向速度。 | 过低会转身迟钝,过高可能显得不自然。 |
Hit Points |
实体基础生命值。 | 最终单兵生命值还会叠加land_units_tables的Bonus Hit Points。 |
Size |
小型/大型判定和部分溅射目标判定。 | 不应只为了提高强度随意改成大型。 |
Entity Effects |
行走时使用的地表效果组。 | 通常沿用体型和移动方式相近的模板。 |
Has Blood、Can Dismember |
是否使用流血与肢解效果。 | 还要有对应模型与动画支持。 |
以原版玉勇为模板时,实体Hit Points是8,land_units_tables的Bonus Hit Points是61,所以不能把后者误当成全部生命值。
建立独立近战武器
- 在
依赖项的melee_weapons_tables中搜索wh3_main_cth_jade_warrior_sword。 - 导入该行,把
Key改成twcn_tutorial_cth_elite_jade_sword。 - 在
land_units_tables中把Primary Melee Weapon改为新 Key。
| 列 | 作用 |
|---|---|
Damage |
非破甲武器伤害。 |
AP Damage |
破甲武器伤害。 |
Bonus V Infantry |
反步加成。 |
Bonus V Large |
反大加成。 |
Splash Attack Target Size |
允许溅射命中的最大目标体型。 |
Splash Attack Max Attacks |
一次攻击最多实际伤害多少个目标。 |
Building Damage Multiplier |
对建筑伤害倍率。 |
Ignition Amount、Is Magical |
火焰和魔法攻击标记。 |
Contact Phase |
命中时附加的状态效果。 |
Melee Attack Interval |
攻击间隔;实际攻击仍受动画长度制约。 |
面板上的“武器威力”主要来自
Damage + AP Damage,而Melee Attack、Melee Defence和Charge Bonus仍在land_units_tables。不要把武器表当成全部近战属性。
护甲和盾牌
精锐玉勇目前引用:
Armour = wh2_main_chainmail_70
Shield = wh_missile_block_35_wood
如果只想保持玉勇护甲和 35% 盾牌格挡,继续复用即可。要独立修改时:
- 分别从
unit_armour_types_tables和unit_shield_types_tables导入原记录。 - 给记录改成自己的 Key。
- 修改
Armour Value或Missile Block Chance。 - 把
land_units_tables中的Armour和Shield改为新 Key。
护甲类型还带有受击音效,盾牌类型也带有盾牌音效。复制与模型材质不相符的音效,会出现数值正确但声音违和的问题。
建立独立属性组
原版玉勇的Attribute Group与单位 Key 同名,其中包含formed_attack、hide_forest和yang。
- 从
unit_attributes_groups_tables导入玉勇记录,把Group Name改为新单位 Key。 - 从
unit_attributes_to_groups_junctions_tables导入玉勇的三条记录。 - 把三条记录的
Attribute Group全部改为新单位 Key。 - 在
land_units_tables中把Attribute Group改为新单位 Key。 - 按需求保留或删除具体
Attribute。
属性组适合放单位自身固有属性;不要把战斗能力的 Key 填进这里。
关联战斗能力
原版玉勇通过land_units_to_unit_abilites_junctions_tables获得阳系宁和和防御阵型:
Ability |
Land Unit |
|---|---|
wh3_main_unit_passive_battle_harmony_yang |
twcn_tutorial_cth_inf_elite_jade_warriors |
wh3_main_unit_passive_defensive_stance |
twcn_tutorial_cth_inf_elite_jade_warriors |
表名中的abilites是游戏原表使用的拼写。这里负责“单位拥有哪些能力”,能力本身的效果则由unit_abilities_tables及其关联表定义;以后自制能力时不要只复制这一张连接表。
检查引用是否已经独立
完成后至少检查:
land_units.Man Entity -> twcn_tutorial_cth_infantry_elite
land_units.Primary Melee Weapon -> twcn_tutorial_cth_elite_jade_sword
land_units.Attribute Group -> twcn_tutorial_cth_inf_elite_jade_warriors
然后保存并运行诊断。最后分别让原版玉勇和精锐玉勇进入同一场自定义战斗,确认只修改精锐玉勇的实体或武器记录时,原版玉勇没有一起变化。

