------------------------------------
用SgaReader2打开gameattrib.sga文件后,可以看到simulation文件夹,打开simulation文件夹后,是attrib文件夹,而attrib文件夹下有一长串子文件夹,其中需要用到的只有几个
ability 技能 不管是手雷还是医疗包,都是归在这个文件夹里
ebps 单位 小队是由单位构成的,这个文件夹包含了所有小队单位
racebps 阵营 人口和资源生产速度都是记录在这个文件夹的文件里
sbps 小队 小队的文件都在这里
tuning 等级 战役里每级X点点数都在这里修改
---------------------
主要修改ebps,sbps,tuning这三个文件夹里的文件
-------------------------
EBP文件
ebps文件包下有很多子文件夹,里面比较重要的有campaign和pvp
campaign是战役文件
pvp是对战文件
这里主要介绍战役文件
战役文件下的playable就是玩家使用的单位,里面的race_marine就是星际战士的文件夹
race_marine里面需要修改的一般在troops和vehicles这两个文件夹里,但是混沌崛起的这两个文件夹在xp1这个文件夹下,xp1文件和troops、vehicles在同一层,如果你要修改原版,直接修改troops和vehicles,如果你要修改混沌崛起,请到xp1下寻找troops和vehicles修改
比如sm_assault_marine这个文件,这个文件是原版战役里突击小队的队员文件(当然,也有队长的文件)
里面比较重要的部分就是
| leveling_ext: {
| | $REF: "entity_extensions\leveling_ext";
| | attrib_levels: {
| | | attrib_level_attributes: {
| | | | $REF: "types\leveling\attrib_level_attributes";
| | | | health: {
| | | | | health: 35f;------基础生命值,可怜的35点
| | | | | regeneration: 1f;------基础生命回复速度
| | | | };
| | | | skills: {
| | | | | energy: 50f;------能量
| | | | | energy_regeneration: 2f;------能量恢复速度
| | | | | morale: 450f;------士气,这个是做啥的我不知道
| | | | | morale_regeneration: 0.2f;------士气回复速度
| | | | | supression_resistance: 4f;------压制抵抗
| | | | };
| | | | weapon: {
| | | | | melee_damage_modifier: 1f;------由肉搏技能换算的肉搏攻击力的加成比率
| | | | | melee_skill: 7;------肉搏技能值,不论是肉搏还是远程的伤害都是由肉搏技能换算而来,没有远程技能这个属性
| | | | | ranged_damage_modifier: 1f;------由肉搏技能换算的远程攻击力的加成比率
| | | | };
| | | };
然后下面是每一级的数据,没错,这不是靠算式计算的,而是手工写的,要修改要一条条改,有耐心的可以尝试
注意:ebp文件修改小队队员的属性是有意义的,sbp文件则只需要修改队长的既可
-------------------------------------------------
SBP文件
sbps文件包下有很多子文件夹,里面比较重要的有campaign和pvp
campaign是战役文件
pvp是对战文件
这里主要介绍战役文件
战役文件下的playable就是玩家使用的单位,里面的race_marine就是星际战士的文件夹
race_marine里面需要修改的一般在troops和vehicles这两个文件夹里,但是混沌崛起的这两个文件夹在xp1这个文件夹下,xp1文件和troops、vehicles在同一层,如果你要修改原版,直接修改troops和vehicles,如果你要修改混沌崛起,请到xp1下寻找troops和vehicles修改
同样举例,不过sbp文件只要修改队长的文件,所以例子是sm_assault_marine_thaddeus
注意:有加人名的是队长的文件
在这个文件里,重要的部分有这几个
| | max_attribute_points: {
| | | corruption: 0;------这个是堕落值,原版是没有这个属性的所以是0,混沌崛起这里是24
| | | energy: 10;------最大能量点数
| | | health: 15;------最大生命点数
| | | melee: 20;------最大肉搏点数
| | | morale: 0;
| | | ranged: 15;------最大射击点数
| | };
10+15+20+15=60点,也就是说,在小队配置界面里四个属性满点是60点
修改这里的数值就可以改变最大值,比如改成满点80点,这个属性一般和tuning下面的文件配合使用
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 1;
| | | | num: 1;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_assault_marine_thaddeus";
| | | };
| | | squad_loadout_unit_entry: {
| | | | $REF: "squad_loadout_unit_entry";
| | | | max: 2;
| | | | num: 2;
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_assault_marine";
| | | };
| | };
| };
这里是小队人数及组成,可以看到队长人数1人,类型是ebps文件夹下的sm_assault_marine_thaddeus,而队员人数是2人,类型是ebps文件夹下的sm_assault_marine
添加小队人数需要修改的部分是
| | | | max: 2;
| | | | num: 2;
而修改小队组成则是
| | | | type: "ebps\campaign\playable\race_marine\troops\sm_assault_marine";
假设我们要为这个小队加入一个CSM
那么你只要把一个CSM队员的文件放到ebps\campaign\playable\race_marine\troops\下,然后把后面的sm_assault_marine改成那个单位的名称就可以了
----
TUNING文件
这个文件夹里只有一个文件tuning_info.rbf
这个文件里有这样的数据
| | | level_xp_table: {
| | | | level_xp_points: {
| | | | | $REF: "types\leveling\level_xp_points";
| | | | | discretionary_attrib_points: 5;------每级可以自由分配的点数,就是修改这里
| | | | | escalation_award_modifier: 1f;
| | | | | required_xp_points: 0f;
| | | | | xp_award_modifier: 1f;
| | | | };
这个文件的修改一般和sbp的小队文件配合
比如刚刚的原版的突击小队的满点是60点,那么升到20级有5+0+18*2=41点可分配点
而加入单纯的改成每级5点的话,5*20=100点,大大超出了满点60点,所以一般把sbp里面的属性也略作提升,来容纳这100点
所以才说这个文件的修改一般与sbp的小队文件配合
-----------------------
修改的流程一般是这样的
用SgaReader2提取出要修改的文件,然后用RbfConv打开那个文件,打开的时候RbfConv会自动把这个文件转换为.txt文件,修改后再次用RbfConv打开.txt文件,然后点击convert菜单,选择current,就可以把.txt文件转换为.rbf文件
然后把修改的文件按路径放入\GameAssets\Data\simulation\attrib下
比如\GameAssets\Data\simulation\attrib\ebps\campaign\playable\race_marine\xp1\troops这个路径就是存放混沌崛起里星际战士的队员文件的地方
\GameAssets\Data\simulation\attrib\sbps\campaign\playable\race_marine\xp1\troops这个路径则是存放混沌崛起里星际战士小队文件的地方