Apex Design Collective v1.2.14
(https://img.shields.io/github/downloads/thedragn/ApexDesignCollective/total?label=Download&style=for-the-badge) (https://github.com/theDragn/ApexDesignCollective/releases/latest/download/Apex.Design.Collective.zip) (https://img.shields.io/github/v/release/thedragn/ApexDesignCollective?label=Changelog&style=for-the-badge) (https://github.com/thedragn/ApexDesignCollective/releases)
A collectivist, high-tech faction with a focus on durability and fleet cohesiveness.
Requires Magiclib, Lazylib, Graphicslib, and Lunalib.
Save compatible, even with existing saves. The faction and exploration stuff will automatically be added.
(https://raw.githubusercontent.com/theDragn/ApexDesignCollective/main/promo.png)
Also includes some unrelated goodies to find during exploration.
(https://raw.githubusercontent.com/theDragn/ApexDesignCollective/main/apex_lineup_relic.png)
CREDITS AND SOURCE
Source code is available here. (https://github.com/theDragn/ApexDesignCollective/tree/main/jars/src)
- Gwyvern: Sprites.
- Haplogynae: Music.
- Mesotronik: Most of the SFX.
- Mayu: A couple hullmod sprites.
- Farlarzia, Ruddygreat, Cjuicy, Silverlight, Avanitia: Loyal beta testers. May their names live on in glory.
CHANGELOG
Version 1.2.14
- Fixed two crashes (one on NTA hullspec mouseover, one from Laser Drone Pod)
- Fixed minor sprite pixel dimension issues.
Version 1.2.13
Updated for 0.98. Save compatible, if you're using your old save for some reason. Existing relic caches and derelicts will not contain the new relic items, but as always, they can be found with the historian or in scavenger fleets.
New for the Collective:
- Ultrachromatic Charge Launcher (large missile): Launches slow-moving and highly destructive energy bombs. Shield hits interfere with flux dissipation; armor hits cause EMP chain reactions.
- Sphaero Light Bomber: Cheap, fast, and disposable bomber drone equipped with unguided harmonic rockets. Three fighters per squadron.
New relics to find in exploration:
- Haynes-class Cruiser: ???
- Volatile Plasma Rifle (Relic, large energy): ???
- Laser Rifle (Relic, small energy): ???
- Laser Shotgun (Relic, medium energy): ???
- Laser Drone Pod (Relic, medium missile): ???
Changes:
- Aizawa/Dadras: Regenerative damper regen percent split by hull; Dadras now gets 3% missing armor/sec, Aizawa now gets 1.33% missing armor/sec. No longer provides maneuverability bonus.
- Coherency Amplifier: Now gives *all* energy weapon projectiles 50% of their base damage as EMP, not just Quark-Gluon weapons. (For technical reasons, the bonus EMP does not apply to flak-like explosions.)
- Networked Targeting Array: Reworked. Increases fighter, small, and medium weapon base range based on the amount of OP spent on weapons, but halves fighter engagement range. Maximum bonus is now 300 for ship weapons and 600 for fighter weapons, reached at 120 OP. Now costs as much as Ballistic Rangefinder, and is incompatible with it.
- Range Synchronizer: Loosened restrictions to match Augmented Range Synchronizer, and increased max range bonus to 50%. Clarified that it does not account for other changes to weapon base range.
- Sledgehammer MRMs: Decreased reload time on medium (15s -> 10s) and large (22s -> 15s).
- Shrieker Torpedoes: Increased small (1s -> 3s) and large (6s -> 12s) reload time. Reduced HP (250/300->200).
- LPDS Pod: Clarified that the flux dissipation penalty is flat, not percent, and increased it (33 -> 40). Decreased missile damage (500 -> 400). Slightly reduced fighter targeting priority; slightly increased high-damage missile priority.
- Wailer MRMs: Reduced armor strip (100 -> 75).
- Shatter Canisters: Increased submunition spread arc significantly (17.5 deg -> 24 deg)
- Plasmatic Repeaters: Increased bonus EMP damage on the fourth shot (300% -> 400%).
- Chameleon: Reduced gun range (1200 -> 1000).
- Arcspike/Arcstorm: Normalized EMP damage on hit and arc to 150 across all models.
Fixes:
- Hopefully fixed an issue where the Excession event could occur more than once.
- Some improvements to relic cache/derelict spawn locations; they should no longer spawn on top of each other.
- Spectrum, Backscatter: Removed carrier tag from cargo/fuel refits.
Version 1.2.12
- Major changes to the internal math for support hullmods, along with fancy new VFX. Numbers should be about the same, but with more consistent behavior overall.
- Removed hard dependency on LunaLib specifically to make Nes happy. If you 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.
Version 1.2.11
Changes:
- Fixed some minor graphical issues caused by unclipped normal maps.
- Fixed kinetic and energy VLS missiles having the wrong impact color.
- Fixed a spelling error.
- Anaconda: System duration extended (2.25s -> 2.75s) and beam damage reduction increased (33% -> 50%). Now pushes projectiles away instead of just slowing them down, which can result in shenanigans.
- LPDS Pod: Reduced OP cost (16 -> 14). Should no longer engage things in the fog of war.
Version 1.2.10
- Added GraphicsLib normal maps and light configurations for all hulls and weapons.
- Fixed a crash with the LPDS Pod.
Version 1.2.9
- Now safe for forum posting again.
- Added a new relic weapon, LPDS Pod.
- Aizawa and Dadras durability reduced slightly.
- Nanoacid Cannon spread increased.
- Shatter Canisters ammo regen increased.
- Shrieker Torpedo Silo OP cost increased, frag damage reduced. ECCM guidance improved.
- Arcstorm submunition dispersal rate and dispersal spread quadrupled. Ammo increased slightly.
- Music volume slightly increased to mesh with vanilla volume.
Q&A
What's their deal (lore)?
- They're a big worker-run cooperative that violently took over a boutique military-industrial corporation during the collapse.
- What's their deal (mechanics)?
They're basically expensive and slower midline, preferring hybrid/energy slots instead of energy/ballistic slots. They have hullmods that install remote support systems that can help allies dissipate flux or repair armor, which lets them excel in attrition fights. They also have armor and shield hullmods that help mitigate damage from low-hit-strength weapons.
- How do I beat them?
They're very weak to getting outnumbered. Individual Collective ships are relatively expensive, and their fleets will suffer from a poorer dissipation-to-DP ratio than most other doctrines. They are also able to shrug off low-hit-strength weapons like needlers or light assault guns relatively easily due to their unique armor (and shields, with the right hullmod), so bring missiles and high-power guns. If you can isolate individual ships, they will die relatively easily, since they rely on being able to retreat behind their battle line when pressured.
- How do I use them?
Individually, Collective ships fall into either frontline, pursuit, or support ships. Frontline ships are durable but slow, usually with a tank-enhancing ship system. These exist to protect pursuit and support ships from sustained pressure. Pursuit ships have mobility and/or damage ship systems and are designed to secure kills. Support ships provide fighter cover or missile support to other ships. What distribution of ships is best for your fleet depends on how you like to play the game.
Skin Packs
PEAK - by Nes (https://fractalsoftworks.com/forum/index.php?topic=30826.0)
(https://imgur.com/gXkqjdF.jpg)
Awsome work on the mod so far!
Just had a crash with the newest version. Game crashed as soon i hovered over the network targeter hullmod!
Spoiler
14887119 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException: Parameter specified as non-null is null: method data.hullmods.ApexNetworkTargeter.addPostDescriptionSection, parameter ship
java.lang.NullPointerException: Parameter specified as non-null is null: method data.hullmods.ApexNetworkTargeter.addPostDescriptionSection, parameter ship
at data.hullmods.ApexNetworkTargeter.addPostDescriptionSection(ApexNetworkTargeter.kt)
at com.fs.starfarer.api.campaign.impl.items.ModSpecItemPlugin.createTooltip(ModSpecItemPlugin.java:217)
at com.fs.starfarer.campaign.ui.trade.CargoDataGridView$1.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.ui.OOOo.showTooltip(Unknown Source)
Edit: Seems like clicking the hullmod spec fast enough lets you learn the mod no problem. So seems to be a problem with the into box when hovering over the mod.
Hey there!
Got a insta-crash that happens whenever I hover over the networked targeting array hullmod in game
java.lang.NullPointerException: Parameter specified as non-null is null: method data.hullmods.ApexNetworkTargeter.addPostDescriptionSection, parameter ship
at data.hullmods.ApexNetworkTargeter.addPostDescriptionSection(ApexNetworkTargeter.kt)
at com.fs.starfarer.api.campaign.impl.items.ModSpecItemPlugin.createTooltip(ModSpecItemPlugin.java:217)
at com.fs.starfarer.campaign.ui.trade.CargoDataGridView$1.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.ui.R.showTooltip(Unknown Source)
at com.fs.starfarer.ui.Stringsuper.Object.new(Unknown Source)
at com.fs.starfarer.ui.Stringsuper.processInput(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.trade.CargoDataGridView.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.g$Oo.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.g.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.campaign.ui.void.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.coreui.p.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.class.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.for.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.newui.X.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.o000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.R.processInput(Unknown Source)
at com.fs.starfarer.campaign.CampaignState.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.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Hi, I got crash to desktop while running the benchmark mission, here's the log:
159815 5267978 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain java.lang.NullPointerException: Cannot read field "y" because "<parameter2>" is null
159816 java.lang.NullPointerException: Cannot read field "y" because "<parameter2>" is null
159817 at com.fs.starfarer.prototype.Utils.?00000(Unknown Source)
159818 at com.fs.starfarer.settings.StarfarerSettings$1.getAngleInDegreesFast(Unknown Source)
159819 at com.fs.starfarer.api.util.Misc.getAngleInDegrees(Misc.java:1131)
159820 at data.weapons.proj.ApexDEMScript.doMissileControl(ApexDEMScript.java:490)
159821 at data.weapons.proj.ApexDEMScript.advance(ApexDEMScript.java:439)
159822 at com.fs.starfarer.title.C.L$Oo.o00000(Unknown Source)
159823 at com.fs.starfarer.combat.oOOO.A.o00000(Unknown Source)
159824 at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
159825 at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
159826 at com.fs.starfarer.combat.CombatState.traverse(Unknown Source)
159827 at com.fs.state.AppDriver.begin(Unknown Source)
159828 at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
159829 at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
159830 at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
159831 at java.base/java.lang.Thread.run(Unknown Source)