Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: 1 ... 9 10 [11] 12 13 ... 20

Author Topic: [0.97a] Quality Captains: A Skill Rework - Now with perks! v1.6.0  (Read 211254 times)

TheMineKnight

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #150 on: February 26, 2023, 07:47:18 AM »

Much as I'd have loved to play around with this mod, it just isn't for me. There are some vanilla skills I like the way they are, and others that were changed in this Mod that just feel more like what you'd actually want out of it. To me, it's not clear enough if that's even possible, let alone feasible. Love the idea of the mod, I just do not know how to properly work with it in a way that is satisfying to me.

Great work though, I hope many people can enjoy and love all the hard work you've clearly put into this.
Logged

HopeFall

  • Lieutenant
  • **
  • Posts: 83
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #151 on: March 20, 2023, 03:13:38 AM »

Would love a write up of what these do.
Logged

twetyy

  • Ensign
  • *
  • Posts: 14
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #152 on: May 19, 2023, 08:09:32 AM »

If there is mod i need to have for 0.96 that's nexerlin, but next one in line is Quality captains, anyone has clue how to update it for current patch?
Logged

Sanrai

  • Ensign
  • *
  • Posts: 38
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #153 on: May 19, 2023, 07:17:59 PM »

If there is mod i need to have for 0.96 that's nexerlin, but next one in line is Quality captains, anyone has clue how to update it for current patch?

Looks like an issue in the jar file with neural network.

