cai480 发表于 2020-9-13 00:08

远古遗迹固定7技能修改,改造槽2变3,加点只消耗1点

本帖最后由 cai480 于 2020-10-28 14:18 编辑

首先感谢qweytr_1、ltcszk、时间若倒退、克拉克001、等几位大神的先期研究{:3_94:},dnSpy这个软件一样是小白,主要是复制粘贴克拉克001修改好的。

一、前期准备工作
1、dnSpy软件,我没准备链接,用别的大神准备的
修改工具dnSpy可以参考https://bbs.3dmgame.com/thread-5977651-1-1.html
2、修改的文件PhoenixPoint\PhoenixPointWin64_Data\Managed中的Assembly-CSharp.dll
3、找到要修改的地方,右键,编辑方法,修改完点击编译,然后文件--全部保存


一、固定七技能修改方法
搜CharacterProgression,将以下的
----------------------------原件内容------------------------------------------------
            this._baseStats.Clear();
            int num = (generationParams != null) ? generationParams.EnduranceBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Strength + num);
            int num2 = (generationParams != null) ? generationParams.WillBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Will + num2);
            int num3 = (generationParams != null) ? generationParams.SpeedBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Speed + num3);
            this.BaseStatSheet = baseStatSheetDef;
            this.SkillPoints = levelProgression.InitialSkillpoints;
            this.LevelProgression = new LevelProgression(levelProgression, 0);
            this.MainSpecDef = specializationDef;
            AbilityTrack track = new AbilityTrack(specializationDef.AbilityTrack, AbilityTrackSource.PrimaryClass);
            this.AddNewAbilityTrack(track, true);
            AbilityTrack track2 = AbilityTrack.CreatePersonalAbilityTrack(new GameTagDef[0], levelProgression.MaxLevel, baseStatSheetDef.PersonalAbilitiesCount);
            this.AddNewAbilityTrack(track2, false);
            this.Init();

----------------------------替换为------------------------------------------------
            this._abilityTracks = new List<AbilityTrack>();
            this._abilities = new List<TacticalAbilityDef>();
            this._baseStats = new List<int>();
            this._baseStats.Clear();
            int num = (generationParams != null) ? generationParams.EnduranceBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Strength + num);
            int num2 = (generationParams != null) ? generationParams.WillBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Will + num2);
            int num3 = (generationParams != null) ? generationParams.SpeedBonus : 0;
            this._baseStats.Add(baseStatSheetDef.Speed + num3);
            this.BaseStatSheet = baseStatSheetDef;
            this.SkillPoints = levelProgression.InitialSkillpoints;
            this.LevelProgression = new LevelProgression(levelProgression, 0);
            this.MainSpecDef = specializationDef;
            AbilityTrack track = new AbilityTrack(specializationDef.AbilityTrack, AbilityTrackSource.PrimaryClass);
            this.AddNewAbilityTrack(track, true);
            IEnumerable<GameTagDef> abilityFilter = new GameTagDef[0];
            int maxLevel = levelProgression.MaxLevel;
            AbilityTrack track2 = AbilityTrack.CreatePersonalAbilityTrack(abilityFilter, maxLevel, maxLevel);
            this.AddNewAbilityTrack(track2, false);
            List<AbilityTrackSlot> list = new List<AbilityTrackSlot>();
            DefRepository defRepository = GameUtl.GameComponent<DefRepository>();
            List<string> learns = new List<string>
            {
                "ExpertPacker_AbilityDef",
                "ExpertRunner_AbilityDef"
            };
            (from itDef in defRepository.GetAllDefs<TacticalAbilityDef>()
            where learns.Contains(itDef.name)
            select itDef).ToList<TacticalAbilityDef>().ForEach(delegate(TacticalAbilityDef itDef)
            {
                this.AddAbility(itDef);
            });
            AbilityTrackSlot abilityTrackSlot = new AbilityTrackSlot();
            TacticalAbilityDef ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertLightWeapons_AbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("GoodShot_AbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Cautious_AbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertShooter_AbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("AssaultRiflesTalent_AbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Gunslinger_AbilityDe", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            abilityTrackSlot = new AbilityTrackSlot();
            ability = defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("DeadlyDuo_ShootAbilityDef", StringComparison.OrdinalIgnoreCase));
            abilityTrackSlot.Ability = ability;
            list.Add(abilityTrackSlot);
            this.AddNewAbilityTrack(new AbilityTrack(list.ToArray(), AbilityTrackSource.Personal), false);
            this.Init();
