Quirium Cascade Bomb

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

Moderators: winston, another_commander

User avatar
Cholmondely
Archivist
Archivist
Posts: 6413
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Quirium Cascade Bomb

Post by Cholmondely »

Redspear wrote: Mon Aug 11, 2025 10:02 am
phkb wrote: Mon Aug 11, 2025 8:19 am
I guess at this point I'm not entirely sure I understand the reasoning for putting equipment on pylons. Is the idea as an extension to Equipment by Ship Type, allowing additional equipment that wouldn't normally fit in the ship?
After reading the above, that comes across :D
No worries, I appreciate your effort re my evidently clumsy explanation.

phkb wrote: Mon Aug 11, 2025 8:19 am
Or were you imagining *reducing* the players missile capacity if a pylon equipment item was installed?
Crudely, yes.

Pylons for equipment including (but not limited to) missiles and mines.

I think the name 'pylon' might be causing confusion here.
Rather than imagining an empty launch tube when a missile isn't installed (as the core code appears to), imagine instead an empty space, ready to be connected to whatever equipment item was installed.

I'll spell it out as best as I can...


Imagine I was Giles, designing oolite from the beginning, then perhaps pause with a shudder and thank your lucky stars that I wasn't.

Suppose I got to working on the shipdata and thought, 'Hmm, rather than a missile slot being for missiles & mines only, I could also use them for other pieces of equipment. It might be a bit unfamiliar/radical for some and so I could just incorporate it as an oxp option (by making requires_empty_pylon work the same for any equipment item) and oxp tinkerers could then add more of these 'pylons' via shipdata as they saw fit, rather than my needing to add extra pylons to the core data for this purpose'.

What I then wouldn't do is restrict pylon use to anything labelled missile or mine and then further insist that they behave as such because, of course, that would be contrary to the above wish. If I couldn't change that then I'd likely grant missile capacity a read/write property.

The utility of that second option is that if I can't smoothly assign an ECM (for example) to a pylon (without all the undesirable elements mentioned upthread) then I can instead remove a pylon once an ECM is installed and restore it if it is removed. Cosmetically it works, functionaly it works, wilth no odd quirks like it being launchable or crowding my missile selection with non weapons, just a simple check to see if a pylon were free prior to installing.


If I code that without being able to alter missile capacity via script then I'd need to deny missile and mine purchase once pylon 'capacity' was reached (on account of installed item I'm imaginging to occupy pylons - small problem) but the player HUD would still display empty pylons (bigger problem) and there are more likely to be other conflicts because of the fudgery that was taking place.


If it still doesn't make sense then please consider making missile capacity read/write and then I'll write the oxp to show you :D
I see the pylons as being involved with the outside of the ship.

Might it not be better to introduce a new category of interior spaces which equipment could slot into? And then for example have the Expanded Cargo Hold impact on the space available? But then don't we get that facility with [EliteWiki] Ship Configuration OXP and with Cim's SotL AltMap? (Also Stranger's SW Equipment ([wiki]Stranger's Set[/wiki]) and possibly Norby produced an OXP, too).

I'm unaware of any OXP which specifically piggybacks on Ship Configuration's mechanic (but do they need to?).
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2892
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: Quirium Cascade Bomb

Post by Redspear »

Cholmondely wrote: Mon Aug 11, 2025 10:59 am
I see the pylons as being involved with the outside of the ship.
Sure but that depends upon how exactly.

Are the missiles externally mounted or internally stored?
Fuel scoops presumably must have access to the exterior and yet are not pylon mounted.
What about ECM, Military Shields or the now non-pylon stored q-bomb? They all affect the outside, don't they?

If they are exterior then it's not an exclusive property and that's my main beef, they remain a special, protected case, that limits what I can do with them, despite some shipdata.plist properties suggesting otherwise..
iI'm restricted both in regards to what I can do with pylons and further what I can do with missiles.

I apprecaite that laser mounts are similar in this regard which is partly why I was enquiring about them in the scripter's cove thread recently


I could just use requires_cargo_space for any equipment item I chose (although I seem to recall it not working for mines/missiles *) but the pylons would remain a special case; I can't just be done with pylons without losing current missiles functionality.

Imagine a mk 3 with only 2 missile pylons because it had instead chosen to install (your combination of choice here). That both interests me and is simple. Coding wise it's currently rather less simple unfortunately.

And re ship configuration piggybacking, no that's unneccessary, as I and others have demonstrated with varying success (my released effort currently being something of a mess that I really should sort out).

* Presumably requiring cargo space for missiles didn't work because of the simultaneous pylon requirement.
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2866
Joined: Sat Jun 11, 2011 6:07 am
Location: Nova Hollandia
Contact:

