I want to move the player ship via .js - SOLVED

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

Moderators: winston, another_commander

User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post 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
ovvldc
---- E L I T E ----
---- E L I T E ----
Posts: 344
Joined: Sat Apr 02, 2005 9:32 am
Location: Netherlands

Post by ovvldc »

This would be a nice feature to have completely separate of ship-adding OXPs.

Best wishes,
Oscar
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post 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
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post 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)
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post 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 :(
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: ..

Post 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.
Last edited by Eric Walch on Fri Aug 28, 2009 4:50 pm, edited 1 time in total.
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post 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.
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post 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! :)
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
zevans
---- E L I T E ----
---- E L I T E ----
Posts: 332
Joined: Mon Jul 06, 2009 11:12 pm
Location: Uncharted backwaters of the unfashionable end of the western spiral arm

Re: ..

Post 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?
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

True, having anarchies installed could become a requirement for dark side OSE players! ;)
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post 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.
User avatar
Frame
---- E L I T E ----
---- E L I T E ----
Posts: 1477
Joined: Fri Mar 30, 2007 8:32 am
Location: Witchspace

Post 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
}
Bounty Scanner
Number 935
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6885
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post 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.
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post 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!
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

...

Post 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
Post Reply