dapuji 发表于 2022-3-11 20:50

根据epic1.14.1版本修改,包含控制台石头技能资源经验突变改造基地飞机等多项修改

再挑一些修改附上粗略说明或者修改方法(修改方法大多为论坛中收集的)

1.开启控制台
定位到Base.Utils.GameConsole - GameConsoleWindows类,将public static bool DisableConsoleAccess = true 改成 false

2.去掉基地里的石头
定位到PhoenixPoint.Geoscape.Entities.PhoenixBases - GeoPhoenixBaseTemplate类,CreateBaseLayout()函数,在int num2 = this.BlockedTiles.RandomValue();下面添加一行num2 = 0;

3.身体改造上限3
搜索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

4.不管干啥都加好感
搜索MissionRewardDescription,找到AddDiplomacyChange和SetDiplomacyChange两个函数
大约第26行,结尾处添加+25
rewardDiplomacyChange.Value += value + 25;
大约第43行,同样改法。
rewardDiplomacyChange.Value = value + 25;

5.修改任务获得的经验和技能点
定位到PhoenixPoint.Tactical.Levels - TacticalFaction,找到GiveExperienceForObjectives()函数
this.Skillpoints = num;这一行是获得的通用技能点
tacticalActor.CharacterProgression.AddSkillPoints(difficulty.SoldierSkillPointsPerMission + 55);这一行是每个士兵的技能点,+55之后应该是60
tacticalActor2.LevelProgression.AddExperience(num7 + 200);这一行是每个人平均分配的经验,我+200

6.避难所防御必定成功
搜索GeoHavenDefenseMission
UpdateGeoscapeMissionState
找到this.Status = GeoscapeMissionStatus.AttackersWon;
改成 this.Status = GeoscapeMissionStatus.DefendersWon;

7.凤凰基地属性
搜索PhoenixBaseStats
找到 internal void Update(),里面的内容各位清楚是啥的话可以适当改一下,我加了些电力、存储、除雾效率、回血回耐什么的
另外,我还给每个基地,每个小时,+1的科技和材料产量,当你有10个基地的时候,这俩资源在左上角的日产量会是240


8.建筑建造时间为10%

搜索GeoPhoenixBase,找到ConstructFacility函数
geoPhoenixFacility.FacilityUnderConstruction(1f);
改为
geoPhoenixFacility.FacilityUnderConstruction(0.1f);

9.玩家飞机的成员数量,速度,飞行距离
首先,没研究去月球的时候

定位到PhoenixPoint.Geoscape.Entities - GeoVehicle类,找到
public override void ProcessInstanceData(ActorInstanceData data)函数
在函数最后增加
    if (this.Owner == base.GeoLevel.PhoenixFaction)
    {
      this.Stats.MaximumRange = this.Stats.MaximumRange * 2f;//2倍飞行距离
      this.Stats.SpaceForUnits = 8;
      this.Stats.Speed = this.Stats.Speed * 2.5f;//2.5倍飞行速度
    }
然后,研究去月球之后
定位到PhoenixPoint.Geoscape.Entities - GeoVehicleStatModifier类,
先在顶部增加一行using PhoenixPoint.Geoscape.Levels.Factions;

找到
public void UpdateBaseVehicleStats(GeoVehicle vehicle)函数
在vehicle.Range.Range = vehicle.Stats.MaximumRange;这一行的上面插入内容
if (vehicle.Owner is GeoPhoenixFaction)
{
    vehicle.Stats.MaximumRange = vehicle.Stats.MaximumRange * 2f;
    vehicle.Stats.SpaceForUnits = 8;
    vehicle.Stats.Speed = vehicle.Stats.Speed * 2.5f;
}

10.最后是队员的个人技能,我的修改针对职业分配7个指定技能,以初始职业区分

突击,捡东西换装备摇旗补刀的角色,转啥都行,比如转重装烧海鲜撒榴弹等等
GoodShot_AbilityDef突击步枪伤害,伤害+10,准度+20
ExpertShooter_AbilityDef射击准度+20
ExpertLightWeapons_AbilityDef轻武器专家,步枪手枪伤害+20%
Brainiac_AbilityDef远视者,意志+2感知+10
Pitcher_AbilityDef橄榄球手,手雷范围+25%速度+2
Gunslinger_AbilityDef神枪手,主动0/2,立即使用精通武器射击一次
DeadlyDuo_ShootAbilityDef致命连击,主动,进行2次连击准度翻倍,3AP