Re: Quirium Cascade Bomb

Post by Wildeblood »

Redspear wrote: Mon Aug 11, 2025 12:00 pm
I could just use requires_cargo_space for any equipment item I chose (although I seem to recall it not working for mines/missiles *) but the pylons would remain a special case; I can't just be done with pylons without losing current missiles functionality.
This is very frustrating. Why do you refuse to use the technique Oolite provides? Why do you refuse to be clear about what you're actually trying to achieve? Don't make Cholly come to Yorkshire to straighten you out, explain yourself!

Every time you mention this, I'm left with a different interpretation of what you actually want. Now it sounds like you want to be able to define a ship with zero pylons, and still have it be able to launch missiles...!?
"Must keep this response efficient to preserve remaining context."
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2892
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: Quirium Cascade Bomb

Post by Redspear »

Wildeblood wrote: Mon Aug 11, 2025 12:10 pm
This is very frustrating.
Agreed.
Wildeblood wrote: Mon Aug 11, 2025 12:10 pm
Why do you refuse to use the technique Oolite provides?
Because it doesn't apply universally and therefore can't do what I want.
Wildeblood wrote: Mon Aug 11, 2025 12:10 pm
Why do you refuse to be clear about what you're actually trying to achieve? Don't make Cholly come to Yorkshire to straighten you out, explain yourself!
I've tried to and indeed would love to explain myself but, from my perspective, no one else seems to get it. Happened before, probably me etc.
Wildeblood wrote: Mon Aug 11, 2025 12:10 pm
Every time you mention this, I'm left with a different interpretation of what you actually want. Now it sounds like you want to be able to define a ship with zero pylons, and still have it be able to launch missiles...!?
My point was that I'm forced into a double standard of equipping these items differently than other items.

For everything else I can use requires_cargo_space.
I can't do away with pylons because missiles require them and I can't use requires_cargo_space for anything using a pylon (from memory).

