Do I replace the file by name without the path?
Or the path to the file in starsector-core?
Because a test of replacing the files directly by adding:
"data/hulls/odyssey.ship",
"data/hulls/onslaught.ship",
"data/variants/onslaught/onslaught_Elite.variant",
"data/variants/odyssey_Balanced.variant"]
To the end of mod_info,
Does not fix the weird variant/ship glitches with those ships.
*Edit* Just tried it with weapon files and those don't work either.
(I'm assuming you mean in the "replace" array, not just at the end of mod_info.)
That looks right, and looking at the code, it should work, that is, the code loading variants/hulls/weapons should respect the "replace" section.
Again, if you could provide me with a mod to reproduce the problem, I'd be happy to take a look. If it has dependencies on LazyLib etc, that's fine.
I've been trying to figure out the RaidIntel and related classes for Nexerelin's invasion fleets. (This is some really complicated stuff; I might have to write some notes for it as a guide for others).
Problem I have: When the fleet gets to its target planet, it just hangs around nearby and chases any enemy fleets that appear, instead of executing the raid method (i.e. performRaid isn't being called, and the return values of getRaidActionText and getRaidApproachText don't seem to be used). This is even though my current action stage class is mostly a copy of PEActionStage.
What do I change to control this? (Actually, does the punitive expedition actually do non-autoresolve raids either?)
In your spawnFleet method in your version of raid intel, do you have this?
fleet.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_RAIDER, true);
That's what makes fleets raid colonies.
Also, your FleetActionDelegate.canRaid(MarketAPI market) method needs to return true for the target colony.
Finally, the assignment script needs to be RaidAssignmentAI - or if it's not, it needs to handle the raiding behavior itself.
Edit: for punitive expeditions, this assignment AI is created - and the FleetActionDelegage (which is implemented by the action stage) passed in to it - in PunitivieExpeditionIntel.createAssignmentAI().