Trunk nightly

For test results, bug reports, announcements of new builds etc.

Moderators: another_commander, winston, Getafix

Post Reply
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

Neelix wrote:these supposedly clean ships...
Oh, they can be clean, all right.. that just means they're good at their job.

The very best pirates are clean.. just ask Commander McLane, pirate extraordinaire.. all it takes to maintain a clean legal status is to ensure that the authorities (in other words, Vipers) never catch you in the act of attacking another clean ship.
Last edited by Diziet Sma on Sat Jun 28, 2014 7:05 pm, edited 1 time in total.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13857
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Trunk nightly

Post by Cody »

Oh those assassins are good at their jobs, alright! Three of 'em were harassing me in the aegis last night, even mock-jousting with each other - flash sods!
Knowledge is a deadly friend, if no-one sets the rules
The fate of all mankind, I see, is in the hands of fools

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

cim wrote:Hmm... I think I know what's happening there: side-effect from fixing a previous bug which rammed the ships into the station if the docking routine was interrupted.
I saw a ship do this whilst the trader I'd just escorted to the station was actively engaged in the process of docking.. a new bug, or part of the old one?
cim wrote:Should only happen if a ship gets a launch-then-immediately-dock loop in its AI, which also shouldn't happen... Unfortunately the entity dumps are basically useless for debugging the JS AI - you really need to use the debug console for that.
Ok.. got the debug console output for pretty much the exact same kind of event tonight.

First, a question.. is there a way to get ALL debug console output to be written to the log? Whilst I got the behaviourLogging info fine, output of other commands was not logged, and unfortunately, there is no way to copy/paste the output displayed on the Javascript console. I was forced to take a screenshot to record some of the output.


Once again, this was at Texebi (G2).

Looking over the results, it looks as if you're correct in thinking that the ship is attempting to dock immediately after launching. In the middle of the output from PS.target.AIScript.oolite_priorityai.setParameter("oolite_flag_behaviourLogging",true); I entered PS.target.dockingInstructions on a hunch, and got the following result:

Code: Select all

PS.target.dockingInstructions
{
	docking_stage: -1,
	ai_message: "TRY_AGAIN_LATER",
	match_rotation: 0,
	speed: 0,
	destination: {
		x: 28389.936069868992,
		y: -105360.17358157296
		z: 615279.4937729794
	},
	range: 100,
	station: [Station "Coriolis Station" "Coriolis Station"position: (28284.9, -107689, 614737) scanClass: CLASS_STATION status: STATUS_ACTIVE]
}
PS.target.AIScript returned [Script "Oolite Trader AI" version 1.80]
PS.target.destinationSystem returned 215
PS.target.homeSystem returned 182

The output for the behaviourLogging is as follows:

Code: Select all

