Skip to content

Commit

Permalink
Mars 1.50 (#215)
Browse files Browse the repository at this point in the history
Fix: Always display trade lines in relationship  cross reference if the trade treaties checkbox is checked.
Fix: No ship status icon drawn.
Fix: ships with very low ordnance could take players command to return to attack
Fix: Planets chance of repairing building and heal troops was increasing too fast while in combat.
Balance: Intensity of Espionage Rebellions
Fix: AI fleets disengage if remnant helpers target the system they are attacking.
Fix: Fixed Upkeep cost for remnant ships for RemnantHelpers story
  • Loading branch information
gkapulis authored Feb 8, 2025
1 parent 8980e53 commit 247925b
Show file tree
Hide file tree
Showing 38 changed files with 74 additions and 53 deletions.
2 changes: 1 addition & 1 deletion Ship_Game/AI/ShipAI/ShipAI.Goods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ public override void Execute(FixedSimTime timeStep, ShipAI.ShipGoal g)
: FreighterPriority.ExcessCargoLeft;

Owner.Loyalty.IncreaseFastVsBigFreighterRatio(freighterPriority);
importPlanet.Mend(-5); // Helping with planet repair/heal troops/buildings
importPlanet.Mend(2); // Helping with planet repair/heal troops/buildings

Planet toOrbit = importPlanet;
if (toOrbit.TradeBlocked || Owner.Loyalty != toOrbit.Owner)
Expand Down
2 changes: 1 addition & 1 deletion Ship_Game/AI/ShipAI/ShipAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ public void ProcessResupply(ResupplyReason resupplyReason)
Planet nearestRallyPoint = null;
switch (resupplyReason)
{
case ResupplyReason.LowOrdnanceCombat:
case ResupplyReason.LowOrdnanceCombatOrDepleted:
case ResupplyReason.LowOrdnanceNonCombat:
Ship supplyShip = NearBySupplyShip;
if (supplyShip != null && State != AIState.ResupplyEscort)
Expand Down
7 changes: 4 additions & 3 deletions Ship_Game/Espionage/InfiltrationOpsRebellion.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.Xna.Framework;
using SDGraphics;
using SDUtils;
using Ship_Game.Data.Serialization;
using Ship_Game.Ships;
Expand Down Expand Up @@ -33,17 +34,17 @@ public override void CompleteOperation()
Espionage espionage = Owner.GetEspionage(Them);
var potentials = Them.GetPlanets().Sorted(p => p.PopulationBillion).TakeItems(5);
Planet targetPlanet = Them.Random.Item(potentials);
int numRebels = 5 + targetPlanet.GetDefendingTroopCount() + targetPlanet.NumMilitaryBuildings;
int numRebels = (targetPlanet.GetDefendingTroopCount() + targetPlanet.NumMilitaryBuildings - 2).LowerBound(2);
float takeoverOrbitalChance = 50;

switch (result)
{
case InfiltrationOpsResult.Phenomenal:
numRebels += 7;
numRebels += 5;
takeoverOrbitalChance = 100;
break;
case InfiltrationOpsResult.GreatSuccess:
numRebels += 3;
numRebels += 2;
takeoverOrbitalChance = 75;
break;
case InfiltrationOpsResult.Success:
Expand Down
4 changes: 2 additions & 2 deletions Ship_Game/Fleets/Fleet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -969,7 +969,7 @@ void DoAssaultPlanet(MilitaryTask task)
bool combatEffective = StillCombatEffective(task);
bool remnantsTargeting = !Owner.WeAreRemnants
&& CommandShip?.System == task.TargetPlanet.System
&& Owner.Universe.Remnants.AnyActiveFleetsTargetingSystem(task.TargetPlanet.System);
&& Owner.Universe.Remnants.Remnants.HostileTargetingSystem(task.TargetPlanet.System);

EndInvalidTask(remnantsTargeting
|| !MajorityTroopShipsAreInWell(task.TargetPlanet) && (!invasionEffective || !combatEffective));
Expand Down Expand Up @@ -1610,7 +1610,7 @@ void DoGlassPlanet(MilitaryTask task)

bool remnantsTargeting = !Owner.WeAreRemnants
&& CommandShip?.System == task.TargetPlanet.System
&& Owner.Universe.Remnants.AnyActiveFleetsTargetingSystem(task.TargetPlanet.System);
&& Owner.Universe.Remnants.Remnants.HostileTargetingSystem(task.TargetPlanet.System);

if (EndInvalidTask(task.TargetPlanet.Owner == null || remnantsTargeting || !StillCombatEffective(task)))
return;
Expand Down
40 changes: 14 additions & 26 deletions Ship_Game/GameScreens/DiplomacyScreen/RelationshipsDiagramScreen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -135,19 +135,10 @@ void HandleSelectedEmpire(InputState input)
void DrawRelations(SpriteBatch batch)
{
Peer[] knownPeers = Peers.Filter(p => p.IntelLevel > 0);
if (!ViewOnlyWarsOrAllies)
{
foreach (Peer us in knownPeers)
foreach (Peer peer in Peers)
if (ShowPeer(us.Empire, peer.Empire))
DrawPeerLinesNoWarOrAlliance(batch, us, peer);
}

// Drawing War/Alliance on top of all other lines
foreach (Peer us in knownPeers)
foreach (Peer peer in Peers)
if (ShowPeer(us.Empire, peer.Empire))
DrawPeerLinesWarOrAlliance(batch, us, peer);
if (ShowPeer(us.Empire, peer.Empire))
DrawTreatyPeerLines(batch, us, peer);

foreach (Peer empire in Peers)
{
Expand All @@ -163,10 +154,10 @@ bool ShowPeer(Empire us, Empire peer)
&& (SelectedEmpire == null || SelectedEmpire == us || SelectedEmpire == peer);
}

void DrawPeerLinesNoWarOrAlliance(SpriteBatch batch, Peer us, Peer peer)
void DrawTreatyPeerLines(SpriteBatch batch, Peer us, Peer peer)
{
Relationship rel = us.Empire.GetRelationsOrNull(peer.Empire);
if (rel == null || rel.AtWar || rel.Treaty_Alliance)
if (rel == null)
return;

if (rel.Treaty_Peace)
Expand All @@ -175,25 +166,22 @@ void DrawPeerLinesNoWarOrAlliance(SpriteBatch batch, Peer us, Peer peer)
return;
}

if (rel.Treaty_OpenBorders)
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorBorders);
else if (rel.Treaty_NAPact)
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorNap);

if (ViewTradeTreaties && rel.Treaty_Trade)
DrawPeerLine(batch, us.TradePos, peer.TradePos, ColorTrade);
}

void DrawPeerLinesWarOrAlliance(SpriteBatch batch, Peer source, Peer peer)
{
Relationship rel = source.Empire.GetRelationsOrNull(peer.Empire);
if (rel == null)
return;
if (!ViewOnlyWarsOrAllies)
{
if (rel.Treaty_OpenBorders)
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorBorders);
else if (rel.Treaty_NAPact)
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorNap);
}

