Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Paul

Pages: [1]
1
The pirate modifications to the Falcon are apparently considered a D mod, as it gets removed along with the D mods. Which is frustrating if you want a Falcon P, just without the compromised hull and armor.

2
So I have been playing with the different ships, and among frigates and destroyers the Hammerhead with safety overrides just dominates everything. It's not the best in AI hands because the AI isn't aggressive enough with it, but in a player's hands it is monstrously powerful.

I started using the ship like this in the tutorial of my first game. I put 4 light machine guns, 2 assault chainguns, 2 reaper torpedos (they were all available during the tutorial for me). 20 points into vents, flux distributor, safety override, and the last point in capacitors. It was a D class with a faulty power grid, which hurt the build a lot, but it still did well. Using this ship I was able to wipe out the pirates with ease, but it was a bit of a glass cannon with the low flux capacity.

Then I bought a pristine hammerhead. Without the faulty power grid I was able to go 20 vents 9 capacitors and have more venting and way more flux capacity. With higher vent rate and almost double the flux capacity, suddenly the ship was no longer fragile. No pirate fleet stood a chance. So I decided to find a bigger challenge.

I jumped a Hegemony detachment with an onslaught, 3 enforcers, and 5 frigates (lashers and vigilances I believe they were), fully expecting to get blown to bits but excited to see how well I would do. I had my starter frigates flying after the nav relay and sensor jammer, but did all the real fighting myself. I avoided the big guy at first and just flew around wrecking the supporting frigates and destroyers while they captured points. I managed to take out all of them, although one of the enforcers hid behind the onslaught a bit and was difficult to finish off (but I still outmaneuvered and destroyed it). Then I just got in behind the onslaught. Fired both torpedoes into the engines then hammered away at it with everything I had until it died. The rear guns on it almost got me and I had to juggle shields up and down and strafe around a bit to avoid some of them, and pretty much all my armor and most of my hull was gone by the time it was done, but I beat a hegemony detachment with the starting ships plus one destroyer with only one lost frigate (I lost the wayfarer to a lasher/enforcer/vigilance attack, but the drone ship got away).

I have since tried every other destroyer in the game, and nothing quite compares to the build I stumbled upon in my first few minutes of playing. It can kill every other destroyer with ease and most cruisers, and even apparently onslaughts (although it was a very difficult fight). And it only uses up 8 supplies.

Anyone else stumble upon this playstyle and have success with it? What other crazy ship builds have you tried and found powerful?

3
Suggestions / Remove fuel from the old salvage.
« on: April 23, 2017, 09:48:46 PM »
My first game I got 3 missions to scan ships way off in the corner of the map (70, 70k, and 90k) and immediately set off to find them, despite only having the fuel for a one way trip. It worked out incredibly - I picked up some extra salvaged ships along the way and came back over 230k credits richer with a full hold of AI cores and supplies and guns and everything. And I only visited the 3 systems for the missions, I didn't go looking for more.

The thing is, the first system I came to I was almost out of fuel. In there I found more than enough to reach the 2nd, and the 2nd nearly topped me off, and the 3rd I had more than I could carry. And they weren't particularly close together. Right now, you can fly out to the edge of space with just enough fuel and supplies to get there and can count on finding more than enough to not only keep exploring, but get you home with full tanks and cargo holds.

What if we removed fuel from old dormant ships and such? You could still get some fuel by fighting the active ships (pirates, roaming neutrals, or the spoiler faction out there) but wouldn't be able to count on finding plenty of fuel at every ancient survey probe. The lore could be explained as the fuel on these old ships isn't good anymore or just isn't compatible with newer ships. You could reduce the drop on supplies a bit too and replace it with stuff like rare metals and goods and such.

This would mean you would have to bring a tanker and carry enough fuel to get there and back again for every mission, and carry some extra supplies out too. Returning would be with a full hold of valuable goods instead of a huge load of fuel and supplies, and each trip would have a point at which you have to return for more fuel/supplies instead of just going till you have full cargo holds.

4
The game crashes if you try to start up the game without sound output (speakers, headphone, etc). I have a feeling it's an issue with the newer java library, as many games are suddenly having this issue with recent updates (Stellaris, for example). My gaming computer doesn't have speakers, and I noticed this when I forgot to plug in my headset before I launched the game.