03:24:51.370 [Python Blackdog]: Considering branch with 10 entries
03:24:51.372 [Python Blackdog]: Considering: entry 0
03:24:51.374 [Python Blackdog]: Considering: entry 1
03:24:51.374 [Python Blackdog]: Considering: entry 2
03:24:51.374 [Python Blackdog]: Considering: entry 3
03:24:51.376 [Python Blackdog]: Entering falsebranch
03:24:51.376 [Python Blackdog]: Considering branch with 3 entries
03:24:51.377 [Python Blackdog]: Considering: Jump outbound
03:24:51.381 [Python Blackdog]: Considering: entry 1
03:24:51.382 [Python Blackdog]: Considering: entry 2
03:24:51.382 [Python Blackdog]: Considering: entry 4
03:24:51.382 [Python Blackdog]: Considering: entry 5
03:24:51.382 [Python Blackdog]: Conditions met
03:24:51.383 [Python Blackdog]: Executing behaviour
03:24:51.383 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:25:21.786 [Python Blackdog]: Considering branch with 10 entries
03:25:21.786 [Python Blackdog]: Considering: entry 0
03:25:21.786 [Python Blackdog]: Considering: entry 1
03:25:21.787 [Python Blackdog]: Considering: entry 2
03:25:21.787 [Python Blackdog]: Considering: entry 3
03:25:21.787 [Python Blackdog]: Entering falsebranch
03:25:21.787 [Python Blackdog]: Considering branch with 3 entries
03:25:21.787 [Python Blackdog]: Considering: Jump outbound
03:25:21.794 [Python Blackdog]: Considering: entry 1
03:25:21.794 [Python Blackdog]: Considering: entry 2
03:25:21.795 [Python Blackdog]: Considering: entry 4
03:25:21.796 [Python Blackdog]: Considering: entry 5
03:25:21.796 [Python Blackdog]: Conditions met
03:25:21.796 [Python Blackdog]: Executing behaviour
03:25:21.797 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:25:51.794 [Python Blackdog]: Considering branch with 10 entries
03:25:51.795 [Python Blackdog]: Considering: entry 0
03:25:51.795 [Python Blackdog]: Considering: entry 1
03:25:51.795 [Python Blackdog]: Considering: entry 2
03:25:51.795 [Python Blackdog]: Considering: entry 3
03:25:51.796 [Python Blackdog]: Entering falsebranch
03:25:51.796 [Python Blackdog]: Considering branch with 3 entries
03:25:51.796 [Python Blackdog]: Considering: Jump outbound
03:25:51.804 [Python Blackdog]: Considering: entry 1
03:25:51.804 [Python Blackdog]: Considering: entry 2
03:25:51.804 [Python Blackdog]: Considering: entry 4
03:25:51.804 [Python Blackdog]: Considering: entry 5
03:25:51.805 [Python Blackdog]: Conditions met
03:25:51.805 [Python Blackdog]: Executing behaviour
03:25:51.805 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:26:21.807 [Python Blackdog]: Considering branch with 10 entries
03:26:21.808 [Python Blackdog]: Considering: entry 0
03:26:21.809 [Python Blackdog]: Considering: entry 1
03:26:21.809 [Python Blackdog]: Considering: entry 2
03:26:21.809 [Python Blackdog]: Considering: entry 3
03:26:21.810 [Python Blackdog]: Entering falsebranch
03:26:21.810 [Python Blackdog]: Considering branch with 3 entries
03:26:21.810 [Python Blackdog]: Considering: Jump outbound
03:26:21.817 [Python Blackdog]: Considering: entry 1
03:26:21.817 [Python Blackdog]: Considering: entry 2
03:26:21.817 [Python Blackdog]: Considering: entry 4
03:26:21.818 [Python Blackdog]: Considering: entry 5
03:26:21.818 [Python Blackdog]: Conditions met
03:26:21.818 [Python Blackdog]: Executing behaviour
03:26:21.818 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:26:28.694 [setup.ship.badEntry.subentities]: Failed to set up entity griff_normalmapped_boa_eng
03:26:51.815 [Python Blackdog]: Considering branch with 10 entries
03:26:51.815 [Python Blackdog]: Considering: entry 0
03:26:51.816 [Python Blackdog]: Considering: entry 1
03:26:51.816 [Python Blackdog]: Considering: entry 2
03:26:51.816 [Python Blackdog]: Considering: entry 3
03:26:51.816 [Python Blackdog]: Entering falsebranch
03:26:51.817 [Python Blackdog]: Considering branch with 3 entries
03:26:51.817 [Python Blackdog]: Considering: Jump outbound
03:26:51.824 [Python Blackdog]: Considering: entry 1
03:26:51.825 [Python Blackdog]: Considering: entry 2
03:26:51.825 [Python Blackdog]: Considering: entry 4
03:26:51.825 [Python Blackdog]: Considering: entry 5
03:26:51.825 [Python Blackdog]: Conditions met
03:26:51.826 [Python Blackdog]: Executing behaviour
03:26:51.827 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:28:46.828 [Python Blackdog]: Considering branch with 10 entries
03:28:46.828 [Python Blackdog]: Considering: entry 0
03:28:46.828 [Python Blackdog]: Considering: entry 1
03:28:46.829 [Python Blackdog]: Considering: entry 2
03:28:46.829 [Python Blackdog]: Considering: entry 3
03:28:46.829 [Python Blackdog]: Entering falsebranch
03:28:46.829 [Python Blackdog]: Considering branch with 3 entries
03:28:46.829 [Python Blackdog]: Considering: Jump outbound
03:28:46.834 [Python Blackdog]: Considering: entry 1
03:28:46.834 [Python Blackdog]: Considering: entry 2
03:28:46.835 [Python Blackdog]: Considering: entry 4
03:28:46.835 [Python Blackdog]: Considering: entry 5
03:28:46.835 [Python Blackdog]: Conditions met
03:28:46.835 [Python Blackdog]: Executing behaviour
03:28:46.836 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}


