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: Planet Search Overhaul (07/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 - theDragn

Pages: [1] 2 3 ... 12
1
Modding / Re: [0.97a] Apex Design Collective v1.2.12
« on: October 18, 2024, 01:10:55 PM »
No updates- I'm a bit busy with real life and other games at the moment, but Nes made a sick skin pack for the mod that I'm gonna show off here too.

PEAK - by Nes

2
Mods / Re: [0.97a-RC11] Apex Design Collective Skin - PEAK
« on: October 18, 2024, 12:56:39 PM »
I didn't realize you were reskinning the guns too, they look wonderful. Great work!

3
Modding / Re: [0.97a] High Tech Expansion 2.0.4
« on: September 11, 2024, 01:57:32 PM »
Anyone can help me troubleshoot this?
Very late reply but you have incorrectly updated the mod. Delete the mod folder before I packing the update.

Are there any plans to add a submod with the IV Battlegroup variants?
Not at the moment, sorry!

4
Modding / Re: [0.97a] High Tech Expansion 2.0.3
« on: August 20, 2024, 02:52:55 PM »
Big fan of this mod! Is there a way to make these ships stop appearing so often in Persean/Pirates/Independents/Scavengers fleets? It's strange that factions other than Tri-Tachyon use these ships so often.
Was gonna reply and be like "idk what you're talking about" but I decided to double check first and somehow my hull and weapon tags are all screwed up. No clue how that happened (I should have fixed them for the 0.97 update), nor how it got into this version without getting noticed, but I've got it fixed now. The intended behavior is for Independents to use some of the more commonly available ships in the mod, and for all of the weapons to be known by a few different factions, as is appropriate for their doctrines. Tritachyon should know basically everything in the mod with the exception of a few missile weapons.

Thanks for noticing this!

Version 2.0.4
Fixed a number of issues with hull/weapon tags being incorrect, leading to ships not spawning at correct rates, in correct factions, or at all. No clue how this got in without getting noticed. You can download it from the main post. Save compatible.

5
In a DamageListener, I don't think so. But you might have better luck with a DamageDealtModifier or a DamageTakenModifier, those have some extra parameters.

Ah, sorry, should have been more specific, I am using a DamageTakenModifier (which I suppose is a type of damage listener but not the actual class DamageListener). I've got a missile that spits out some small mines, which explode and apply a debuff that increases damage taken from subsequent mines. The issue is that the mines can deal damage by physically contacting the ship (which will result in the param being passed into the DamageTakenModifier being the DamagingProjectileAPI for the mine itself), or by explosion, which passes in the DamagingProjectileAPI for the explosion and not the mine. Explosions (I think they're an obfuscated class that extends DamagingProjectileAPI) return null when you try to get the weapon or projectile that created them, so there's not an immediately obvious way to modify the explosion damage being dealt with the DamageTakenModifier. The workaround I have for this is making the mine base damage a specific number that nothing else would reasonably use (249) and then checking if the source weapon is null and the base damage is 249. Obviously this is insanely jank (though it does work); wondering if there is a better solution that I'm just missing.

Edit: figured out the obvious solution I was missing. Just use custom explosion code and check for the debuff to apply the right amount of damage instead of trying to detect it with DamageTakenModifier.

6
Is there a good way to detect what weapon an explosion is from in a damage listener? (More specifically, detect if an explosion is from one specific weapon, not an arbitrary one.) Going through some old code where I was apparently doing that by giving the explosion a specific base damage value that no other weapon should have. It works, but it's ugly and I'm wondering if there's a better way.

7
Modding / Re: [0.97a] Apex Design Collective v1.2.12
« on: August 06, 2024, 01:22:13 AM »
"The faction and exploration stuff will automatically be added."
So does that mean ADC will, faction and all, fully populate in an existing save if added mid-run? Starting over to make sure the faction exists and all the mod has to offer would suck, but if I don't have to that would be amazing. I am using Nexrelin and Adjusted Sector, btw, if that matters. Non-random core worlds and default settings for Adjusted with the only change I made to it to have a square sector instead of a rectangular one (why the Sector is a box, I do not understand). Beyond that, just a few other faction mods.

