Back to Index Page generated: Jul 10, 2025, 12:27:02 AM

Expansion Audible docking clearance

Content

Manifest

from Expansion Manager's OXP list from Expansion Manifest
Description Plays notification sounds for docking events, so you'll not miss the clearance messages. You'll need to have the Docking Clearance Protocol enabled from Game Options. Plays notification sounds for docking events, so you'll not miss the clearance messages. You'll need to have the Docking Clearance Protocol enabled from Game Options.
Identifier oolite.oxp.spara.audible_docking_clearance oolite.oxp.spara.audible_docking_clearance
Title Audible docking clearance Audible docking clearance
Category Equipment Equipment
Author spara spara
Version 1.3.1 1.3.1
Tags
Required Oolite Version
Maximum Oolite Version
Required Expansions
Optional Expansions
Conflict Expansions
Information URL http://wiki.alioth.net/index.php/Audible_Docking_Clearance n/a
Download URL https://wiki.alioth.net/img_auth.php/7/77/Audible_Docking_Clearance_1.3.1.oxz n/a
License CC-BY-NC-SA 4.0 CC-BY-NC-SA 4.0
File Size n/a
Upload date 1610873341

Documentation

Also read http://wiki.alioth.net/index.php/Audible%20docking%20clearance

Audible_docking_clearance_readme_&_license.txt

Audible docking clearance OXP ver 1.3.1 (3.5.2015)

Author: spara (Mika SpÄra)

_Description_

This oxp plays a notification sound for these docking events:

* Docking_authorized
* Hold_for_clearance
* Clearance_extended
* Clearance_denied
* Clearance_cancelled
* Clearance_expiring
* Clearance_not_required

Sounds used are default game sounds.

_Install__

Install the OXP by copying Audible_docking_clearance.oxp to your AddOns-folder.

------

This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 4.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/

Equipment

This expansion declares no equipment.

Ships

This expansion declares no ships.

Models

This expansion declares no models.

Scripts

Path
Config/script.js
"use strict";

this.name               = "audible_docking_clearance";

this.playerRequestedDockingClearance = function(message)
{
	var notifySound = new SoundSource;
	if (message == "DOCKING_CLEARANCE_NOT_REQUIRED") {
		notifySound.sound = "[clearance_not_required]";
		notifySound.play();
	}
	else if (message == "DOCKING_CLEARANCE_DENIED_SHIP_FUGITIVE") {
		notifySound.sound = "[clearance_denied]";
		notifySound.play();	
	}	
	else if (message == "DOCKING_CLEARANCE_EXTENDED") {
		notifySound.sound = "[clearance_extended]";
		notifySound.play();			
	}
	else if (message == "DOCKING_CLEARANCE_GRANTED" || message == "DOCKING_CLEARANCE_DENIED_TRAFFIC_INBOUND" || message == "DOCKING_CLEARANCE_DENIED_TRAFFIC_OUTBOUND") {
		this.$status = "";
		this.$clearanceFrameCallback = addFrameCallback(this.$clearanceMonitor.bind(this));
	}
}

this.$clearanceMonitor = function(delta) {
	if (this.$status != player.dockingClearanceStatus) {
		if (player.dockingClearanceStatus == "DOCKING_CLEARANCE_STATUS_GRANTED") {
			if (this.$status != "DOCKING_CLEARANCE_STATUS_TIMING_OUT") {
				var notifySound = new SoundSource;
				notifySound.sound = "[docking_authorized]";
				notifySound.play();
			}
		}
		else if (player.dockingClearanceStatus == "DOCKING_CLEARANCE_STATUS_REQUESTED") {
			var notifySound = new SoundSource;
			notifySound.sound = "[hold_for_clearance]";
			notifySound.play();
		}
		else if (player.dockingClearanceStatus == "DOCKING_CLEARANCE_STATUS_TIMING_OUT" ) {
			var notifySound = new SoundSource;
			notifySound.sound = "[clearance_expiring]";
			notifySound.play();
		}
		else if (player.dockingClearanceStatus == "DOCKING_CLEARANCE_STATUS_NONE") {
			var notifySound = new SoundSource;
			notifySound.sound = "[clearance_cancelled]";
			notifySound.play();
			removeFrameCallback(this.$clearanceFrameCallback);
			delete this.$clearanceFrameCallback;
			return;
		}
	}
	else if (player.ship.status == "STATUS_EXITING_WITCHSPACE" || player.ship.docked) { 
		removeFrameCallback(this.$clearanceFrameCallback);
		delete this.$clearanceFrameCallback;
		return;		
	}
	this.$status = player.dockingClearanceStatus;
}