Page 1 of 1

Rouge blastoff

Posted: Thu Apr 03, 2014 12:12 pm
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.

Re: Rouge blastoff

Posted: Thu Apr 03, 2014 1:12 pm
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.