if (rel.AtWar)
DrawPeerLine(batch, source.LinkPos, peer.LinkPos, ColorWar, thickness: 3);
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorWar, thickness: 3);
else if (rel.Treaty_Alliance)
DrawPeerLine(batch, source.LinkPos, peer.LinkPos, ColorAlly, thickness: 3);
DrawPeerLine(batch, us.LinkPos, peer.LinkPos, ColorAlly, thickness: 3);

}

void DrawPeerLine(SpriteBatch batch, Vector2 pos1, Vector2 pos2, Color color, int thickness = 1)
Expand Down
8 changes: 8 additions & 0 deletions Ship_Game/Remnants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,14 @@ public float RequiredAttackFleetStr(Empire targetEmpire)
max: str * effectiveLevel / MaxLevel);
}

public bool HostileTargetingSystem(SolarSystem solarSystem)
{
if (Story == RemnantStory.AncientHelpers)
return false;

return Owner.AnyActiveFleetsTargetingSystem(solarSystem);
}

public void CallGuardians(Ship portal) // One guarding from each relevant system
{
foreach (SolarSystem system in portal.Universe.Systems)
Expand Down
2 changes: 1 addition & 1 deletion Ship_Game/Ships/Ship.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public partial class Ship : PhysicsObject, IDisposable
public bool EnginesKnockedOut;
public float InhibitionRadius;
public bool IsPlatform;
public bool IsGuardian; // Remnant Guardian created at game start
public bool IsGuardian; // All Remnant ships are guardians
SceneObject ShipSO;
public bool ManualHangarOverride;
[StarData] public Ship Mothership;
Expand Down
8 changes: 4 additions & 4 deletions Ship_Game/Ships/ShipInfoUIElement.cs
Original file line number Diff line number Diff line change
Expand Up @@ -385,10 +385,10 @@ void DrawResupplyReason(SpriteBatch batch, Ship ship)
}
break;
case ResupplyReason.LowOrdnanceNonCombat:
case ResupplyReason.LowOrdnanceCombat: text = "Ammo Reserves Critical"; break;
case ResupplyReason.NoCommand: text = "No Command, Cannot Attack"; break;
case ResupplyReason.FighterReactorsDamaged: text = "Reactors Damaged"; break;
case ResupplyReason.LowHealth: text = "Structural Integrity Compromised"; break;
case ResupplyReason.LowOrdnanceCombatOrDepleted: text = "Ammo Reserves Critical"; break;
case ResupplyReason.NoCommand: text = "No Command, Cannot Attack"; break;
case ResupplyReason.FighterReactorsDamaged: text = "Reactors Damaged"; break;
case ResupplyReason.LowHealth: text = "Structural Integrity Compromised"; break;
case ResupplyReason.LowTroops:
text = "Need Troops";
int numTroopRebasing = ship.NumTroopsRebasingHere;
Expand Down
8 changes: 4 additions & 4 deletions Ship_Game/Ships/ShipResupply.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public ResupplyReason Resupply()
|| Ship.IsSingleTroopShip
|| Ship.IsSupplyShuttle
|| Ship.Carrier.HasSupplyShuttlesInSpace
|| (Ship.AI.HasPriorityOrder || Ship.AI.HasPriorityTarget) && Ship.AI.State != AIState.Bombard && !Ship.Resupplying)
|| Ship.AI.HasPriorityOrder && Ship.AI.State != AIState.Bombard && !Ship.Resupplying)
{
return ResupplyReason.NotNeeded;
}
Expand All @@ -100,8 +100,8 @@ public ResupplyReason Resupply()