49765 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.RuntimeException: java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
   at com.fs.starfarer.combat.oOOO.B.Ò00000(Unknown Source)
   at com.fs.starfarer.title.TitleScreenState.processInput(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.super(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.NullPointerException
   at com.fs.starfarer.api.impl.campaign.skills.CaptainsNeuralLinkScript.processInput PreCoreControls(CaptainsNeuralLinkScript.java:383)
   ... 8 more

No clue how to fix this.
Logged

Sanrai

  • Ensign
  • *
  • Posts: 38
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #154 on: May 19, 2023, 07:57:28 PM »

Alright, I did some digging through the class files and I think I found the problem with changes to the original neuralnetworkscript.class file. On line 307
Quote
if (this.engine.getCombatUI().isShowingCommandUI())
was replaced with
Quote
if (this.engine == null || this.engine.getCombatUI() == null || this.engine.getCombatUI().isShowingCommandUI())
However I know nothing about actually de-compiling and recompiling class files, so I can't actually implement a fix.
« Last Edit: May 21, 2023, 04:41:31 PM by Sanrai »
Logged

Sanrai

  • Ensign
  • *
  • Posts: 38
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #155 on: May 19, 2023, 08:42:16 PM »

I went through and checked all skill .class files that changed in size from .95 to .96. Here are the changes I found.
Spoiler
AutomatedShips$Level1
   Changed Line 23
      From
         if (Misc.isAutomated(stats)) {
      To
            if (Misc.isAutomated(stats) &&
               !Automated.isAutomatedNoPenalty(stats)) {

AuxiliarySupport$Level1
   Removed Lines
      import com.fs.starfarer.api.Global;
      import com.fs.starfarer.api.loading.HullModSpecAPI;
      
      HullModSpecAPI mil = Global.getSettings().getHullModSpec("militarized_subsystems");
      HullModSpecAPI ep = Global.getSettings().getHullModSpec("escort_package");
      HullModSpecAPI ap = Global.getSettings().getHullModSpec("assault_package");
      info.addPara("+%s to combat effects of " + mil.getDisplayName() + ", " +
         ep.getDisplayName() + ", and " + ap.getDisplayName() + " (maximum: %s)", 0.0F, this.hc, this.hc, new String[] { (int)auxBonus + "%",
           (int)AuxiliarySupport.AUXILIARY_EFFECT_BONUS + "%" });
      addMilitarizedOPThresholdInfo(info, data, stats);

BaseSkillEffectDescription
   Added Dependencies
      import com.fs.starfarer.api.impl.hullmods.Automated;
   Changed Line 592
      From
         !Misc.isAutomated(curr))
      To
         !Misc.isAutomated(curr) ||
         Automated.isAutomatedNoPenalty(curr))

DerelictContingent
   Added Line
      public static float EXTRA_DMODS = 4.0F;

DerelictContingent$Level2
   Entirely New File

ElectronicWarfareScript
   Changed Line 89
      From
         int eccm = Math.round(this.engine.getPlayerShip().getMutableStats().getDynamic().getValue("electronic_warfare_penalty_mod", 0.0F));
         eccm = -eccm;
         if (eccm != 0)
            this.engine.maintainStatusForPlayerShip(KEY_STATUS2, icon, "On-board ECCM", "up to " + eccm + "% ecm neutralized", false);
      To
         int eccm = 100 - Math.round(this.engine.getPlayerShip().getMutableStats().getDynamic().getValue("electronic_warfare_penalty_mod", 100.0F));
         if (eccm > 100)
            eccm = 100;
         if (eccm < 0)
            eccm = 0;
         if (eccm != 0)
            this.engine.maintainStatusForPlayerShip(KEY_STATUS2, icon, "On-board ECCM", eccm + "% ecm neutralized", false);
      
   Changed Line 104
      From
         currPenalty = member.getShip().getMutableStats().getDynamic().getValue("electronic_warfare_penalty_mod", penalty);
      To
         currPenalty = member.getShip().getMutableStats().getDynamic().getValue("electronic_warfare_penalty_mod", currPenalty);
      
FieldRepairsScript
   Changed Line 115
      From
         if (member.getVariant().isStockVariant())
      To
         if (member.getVariant().isStockVariant() ||
         member.isMothballed() ||
         member.getHullSpec().hasTag("unrestorable") ||
         member.getVariant().hasTag("unrestorable"))
   Changed Line 143
      From
         if (member.getVariant().isStockVariant()) {
      To
         if (member.getVariant().isStockVariant() || member.isMothballed() ||
         member.getHullSpec().hasTag("unrestorable") ||
         member.getVariant().hasTag("unrestorable")) {
[close]
Logged

TimeDiver

  • Captain
  • ****
  • Posts: 352
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #156 on: May 19, 2023, 11:02:05 PM »

Alright, I did some digging through the class files and I think I found the problem with changes to the original neuralnetworkscript.class file. On line 307
Quote
if (this.engine.getCombatUI().isShowingCommandUI())
was replaced with
Quote
if (this.engine == null || this.engine.getCombatUI() == null || this.engine.getCombatUI().isShowingCommandUI())
and between lines 416 and 417 the line
Quote
public static class NeuralLinkScript {}
was added. However I know nothing about actually de-compiling and recompiling class files, so I can't actually implement a fix.

Wouldn't a quick-and-dirty fix be to rename (OR delete) the 'neural_link.skill' file from the '<Starsector install path>\mods\Quality Captains\data\characters\skills\' folder (so it uses the default Starsector version of the skill, averting the CTD) along with changing 'gameVersion' in the mod_info.json file to '0.96a-RC8' (or -RC9, or -RC10, etc.)?
Logged

Sanrai

  • Ensign
  • *
  • Posts: 38
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #157 on: May 20, 2023, 02:04:02 AM »

Alright, I did some digging through the class files and I think I found the problem with changes to the original neuralnetworkscript.class file. On line 307
Quote
if (this.engine.getCombatUI().isShowingCommandUI())
was replaced with
Quote
if (this.engine == null || this.engine.getCombatUI() == null || this.engine.getCombatUI().isShowingCommandUI())
and between lines 416 and 417 the line
Quote
public static class NeuralLinkScript {}
was added. However I know nothing about actually de-compiling and recompiling class files, so I can't actually implement a fix.

Wouldn't a quick-and-dirty fix be to rename (OR delete) the 'neural_link.skill' file from the '<Starsector install path>\mods\Quality Captains\data\characters\skills\' folder (so it uses the default Starsector version of the skill, averting the CTD) along with changing 'gameVersion' in the mod_info.json file to '0.96a-RC8' (or -RC9, or -RC10, etc.)?

No, because you also would have to comment out ever single line of code that calls that file, and that still leaves the contents of the .jar file untouched (Which I don't know how to edit.)
Logged

Sanrai

  • Ensign
  • *
  • Posts: 38
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #158 on: May 21, 2023, 04:34:44 PM »

Woke up this morning and realized I was going about this stupid and wrong. There was a very easy fix. Go to data/config/settings.json and comment out "neuralLinkPlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsNeuralLinkScript",. This will prevent the offending code from being called. I've3 tested the neural link mod in combat and it appears to work fine. Gonna do a more full play-through and see if it's stable.
Logged

twetyy

  • Ensign
  • *
  • Posts: 14
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #159 on: May 22, 2023, 10:05:41 AM »

Woke up this morning and realized I was going about this stupid and wrong. There was a very easy fix. Go to data/config/settings.json and comment out "neuralLinkPlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsNeuralLinkScript",. This will prevent the offending code from being called. I've3 tested the neural link mod in combat and it appears to work fine. Gonna do a more full play-through and see if it's stable.
I was editing vars, it worked until it crashed on what i think is when enemy has neural link.
But your fix works fine for now, il report issues. It's time to >:)
Logged

twetyy

  • Ensign
  • *
  • Posts: 14
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #160 on: May 26, 2023, 02:47:34 PM »

Woke up this morning and realized I was going about this stupid and wrong. There was a very easy fix. Go to data/config/settings.json and comment out "neuralLinkPlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsNeuralLinkScript",. This will prevent the offending code from being called. I've3 tested the neural link mod in combat and it appears to work fine. Gonna do a more full play-through and see if it's stable.
About 5 years in and lvl 15, works flawleslly so far. Didn't dare to click neural link skill, but other then that, everything seems to work with above fix.
Logged

PreConceptor

  • Commander
  • ***
  • Posts: 143
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #161 on: May 28, 2023, 09:03:58 AM »

tried Sanrai's fix and still getting crashes whenever opening the Character menu

Spoiler
272654 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException
java.lang.NullPointerException
   at com.fs.starfarer.ui.impl.StandardTooltipV2$3.createImpl(Unknown Source)
   at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.create(Unknown Source)
   at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.beforeShown(Unknown Source)
   at com.fs.starfarer.coreui.nullsuper.Ò00000(Unknown Source)
   at com.fs.starfarer.ui.n.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.v.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.AptitudeRow.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.g$Oo.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.g.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.Oo00.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.OoO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.newui.o0OO.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.public.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.newui.L.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.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:750)
[close]
Logged

twetyy

  • Ensign
  • *
  • Posts: 14
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #162 on: May 29, 2023, 09:46:33 AM »

tried Sanrai's fix and still getting crashes whenever opening the Character menu

Spoiler
272654 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException
java.lang.NullPointerException
   at com.fs.starfarer.ui.impl.StandardTooltipV2$3.createImpl(Unknown Source)
   at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.create(Unknown Source)
   at com.fs.starfarer.ui.impl.StandardTooltipV2Expandable.beforeShown(Unknown Source)
   at com.fs.starfarer.coreui.nullsuper.Ò00000(Unknown Source)
   at com.fs.starfarer.ui.n.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.v.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.AptitudeRow.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.g$Oo.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.g.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.Oo00.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.coreui.OoO0OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.newui.o0OO.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.public.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.newui.L.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.advance(Unknown Source)
   at com.fs.starfarer.ui.interfacenew.advanceImpl(Unknown Source)
   at com.fs.starfarer.ui.thissuper.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:750)
[close]
edit mod file QualityCaptains/data/config/settings.json
it should look like this, you can copy paste the bellow code into file if you dont know how to comment.
Spoiler
{
   #See modSettings.json for configuration options.
   
   #Code stuff
   "plugins":{
      "coordinatedManeuversPlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsCoordinatedManeuversScript",
      "electronicWarfarePlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsElectronicWarfareScript",
      #"neuralLinkPlugin":"com.fs.starfarer.api.impl.campaign.skills.CaptainsNeuralLinkScript",
   },
}
[close]

Edit: You require magic lib as well as dependancy. It crashes without it.
Logged

PreConceptor

  • Commander
  • ***
  • Posts: 143
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #163 on: June 08, 2023, 10:27:52 AM »

Yeah thats exactly what I did, still crashes.
Logged

Dal

  • Commander
  • ***
  • Posts: 155
    • View Profile
Re: [0.95.1a] Quality Captains: A Skill Rework v1.1.1
« Reply #164 on: June 14, 2023, 02:26:36 AM »

I don't want you guys working around silly issues while I'm procrastinating. Here's a functional update with proper 0.96 support. Full release version will include polish on actual skill effects. Appreciation to Sanrai for helping point out some of the changes.
NB: Activate Uninstall Mode on any old builds, code locations have changed. Tech support not offered if your computer explodes, though please let me know if it happens.

Update: Mod fully updated! Get it from the OP.
« Last Edit: August 16, 2023, 03:40:34 PM by Dal »
Logged
Pages: 1 ... 9 10 [11] 12 13 ... 20