重装,前面可以转狙击破防减ap射击什么的,后面换免晕头转狂战开大猛射猛丢
ExpertShooter_AbilityDef射击准度+20
HeavyWeaponsTalent_AbilityDef重武器精通+10%准确
ExpertHeavyWeapons_AbilityDef重武器专家,重武器伤害+20%
Strongman_AbilityDef大力士重武器准度+20%,+2力量,感知-15
Crafty_AbilityDef搭载武器精通,范围+20%、伤害+10% (这个砍了10伤害)
Gunslinger_AbilityDef神枪手,主动0/2,立即使用精通武器射击一次
DeadlyDuo_ShootAbilityDef致命连击,主动,进行2次连击准度翻倍,3AP


狙击,前期转突击跑位转重装端大炮,后期还是转渗透好
ExpertShooter_AbilityDef射击准度+20
SniperTalent_AbilityDef狙击准度+10%
Thief_AbilityDef盗贼,隐蔽+25%,速度+1,被动(某次更新之后变成+1速)
Brainiac_AbilityDef远视者,意志+2感知+10
ExpertLightWeapons_AbilityDef轻武器专家,步枪手枪伤害+20%
Focused_AbilityDef狙击手,狙击步枪伤害+25%,意志-4
Gunslinger_AbilityDef神枪手,主动0/2,立即使用精通武器射击一次

狂战,我觉得转突击抡大棒就对了
Brawler_AbilityDef好斗者,近战和猛击+50%伤害
CloseQuartersSpecialist_AbilityDef霰弹枪准度+20%,近战武器精通伤害+20%
ExpertMelee_AbilityDef近战专家+25%伤害
ExpertShooter_AbilityDef射击准度+20
Brainiac_AbilityDef远视者,意志+2感知+10
Pitcher_AbilityDef橄榄球手,手雷范围+50%速度+2
Reckless_AbilityDef伤害+10%准度-10%(最初是各20%)

渗透,我一般转突击,专业眼,看得见比什么都重要,技能点满了也能拿狙击秒人
Thief_AbilityDef盗贼,隐蔽+25%,速度+1,被动
ExpertShooter_AbilityDef射击准度+20
SilencedWeaponTalent_AbilityDef消音武器准度+10%
ExpertLightWeapons_AbilityDef轻武器专家,步枪手枪伤害+20%
Brainiac_AbilityDef远视者,意志+2感知+10
Focused_AbilityDef狙击手,狙击步枪伤害+25%,意志-4
Gunslinger_AbilityDef神枪手,主动0/2,立即使用精通武器射击一次

牧师,在我队伍里一般就是上来吼一声加速度的,以及抓各种怪的时候上病毒的,另外就是用AOE清虫子什么的

Brainiac_AbilityDef远视者,意志+2感知+10
Helpful_AbilityDef医疗兵,治疗加成30%,意志+2 (这个砍了20的治疗)
ExpertShooter_AbilityDef射击准度+20
BioChemist_AbilityDef被动技能,子弹带病毒+1
Devoted_AbilityDef忠诚,意志+2
Pitcher_AbilityDef橄榄球手,手雷范围+25%速度+2 (砍了一半手雷范围)
Gunslinger_AbilityDef神枪手,主动0/2,立即使用精通武器射击一次

技师,我一般转突击,加血丢炮台扛大个的
SelfDefenseSpecialist_AbilityDef自卫专家,防卫武器伤害+10,聆听范围+10 (这个也砍了一半)
PDWTalent_AbilityDef单兵自卫武器精通,准度+10%
Helpful_AbilityDef医疗兵,治疗加成30%,意志+2
ExpertShooter_AbilityDef射击准度+20
ExpertHealer_AbilityDef;医疗专家,治疗+50%
Brainiac_AbilityDef远视者,意志+2感知+10
HeavyLifter_AbilityDef负重x2















MIMO者 发表于 2022-3-12 15:53

改哪个7个技能,做获取载具的任务会卡死

唯迷影 发表于 2022-3-12 17:59

感谢分享

leonardshen 发表于 2022-3-12 22:14