I wanted to put it out there in case people are having this crash and don't know why. Not a huge deal, since the fix is to just plug in speakers or headphones. If it's something you can easily code around it would be good for people who may not even have speakers or headphones.

Code
org.lwjgl.LWJGLException: Could not locate OpenAL library.
at org.lwjgl.openal.AL.create(AL.java:151)
at org.lwjgl.openal.AL.create(AL.java:102)
at org.lwjgl.openal.AL.create(AL.java:201)
at sound.OoOO$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sound.OoOO.o00000(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
5144 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalDistanceModel(I)V
java.lang.UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalDistanceModel(I)V
at org.lwjgl.openal.AL10.nalDistanceModel(Native Method)
at org.lwjgl.openal.AL10.alDistanceModel(AL10.java:1303)
at sound.OoOO.o00000(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

5
A side effect of some of the systems being listed in the weapon_data file seems to be that they show up in a getAllWeaponIds() list. Which means that anything using that list to add weapons (like the Hegemony convoy, or my Gun Runners mod) is going to be adding them for sale (even though you can't actually put them on a ship).

I'm slapping a check in my upcoming GR mod update to make sure they aren't added to my stations, but I wanted to report it since it also affects the stock Hegemony and TT station convoys when they get into adding from the random weapon list.

6
Bug Reports & Support / 0.51a Harpoon pod description broken
« on: March 07, 2012, 01:46:46 PM »
The harpoon pod description is set to harpoondpod instead of harpoonpod, making it not load the description properly. Erasing the extra d fixes it.

7
Modding Resources / Tutorial: Adding your own faction to the campaign.
« on: February 27, 2012, 10:56:55 AM »
I'm generally pretty terrible at writing tutorials, so hopefully this doesn't cause more harm than good ;).

This is meant to be a step by step guide to adding your own faction to the campaign. I'll assume you already know how to create a mod directory and create the necessary folder structure.

First a quick note: Capitalization matters! Make sure you use the same capitalization in everything. Ship variants, variables, types, spawn points - if you don't capitalize it the same across the board it won't work.

Step 1: Creating the faction file.

In YourMod\data\world\factions you will need a faction file. I suggest copying an existing core file over to your mod directory and editing it. For this tutorial, I'll use the core Tri-Tachyon faction. Comments from me in blue.
Quote
{
   id:"tritachyon", This is the ID of the faction that you'll refer to it by in scripts.
   "color":[135,206,255,255], The color for the faction, using an RGBA color code
   "displayName":"Tri-Tachyon", The name as it appears ingame
   "description":"No description yet.",
   "names":{ The character names the faction will use.
      "modern":1,
   },
   "portraits":{ The portraits that the faction will use.
      "standard_male":[
         "graphics/portraits/portrait_corporate01.png",
         "graphics/portraits/portrait_corporate03.png",
         "graphics/portraits/portrait13.png",
      ],
      "standard_female":[
         "graphics/portraits/portrait_corporate02.png",
         "graphics/portraits/portrait_mercenary02.png",
         "graphics/portraits/portrait16.png",
      ],
   },
   "fleetCompositions":{ Here's the meat of the faction file for now.
      "scout":{ The ID of your fleet.
         "displayName":"Scout", The name displayed – will read Factionname Scout.
         "maxFleetPoints":11, The max fleet points used for randomly generated fleets.
         "daysWorthOfSupplies":[30, 50], The stuff the fleet spawns with –  supplies, fuel, extra crew, marines.
         "lyWorthOfFuel":[40, 60],
         "extraCrewPercent":[20, 30],
         "marinesPercent":[5, 10],
         "ships":{ The make up of the fleet. You have “variant ID”:[min, max],.
            "tempest_Attack":[1, 1],  Here we have minimum 1 tempest attack, and below 1 wasp wing. These fleets will not be random.
            "wasp_wing":[1, 1],
         },
      },
      "raiders":{
         "displayName":"Raiders",
         "maxFleetPoints":25,
         "daysWorthOfSupplies":[30, 50],
         "lyWorthOfFuel":[40, 60],
         "extraCrewPercent":[20, 30],
         "marinesPercent":[5, 10],
         "ships":{ This fleet IS random, thanks to min and max values. The game will generate the ships listed randomly within the min and max, but keep it all within the max fleet points given above.
            "tempest_Attack":[0, 3],
            "wolf_CS":[0, 2],
            "wolf_Assault":[0, 2],
            "wasp_wing":[0, 2],
         },
      },
      "attackFleet":{
         "displayName":"Attack Fleet",
         "maxFleetPoints":50,
         "daysWorthOfSupplies":[30, 50],
         "lyWorthOfFuel":[40, 60],
         "extraCrewPercent":[50, 70],
         "marinesPercent":[10, 20],
         "ships":{
            "aurora_Balanced":[1, 1],
            "medusa_Attack":[0, 2],
            "medusa_CS":[0, 2],
            "tempest_Attack":[0, 3],
            "wolf_CS":[0, 2],
            "xyphos_wing":[0, 2],
            "wasp_wing":[0, 2],
         },
      },
      "securityDetachment":{
         "displayName":"Security Detachment",
         "maxFleetPoints":100,
         "daysWorthOfSupplies":[30, 50],
         "lyWorthOfFuel":[40, 60],
         "extraCrewPercent":[50, 70],
         "marinesPercent":[20, 30],
         "ships":{
            "odyssey_Balanced":[0, 1],
            "paragon_Elite":[0, 1],
            "astral_Elite":[0, 1],
            "aurora_Balanced":[0, 2],
            "medusa_Attack":[0, 2],
            "tempest_Attack":[0, 3],
            "wolf_CS":[0, 2],
            "dagger_wing":[0, 2],
            "xyphos_wing":[0, 2],
            "wasp_wing":[0, 2],
         },
      },         
   },
   "traits":{
      "admiral":{
         
      },
      "captain":{ Affects AI captain behavior in battle.
         "cowardly":1,
         "cautious":1,
         "steady":1,
         "aggressive":1,
         "suicidal":1,
         "fearless":1,
      },
   },
   "dialogue":{ What the faction will tell players in the comm.
      "greetingFriendly":"This Tri-Tachyon vessel is on a classified mission. Identity and friendly status confirmed.",
      "greetingNeutral":"We of the Tri-tachyon corporation have scanned your vessel and analyzed your tactical capabilities. Maintain your distance.",
      "greetingHostileAggressive":"Attention. Your vessel has scanned and identified as hostile to the Tri-Tachyon corporation. Prepare for annihilation.",
      "greetingHostileTimid":"Attention. Your vessel has scanned and identified as hostile to the Tri-Tachyon corporation. Further attempts at aggression will be recorded.",
   }   
},

Simply edit the copied file to make your own faction, making sure to have a unique ID. Also, rename it to that ID for simplicity.

Step 2: Making the game read your faction file.

In yourmod\data\world\factions you need to make a file factions.csv. Inside this file, all you need is faction followed by a reference to your faction file, like so:
Quote
faction
data/world/factions/yourfactionfile.faction

Once that's in there, the game will read the faction.

Step 3: Getting your faction into the game, part 1: Your spawn point.

Now you need a spawn point file, which takes your fleets defined in the faction file and creates them in the game. Again, it's easy to copy an existing spawn point and edit it. I'll use the basic PirateSpawnPoint. To explain a few things. Again, my comments are in blue.

Quote
package data.scripts.world;

import com.fs.starfarer.api.campaign.CampaignFleetAPI;
import com.fs.starfarer.api.campaign.FleetAssignment;
import com.fs.starfarer.api.campaign.LocationAPI;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken; These are imports, so you can utilize functions from the various API. If you try to use a function from another spawn point file and it crashed on compile with a message that it can't determine the type name, you have probably forgotten to add the required API.

public class PirateSpawnPoint extends BaseSpawnPoint { When editing the file, make sure you change the part here that says PirateSpawnPoint to whatever your spawn point is called.

   public PirateSpawnPoint(SectorAPI sector, LocationAPI location,  Change PirateSpawnPoint here too – again to whatever your spawn point is called.
                     float daysInterval, int maxFleets, SectorEntityToken anchor) {
      super(sector, location, daysInterval, maxFleets, anchor);
   }

   @Override
   protected CampaignFleetAPI spawnFleet() {
      
      String type = null;  Here it's setting the type randomly. This type corresponds to the ID of your fleets in the faction file – capitalization matters.
      float r = (float) Math.random(); If you want one spawn creating a random assortment of fleets, this is a good way to do it. If you just want one fleet type, you could skip all this entirely and replace type in the createFleet thing with your fleet type in quotes.
      if (r > .8f) {
         type = "scout";
      } else if (r > 0.45f) {
         type = "raiders1";
      } else if (r > 0.3f) {
         type = "raiders2";
      } else if (r > 0.15f) {
         type = "attackFleet";
      } else if (r > 0.05f) {
         type = "carrierGroup";
      } else {
         type = "armada";
      }
      
      CampaignFleetAPI fleet = getSector().createFleet("pirates", type); Here we are setting up the fleet. The createFleet part requires a factionid and a type. The “pirates” is the faction, so change that to your faction id, type is the string we set above at random.
      getLocation().spawnFleet(getAnchor(), 0, 0, fleet); Here we are spawning the fleet. This is spawnFleet(location, xoffset, yoffset, fleet). getAnchor() is finding the anchor that you will set when you create the spawn point in your gen file (I'll cover that next). The offset allows you to spawn the fleet away from your spawn point, but it isn't necessary.
      
      
      if (type.equals("scout") || type.equals("raiders1") || type.equals("raiders2") || type.equals("attackFleet")) { Here it's checking for the type and adding conditional assignments based on that. These assignments will only apply to scout, raiders1, raiders2, and attackFleet.
         fleet.addAssignment(FleetAssignment.RAID_SYSTEM, null, 10); The assignments work like this: addAssignment(assignment, location, maxdurationindays) Valid assignments can be found in the FleetAssignment.java file in the Starfarer API. RAID_SYSTEM simply roams the system attacking stuff and doesn't require a specified location.
         fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN,  getAnchor(), 1000); Here it's telling the fleet to go to the anchor location and de-spawn after it's done raiding, with a 1000 day duration so it won't give up on it. This prevents fleets that get worn down to a single fighter wing or such from flying around forever – they eventually de-spawn so another fleet can spawn.
      } else {
         if ((float) Math.random() > 0.5f) {
            fleet.addAssignment(FleetAssignment.RAID_SYSTEM, null, 30);
            fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, getAnchor(), 1000);
         } else {
            fleet.addAssignment(FleetAssignment.DEFEND_LOCATION, getAnchor(), 20);
            fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, getAnchor(), 1000);
         }
      }
      
      return fleet;
   }

}