if (ResupplyNeededLowOrdnance())
{
if (InCombat)
return ResupplyReason.LowOrdnanceCombat;
if (InCombat || Ship.OrdnancePercent < OrdnanceThresholdCombat)
return ResupplyReason.LowOrdnanceCombatOrDepleted;

return Ship.IsPlatformOrStation ? ResupplyReason.RequestResupplyForOrbital
: ResupplyReason.LowOrdnanceNonCombat;
Expand Down Expand Up @@ -317,7 +317,7 @@ public enum ResupplyReason
{
NotNeeded,
LowHealth,
LowOrdnanceCombat,
LowOrdnanceCombatOrDepleted,
LowOrdnanceNonCombat,
LowTroops,
FighterReactorsDamaged,
Expand Down
4 changes: 3 additions & 1 deletion Ship_Game/Ships/Ship_Rendering.cs
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,9 @@ public void DrawTacticalIcon(UniverseScreen us, UniverseScreen.UnivScreenState v
}
else if (viewState <= UniverseScreen.UnivScreenState.ShipView)
{
DrawTactical(us, pos, radius, 16f, 8f);
if (!HasSO)
DrawTactical(us, pos, radius, radius, radius*1.8f);

DrawStatusIcons(us, radius, pos);
}
}
Expand Down
5 changes: 3 additions & 2 deletions Ship_Game/Universe/SolarBodies/Planet/Planet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public override string ToString() =>

[StarData] public Mineable Mining;
[StarData] public float SensorRange { get; private set; }
public bool SpaceCombatNearPlanet { get; private set; } // FB - warning - this will be false if there is owner for the planet
public bool SpaceCombatNearPlanet { get; private set; } // FB - warning - this will be false if there is no owner for the planet
public float ColonyValue { get; private set; }
public float ExcessGoodsIncome { get; private set; } // FB - excess goods tax for empire to collect
public float SpaceDefMaintenance { get; private set; }
Expand Down Expand Up @@ -597,7 +597,7 @@ void UpdateHabitable(FixedSimTime timeStep)
PlanetUpdatePerTurnTimer = Universe.P.TurnTimer;
UpdateBaseFertility();
UpdateDynamicBuildings();
Mend(((int)InfraStructure + Level).Clamped(1, 10));
Mend(SpaceCombatNearPlanet || RecentCombat ? 1 : (int)(InfraStructure + Level).Clamped(1, 10));
}

Troops.Update(timeStep);
Expand Down Expand Up @@ -883,6 +883,7 @@ void UpdatePlanetShields()
if (ShieldStrengthCurrent == 0 && Shield != null)
Shield = null;
}

