I took a mission to recover a black box from interstellar space, but I can't find the derelict ship post-thargoid-battle (so if the derelict did spawn, it was destroyed before I found it, and no black box seems to be around). I did find and scoop up an escape pod, but it just gave me 1t slaves, and I think there isn't supposed to be any escape pod from the mission's derelict ship so I'm not sure where it came from. I do see in the latest.log that among the many thargoids that spawned when I emerged from witchspace, there was also a single [LogEvents] GlobalLog: Python 28181 spawned at 25 km.
Strangely, several of the thargoids sent comms messages in perfect English:
23:12:02.522 [LogEvents] GlobalLog: got message from Thargoid Warship 30486 : Take them down fast but watch for a run on the freighter…
23:12:03.007 [LogEvents] GlobalLog: got message from Thargoid Warship 4072 : This is taking too long…
23:12:03.040 [LogEvents] GlobalLog: got message from Thargoid Warship 26142 : I've got the Cobra Mark IV covered…
23:12:03.125 [LogEvents] GlobalLog: got message from Thargoid Queen 1871 : Nose! Nose! Nose!
Code: Select all
> worldScripts.GalCopBB_Missions._fromSystem // same as destination, so I'm in the right interstellar space
250
> worldScripts.GalCopBB_Missions.$getListOfMissions(true, 23)
[{
ID: 2537,
stationKey: "galcop",
source: 140,
sourceName: "Esbeus",
sourceGalaxy: 0,
destination: 250,
destinationName: "Xexedi",
destinationGalaxy: 0,
description: "Interstellar black box recovery",
details: "We have discovered material relating to a vessel that was abandoned in interstellar space, somewhere between Esbeus and Xexedi, after the pilot was duty-bound to flee in an escape capsule. We need to recover the black box from the ship as information of crucial strategic importance is contained in it. We are trying to locate a captain to venture into interstellar space between Esbeus and Xexedi, find this derelict ship and recover the black box so we can act on the information.\n\nNote: Make sure your Advanced Navigation Array is set to the shortest route. You must enter interstellar space -- manually -- from either Esbeus, with your target system set to Xexedi, or from Xexedi, with your target system set to Esbeus.",
manifestText: "Recover the black box from a derelict ship in interstellar space between Esbeus and Xexedi within 85 mins 24 secs.",
originalManifestText: "Recover the black box from a derelict ship in interstellar space between Esbeus and Xexedi within 10 hrs 34 mins.",
statusText: "Recover the black box from a derelict ship in interstellar space between Esbeus and Xexedi",
payment: 571,
penalty: 140,
deposit: 0,
allowPartialComplete: false,
expiry: 180118855745.37323,
playAcceptedSound: true,
accepted: true,
allowTerminate: true,
percentComplete: 0,
completionType: "AT_SOURCE",
stopTimeAtComplete: false,
completionTime: 0,
arrivalReportText: "",
model: "",
modelPersonality: 0,
spinModel: true,
background: "",
overlay: "",
mapOverlay: "",
forceLongRangeChart: false,
markerShape: "MARKER_PLUS",
markerColor: "redColor",
markerScale: 1,
additionalMarkers: [],
disablePercentDisplay: true,
noEmails: false,
statusValue: "",
customDisplayItems: [{
heading: "To complete:",
value: "Return to station in originating system"
}, {
heading: "Interstellar space target:",
value: "**Yes**"
}, {
heading: "Client name:",
value: "Lester Agdua"
}, {
heading: "Equipment required:",
value: "Fuel scoops\nAdvanced Space Compass"
}],
customMenuItems: "",
remoteDepositProcess: false,
initiateCallback: "$acceptedMission",
confirmCompleteCallback: "$confirmCompleted",
completedCallback: "$completedMission",
terminateCallback: "$terminateMission",
failedCallback: "$failedMission",
manifestCallback: "$updateManifestEntry",
availableCallback: "$missionAvailability",
bonusCalculationCallback: "",
worldScript: "GalCopBB_Derelict",
postStatusMessages: [],
data: {
source: "GalCopBB_Missions",
missionType: 23,
position: 0,
quantity: 0,
targetQuantity: 1,
destroyedQuantity: 0,
commodity: "",
missionChain: "",
chained: false,
terminatePenalty: true,
altManifest: false,
name: "Lester Agdua",
assassinChance: 0,
stolenItemType: null,
targetShipKey: null,
targetShipName: null,
ingredients: [],
delivered: 0,
expected: 0,
origSystemID: 140,
satelliteTypes: 0,
destinationA: -1
},
acceptedDate: 180118817664.12006
}]
> a = ""; system.allShips.forEach(function(x) { a += x.dataKey.indexOf("alloy") === -1 ? (x.dataKey + "\n") : ""; }); a; // show every ship (except all the alloys floating around, there are 240 alloys and 26 other ships, those 26 are listed below)
gsagostinho_cobra_mk4_blue-PLAYER
IST_Tharglet
IST_Tharglet
IST_Tharglet
secondWave_toughTharglet
griff_tharglet-NPC
TCAT_controller0
griff_tharglet-NPC
griff_tharglet-NPC
griff_tharglet-NPC
griff_tharglet-NPC
griff_tharglet-NPC
griff_tharglet-NPC
griff_tharglet-NPC
secondWave_toughTharglet
griff_tharglet-NPC
griff_tharglet-NPC
secondWave_toughTharglet
secondWave_armouredTharglet
griff_tharglet-NPC
secondWave_stealthTharglet
griff_tharglet-NPC
TCAT_controller0
small_debris_ah
TCAT_drone
small_debris_ah
I then tried:
Code: Select all
> worldScripts.GalCopBB_Derelict.interstellarSpaceWillPopulate()
And it spawned a new arafura nearby (total ships in system went up by 1):
Code: Select all
> system.allShips[8] // index 8 because some alloys are closer to my ship at the moment
[Ship "Arafura" position: (14183.5, 14522.5, -8719.12) scanClass: CLASS_CARGO status: STATUS_IN_FLIGHT]
> system.allShips[8].primaryRole
gcm_derelict
> system.allShips[8].position.distanceTo(Vector3D(0,0,0)) // distance looks OK from this perspective
22092.968129210767
> system.allShips[8].script
[Script "oolite-default-ship-script" version 1.89]
> system.allShips[8].AI
nullAI.plist
> system.allShips[8].AIScript
[Script "Null AI" version 1.89]
> system.allShips[8].equipment
[[EquipmentInfo EQ_ECM "E.C.M. System"], [EquipmentInfo EQ_FUEL_SCOOPS "Fuel scoops"]]
> system.allShips[8].equipmentStatus("EQ_ESCAPE_POD")
EQUIPMENT_UNAVAILABLE
No escape pod, but presumably it was removed by abandonShip already -- all of these checks were done with game paused. Incidentally, I just noticed line 76 of galcopbb_derelict.js is missing a semicolon at the end.
Code: Select all
> system.allShips[8].isPiloted
false
> system.allShips[8].lightsActive
false
> system.allShips[8].displayName
RRS Arafura Rescue Boat (derelict)
Right, so it is abandoned...
Code: Select all
> system.allShips[8].script._missionID
2537
> system.allShips[8].isValid
true
> system.allShips[8].script.$gcm_hold_shipDied // undefined
> system.allShips[8].script.shipLaunchedEscapePod
function $gcm_derelict_shipLaunchedEscapePod(pod, passengers) {
"use strict";
pod.remove(true);
}
> system.allShips[8].script.shipDied
function $gcm_derelict_shipDied(whom, why) {
"use strict";
var gcm = worldScripts.GalCopBB_Missions;
var bb = worldScripts.BulletinBoardSystem;
var item = bb.$getItem(this.ship.script._missionID);
if (item.data.missionType === 22 || item.data.missionType === 23) {
if (gcm._debug) {
log(this.name, "Derelict destroyed - spawning blackbox");
}
var bkb = this.ship.spawnOne("gcm_blackbox");
if (bkb) {
bkb.setScript("oolite-default-ship-script.js");
bkb.script._missionID = item.ID;
bkb.script._gcmSpecial = true;
bkb.script._gcmBlackBox = true;
item.data.targetQuantity === 0;
if (bkb.script.shipDied &&
bkb.script.$gcm_hold_shipDied == null) {
bkb.script.$gcm_hold_shipDied = bkb.script.shipDied;
bkb.script.shipDied = worldScripts.GalCopBB_Derelict.$gcm_entity_shipDied;
}
if (Math.random() > 0.1) {
bkb.maxSpeed = player.ship.maxSpeed;
} else {
bkb.maxSpeed = Math.random() * 20;
}
bkb.maxThrust = 10;
bkb.orientation = Quaternion.random();
bkb.desiredSpeed = bb.maxSpeed;
} else {
log(this.name, "!!ERROR: Black box not spawned");
}
} else if (item.data.missionType === 24) {
var sc = this.ship.spawnOne("gcm_specialcargo");
if (sc) {
sc.setScript("oolite-default-ship-script.js");
sc.script.shipDied = gcm.$gcm_cargo_shipDied;
sc.script._missionID = item.ID;
} else {
log(this.name, "!!ERROR: Special cargo not spawned");
}
}
}
Upon destroyed that ship, a black box was spawned along with other cargo, and upon scooping that black box, the mission status updated.
So, I'm not sure what happened originally. That Python seems to have simply vanished, and I don't know if it was spawned by the OXP or not.
I'll pause and check things right away next time I find myself on a mission like this.
A bit of unrelated feedback: the mission expiration was a bit too short for me to complete the recovery and get back to the origin station in time.