Just edit that file to your liking, including your specific fleet types and faction id, then rename the file to the name chosen for your spawn point – like say MyModSpawnPoint.java.


Step 4: Getting your faction into the game, part 2: The generator file.

Here is where we will add your spawn point to the game. Adding spawn points and even stations can also be done inside spawn points (you can look at my Tri-Tachyon station mod for an example), but the simplest way is to just spawn them in when the world is generated using a gen file.

First we need a gen file. I'll use the custom gen file I have in my mod as an example.

Quote
package data.scripts.world;

import java.awt.Color;
import java.util.List;

import com.fs.starfarer.api.campaign.CampaignFleetAPI;
import com.fs.starfarer.api.campaign.CargoAPI;
import com.fs.starfarer.api.campaign.FactionAPI;
import com.fs.starfarer.api.campaign.FleetAssignment;
import com.fs.starfarer.api.campaign.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.SectorGeneratorPlugin;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.campaign.CargoAPI.CrewXPLevel;
import com.fs.starfarer.api.fleet.FleetMemberType; Again, imports. I just copied the import list from the core SectorGen. I don't actually use them all in this simple gen file, but I don't think it really hurts anything to import and not use them.

@SuppressWarnings("unchecked")
public class GRModGen extends SectorGen { Here we're labeling the class, so just make sure GRModGen is the name of your gen file. This is just telling it to extend the core SectorGen – “implements SectorGeneratorPlugin” also works.