----------------------------其中“”引号中的灰色便是技能------------------------------------------------
前面两个技能                "ExpertPacker_AbilityDef", "ExpertRunner_AbilityDef"是公共技能池,不需要学的,战斗自动出现,后面七个是士兵技能栏的技能。
修改技能建议如下:
公共常驻被动(不需要点):注意:公共技能可以放主动技能,在战斗的时候自动携带!不光你的士兵带有,敌对的人类士兵一样带有,仅有海鲜不携带公共技能,因此不建议把强力技能放在公共技能栏。ExpertPacker_AbilityDef;背包+25%ExpertRunner_AbilityDef,专业跑者,速度+2

突击被动加载的技能1、ExpertLightWeapons_AbilityDef;轻武器专家,步枪手枪伤害+20%2、GoodShot_AbilityDef:突击步枪伤害,伤害/准度+20(对比原先的已加强)3、Cautious_AbilityDef;好奇者,+20%准确-10%伤害(发现伤害够了,缺命中)4、ExpertShooter_AbilityDef:射击准度+205、AssaultRiflesTalent_AbilityDef;突击步枪精通+10%准确6、Gunslinger_AbilityDef:神枪手,主动0/2,立即使用精通武器射击一次7、DeadlyDuo_ShootAbilityDef;致命连击,主动,进行2次连击准度翻倍,3AP

重装加载的技能(建议选突击兵做副职业,然后穿狙击装备)1、ExpertHeavyWeapons_AbilityDef;重武器专家,重武器伤害+20%2、ExpertShooter_AbilityDef:射击准度+203、HeavyWeaponsTalent_AbilityDef;重武器精通+10%准确4、Strongman_AbilityDef:被动·大力士重武器伤害+30%,感知-105、AdrenalineRush_AbilityDef,肾上腺素冲击,狂战大招,主动0ap/5意志,所有动作只消耗1ap,包括攻击,但不能使用耗意志技能(可配合突击大招使用,先开突击大招,再开肾上腺素)6、Gunslinger_AbilityDef:神枪手,主动0/2,立即使用精通武器射击一次7、DeadlyDuo_ShootAbilityDef;致命连击,主动,进行2次连击准度翻倍,3AP
狙击手加载的技能1、Focused_AbilityDef:狙击手,狙击步枪伤害+25%,意志-42、SniperTalent_AbilityDef;狙击准度+10%3、ExpertLightWeapons_AbilityDef;轻武器专家,步枪手枪伤害+20%(突然发现,狙击步枪也算步枪,何必要减命中的技能?)4、ExpertShooter_AbilityDef:射击准度+205、AdrenalineRush_AbilityDef,肾上腺素冲击(1AP消耗,所有行动1AP,下回合昏迷)6、Gunslinger_AbilityDef:神枪手,主动0/2,立即使用精通武器射击一次7、DeadlyDuo_ShootAbilityDef;致命连击,主动,进行2次连击准度翻倍,3AP
新增狂战士被动加载的技能(近战版,但是近战除了要靠近,还要2AP打人)1、CloseQuartersSpecialist_AbilityDef:霰弹枪和近战武器精通伤害+20%2、Brawler_AbilityDef;好斗者,近战和猛击+50%伤害3、MeleeWeaponTalent_AbilityDef;近战精通伤害+10%4、ExpertMelee_AbilityDef;近战专家+25%伤害5、Reckless_AbilityDef:伤害+20%准度-20%6、MeleeReturnFire_WithShootAbility_AbilityDef:近战反击7、Gunslinger_AbilityDef:神枪手,主动0/2,立即使用精通武器射击一次
加载的技能(用重武器,建议选突击兵做副职业,然后穿狙击装备)1、ExpertHeavyWeapons_AbilityDef;重武器专家,重武器伤害+20%2、ExpertShooter_AbilityDef:射击准度+203、HeavyWeaponsTalent_AbilityDef;重武器精通+10%准确4、Strongman_AbilityDef:被动·大力士重武器伤害+30%,感知-105、QuickAim_AbilityDef;快速瞄准主动0/3,下次精通武器射击-1ap6、Gunslinger_AbilityDef:神枪手,主动0/2,立即使用精通武器射击一次7、DeadlyDuo_ShootAbilityDef;致命连击,主动,进行2次连击准度翻倍,3AP
牧师、工程兵建议工程兵转牧师或者牧师转工程兵,技能可以带两个增加治疗量的技能Helpful_AbilityDef;医疗兵,治疗加成50%,意志+2ExpertHealer_AbilityDef;医疗专家,治疗+50%自卫武器的SelfDefenseSpecialist_AbilityDef;自卫专家,防卫武器伤害+20,聆听范围+10PDWTalent_AbilityDef:单兵自卫武器精通,准度+10%
其他技能详见二楼,复制这位大佬的:技能名可以参考https://bbs.3dmgame.com/thread-5978422-1-1.html