03:29:16.858 [Python Blackdog]: Considering branch with 10 entries
03:29:16.859 [Python Blackdog]: Considering: entry 0
03:29:16.859 [Python Blackdog]: Considering: entry 1
03:29:16.859 [Python Blackdog]: Considering: entry 2
03:29:16.860 [Python Blackdog]: Considering: entry 3
03:29:16.860 [Python Blackdog]: Entering falsebranch
03:29:16.860 [Python Blackdog]: Considering branch with 3 entries
03:29:16.860 [Python Blackdog]: Considering: Jump outbound
03:29:16.868 [Python Blackdog]: Considering: entry 1
03:29:16.868 [Python Blackdog]: Considering: entry 2
03:29:16.868 [Python Blackdog]: Considering: entry 4
03:29:16.868 [Python Blackdog]: Considering: entry 5
03:29:16.869 [Python Blackdog]: Conditions met
03:29:16.869 [Python Blackdog]: Executing behaviour
03:29:16.869 [Python Blackdog]: function () {
    "use strict";
    var station = this.getParameter("oolite_dockingStation");
    this.ship.target = station;
    var handlers = {};
    this.responsesAddStandard(handlers);
    this.responsesAddDocking(handlers);
    this.ship.requestDockingInstructions();
    if (!this.ship.dockingInstructions) {
        this.ship.performIdle();
        this.reconsiderNow();
        return;
    }
    switch (this.ship.dockingInstructions.ai_message) {
      case "TOO_BIG_TO_DOCK":
      case "DOCKING_REFUSED":
        this.setParameter("oolite_dockingStation", null);
        this.ship.target = null;
        this.reconsiderNow();
        break;
      case "HOLD_POSITION":
        this.communicate("oolite_dockingWait", {}, 4);
        this.ship.destination = station.position;
        this.ship.performFaceDestination();
        break;
      case "APPROACH_COORDINATES":
        if (this.ship.escortGroup && this.ship.escortGroup.count > 1) {
            if (this.ship.dockingInstructions.docking_stage >= 2) {
                this.communicate("oolite_dockEscorts", {}, 3);
                this.ship.dockEscorts();
            }
        }
      case "APPROACH":
      case "BACK_OFF":
      case "TRY_AGAIN_LATER":
        this.ship.performFlyToRangeFromDestination();
        break;
      default:;
    }
    this.applyHandlers(handlers);
}
I've spaced out the separate logging events slightly to make for easier reading. As can be seen, there was a significant pause of 30 seconds between each logging event, during which time the ship was stationary. Immediately the ship began moving, a set of new log entries was written. After the final entry, backed-up ships began launching from the station in quick succession.. I'm guessing the pending launch queue was the reason the Blackdog Python was unable to get back into the station.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Trunk nightly

Post by cim »

Diziet Sma wrote:unfortunately, there is no way to copy/paste the output displayed on the Javascript console.
On Linux the standard highlight-to-copy, middle-click-to-paste works for me.
Diziet Sma wrote:The output for the behaviourLogging is as follows
Okay, let me annotate this a bit.

Code: Select all

03:24:51.370 [Python Blackdog]: Considering branch with 10 entries
03:24:51.372 [Python Blackdog]: Considering: entry 0 // not losing a fight
03:24:51.374 [Python Blackdog]: Considering: entry 1 // not in a fight
03:24:51.374 [Python Blackdog]: Considering: entry 2 // not near a hostile station
03:24:51.374 [Python Blackdog]: Considering: entry 3 // is cargo profitable here?
03:24:51.376 [Python Blackdog]: Entering falsebranch // no, we just bought it. Leave the system
03:24:51.376 [Python Blackdog]: Considering branch with 3 entries
03:24:51.377 [Python Blackdog]: Considering: Jump outbound // tries to jump to Erreenen, fails (why?)
03:24:51.381 [Python Blackdog]: Considering: entry 1 // can't scoop fuel, not close enough to sun
03:24:51.382 [Python Blackdog]: Considering: entry 2 // can't sunskim (why?)
03:24:51.382 [Python Blackdog]: Considering: entry 4 // not in interstellar space
03:24:51.382 [Python Blackdog]: Considering: entry 5 // can't leave the system and there's a friendly station nearby - dock with it
03:24:51.382 [Python Blackdog]: Conditions met
03:24:51.383 [Python Blackdog]: Executing behaviour
Why couldn't it jump to Erreenen: possibilities include
- didn't have a hyperdrive (unlikely)
- didn't have enough fuel (possible)

