Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

(Release) Ship Configuration

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
hiran
Theorethicist
Posts: 2077
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: (Release) Ship Configuration

Post by hiran »

Cholmondely wrote: Sat Nov 20, 2021 10:52 pm
hiran wrote: Sat Nov 20, 2021 8:53 pm
I guess you are guessing right.

Now when I take the thought further, having misaligned lasers would mean you have to aim accordingly, and especially when you have two lasers that - theoretically - should meet at some point in front of the ship the focus point would dictate the optimal firing range. Something which might be difficult to keep in a fight.

So maybe this should be adjustable. By the pilot? By some ship computer addon? It could adjust the lasers (within a limited angle) for maximum hit on the selected target...
I think that if you want self-aiming weapons, that you need the buyable/sellable Yasen-N turrets .oxp (which according to a_c_ are pretty good once you know how to use them).
Hmmm. Yes, the concept is the same. just thinking of assembling a new ship to make use of that. And thinking of the Imperial Star Destroyer that I liked for it's turrets and fleet. Am going in circles, but the feature set is sufficient.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 466
Joined: Mon Sep 17, 2018 5:01 pm

Re: (Release) Ship Configuration

Post by Milo »

The function $deployHeatSink(ship) in ShipConfiguration_HeatSink uses a formula that can result in heat increase instead of decrease for ships with mass exceeding 500,000:

var sc = worldScripts.ShipConfiguration_Core;
var dumpAmount = this._amountToDump * (1 - (sc.$getShipMass(ship) / 500000));

For example, my Kirin Sport:

> worldScripts.ShipConfiguration_Core.$getShipMass(ps)
809505.0625
> worldScripts.ShipConfiguration_Core.$getShipMass(ps)/500000
1.619010125
> (1 - (worldScripts.ShipConfiguration_Core.$getShipMass(ps)/500000))
-0.619010125

_amountToDump is 0.5, so the dumpAmount ends up negative and subtracting a negative amount from ship.temperature results in the heat increasing.

In the "activated" function in ShipConfiguration_HeatSink that decides whether to automatically deploy a heat sink, there's a bounds check to keep the value positive:

if (dumpAmount < 0.1) dumpAmount = 0.1;

But dumpAmount is recalculated in the $deployHeatSink function without that bounds check. So the actual effect is... fatal.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4657
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: (Release) Ship Configuration

Post by phkb »

Good catch! I'll add it to the bug-fix list.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4657
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: (Release) Ship Configuration

Post by phkb »

Version 1.4.1 has been released which fixes the heat sink issue.
Post Reply