Possible for an option for uncapped mastery/smod limit option for lunalib?
No, not on lunalib, but you can customize the masteries yourself in data/shipmastery/mastery_presets.json and data/shipmastery/mastery_assignments.json.
For example, if you want to add 3 additional S-mod capacity masteries at levels 10, 11, and 12 for every ship type, you can find the "_DEFAULT_" property in mastery_presets.json, change "maxLevel" to 12, and add "10": "SModCapacity", "11": "SModCapacity", "12": "SModCapacity" to "levels".
I wanted to try the mod, but it keeps crashing as soon as I press R to enter the refit screen. Version: 0.9.1
39172 [Thread-4] INFO com.fs.starfarer.api.impl.campaign.intel.AnalyzeEntityMissionIntel - Created AnalyzeEntityMissionIntel: Derelict Ship, faction: independent
39515 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NoSuchMethodError: com.fs.starfarer.campaign.fleet.FleetMember.getHullSpec()Lcom/fs/starfarer/loading/specs/privatesuper;
java.lang.NoSuchMethodError: com.fs.starfarer.campaign.fleet.FleetMember.getHullSpec()Lcom/fs/starfarer/loading/specs/privatesuper;
at shipmastery.campaign.RefitHandler.addMPDisplay(RefitHandler.java:265)
at shipmastery.campaign.RefitHandler.injectRefitScreen(RefitHandler.java:315)
at shipmastery.campaign.RefitHandler.injectRefitScreen(RefitHandler.java:305)
at shipmastery.campaign.RefitHandler.injectRefitScreen(RefitHandler.java:301)
at shipmastery.campaign.RefitHandler$2.perform(RefitHandler.java:331)
at shipmastery.deferred.DeferredActionPlugin.advance(DeferredActionPlugin.java:51)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
full log here https://pastebin.com/t4beiR1j
Thanks, Linux/Mac issue with FleetMember.getHullSpec returning an obfuscated class. Should be hotfixed.
OK, I've been able to reproduce this by getting a Hammerhead (D) (spawned via console commands) destroyed in combat. Turns out, it does restore to a Hammerhead (D), which then restores to a Hammerhead. I'm not sure if that's intended, or even if (D) (D) hulls in general are intended.
I've made a fix in dev that should allow (D) (D) hulls to share a mastery pool with non (D) hulls, even though they technically don't restore to the same hull spec. Thanks for the find!
Nice, good to know!
Another little question-suggestion: is there any way to see MP gained from knowledge constructs for the hulls that are not currently present in the fleet? I've right-clicked through them yesterday, returned to the core worlds next day, sitting at the big market and can't for life remember if I have the data for something new that I can buy, so it would be cool to see mastery at the market and/or in the tooltip of ship details, if that's possible.
Nope, the best I'd be able to do is show mastery level, similar to how it's done in NPC fleets. But I tried that just now and didn't like it. The MP display in the refit screen was done with a lot of reflection nonsense, hooking into the fleet member buttons, etc., and I'm not going to repeat that for every submarket.
Hello! Really enjoying the mod.
At the end game, unless I decide to S-modmaxx by going over the limit, most of my ships have tons of MP lying around.
So I've been thinking, would it be possible to implement a feature where you could re-roll certain columns effect using MP?
Definitely would like this. I got max mastery on an Ixon from Interstellar Imperium and it rolled buildin safety overrides, which is almost useless since the ships from that mod have their own safety overrides-like hullmod, and a flagship bonus for beam weaponry, when I'm not planning to flagship it and its basically a missile boat. So basically a wasted final tier of mastery which feels especially bad since that's where the most effective bonuses are at. Could make the cost the same mp as the tier you want to reroll so 10 mp for the last tier but only 2 mp for the first tier.
It's an interesting idea, and, believe it or not, something that I'd already considered. The reason I ultimately didn't go for this was because of the way that mastery effects are the same across player and NPC fleets. So a "reroll" ability would either have to affect all fleets in the sector, or I'd have to decouple player and NPC mastery effects. The first option is definitely kind of strange -- why should the player be able to affect NPCs in such a manner? -- but maybe it could be justified through the usage of story points. I'd like to avoid the second option altogether because it can seem random and unfair, plus there'd be no way to tell what mastery effects NPC ships had (outside of ones with obvious particle effects).
That said, I'll definitely revisit the idea. And I'm definitely open to hearing other ideas about what mastery points could be used for after reaching max mastery level, as I'm aware that they tend to accumulate once that happens.
I think the concern regarding knowing what npc ships have is a little strange. You'd have to go well out of your way to know what mastery effects they have in your current game. Even in vanilla game, there's tons of ships to master and mastery doesn't exactly come quick. At least for me, I don't change my fleet that much once I get around to the colony section. Maybe one final restructuring but after that only my flagship is going to change. Additionally, there are ships the player might not ever master, like AI ships or doritos. That exact scenario happened to me when I discovered a station and had enemy ships doing that damper field effect (and maybe some other effect that made my ship spin out? I'm not sure if that's a mastery effect or just some quirk mod interaction) and I think the enemy capital had regenerating armor but by that point I had barely half mastered my flagship. If it's really a sticking point, maybe you could add a pre-battle dialogue that tells you the opposing fleet has some mastered ships and give you the option to view their effects, similar how exotica technologies lets you scan the other fleet to see their upgrades and exotics.
As for what to do with accumulated mp points, hmm. Just throwing stuff out there:
Convert mp on one ship to mp on another ship, at a modified rate of course. Could be universally reduced, or based on hull size/DP of sending and receiving ship or if converting to/from civilian to combat ship, etc.
Spend mp to restore ships (maybe even unrestorable ships like the PK fleet) or possibly add specific dmods for derelict operations.
Spend mp to automate or de-automate a ship.
Spend mp to convert a ship from one skin to another, like legion to XIV legion. Might need a certain level of mastery in both skins.
Just straight converting MP to credits, useless as credits may be late game but it could be useful in early game to quickly generate some cash or make exploration more lucrative, especially when you are getting ready to setup a colony.
Convert MP to SP.
Spend MP as a wager in recorded sim battles (very cool feature btw) to buff the other side and get MP back if you win. For example, wager 10 MP and the other side gets like 50% shield efficiency buff. If you still win, you get back 20 MP (more or less, depending on how strong the other fleet was to begin with). If you lose, all you lose is your MP. You could even design special fleets for this purpose instead allowing recorded fleets.
Spend mp to remove a single smod as an alternative to no cost complete removal.
Ehh, part of knowing NPC fleet masteries is not just the knowledge but also the theoretical consistency. For example, vanilla ships have fixed level 9 masteries, so whenever you face an NPC fleet with a level 9 mastery in some vanilla ship, it will always have one of two effects. The same holds for modded ships, though for modded ships the level 9 masteries are randomized per playthrough, but the idea is that they'd always be the same throughout that playthrough.
Conversely, if you see an NPC ship with some unknown mastery effect, you can be guaranteed that were you to recover that ship and level up its mastery sufficiently, you'd also be able to have that effect.
IMO NPC fleets following the same rules as the player is very important, so if I were to add a reroll option to mastery effects, they'd also affect NPC fleets in the same way.
Of your suggestions, I do like the idea of using MP to restore damaged ships instead of credits. Would make it seem less mandatory to take hull restoration early game only to spec out of it once you're rich enough that losses don't matter.