Understand 'Sudden Death'

General discussion for players of Oolite.

Moderators: winston, another_commander

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

Re: Understand 'Sudden Death'

Post by phkb »

Can you post the full log somewhere?
User avatar
hiran
Theorethicist
Posts: 2410
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Understand 'Sudden Death'

Post by hiran »

phkb wrote: Fri Sep 01, 2023 7:44 am
Can you post the full log somewhere?
Here you go...
https://my.mail.de/dl/a91ec4782b525263b10ef2957ed741ed
Sunshine - Moonlight - Good Times - Oolite
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Understand 'Sudden Death'

Post by phkb »

Can you try taking out the "Thargorn Threat" OXP, and see how it goes?
User avatar
hiran
Theorethicist
Posts: 2410
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Understand 'Sudden Death'

Post by hiran »

phkb wrote: Fri Sep 01, 2023 11:02 am
Can you try taking out the "Thargorn Threat" OXP, and see how it goes?
Interesting. The expansion "Thargorn Threat" is not installed on my side. OoliteStarter lists it as installable but it is nowhere on my disk.
Could some other expansion behave similarly? Here is my expansion set - in case you want to activate it in OoliteStarter: https://my.mail.de/dl/dc4d6390ba79b60d09f7dd92910fd84a
Sunshine - Moonlight - Good Times - Oolite
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Understand 'Sudden Death'

Post by phkb »

Ah, my mistake. I used the artefacts listing on the wiki to try and find which OXP a Thargoid Battleship might come from, and it's the only one there. But I didn't immediately realise GalNavy hasn't been included in the index, as all its ships are missing.

A couple of minor things: It looks like you're using version 1.15 of Telescope. I believe cag's 2.x version is superior to that version in a lot of ways, performance being the primary one. I don't think it has any bearing on your issue, but it's worth noting.

I also notice you've got both Vimana and Vimana-X installed, but you aren't actually using Vimana-X (HUD selector is turning on Vimana, based on the logs). A lot of the Javascript errors are because Vimana isn't checking on the status of the player ship when performing checking, and during an escape pod sequence the player ship is null. Thus, JS errors. Those issues are fixed in Vimana-X.

Anyway, the issue at hand - why are you dying so suddenly. Can I get you to do one thing for me? Can you search the content of your OXP's. I'm looking for any that are using the AI function call "dealEnergyDamageWithinDesiredRange"? That happens just before you are ejected, but it's not clear which OXP was the originator. Shortly after this is the "taking 21628722 energy damage from Thargoid Battleship 20668", but the GalNavy doesn't include AI's for Thargoids, and my search of its code didn't show up that command. If you can track down where the AI call came from, I can look a liitle deeper into what might be happening.
User avatar
hiran
Theorethicist
Posts: 2410
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Understand 'Sudden Death'

Post by hiran »

phkb wrote: Fri Sep 01, 2023 10:10 pm
Ah, my mistake. I used the artefacts listing on the wiki to try and find which OXP a Thargoid Battleship might come from, and it's the only one there. But I didn't immediately realise GalNavy hasn't been included in the index, as all its ships are missing.
If you are talking about the page Index of Artefacts, that page needs to be copied manually whenever a new release of OoliteExpansionIndex is available.
This is a scan of all OXZs on the Expansions Manager.

Galactic Navy is just an OXP and therefore not included, yes.
phkb wrote: Fri Sep 01, 2023 10:10 pm
A couple of minor things: It looks like you're using version 1.15 of Telescope. I believe cag's 2.x version is superior to that version in a lot of ways, performance being the primary one. I don't think it has any bearing on your issue, but it's worth noting.

I also notice you've got both Vimana and Vimana-X installed, but you aren't actually using Vimana-X (HUD selector is turning on Vimana, based on the logs). A lot of the Javascript errors are because Vimana isn't checking on the status of the player ship when performing checking, and during an escape pod sequence the player ship is null. Thus, JS errors. Those issues are fixed in Vimana-X.
Both is actually based on oolite.oxp.Norby.Ambience_Collection, which requires these other OXZs.
I uninstalled the Ambience_Collection and the outdated two expansions to install the newer ones.

Also, Telescope and Telescope V2 come with different identifiers and thus are not autodetected as upgradeable.
phkb wrote: Fri Sep 01, 2023 10:10 pm
Anyway, the issue at hand - why are you dying so suddenly. Can I get you to do one thing for me? Can you search the content of your OXP's. I'm looking for any that are using the AI function call "dealEnergyDamageWithinDesiredRange"? That happens just before you are ejected, but it's not clear which OXP was the originator. Shortly after this is the "taking 21628722 energy damage from Thargoid Battleship 20668", but the GalNavy doesn't include AI's for Thargoids, and my search of its code didn't show up that command. If you can track down where the AI call came from, I can look a liitle deeper into what might be happening.
So basically I should go through all the installed expansions' world scripts and find calls to that function?
I can do it, let me find some time...
Sunshine - Moonlight - Good Times - Oolite
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Re: Understand 'Sudden Death'

