Mod制作教程6 特质 - WorldBoxOpenMods/ModLoader GitHub Wiki
特质添加和调整
从这一节开始, 需要自力更生了.
送各位两个词: RTFSC(Read The Fucking Friendly Source Code)和RTFM(Read The Fucking Friendly Manual).
实际上, 大部分这类内容都是非常简单的, 只需要查阅文档基本能够了解.
所以你需要自己去阅读查阅文档. 本节只是提供一些注意要点.
- 特质通过ActorTrait进行表示.
- 特质的oppositeArr是单向的. 如特质A的oppositeArr包含了特质B, 而特质B的oppositeArr不包含特质A, 那么结果会是当添加特质A时, 会自动移除特质B, 反之不然. 具体的需要自行翻阅文档/源码
- path_icon的起点是根目录
- 特质的名字和描述的locale key分别是"trait_{id}", "trait_{id}_info"
- birth的取值是[0, 100], 不是[0, 1]
为了照顾新人, 这里还是给出一个简单的示例和解释
var trait = new ActorTrait(){
id = "example", // 唯一标识符
path_icon = "ui/icons/neomodloader",// 图标路径
type = TraitType.Positive, // 类型, 正面特质
birth = 50f, // 出生携带概率50%
group_id = TraitGroup.fun // fun特质组
};
trait.base_stats[S.damage] = 10; // 10点的攻击力加成
AssetManager.traits.Add(trait); // 将这个特质添加到特质表里