7技能那个改到Steam版里面会导致无法进游戏,其他都好用。请问大神有没有Epic的下载 或者指点下Steam 版怎么改:lol

bish208 发表于 2022-3-20 12:13

感谢感谢

夕阳流星 发表于 2022-3-20 18:58

貌似7技能会有BUG,大佬,有只修改其他项不修改技能的文件吗

白龙侠 发表于 2022-3-22 15:48

本帖最后由 白龙侠 于 2022-3-27 10:30 编辑

了解一下

iamherosp 发表于 2022-4-9 02:46

leonardshen 发表于 2022-3-12 22:14
7技能那个改到Steam版里面会导致无法进游戏,其他都好用。请问大神有没有Epic的下载 或者指点下Steam 版怎 ...

之前改的另一种方法增加技能 现在也能用

升到第4级时 点击新增职业 自动学会大量技能(第三条技能无所谓 升不升)




using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Base.Core;
using Base.Defs;
using Base.Serialization.General;
using PhoenixPoint.Common.Entities.GameTags;
using PhoenixPoint.Tactical.Entities.Abilities;

namespace PhoenixPoint.Common.Entities.Characters
{
    // Token: 0x0200114D RID: 4429
   
    public partial class CharacterProgression
    {
      // Token: 0x06006FE0 RID: 28640 RVA: 0x001D480C File Offset: 0x001D2A0C
      public void AddSecondaryClass(SpecializationDef specDef)
      {
            if (this.SecondarySpecDef)
            {
                throw new Exception("Secondary class already learned!");
            }
            if (this.MainSpecDef == specDef)
            {
                throw new Exception("Main class and secondary class cannot be same!");
            }
            this._secondarySpecializationDef = specDef;
            AbilityTrack track = new AbilityTrack(specDef.AbilityTrack, AbilityTrackSource.SecondaryClass);
            this.AddNewAbilityTrack(track, true);
            if (this.OnNewSpecializationAdded == null)
            {
                return;
            }
            DefRepository defRepository = GameUtl.GameComponent<DefRepository>();
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SilentEcho_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SneakAttack_AbilityDef", StringComparison.OrdinalIgnoreCase)));      
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ReadyForAction_AbilityDef", StringComparison.OrdinalIgnoreCase)));   
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ReturnFire_AbilityDef", StringComparison.OrdinalIgnoreCase)));                              
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Assault_ClassProficiency_AbilityDef", StringComparison.OrdinalIgnoreCase)));   
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Sniper_ClassProficiency_AbilityDef", StringComparison.OrdinalIgnoreCase)));   
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Heavy_ClassProficiency_AbilityDef", StringComparison.OrdinalIgnoreCase)));               
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Gunslinger_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("DeadlyDuo_ShootAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Focused_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("StealthSpecialist_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("AdrenalineRush_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("CloseQuartersSpecialist_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("GoodShot_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Brainiac_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Pitcher_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Crafty_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Helpful_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SelfDefenseSpecialist_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("HeavyLifter_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SenseLocate_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Thief_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("BioChemist_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("AssaultRiflesTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("GrenadesTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("HandgunsTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("HeavyWeaponsTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("MeleeWeaponTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("MountedWeaponTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("PDWTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ShotgunTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SilencedWeaponTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SniperTalent_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("IgnorePain_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertHealer_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertHeavyWeapons_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertLightWeapons_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertMelee_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertMountedWeapons_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertPacker_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("ExpertShooter_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("EnhancedVision_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("EagleEye_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("EagleEyed_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("DoublePerception_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("Regeneration_Torso_Passive_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("FastUse_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("AcidImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("FireImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("GooImmunity_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("PoisonImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("PsychicImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("SonicImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("StunStatusImmunity_AbilityDef", StringComparison.OrdinalIgnoreCase)));
            this.AddAbility(defRepository.GetAllDefs<TacticalAbilityDef>().FirstOrDefault((TacticalAbilityDef itDef) => itDef.name.StartsWith("VirusImmunity_DamageMultiplierAbilityDef", StringComparison.OrdinalIgnoreCase)));
      }
    }
}


a188103143 发表于 2022-11-1 10:56

很早就想去石头了,!
页: [1]
查看完整版本: 根据epic1.14.1版本修改,包含控制台石头技能资源经验突变改造基地飞机等多项修改