Post by Switeck »

If you zip up ALL the expansions in uncompressed/stored form in a single .zip file, (may require uncompressing a LOT of them first!) that file can be renamed as a something.txt file and searched in a text editor. I've had to resort to that to find elusive text before...
You'll still have to figure out which file the text is in by scrolling to the beginning of its section.

To speed things up, you can just do that to all the scripts and config folders. Windows lets you search for that much at least...but strangely not inside the files as far as I can tell.

This may not sound easy, and it isn't...but it beats manually looking through 1000's of files.
User avatar
hiran
Theorethicist
Posts: 2410
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Understand 'Sudden Death'

Post by hiran »

We nailed it! This is really an adventure detective work... :-)

Code: Select all

$ grep -R dealEnergyDamageWithinDesiredRange GNUstep/Applications/Oolite-trunk/AddOns/*
$
Ok, nothing in my OXPs.

Code: Select all

$ find GNUstep/Library/ApplicationSupport/ -name "*.oxz" -exec zipgrep dealEnergyDamageWithinDesiredRange {} \;
AIs/secondWave_kamikazeThargletAI.plist:		ENTER = ("setDesiredRangeTo: 250.0", dealEnergyDamageWithinDesiredRange, becomeExplosion);
AIs/FCselfdestructAI.plist:        ENTER = ("setDesiredRangeTo: 500.0", dealEnergyDamageWithinDesiredRange, becomeExplosion); 
AIs/badrockAI.plist:		ENTER = ("setDesiredRangeTo: 2500.0", dealEnergyDamageWithinDesiredRange, "sendScriptMessage: wipeStation", becomeExplosion); 
AIs/cabal_common_oxps_mineAI.plist:		UPDATE = ("setDesiredRangeTo: 2000",dealEnergyDamageWithinDesiredRange,becomeExplosion);
$
Four hits in my OXZs. And one of them is labelled kamikazeThargletAI. It would match my observation here and here.

Now I just need to figure out how to get the OXZ name...

Code: Select all

for f in *.oxz;do echo $f; unzip -l $f | grep kamikazeTharglet; done
gives me the name [email protected]

Now it helps to download the latest and greatest OoliteExpansionIndex to find all the ships, scripts and the reference pages to the Wiki:

https://wiki.alioth.net/index.php/Second_Wave_OXP
https://wiki.alioth.net/index.php/Second_Wave_Ships

Quite mean robots out there...

But to conclude: would it make sense to have a comms message (both on the console and in the log) saying that some nearby explosion caused heavy damage?
Sunshine - Moonlight - Good Times - Oolite
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Understand 'Sudden Death'

Post by phkb »

hiran wrote: Sat Sep 02, 2023 2:04 pm
But to conclude: would it make sense to have a comms message (both on the console and in the log) saying that some nearby explosion caused heavy damage?
OK, I think I understand what's happening now, and why the log is confusing.

A Thargoid robot fighter is, from the game code's point of view, a missile. A missile with some extra AI and features, but a missile none the less. They are "fired" from the mothership using the missile launch position (which you can see in your log, because there's an issue with the launch position being behind the ship and in future the missile might explode on launch).

So, when a normal missile hits your ship, while the missile is the thing causing the damage, the source of that damage is from the entity that launched the missile. And for a robot fighter, that's the mothership. Thus you have, in your log, "taking 21628272 energy damage from Thargoid Battleship". That's the thing that killed your ship, using a robot fighter missile.

As for having a comms message, it would certainly be possible to add some comms into the AI just prior to exploding. The difficulty is that, if that explosion destroys you, or triggers the autoeject, you might not see the message. I'll leave it to someone else to work out the solution to that problem!
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Re: Understand 'Sudden Death'

Post by Switeck »

phkb wrote: Sat Sep 02, 2023 11:04 pm
A Thargoid robot fighter is, from the game code's point of view, a missile. A missile with some extra AI and features, but a missile none the less. They are "fired" from the mothership using the missile launch position (which you can see in your log, because there's an issue with the launch position being behind the ship and in future the missile might explode on launch).
Come to think of it...
Maybe the reason Thargons fire out the back of Thargoids is the Thargoid Warship is faster than its Thargon drone "missile"?
Post Reply