根据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
改哪个7个技能,做获取载具的任务会卡死 感谢分享 7技能那个改到Steam版里面会导致无法进游戏,其他都好用。请问大神有没有Epic的下载 或者指点下Steam 版怎么改:lol 感谢感谢 貌似7技能会有BUG,大佬,有只修改其他项不修改技能的文件吗 本帖最后由 白龙侠 于 2022-3-27 10:30 编辑
了解一下 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)));
}
}
}
很早就想去石头了,!
页:
[1]