说明:1.公共技能,敌对人类士兵也享受,建议不要放强力技能。
2.建议备份,写多个文件,每招一类士兵,放入一个文件,再招。
3.一个文件写入不同职业的被动,在这个帖子https://bbs.3dmgame.com/thread-6005077-1-1.html
但是已经失效了,如果各位大佬有方法请告诉我
4.近战狂战很强力,人体改造有个近战模块:近战1AP,一锤600,很爽


二、加点只消耗1点技能点(显示依然是要很多,实际只要1点)
减点则能得很多点技能点,可以前期刷点来点满
搜ChangeCharacterStat
将                  int baseStatCost = this._character.Progression.GetBaseStatCost(baseStat, currentStatValue + 1);
改为            int baseStatCost = 1;




三、打开控制台
打开控制台参考https://bbs.3dmgame.com/thread-5976935-1-1.html


四、身体改造二变三(强迫症福音)
搜索 InitCharacterInfo 共找到2处
bool flag = this._currentCharacterAugmentsAmount < 3;(两处都,2改3)
----------------------------------------------------------------------------------------------------------
text = text.Replace("{1}", 3.ToString()); (两处都,2改3)
----------------------------------------------------------------------------------------------------------
this.MutationsAvailableValue.GetComponent<UIColorController>().SetWarningActive(3 <= this._currentCharacterAugmentsAmount, false);
(仅出现在第一处。2改3)
----------------------------------------------------------------------------------------------------------
搜索MAX_AUGMENTATIONS共找到2处
2改3,点击紫色英文,编辑字段,将值2改成3



五、抢劫+偷窃,也加好感度(来自ryu238大佬原创,我只搬运,该大佬贴吧ID是影牙将军)
中部搜索栏的地方输入MissionRewardDescription
通常第一个查询结果就是了,双击。
大约第26行,结尾处添加+25
rewardDiplomacyChange.Value += value + 25;
大约第43行,同样改法。
rewardDiplomacyChange.Value = value + 25;


六、三派不吵架(别人的)
防止后期后院起火,人类死太多
https://bbs.3dmgame.com/thread-5979048-1-2.html























aaa_333 发表于 2021-1-1 23:28

实用帖顶一下

dtkgb14 发表于 2021-10-29 14:17

谢谢楼主详细分享

夕阳流星 发表于 2021-11-3 18:54

感谢分享:(

下雷雨 发表于 2022-7-14 20:32

顶一波···~~~

061225 发表于 2022-7-30 00:56

学习了:victory::victory::victory::victory:

a188103143 发表于 2023-11-6 18:08

本帖最后由 a188103143 于 2023-11-19 14:05 编辑

猛攻呢?10格内队友恢复2点行动能力的突击最终技能呢?猛攻就是集结的另一个版本,唉~ 改了名字,又改了内容,一时半会,真找不到!{:3_91:}找到了之后真是感慨万分!早期版本跟现在版本差真是一言难尽啊~

icebluelh 发表于 2024-1-19 17:02

感谢分享
页: [1]
查看完整版本: 远古遗迹固定7技能修改,改造槽2变3,加点只消耗1点