Page 4 of 7
Posted: Sat Sep 27, 2008 7:53 pm
by Micha
another_commander wrote:No, sorry. The problem is that my vacation is now over (:-(), so I'm back to "not much time for coding" mode. Unless someone adds the "override for all stations default" parameter, this stays as is for now.
The good news though is that for the core game it's only three stations that need to have their entries modified.
Shame about the holidays..
Here's the patch for the global flag - it first loads and sets the default, if any (defaulting to NO) and then loads the per-station override flag, defaulting to the default.
Code: Select all
micha@mamba:~/src/oolite/trunk.20080926.2$ cat micha_globalDockingClearanceFlag.patch
Index: src/Core/Entities/StationEntity.m
===================================================================
--- src/Core/Entities/StationEntity.m (revision 1771)
+++ src/Core/Entities/StationEntity.m (working copy)
@@ -757,7 +757,8 @@
equipmentPriceFactor = OOMax_f(equipmentPriceFactor, 0.5f);
hasNPCTraffic = [dict fuzzyBooleanForKey:@"has_npc_traffic" defaultValue:YES];
#ifdef DOCKING_CLEARANCE_ENABLED
- requiresDockingClearance = [dict boolForKey:@"requires_docking_clearance" defaultValue:NO];
+ requiresDockingClearance = [[UNIVERSE currentSystemData] boolForKey:@"requires_docking_clearance" defaultValue:NO];
+ requiresDockingClearance = [dict boolForKey:@"requires_docking_clearance" defaultValue:requiresDockingClearance];
#endif
if ([self isRotatingStation] && [self hasNPCTraffic])
Posted: Sun Sep 28, 2008 10:32 am
by another_commander
Thanks for the patch. A slightly modified version of it has already gone into SVN.
Posted: Sun Sep 28, 2008 9:19 pm
by Micha
Cool
Posted: Sat Oct 04, 2008 9:28 am
by Micha
There's a bug in the current implementation.
There's a guard in StationEntity.m:acceptDockingClearanceFrom which doesn't set docking clearance if the station is not the main station.
However, in PlayerEntity.m:docked it calls the penaltyForUnauthorizedDocking for every station type.
I've also extended this concept a little by effectively putting the player ship into a queue when the player requests docking clearance and the station automatically notifying the player when his slot has arrived. Otherwise in busy systems the player would never have their clearance request accepted. Still needs a bit of tweaking, but once done I can upload the patch.
<edit>
Bug
014633 raised.
REM to Self: raise bugs in the bugtracker, not here!
</edit>
Re: ...
Posted: Wed Oct 08, 2008 6:24 am
by Dr Beeb
Lestradae wrote:Could this docking approach scenario not be given some kind of switch that is "off" by default, but can be switched on by oxps?
That way, someone who deems this should not be in the core game doesn`t have to use it/see it, and whoever wants to have it in installs the oxp?
Viable compromise?
L
I hope so, the people really affected by docking fees/waiting your slot are those relatively new to the game and don't have a docking computer yet. Having finally reached the Aegis they now have to deal with traffic controllers and pay fees - not included in the price of the fuel
- doesnt sound like the original game to me for new, struggling traders. A newbie coming in to dock manually is probably equivalent to CAA/FAA 'fuel emergency': stuff the holding pattern, clear the runway, and come on in - with everyone running out of your way ...
Posted: Wed Oct 08, 2008 7:15 am
by Micha
There aren't any docking fees - only a penalty if you don't request clearance.
The queuing mechanism is now part of the dev-trunk for anybody who wants to give it a try. Remember to set the flags in planetinfo.plist and/or shipdata.plist as the default is NO.
Posted: Wed Oct 08, 2008 8:19 am
by Thargoid
As a sneak preview (still some testing to be done, and final polishing such as the readme files etc), here's a little script I've been working on for the last couple of evenings.
Doesn't yet include the docking permission request (as I don't have 1.72, only 1.712.2), but aside from that my first trials shows it works well enough.
Requires the player not to have Docking Computers installed, but other than that should work for everyone (I was going to limit it to lower ranks, but after some discussion decided not to).
Let me know what you think...
Posted: Wed Oct 08, 2008 9:32 am
by Micha
Cool, I'll give this a try tonight.
The main change to support Docking Clearance in 1.72 would be to tell the player to request DC when they reach the Buoy (and wait for it to be granted if there is existing traffic) prior to starting their docking run.
Also, should this script run in every system, or only in Lave? In the Dark Wheel novella there was a mention of the Lave docking authorities allowing for unlimited docking runs for new pilots so it'd fit in very nicely with that.
Posted: Wed Oct 08, 2008 9:48 am
by Thargoid
I'm applying the general principle to all my OXPs to wait for 1.72 to be released before I go in and revise them all and make them compatible/make use of the new toys. Just so things can be in their final release state, so minimise work and updates.
I would agree though from the comments so far that's where the request will go, and it should be simple to add in (it's just another step in the script chain).
It probably goes without saying that the script is for 1.71.2 at the moment, so you'll have to do the usual player --> player.ship swap etc for 1.72 when you try it out.
Personally I think the script can run anywhere rather than just Lave (at least until you get dock comp's or annoyed with it and deinstall it). But again it's a trivial addition to the first check to make it Lave only.
Posted: Wed Oct 08, 2008 11:34 am
by Eric Walch
Thargoid wrote:As a sneak preview (still some testing to be done, and final polishing such as the readme files etc), here's a little script I've been working on for the last couple of evenings.
It works great, a must for every Jameson. Just a few comments:
1) The display time of 3 seconds is a little short. Other messages have a default of 4.5 seconds. And this are longer sentences, so doubling the time looks reasonable.
2) As it is mend for newbies, I would call it dockingLessons.oxp or similar.
3) And in the light of a lot of traders just hitting the buoy on launching lately, you could add a warning on launch to clear the docking area as soon as possible after launch. Maybe with a timer that checks the position a few seconds after launch and keeps running as long the player stays in the launch path.
(point 3 is not
Docking control, but strongly related)
Posted: Thu Oct 09, 2008 9:27 pm
by Thargoid
All good thoughts. It's now renamed traffic control, has 5 second messages, and tells people off if they linger in the approach lane after launch (but only once, although the timer keeps running - seems that's a built-in property of commsMessage if you try to do the same one multiple times by a timer).
The link above is revised to the new file (the one in my post anyway, I can't amend the quote in Eric's), will launch it properly in the expansion pack section.
Posted: Fri Oct 24, 2008 12:26 am
by Konrad Mule
hmm, I'm not sure I'll ever be bothered to get docking authorisation. It's bad enough already waiting for other ships to get outta the damn way when there are people shootin at me!
But is there something that can be done to improve the docking AI? it's kinda funny seeing a Boa split itself open trying to wriggle through the docking bay but it doesn't make sense that should ever happen really. Not in the 32nd century.
Posted: Fri Oct 24, 2008 7:37 am
by another_commander
Konrad Mule wrote:hmm, I'm not sure I'll ever be bothered to get docking authorisation. It's bad enough already waiting for other ships to get outta the damn way when there are people shootin at me!
We could always increase the penalties for unauthorized docking exponentially and stain your legal record for repeated violations. We have ways of making you comply, you know
Apart from the jokes, the default game behaviour will not be changed. You will have to edit planetinfo.plist and activate the docking authorization system yourself, if you want it in your game.
Posted: Fri Oct 24, 2008 10:17 pm
by FSOneblin
another_commander wrote:Konrad Mule wrote:hmm, I'm not sure I'll ever be bothered to get docking authorisation. It's bad enough already waiting for other ships to get outta the damn way when there are people shootin at me!
We could always increase the penalties for unauthorized docking exponentially and stain your legal record for repeated violations. We have ways of making you comply, you know
Apart from the jokes, the default game behaviour will not be changed. You will have to edit planetinfo.plist and activate the docking authorization system yourself, if you want it in your game.
For every planet? And is the way of making you comply the pain monster, or is that just for taxes?
FSOneblin
Posted: Sat Oct 25, 2008 8:41 am
by another_commander
No, not for every planet. You do it once in the
universal section of planetinfo.plist, like this:
Code: Select all
universal =
{
// Default docking clearance requirement for stations.
stations_require_docking_clearance = yes;
};
and then it applies for all stations. You can also set specific stations' clearance requirements by editing their shipdata info, so that, for example, Coriolis and Dodecs can be set to not require clearance, while Icos do. Also, by default, rock hermits will be set to not require docking clearance regardless of the universal setting.
It has been stated above already, but I emphasize that if you set the docking clearance to yes, you do
not pay taxes for entering the station. You pay a penalty only if you enter without authorization. If you get authorization and dock before your slot expires, nothing will be deducted from your credits.