I can currently fill cargo space with whatever without it necessarily being treated like cargo (no 'oops, I've jettisoned my ECM' etc.).
I can't do that with pylons without them being treated like missiles/mines. So I can't rely on just one method.

How many missiles/mines I equip remains irrelevant to whatever else I have equipped because they're not drawing from the same pool (one from cargo the other from pylons). I'd like those pools to be able to draw from each other or just become one.


Still not making sense? Quick summary:

Can we please consider making missile_capacity read/write? Thanks.
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2866
Joined: Sat Jun 11, 2011 6:07 am
Location: Nova Hollandia
Contact:

Re: Quirium Cascade Bomb

Post by Wildeblood »

Redspear wrote: Mon Aug 11, 2025 12:53 pm

I can currently fill cargo space with whatever without it necessarily being treated like cargo (no 'oops, I've jettisoned my ECM' etc.).
I can't do that with pylons without them being treated like missiles/mines. So I can't rely on just one method.

How many missiles/mines I equip remains irrelevant to whatever else I have equipped because they're not drawing from the same pool (one from cargo the other from pylons). I'd like those pools to be able to draw from each other or just become one.
But why? What is the point of this? Why do you want to be able to nobble the pylons?
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2892
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: Quirium Cascade Bomb

Post by Redspear »

Wildeblood wrote: Mon Aug 11, 2025 1:04 pm
But why? What is the point of this? Why do you want to be able to nobble the pylons?
Great question. I've tried to answer it several times to little avail.

...

I want equipment loadout choices to potentially affect missile capacity because I imagine other items competing for the same spaces (pylons).

If I can do that then I can sacrifice missile to install other equipment items as I see fit.

Others have made oxps where you could sacrifice missile capacity for fuel or cargo space (albeit with the jettisoning/firing/activating issue).

I'd like to exchange it for something without having that thing be treated like a missile/mine be launched from a pylon (which the game currerntly appears to have issues with).

If requires_empty_pylon worked for any item then I'd need none of this.
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 5386
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Quirium Cascade Bomb

Post by phkb »

Redspear wrote: Mon Aug 11, 2025 1:18 pm
I want equipment loadout choices to potentially affect missile capacity because I imagine other items competing for the same spaces (pylons).

If I can do that then I can sacrifice missile to install other equipment items as I see fit.
It's not quite as simple as just making missile capacity read/write. Equipment items installed as a "mine" can't be equipment. For example, in that sample code I shared, there are two equipment items present: the "mine", and a standard item that is an ECM unit. I originally thought I would only need the "mine", because I could add provides = ("EQ_ECM"); to it and everything would be sweet. But, you don't get an ECM if the equipment item is attached as a missile/mine.
Redspear wrote: Mon Aug 11, 2025 10:02 am
Imagine I was Giles, designing oolite from the beginning, then perhaps pause with a shudder and thank your lucky stars that I wasn't.

Suppose I got to working on the shipdata and thought, 'Hmm, rather than a missile slot being for missiles & mines only, I could also use them for other pieces of equipment. It might be a bit unfamiliar/radical for some and so I could just incorporate it as an oxp option (by making requires_empty_pylon work the same for any equipment item) and oxp tinkerers could then add more of these 'pylons' via shipdata as they saw fit, rather than my needing to add extra pylons to the core data for this purpose'.
If I was the developer, I would have explored this idea, and realised the immense amount of overhead I'd need to add to the code to keep the missiles/mines separate from equipment (in shipdata, on the HUD, via JS, etc), and then decided that keeping equipment separate from missiles/mines is a lot easier to manage. :D
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2892
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: Quirium Cascade Bomb

Post by Redspear »

phkb wrote: Tue Aug 12, 2025 5:57 am
It's not quite as simple as just making missile capacity read/write. Equipment items installed as a "mine" can't be equipment.
The request for the former is in order to avoid all of the quirks of the latter.

I would be simulating a pylon being used by removing it as long as a relevant non missile/mine item were installed and thereby avoiding all of the code based restrictions attached to pylon mounted items.

Given that I thought I'd explained that already, i'll try another approach.

I've seen your code now, Here's mine.

Please excuse likely crappy syntax etc. and assume that missile_capacity were made read/write.
Hopefully it's enough to explain what I'm imagining.

  • 1 config file:
    • equipment-overrides.plist
  • 2 script files:
    • pylon_items_conditions.js
    • pylon_items.js

Pertinent sections only...

equipment-overrides.plist

Code: Select all

"EQ_ECM" = {	// I want this to be a pylon mounted item without all of the restricions around pylon item handling therefore I'm setting up some conditions
		condition_script = "pylon_items_conditions.js";
	};

pylon_items_conditions.js

Code: Select all

this.allowAwardEquipment = function(eqKey, ship, context) {

If (eqKey == "EQ_ECM" && missile_capacity == missiles) { // all pylons in use so I don't want to allow this item to be installed
return false;}
If (eqKey == "EQ_ECM" && missile_capacity > missiles) {	// when there's a pylon free however, I do want to allow it's installation
return true;}

}

pylon_items.js

Code: Select all

this.equipmentAdded = function(eqKey) {

If (eqKey == "EQ_ECM") {	// when an item was installed that I wish to occupy a pylon then I'll need to simulate such
player.ship.missile_capacity = player.ship.missile_capacity -1;}	//	therefore remove a pylon in order to simulate it being occupied without the need for a missile/mine enity and all of the clunkiness around that

}

this.equipmentRemoved = function(eqKey) {

If (eqKey == "EQ_ECM") {	//	of course if such an item were to be removed then a pylon should be restored
player.ship.missile_capacity = player.ship.missile_capacity +1;}	// like so

// pylon use by any item desired is now simulated without requiring EQ_ECM_MINE, launchable mine entity substitutes or even the fact that 'Equipment items installed as a "mine" can't be equipment.'

}
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 5386
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Quirium Cascade Bomb

Post by phkb »

Redspear wrote: Tue Aug 12, 2025 9:17 am
Given that I thought I'd explained that already, i'll try another approach.
No, I think I've got it now.

I mean, we've really derailed this thread, but that's ok. Discussion is good.

How would you define the maximum number of missile slots of each ship? Use the current values, or increase to allow for more equipment slots?
User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 2892
Joined: Thu Jun 20, 2013 10:22 pm
Location: On the moon Thought, orbiting the planet Ignorance, looking through a telescope with the lens cap on

Re: Quirium Cascade Bomb

Post by Redspear »

phkb wrote: Tue Aug 12, 2025 9:53 am
I mean, we've really derailed this thread, but that's ok. Discussion is good.
Yeah, sorry, I was hoping to be clearer.

phkb wrote: Tue Aug 12, 2025 9:53 am
How would you define the maximum number of missile slots of each ship? Use the current values, or increase to allow for more equipment slots?
Well, the change I'm requesting (making missile capacity read/write) is an enabler for oxps rather than to enforce anything on the default game (you may have understood that).

For some ships I'd likely add one or two more e.g. fdl (which is supposed to be high-tech), adder (a second slot would be less restrictive for a player start) but as part of an oxp.

Because it's tricky to attach multiple conditions via multiple oxps to the same piece of equipment, I'm not imagining that every piece of equipment as requiring a slot (if requires_empty_pylon and is_external_store weren't missile/mine sensitive then that wouldn't be an issue).
Post Reply