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.

Messages - Ruddygreat

Pages: [1] 2 3 ... 34
1
Blog Posts / Re: Simulator Enhancements
« on: March 21, 2024, 03:55:58 PM »
A question on the more technical end for you alex - why did you develop a whole system to reverse-engineer what faction a variant comes from instead of just adding some kinda "factionOverride" param / variable to CampaignFleetAPI?

2
Is there a way to rename the station of a colony in code to something besides planetname Station?

can't you just use the setName() method of sectorEntityToken on the station?

3
Modding / Re: Looking for a tutorial on how to create a new faction
« on: March 15, 2024, 04:49:59 AM »
you'll want to pass in the name of the station variable in-code

& if you've not got one, you can get one by adding
Code
SectorEntityToken myStation = 
before the line of code that spawns the station

4
Modding / Re: Looking for a tutorial on how to create a new faction
« on: March 12, 2024, 06:08:59 AM »
you need to have the type of the stuff inside the list inside the <>, like so
Code
new ArrayList<String>()

I'd recommend following this guide to set up a proper java editor & compile your code, it'll save you from small but annoyig things like this

5
Unsure. I remember seeing this, but couldn't say with certainty that I've seen it in 0.97. Will put up a bug report thread if I come across it again.

adding to this that there is definitely some wierdness with some viewport checks - I was helping someone on the discord who was wondering why their DEM wasn't spawning any particle effects, it turned out to be because they had set their max zoom out higher than vanilla & that just broke it

6
Modding / Re: Adding Abyssal events?
« on: March 08, 2024, 08:35:00 AM »
yeah, this is all basically correct.

as for your questions -

1 - you just need to extend either BaseEPEncounterCreator or AbyssalRogueStellarObjectEPEC & override the getFrequencyForPoint() method, you can then have that return whatever value you'd like

1b - adding a new manager will probably be a bad idea, but just adding your creator to the CREATORS list should work fine.

2 - you can do this with your mod's modPlugin & it's various methods - if you want to go with multiple discrete creators for each encounter I'd use onGameLoad(), that gets called after the save has been loaded & will allow you to only add the encounters that haven't already been seen (though might cause some wierdness with loading saves after the encounters have already been added? could probably just brute force past that by removing them all before adding them again?).

Alternatively, you could have a single creator that gets added to the list in onApplicationLoad() (which gets called once when the game launches), then have that do the checking for what encounters should be allowed to spawn when the player is actually in-game.

hopefully my ramblings make sense

7
Mods / Re: [0.97a] The Knights of Ludd
« on: March 07, 2024, 02:47:49 PM »
There's a random chance you get sent there when you gate travel. There's a lot of exploration content you can find in the mod. You can pretty much go through it however you want.

Although I'd suggest checking out the weapon cache in alpha site.

this is the correct answer, you can get there randomly through any gate or by
 the consistent method of getting in
parking yourself on the red singularity in the elysian abyss
[close]

8
Suggestions / Re: More threats and rewards in the Orion-Persean Abyss
« on: March 06, 2024, 02:06:25 PM »
Are you sure this isn't from a mod? I've hit quite a few of them.

yeah, it's not vanilla, idk what they're talking about.

9
you can have your hullmods look for and remove any other hullmods you want to be incompatible with

magicLib has a method built into it (MagicIncompatibleHullmods) that makes it a little fancier by telling the player what hullmod removed what other hullmod, but if you don't want the dependency then you can just do something like this

Code

    @Override
    public void applyEffectsBeforeShipCreation(ShipAPI.HullSize hullSize, MutableShipStatsAPI stats, String id) {

        ShipVariantAPI var = stats.getVariant();

        ArrayList<String> blockedHmodIDs = new ArrayList<>();
        /*
        * this should really be a static class-level variable that gets filled out elsewhere but
        * imagine that it's filled for the sake of this example
        */

        for (String modid : var.getHullMods()) {
            if (blockedHmodIDs.contains(modid)) {
                var.removeMod(modid);
            }
        }
    }

10
Suggestions / Mark the event intels as important by default
« on: March 04, 2024, 12:37:26 PM »
A minor thing but it's currently somewhat annoying that event intel items (especially important ones like HA & HT) can just get lost in the intel screen, having them default to important would be a nice easy way to see them.