That's correct! It'll spawn in the core systems/planets that the faction normally has, and will run the code that generates and places exploration goodies.

8
I don't think so. Looking at the "DOES NOT WORK" method, it actually should work except for the case you actually need - i.e. passing in a null weaponId. I just tweaked it so that it should work in that case as well.
Huge, thank you!

9
Is there some way to spawn a duplicate of a projectile with only the projectile spec? Obviously we can use projectile.getWeapon().getId() to grab the weapon ID, and then engine.spawnProjectile(), but this runs into issues with any missile with submunitions, or modded weapons that use projectile swaps (certain shotgun weapons with delayed splits, other heavily-scripted things). In those contexts, there's no way to get the weapon ID that fired the actual sub-projectile, just the WeaponAPI that it belongs to. While there's an overload for spawnProjectile to use a projectile spec ID, it's marked as "doesn't work" in the API, and indeed does not work.

10
Hmm.

This notionally works, but putting ships in storage changes their ID string

This is definitely not the case, at least in general - I just tested it and the fleet member id stays the same when the ship is put into storage. It's possible some other code might change fleet member id's, but vanilla doesn't, unless I'm really missing something.


I'll admit I didn't check to see if getID() was returning the same value or not— and of course I'm inclined to believe you over code that I wrote at 3am. I was just mapping ID to a data object, and then before save checking every fleet/storage in the game for ships and only retaining the map entries that had corresponding IDs present. Worked fine for ships in fleets, but not ones in storage. Maybe I was accessing hull storage incorrectly? Definitely didn't double check it.

Quote
WeakRefernce<FleetMemberAPI> definitely works - the SModRecord class uses it. You're right that new fleet member objects are created when the game is loaded, but if the WeakReference is in the set of objects being instantiated, its FleetMemberAPI will be that same newly-instantiated one, so it's not a problem.

I suspect WeakHashMap works too - the way it works is substantially similar - though I haven't tested it specifically.

So I'm not sure what's going on - clearly it's not working for you - but it may be worth another look since both of those approaches seem like they should/do work.

I tested WeakHashMap a little more thoroughly than the ID->data map since it was my first idea and I wanted it to work so much, but I just couldn't get any data in it to persist through loading the save. (I did check that it was serializing out the entries into the save.) I wonder if sector memory gets loaded before fleet members, and that breaks the reference long enough for it to get garbage collected? Also entirely possible I wrote it wrong somehow- difficult to check at this point anyway.

Regardless, I've got a system working at this point- I stringify my data object and store it in the variant tags, and do some screwing around with the variant to ensure it's unique to the ship and that the tag change actually sticks. Not the best system in the world, but if it works for now...

11
what is the best place to upload a mod?

I personally recommend Github. They won't limit your downloads (like google drive will), let you use one link to always point to the latest release, let you use a direct link to the file, and the links will stay up until Microsoft goes out of business.

Unrelated, I've spent most of today fooling around with a project that needs to save persistent data for individual ships. In the interest of not having other people repeat the same experiments, as far as I can tell, the only way to actually accomplish this is to turn your data into a string (via JSON or bytes to base64) and save it in the variant tags for that fleet member's variant. I tested:
- a WeakHashMap<FleetMemberAPI, data_object> stored in sector memory, which didn't work; fleet member objects appear to be created new when the game loads, which breaks the references.
- a HashMap<String, data_object> stored in sector memory using FleetMemberAPI.getId() for the keys. This notionally works, but putting ships in storage changes their ID string, and since you have to clean up the map when the game saves to avoid bloating saves, you'll lose the data for any ships the player puts in storage.

If anyone has other ideas (that aren't too hard to implement), I'd like to try them, because honestly storing data in variant tags feels insanely sketchy.

12
Modding / Re: [0.97a] High Tech Expansion 2.0.3
« on: July 03, 2024, 08:46:58 AM »
safe to add to current save?

Yep. There's a pre-generated system (Zarmazd, black hole southeast of the core, will sell you rare hulls if you're cooperative with independents) that isn't set up to automatically spawn if you add the mod mid-save, but all the ships and guns will begin showing up normally. I'll add code to do the system spawning mid-save next version. Quick edit: totally forgot that I already added a console command for this. You can just do "generateHTE" with console commands and it'll generate the system.


