🥳创建装备

介绍

原版的ItemAsset同时表示了 武器, 防具, 饰品, 武器材质, 防具材质, 饰品材质, 装备词条 七个内容.

而实际上这七者并不应该完全被统合到一个类, Maxim 仍然这么做了, 导致ItemAsset在不同的位置其字段会有不同的使用情况.

相关内容较为繁杂, 对于每个人如果都要研究明白是对模组制作者时间的极大浪费.

因此NML提供了相关的装备创建器NeoModLoader.General.Game.ItemAssetCreator. 里面的创建函数的参数即为对应ItemAsset有用的所有字段.

相关示例代码

武器材质

使用CreateWeaponMaterial创建ItemAsset后需要自行加入到AssetManager.items_material_weapon.

CreateWeaponMaterial参数如下

参数名
类型
解释
备注
必需

id

string

武器材质的id

应当唯一

base_stats

BaseStats

属性加成

-

×

cost_gold

int

构建该材质消耗黄金的数量

-

×

cost_resources

KeyValuePair<string, int>[]

构建该材质消耗的 资源-数量的键值对数组

只有前面 最多2个元素有效

×

equipment_value

int

装备评估价值加成

-

×

metallic

bool

是否为金属材质

决定攻击/受击声音

×

minimum_city _storage_ resource_1

int

城市拥有第一种资源 的最低数量

-

×

mod_rank

int

在这里用于加成 装备评估价值 五倍数值加成

-

×

quality

ItemQuality

武器品质的最小值

-

×

tech_needed

string

打造该武器需要的 科技id

-

×

饰品/防具材质

使用CreateAccessoryOrArmorMaterial创建ItemAsset后需要自行加入到AssetManager.items_material_accessoryAssetManager.items_material_armor.

CreateAccessoryOrArmorMaterial参数如下

参数名
类型
解释
备注
必需

id

string

武器材质的id

应当唯一

base_stats

BaseStats

属性加成

-

×

cost_gold

int

构建该材质消耗黄金的数量

-

×

cost_resources

KeyValuePair<string, int>[]

构建该材质消耗的 资源-数量的键值对数组

只有前面 最多2个元素有效

×

equipment_value

int

装备评估价值加成

-

×

minimum_city _storage_ resource_1

int

城市拥有第一种资源 的最低数量

-

×

mod_rank

int

在这里用于加成 装备评估价值 五倍数值加成

-

×

quality

ItemQuality

武器品质的最小值

-

×

tech_needed

string

打造该武器需要的 科技id

-

×

近战武器

使用CreateMeleeWeapon创建ItemAsset后会自动加入到AssetManager.items

CreateMeleeWeapon参数如下

参数名
类型
解释
备注
必需

id

string

武器的id

应当唯一 与所有其他装备不同

base_stats

BaseStats

属性加成

-

×

materials

List

可选的材质

从武器材质中选

×

item_modifiers

List

自带的词条

是词条id的列表 不是词条type

×

name_class

string

装备类型名称

注意要自己添加 "name_class_装备可能的品质" 的翻译文本

×

name_templates

List

传说品质可选命名模板

注意要自己添加 对应的命名器

×

tech_needed

string

所需科技

单个科技的id

×

action_attack_target

AttackAction

攻击目标时触发的Action

-

×

action_special_effect

WorldAction

持有时不断触发的Action

-

×

special_effect_interval

float

持有时不断触发的Action 的触发间隔

单位为秒

×

equipment_value

int

装备评估价值加成

-

×

path_slash_animation

string

攻击动画

-

×

远程武器

使用CreateRangeWeapon创建ItemAsset后会自动加入到AssetManager.items

CreateRangeWeapon参数如下

参数名
类型
解释
备注
必需

id

string

武器的id

应当唯一 与所有其他装备不同

projectile

string

投掷物的id

使用现成投掷物 或自己添加 对应投掷物

base_stats

BaseStats

属性加成

-

×

materials

List

可选的材质

从武器材质中选

×

item_modifiers

List

自带的词条

是词条id的列表 不是词条type

×

name_class

string

装备类型名称

注意要自己添加 "name_class_装备可能的品质" 的翻译文本

×

name_templates

List

传说品质可选命名模板

注意要自己添加 对应的命名器

×

tech_needed

string

所需科技

单个科技的id

×

action_attack_target

AttackAction

攻击目标时触发的Action

-

×

action_special_effect

WorldAction

持有时不断触发的Action

-

×

special_effect_interval

float

持有时不断触发的Action 的触发间隔

单位为秒

×

equipment_value

int

装备评估价值加成

-

×

path_slash_animation

string

攻击动画

-

×

饰品/防具

使用CreateArmorOrAccessory创建ItemAsset后会自动加入到AssetManager.items

CreateArmorOrAccessory参数如下

参数名
类型
解释
备注
必需

id

string

装备的id

应当唯一 与所有其他装备不同

equipmentType

EquipmentType

饰品/防具类型

不能是武器

base_stats

BaseStats

属性加成

-

×

materials

List

可选的材质

从武器材质中选

×

item_modifiers

List

自带的词条

是词条id的列表 不是词条type

×

name_class

string

装备类型名称

注意要自己添加 "name_class_装备可能的品质" 的翻译文本

×

name_templates

List

传说品质可选命名模板

注意要自己添加 对应的命名器

×

tech_needed

string

所需科技

单个科技的id

×

action_attack_target

AttackAction

攻击目标时触发的Action

-

×

action_special_effect

WorldAction

持有时不断触发的Action

-

×

special_effect_interval

float

持有时不断触发的Action 的触发间隔

单位为秒

×

equipment_value

int

装备评估价值加成

-

×

装备词条

使用CreateAndAddModifier创建ItemAsset后会自动加入到AssetManager.items_modifiers并更新到对应的pool

CreateAndAddModifier参数如下

参数名
类型
解释
备注
必需

id

string

词条的id

应当唯一 与所有其他词条不同

mod_type

string

词条的类型

用于判断是否为同类型词条 同类型词条才能比较等级

mod_rank

int

词条的等级

同样有5倍于数值的 装备评估价值加成

translation_key

string

词条的翻译key

需要自己添加对应的翻译文本

rarity

int

稀有度(常见度)

越大越常见 游戏本体的值大多集中于1或3

×

equipment_value

int

装备评估价值加成

-

×

quality

ItemQuality

武器品质的最小值

-

×

base_stats

BaseStats

属性加成

-

×

action_attack_target

AttackAction

攻击目标时触发的Action

-

×

action_special_effect

WorldAction

持有时不断触发的Action

-

×

special_effect_interval

float

持有时不断触发的Action 的触发间隔

单位为秒

×

Last updated