11
Hmm - FusionLampEntityPlugin (which is in the api source) uses this and it works. I'm not seeing anything wrong with your code offhand, though, so I'm not sure what the difference is.

yeah, I looked there to see how it was done in the first place.
my only guess is that the system having no primary star does something funky to it, but I've given the SectorEntityToken that I got from initNonStarCenter() the AMBIENT_LS tag & that lighting works fine. (and the whole "only works while paused" thing makes no sense if that's the issue)

EDIT : moved the relevant code into a custom campaign entity plugin & it works fine now, huh.

12
Suggestions / Re: Generalized projectile and fighter interactions
« on: March 03, 2024, 11:27:29 AM »
at some point projectiles were going to properly collide with eachother, but the functionality was removed long ago.

kinda vague question, but that's the deal with BALLISTIC_AS_BEAM projectiles?
this is specifically in relation to why changes to their velocity just don't work, though I would generally like to know more about how they work & when to use them over normal projectiles.

The main functional difference - aside from getVelocity().set() doing nothing - is that they collide over the entire length of the projectile, including the trail, as opposed to just around the actual projectile. There were other, more meaningful distinctions way back when projectiles could hit each other; not sure if there was ever even a release with that functionality in it. At this point it's more of a holdover from days past.

though imo having normal projectiles be interceptable is just be a bad idea for the reasons inventor racoon outlined, making everything susceptible to PD would throw off so many things that it'd basically need a full rebalance of every weap.
(and make low rof weapons even less useful than they are now)

13
how does PlanetAPI.setSecondLight() work?
I'm setting it in an EveryFrameScript with runWhilePaused returning true but it only ever actually works while the game is paused, if I unpause the planet goes back to being unlit.

later edit : I've also checked with a debugger, the planet's secondLightColor & secondLightLocation fields do get properly filled out wether the game is paused or not

I've also tried setting it once when the planet is generated, but that didn't seem to work either

the script that gets added to the system the planet is in
(I also use this to block transverse jumping out of the system)
Code
public class SSCHomeSystemTJBlocker implements EveryFrameScript {

    public final StarSystemAPI system;

    public SSCHomeSystemTJBlocker(StarSystemAPI system) {
        this.system = system;
    }

    @Override
    public boolean isDone() {
        return false;
    }

    @Override
    public boolean runWhilePaused() {
        return true;
    }

    @Override
    public void advance(float amount) {

        CampaignFleetAPI playerFleet = Global.getSector().getPlayerFleet();

        if (playerFleet.getContainingLocation() != system) return;

        PlanetAPI planet = (PlanetAPI) Global.getSector().getEntityById(IDs.gardenPlanetID);
        SectorEntityToken SSCStation = Global.getSector().getEntityById(IDs.cronusStationID);
        planet.setSecondLight(
                new Vector3f(SSCStation.getLocation().x, SSCStation.getLocation().y, SSCStation.getCircularOrbitRadius() * 0.75f),
                new Color(255, 225, 125, 255)
        );

        if (!playerFleet.hasAbility(Abilities.TRANSVERSE_JUMP)) return;
        if (playerFleet.getAbility(Abilities.TRANSVERSE_JUMP) == null) return;

        playerFleet.getAbility(Abilities.TRANSVERSE_JUMP).setCooldownLeft(Global.getSettings().getAbilitySpec(Abilities.TRANSVERSE_JUMP).getDeactivationDays());

    }
}
[close]

14
it's a vanilla feature, see the little "explored" button in the bottom left of the map.

15
General Discussion / Re: Obsessively Optimizing Wolfpack
« on: February 24, 2024, 05:54:25 PM »
I think that Hull restoration (and industry in general) is a complete dud with this kind of fleet, because frigates are so cheap to restore, even in numbers, compared to larger ships. If you lose a ship and it gets some D mods, just pay like 50k (1/9th of a single alpha core). Especially because you already have 100% CR from crew training+combat endurance, so Hull Restoration loses that value.

hull restoration is actually pretty good with an automated wolfpack fleet; it gives you a free extra 15% CR which allows you to field a frankly abominable 11 hyperion / 15 alpha'd glimmer fleet with no CR issues.
though that composition probably doesn't fare well against any serious carrier fleets, it is funny to think about.

Pages: [1] 2 3 ... 34