   public void generate(SectorAPI sector) {
   
    StarSystemAPI system = sector.getStarSystem("Corvus"); This is finding the star system named Corvus and assigning it as system for later use.
    
    SectorEntityToken token = system.createToken(15000, 0); Here I'm creating a token at a fixed point in space, in order to add a spawn to a specific spot on the map that doesn't move. 15000,0 corresponds to the center of the far right side of the map.
      system.addSpawnPoint(new GRConvoySpawnPoint(sector, system, 30, 1, token)); Here is where I actually add my spawn point. This one is with a 30 day delay with 1 max fleet spawned at a time, at the location set above for the token. To make your own, be sure to change the GRConvoySpawnPoint to whatever your spawn point is called.
      token = system.createToken(15000, -15000); Setting token to a new location for another spawn point.
      system.addSpawnPoint(new TTConvoySpawnPoint(sector, system, 14, 1, token)); Adding a second spawn point, this time at the new location and with a 14 day interval.
      
      FactionAPI gunrunners = sector.getFaction("gunrunners"); Here I'm getting the faction called gunrunners. To get your own faction, simply change “gunrunners” to your faction id. Also probably want to change the variable to your faction name for readability, but that's not necessary.
      
      gunrunners.setRelationship("hegemony", -1); Here I'm taking the faction we got above and setting its relation to the hegemony faction. -1 means they don't like eachother, and will fight.
      gunrunners.setRelationship("tritachyon", -1);
      gunrunners.setRelationship("pirates", 0); Here I'm setting them to 0 for pirates, which means they're neutral and won't fight.
      gunrunners.setRelationship("independent", 0);
    gunrunners.setRelationship("player", 0); Also start off neutral to players, although the player can change that by attacking them.
   }
   }

