MasterClass: How to OXP (updating SoThisTC)

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

User avatar
Cholmondely
Archivist
Archivist
Posts: 5366
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: MasterClass: How to OXP (updating SoThisTC)

Post by Cholmondely »

cim wrote: Thu Apr 29, 2021 7:45 am
Box doesn't seem to be letting me download the Sothis_TC files at the moment
Link for SothisTC.oxp (2013 version)
spara wrote: Thu Apr 22, 2021 6:33 am
Here's a new link to the same old file (SothisTC_1.0.3_2013-05-16.zip): https://app.box.com/s/q98qf9z2kxh0gadr2k3m.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
spara
---- E L I T E ----
---- E L I T E ----
Posts: 2691
Joined: Wed Aug 15, 2012 4:19 am
Location: Finland

Re: MasterClass: How to OXP (updating SoThisTC)

Post by spara »

With deterministic secondary stations, the game also saves secondary markets on save so it probably messes the tests. What I have done, is to have a save on Zaonce main station from before the populator change. Every time I load that specific save, the Sothis is populated "the first time", meaning all market changes are observable. With TAF, it's quick to zip to Sothis from the main station.

Old links to Box don't seem to work anymore. The "www" prefix must be changed to "app" to rejuvenate them.

The free tradenet subscription comes from the failed population. When you dock at Sothis, you are given the tradenet subscription and when you launch it's cancelled. Now if you save at Sothis and for some reason after load you're not at Sothis, the subscription is not cancelled, since you're not launching from Sothis. This is the kind of stuff you run into when tweaking and it makes it easier to debug when you have a minimal Oolite install. Bring in more OXPs and the probability for all sorts of interesting conflicts becomes quite high.

Speciality Cargo not being seen after load is interesting. I need to investigate this more.
User avatar
spara
---- E L I T E ----
---- E L I T E ----
Posts: 2691
Joined: Wed Aug 15, 2012 4:19 am
Location: Finland

Re: MasterClass: How to OXP (updating SoThisTC)

Post by spara »

andrax_iON wrote: Thu Apr 29, 2021 3:23 am
I've no issue with spawning at the TC on game load, but I lose access to 'Speciality Cargo' in the F4 screen; F3 includes an option to renew subscription to TraderNet, F5 confirms current access & if I launch / re-dock, the welcome screen appears as expected & SpecCargo is restored to F4. Repeated a number of times, it seems consistent; nothing of note in the logs, same behaviour with or without some eye candy (HUD/Ambience) OXPs included.
This looks like an issue with New Cargoes. Tested with Kiota stations and the behavior is the same. Most likely the Speciality Cargo screen is set up on docking and it disappears over save. Any idea, cim?
User avatar
Cholmondely
Archivist
Archivist
Posts: 5366
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: MasterClass: How to OXP (updating SoThisTC)

Post by Cholmondely »

spara wrote: Thu Apr 29, 2021 2:33 pm
Speciality Cargo not being seen after load is interesting. I need to investigate this more.
it wasn't seen because I wasn't there! I was at the Main Orbital Station despite having saved at SothisTC (I think - see comments on decay, degeneration & decreptitude of aging brain cells cited above).

But I can try it again later! I am now the proud possessor of two tweaked versions of your splendid SothisTC override! The infra-bracketed and the ultra-bracketed!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: MasterClass: How to OXP (updating SoThisTC)

Post by cim »

spara wrote: Thu Apr 29, 2021 2:42 pm
This looks like an issue with New Cargoes. Tested with Kiota stations and the behavior is the same. Most likely the Speciality Cargo screen is set up on docking and it disappears over save. Any idea, cim?
At a guess - since I didn't really touch New Cargoes after the secondary saving was implemented - it's setting up the F4 content on the main station early in the load process, and then the populator runs and the player gets moved and it doesn't re-set the F4 content at that point. Probably just needs some bits moving to a different event handler - some things in startUp should be in startUpComplete - at a guess.
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: MasterClass: How to OXP (updating SoThisTC)

