Page 1 of 1

Ejecting with Pods.oxp Bug

Posted: Wed Jan 20, 2010 7:34 pm
by Hawk
I have both Pods OXP and Ore Processor OXP installed, and when I eject cargo spawned by the Ore Processor, it ejects a random cargopod from any of the new types in Pods. It is a little silly to extract radioactives and see an unarmed missile fly off after ejecting it, and a bit cheating to extract alloys and then find a bulk container appear behind me.

Edit: Renamed to a more appropriate title

Posted: Thu Jan 21, 2010 6:08 am
by Thargoid
I'll grab a copy of the Ore Processor OXP and have a look. I would guess it's probably spawning something with the role "cargopod", which Pods is now expanding to include its range of pods as well (so that the trunk populator can use them).

If that is the case then there would need to be a modification in the Ore Processor OXP, to either spawn using the unique role of the basic cargo pod (which won't include any of the Pods ones) or to explicitly spawn its own variant of the cargo pod (likewise).

Posted: Thu Jan 21, 2010 6:40 am
by Hawk
Cheers!

I think I'll take a look at the code too since I'm trying to learn OXP scripting and all.

Edit: Unable to find use of "cargopod" in Ore Processor. It appears to be using AwardCargo or Manifest to add the cargo. I suspect the fault arises in the core program when it attempts to eject an item that didn't come from a cargopod, so spawns a generic cargopod which Pods has already hijacked, but I'd need one of the developers to confirm.

Posted: Sat Jan 23, 2010 6:38 am
by Thargoid
I looked over this last night, and I can't see how the two can interact. Pods only uses the role "cargopod" (plus a few unique or semi-generic ones for future expansion, but nothing that is yet used) and Ore Processor uses the role "splinter".

So there should be no way that OP can spawn a cargo pod, which is all Pods provides.

One question, have you got Cargo & Wrecks installed? That also gives additional cargo pod variants and might be worth checking out too as a root cause if you have it loaded.

Posted: Sat Jan 23, 2010 9:09 am
by Hawk
Thargoid wrote:
One question, have you got Cargo & Wrecks installed? That also gives additional cargo pod variants and might be worth checking out too as a root cause if you have it loaded.
I do not.

But if anyone can confirm/correct my theory...
Hawk wrote:
Unable to find use of "cargopod" in Ore Processor. It appears to be using AwardCargo or Manifest to add the cargo. I suspect the fault arises in the core program when it attempts to eject an item that didn't come from a cargopod, so spawns a generic cargopod which Pods has already hijacked, but I'd need one of the developers to confirm.
To clarify, i'm talking about how the core game responds to items spawned by an OXP, and not scooped from the environment

Posted: Sat Jan 23, 2010 12:21 pm
by Eric Walch
Hawk wrote:
To clarify, i'm talking about how the core game responds to items spawned by an OXP, and not scooped from the environment
There are basically two kinds of cargopods in the ooniverse. Normal ones and scripted ones.

- the normal ones are loaded into the ship as an entity and stay there until docked. These pods are all labelled with a cargotype. This type of pod can be dumped with the "d" key and will release exact the same pod that was scooped. When a npc ship has scooped such a pod, the very same pods are also released on death.

- the scripted ones only run a script and are than removed from the system. The player can't dump them anymore and npc ships won't release such pods after death.

Ore processor and pods only use the scripted ones. After scooping, a script tells to increase the cargo count and the pod itself is removed. Ore processor sometimes tries to dump a scooped sprinter, but as it can not dump the exact same splinter, it just dumps something with "role" splinter. The same for pods.oxp that dumps something with "role" cargopod.
and, just as thargoid, I can't see a way how both can conflict in the way you describe.

Posted: Sat Jan 23, 2010 12:35 pm
by Hawk
Nevertheless, the bug is reproducible. If it helps I can give more details about the version I am using. It is a windows-build version 1.73 and I have the following OXPs installed:
Bounty Scanner
Cataclysm
Deep Space Pirates
Beacon Launcher
Fuel Tank
Generation Ships
Gritty Corialis
Hired Guns
Illicit Unlock
Monument
Rusty Ships
Ore Processor
Pirate Coves
Planetfall
Pods
Rock Hermit Locator
Sell Equipment
Sunskimmers
Target Autolock

Posted: Sat Jan 23, 2010 12:36 pm
by Hawk
Eric Walch wrote:
Ore processor and pods only use the scripted ones. After scooping, a script tells to increase the cargo count and the pod itself is removed. Ore processor sometimes tries to dump a scooped sprinter, but as it can not dump the exact same splinter, it just dumps something with "role" splinter. The same for pods.oxp that dumps something with "role" cargopod.
and, just as thargoid, I can't see a way how both can conflict in the way you describe.
My apologies for not making myself clear. To clarify, I am dumping the cargo that is spawned, not Ore Processor.

Posted: Sat Jan 23, 2010 2:48 pm
by Eric Walch
Hawk wrote:
My apologies for not making myself clear. To clarify, I am dumping the cargo that is spawned, not Ore Processor.
That explains things. It is not a bug but expected behaviour caused by the difference between scripted and non scripted pods.

Splinters are scripted pods that are removed on scooping so you can't dump them. When you explicit dump cargo, Oolite will first cycle trough recently scooped cargo. When nothing there it will dump something from your original cargo in a pod with the role of "1t-cargopod". It could be that that role was given to the wrong pods?

EDIT: Actually puts oolite already on launch each ton of your tonnage cargo in a separate container with role "1t-cargopod".

Posted: Sat Jan 23, 2010 3:13 pm
by Hawk
So the role '1t-cargopod' should be removed from the random cargopods included in the Pods OXP?

Would that break Pods OXP too, or is there a way to differentiate between cargopods that are spawned by core and those that are ejected?

Posted: Sat Jan 23, 2010 3:31 pm
by Eric Walch
Hawk wrote:
So the role '1t-cargopod' should be removed from the random cargopods included in the Pods OXP?
No, i checked. Pods does not contain such a role.
Hawk wrote:
Would that break Pods OXP too, or is there a way to differentiate between cargopods that are spawned by core and those that are ejected?
I am not aware of an oxp using the role '1t-cargopod'. However this role should only be awarded to pods that can hold cargo from the players hold or you get the funny things like you describe.

Posted: Sat Jan 23, 2010 4:48 pm
by Hawk
Eric Walch wrote:
No, i checked. Pods does not contain such a role.
Neither do any of my other installed OXPs. If it isn't a glitch in OXPs then it must be a glitch in my version of the game engine.

Posted: Mon Feb 08, 2010 9:31 pm
by Hawk
Bump!

Still getting this bug BTW. It happened with some food picked up with a fuel scoop from a pirate.

Posted: Tue Feb 09, 2010 8:58 am
by Eric Walch
Hawk wrote:
Bump!

Still getting this bug BTW. It happened with some food picked up with a fuel scoop from a pirate.
It was in pods.oxp after all. Thargoid corrected it. I assume he has already put the fixed version on-line.

Posted: Tue Feb 09, 2010 9:22 am
by Hawk
Cheers!

Edit: Still v1.11 up on wiki