Rouge blastoff

Post Reply
impaktor
Posts: 1008
Joined: Fri Dec 20, 2013 9:54 am
Location: Tellus
Contact:

Rouge blastoff

Post by impaktor »

So this is something I want to change, but I suspect others might not agree, so posting here, rather than a PR at github.

Why do we have:

Code: Select all

void WorldView::OnClickBlastoff()
{
	Pi::BoinkNoise();
	if (Pi::player->GetFlightState() == Ship::DOCKED) {
		if (!Pi::player->Undock()) {
			Pi::cpan->MsgLog()->ImportantMessage(Pi::player->GetDockedWith()->GetLabel(),
					Lang::LAUNCH_PERMISSION_DENIED_BUSY);
		}
	} else {
		Pi::player->Blastoff();
	}
}
In my opinion, if you click "take off" button in worldview, i.e. without asking permission to launch, then this is brute force and should not care about any station rules or protocol, so even if ships are overhead, or the station is crowded you take off/Blastoff.

Removing that if-statement would allow us to use the permission-string only from ui-code, thus fixing this in Lobby.lua:

Code: Select all

local l = Lang.GetResource("ui-core")

-- XXX for LAUNCH_PERMISSION_DENIED_BUSY, still needed by WorldView
local lcore = Lang.GetResource("core")
As it is now, it feels strange that you can be denied takeoff even when you're not asking permission.
robn
Posts: 302
Joined: Mon Jul 01, 2013 1:11 am
Location: Melbourne, Australia

Re: Rouge blastoff

Post by robn »

Frontier had request launch permission and launch as separate functions. If you launched without permission you would get a fine and/or cops after you.

Pioneer never did this, mostly an oversight. It's one of those trivial things that I never got around to because there's always bigger things to take care of.

For me this is somewhere in the HUD rewrite, but if you want to do something with it now, feel free.
Post Reply