游戏达人
- 贡献度
- 22
- 金元
- 21320
- 积分
- 2220
- 精华
- 0
- 注册时间
- 2008-7-21
|
本帖最后由 绯鸽 于 2020-11-21 11:31 编辑
在PhoenixPoint.Geoscape.Entities中的GeoVehicle中修改
1.改乘员空间 public int MaxCharacterSpace
{
get
{
// 在这里加入修改
return this.VehicleDef.BaseStats.SpaceForUnits;
}
}
如果要所有种类的飞机都是8个位置写这个,单独修改凤凰飞机请参照改属性的代码
if (this.VehicleDef.BaseStats.SpaceForUnits + 7 >= 8)
{
return 8;
}
2.改属性,向下找到
public override void ProcessInstanceData(ActorInstanceData data)
{
base.ProcessInstanceData(data);
this.gvData = (GeoVehicleInstanceData)data;
this.Surface.position = this.gvData.SurfacePos;
this.Surface.rotation = this.gvData.SurfaceRot;
this.Owner = base.GeoLevel.GetFaction(this.gvData.Owner, false);
this.Stats = this.VehicleDef.BaseStats.Clone();
// 在这里加入修改
this.RangeRemaining = new EarthUnits(this.gvData.RangeRemaining);
this.CurrentSite = this.gvData.CurrentSite;
this._destinationSites.Clear();
this._destinationSites.AddRange(this.gvData.DestinationSites);
this.Travelling = this.gvData.Travelling;
this._tacUnits.Clear();
this._tacUnits.AddRange(this.gvData.TacUnits);
this.Stats.MaintenancePoints = this.gvData.MaintenancePoints;
this._maintenancePointsToRepair = this.gvData.MaintenancePointsToRepair;
this._scheduledRepair = this.gvData.NextScheduledRepairTime;
this.VehicleID = this.gvData.VehicleID;
this.StartedExplorationAt = this.gvData.StartExplorationTime;
if (this.gvData.NextSiteExplorationUpdate != NextUpdate.Never)
{
this.ExploreCurrentSite(this.gvData.StartExplorationTime, this.gvData.NextSiteExplorationUpdate.NextTime);
}
}
这是单独修改凤凰飞机
if (this.VehicleDef.BaseStats.MaximumRange.Value == 2500f && this.VehicleDef.BaseStats.Speed.Value == 500f && this.VehicleDef.BaseStats.SpaceForUnits == 6)
{
this.Stats.MaximumRange = this.VehicleDef.BaseStats.MaximumRange * 2f; // 2倍飞行距离
this.Stats.Speed = this.VehicleDef.BaseStats.Speed * 6f; // 6倍飞行速度
this.Stats.MaxMaintenancePoints = (int)((float)this.VehicleDef.BaseStats.MaxMaintenancePoints * 3f); // 3倍耐久
}
2020.11.21编辑:这是未完成准备去月球科研的改法,完成之后使用改法3
3.完成准备去月球的研究,获得载具25%速度BUFF后,仍然是PhoenixPoint.Geoscape.Entities,在GeoVehicleStatModifier中修改
public void UpdateBaseVehicleStats(GeoVehicle vehicle)
{
vehicle.Stats.MaximumRange = vehicle.VehicleDef.BaseStats.MaximumRange * (1f + this.ModData.RangeMultiplier);
vehicle.Stats.SpaceForUnits = vehicle.VehicleDef.BaseStats.SpaceForUnits + this.ModData.SpaceForUnits;
vehicle.Stats.Speed = vehicle.VehicleDef.BaseStats.Speed * (1f + this.ModData.SpeedMultiplier);
vehicle.Stats.MaxMaintenancePoints = (int)((float)vehicle.VehicleDef.BaseStats.MaxMaintenancePoints * (1f + this.ModData.MaxMaintenancePointsMultiplier));
// 在这里加入修改
vehicle.Range.Range = vehicle.Stats.MaximumRange;
}
和2类似单独修改凤凰飞机
if (vehicle.VehicleDef.BaseStats.MaximumRange.Value == 2500f && vehicle.VehicleDef.BaseStats.Speed.Value == 500f && vehicle.VehicleDef.BaseStats.SpaceForUnits == 6)
{
vehicle.Stats.MaximumRange = vehicle.VehicleDef.BaseStats.MaximumRange * 2f;
vehicle.Stats.Speed = vehicle.VehicleDef.BaseStats.Speed * 6f;
vehicle.Stats.MaxMaintenancePoints = (int)((float)vehicle.VehicleDef.BaseStats.MaxMaintenancePoints * 3f);
}
注:不用开新档,完成一次任务就行,每次完成任务都会在这里重置所有飞机的数据,已存在的和新造的飞机只要存档读档修改就起作用
|
|