Back to Index | Page generated: May 8, 2024, 6:16:03 AM |
from Expansion Manager's OXP list | from Expansion Manifest | |
---|---|---|
Description | Adds some eye candy and background story to the ooniverse, a customized Riredi system. | Adds some eye candy and background story to the ooniverse, a customized Riredi system. |
Identifier | oolite.oxp.captain_beatnik.Riredi | oolite.oxp.captain_beatnik.Riredi |
Title | Riredi | Riredi |
Category | Ambience | Ambience |
Author | Captain Beatnik and phkb | Captain Beatnik and phkb |
Version | 2.1 | 2.1 |
Tags | ||
Required Oolite Version | ||
Maximum Oolite Version | ||
Required Expansions |
|
|
Optional Expansions | ||
Conflict Expansions | ||
Information URL | https://wiki.alioth.net/index.php/Riredi_OXP | n/a |
Download URL | https://wiki.alioth.net/img_auth.php/0/03/Riredi_2.1.oxz | n/a |
License | CC-BY-NC-SA 3.0 | CC-BY-NC-SA 3.0 |
File Size | n/a | |
Upload date | 1709981418 |
Also read http://wiki.alioth.net/index.php/Riredi
============================ Riredi-v1.0.0-2014-01-12.oxp ============================ VERSION: 2.0 DATE: 2024-02-07 REQUIRES: Oolite Version 1.91.x FEATURES: This .oxp adds some eye candy to the ooniverse, a customized Riredi-system. Riredi is very fabled for the Rirediian mountain slug. These gigantic creatures are isles of flourishing life on the barren planet and each of them forms a complete ecosystem. Dealing with radioactives is strictly prohibited on this world because radiation is harmful to the slugs. Riredi is home of Coluber Inc. and Riredisec Ltd. Enjoy! CONTENTS: license.txt riredi_readme.txt requires.plist <Config> commodities.plist demoships.plist descriptions.plist planetinfo.plist shipdata-overrides.plist shipdata.plist shipyard-overrides.plist <Models> cb68_pitviper-coluberguard.dat cb68_pitviper2-coluberguard.dat cb68_sodalite_station-dock-riredi-coluber.dat cb68_sodalite_station-riredi-coluber.dat <Textures> cb68_pitviper-coluberguard_em_map.png cb68_pitviper-coluberguard.png cb68_pitviper2_coluberguard_em_map.png cb68_pitviper2_coluberguard_normal.png cb68_pitviper2_coluberguard_specular.png cb68_pitviper2_coluberguard.png cb68_riredi.png cb68_sodalite_station-dock-bgs_tunnel-riredi-coluber.png cb68_sodalite_station-dock-riredi-coluber_em_map.png cb68_sodalite_station-dock-riredi-coluber.png cb68_sodalite_station-riredi-coluber_em_map.png cb68_sodalite_station-riredi-coluber_nm_map.png cb68_sodalite_station-riredi-coluber_sp_map.png cb68_sodalite_station-riredi-coluber.png riredi_diffuse.png riredi_normal.png KNOWN ISSUES: None. DEPENDENCIES: None. AUTHOR: Robert Triflinger (Captain Beatnik) Contact: captain.beatnik@gmx.de ATTRIBUTION: This work is derived from the original configuration files and artwork that come with the Oolite� program package. Thanks a lot to Giles C Williams (aegidian) and all contributors for developing Oolite. LICENSE: All artwork, scripts and configuration files in this work are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. You are free: * to Share - to copy, distribute and transmit the work * to Remix - to adapt the work Under the following conditions: * Attribution - You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). * Noncommercial - You may not use this work for commercial purposes. * Share Alike - If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. With the understanding that: * Waiver - Any of the above conditions can be waived if you get permission from the copyright holder. * Public Domain - Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. * Other Rights - In no way are any of the following rights affected by the license: - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - The author's moral rights; - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. * Notice - For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page: http://creativecommons.org/licenses/by-nc-sa/3.0/ (This is a human-readable summary of the Legal Code (the full license).) VERSION HISTORY: ======================= Version 2.1 * made radioactives illegal in Riredi * added a custom diffuse map for nav buoys in Riredi Version 2.0 (by phkb) * updated textures on station, included normal and specular maps. * updated planet textures, added lights, normal and specular maps. * switched from the Pitviper Mark I to the Pitviper Mark II for the Coluber Guard. * used updated textures for Pitviper Mark II. * made the Coluber Guard police ships the default ones for the Riredi system. * removed unused ballturret entry from shipdata.plist. * ensured the main station is selling predominately Coluber ships (if there are Coluber ship mods installed). * added a New Cargoes commodity (Rirediian Mountain Slug Emollient) Version 1.0.0 *First release of this .OXP ======================== *** end of file ***
Name |
---|
Pitviper Coluberguard |
Pitviper MkII Coluberguard |
cb68_pitviper2-coluberguard-int |
cb68_pitviper2-police |
Docking Slit (Octagon) |
Sodalite Station Coluber Inc. |
Path | |
---|---|
Scripts/coluberguard_conditions.js | "use strict"; this.name = "coluberguard_conditions"; this.author = "phkb"; this.copyright = "2024 phkb"; this.license = "CC BY-NC-SA 4.0"; //---------------------------------------------------------------------------------------- this.allowSpawnShip = function(shipKey) { // only in Riredi if (galaxyNumber == 0 && system.ID == 210) return true; return false; } |
Scripts/riredi_market.js | "use strict"; this.name = "riredi_market"; this.author = "phkb"; this.copyright = "2024"; this.license = "CC BY-NC-SA 4.0"; /* We're making radioactives illegal to import in Riredi, as well as reducing the price (they want to get rid of them) and reducing the number for sale (so there's not *too* much money for nothing) */ //------------------------------------------------------------------------------------------------------------- this.$updateLocalCommodityDefinition = function (goodDefinition, station, systemID) { if (goodDefinition.key == "radioactives") { if ((station === 0 || station == null) && (galaxyNumber == 0 && systemID && systemID == 210)) { goodDefinition.legality_import = 1; goodDefinition.price *= 0.75; goodDefinition.quantity *= 0.5; } } return goodDefinition; } //------------------------------------------------------------------------------------------------------------- this.startUp = function () { var msi = worldScripts.MarketScriptInterface_Main; msi.$addMarketInterface("system_local", "$updateLocalCommodityDefinition", this.name, "highest"); } |
Scripts/riredi_navbuoy.js | "use strict"; this.name = "riredi_navbuoy"; this.author = "phkb"; this.copyright = "2024"; this.license = "CC BY-NC-SA 4.0"; this._key = "oolite"; this._diffuse = "cb68_navbuoy.png"; this._emission = "cb68_navbuoy_illumination.png"; this._normal = "oolite_buoy_normal.png"; this._specular = "oolite_buoy_specular.png"; //------------------------------------------------------------------------------------------------------------- this.startUp = function() { // check if the DHI Nav Buoy is installed if (Ship.shipDataForKey("DHI_Nav_Buoy")) { this._normal = "DHI_Nav_Buoy_Normal.png"; this._specular = "DHI_Nav_Buoy_Specular.png"; this._key = "DHI"; } } //------------------------------------------------------------------------------------------------------------- this.startUpComplete = function() { // make sure our texture wins any races to be the last texture installed var info = System.infoForSystem(0, 210); info.texture = "riredi_diffuse.png"; } //------------------------------------------------------------------------------------------------------------- this.shipSpawned = function(ship) { if (galaxyNumber == 0 && system.ID == 210) { switch (ship.dataKey) { case "buoy": case "buoy-witchpoint": case "DHI_Nav_Buoy": case "DHI_Nav_Buoy-witchpoint": if (this._key == "oolite") { ship.setMaterials({"oolite_buoy_diffuse.png": { shininess:20, gloss:0.65, specular_color:[0.8, 0.83, 0.85, 1.0], diffuse_map:this._diffuse, emission_map:this._emission, normal_map:this._normal, specular_map:this._specular}}); } else { ship.setMaterials({"DHI_Nav_Buoy.png": { shininess:20, gloss:0.65, specular_color:[0.8, 0.83, 0.85, 1.0], diffuse_map:this._diffuse, emission_map:this._emission, normal_map:this._normal, specular_map:this._specular}}); } break; } } } |
Scripts/sodalite-newcargoes.js | "use strict"; this.author = "cim"; this.copyright = "© 2011-2014 cim."; this.license = "CC-BY-SA 3.0"; this.name = "CargoTypeExtension-Station-Sodalite"; this.description = "Sodalite station market definition"; this.startUp = function () { if (!worldScripts.CargoTypeExtension) { for (prop in this) { if (prop !== 'name' && prop !== 'version' && prop !== "oolite_manifest_identifier") { delete this[prop]; } } return; } else { if (!worldScripts["RandomStationNames"]) { worldScripts["CargoTypeExtension"].registerOXPStation(this.name, "cb68_sodalite_station-riredi-coluber"); } else { worldScripts["CargoTypeExtension"].registerOXPStation(this.name, "cb68_sodalite_station-riredi-coluber_no_beacon_version"); } this.$registerNewCargoTypes(); } } this.$registerNewCargoTypes = function () { var obj = new Object; obj.ID = "RC-MGE1"; obj.genericType = "luxuries"; obj.specificType = "Rirediian Mountain Slug Emollient"; obj.buySystems = [[210], [], [], [], [], [], [], []]; obj.sellSystems = [[5,57,59,60,69,78,92,99,156,167,218,223,231,241,249,253,], [14,53,81,89,113,115,144,224], [31,53,67,84,95,107,127,195,198,212,223], [25,46,47,51,56,72,89,104,111,115,120,121,153,174,175,179,184,200,217,232,239,243,248,249], [5,34,35,43,44,47,48,51,105,191,196,212,216,239,240], [22,34,35,53,59,80,96,110,119,132,159,204,227,232,234,242], [0,3,17,39,84,87,97,106,124,129,162,179,184,222,233,241], [0,19,22,54,67,72,73,87,135,142,143,154,156,184,209,241,252]]; obj.desc = "A secretion of the Rirediian Mountain Slug, with scientifically proven benefits for a variety of insectoid exoskeleton conditions."; worldScripts["CargoTypeExtension"].registerCargoType(obj); } /* Station API */ this.randomCargoChance = function (good) { var generic = worldScripts["CargoTypeExtension"].cargoDefinition(good, "genericType"); if (generic == "luxuries") { return 0.75; } return 0; } this.randomCargoAmount = function (good) { return 3; } this.exportCargoAmount = function (good) { var generic = worldScripts["CargoTypeExtension"].cargoDefinition(good, "genericType"); if (good == "RC-MGE1") return 2; return 0; } this.exportCargoPrice = function (good) { return 0.9 + (Math.random() * 0.2); } this.randomImportChance = function (good) { return 0; } this.systemImportChance = function (good) { var generic = worldScripts["CargoTypeExtension"].cargoDefinition(good, "genericType"); if (generic == "luxuries") { return 1; } else { return 0; } } this.importCargoPrice = function (good) { return 0.9 + (Math.random() * 0.2); } // they have police patrol ships, so they probably obey Galcop rules here this.importPermitCheck = function () { return true; } this.exportPermitCheck = function () { return true; } this.stationGossip = function () { return false; } |
Scripts/sodalite_station.js | "use strict"; this.name = "sodalite_station_script"; this.author = "phkb"; this.copyright = "2024 phkb"; this.license = "CC BY-NC-SA 4.0"; this._types = ["cb68_pitviper-player", "cb68_pitviper-beast-player", "cb68_pitviper2-player", "cb68_pitviper2b-player", "cb68_pitviper2c-player", "cb68_pitviper2d-player", "cb68_pitviper2e-player", "cb68_blue_racer-player", "cb68_red_racer-player", "cb68_yellowbelly_racer-player", "cb68_yellowbelly_racer-player2", "cb68_black_racer-player"]; //------------------------------------------------------------------------------------------------------------- this.shipSpawned = function () { var sy = this.ship.shipyard; var i = sy.length; // look for an existing coluber ships in the shipyard while (i--) { if (this._types.indexOf(sy[i].shipdata_key) >= 0) { // there are already coluber ships return; } } // make sure we only have spawnable ships in the _types array i = this._types.length; while (i--) { if (!Ship.shipDataForKey(this._types[i])) this._types.splice(i, 1); } // if we don't have any coluber ship oxps installed, exit at this point if (this._types.length == 0) return; // if we get here, there were no coluber ships in the shipyard, but there are some oxps installed // first, make sure there aren't many other ships i = sy.length; while (i--) { if (Math.random() > 0.25) this.ship.removeShipFromShipyard(i); } // now go and add some ships this.$addPitvipersToShipyard(); } //------------------------------------------------------------------------------------------------------------- this.$addPitvipersToShipyard = function () { var optional = ["EQ_ECM", "EQ_ADVANCED_NAVIGATIONAL_ARRAY", "EQ_PASSENGER_BERTH", "EQ_ENERGY_UNIT", "EQ_FUEL_INJECTION", "EQ_SCANNER_SHOW_MISSILE_TARGET", "EQ_MULTI_TARGET", "EQ_GAL_DRIVE", "EQ_SHIELD_BOOSTER", "EQ_HEAT_SHIELD"]; var forSale = parseInt(Math.random() * 5) + 6; // something between 6 and 10 ships for sale for (var shps = 0; shps <= forSale; shps++) { var s = this._types[parseInt(Math.random() * this._types.length)]; var extras = []; var txt = ""; var extrasCount = parseInt(Math.random() * 3); var extrasCost = 0; for (var i = 1; i <= extrasCount; i++) { if (Math.random() > 0.75) { // pick a piece of equipment to add var itm = optional[parseInt(Math.random() * optional.length)]; var eq = EquipmentInfo.infoForKey(itm); if (eq.techLevel <= system.techLevel && eq.techLevel <= this.ship.equivalentTechLevel) { extras.push(itm); txt += (txt == "" ? "Includes " : " and ") + eq.name; extrasCost += (eq.price / 10); } } } if (txt != "") txt += ". "; this.$addShip(s, extras, txt, extrasCost); this._types.splice(this._types.indexOf(s), 1); } } //------------------------------------------------------------------------------------------------------------- this.$addShip = function (shipKey, extras, extrasText, extrasCost) { var shp = Ship.shipDataForKey(shipKey); if (!shp) return; var price = (parseInt(shp._oo_shipyard.price) + extrasCost) * 0.9; // discounted when buying at a Sodalite station this.ship.addShipToShipyard({ short_description: shp.name + ": Standard customer model. " + extrasText + "Price " + formatCredits(price, false, true) + ".", shipdata_key: shipKey, price: price, personality: Math.floor(Math.random() * 32768), extras: extras }); } |