public bool CanRepairOrHeal()
{
return BombingIntensity == 0 || Random.RollDice(100 - BombingIntensity);
Expand Down
2 changes: 1 addition & 1 deletion Ship_Game/Universe/SolarBodies/SolarSystemBody.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public void DamageColonySurface(Bomb bomb)
DamageBuildings(hardDamage, bomb.ShipLevel);
TryCreateVolcano(hardDamage);
Surface.ApplyBombEnvEffects(popKilled, envDamage, bomb.Owner); // Fertility and pop loss
Surface.AddBombingIntensity(hardDamage);
Surface.AddBombingIntensity(hardDamage*2);
}

void TryCreateVolcano(int hardDamage)
Expand Down
3 changes: 1 addition & 2 deletions Ship_Game/Universe/UniverseScreen/UniverseScreen.Draw.cs
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ void DrawShipsAndProjectiles(SpriteBatch batch)
Ship ship = ships[i];
if (ship.InFrustum && ship.InPlayerSensorRange)
{
if ((viewState > UnivScreenState.ShipView || ShowingFTLOverlay || !ship.HasSO) && !IsCinematicModeEnabled)
if (!IsCinematicModeEnabled)
DrawTacticalIcon(ship);

DrawOverlay(ship);
Expand Down Expand Up @@ -820,7 +820,6 @@ void DrawOverlay(Ship ship)
void DrawTacticalIcon(Ship ship)
{
if (!LookingAtPlanet && (!ship.IsSubspaceProjector || ShowingFTLOverlay))

{
ship.DrawTacticalIcon(this, viewState);
}
Expand Down
2 changes: 1 addition & 1 deletion UnitTests/Ships/CarrierTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ public void CarrierOrdnanceInSpace()

// NOTE: This requires Carrier to have low ordnance production capability
ResupplyReason resupplyReason = Carrier.Supply.Resupply();
AssertEqual(resupplyReason, ResupplyReason.LowOrdnanceNonCombat, "Carrier should want to resupply non combat");
AssertEqual(resupplyReason, ResupplyReason.LowOrdnanceCombatOrDepleted, "Carrier should want to resupply depleted");

Carrier.ChangeOrdnance(Carrier.OrdinanceMax); // add all ordnance
AssertEqual(Carrier.Ordinance, Carrier.OrdinanceMax, "Carrier ordnance storage should be full");
Expand Down
4 changes: 2 additions & 2 deletions UnitTests/Ships/TestResupplyLogic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public void ResupplyConditionOrdnanceNonCombat()

OurShip.ChangeOrdnance(-OurShip.OrdinanceMax);
resupplyReason = OurShip.Supply.Resupply();
Assert.IsTrue(resupplyReason == ResupplyReason.LowOrdnanceNonCombat, "Ship should need resupply for low ordnance not in combat");
Assert.IsTrue(resupplyReason == ResupplyReason.LowOrdnanceCombatOrDepleted, "Ship should need resupply for low ordnance depleted");
OurShip.AI.ProcessResupply(resupplyReason);
Assert.IsTrue(OurShip.AI.IgnoreCombat, "Ship should ignore combat after processing resupply");
Assert.IsTrue(OurShip.AI.HasPriorityOrder, "Ship should have a priority order when resupplying");
Expand Down Expand Up @@ -88,7 +88,7 @@ public void ResupplyConditionOrdnanceInCombat()

OurShip.ChangeOrdnance(-2); // Now go below he combat threshold
resupplyReason = OurShip.Supply.Resupply();
Assert.IsTrue(resupplyReason == ResupplyReason.LowOrdnanceCombat, "Ship should need resupply if ordnance below combat threshold");
Assert.IsTrue(resupplyReason == ResupplyReason.LowOrdnanceCombatOrDepleted, "Ship should need resupply if ordnance below combat threshold");
}

[TestMethod]
Expand Down
4 changes: 2 additions & 2 deletions game/Content/GameText.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12303,8 +12303,8 @@ EmpireRelationships:
UKR: "Перехресні посилання на імперські відносини"
ViewWarsOrAlliancesName:
Id: 4350
ENG: "View Wars or Alliances"
UKR: "Переглянути війни або альянси"
ENG: "View Only Wars or Alliances"
UKR: "Перегляньте лише війни чи союзи"
ViewWarsOrAlliancesTip:
Id: 4351
ENG: "Filters out non War or Alliances links"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=1
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_3x3;AncientArmor_2x2;Sensor1x2;AncientArmor_1x1;LaserCannon;EnergyPDRapid;MarineBarracks6x3;EnergyPDHeavy;TroopAssaultBay;AdvAmplifier;EMPTurret3x3;AncientShield_3x3;Amplifier;Bridge;SiphonBeam2x3;Main Engineering;ThalaronBeam2x3;AncientReactorMed;AncientShield2kw;RemnantSmallReactor;Reinforced Bulkhead;TractorBeamTurret2x2;Internal Bulkhead;RemnantEngine1;RemnantEngine3
Modules=131
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Ancient Battleship.design
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=3
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_3x3;AncientArmor_2x2;EnergyPDRapid;Amplifier;Pulse Capacitor;AncientArmor_1x1;HVTurret_3x3;AncientShield_3x3;RemnantSmallFuelCell;IonCannon1x3;QTCannon;DisintegratorArray;Bridge;MarineBarracks2x2;RemnantPort;Main Engineering;Sensor1x2;RemnantNuker;AncientReactorMed;RemnantEngine1;WarpEngine_3x3;RemnantEngine3
Modules=102
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Ancient Bomber.design
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=1
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=Crystal Armor Large;Crystal Armor Med;PhasorTurret2x2;RemnantSmallFuelCell;MarineBarracks2x2;NuclearBombBay2x2;AncientShield_3x3;PolaronTurret4x4;Bridge;AncientReactorMed;LaserCannon;Main Engineering;Fabricator;IonCannon1x3;Crystal Armor Small;RemnantSmallReactor;EnergyPDHeavy;RemnantEngine1;RemnantEngine3
Modules=125
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Ancient Carrier.design
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=3
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_3x3;AncientArmor_2x2;AncientShield2kw;AncientArmor_1x1;Amplifier;Raider Bay;RemnantNuker;FighterBay;Bridge;RemnantHV2x3;Main Engineering;AncientShield_3x3;OrdnanceLockerSmall;RemnantSmallFuelCell;Fabricator;AncientReactorMed;EnergyPDHeavy;EnergyPDRapid;RemnantEngine1;WarpEngine_1x1;DarkMatterCannon_1x2;RemnantEngine3
Modules=116
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Ancient Cruiser.design
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=1
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=CompositeAlloys Large;CompositeAlloys Med;AdvancedCellSmall;Pulse Capacitor;BosonTransmiter;PhasorTurret2x2;AdvancedCellMed;MarineBarracks2x2;CompositeAlloys Small;PolaronTurret4x4;RemnantSmallReactor;AncientShield_3x3;DisintegratorArray;AncientReactorMed;Bridge;EnergyPDHeavy;EnergyPDRapid;RemnantEngine1;RemnantEngine3
Modules=135
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Ancient Frigate.design
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=0.05
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=PlaSteelArmorMed;PlaSteelArmorSmall;FusionTurret2x2;RemnantSmallFuelCell;RemnantDrisruptor_2x2;AncientShield2kw;EnergyPDHeavy;EnergyPDRapid;IonCannon1x3;AncientReactorMed;Reinforced Bulkhead;MarineBarracks2x2;RemnantSmallReactor;Bridge;RemnantEngine1;RemnantEngine2
Modules=78
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=1
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_3x3;AncientArmor_2x2;EnergyPDHeavy;Amplifier;EnergyPDRapid;Pulse Capacitor;AncientArmor_1x1;QTCannon;RemnantHV2x3;RemnantSmallFuelCell;AncientShield_3x3;Fabricator;IonCannon1x3;Bridge;MarineBarracks2x2;DarkMatterCannon_1x2;Main Engineering;Sensor1x2;RemnantNuker;AncientReactorMed;RemnantEngine1;WarpEngine_3x3;RemnantEngine3
Modules=93
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Battle Drone.design
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=0.03
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_1x1;RemnantDrisruptor_2x2;Amplifier;Cockpit;AncientShield2kw;AncientReactorMed;RemnantEngine1;RemnantEngine2
Modules=23
Expand Down
1 change: 1 addition & 0 deletions game/Content/ShipDesigns/Remnant/Beam Drone.design
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ HangarDesignation=General
IsShipyard=false
IsOrbitalDefense=false
IsCarrierOnly=false
FixedUpkeep=0.03
# Maps module UIDs to Index, first UID has index 0
ModuleUIDs=AncientArmor_1x1;Amplifier;Cockpit;FusionTurret2x2;IonCannon1x2;AncientShield2kw;LaserCannon;AncientReactorMed;RemnantEngine1;RemnantEngine2
Modules=27
Expand Down
Loading

0 comments on commit 247925b

Please sign in to comment.