Why couldn't it sunskim: possibilities include
- sun had gone nova (I guess you'd have mentioned that?)
- didn't have fuel scoops (unlikely for a Python Blackdog)
- didn't have sufficient heat insulation (very likely to be the cause here)

So, next time this happens, a few more properties to check:

Code: Select all

PS.target.fuel
PS.target.equipmentStatus("EQ_FUEL_SCOOPS");
PS.target.heatInsulation
PS.target.hasHyperspaceMotor
The default Python Blackdog from Oolite starts with 7 LY of fuel, so should have been able to make the jump - do you have any OXPs which modify it installed?

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

cim wrote:
Diziet Sma wrote:unfortunately, there is no way to copy/paste the output displayed on the Javascript console.
On Linux the standard highlight-to-copy, middle-click-to-paste works for me.
Heh heh.. I've gotten so used to using Ctrl-c/Ctrl-v (my preferred method), and the right-click context menu, that didn't even occur to me.. how very "old-school".. thanks!
cim wrote:Why couldn't it sunskim: possibilities include
- sun had gone nova (I guess you'd have mentioned that?)
If I recall, nova systems are shown as such on the short-range chart, yes? The section of the chart I'm in is new to my Commander, but I'm not aware of any nearby nova systems, at least.. (it may sound odd, but after years of playing Oolite, I've still yet to encounter one)
cim wrote:The default Python Blackdog from Oolite starts with 7 LY of fuel, so should have been able to make the jump - do you have any OXPs which modify it installed?
Not that I know of.. but I have a couple of hundred installed, all told.. can anyone tell me which ones might affect said ship?

Be that as it may, there is clearly an ongoing problem in cases where a ship wishes to return to the station immediately after launch, but cannot do so, due to the pending launch queue. I would imagine that if it gets a "TRY_AGAIN_LATER" message, instead of taking five minutes to clear the docking lane, making attempts to get back in every 30 seconds, the correct behaviour would be for it to get the hell out of the way and then sit tight for a few minutes before requesting a new docking slot.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Trunk nightly

Post by cim »

Diziet Sma wrote:(it may sound odd, but after years of playing Oolite, I've still yet to encounter one)
Well, I won't spoil the surprise except to say that there's no possible way you could miss it if it happens...
Diziet Sma wrote:Not that I know of.. but I have a couple of hundred installed, all told.. can anyone tell me which ones might affect said ship?
Shipsets would be the obvious ones. You can do ":spawn [python-blackdog]" on the console to get one to just appear so you can grab those equipment values off it.
Diziet Sma wrote:the correct behaviour would be for it to get the hell out of the way and then sit tight for a few minutes before requesting a new docking slot.
Indeed. My previous attempt to do that led to them in certain situations ramming the station, so - since they do eventually get out of the way, and since launch-then-dock shouldn't happen in the first place - I decided to leave that fix until after 1.80 is released. But it's definitely on my list.

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13857
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Trunk nightly

Post by Cody »

Diziet Sma wrote:... it may sound odd, but after years of playing Oolite, I've still yet to encounter one...
You've not done the nova mission, Diz?
Knowledge is a deadly friend, if no-one sets the rules
The fate of all mankind, I see, is in the hands of fools

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

cim wrote:
Diziet Sma wrote:(it may sound odd, but after years of playing Oolite, I've still yet to encounter one)
Well, I won't spoil the surprise except to say that there's no possible way you could miss it if it happens...
I've been here on the boards long enough to have a fair idea of what happens.. :mrgreen: but what I'm not clear on is if the short-range chart marks them as such after the event.
cim wrote:Shipsets would be the obvious ones. You can do ":spawn [python-blackdog]" on the console to get one to just appear so you can grab those equipment values off it.
No shipsets at the moment.. I briefly had Griff's new replace set in, but ongoing problems with the shaders led me to uninstall it before starting the session in question.
cim wrote:
Diziet Sma wrote:the correct behaviour would be for it to get the hell out of the way and then sit tight for a few minutes before requesting a new docking slot.
Indeed. My previous attempt to do that led to them in certain situations ramming the station, so - since they do eventually get out of the way, and since launch-then-dock shouldn't happen in the first place - I decided to leave that fix until after 1.80 is released. But it's definitely on my list.
Ok.. thanks for the clarification.

(Though I think it's still happening.. you may have missed this at the top of my long report):
Diziet Sma wrote:
cim wrote:Hmm... I think I know what's happening there: side-effect from fixing a previous bug which rammed the ships into the station if the docking routine was interrupted.
I saw a ship do this whilst the trader I'd just escorted to the station was actively engaged in the process of docking.. a new bug, or part of the old one?
Last edited by Diziet Sma on Sun Jun 29, 2014 12:04 pm, edited 1 time in total.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13857
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Trunk nightly

Post by Cody »

Diziet Sma wrote:... but what I'm not clear on is if the short-range chart marks them as such after the event.
It does (and on the long-range chart too).
Knowledge is a deadly friend, if no-one sets the rules
The fate of all mankind, I see, is in the hands of fools

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

Ok.. thanks.. had a feeling that was the case.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Trunk nightly

Post by cim »

Diziet Sma wrote:
cim wrote:Shipsets would be the obvious ones. You can do ":spawn [python-blackdog]" on the console to get one to just appear so you can grab those equipment values off it.
No shipsets at the moment.. I briefly had Griff's new replace set in, but ongoing problems with the shaders led me to uninstall it before starting the session in question.
Strange - it must be from some OXP, since no ship in the core game is actually called "Python Blackdog": it's an internal name for the ship subtype, not something which actually appears in game text.

A few more parameters to check then, the next time it shows up:

Code: Select all

PS.target.dataKey
Ship.shipDataForKey(PS.target.dataKey)
The latter will give a lot of information.

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6310
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Trunk nightly

Post by Diziet Sma »

cim wrote:Strange - it must be from some OXP, since no ship in the core game is actually called "Python Blackdog": it's an internal name for the ship subtype, not something which actually appears in game text.
A quick check of my installed OXPs with Searchmonkey (the lazy man's GUIfied grep) turns up entries for the Python Blackdog in both Toughguys and FreeTradeZone OXPs. Neither seems to mess with the fuel-load, though.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Trunk nightly

Post by cim »

Diziet Sma wrote:A quick check of my installed OXPs with Searchmonkey (the lazy man's GUIfied grep) turns up entries for the Python Blackdog in both Toughguys and FreeTradeZone OXPs. Neither seems to mess with the fuel-load, though.
I can't figure out exactly what's happening, but I did see a standard Cobra III trader launch with only 1.6LY of fuel. Not sure why, since it's defined as having 7LY in shipdata, and none of the other Cobra IIIs had that problem.

I'll see if I can figure out what's going on there.

Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 1998
Joined: Mon May 31, 2010 11:11 pm

Re: Trunk nightly

Post by Switeck »

cim wrote:
Diziet Sma wrote:(it may sound odd, but after years of playing Oolite, I've still yet to encounter one)
Well, I won't spoil the surprise except to say that there's no possible way you could miss it if it happens...
Actually, some auto-jumping equipment makes it easy to miss a certain event. But since those are almost all for-testing-only cheats I guess it doesn't matter.

User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 13857
Joined: Sat Jul 04, 2009 9:31 pm
Location: Corke's Drift
Contact:

Re: Trunk nightly 1.81.0.5834-140703-92df7d5

Post by Cody »

The arrow keys don't seem to work on the load screen - I had to use the numpad keys.
Knowledge is a deadly friend, if no-one sets the rules
The fate of all mankind, I see, is in the hands of fools

Post Reply