[WIP] GalCop Missions
Moderators: another_commander, winston
- phkb
- Impressively Grand Sub-Admiral

- Posts: 5603
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: [WIP] GalCop Missions
Don’t worry about the save file yet. Just the log file. I’m expecting there will be some JavaScript errors in the log, so you could search for “error” and just post the lines immediately around the error line.
- phkb
- Impressively Grand Sub-Admiral

- Posts: 5603
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: [WIP] GalCop Missions
Version 0.9 of GalCop Missions should be in the manager shortly. In this version:
- Really corrected issue preventing some satellite missions from being completable if the Galactic Almanac OXP is installed.
- Sound now plays when a fuel leak occurs.
- Tweaks to the reputation system to allow for complete localisation through descriptions.plist.
- Made some reputations visible on the reputations screen, even if the actual reputation value is zero.
- Fixed issue where some missions with a minimum player score were being offered to players under that value.
- Moved as much text as possible into descriptions.plist for slightly easier localisation.
- Added prebuilt descriptions for each mission that uses PhraseGen, so PhraseGen can be avoided when translating text. See notes in descriptions.plist or galcopbb_missiondetails.js for details.
- Bug fixes.
Some more information about the localisation changes. This will be a monster to translate. There are over 5000 lines in descriptions.plist to work through, so I don't envy whoever attempts it. The biggest problem was the use of the PhraseGen tool. In order to use that tool, you end up with data structures than are designed to make very English sentences, but I can't imagine you would simply translate the words in the data and get acceptable results in another language, as grammar and structural issues will come into play. So, as indicated above, I've put in place some fully expanded versions of the PhraseGen results into descriptions.plist for all the missions that use it. Now, all you need to do is change any instance of to
At that point, GalCop Missions will pull the mission details from those pre-built versions, rather than using PhraseGen.
It still means a mountain of work. But at least it's a climbable mountain now.
I should also say, I'm expecting a few bugs in this version. I've had to change a few things, quite radically in some instances, and while my programmer brain says I've covered all the bases, there's pretty good odds I've missed something somewhere. So, if you upgrade, please keep an eye on your log files - any error messages would be very handy in tracking down the bugs.
- Really corrected issue preventing some satellite missions from being completable if the Galactic Almanac OXP is installed.
- Sound now plays when a fuel leak occurs.
- Tweaks to the reputation system to allow for complete localisation through descriptions.plist.
- Made some reputations visible on the reputations screen, even if the actual reputation value is zero.
- Fixed issue where some missions with a minimum player score were being offered to players under that value.
- Moved as much text as possible into descriptions.plist for slightly easier localisation.
- Added prebuilt descriptions for each mission that uses PhraseGen, so PhraseGen can be avoided when translating text. See notes in descriptions.plist or galcopbb_missiondetails.js for details.
- Bug fixes.
Some more information about the localisation changes. This will be a monster to translate. There are over 5000 lines in descriptions.plist to work through, so I don't envy whoever attempts it. The biggest problem was the use of the PhraseGen tool. In order to use that tool, you end up with data structures than are designed to make very English sentences, but I can't imagine you would simply translate the words in the data and get acceptable results in another language, as grammar and structural issues will come into play. So, as indicated above, I've put in place some fully expanded versions of the PhraseGen results into descriptions.plist for all the missions that use it. Now, all you need to do is change any instance of
Code: Select all
_phraseGen = "1";Code: Select all
_phraseGen = "0";It still means a mountain of work. But at least it's a climbable mountain now.
I should also say, I'm expecting a few bugs in this version. I've had to change a few things, quite radically in some instances, and while my programmer brain says I've covered all the bases, there's pretty good odds I've missed something somewhere. So, if you upgrade, please keep an eye on your log files - any error messages would be very handy in tracking down the bugs.
Re: [WIP] GalCop Missions
"Recover Stolen Items".. Origin Ataris, destination Riedra.
Did the mission. Returned to Ataris.
F4, Galcop, select mission. Hit "Complete mission". Drops me back to the F4 screen. Mission still there.
Did a kill pirates mission, returned to Ataris, completed OK, but the first mission is still stuck.
Using Galcop Missions 0.10 on the latest Linux build from my fork. Is it me?
Did the mission. Returned to Ataris.
F4, Galcop, select mission. Hit "Complete mission". Drops me back to the F4 screen. Mission still there.
Did a kill pirates mission, returned to Ataris, completed OK, but the first mission is still stuck.
Using Galcop Missions 0.10 on the latest Linux build from my fork. Is it me?
- phkb
- Impressively Grand Sub-Admiral

