Page 2 of 3

..

Posted: Fri Aug 28, 2009 11:43 am
by Lestradae
Hey Eric,

I try to do what you say via the

Code: Select all

<key>requires_cargo_space</key> 
<integer>600</integer>
... line.

Any ship Commander with a cargo space of 600+ tons can buy a transfer shuttle, that includes the core Anaconda ie. etc. For any ships with less cargo capacity that entry shouldn't appear. So no Krait pilot will ever be able to buy one, except there are Kraits out there with monster subspace cargo bays :shock: It does already function like that - on my system at least.

The really big carriers that can't sensibly launch without one have the shuttle predefined in their shipyard standard equipment list now, they will come with one inbuilt.

It makes sense to have the transfer shuttle for the high-end cargo ships for another reason, too: In OSE there are the OoBay Auction stations, so that enormous cargo bays can be filled also if there are no big contracts available. So for the first time, cargo capacities beyond 150 tons start to really make sense in play. The transfer shuttle makes filling the cargo bay of such a big trader or ship a less tedious task for the player, that's why I generally allow it to be bought from a size of 600 tons upwards.

At least that's my reasoning behing doing it like this.

Cheers

L

Posted: Fri Aug 28, 2009 3:12 pm
by ovvldc
This would be a nice feature to have completely separate of ship-adding OXPs.

Best wishes,
Oscar

..

Posted: Fri Aug 28, 2009 3:33 pm
by Lestradae
ovvldc wrote:
This would be a nice feature to have completely separate of ship-adding OXPs.
No problem, just cut it out when the next OSE beta is published and make a separate oxp out of it! (Or even copy & paste the snippets I published here. They will work on their own)

I personally wouldn't lower the 600+ tons threshold, though. Otherwise, docking becomes too easy for ships for which there is no need, that would reduce the fun of it imho ...

Cheers

L

Posted: Fri Aug 28, 2009 3:42 pm
by Eric Walch
I noticed you use no check for fugitive status. Normally pilots are denied access to a station when fugitive. This is true for as well the the docking computer as the docking clearance. I would suggest adding a test for clearance:

Code: Select all

this.playerRequestedDockingClearance = function(message) 
{ 
   if(message == "DOCKING_CLEARANCE_DENIED_SHIP_FUGITIVE") return;
   if(player.ship.target) //no target no game, so it needs only to be in scanner range 
   { 
       this.targetStation = player.ship.target 
       if(player.ship.hasEquipment("EQ_SHUTTLE")) 
       { 
           player.commsMessage("Commander " + player.name + ", your transfer shuttle has been given docking clearance. Have a pleasant flight and please dock in the appropriate hangar section."); 
           this.targetStation.dockPlayer(); 
       } 
    } 
}
The message can be one of several. When the docking clearance is not enabled the player will get the "DOCKING_CLEARANCE_NOT_REQUIRED" message, even when fugitive, but when enabled, fugitives can't dock anymore. (Probably have to jump around a bit until they can)

..

Posted: Fri Aug 28, 2009 4:19 pm
by Lestradae
Hey Eric,

But ... what about i.e. a player who is massively fugitive (like someone who has bought an arms trader station and become a Yakuza crimelord, possible in OSE) who also has the Anarchies.oxp installed (which prevents the fugitive status from going down for a very long time) in a player carrier?

Such a player would be effectively stuck, not able to dock and not able to get off the fugitive hook either, and would basically have to reload the game to be able to continue.

I would be happy about implementing the fix you suggest, but the above scenario must be resolved first I think.

:?

L

PS: A fix was possible if there were alternate places for fugitive players to flee too, with a working "save anywhere". But without that - see above :(

Re: ..

Posted: Fri Aug 28, 2009 4:47 pm
by Eric Walch
Lestradae wrote:
But ... what about i.e. a player who is massively fugitive (like someone who has bought an arms trader station and become a Yakuza crimelord, possible in OSE) who also has the Anarchies.oxp installed (which prevents the fugitive status from going down for a very long time) in a player carrier?
:?
It just would mean death to the player. Same would happen when the player entered a massive ambush. That's the spirit of oolite: There can always be an ambush that can kill you. But in this case it is a choice as the player can choose to not set docking clearance on. It is off by default. To put it on you must add a special oxp (Or alter oolite itself)

Or make that some anarchy stations don't require docking clearance. You can set it selectively for a station in shipdata. The player than has to jump around until he finds a certain station that allows fugitives.

Posted: Fri Aug 28, 2009 4:49 pm
by Cmdr James
What part of fugitive dont you understand :p

Its a good point though. I guess if they have anarchies installed then they need to get themselves a multi-pass id thing or see the hackers.

Posted: Fri Aug 28, 2009 5:09 pm
by Kaks
You might want to add the concept of 'free ports' to OSE, where nobody cares about your legal status & you're free to dock as long as you don't attack the station, but everything is twice as expensive, or more...

Come to think of it, shuttles&freeports.oxp doesn't sound too bad as an oxp on its own.

The frequency of free ports could be maybe 50/50 anarchies (using pseudo random numbers, so no sudden surprises) and maybe 1 in 6 for feudal systems. You can convert main stations to free ports fairly easily using a combination of js & plists, though setting the market prices correctly is a bit of a black art...

That way, your yakuza overlords can still save their game, but they need to plan their life of crime much more carefully than the average law abiding-ish trader! :)

Re: ..

Posted: Fri Aug 28, 2009 6:46 pm
by zevans
Anarchies OXP already has a balanced fix for that, provided by certain extra items of "equipment" you can buy in certain stations in certain asteroid belts...

Don't see how shuttles change this at all, so unless you can think of a different example other than Anarchies-OXP ... I don't think there's a problem here?