Just edit your gen file to do what you want, and rename it appropriately.

Then you will also need a generators file that tells the game to look for this generator, just like we did with factions.csv. It needs to be in YourMod\data\world. Here is what my file looks like:

Quote from: generators.csv
className
data.scripts.world.GRModGen

You just need className followed by that one entry – the location of your mod gen file (in this case, I'm telling the game to find a file called GRModGen in data\scripts\world.).

Then when a new game is created it will read your gen file, generate your spawn point, and begin spawning in your fleets. The fleets will do what you assigned them to do in the spawn file. They will attack any fleet you set them to be hostile to, and ignore the others.

A few other options.

If you want to set your spawn points to be tied to particular planets or stations, you can do that too – you just have to get the planet or station and use it in place of a token. Here is an example:

SectorEntityToken CorvusIIIA = system.getEntityByName("Corvus IIIA");
system.addSpawnPoint(new GRPirateSpawnPoint(sector, system, 5, 5, CorvusIIIA));

I'm finding the entity named Corvus IIIA (which was named that in the core SectorGen when it was created). This happens to be the moon of Corvus III, and the spawn point of pirates. Then I'm adding a spawn point, using a custom pirate spawner. I'm giving it a 5 day delay, 5 max fleets, and setting it to be anchored at CorvusIIIA. Note that you have to have already defined system before using this, so you'd also need this somewhere above it (but only once):

StarSystemAPI system = sector.getStarSystem("Corvus");

You can also set up the spawn to spawn fleets immediately, so the game starts out with stuff flying around. Here is an example of doing that:

GRPirateSpawnPoint GRPirateSpawn = new GRPirateSpawnPoint(sector, system, 5, 5, CorvusIIIA);
system.addSpawnPoint(GRPirateSpawn);
for (int i = 0; i < 5; i++) GRPirateSpawn.spawnFleet();

In this case, I'm setting up the spawn point before I actually add it so that I have it assigned to a variable – that way I can reference it once it's added. I assigned it to GRPirateSpawn, but I could have called it anything. Then when I add it I just reference it by that. Then I have it running a for loop with i   set to 0 adding one each time as long as i < 5 – just a basic loop that repeats 5 times. Each loop, it's referencing our spawn point and telling it to spawn a fleet. So it creates 5 fleets when the spawn point is placed.

You can also add stations in your gen file, which is also quite simple:

SectorEntityToken CorvusIIIA = system.getEntityByName("Corvus IIIA");
 SectorEntityToken station = system.addOrbitalStation(CorvusIIIA, 45, 150, 30, "Pirate Stronghold", "pirates");

That would add a station orbiting CorvusIIIA at 45 degrees, 150 distance, with an orbital period of 30 days, named Pirate Stronghold, belonging to the pirates faction. Then you can use:

CargoAPI cargo = station.getCargo();

To get a reference for that station's cargo, and add whatever you want to it by going
cargo.addWeapons("flak", 3);
cargo.addCrew(CrewXPLevel.ELITE, 25);
cargo.addMothballedShip(FleetMemberType.SHIP, "hyperion_Strike", null);

And so on. You can get a good example of adding cargo to a station in the core SectorGen file.

DISCLAIMER: Currently, due to a bug, getEntityByName does not work in the gen files, which is why most mods are editing the default SectorGen. For now, you can do the same – but your mod won't be all that compatible with other mods if you do. You could do a workaround like I did with adding them in the convoy scripts. You can see an example of how I did that in my mod. This is FIXED in the next patch though, so as soon as we get the next patch making your own gen file and using getEntityByName will be the preferred way of adding things.

8
Just something I noticed while looking in the independent spawn point file. It has conditional assignments for all the mercenary fleet types except the mercenary force.

The merc force seems to default to patrolling the system though, so it still works out ok. They just don't fly in and resupply at the station or have a chance of defending it. Also don't despawn like the other fleets, so they have to be completely killed or they just keep flying around.

9
Just noticed this while testing a mod (was doing lots of saving/loading). Every time you load from a saved game it advances a month.

10
Modding / Mothballed ships - is this possible?
« on: February 18, 2012, 12:41:16 PM »
Is it currently possible to get a list of, modify, or remove mothballed ships from stations?

Updating my mod to regulate the cargo on the stations (currently have it capping fuel and supplies at 500, regular crew at 1000, elite/veteran crew and marines at 500, and all weapons at 10 - so it can't fill up with a bunch of stuff and not have room for more stuff in long running games). I was planning on doing the same with ships, but don't see any functions to grab the mothballed ships in the station or anything. Was also hoping to be able to grab and modify data on the ships, like repairing damaged ones.

So, any of that currently possible, or will I have to wait for future releases?  8)

-edit- Huh, just did some testing and found out the limiting cargo amounts may not even be needed, haha. I added 5000 of a gun (stacks of 40) and it just expanded out bigger and bigger. Still be nice to be able to modify mothballed ships, though.

11
Suggestions / Reworking Carriers & Fighters
« on: February 16, 2012, 01:51:21 PM »
This is a suggestion for the carrier mechanic.

Instead of the current system where if at least one survives it lives forever, how about making it ammo based like weapons and missiles?

On the refit screen you could have slots for the hangar decks, say two or three per hangar deck, and these slots would let you choose specific fighter/bomber wings to be assigned to it. Then in battle that hangar deck would service those fighters/bombers, and have a limited number of supplies to do so (could be based on the ship's out of battle hangar capacity, and modified by hull mods). When a wing docks to be rearmed/repaired it would take a small amount of points, with larger amounts of points taken for replacing a lost member - the amount of supplies used depending on the fleet points of the wing. If the entire wing is destroyed, the carrier would launch a replacement wing if it had the supplies left - possibly creating a partial wing if it was low on supplies. When the supplies are up, it's out for that engagement. At the end of the fight, the assigned wings would be repaired/replaced as long as the carrier survived.

Any fighters/bombers not assigned to a carrier would work as they do now - repairing over time and being lost if all of them are destroyed.

After battle resupplying of carriers could charge supplies too, and if you were out of supplies it wouldn't repair the wings and only replace them with a single badly damaged unit (just to keep the wing there for when you get supplies to repair them).

12
Suggestions / Continue battle / Pursue, and surrender chances
« on: February 16, 2012, 12:41:58 PM »
Currently if you get in a fight and avoid the battle long enough, enemy ships retreat and have a random chance to capture. Then the ones you didn't capture you have to click on again and chase down again in the over-map. And any ships that weren't able to get into the battle surrender if you take all the points.

I was thinking maybe we could have stages in a big fleet battle, and surrender chances would depend on how the fight has gone so far. If the enemy calls a retreat, or you block reinforcements and leave a bunch from being able to come into the battle, there could be buttons to continue the fight after the first engagement. The buttons could either be continue the fight (if the enemy still wants to fight), pursue (if the enemy is trying to flee and your fleet speed is greater than theirs), or leave (if either your fleet speed exceeds that of the enemy or the enemy just doesn't want to fight anymore). The chance of surrender if no damage is done would be 0, so if for example you want to retreat you could have all your ships flee right off and if your fleet speed is greater than theirs you could get away without chance of lost ships.

There could also be options for pursuing if the enemy is faster than you (break off a pursuit group, select a group of fast ships and enter battle with just them), and for retreating if the enemy is faster than you (leave big, slow ships behind - evacuating the crew to your faster ships if there is space). The enemy could use the same options in certain situations. If it can still achieve a significant advantage by sending in fast ships to catch you if you ran the first round, it might do that - but only if those fast ships would outgun you by a lot. Same with retreating - if it's seriously outgunned it might leave a slower ship behind to escape.

Surrender chances after a battle would depend on how the fight has gone so far and their chances of escape. Damage from round to round would be cumulative, so if you keep pursuing and hitting them hard and your fleet speed is higher than theirs eventually they would have a really high chance to surrender. Damage to a particular ship would increase the chance of that ship's surrender, so if one ship is badly damaged it would be more likely to surrender than the one that isn't. Surrender chances for ships left out of the fight would be the same, except in their case they might still want to fight. But no more free capital ships by blocking their reinforcement waves.

An example: I attack a pirate carrier fleet, and wipe out the fighters without sustaining damage. The enemy ships all retreat. The chance of surrender at the end would depend on how much cumulative damage I inflicted on their fleet compared to how much damage they inflicted on mine (to prevent the issue with one fast destroyer having the enemy retreat). At the end of the first round there would be a very small surrender chance since all I did was kill fighters, say all of them flee instead of surrender here. Then I would have the option to pursue them, which would start the battle again. Then say I go in and disable a condor and damage the venture badly, and they retreat again - this time I would have a much better chance of them surrendering, since I've inflicted heavy damage on the fleet. Say this time the badly damaged Venture surrenders, but the other Condor flees and it can get away since its fleet speed is now higher due to the Venture changing hands. Now the only way I can pursue it is to send in fewer, faster ships and leave the rest of the fleet including the Venture. If I go after it with a single Medusa and badly damage it, it would be likely to surrender too. Then after all this is done I would be presented with a screen showing that I captured the Venture and Condor and then it would roll chances to be able to go back and board the Condor and fighters I disabled.

13
With the release of Starfarer 0.51a, the need for a Tri-Tachyon station mod is no more. The utility of the Gun Runners base remains, however, so this mod is being renamed the Gun Runners mod as of version 1.04.

Changes for 1.04:
- Gorgon speed reduced to match new Medusa speed
- Tri-Tachyon station removed, as the core game includes one now.
- Gun Runners station moved to Corvus I, as the core Tri-Tachyon station is now orbiting Corvus V.
- Mod should now be compatible with all others, since it no longer edits the tritachyon.faction file.

Just for fun, I'll note down the # of downloads on the previous version before I replace it with the new. GR 1.04 was downloaded 929 times. That's 202 more than version 1.03, although 1.04 was up for a while longer.

Changes for 1.05:
- Not much, I just moved the GR station from Corvus I to Corvus IV since the storage station is on CorvusI now. If you have a save from before the station is launched it will launch over Corvus IV even if the convoy is already headed to I. If you have a save where it has already launched it will still work fine on Corvus I.

Changes for 1.06:
- Added ship systems introduced in 0.53a to the GR ships
- Utilized new API functionality to manage the ships for sale in the station. Every convoy clears out and refreshes ship inventories (so don't sell a ship to the station that you intend to buy back in the future!).
- The station now stocks one of every standard hull type in the game (including the ones that aren't really all that useful for now, like tankers and cargo ships and troop ships, but if you want it they got it), in addition to the pre-equipped GR ships and various fighters that it has always sold.
- Reduced station's orbital distance from the planet. This has no real effect on the game, I just thought it looked funny for the station to be orbiting so far from such a small planet.
- Should be fully save compatible with 1.05, the next convoy will update the station with all the ship hulls.

Mod features:
- A station orbiting Corvus IV which will spawn after the arrival of a convoy 30 days after the game start.
- All weapons available in the station (including those added by other mods)
- All stock ship hulls available in the station (one of each, restocked every convoy - not including those added by other mods, since there is no function to get all hull types just yet)
- Faction specific ships - the Gorgon (modified Medusa), Helios (modified Hyperion), Paria (modified Gemini), and Hades (a mid-range cruiser carrier with 2 decks, graphic based on the Condor).
- Purchase Faction resets - fix your relations with Pirates, Tri-Tachyon, Hegemony, or the Gun Runners themselves. Just buy it and wait a week at most.
- Increased spawn of Pirate, Tri-Tachyon, Independent, and Hegemony ships.

Old post:
Quote
This is just a super simple mod that adds a Tri-Tachyon station, along with appropriate cargo and a resupply fleet (focused on energy and missile weapons, and the more advanced ships - also gets a supply of veteran and elite troops). Saw some folks requesting a corporation station, and realized how easy it would be with the modding system in place - so here it is.

Note: As of 1.02, the mod now spawns in the stations after a convoy arrives in system, they won't be present on starting the game. The Tri-Tachyon convoy should arrive in 14 days from start. The Gun Runner convoy should arrive 30 days from start. When they arrive at their destinations, the stations will launch and you will be sent a message about it.

Link to old 1.01 version. (See below for newest version.)

Note that it won't be compatible with any mod that edits the tritachyon faction, or the sectorgen file. (No longer edits the main sectorgen file as of 1.02, but still requires the convoys in the tritachyon.faction file).

Update 1.01: Minor error with the original one, I had a "tempest_Balanced" in the potential resupply ships, and that ship variant doesn't actually exist, so it caused a crash when it came up. Apparently theres a file called tempest_Balanced but it's just a copy of the tempest_attack. I think it's save compatible, all I did was remove that entry from the resupply ship list.

Update 1.02:
- Added a smuggler faction I named the "Gun Runners" with a station of their own which gets launched after they arrive in system (30 days after start). The station has its own ship variants (a variant of the Medusa, Hyperion, Gemini, and a new medium carrier cruiser) as well as every gun in the game. It also stocks a variety of high end fighters, and can fix your reputation with all the factions (just buy the appropriate cargo item and wait a week).
- Modified the TT station to be launched after a convoy arrives. This means the mod no longer edits the main SectorGen file.
- Mod is still dependent on the tritachyon.faction file for the convoys. If you crash about 2 weeks after game start (or on loading after you save), you have another mod that's overwriting it.
- This version is not save compatible with 1.01. Sorry, too many changes.

Update 1.03:
- Reduced Gun Runners spawns
- Increased all other faction spawns (Independent, Hegemony, Tri-Tachyon, Pirates). Should liven up the system, and keep the Gun Runners from taking over.
- Not save compatible, as there is currently no way to edit existing spawn points (hint, hint Alex  ;))

Version 1.03 was downloaded 727 times.


[attachment deleted by admin]

14
Modding / Fleet travel speed
« on: February 15, 2012, 09:43:44 AM »
The way fleet speed is calculated with the penalty based on fleet size, can a mod change that at all?

Was thinking of playing around with it to see how it might work differently, since the current system penalizes you a lot for having one slow ship in a fleet of fast ships. If it's not changeable via mod, heres the suggestion I was planning to test out: Make it the minimum of the average fleet speed minus the fleet size penalty OR the slowest ship in the fleet.

For instance, right now my fleet is 3 medusa destroyers and some fighters, they're flying at speed 136. Adding a ship with a speed of 107 cuts my speed down to 80. With that change the average speed with the penalty would still be above 107, and the slowest ship would be 107, so the speed would be the slowest ship - 107.

Logic behind it is if all of the ships are fast, trying to coordinate them to stay together would slow them all down a bit giving you the fleet speed penalty. But if one of the ships is significantly slower, the slow one would set the pace and all the others would simply follow it - giving you the speed of the slowest ship. This would allow you to run with one big slow ship without dropping your speed below 100 and making it impossible to catch anything.

Pages: [1]