- Posts: 5603
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: [WIP] GalCop Missions
Checking now, but it sounds like there might be something in the log file, like a juicy error message or something.
Re: [WIP] GalCop Missions
Code: Select all
12:47:11.815 [LogEvents]: gui screen changed from GUI_SCREEN_INTERFACES to GUI_SCREEN_MISSION
12:47:14.522 [LogEvents]: gui screen will change from GUI_SCREEN_MISSION to GUI_SCREEN_INTERFACES
12:47:14.530 [LogEvents]: gui screen changed from GUI_SCREEN_MISSION to GUI_SCREEN_INTERFACES
12:47:14.555 [LogEvents]: gui screen changed from GUI_SCREEN_INTERFACES to GUI_SCREEN_MISSION
12:47:16.298 [LogEvents]: gui screen will change from GUI_SCREEN_MISSION to GUI_SCREEN_INTERFACES
12:47:16.304 [LogEvents]: gui screen changed from GUI_SCREEN_MISSION to GUI_SCREEN_INTERFACES
12:47:16.309 [script.javaScript.exception.ooliteDefined]: ***** JavaScript exception (BulletinBoardSystem 2.10): Error: Ship.removeEquipment: Invalid arguments ("") -- expected equipment type.
12:47:16.309 [script.javaScript.exception.ooliteDefined]: /home/flibble/GNUstep/Library/ApplicationSupport/Oolite/ManagedAddOns/oolite.oxp.phkb.GalCopMissions.oxz/Scripts/galcopbb_shipinteractions.js, line 487.
12:47:16.327 [LogEvents]: mission screen ended
12:47:16.329 [LogEvents]: mission screen opportunity
- phkb
- Impressively Grand Sub-Admiral

- Posts: 5603
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: [WIP] GalCop Missions
Yep, found it.
To fix it for yourself, change line 480 in "galcopbb_shipinteractions.js" from this:
Code: Select all
case expandDescription("[gcm_stolen_item_types_2]"):Code: Select all
case expandDescription("[gcm_stolen_item_types_3]"):Re: [WIP] GalCop Missions
That sorts it. Thanks.phkb wrote: ↑Tue Aug 12, 2025 11:52 amYep, found it.
To fix it for yourself, change line 480 in "galcopbb_shipinteractions.js" from this:to this:Code: Select all
case expandDescription("[gcm_stolen_item_types_2]"):That should sort out that mission for you.Code: Select all
case expandDescription("[gcm_stolen_item_types_3]"):
Re: [WIP] GalCop Missions
Took a (presumably) Galcop mission by email.
Go to a comms relay and transmit the code... done.
Mission changed to deliver 11 tons alloys to a waypoint in Dixeso.
Gathered alloys. Some from remains of self destructing comms relay (nice!), and the rest from nearest station.
Went to Dixeso. Flew to waypoint, where a Boa class cruiser transmitted a greeting, which confirmed they wanted the alloys.
Ejected alloys. Boa stayed put. Collected alloys. Flew to within paint scraping distance of Boa's beak, and ejected alloys again. Still no motion from the supposed recipient.
I have a save in flight if that helps. Edit. The save in flight, when re-loaded, puts the waypoint at a new random location, with a new random recipient ship. On my second go it was a D.T.T. Warlance, which went ahead and collected the cargo.
Go to a comms relay and transmit the code... done.
Mission changed to deliver 11 tons alloys to a waypoint in Dixeso.
Gathered alloys. Some from remains of self destructing comms relay (nice!), and the rest from nearest station.
Went to Dixeso. Flew to waypoint, where a Boa class cruiser transmitted a greeting, which confirmed they wanted the alloys.
Ejected alloys. Boa stayed put. Collected alloys. Flew to within paint scraping distance of Boa's beak, and ejected alloys again. Still no motion from the supposed recipient.
- phkb
- Impressively Grand Sub-Admiral

- Posts: 5603
- Joined: Tue Jan 21, 2014 10:37 pm
- Location: Writing more OXPs, because the world needs more OXPs.
Re: [WIP] GalCop Missions
Hmm. For some reason the AI didn't engage in that instance. Possibly because something else took over (but in thinking more, if another AI took over, the Boa should have moved and done *something*). I'll have a closer look.MrFlibble wrote: ↑Sun Nov 16, 2025 4:44 pmWent to Dixeso. Flew to waypoint, where a Boa class cruiser transmitted a greeting, which confirmed they wanted the alloys.
Ejected alloys. Boa stayed put. Collected alloys. Flew to within paint scraping distance of Boa's beak, and ejected alloys again. Still no motion from the supposed recipient.
Re: [WIP] GalCop Missions
FWIW, while in the 'stale' environment, I got bored and took a shot at the Boa. They transmitted WTE "That wasn't how the mission was supposed to go!". So I surmised that they were still registered as intended recipient, despite their turning tail and scarpering.