Posted: Fri Aug 28, 2009 7:08 pm
by Kaks
True, having anarchies installed could become a requirement for dark side OSE players! ;)

Posted: Fri Aug 28, 2009 7:34 pm
by Eric Walch
Or you could change the check into:

Code: Select all

if(message == "DOCKING_CLEARANCE_DENIED_SHIP_FUGITIVE" && system.government > 0) return; 
That way the clearance for fugitives is ignored in anarchy systems only.

Posted: Fri Aug 28, 2009 8:26 pm
by Frame
look as i orginally wrote most of this..

my particular section on that looks like this, and I was testing
certain issues regarding legality before sending it of to lestradea
which are the things you are discussing now,

In any case my code I think is much cleaner, as i was not so much interested in whom or why... just plain dock me, and we use player target as the means of controlling who to dock to

I use player.dockingClearanceStatus though, since we are only interested in yes or no...

Code: Select all

this.playerRequestedDockingClearance = function()
{
	if(!player.ship.hasEquipment("EQ_LES_DOCKING_SHUTTLE"))
	return //no Equipment return
	
	let ok = false
	if(player.dockingClearanceStatus == "DOCKING_CLEARANCE_GRANTED")
	{
		ok = true // we got go for docking
		
	}
	else if (System.government <2) //ok i added this to accomodate certain dock in anarchy and feudal systems
	{
		ok = true
	}
	

	if(player.ship.target && ok) //no target no game.,.
	{		
	 	this.targetStation = player.ship.target	 	
	 	if(player.ship.hasEquipment("EQ_LES_DOCKING_SHUTTLE"))
	 	{	 		
	 		
	 	 	this.targetStation.dockPlayer()
	 	 	return
	 	}	 		 	
	 }
	 if(!ok)	 
	 player.ship.target.commsMessage("However, shuttle docking is denied") //we only get here if we got the equipment, but are denied docking
	 //more checks to eloborate on denial here
}

Posted: Sat Aug 29, 2009 12:12 am
by Disembodied
Kaks wrote:
The frequency of free ports could be maybe 50/50 anarchies (using pseudo random numbers, so no sudden surprises) and maybe 1 in 6 for feudal systems. You can convert main stations to free ports fairly easily using a combination of js & plists, though setting the market prices correctly is a bit of a black art...
The market prices for the Free Trade Zones are the only part of that OXP that work well (speaking as its author :)) ... they could be used in a (vastly superior) shuttles&freeports.oxp. They're more or less inverted according to the main system station, so that agricultural products are expensive on agricultural worlds and industrial ones are expensive on industrial worlds – the rationale being that these places are used as trading ports by pirates who are stealing the industrial goods being brought in to Ag worlds and vice-versa. Alloys and slaves are quite cheap, too, for obvious reasons, and precious metals (which I imagine would be used by pirates to underpin the black economy) are quite expensive. Nothing wildly game-unbalancing, though, and if you peppered the environs of a free port with bad guys it'd be a challenge to get in – especially after a run through an anarchy.

Posted: Sat Aug 29, 2009 12:29 am
by Kaks
Frame: different styles, different ideas of what looks cleaner or not, I suppose.

Still, you only need to check for EQ_LES_DOCKING_SHUTTLE at the beginning.
I would find the code easier to read if the second group of ifs was changed from

Code: Select all

   if(player.ship.target && ok) //no target no game.,.
   {      
       this.targetStation = player.ship.target       
       if(player.ship.hasEquipment("EQ_LES_DOCKING_SHUTTLE"))
       {          
          
           this.targetStation.dockPlayer()
           return
       }              
    } 
to

Code: Select all

   if(player.ship.target && ok) //no target no game.,.
   {       
       if(player.ship.target.isStation)
       {          
          this.targetStation = player.ship.target  
          this.targetStationt.dockPlayer()
           return
       }              
    } 
Actually, to be honest I'd really prefer it if it was like this:

Code: Select all

   if (ok && player.ship.target && player.ship.target.isStation)
     {          
          player.ship.target.dockPlayer();
           return;
    } 
Assuming that we don't need targetStation anywhere else, I do find the third version easier to read - for myself - but, as I said, it's mostly a matter of different personal styles! :)

Disembodied: I see!
Still, if the main station became the free trading zone, I suppose we'd need a subordinate 'legit' station to provide the contrast in prices. Course, no saving at the legit station, which would probably operate along the lines of governments in exile. Even though flying big rigs doesn't really suit my style of play, I like the idea!
Wish I had the time to make the oxp!

...

Posted: Sat Aug 29, 2009 1:05 am
by Lestradae
OK, if someone more able to fiddle with java script takes on the ideas thrown around here, I would be more than willing to include the result into OSE.

My problem is this: A non-carrier player Commander has an alternative if the docking procedure is denied: They can dock manually and basically enforce docking. A carrier Commander can't, and would be stuck. As a player too, outgame, not only ingame! That's no fun, and my first rule of game would be that it should be fun to play.

I have no problem with a fugitive crimelord player being hunted through the whole Ooniverse by any head hunter, GalCop and naval vessel in existence - actually, becoming a crimelord by buying certain stations does that to you. Your fugitive rating will go through the roof and basically you have no chance in hell to have it go down again until you sell the yakuza station or buy another one with a really good lawyer team :twisted:

Because of these options in OSE, any solution that denied a player carrier docking would have to have a really viable alternative. It doesn't need to be pretty (it actually shouldn't) but to for example restrict the player then to only anarchies or even feudal systems seems a bit overly harsh to me.

So any viable alternative would need some sort of fugitives underbelly of the Ooniverse, free ports for pirates, well-hidden, and something akin to Frame's save anywhere that really worked with the future 1.73 Oolite imho.

Hope that makes sense?

L