Also, updated to 2.0.3 because I was dumb and forgot to actually check that the Tigershark's hullmod was working. It was working, but the description was screwy. Also increased the Incursion's burn to 8 to match its description of being able to keep up with cruiser fleets.

13
Modding / Re: [0.97a] High Tech Expansion 2.0.2
« on: July 02, 2024, 06:03:01 PM »
Version 2.0.2. Save compatible.
- Added normal maps for all ships and weapons, and lighting data for weapons and projectiles. This will significantly improve visuals (and double the VRAM footprint) for players using graphicslib.
- Peregrine: Reduced DP to 22.
- Tigershark: Reduced DP to 28. Removed ballistic flux penalty from built-in.
- Equality: Fixed the hullmod not actually nullifying fighter pilot losses.
- Gloom: Gave it back salvage gantry. Drive Field Compressor now tells you that more than one doesn't do anything.
- Fixed the version file to work with mod managers

Very nice job on reduction. I enjoyed the covert op colors but realized the bloat. Keep up the great work!   8)
Thanks! Unfortunately I'm bloating it right back up by doing normal maps...

14
Modding / Re: [0.97a] Apex Design Collective v1.2.12
« on: July 01, 2024, 09:04:29 PM »
Updated to 1.2.12. I was screwing around with some new VFX for the repair effect and somehow some numbers reworks for the remote support hullmods snuck in.

Major changes to the internal math for support hullmods, along with fancy new VFX. This is mostly intended to make them more viable for frigate/destroyer fleets and help avoid scenarios where it would be better to let an effect expire before applying a new one due to how the diminishing returns were calculated. The actual effect for fleets should be about the same as it was previously, and perhaps slightly stronger for cryocoolant builds.

Other Changes:
- Removed hard dependency on LunaLib specifically to make Nes happy. If you really, really don't want to have that one button on the refit screen, you can remove it from the mod_info.json and the mod will work fine.
- Anole: Removed Resistant Flux Conduits, Insulated Engine Assembly, and reduced HP (750 -> 600).
- LPDS pod: Increased rate of fire by 50%. Doesn't generate flux to fire, but reduces the ship's flux generation by 33.

Remote Support Hullmod Changes (warning: numbers ahead):
- Cryocoolant Projector: Improved VFX and reworked effect. Instead of providing a flat dissipation boost, it now adds to a "dissipation pool". The affected ship's dissipation is increased by 10% of the pool, and the pool drains by 10% or 100 per second, whichever is higher. The pool is soft-capped at 2000, which will give you about 16 seconds of buff if you reach the cap. Exceeding the cap uses square-root scaling (ie, you need four times as much coolant to reach double the actual applied amount).
- Remote Armor Patcher: Improved VFX and reworked effect. Similar to cryocoolant, repair blobs add to a "repair pool". The pool drains by 10% or 20 per second, whichever is higher, repairing the ship's armor by the same amount (if possible). The repair pool is softcapped at 400, and uses asymptotic scaling past that (ie, reaching double the cap is impossible, but adding more repair will always increase the pool). It's also now properly affected by timeflow bonuses.
- Nanolaminate Armor: No longer provides a bonus to repair received. Instead, increases armor repair rate by 50%.
- Cryocooled Armor Lattice: Reworded but the effect is the same: -33% repair rate.

15
Modding / Re: [0.97a] Apex Design Collective v1.2.11
« on: June 17, 2024, 09:34:42 PM »
Minor question about the Excession. Is there any way for me to get more than 1 since I originally had the only 1 setting on and in lunalib it says it won't do anything if I turn it false?
Not legitimately, anyways. Having more than one would be kind of pointless because the AI to handle its unique behavior would be very difficult.

Pages: [1] 2 3 ... 12