Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.98a is out! (03/27/25)

Pages: 1 ... 11 12 [13] 14 15 16

Author Topic: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/8/25)  (Read 102198 times)

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #180 on: March 29, 2025, 04:28:18 PM »

getting an error with shipmastery.campaign.graveyard.ShipGraveyardIntel when I load a save that has a random glimmer in the ship graveyard.
Specifically:
<log>

Can you post the lines in the log below the ones you posted?

Edit: never mind, I think I know the issue. Seems like xstream is having issues saving a tree structure with a lambda comparator.

Edit 2: should be fixed, thank you for the report!
« Last Edit: March 29, 2025, 04:46:07 PM by float »
Logged

YukiM

  • Ensign
  • *
  • Posts: 26
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #181 on: March 29, 2025, 06:15:02 PM »

Didn't see your reply until now, but glad to see you found the problem :)
Logged

Norath

  • Ensign
  • *
  • Posts: 16
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #182 on: March 30, 2025, 10:09:19 AM »

Any chance ships that have "paint job" only or small difference can be merged somehow ?

ex:
Wolf/Wolf(H)
Hound/Hound(P)/Hound(H)
Gremlin/Gremlin(P)


2.
Request: Add "some" guard rails on what modiffiers get offerd ?
I have had options for:
+1 burn on Frigates with burn 10,
+range if not moving on a Frigate,
and my favorite (Weapon turnrate) or (bulkhead+blast doors) on Hyperions.
Spoiler
[close]


3. Tooltip clarify
decrease the probability that ships destroyed in combat gains d-mods by 30%
decrease the probability that ships of this type destroyed in combat gains d-mods by 30% <--- im asuming this is how it actualy works
« Last Edit: March 30, 2025, 10:16:48 AM by Norath »
Logged

glyon3

  • Ensign
  • *
  • Posts: 1
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #183 on: March 30, 2025, 11:41:30 AM »

Didn't see your reply until now, but glad to see you found the problem :)

I am curious how you manually removed the problem from your save. I have the same error as you but even after installing the hotfix the save still does not load. Where should I be looking in the save file/what do I need to remove?

Edit: Nevermind, I figured it out
« Last Edit: March 30, 2025, 11:56:23 AM by glyon3 »
Logged

F3nn3L

  • Ensign
  • *
  • Posts: 11
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #184 on: March 31, 2025, 05:33:36 PM »

Hallo Float. I really like your mod and I want to ask how you can add in more S-Mod capacity. I want to increase how many S-Mods you get on levels 3, 5 and 8 to 3/6/9 respectively and wish to ask how to do so. On Progressive S-Mods you got the ability to change settings on the mod to increase how many base S-Mod capacity you can have and want to see if it's possible here. Thank you.
Logged

Shinr

  • Commander
  • ***
  • Posts: 168
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #185 on: April 01, 2025, 12:03:10 AM »

Hallo Float. I really like your mod and I want to ask how you can add in more S-Mod capacity. I want to increase how many S-Mods you get on levels 3, 5 and 8 to 3/6/9 respectively and wish to ask how to do so. On Progressive S-Mods you got the ability to change settings on the mod to increase how many base S-Mod capacity you can have and want to see if it's possible here. Thank you.

Go to Ship Mastery System/data/shipmastery and open the mastery_presets.json file with something like Notepad++, and the beginning should look like this:

Quote
{
  "none": {},

  "_DEFAULT_": {
    "maxLevel": 9,
    "levels": {
      "1": {
        "A": "RandomMastery 1 1",
        "B": "RandomMastery 1 1"
      },
      "2": {
        "A": "RandomMastery 1 2",
        "B": "RandomMastery 1 2"
      },
      "3": [
        "SModCapacity",
        "RestorationCost"
      ],
      "4": {
        "A": "RandomMastery 1 2",
        "B": "RandomMastery 1 2"
      },
      "5": {
        "A": "RandomMastery 1 3",
        "B": "RandomMastery 1 3"
      },
      "6": [
        "SModCapacity",
        "SModRemoval"
      ],
      "7": {
        "A": "RandomMastery 1 3",
        "B": "RandomMastery 1 3"
      },
      "8": {
        "A": "SModCapacity",
        "B": "ScaleOtherMasteries"
      },
      "9": {
        "A": "RandomMastery 1 4",
        "B": "RandomMastery 1 4"
      }
    }
  },

Copy and paste more "SModCapacity" on the same levels, making sure that the white space behind them are a bunch of tiny spaces instead of few big ones N++ likes to generate sometimes (modded games are sensitive to that), so it should look like this:

Quote
      "3": [
        "SModCapacity",
        "SModCapacity",
        "SModCapacity",
        "RestorationCost"
      ],

      "6": [
        "SModCapacity",
        "SModCapacity",
        "SModCapacity",
        "SModRemoval"
      ],

Trying to change Level 8 crashed the game for me, most likely due to how it is coded to be permanently locked once one of the two perks is chosen in-game, so you might want to compensate by adding more SModCapacity to prior levels.
Logged

F3nn3L

  • Ensign
  • *
  • Posts: 11
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #186 on: April 01, 2025, 12:15:00 AM »

Go to Ship Mastery System/data/shipmastery and open the mastery_presets.json file with something like Notepad++, and the beginning should look like this:

Trying to change Level 8 crashed the game for me, most likely due to how it is coded to be permanently locked once one of the two perks is chosen in-game, so you might want to compensate by adding more SModCapacity to prior levels.

Gotcha, thanks.
Logged

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (3/27/25)
« Reply #187 on: April 01, 2025, 03:43:42 AM »

Any chance ships that have "paint job" only or small difference can be merged somehow ?

ex:
Wolf/Wolf(H)
Hound/Hound(P)/Hound(H)
Gremlin/Gremlin(P)


2.
Request: Add "some" guard rails on what modiffiers get offerd ?
I have had options for:
+1 burn on Frigates with burn 10,
+range if not moving on a Frigate,
and my favorite (Weapon turnrate) or (bulkhead+blast doors) on Hyperions.
Spoiler
[close]


3. Tooltip clarify
decrease the probability that ships destroyed in combat gains d-mods by 30%
decrease the probability that ships of this type destroyed in combat gains d-mods by 30% <--- im asuming this is how it actualy works

1. You gain 50% mastery points for skins from combat already. “Small difference” is too nebulous of a descriptor to merge skins with (e.g. different mount types wouldn’t work, but what if one skin is faster than the other and you wanted a speed mastery on one but not the other?). And I don’t know how magic paintjobs work (don’t use them), but as long as they retain the same hull id and there isn’t any nonsense with dynamically generated hull specs via reflection, they’ll share a mastery pool.

2. The reroll feature was already introduced to mitigate this. Hardcoding thousands of possible “guardrails” is not feasible, instead a weighting system is used.

3. That should be self evident, but ok, I’ll clarify possible ambiguities as I see them.

@Shinr, F3nn3l:
Thanks Shinr for the detailed instructions. Just FYI, modifying lvl 8 the way Shinr does shouldn’t cause a crash as long as you make sure the json is well formed (so, brackets to indicate an array after the key, which is “A”). The locking thing is a tag applied to some masteries and not hard-coded anywhere.

Fortunately, there’s a much easier way to accomplish this: just replace every instance of “SModCapacity” in mastery_presets.json with “SModCapacity 3”. Every mastery effect takes its strength as an optional first parameter; if omitted, the default from mastery_list.csv is used (in this case 0.5, which rounds up to 1. This is done so you can’t ever get 2 S-mods per bonus by maximizing your mastery effect modifier).

Edit: although, this would give you 18 S-mods at max mastery bonus, so perhaps following Shinr’s guide would be more sane (or just do SModCapacity 1.5).
« Last Edit: April 01, 2025, 03:51:07 AM by float »
Logged

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #188 on: April 04, 2025, 11:00:22 AM »

Mastery selection weight system has been changed. Update is save compatible, but most of your existing masteries are likely to change.

0.14.0 changelog
Note: Mastery weights have been changed across the board. Updating is likely to rearrange mastery effects for your existing ships.

- [REDACTED]-mk1: Added max-level masteries.
- Added custom NPC-focused "mastery" effects for new [REDACTED]:
    - Gray [REDACTED]: max level 10, each level reduces deployment points cost by 5%.
        - This only applies to ships in the starting fleet, and not to any ships that were generated during the fight, so it's less imposing than it seems.
    - Red [REDACTED]: max level 10, each level increases HP by 5% and effective armor (for hit strength calculation only) by a flat 10.
        - Note: red [REDACTED] start with an effective armor bonus of 50 in vanilla.
    - Note that enabling random mode will override these custom masteries, in which case the aforementioned ships will just use the same randomly-generated mastery preset as every other ship hull type.
- Greatly streamlined the difficulty system. Most of the settings that existed previously have now been made faction-specific, modifiable in faction_difficulty.csv.
    - Mastery levels are now assigned with a normal distribution around a given average and standard deviation, which varies based on faction.
    - Factions not in faction_difficulty.csv, including modded factions, use the <default> settings.
    - The difficulty slider now only modifies the average mastery level found in every fleet.
    - The previous progression setting increased *every* difficulty setting linearly over a period of time t, but since each slider was its own dimension of difficulty, the actual difficulty progression was more like t^5 (since there were 5 sliders).
    - New difficulty progression should scale linearly with time.
    - The formula for average mastery level in an NPC fleet is: 1/3*commanderLevel + factionDifficultyBonus + progressionBonus.
- Increased the types of NPC fleets that can have mastery effects.
    - Now can affect stations, fleets without an inflater, and fleets generated on the fly during an interaction.
    - Note that if the fleet doesn't have an inflater (gray and red [REDACTED]), has an inflater not compatible with DefaultFleetInflater, is explicitly tagged NO_AUTOFIT (omega ships), or has no base OP (station bases), then the fleet handler will not attempt to add S-mods or make up for excess OP as the result of mastery effects.
    - Modules of ships and stations can now have S-mods added to them if applicable.
- Added missile OP cost reduction mastery.
- Adjusted default difficulty and progression settings (2500 MP -> 2000 MP to max difficulty).
- Modified the selection weights of almost every mastery. In general: mastery effects that were deprioritized before are now even more deprioritized.
    - Should result in fewer "useless" masteries showing up (though they still do have positive weight, and so can still show up occasionally).
- The "apply an officer skill" mastery will now grant the elite version of the skill if the skill's captain already has the non-elite version.
    - Doesn't work with Support Doctrine; ships must be officered for the elite effect to be granted.
- Increased-range-if-no-other-bonuses mastery: made the numbers nicer (now 5%, 8%, 15%, 25% depending on ship size).
- Empty-mounts-reduce-weapon-flux mastery: hard cap text is now the standard text color as it doesn't scale with mastery strength.
- Some references to "ships" renamed to "this ship".
- Fixed a bug where an officer skill could get applied twice if once was from a mastery and the second was from Support Doctrine.
- Fixed a bug where officer skill masteries only applied "before ship creation" effects.
- Replaced usages of the (deprecated in Java 17) Class.newInstance method.
[close]
Logged

YukiM

  • Ensign
  • *
  • Posts: 26
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #189 on: April 04, 2025, 01:42:18 PM »

Does the system support custom mastery .json files out of the box or does there need to be extra script integration?

Id like to add custom mastery capstones for my faction's shipsystems
Logged

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #190 on: April 04, 2025, 02:09:46 PM »

Does the system support custom mastery .json files out of the box or does there need to be extra script integration?

Id like to add custom mastery capstones for my faction's shipsystems

Everything in data/shipmastery is using getMergedSpreadsheet/getMergedJson, so integration should be possible out-of-the-box (and in fact, I just tested it, it does work). So, e.g., you could create the file data/shipmastery/mastery_assignments.json in your own mod, place something like

Code
{
  "my_mod_ship_id": {
    "levels": {
      "max": {
        "A": "option1_id [option1_args]",
        "B": "option2_id [option2_args]"
      }
    }
  }
}
and that would force-set the max-level mastery for "my_mod_ship_id".
(Theoretically, it should also be possible to even create your own mastery effects by creating your own data/shipmastery/mastery_list.csv and pointing the script field to the right place in your own mod.)
Logged

Shadel

  • Ensign
  • *
  • Posts: 9
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #191 on: April 04, 2025, 02:27:25 PM »

Having a strange interaction with Second in Command since the update. Upon trying to get the free XO contract, you crash upon returning to bar. It was not happening before, and has been repeatable. Relevant Crash Log below hopefully.
Code
ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.InteractionDialogPlugin.advance(float)" because "this.øÒô000" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.InteractionDialogPlugin.advance(float)" because "this.øÒô000" is null
at com.fs.starfarer.ui.newui.X.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.R.advance(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.R.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.base/java.lang.Thread.run(Unknown Source)
Logged

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #192 on: April 04, 2025, 02:51:09 PM »

I don't really play with SiC, but suppose that I have SiC, this mod, and nothing else enabled. What would be the fastest way (with console commands) to get this bar event and reproduce the issue?
Logged

Jimminy Crimbles

  • Lieutenant
  • **
  • Posts: 75
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #193 on: April 04, 2025, 05:13:44 PM »

I don't really play with SiC, but suppose that I have SiC, this mod, and nothing else enabled. What would be the fastest way (with console commands) to get this bar event and reproduce the issue?

i believe the free XO contract he's talking about is the XO you begin with. when starting a new game, the market you're orbiting will have a free XO you can select the specialty of. so no console commands required
Logged

float

  • Captain
  • ****
  • Posts: 416
    • View Profile
Re: [0.98a] Ship Mastery System (+Miscellaneous Features) (4/4/25)
« Reply #194 on: April 04, 2025, 05:22:34 PM »

Having a strange interaction with Second in Command since the update. Upon trying to get the free XO contract, you crash upon returning to bar. It was not happening before, and has been repeatable. Relevant Crash Log below hopefully.
Code
ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.InteractionDialogPlugin.advance(float)" because "this.øÒô000" is null
java.lang.NullPointerException: Cannot invoke "com.fs.starfarer.api.campaign.InteractionDialogPlugin.advance(float)" because "this.øÒô000" is null
at com.fs.starfarer.ui.newui.X.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.R.advance(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.advanceImpl(Unknown Source)
at com.fs.starfarer.ui.R.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.base/java.lang.Thread.run(Unknown Source)
I don't really play with SiC, but suppose that I have SiC, this mod, and nothing else enabled. What would be the fastest way (with console commands) to get this bar event and reproduce the issue?

i believe the free XO contract he's talking about is the XO you begin with. when starting a new game, the market you're orbiting will have a free XO you can select the specialty of. so no console commands required

Thanks, should be patched now.
Logged
Pages: 1 ... 11 12 [13] 14 15 16