Post by cim »

Looking at the code for generating the Sothis position, I don't see anything obviously non-deterministic in that ... unless between save and load something else changed the main station or main planet positions, of course. Maybe check the savefile to see where it expects the Sothis to be, and then check where it actually ended up.

You could get similar results by changing location to PLANET_ORBIT and setting a static location seed, rather than using coordinates. Marginally more efficient, doesn't break if the main station happens to be exactly in front of or behind the planet, and shortens the OXP code a bit.
User avatar
spara
---- E L I T E ----
---- E L I T E ----
Posts: 2691
Joined: Wed Aug 15, 2012 4:19 am
Location: Finland

Re: MasterClass: How to OXP (updating SoThisTC)

Post by spara »

cim wrote: Fri Apr 30, 2021 2:14 pm
You could get similar results by changing location to PLANET_ORBIT and setting a static location seed, rather than using coordinates. Marginally more efficient, doesn't break if the main station happens to be exactly in front of or behind the planet, and shortens the OXP code a bit.
This is a sound idea. The positioning indeed breaks if x and y coordinates of the main station both happen to be 0. The seed could be tied to the system number and the position would have more variance across systems. And of course the code would be a lot cleaner and easier to read. We would lose the math lesson though :D. I'll revisit the positioning in my next content post.
User avatar
andrax_iON
Competent
Competent
Posts: 58
Joined: Fri Apr 09, 2021 12:55 am
Location: ζ Crucis

Re: MasterClass: How to OXP (updating SoThisTC)

Post by andrax_iON »

spara wrote: Fri Apr 30, 2021 2:53 pm
We would lose the math lesson though :D.
Oh noes!

.. and I was _so_ looking forward to it, after reading the wikipedia page on LCGs!

