Back to Index | Page generated: Nov 12, 2024, 11:02:04 PM |
from Expansion Manager's OXP list | from Expansion Manifest | |
---|---|---|
Description | ||
Identifier | oolite.oxp.spara.ImperialAstrofactory | oolite.oxp.spara.ImperialAstrofactory |
Title | Imperial Astrofactory | Imperial Astrofactory |
Category | Dockables | Dockables |
Author | spara, phkb, gsagostinho | spara, phkb, gsagostinho |
Version | 2.5.1 | 2.5.1 |
Tags | ||
Required Oolite Version | ||
Maximum Oolite Version | ||
Required Expansions | ||
Optional Expansions | ||
Conflict Expansions | ||
Information URL | https://wiki.alioth.net/index.php/Imperial_AstroFactory | n/a |
Download URL | https://wiki.alioth.net/img_auth.php/a/ad/AstroFactory_2.5.oxz | n/a |
License | CC-BY-SA 3.0 | CC-BY-SA 3.0 |
File Size | n/a | |
Upload date | 1716769823 |
Imperial Astrofactory OXP ver 2.5 (17-10-2017) Author: spara (Mika Spåra) _Description_ This oxp Griffifies the Astrofactory station from Dictators oxp by Ramirez. Also adds the missing AstroFarm station. It works as a standalone station or if Dictators oxp is installed substitutes the old astrostation. _Credits_ Original model and textures by Ramirez. Dome texture, other normalmaps and emissions by spara. _Install_ Install the OXP by copying Imperial_AstroFactory.oxp to your AddOns-folder. ------ This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ Solar panel: https://www.freepik.com/free-psd/solar-power-boards-3d-realistic-render_27548594.htm Image by godesign3d on Freepik Rock texture 1: https://www.freepik.com/free-photo/stone-texture-background_1120405.htm Image by kues1 on Freepik Rock texture 2: https://www.freepik.com/free-photo/stone-texture_1033837.htm Image by kues1 on Freepik 2.5.1 - Small tweaks to shipdata and shipdata-overrides files. 2.5 - Switched to using the default Oolite shaders. Raised minimum Oolite version to 1.90. - Added specular maps to all models. - Updated asteroid texture. - Added missing AstroFarm. - Independent populator now allows for saving the game at AstroFactories and AstroFarms. - Independent populator now positions AstroFactories in the same location as Dictators. - Moved "Imperial Lictor" from Dictators to this OXP. - Split the Lictor into two roles, one for "Imperial" dictatorships and one for "Revolutionary" dictatorships. 2.4 - Corrected more errors in shipdata.plist. 2.3 - Corrected errors in shipdata.plist. - Changed category to "Dockables" rather than "Ships". 2.2 update by gsagostinho - new textures, including new asteroid normal map - uses new logo, matching the new textures of Dictators version 2.1 - added Astrofactory to the Ship Library 2.1 update by phkb - Updated shipdata.plist to use newer subentity definitions. - Added manifest.plist file - Packaged as OXZ
Path | |
---|---|
Config/script.js | "use strict"; this.name = "dfl_imperial_astrofactory"; this.author = "Spara"; this.copyright = "2013 Mika Spåra"; this.license = "CC BY-NC-SA 3.0"; this.description = "Add astrofactory and astrofarm to dictatorship systems"; //------------------------------------------------------------------------------------------------------------- this.startUp = function() { if (worldScripts["dictators.js"]) { delete this.systemWillPopulate; } if (worldScripts.StationDockControl) { var sdc = worldScripts.StationDockControl; sdc._shipFits["Revolutionary AstroFarm|Serpent Class Cruiser"] = 0; sdc._shipFits["Revolutionary AstroFarm|Hornet"] = 0; sdc._shipFits["Revolutionary AstroFarm|Anaconda"] = 0; sdc._shipFits["Revolutionary AstroFarm|Boa Class Cruiser"] = 0; sdc._shipFits["Revolutionary AstroFarm|Boa"] = 0; sdc._shipFits["Revolutionary AstroFarm|Cobra Mark IV"] = 0; sdc._trafficLow.push("astrofarm"); } } //------------------------------------------------------------------------------------------------------------- this.systemWillPopulate = function() { if (system.government != 3) return; var sv = worldScripts.station_validator; if (system.economy < 3 && system.countShipsWithRole("astrofactory") === 0) { if (sv && (sv.$deaths("dfl_astrofactory").length !== 0 || sv.$deaths("dfl_astrofactory2").length !== 0)) return; var posAF = Vector3D((system.scrambledPseudoRandomNumber(1245) * 0.30 - 0.15), (system.scrambledPseudoRandomNumber(3827) * 0.30 - 0.15), 0.3).fromCoordinateSystem("wpu"); system.setPopulator("dictators_astrofactory", { location: "COORDINATES", coordinates: posAF, deterministic:true, callback: function(pos) { var rck = system.addShips("asteroid", 30, pos, 40E3); var key = "dfl_astrofactory"; if (system.techLevel >= 10) key = "dfl_astrofactory2"; var af = system.addShips("[" + key + "]", 1, pos, 0); if (!af || af.length === 0) log("astrofactory.populator", "OOPS! No astrofactory spawned"); }} ); } if (system.economy > 4 && system.countShipsWithRole("astrofarm") === 0) { if (sv && (sv.$deaths("dfl_astrofarm").length !== 0 && sv.$deaths("dfl_astrofarm2").length !== 0)) return; var posAFM = Vector3D((system.scrambledPseudoRandomNumber(2271) * 0.30 - 0.15), (system.scrambledPseudoRandomNumber(772) * 0.30 - 0.15), 0.3).fromCoordinateSystem("spu"); system.setPopulator("dictators_astrofarm", { location: "COORDINATES", coordinates: posAFM, deterministic:true, callback: function(pos) { var key = "dfl_astrofarm"; if (system.techLevel >= 6) key = "dfl_astrofarm2"; var af = system.addShips("[" + key + "]", 1, pos, 0); if (!af || af.length === 0) log("astrofarm.populator", "OOPS! No astrofarm spawned"); else worldScripts.dfl_imperial_astrofactory.turnStationToEntity(af[0], system.sun, -1.5, 0, 1); // get solar panel to face sun }} ); } } //------------------------------------------------------------------------------------------------------------- this.turnStationToEntity = function (station, entity, x, y, z) { var targetVector = entity.position.subtract(station.position).direction(); station.orientation = targetVector.rotationTo([(!x ? 0 : x), (!y ? 0 : y), (!z ? 1 : z)]); } |
Scripts/dfl_conditions.js | "use strict"; this.name = "AstroFactory_Conditions"; this.author = "phkb"; this.copyright = "2024 phkb"; this.description = "Condition script for ships and equipment."; this.licence = "CC BY-NC-SA 3.0"; //------------------------------------------------------------------------------------------------------------- this.allowSpawnShip = function(shipKey) { if (system.government !== 3) return false; switch (shipKey) { case "dfl_astrofactory": case "dfl_astrofactory2": case "imp_lictor": if (system.economy < 3) return true; break; case "dfl_astrofarm": case "dfl_astrofarm2": case "rev_lictor": if (system.economy > 4) return true; break; case "imp_police_lictor": if (worldScripts["dictators.js"] && worldScripts["dictators.js"]._settings.policeShipReplace == false) return false; if (system.economy < 3) return true; break; case "rev_police_lictor": if (worldScripts["dictators.js"] && worldScripts["dictators.js"]._settings.policeShipReplace == false) return false; if (system.economy > 4) return true; break; } return false; } |