| Back to Index | Page generated: Oct 27, 2025, 5:37:22 AM | 
 Expansion Simon B's Favorites
 Expansion Simon B's Favorites| from Expansion Manager's OXP list | from Expansion Manifest | |
|---|---|---|
| Description | Adds Simon B's re-modelled versions of Aphid, Cobra Clipper, Cobra Clipper SAR, Cobra Rapier, Cobra Cutlass and Wolf Mark I. Original ship concepts by 8-Bit Apocalypse, Murgh, Wolfwood. Includes player and NPC ships. | Adds Simon B's re-modelled versions of Aphid, Cobra Clipper, Cobra Clipper SAR, Cobra Rapier, Cobra Cutlass and Wolf Mark I. Original ship concepts by 8-Bit Apocalypse, Murgh, Wolfwood. Includes player and NPC ships. | 
| Identifier | oolite.oxp.spara.sb-faves | oolite.oxp.spara.sb-faves | 
| Title | Simon B's Favorites | Simon B's Favorites | 
| Category | Ships | Ships | 
| Author | Keeper, Simon B, spara | Keeper, Simon B, spara | 
| Version | 1.1.3 | 1.1.3 | 
| Tags | ||
| Required Oolite Version | ||
| Maximum Oolite Version | ||
| Required Expansions | ||
| Optional Expansions | ||
| Conflict Expansions | ||
| Information URL | http://aegidian.org/bb/viewtopic.php?f=4&t=16618 | n/a | 
| Download URL | https://wiki.alioth.net/img_auth.php/1/12/Sb-faves_1.1.3.oxz | n/a | 
| License | CC-BY-NC-SA 4.0 | CC-BY-NC-SA 4.0 | 
| File Size | n/a | |
| Upload date | 1610873233 | 
Also read http://wiki.alioth.net/index.php/Simon%20B's%20Favorites
| Path | |
|---|---|
| Config/script.js | "use strict";
this.name        = "sbf_clipperschedule"; 
this.author      = "spara"; 
this.copyright      = "2014 Mika SpÄra";
this.description = "Populator for sb-faves sar clippers"; 
this.licence    	= "CC BY-NC-SA 4.0";
this.startUp = function() {
	//to avoid similar population with other oxps
	if (worldScripts["ecl_SAR_worldscript.js"] || worldScripts["clipperschedule"]) {
		delete this.systemWillPopulate;
		delete this.systemWillRepopulate;
	}
}
this.systemWillPopulate = function() {
	//to avoid similar population with other oxps
	if (system.techLevel > 7 && Math.random() > 0.35) {
		//0-3 ships, weighted probs of 1 and 2 ships.
		for (var i = 0; i < Math.round(Math.random() * 3); i++) {
			system.setPopulator("sbf_clippers" + i, {
				callback: function(pos) {
					system.addShips("clipper-rescueship", 1, pos);
				}.bind(this),
				location: "LANE_WPS"
			});
		};
	};
}
this.systemWillRepopulate = function() {
	//a small probability for restocking sar clippers.
	if (system.techLevel > 7 && system.countShipsWithPrimaryRole("clipper-rescueship") < 2 && Math.random() < 0.05) {
		if (Math.random() > 0.5) 
			system.mainStation.launchShipWithRole("clipper-rescueship");
		else 
			system.addShips("clipper-rescueship", 1);
	}
}
 | 
| Scripts/sbf_cobraClipper.js | "use strict";
this.name      = "cobraClipper"; 
this.author    = "eric walch"; 
this.copyright = "";
this.description = "ship script cobraClipper";
this.version   = "1.1.1";
/*
The original rescueship tried to only find escapepods. This never worked. The used command scanForNearestShipWithRole excludes any cargo. 
Only scanForLoot would work, but that mainly finds barrels. Therefor
*/
this.findPods = function()
{
	function isEscapePod(entity) { return entity.isShip && entity.primaryRole == "escape-capsule"};
	var pod = system.filteredEntities(this, isEscapePod, this.ship, this.ship.scannerRange)[0];
	if(pod)
	{
		if (0 < oolite.compareVersion("1.74"))
        {
            if(this.ship.cargoSpaceUsed == this.ship.cargoCapacity) 
            {
                this.ship.reactToAIMessage("HOLD_FULL")
            }
            else
            {
                this.ship.target = pod
                this.ship.reactToAIMessage("ESCAPEPOD_FOUND")
            }
        }
        else
        {
            if(this.ship.cargoSpaceUsed == this.ship.cargoSpaceCapacity) 
            {
                this.ship.reactToAIMessage("HOLD_FULL")
            }
            else
            {
                this.ship.target = pod
                this.ship.reactToAIMessage("ESCAPEPOD_FOUND")
            }
        }
	}
}
 |