(Haven't had that twitch in my eyelid since exam day.. *shudder*)
POEE CHAPLIN of the Diocese of Intemperate and Blasphemous Potentates (DIBP)
Hail Eris =><= All Hail, Discordia
I tell you: one must still have chaos in one, to give birth to a dancing star..
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: MasterClass: How to OXP (updating SoThisTC)

Post by Cody »

<sniggers>
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
spara
---- E L I T E ----
---- E L I T E ----
Posts: 2691
Joined: Wed Aug 15, 2012 4:19 am
Location: Finland

Re: MasterClass: How to OXP (updating SoThisTC)

Post by spara »

A quick revisit on positioning of the station and markets.

I was just going to make the thing work, but since quite a lot has changed in the core since the oxp was made, I'm going to take this opportunity to make some things better.

Oolite takes place in 3D space and postitioning+orientation is done by using vectors+quaternions. More details on those can be found from the Wiki, if someone is really interested. Note that for those with low mathematics score quaternions will probably invoke a sanity roll. http://wiki.alioth.net/index.php/Oolite ... :_Vector3D http://wiki.alioth.net/index.php/Oolite ... Quaternion

In principal there are two ways of positioning: absolute and relative. Absolute is what it says, positioning by using 3D-coordinates. Witchpoint is always on the origin and the main planet is on the z-axis. Other stuff might be almost anywhere. Relative positioning uses elements like routes or orbits and so on. When using populator, it's pretty much a no brainer to use relative positioning. Let the game decide the exact place, just give it some directions.

Populator has a few positioning options called regions. The list of the regions can be found from the wiki: http://wiki.alioth.net/index.php/Oolite ... _Populator. We'll be using PLANET_ORBIT.

This is the revised function. As you can see, all the positioning maths has been cut away. The game does it for us.

Code: Select all

this.$addSothis = function() { //add sothis to corporate states
	//Ask spawn permission from Station Validator oxp
	if (worldScripts.station_validator && (worldScripts.station_validator.$deaths("sothis").length !== 0))
		return;	
	if (system.government == 7 && system.techLevel > 7 && system.mainStation) {
		system.setPopulator("sothis_tc", {
			callback: function(pos) {			
				system.addShips("sothis", 1, pos, 0);					
			}.bind(this),
			location: "PLANET_ORBIT",
			locationSeed: (256*galaxyNumber)+(1+system.ID),
			deterministic: true
		})
	}
}
Setting the locationSeed to a fixed number per system is important, otherwise the location is randomized within the region. I'm using a simple formula to produce a unique seed number for each system by using the galaxynumber and systemID.

For markets, I'm settling with this definition

Code: Select all

	market_capacity = 63;
	market_definition = (
		{
			"type" = "class";
			"name" = "oolite-business";
			"price_multiplier" = 1.2;
			"price_randomiser" = 0.3;
			"quantity_multiplier" = 0.7;
			"quantity_randomiser" = 0.4;
		}, 			
		{
			"type" = "default";
			"capacity" = 0;
		}
	);
	market_monitored = yes;
The price for business goods is usually better than the main station, but not always. Guaranteed better price just feels wrong. The capacity for business goods is half the station and should proportionally be emptier than the main station, but not always. Again it feels wrong to guarantee an empty or close to empty market.

That should more or less conclude markets (F8) and positioning. Next I think we'll look at the shipdata.plist. After that other OXPs to consider. And then we are pretty much done with revitalizing SothisTC.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5366
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: MasterClass: How to OXP (updating SoThisTC)

Post by Cholmondely »

So quaternions are the square roots of the cube roots of -1? Is that it?

Am very happy with the idea of not guaranteeing a better price. Thank you!


What about the listing on the Ship's Library (at game start-up)/View Ship Specifications (on the docked F4 screen)?

The current dockables listings are a mess: Vanilla game stations go under "Installations", Imperial Astrofactory is in its own class, Capt Solo's alt stations go under alt stations etc. (contrast: all the ships are found under "ships").

_______________________________________________________________________________________________________________________________
Rerun with the infra-bracketed oxp went fine. But!
1) Flew to Zaonce, docked at Sothis where I had a subscription to TraderNews.
2) Flew to main station (taking some snapshots en-route!) where I didn't.
3) Back to Sothis where I had a subscription again but where the specialist trade goods market had now disappeared. Is this expected - or a result of the AppleMac's excessive prediliction for semi-colons?

Following readings gleaned from Console:
Start of game:

Code: Select all

!!NOTE: No data for system found! Unable to assess docks. Resetting data entry for system.
> PS.awardEquipment("EQ_FUEL_INJECTION")
PS.awardEquipment("EQ_ADVANCED_COMPASS")
true
!!ERROR: Station is null (OXP removed?): Removing The Gazelle and the Albatross -- Coriolis Station (0)
Awarded self fuel at Zaonce main station, after visiting Sothis:

Code: Select all

> PS.fuel = 7
7
!!ERROR: Station is null (OXP removed?): Removing Daimon VII -- Coriolis Station (0)
There was also this little gem tucked away in latest.log:

Code: Select all

17:30:12.399 [shipData.load.begin]: Loading ship data.
17:30:12.442 [plist.parse.failed]: Failed to parse /Users/accountname/Library/Application Support/Oolite/AddOns/SothisTC_(inside brackets)1.0.3.oxp/Config/shipdata-overrides.plist as a property list.
Unexpected character { at line 1
Whoops: just to mention - rather more than 15 of each commodity on sale at Sothis.

Now off to experiment with 3rd class's tweaks!

Done: left the system & returned.

This message on Console before leaving system:
!!ERROR: Station is null (OXP removed?): Removing Gravitic Kin of the Graf III -- Coriolis Station (0)

Gems from latest.log:

Code: Select all

18:14:40.604 [dataCache.rebuild.explicitFlush]: Cache explicitly flushed with shift key. Rebuilding from scratch.
18:14:40.606 [searchPaths.dumpAll]: Resource paths: 
    /var/folders/6s/ysb64pns7r3472gl73j4zsnc0000gn/T/AppTranslocation/26AC26C4-3005-4FE3-B06E-179E2D2C6C7C/d/Oolite 1.9TR.app/Contents/Resources
    ~/Library/Application Support/Oolite/Managed AddOns
    ~/Library/Application Support/Oolite/AddOns
    ~/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.spara.market_observer.oxz
    ~/Library/Application Support/Oolite/Managed AddOns/FPO_Zaonce.oxz
    ~/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz
    ~/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.Commander_McLane.Randomshipnames.oxz
    ~/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.phkb.StationDockControl.oxz
    ~/Library/Application Support/Oolite/AddOns/SothisTC_1.0.3 lesson 3.oxp
    ~/Library/Application Support/Oolite/AddOns/oolite.oxp.spara.market_inquirer.oxp
    ~/Library/Application Support/Oolite/AddOns/Debug.oxp
    ~/Library/Application Support/Oolite/AddOns/Sothis (2017).oxp
18:14:40.648 [shipData.load.begin]: Loading ship data.
18:14:40.671 [plist.parse.failed]: Failed to parse /Users/accountname/Library/Application Support/Oolite/AddOns/SothisTC_1.0.3 lesson 3.oxp/Config/shipdata-overrides.plist as a property list.
Unexpected character { at line 1
18:14:40.673 [oxp-standards.deprecated]: Old style sub-entity declarations are deprecated in sothis_station
18:14:40.673 [oxp-standards.deprecated]: Old style sub-entity declarations are deprecated in sothis_station
18:14:40.673 [oxp-standards.deprecated]: Old style sub-entity declarations are deprecated in kw_buoy
18:14:40.673 [oxp-standards.deprecated]: Old style sub-entity declarations are deprecated in kw_buoy
18:14:40.673 [oxp-standards.deprecated]: Old style sub-entity declarations are deprecated in kw_buoy
18:14:41.022 [oxp-standards.deprecated]: The conditions key is deprecated for equipment TraderNet Monthly Subscription (Renewal)
18:14:41.719 [debugSupport.load.success]: Debug Bundle loaded successfully.
18:14:41.734 [startup.complete]: ========== Loading complete in 1.48 seconds. ==========
18:15:02.232 [shipData.load.begin]: Loading ship data.
18:15:02.454 [oxp-standards.deprecated]: The conditions key is deprecated for equipment TraderNet Monthly Subscription (Renewal)
18:15:02.928 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypeextension.js does not "use strict";
18:15:02.938 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypestatic.js does not "use strict";
18:15:02.949 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypedynamic.js does not "use strict";
18:15:02.955 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypetradernet.js does not "use strict";
18:15:02.963 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypeauctions.js does not "use strict";
18:15:02.973 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypescavenger.js does not "use strict";
18:15:02.979 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypeopencontract.js does not "use strict";
18:15:02.986 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypepermits.js does not "use strict";
18:15:02.993 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotyperegional.js does not "use strict";
18:15:03.001 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypefetch.js does not "use strict";
18:15:03.008 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/cargotypedefaultmarket.js does not "use strict";
18:15:03.016 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationhermit.js does not "use strict";
18:15:03.023 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationconstore.js does not "use strict";
18:15:03.030 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationsuperhub.js does not "use strict";
18:15:03.037 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationcasino.js does not "use strict";
18:15:03.044 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationcommies.js does not "use strict";
18:15:03.051 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationgrs.js does not "use strict";
18:15:03.058 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationrrs.js does not "use strict";
18:15:03.065 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationdictators.js does not "use strict";
18:15:03.072 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationspacebar.js does not "use strict";
18:15:03.079 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationgalnavy.js does not "use strict";
18:15:03.086 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationsalvage.js does not "use strict";
18:15:03.092 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationplanetfall.js does not "use strict";
18:15:03.099 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotabio.js does not "use strict";
18:15:03.109 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotacomms.js does not "use strict";
18:15:03.117 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotahabitat.js does not "use strict";
18:15:03.124 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotamanufacturing.js does not "use strict";
18:15:03.131 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotaresearch.js does not "use strict";
18:15:03.138 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/Managed AddOns/oolite.oxp.cim.new-cargoes.oxz/Scripts/Stations/cargotypestationkiotasolar.js does not "use strict";
18:15:03.180 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/AddOns/Sothis (2017).oxp/Config/script.js does not "use strict";
18:15:03.180 [script.load.world.listAll]: Loaded 59 world scripts:
    CargoTypeExtension 1.2.3
    CargoTypeExtension-Auctions 1.1.1
    CargoTypeExtension-Base 1.2.3
    CargoTypeExtension-DefaultMarket 1.2.3
    CargoTypeExtension-Dynamic 1.2.3
    CargoTypeExtension-FetchContracts 1.2.3
    CargoTypeExtension-OpenContract 1.2.3
    CargoTypeExtension-Permits 1.2.3
    CargoTypeExtension-Regional 1.2.3
    CargoTypeExtension-Scavenger 1.2.3
    CargoTypeExtension-Station-Astrofactory 1.2.3
    CargoTypeExtension-Station-ConStore 1.2.3
    CargoTypeExtension-Station-Galnavy 1.2.3
    CargoTypeExtension-Station-GRS 1.2.3
    CargoTypeExtension-Station-HoopyCasino 1.2.3
    CargoTypeExtension-Station-KiotaBiosphere 1.2.3
    CargoTypeExtension-Station-KiotaFactory 1.2.3
    CargoTypeExtension-Station-KiotaHabitat 1.2.3
    CargoTypeExtension-Station-KiotaRelay 1.2.3
    CargoTypeExtension-Station-KiotaResearch 1.2.3
    CargoTypeExtension-Station-KiotaSolar 1.2.3
    CargoTypeExtension-Station-PlanetFall 1.2.3
    CargoTypeExtension-Station-RockHermit 1.2.3
    CargoTypeExtension-Station-RRSWaystation 1.2.3
    CargoTypeExtension-Station-SalvageGang 1.2.3
    CargoTypeExtension-Station-SpaceBar 1.2.3
    CargoTypeExtension-Station-SuperHub 1.2.3
    CargoTypeExtension-Station-ZGF 1.2.3
    CargoTypeExtension-TraderNet 1.2.3
    market_inquirer 1.14.1
    market_observer3 3.7
    mo-traders_rating3 3.7
    Oolite Equipment Control 1.90
    Oolite Ship Library 1.90
    oolite-cloaking-device 1.90
    oolite-constrictor-hunt 1.90
    oolite-contracts-cargo 1.90
    oolite-contracts-helpers 1.90
    oolite-contracts-parcels 1.90
    oolite-contracts-passengers 1.90
    oolite-libPriorityAI 1.90
    oolite-nova 1.90
    oolite-populator 1.90
    oolite-primable-equipment-register 1.90
    oolite-registership 1.90
    oolite-thargoid-plans 1.90
    oolite-trumbles 1.90
    oolite-tutorial 1.90
    randomshipnames 1.6
    sothis_tc 1.0.3
    sothis_tc_new_cargoes 1.0
    Spawn-sothis 1.0.1
    StationDockControl 1.1.24
    StationDockControl_EscortLaunch 1.1.24
    StationDockControl_HackChip 1.1.24
    StationDockControl_Interface 1.1.24
    StationDockControl_MFD 1.1.24
    StationDockControl_Populator 1.1.24
    StationDockControl_ShuttleLaunch 1.1.24
18:15:34.366 [shipData.load.begin]: Loading ship data.
18:15:34.578 [oxp-standards.deprecated]: The conditions key is deprecated for equipment TraderNet Monthly Subscription (Renewal)
18:15:34.819 [script.load.world.listAll]: Loaded 59 world scripts:
    CargoTypeExtension 1.2.3
    CargoTypeExtension-Auctions 1.1.1
    CargoTypeExtension-Base 1.2.3
    CargoTypeExtension-DefaultMarket 1.2.3
    CargoTypeExtension-Dynamic 1.2.3
    CargoTypeExtension-FetchContracts 1.2.3
    CargoTypeExtension-OpenContract 1.2.3
    CargoTypeExtension-Permits 1.2.3
    CargoTypeExtension-Regional 1.2.3
    CargoTypeExtension-Scavenger 1.2.3
    CargoTypeExtension-Station-Astrofactory 1.2.3
    CargoTypeExtension-Station-ConStore 1.2.3
    CargoTypeExtension-Station-Galnavy 1.2.3
    CargoTypeExtension-Station-GRS 1.2.3
    CargoTypeExtension-Station-HoopyCasino 1.2.3
    CargoTypeExtension-Station-KiotaBiosphere 1.2.3
    CargoTypeExtension-Station-KiotaFactory 1.2.3
    CargoTypeExtension-Station-KiotaHabitat 1.2.3
    CargoTypeExtension-Station-KiotaRelay 1.2.3
    CargoTypeExtension-Station-KiotaResearch 1.2.3
    CargoTypeExtension-Station-KiotaSolar 1.2.3
    CargoTypeExtension-Station-PlanetFall 1.2.3
    CargoTypeExtension-Station-RockHermit 1.2.3
    CargoTypeExtension-Station-RRSWaystation 1.2.3
    CargoTypeExtension-Station-SalvageGang 1.2.3
    CargoTypeExtension-Station-SpaceBar 1.2.3
    CargoTypeExtension-Station-SuperHub 1.2.3
    CargoTypeExtension-Station-ZGF 1.2.3
    CargoTypeExtension-TraderNet 1.2.3
    market_inquirer 1.14.1
    market_observer3 3.7
    mo-traders_rating3 3.7
    Oolite Equipment Control 1.90
    Oolite Ship Library 1.90
    oolite-cloaking-device 1.90
    oolite-constrictor-hunt 1.90
    oolite-contracts-cargo 1.90
    oolite-contracts-helpers 1.90
    oolite-contracts-parcels 1.90
    oolite-contracts-passengers 1.90
    oolite-libPriorityAI 1.90
    oolite-nova 1.90
    oolite-populator 1.90
    oolite-primable-equipment-register 1.90
    oolite-registership 1.90
    oolite-thargoid-plans 1.90
    oolite-trumbles 1.90
    oolite-tutorial 1.90
    randomshipnames 1.6
    sothis_tc 1.0.3
    sothis_tc_new_cargoes 1.0
    Spawn-sothis 1.0.1
    StationDockControl 1.1.24
    StationDockControl_EscortLaunch 1.1.24
    StationDockControl_HackChip 1.1.24
    StationDockControl_Interface 1.1.24
    StationDockControl_MFD 1.1.24
    StationDockControl_Populator 1.1.24
    StationDockControl_ShuttleLaunch 1.1.24
18:15:35.835 [oxp-standards.deprecated]: Script /Users/accountname/Library/Application Support/Oolite/AddOns/Sothis (2017).oxp/Scripts/sothisscript.js does not "use strict";
18:15:35.996 [oxp-standards.deprecated]: system.legacy_addShipsAtPrecisely() is deprecated
18:16:55.345 [StationDockControl]: !!ERROR: Station is null (OXP removed?): Removing Gravitic Kin of the Graf III -- Coriolis Station (0)
18:20:26.454 [oxp-standards.deprecated]: system.legacy_addShipsAtPrecisely() is deprecated
I don't know where all the Kiota stuff comes from. Its in neither AddOns or Managed AddOns, and I held the shift key down on restart for the newly tweaked SothisTC_1.0.3 lesson 3.oxp
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
andrax_iON
Competent
Competent
Posts: 58
Joined: Fri Apr 09, 2021 12:55 am
Location: ζ Crucis

Re: MasterClass: How to OXP (updating SoThisTC)

Post by andrax_iON »

spara wrote: Sat May 01, 2021 2:17 pm
A quick revisit on positioning of the station and markets.
New changes added, all looks just fine wrt SothisTC - the market seems to confirm the weighting on capacity & price, as a rank amateur the logic here sounds very reasonable to me.

Failed sanity roll - 'sanity' not found.. 8~d

cheers!
POEE CHAPLIN of the Diocese of Intemperate and Blasphemous Potentates (DIBP)
Hail Eris =><= All Hail, Discordia
I tell you: one must still have chaos in one, to give birth to a dancing star..
User avatar
Cholmondely
Archivist
Archivist
Posts: 5366
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: MasterClass: How to OXP (updating SoThisTC)

Post by Cholmondely »

andrax_iON wrote: Mon May 03, 2021 8:11 am
spara wrote: Sat May 01, 2021 2:17 pm
A quick revisit on positioning of the station and markets.
Failed sanity roll - 'sanity' not found.. 8~d
Thank you for the badly needed laugh!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
spara
---- E L I T E ----
---- E L I T E ----
Posts: 2691
Joined: Wed Aug 15, 2012 4:19 am
Location: Finland

Re: MasterClass: How to OXP (updating SoThisTC)

Post by spara »

Cholmondely wrote: Sun May 02, 2021 4:51 pm
So quaternions are the square roots of the cube roots of -1? Is that it?
Quaternions in this context are an extension to 3d vectors, which allows one to express orientation in 3D-space. Aboutish.
Cholmondely wrote: Sun May 02, 2021 4:51 pm
What about the listing on the Ship's Library (at game start-up)/View Ship Specifications (on the docked F4 screen)?
Why not. Let's keep that in mind.
Cholmondely wrote: Sun May 02, 2021 4:51 pm

Code: Select all

17:30:12.399 [shipData.load.begin]: Loading ship data.
17:30:12.442 [plist.parse.failed]: Failed to parse /Users/accountname/Library/Application Support/Oolite/AddOns/SothisTC_(inside brackets)1.0.3.oxp/Config/shipdata-overrides.plist as a property list.
Unexpected character { at line 1
This is a bit alarming, since it prevents shipdata changes from being read. Maybe a semicolon problem somewhere? Fix this and some of the problems might go away.
Cholmondely wrote: Sun May 02, 2021 4:51 pm
I don't know where all the Kiota stuff comes from. Its in neither AddOns or Managed AddOns, and I held the shift key down on restart for the newly tweaked SothisTC_1.0.3 lesson 3.oxp
You mean those CargoTypeExtension-Station... entries? Those are from New Cargoes and not to be alarmed of. New Cargoes has a special script for all stations it supports. Those scripts are registered at game start even though the specific station is not installed.

Hope that answers at least some of your questions.
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: MasterClass: How to OXP (updating SoThisTC)

Post by cim »

spara wrote: Sat May 01, 2021 2:17 pm

Code: Select all

			locationSeed: (256*galaxyNumber)+(1+system.ID),
	
In practice you can simplify this a bit, too, and just do "locationSeed: {some number unique to Sothis}" - as the position of any particular locationSeed relative to the three primary objects is already randomised within the Oolite core on a per-system basis, using the system random seed property from planetinfo.plist http://wiki.alioth.net/index.php/Planet ... andom_Seed

Ideally you'd pick a number you knew no other OXP was using, but "pick a random six digit number and hope" is probably easier than trying to maintain a registry.
Post Reply