Back to Index | Page generated: Nov 12, 2024, 11:02:04 PM |
from Expansion Manager's OXP list | from Expansion Manifest | |
---|---|---|
Description | A mission pack based on the Oolite fiction short story 'Coyote', by El Viejo. | A mission pack based on the Oolite fiction short story 'Coyote', by El Viejo. |
Identifier | oolite.oxp.Okti.Coyotes_Run | oolite.oxp.Okti.Coyotes_Run |
Title | Coyote's Run | Coyote's Run |
Category | Missions | Missions |
Author | Okti | Okti |
Version | 2.5 | 2.5 |
Tags | ||
Required Oolite Version | ||
Maximum Oolite Version | ||
Required Expansions | ||
Optional Expansions | ||
Conflict Expansions | ||
Information URL | https://wiki.alioth.net/index.php/Coyote%27s_Run | n/a |
Download URL | https://wiki.alioth.net/img_auth.php/c/c7/Coyotes_Run_2.5.oxz | n/a |
License | CC-BY-SA-NC 3.0 | CC-BY-SA-NC 3.0 |
File Size | n/a | |
Upload date | 1710967252 |
Also read http://wiki.alioth.net/index.php/Coyote's%20Run
Coyote’s Run OXP by Okti Introduction: ============= This OXP is based on the Oolite fiction short story Coyote, by El Viejo. The mission will commence when the player jumps into Laquused in G5 with a Cloaking Device. The mission uses comms messages extensively, and the player can check the current instructions by accessing the F5F5 Manifest screen. Also, all previous mission screens can be viewed by selecting the "Coyote's Run History" item on the F4 interfaces screen when docked. Most of the actions are scripted according to the tale and only slightly changed or extended. It would be handy to have read the tale, or to read it during the mission play, but the OXP can be enjoyed even if you haven't read the tale. The short story Coyote, can be downloaded here: http://www.box.net/shared/vpd2ln2mr3 Installation: ============= Inside the .zip there are two OXP's: (1) Coyote's Run.oxp: This is the main OXP and should be the only back you need to install. Put this in your AddOns folder. (2) Coyote's Run for Griff.oxp: If you are *not* using Griff’s all-in-one replacemment shipset in your game, but you *do* have Griff's ships installed and want the ships in this OXP to use the Griff versions, then you should also install the Coyote's Run for Griff.oxp into your AddOns folder. This will ensure that all the ships in the OXP are Griff ships. Credits: ======== El Viejo (Screenplay Consultant): for allowing me to script his intellectual property, correcting the mission texts, giving ideas, test running the mission, motivating me during the WIP period... in short, for directing the OXP. Smivs: for providing textures and test playing the mission, and invaluable insights and advice. Fatleaf (Chief Test-pilot): for testing, giving ideas, motivation and making me laugh at his comments, and his heroic efforts to ‘break’ the mission. Mauiby de Fug: for testing, correcting typos and his kind PM’s and posts about the mission. Svengali, Ironfist: for testing and giving ideas about placing objects in the right locations. Wyvern: for modelling and quaternion help and also for suggestions for the mission. Griff: for allowing me to write the overrides oxp for his shipset, and his help in providing a custom paintjob and decals for some ships. Eric Walch: for testing the plist’s on his Mac. PhantorGorth: for facilitating the development environment in the Oolite chatroom, and for his knowledge of JavaScript. All the regulars at DS's Seedy Space Bar for the 'vibes'... thanks, guys and gals! All OXP authors, from whose work I learnt so much, and the Oolite development team, without which many missions would not be possible. Copyright: ========== 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/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Version History =============== 2.5 - Fixed issue with invalid references in system populator functions. 2.4 - Fixed undeclared variable error. 2.3 - Added specular maps to Avernus and the two Navy stations. - Added Navy logo to Navy stations. 2.2 - Fixed missing variable reference error. 2.1 - Added restaurant menu to Avernus Orbital F4 screen, and disabled the F8 Market screen on the station as well. - Tweaked the Avernus Orbital textures and shipdata entry. 2.0 - Updated Griff pack to use the latest version of the Griff normal-mapped ships. - Updated hermit model to use standard default model. - Corrected links to Green Gecko OXP. - Updated some texture and image files. - Update dock model and textures. - Switched to use system population routines for planet and station additions. - Added market script for Navy Stations. - Added market to Avernus Orbital station. - Moved the historic mission text display to an F4 interface screen (rather than overloading the F7 system data screen). - Updated subentities to use new style definitions. - Added "use strict"; to all script files. - Bug fixes, spelling corrections, code refactoring and cleanup.
Name | Visible | Cost [deci-credits] | Tech-Level |
---|---|---|---|
UberTek Tractor Beam | yes | 100000 | 15+ |
Path | |
---|---|
Scripts/Coyote-Main.js | "use strict"; this.name = "Coyote-Main"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "A mission based On Coyote by EL Viejo."; /* todo: maybe implement a more 'natural' way of giving the player a full fuel tank at the start of the mission add a special cargo pod near the witchpoint, which, when scooped, will give the player full fuel and kick off the mission? have an MFD which displays the most current comms instructional message, so it doesn't get lost off the screen? */ this.startUp = function () { this.CamAndGreerTrackId = null; this.cam1 = null; this.greer1 = null; this.showScreen = true; } this.startUpComplete = function () { this.$initInterface(player.ship.dockedStation); } this.$disableMarketObserver = function $disableMarketObserver(station) { if (station.primaryRole == "Coyoteinterstellarstation" || station.primaryRole == "Coyoteinterstellarstationgg" || station.primaryRole == "coyoterockhermit") { if (worldScripts.market_ads) { var ma = worldScripts.market_ads; if (ma.guiScreenChanged) { ma.$cm_hold_guiScreenChanged = ma.guiScreenChanged; delete ma.guiScreenChanged; } } if (worldScripts.market_observer3) { var mo = worldScripts.market_observer3; if (mo.guiScreenChanged) { mo.$cm_hold_guiScreenChanged = mo.guiScreenChanged; delete mo.guiScreenChanged; } } if (worldScripts.NoMarketNotification) { var nmn = worldScripts.NoMarketNotification; if (nmn.guiScreenChanged) { nmn.$cm_hold_guiScreenChanged = nmn.guiScreenChanged; nmn.$cm_hold_guiScreenWillChange = nmn.guiScreenWillChange; delete nmn.guiScreenChanged; delete nmn.guiScreenWillChange; } } } } this.$enableMarketObserver = function $enableMarketObserver (station) { if (!station) return; if (station.primaryRole == "Coyoteinterstellarstation" || station.primaryRole == "Coyoteinterstellarstationgg" || station.primaryRole == "coyoterockhermit") { if (worldScripts.market_ads) { var ma = worldScripts.market_ads; if (ma.$cm_hold_guiScreenChanged) { ma.guiScreenChanged = ma.$cm_hold_guiScreenChanged; delete ma.$cm_hold_guiScreenChanged; } } if (worldScripts.market_observer3) { var mo = worldScripts.market_observer3; if (mo.$cm_hold_guiScreenChanged) { mo.guiScreenChanged = mo.$cm_hold_guiScreenChanged; delete mo.$cm_hold_guiScreenChanged; } } if (worldScripts.NoMarketNotification) { var nmn = worldScripts.NoMarketNotification; if (nmn.$cm_hold_guiScreenChanged) { nmn.guiScreenChanged = nmn.$cm_hold_guiScreenChanged; nmn.guiScreenWillChange = nmn.$cm_hold_guiScreenWillChange; delete nmn.$cm_hold_guiScreenChanged; delete nmn.$cm_hold_guiScreenWillChange; } } } } this.guiScreenChanged = function (to, from) { /*if (to == "GUI_SCREEN_SYSTEM_DATA" && this.showScreen && player.ship.docked) { this.showScreen = false; this.displayPreviousScreens(); }*/ if (to == "GUI_SCREEN_MARKET" && player.ship.docked) { if (player.ship.dockedStation.primaryRole == "Coyoteinterstellarstation" || player.ship.dockedStation.primaryRole == "Coyoteinterstellarstationgg") { mission.runScreen({ title: "Avernus Commodity Market", messageKey: "Avernus_Commodity_Market", choicesKey: "Avernus_Commodity_Market_choices" }, this.choices); } if (player.ship.dockedStation.primaryRole == "coyoterockhermit") { mission.runScreen({ title: "Rock Hermit Commodity Market", messageKey: "Labruja_Commodity_Market" }); } } } this.shipSpawned = function (ship) { if (!player.ship.docked) { if (ship.primaryRole == "EQ_QC_MINE" || ship.primaryRole == "EQ_RMB_CASCADE_MISSILE" || ship.primaryRole == "EQ_RMB_LAW_MISSILE" || ship.primaryRole == "EQ_RMB_OVERRIDE_MISSILE" || ship.primaryRole == "EQ_NUKE2_MISSILE" || ship.primaryRole == "EQ_HARPOON_NUKE2_MISSILE" || ship.primaryRole == "EQ_PHOTON_MISSILE" || ship.primaryRole == "RANDOM_HITS_MINE") { if ((missionVariables.Coyote_status == "STAGE_200" || missionVariables.Coyote_status == "STAGE_210" || missionVariables.Coyote_status == "STAGE_220") && galaxyNumber == 4 && system.ID == 185) { this.shArray = system.shipsWithPrimaryRole("coyotekatikrockhermit"); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 25600) { player.consoleMessage(ship.primaryRole + " has been disarmed", 6); ship.remove(true); } } } if (!missionVariables.Coyote_status || missionVariables.Coyote_status == "COMPLETED") { return; } if (ship.position.distanceTo(player.ship.position) < 25600) { player.consoleMessage(ship.primaryRole + " has been disarmed", 6); ship.remove(true); } } } } this.shipDockedWithStation = function (station) { this.$initInterface(station); this.$disableMarketObserver(station); } this.shipLaunchedFromStation = function (station) { this.$enableMarketObserver(station); if (missionVariables.Coyote_status == "STAGE_310" && galaxyNumber == 4 && system.ID == 58) { this.station = station; station.launchShipWithRole("coyoteinterceptor") } } this.shipWillLaunchFromStation = function (station) { this.showScreen = true; // Anbedi if (missionVariables.Coyote_status == "STAGE_350" && galaxyNumber == 4 && system.ID == 20) { if (system.countShipsWithRole("coyotecameron4") == 0) { system.addShips("coyotegreer4", 1, station.position.add(station.vectorForward.multiply(5000)), 100); system.addShips("coyotecameron4", 1, station.position.add(station.vectorForward.multiply(5000)), 100); } } // Zaquesso /*if (galaxyNumber == 4 && system.ID == 25) { if (system.countShipsWithRole("CoyoteNavystation1") == 0) { var P = system.addPlanet("Coyote_planet1") P.solarGasGiant = true; var P2 = system.addPlanet("Coyote_planet2") P2.solarGasGiant = true; var M = system.addMoon("Coyote_moon1"); tv = P.position.subtract(M.position).direction(); var stationPos = M.position.add(tv.multiply(-15000)); //stationPos.x = 267107; //stationPos.y = -172013; //stationPos.z = 563825; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = M.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }*/ // Leteisan /* if (missionVariables.Coyote_status == "STAGE_200" && galaxyNumber == 4 && system.ID == 185) { if (system.countShipsWithRole("coyotekatikrockhermit") == 0) { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotePython200", 1, RH.position, 3000); system.addShips("coyotePython201", 1, RH.position, 3000); system.addShips("coyotePython202", 1, RH.position, 3000); system.addShips("coyotePython203", 1, RH.position, 3000); this.lobo = system.addShips("coyotelobo4", 1)[0]; this.zorra = system.addShips("coyotezorra4", 1)[0]; this.massedLocked = false; this.trackId = addFrameCallback(this.loboAndZorra.bind(this)); } } // Leteisan if (missionVariables.Coyote_status == "STAGE_210" && galaxyNumber == 4 && system.ID == 185) { if (system.countShipsWithRole("coyotekatikrockhermit") == 0) { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotelobo5", 1, RH.position, 3000); system.addShips("coyotezorra5", 1, RH.position, 3000); } } // Leteisan if (missionVariables.Coyote_status == "STAGE_220" && galaxyNumber == 4 && system.ID == 185) { if (system.countShipsWithRole("coyotekatikrockhermit") == 0) { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotelobo5", 1, RH.position, 3000); system.addShips("coyotezorra5", 1, RH.position, 3000); } } // Tirizaan if (galaxyNumber == 4 && system.ID == 40) { if (system.countShipsWithRole("CoyoteNavystation1") == 0) { var stationPos = new Vector3D; stationPos.x = 377799; stationPos.y = 157513; stationPos.z = 624280; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } } // Inmaarxe if (galaxyNumber == 4 && system.ID == 124) { if (system.countShipsWithRole("CoyoteNavystation1") == 0) { var stationPos = new Vector3D; stationPos.x = -65000; stationPos.y = -52600; stationPos.z = 809500; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } } // Zaeredre if (galaxyNumber == 4 && system.ID == 39) { if (system.countShipsWithRole("CoyoteNavystation2") == 0) { S = system.addShipsToRoute("CoyoteNavystation2", 1, 0.5, "sp")[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } } // Bizalein if (galaxyNumber == 4 && system.ID == 89) { if (system.countShipsWithRole("CoyoteNavystation2") == 0) { var stationPos = new Vector3D; stationPos.x = -67015; stationPos.y = 56389; stationPos.z = 594198; S = system.addShips("CoyoteNavystation2", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } } // Ergeso if (system.ID == 87 && galaxyNumber == 4) { if (system.countShipsWithRole("coyoterockhermit") == 0) { var rh = system.addShips("coyoterockhermit", 1, Vector3D(0, 0, 3).fromCoordinateSystem("sws"))[0]; system.addShips("asteroid", 10, rh.position, 10000); } }*/ } this.shipWillDockWithStation = function (station) { if (galaxyNumber == 4) { if (missionVariables.Coyote_status == "STAGE_20" && system.ID == 25 && station.primaryRole == "CoyoteNavystation1") { player.addMessageToArrivalReport("For Capturing Ka'eli Tun, a slimmy rodent from Ririqu, you're paid a bounty of " + formatCredits(74.9, true, true)); player.credits += 74.9; } if (missionVariables.Coyote_status == "STAGE_350" && system.ID == 39 && player.ship.dockedStation.primaryRole == "CoyoteNavystation") { this.cam1.remove(true); } if (missionVariables.Coyote_status == "STAGE_60") { this.deactivateSkimTracking() } } } this.shipTargetAcquired = function (target) { if (!target) return; //player.consoleMessage(target.primaryRole,3); if (target.primaryRole == "coyotepythonstart" && !missionVariables.Coyote_status) { mission.setInstructionsKey("CE_MI_S_10_01"); player.commsMessage(expandDescription("[COYOTE_START5]"), 10); missionVariables.Coyote_status = "STAGE_10"; } } this.systemWillPopulate = function () { if (galaxyNumber == 4) { if (system.ID == 39) { var posNS = Vector3D(0, 0, 0.5).fromCoordinateSystem("spu"); system.setPopulator("coyoteNS2", { location: "COORDINATES", coordinates: posNS, deterministic: true, callback: function (pos) { var S = system.addShips("CoyoteNavystation2", 1, pos, 0)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }); } // Zaquesso if (system.ID == 25) { var P = system.addPlanet("Coyote_planet1"); P.solarGasGiant = true; var P2 = system.addPlanet("Coyote_planet2"); P2.solarGasGiant = true; var M = system.addMoon("Coyote_moon1"); var tv = P.position.subtract(M.position).direction(); var stationPos = M.position.add(tv.multiply(-15000)); system.setPopulator("coyteNS1", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { //stationPos.x = 267107; //stationPos.y = -172013; //stationPos.z = 563825; var S = system.addShips("CoyoteNavystation1", 1, pos, 0)[0]; var mn = null; for (var i = 0; i < system.planets.length; i++) { if (system.planets[i].texture == "Coyotemoon.png") { mn = system.planets[i]; } } var targetVector = mn.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }); } // Bizalein if (system.ID == 89) { var stationPos = new Vector3D; stationPos.x = -67015; stationPos.y = 56389; stationPos.z = 594198; system.setPopulator("coyoteNS2", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { var S = system.addShips("CoyoteNavystation2", 1, pos, 0)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }); } // Tirizaan if (system.ID == 40) { var stationPos = new Vector3D; stationPos.x = 377799; stationPos.y = 157513; stationPos.z = 624280; system.setPopulator("coyoteNS1", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { var S = system.addShips("CoyoteNavystation1", 1, pos, 0)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }); } // Inmaarxe if (system.ID == 124) { var stationPos = new Vector3D; stationPos.x = -65000; stationPos.y = -52600; stationPos.z = 809500; system.setPopulator("coyoteNS1", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { var S = system.addShips("CoyoteNavystation1", 1, pos, 0)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } }); } // Leteisan if (system.ID == 185) { if (missionVariables.Coyote_status == "STAGE_200") { var stationPos = Vector3D(0, 0, 4).fromCoordinateSystem("sws"); system.setPopulator("coyoteKRH1", { location: "COORDINATES", coordinates: stationPos, callback: function (pos) { var RH = system.addShips("coyotekatikrockhermit", 1, pos, 0)[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); var cr = worldScripts["Coyote-Main"]; RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotePython200", 1, RH.position, 3000); system.addShips("coyotePython201", 1, RH.position, 3000); system.addShips("coyotePython202", 1, RH.position, 3000); system.addShips("coyotePython203", 1, RH.position, 3000); cr.lobo = system.addShips("coyotelobo4", 1)[0]; cr.zorra = system.addShips("coyotezorra4", 1)[0]; cr.massedLocked = false; cr.trackId = addFrameCallback(cr.loboAndZorra.bind(cr)); } }); } else if (missionVariables.Coyote_status == "STAGE_210" || missionVariables.Coyote_status == "STAGE_220") { var stationPos = Vector3D(0, 0, 4).fromCoordinateSystem("sws"); system.setPopulator("coyoteKRH1", { location: "COORDINATES", coordinates: stationPos, callback: function (pos) { var RH = system.addShips("coyotekatikrockhermit", 1, pos, 0)[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotelobo5", 1, RH.position, 3000); system.addShips("coyotezorra5", 1, RH.position, 3000); } }); } } // Ergeso if (system.ID == 87) { var stationPos = Vector3D(0, 0, 3).fromCoordinateSystem("sws"); system.setPopulator("coyoteRH1", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { if (system.countShipsWithRole("coyoterockhermit") == 0) { var S = system.addShips("coyoterockhermit", 1, pos, 0)[0]; system.addShips("asteroid", 10, S.position, 10000); } } }); } } } this.interstellarSpaceWillPopulate = function () { if (this.addInterstellarPlanet) { var stationPos = new Vector3D; stationPos.x = 22172; stationPos.y = -20312; stationPos.z = 696652; system.setPopulator("coyoteNS2a", { location: "COORDINATES", coordinates: stationPos, deterministic: true, callback: function (pos) { var P = system.addPlanet("Coyote_interstellar_planet"); P.solarGasGiant = true; var stn = "Coyoteinterstellarstation"; if (worldScripts["ev_green_gecko"]) { //log("Coyote-Main", "gg"); stn = "Coyoteinterstellarstationgg"; } else { //log("Coyote-Main", "not gg"); } var S = system.addShips(stn, 1, pos, 0)[0]; // add an event to track when ships are launched - so we can attached destinations to shuttles var targetVector = P.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); var targetVector1 = S.position.subtract(player.ship.position).direction(); var pos1 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) / 2)); system.addShips("asteroid", 30, pos1, 30000); var pos2 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 1 / 6)); system.addShips("asteroid", 30, pos2, 30000); var pos3 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 2 / 6)); system.addShips("asteroid", 30, pos3, 30000); var pos4 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 4 / 6)); system.addShips("asteroid", 30, pos4, 30000); var pos5 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 5 / 6)); system.addShips("asteroid", 30, pos5, 30000); } }); } } this.shipWillEnterWitchspace = function (cause) { if (galaxyNumber == 4 && ((system.ID == 55 && player.ship.targetSystem == 128) || (system.ID == 128 && player.ship.targetSystem == 55) || (system.ID == 55 && player.ship.targetSystem == 55))) { this.addInterstellarPlanet = true; } if (missionVariables.Coyote_status == "STAGE_60") { this.deactivateSkimTracking(); } } this.shipWillExitWitchspace = function () { if (galaxyNumber == 4) { // Laquused - this is the start point of the mission set if (!missionVariables.Coyote_status && system.ID == 159 && player.ship.equipmentStatus("EQ_CLOAKING_DEVICE") == "EQUIPMENT_OK") { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { shArr[j].remove(true); } j -= 1; } system.sendAllShipsAway(); player.ship.position = player.ship.vectorForward.multiply(50000); this.MST_Count = 0; this.MissionStartTimer = new Timer(this, this.MST, 10, 10); } // Ririqu if (missionVariables.Coyote_status == "STAGE_10" && system.ID == 144) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } player.ship.removeEquipment("EQ_CLOAKING_DEVICE"); player.ship.awardEquipment("EQ_CLOAKING_DEVICE"); mission.setInstructionsKey("CE_MI_S_20_01"); system.addShips("coyoteferdie2", 1, player.ship.position, 6000); system.addShips("coyotepython2", 1, player.ship.position, 6000); } // Lazaso else if (missionVariables.Coyote_status == "STAGE_120" && system.ID == 128) { system.addShips("coyoteAnaconda", 1, player.ship.position.add(player.ship.vectorForward.multiply(6000)), 100); system.addShips("coyotezorra1", 1, player.ship.position.add(player.ship.vectorForward.multiply(25000))); } // Xemageat else if (missionVariables.Coyote_status == "STAGE_140" && system.ID == 72) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } system.addShips("coyoteviper1", 1, player.ship.position.add(player.ship.vectorForward.multiply(40000))); system.addShips("coyotelobo1", 1, player.ship.position, 2000); system.addShips("coyotezorra2", 1, player.ship.position, 2000); } // steel halo: Zaenza, Lazaso, Xemageat, Leteisan, Cecear, Tiuson else if (missionVariables.Coyote_status == "STAGE_160") { missionVariables.Coyote_jumpCount += 1; if (system.ID == 55 || system.ID == 128 || system.ID == 72 || system.ID == 185 || system.ID == 126 || system.ID == 100) { this.Stage160(); } } // Ortema else if (missionVariables.Coyote_status == "STAGE_180" && system.ID == 109) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { shArr[j].remove(true); } } j -= 1; } missionVariables.Coyote_KatikHunt = 0; system.addShips("coyotezorra3", 1, player.ship.position, 6000); system.addShips("coyotelobo2", 1, player.ship.position, 6000); this.S180TimerCount = 0; this.S180Timer = new Timer(this, this.Stage180, 60, 120); } // Cecear else if (missionVariables.Coyote_status == "STAGE_225" && system.ID == 126) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { shArr[j].remove(true); } } j -= 1; } } // Leteisan else if (missionVariables.Coyote_status == "STAGE_227" && system.ID == 185) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { shArr[j].remove(true); } } j -= 1; } system.addShips("coyoteasp230", 2, player.ship.position.add(player.ship.vectorForward.multiply(10000)).add(player.ship.vectorRight.multiply(10000)), 2000); system.addShips("coyoteferdie230", 2, player.ship.position.add(player.ship.vectorForward.multiply(10000)).add(player.ship.vectorRight.multiply(10000)), 2000); system.addShips("coyotepython230", 2, player.ship.position.add(player.ship.vectorForward.multiply(10000)).add(player.ship.vectorRight.multiply(10000)), 2000); system.addShips("coyotepirateescort2", 6, player.ship.position.add(player.ship.vectorForward.multiply(10000)).add(player.ship.vectorRight.multiply(10000)), 2000); system.addShips("coyotesahana2", 1, player.ship.position, 1000); system.addShips("coyotecuervo", 1, player.ship.position.add(player.ship.vectorForward.multiply(24000)), 0); mission.setInstructionsKey("CE_MI_S_225_06", "Coyote-Main"); } // Bizalein else if (missionVariables.Coyote_status == "STAGE_240" && system.ID == 89) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } system.addShips("coyoteviper2", 4, player.ship.position, 5000); system.addShips("coyoteferdie4", 3, player.ship.position, 5000); } // Atbiarxe SCAN else if (missionVariables.Coyote_status == "STAGE_280" && system.ID == 49) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } system.addShips("coyoteviperleader", 1, player.ship.position.add(player.ship.vectorForward.multiply(-5000)), 100); } // Biceri else if (missionVariables.Coyote_status == "STAGE_300" && system.ID == 58) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { shArr[j].remove(true); } } j -= 1; } } // Biarra else if (missionVariables.Coyote_status == "STAGE_310" && system.ID == 66) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } this.BiarraTimer = new Timer(this, this.BiarraBattle, 10); system.addShips("coyotegreer1", 1, player.ship.position, 2000); system.addShips("coyotecameron1", 1, player.ship.position, 2000); } // Teesbi else if (missionVariables.Coyote_status == "STAGE_325" && system.ID == 84) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } system.addShips("coyotepiratepython", 1, player.ship.position, 6000); system.addShips("coyotegreer2", 1, player.ship.position, 2000); system.addShips("coyotecameron2", 1, player.ship.position, 2000); mission.unmarkSystem(66); mission.markSystem(84); mission.setInstructionsKey("CE_MI_S_310_04"); missionVariables.Coyote_status = "STAGE_330"; } // Anbedi Scan else if (missionVariables.Coyote_status == "STAGE_335" && system.ID == 20) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } else { if (shArr[j].bounty !== 0) { shArr[j].remove(true); } } } } j -= 1; } system.addShips("coyoteviperleader", 1, player.ship.position.add(player.ship.vectorForward.multiply(-5000)), 100); this.lobo = system.addShips("coyotecameron3", 1)[0]; this.zorra = system.addShips("coyotegreer3", 1)[0]; this.massedLocked = false; this.trackId = addFrameCallback(this.loboAndZorra.bind(this)); mission.unmarkSystem(84); mission.markSystem(20); mission.setInstructionsKey("CE_MI_S_310_08"); } // Zaeredre else if (missionVariables.Coyote_status == "STAGE_350" && system.ID == 39) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { shArr[j].remove(true); } } j -= 1; } system.addShips("coyotegreer5", 1, player.ship.position.add(player.ship.vectorForward.multiply(-100))); system.addShips("coyotecameron5", 1, player.ship.position.add(player.ship.vectorForward.multiply(-200))); system.addShips("coyoteasp10", 1, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); system.addShips("coyoteasp11", 1, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); system.addShips("coyoteasp12", 1, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); system.addShips("coyoteasp13", 1, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); system.addShips("coyoteferdie10", 1, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); system.addShips("coyoteferdie11", 2, player.ship.position.add(player.ship.vectorForward.multiply(-3000)), 100); /*S = system.addShipsToRoute("CoyoteNavystation2", 1, 0.5, "sp")[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle);*/ mission.setInstructionsKey("CE_MI_S_360_01"); } // on the way to Xele else if (missionVariables.Coyote_status == "STAGE_260" && system.ID !== 65) { if (Math.random() > 0.30) { this.pirateAmbush(); } } // Edceon,Atrare else if (missionVariables.Coyote_status == "STAGE_280" && (system.ID == 242 || system.ID == 125)) { this.pirateAmbush(); } // Zaquesso // >> sysWillPop /* if (system.ID == 25) { P = system.addPlanet("Coyote_planet1") P.solarGasGiant = true; P2 = system.addPlanet("Coyote_planet2") P2.solarGasGiant = true; M = system.addMoon("Coyote_moon1"); tv = P.position.subtract(M.position).direction(); var stationPos = M.position.add(tv.multiply(-15000)); //stationPos.x = 267107; //stationPos.y = -172013; //stationPos.z = 563825; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = M.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } */ // Second system after Bizaar if (missionVariables.Coyote_status == "STAGE_55" && system.ID !== -1) { missionVariables.Coyote_status = "STAGE_60"; this.sunSkimCounter = 0; this.sunSkimTimer = new Timer(this, this.sunSkimT, 3, 3); } // First system after Bizaar if (missionVariables.Coyote_status == "STAGE_50" && system.ID !== -1) { missionVariables.Coyote_status = "STAGE_55"; system.addShips("coyoteferdie3", 1, player.ship.position, 10000); system.addShips("coyotemamba1", 1, player.ship.position, 10000); } // Ergeso /* if (system.ID == 87) { var rh = system.addShips("coyoterockhermit", 1, Vector3D(0, 0, 3).fromCoordinateSystem("sws"))[0]; system.addShips("asteroid", 10, rh.position, 10000); } */ // interstellar space Avernus // >> intsysWillPop /* if (system.ID == -1 && this.addInterstellarPlanet) { P = system.addPlanet("Coyote_interstellar_planet") P.solarGasGiant = true; var stationPos = new Vector3D; stationPos.x = 22172; stationPos.y = -20312; stationPos.z = 696652; if (worldScripts["gg-character"]) { log(this.name, "gg"); S = system.addShips("Coyoteinterstellarstationgg", 1, stationPos, 100)[0]; var targetVector = P.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); var targetVector1 = S.position.subtract(player.ship.position).direction(); var pos1 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) / 2)); system.addShips("asteroid", 30, pos1, 30000); var pos2 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 1 / 6)); system.addShips("asteroid", 30, pos2, 30000); var pos3 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 2 / 6)); system.addShips("asteroid", 30, pos3, 30000); var pos4 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 4 / 6)); system.addShips("asteroid", 30, pos4, 30000); var pos5 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 5 / 6)); system.addShips("asteroid", 30, pos5, 30000); } else { log(this.name, "not gg"); S = system.addShips("Coyoteinterstellarstation", 1, stationPos, 100)[0]; var targetVector = P.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); var targetVector1 = S.position.subtract(player.ship.position).direction(); var pos1 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) / 2)); system.addShips("asteroid", 30, pos1, 30000); var pos2 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 1 / 6)); system.addShips("asteroid", 30, pos2, 30000); var pos3 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 2 / 6)); system.addShips("asteroid", 30, pos3, 30000); var pos4 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 4 / 6)); system.addShips("asteroid", 30, pos4, 30000); var pos5 = player.ship.position.add(targetVector1.multiply(player.ship.position.distanceTo(S.position) * 5 / 6)); system.addShips("asteroid", 30, pos5, 30000); } } */ /* // Bizalein if (system.ID == 89) { var stationPos = new Vector3D; stationPos.x = -67015; stationPos.y = 56389; stationPos.z = 594198; S = system.addShips("CoyoteNavystation2", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } // Tirizaan if (system.ID == 40) { var stationPos = new Vector3D; stationPos.x = 377799; stationPos.y = 157513; stationPos.z = 624280; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); } // Inmaarxe if (system.ID == 124) { var stationPos = new Vector3D; stationPos.x = -65000; stationPos.y = -52600; stationPos.z = 809500; S = system.addShips("CoyoteNavystation1", 1, stationPos, 100)[0]; var targetVector = system.mainPlanet.position.subtract(S.position).direction(); var angle = S.heading.angleTo(targetVector); var cross = S.heading.cross(targetVector).direction(); S.orientation = S.orientation.rotate(cross, -angle); }*/ } } this.shipExitedWitchspace = function () { if (galaxyNumber == 4) { // Leteisan if (system.ID == 185) { /*if (missionVariables.Coyote_status == "STAGE_200") { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotePython200", 1, RH.position, 3000); system.addShips("coyotePython201", 1, RH.position, 3000); system.addShips("coyotePython202", 1, RH.position, 3000); system.addShips("coyotePython203", 1, RH.position, 3000); this.lobo = system.addShips("coyotelobo4", 1)[0]; this.zorra = system.addShips("coyotezorra4", 1)[0]; this.massedLocked = false; this.trackId = addFrameCallback(this.loboAndZorra.bind(this)); } else if (missionVariables.Coyote_status == "STAGE_210") { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotelobo5", 1, RH.position, 3000); system.addShips("coyotezorra5", 1, RH.position, 3000); } else if (missionVariables.Coyote_status == "STAGE_220") { var RH = system.addShips("coyotekatikrockhermit", 1, Vector3D(0, 0, 4).fromCoordinateSystem("sws"))[0]; var targetVector = system.sun.position.subtract(RH.position).direction(); var angle = RH.heading.angleTo(targetVector); var cross = RH.heading.cross(targetVector).direction(); RH.orientation = RH.orientation.rotate(cross, -angle); system.addShips("coyotekatikasteroid", 10, RH.position, 12000); system.addShips("coyotelobo5", 1, RH.position, 3000); system.addShips("coyotezorra5", 1, RH.position, 3000); }*/ if (missionVariables.Coyote_status == "STAGE_200") { this.zorra.commsMessage(expandDescription("[COYOTE_S200_00]"), player.ship); } } // Cecear if (missionVariables.Coyote_status == "STAGE_225" && system.ID == 126) { var shArr = system.allShips; var j = shArr.length - 1; while (j > 0) { if (!shArr[j].isMainStation) { if (!shArr[j].isBeacon) { if (shArr[j].position.distanceTo(player.ship.position) < 100000) { shArr[j].remove(true); } } } j -= 1; } system.addShips("coyotekatikboss2", 1, player.ship.position.add(player.ship.vectorForward.multiply(-5000)), 300); system.addShips("coyotekatikboss2escort", 1, player.ship.position.add(player.ship.vectorForward.multiply(-5000)), 300); system.addShips("coyotekatikboss3escort", 1, player.ship.position.add(player.ship.vectorForward.multiply(-5000)), 300); mission.setInstructionsKey("CE_MI_S_225_01", "Coyote-Main"); } // Teesbi if (missionVariables.Coyote_status == "STAGE_330" && system.ID == 84) { mission.unmarkSystem(66); mission.markSystem(84); } // Zaenza if (missionVariables.Coyote_status == "STAGE_110" && system.ID == 55) { this.ComTimer = new Timer(this, this.ComTimerCB, 5); } // steel halo: Zaenza, Lazaso, Xemageat, Leteisan, Cecear, Tiuson if (missionVariables.Coyote_status == "STAGE_160" && (system.ID == 55 || system.ID == 128 || system.ID == 72 || system.ID == 185 || system.ID == 126 || system.ID == 100)) { var MessageText = ""; if (missionVariables.Coyote_KatikHunt <= 7) { if (missionVariables.Coyote_jumpCount >= 3) { missionVariables.Coyote_jumpCount = Math.floor(Math.random() * 2) + 1; var SType = Math.floor(Math.random() * 2); MessageText = expandDescription("[COYOTE_S160_02]"); var RType = ""; if (SType == 0) { RType = "coyoteAnaconda160"; MessageText = MessageText.replace("$$$", "Anaconda"); } else { RType = "coyotePython160"; MessageText = MessageText.replace("$$$", "Python"); } var DType = Math.floor(Math.random() * 4) if (DType == 0) { system.addShipsToRoute(RType, 1, 0.25, "wp"); MessageText = MessageText + expandDescription("[COYOTE_S160_03]"); } else if (DType == 1) { system.addShipsToRoute(RType, 1, 0.50, "wp"); MessageText = MessageText + expandDescription("[COYOTE_S160_04]"); } else { system.addShipsToRoute(RType, 1, 0.75, "wp"); MessageText = MessageText + expandDescription("[COYOTE_S160_05]"); } } else { MessageText = expandDescription("[COYOTE_S160_06]"); } } else { MessageText = expandDescription("[COYOTE_S160_01]"); } this.agentshp.commsMessage(MessageText, player.ship); } } } this.playerStartedJumpCountdown = function (type) { if (galaxyNumber == 4) { this.massblocked = false; if (missionVariables.Coyote_status == "STAGE_280" && system.ID == 40 && player.ship.targetSystem !== 242) { this.massblocker = system.addShips("coyotemassblocker", 1, player.ship.position.add(player.ship.vectorForward.multiply(-50)))[0]; this.massblocked = true; this.masstrackId = addFrameCallback(this.moveMass.bind(this)); } if (missionVariables.Coyote_status == "STAGE_310" && system.ID == 58) { if (system.countShipsWithRole("coyotevipermember1") !== 4) { this.massblocker = system.addShips("coyotemassblocker", 1, player.ship.position.add(player.ship.vectorForward.multiply(-50)))[0]; this.massblocked = true; this.masstrackId = addFrameCallback(this.moveMass.bind(this)); } } } } this.playerCancelledJumpCountdown = function () { if (isValidFrameCallback(this.masstrackId)) { removeFrameCallback(this.masstrackId); this.massblocker.position = player.ship.position.add(player.ship.vectorForward.multiply(-1000000)); this.massblocked = false; } } this.playerJumpFailed = function (reason) { if (this.massblocked) { if (isValidFrameCallback(this.masstrackId)) { removeFrameCallback(this.masstrackId); } if (missionVariables.Coyote_status == "STAGE_280" && system.ID == 40 && player.ship.targetSystem !== 242) { this.massblocker.position = player.ship.position.add(player.ship.vectorForward.multiply(-1000000)); player.consoleMessage(expandDescription("[COYOTE_S280_00]"), 6); player.consoleMessage(expandDescription("[COYOTE_S280_01]"), 6); this.massblocked = false; } if (missionVariables.Coyote_status == "STAGE_310" && system.ID == 58) { this.massblocker.position = player.ship.position.add(player.ship.vectorForward.multiply(-1000000)); player.consoleMessage(expandDescription("[COYOTE_S280_00]"), 6); player.consoleMessage(expandDescription("[COYOTE_S300_01]"), 6); this.massblocked = false; } } } this.missionScreenOpportunity = function () { if (galaxyNumber !== 4) { return; } if (!missionVariables.Coyote_status) { return; } if (missionVariables.Coyote_status == "COMPLETED") { return; } this.missionScreens(); } this.missionScreens = function () { // Zaquesso navy station if (missionVariables.Coyote_status == "STAGE_20" && system.ID == 25 && player.ship.dockedStation.primaryRole == "CoyoteNavystation1") { missionVariables.Coyote_status = "STAGE_30"; mission.setInstructionsKey("CE_MI_S_30_01"); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_navystation_1" }); } // Zaquesso main station else if (missionVariables.Coyote_status == "STAGE_30" && system.ID == 25 && player.ship.dockedStation.isMainStation) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_mainstation_1", choicesKey: "Coyote_Zaquesso_mainstation_1_choices" }, this.choices); } // Bizaar else if (missionVariables.Coyote_status == "STAGE_40" && system.ID == 101 && player.ship.dockedStation.isMainStation) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizaar_mainstation_1", choicesKey: "Coyote_Bizaar_mainstation_1_choices" }, this.choices); } // Bizalein navy station else if (missionVariables.Coyote_status == "STAGE_60" && system.ID == 89 && player.ship.dockedStation.primaryRole == "CoyoteNavystation2") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_1", choicesKey: "Coyote_Bizalein_mainstation_1_choices" }, this.choices); } // Ergeso Rock Hermit else if (missionVariables.Coyote_status == "STAGE_70" && system.ID == 87 && player.ship.dockedStation.primaryRole == "coyoterockhermit") { missionVariables.Coyote_status = "STAGE_80"; mission.setInstructionsKey("CE_MI_S_80_01"); mission.unmarkSystem(87); mission.markSystem(89); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Ergeso_rockhermit" }); } // Bizalein else if (missionVariables.Coyote_status == "STAGE_80" && system.ID == 89 && player.ship.dockedStation.isMainStation) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_3", choicesKey: "Coyote_Bizalein_mainstation_3_choices" }, this.choices); } // Ortema else if (missionVariables.Coyote_status == "STAGE_90" && system.ID == 109 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_100"; mission.setInstructionsKey("CE_MI_S_100_01"); mission.unmarkSystem(109); mission.markSystem(128); clock.addSeconds(24 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Ortema_mainstation" }); } // Avernus else if (missionVariables.Coyote_status == "STAGE_100" && system.isInterstellarSpace && (player.ship.dockedStation.primaryRole == "Coyoteinterstellarstation" || player.ship.dockedStation.primaryRole == "Coyoteinterstellarstationgg")) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_1", choicesKey: "Coyote_Avernus_1_choices" }, this.choices); } // A station in Halo else if (missionVariables.Coyote_status == "STAGE_150" && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_160"; mission.setInstructionsKey("CE_MI_S_160_01"); missionVariables.Coyote_jumpCount = Math.floor(Math.random() * 2) + 1; missionVariables.Coyote_KatikHunt = 0; mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_150", model: "coyoteAnaconda160" }); } // A station in Halo else if (missionVariables.Coyote_status == "STAGE_160" && system.ID !== 100 && player.ship.dockedStation.isMainStation && missionVariables.Coyote_KatikHunt >= 7) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_160_1", choicesKey: "Coyote_Stage_160_1_choices" }, this.choices); } // Tiuson else if (missionVariables.Coyote_status == "STAGE_170" && system.ID == 100 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_180"; mission.setInstructionsKey("CE_MI_S_180_01"); mission.unmarkSystem(100); mission.markSystem(109); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_1", model: "coyotePython200" }); } // Tiuson else if (missionVariables.Coyote_status == "STAGE_190" && system.ID == 100 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_200"; mission.setInstructionsKey("CE_MI_S_200_01"); mission.unmarkSystem(100); mission.markSystem(185); if (worldScripts["Coyote-Griff"]) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_2", model: "coyotetriogriff", spinModel: false }); } else { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_2", model: "coyotetrio", spinModel: false }); } } // Avernus else if (missionVariables.Coyote_status == "STAGE_210" && system.isInterstellarSpace && (player.ship.dockedStation.primaryRole == "Coyoteinterstellarstation" || player.ship.dockedStation.primaryRole == "Coyoteinterstellarstationgg")) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_3", choicesKey: "Coyote_Avernus_3_choices" }, this.choices); } // Cecear //else if(missionVariables.Coyote_status == "STAGE_229" && system.ID == 126 && player.ship.dockedStation.isMainStation) //{ // missionVariables.Coyote_status = "STAGE_230"; // mission.setInstructionsKey("CE_MI_S_230_01"); // mission.runScreen({title: "Coyote's Run", messageKey: "Coyote_Cecear_mainstation"}); //} // Leteisan else if (missionVariables.Coyote_status == "STAGE_229" && system.ID == 185 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_240"; mission.setInstructionsKey("CE_MI_S_240_01"); mission.unmarkSystem(185); mission.markSystem(89); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Leteisan_mainstation", model: "coyotesahana2" }); } // Bizalein Navy Station else if (missionVariables.Coyote_status == "STAGE_240" && system.ID == 89 && player.ship.dockedStation.primaryRole == "CoyoteNavystation2") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation", choicesKey: "Coyote_Bizalein_navystation_choices" }, this.choices); } // Qulecele else if (missionVariables.Coyote_status == "STAGE_250" && system.ID == 152 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_260"; mission.setInstructionsKey("CE_MI_S_260_01"); mission.unmarkSystem(152); mission.markSystem(65); clock.addSeconds(24 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Qulecele" }); } // Xele else if (missionVariables.Coyote_status == "STAGE_260" && system.ID == 65 && player.ship.dockedStation.isMainStation) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Xele", choicesKey: "Coyote_Xele_choices" }, this.choices); } // Tirizaan else if (missionVariables.Coyote_status == "STAGE_270" && system.ID == 40 && player.ship.dockedStation.primaryRole == "CoyoteNavystation1") { missionVariables.Coyote_status = "STAGE_280"; mission.setInstructionsKey("CE_MI_S_280_01"); mission.unmarkSystem(40); mission.markSystem(49); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Tirizaan_navystation", choicesKey: "Coyote_Tirizaan_navystation_choices" }, this.choices); } // Atbiarxe else if (missionVariables.Coyote_status == "STAGE_290" && system.ID == 49 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_300"; mission.setInstructionsKey("CE_MI_S_300_01"); mission.unmarkSystem(49); mission.markSystem(58); clock.addSeconds(48 * 3600); // if(player.credits > 210000) // { // player.credits -= 200000; // missionVariables.Coyote_prePayment = 200000; // } // else // { // missionVariablesCoyote_prePayment = player.credits -10000; // player.credits = 10000; // } mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Atbiarxe" }); } // Biceri else if (missionVariables.Coyote_status == "STAGE_300" && system.ID == 58 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_ViperCount = 0; missionVariables.Coyote_status = "STAGE_310"; mission.setInstructionsKey("CE_MI_S_310_01"); mission.unmarkSystem(58); mission.markSystem(66); clock.addSeconds(4 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Biceri" }); } // Anbedi else if (missionVariables.Coyote_status == "STAGE_340" && system.ID == 20 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_350"; mission.setInstructionsKey("CE_MI_S_350_01"); mission.unmarkSystem(20); mission.markSystem(39); clock.addSeconds(24 * 3600); if (worldScripts["Coyote-Griff"]) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Anbedi", model: "coyotetriogriff" }); } else { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Anbedi", model: "coyotetrio" }); } } // Zaeredre navy station else if (missionVariables.Coyote_status == "STAGE_350" && system.ID == 39 && player.ship.dockedStation.primaryRole == "CoyoteNavystation2") { missionVariables.Coyote_status = "STAGE_360"; mission.setInstructionsKey("CE_MI_S_360_03"); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaeredre_navystation" }); } // Zaeredre main station else if (missionVariables.Coyote_status == "STAGE_360" && system.ID == 39 && player.ship.dockedStation.isMainStation) { missionVariables.Coyote_status = "STAGE_370"; mission.setInstructionsKey("CE_MI_S_370_01"); mission.unmarkSystem(39); mission.markSystem(124); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaeredre" }); } // Inmaarxe navy station else if (missionVariables.Coyote_status == "STAGE_370" && system.ID == 124 && player.ship.dockedStation.primaryRole == "CoyoteNavystation1") { missionVariables.Coyote_status = null; mission.setInstructions(null); player.credits += 200000; mission.unmarkSystem(124); missionVariables.CoyoteFerdie_status = null; missionVariables.CoyotePhythonPilot = null; missionVariables.Coyote_BattleAtBiarra = null; missionVariables.Coyote_KatikHunt = null; missionVariables.Coyote_ViperCount = null; missionVariables.Coyote_jumpCount = null; missionVariables.coyote_escapePodKilled = null; if (!missionVariables.CoyoteCompletionCount) { missionVariables.CoyoteCompletionCount = 1; } else { missionVariables.CoyoteCompletionCount += 1; } mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Inmaarxe_navystation" }); } } this.choices = function (choice) { switch (choice) { case "1_Cont": { mission.setInstructionsKey("CE_MI_S_40_01"); missionVariables.Coyote_status = "STAGE_40"; var Boo = player.ship.awardContract(1000, "Platinum", 25, 101, clock.seconds + 18 * 24 * 3600, 50000); mission.unmarkSystem(25); clock.addSeconds(48 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_mainstation_2" }); break; } case "2_Cont": { missionVariables.Coyote_status = "STAGE_50"; mission.setInstructionsKey("CE_MI_S_50_01"); mission.markSystem(89); clock.addSeconds(24 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizaar_mainstation_2" }); break; } case "3_Cont": { missionVariables.Coyote_status = "STAGE_70"; mission.setInstructionsKey("CE_MI_S_70_01"); mission.unmarkSystem(89); mission.markSystem(87); clock.addSeconds(1 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_2" }); break; } case "4_Cont": { missionVariables.Coyote_status = "STAGE_90"; mission.setInstructionsKey("CE_MI_S_90_01"); mission.unmarkSystem(89); mission.markSystem(109); clock.addSeconds(120 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_4" }); break; } case "5_Cont": { missionVariables.Coyote_status = "STAGE_110"; mission.setInstructionsKey("CE_MI_S_110_01"); mission.unmarkSystem(128); mission.markSystem(55); clock.addSeconds(120 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_2", model: "Coyoteinterstellarstation" }); break; } case "6_Cont": { missionVariables.Coyote_status = "STAGE_170"; mission.setInstructionsKey("CE_MI_S_170_01"); mission.markSystem(100); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_160_2" }); break; } case "7_Cont": { missionVariables.Coyote_status = "STAGE_220"; mission.setInstructionsKey("CE_MI_S_220_01"); //EquipmentInfo.infoForKey("EQ_AVERNUS_TRACTOR_BEAM").effectiveTechLevel = 14; mission.unmarkSystem(128); clock.addSeconds(24 * 3600); mission.markSystem(185); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_4" }); break; } case "8_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation_2", choicesKey: "Coyote_Bizalein_navystation_choices_2" }, this.choices); break; } case "9_Cont": { missionVariables.Coyote_status = "STAGE_250"; mission.setInstructionsKey("CE_MI_S_250_01"); mission.unmarkSystem(89); mission.markSystem(152); clock.addSeconds(120 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation_3" }); break; } case "10_Cont": { missionVariables.Coyote_status = "STAGE_270"; mission.setInstructionsKey("CE_MI_S_270_01"); mission.unmarkSystem(65); mission.markSystem(40); clock.addSeconds(24 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Xele_2" }); break; } case "11_Cont": { clock.addSeconds(12 * 3600); mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Tirizaan_navystation_2" }); break; } case "XX1_Cont": { mission.runScreen({ title: "L\'Auberge de Lago", overlay: { name: "menu3.png", height: 546 //width: 1024, //height: 512 } }); break; } case "100_Cont": { break; } case "101_Previous_Screens": { this.displayPreviousScreens(); break; } } } this.displayPreviousScreens = function () { this.longScreen = false; if (missionVariables.Coyote_status == "STAGE_30") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_1" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_40") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_2" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_50") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_3" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_60") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_3" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_70") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_4" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_80") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_5" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_90") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_6" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_100") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_7" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_110") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_8" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_160") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_9" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_170") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_10" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_180") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_11" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_200") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_12" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_220") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_13" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_240") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_14" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_250") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_15" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_260") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_16" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_270") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_17" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_280") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_18" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_300") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_19" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_310") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_20" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_350") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_21" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_360") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_22" }, this.previousScreenChoices); } else if (missionVariables.Coyote_status == "STAGE_370") { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_23" }, this.previousScreenChoices); } else { mission.runScreen({ title: "Coyote's Run", message: "No mission information currently available." }); } return; } this.previousScreenChoices = function (choice) { switch (choice) { case "98_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_navystation_1", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "97_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_mainstation_1", choicesKey: "Coyote_Zaquesso_mainstation_1_choices" }, this.previousScreenChoices); break; } case "96_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizaar_mainstation_1", choicesKey: "Coyote_Bizaar_mainstation_1_choices" }, this.previousScreenChoices); break; } case "95_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_1", choicesKey: "Coyote_Bizalein_mainstation_1_choices" }, this.previousScreenChoices); break; } case "94_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Ergeso_rockhermit", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "93_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_3", choicesKey: "Coyote_Bizalein_mainstation_3_choices" }, this.previousScreenChoices); break; } case "92_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Ortema_mainstation", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "91_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_1", choicesKey: "Coyote_Avernus_1_choices" }, this.previousScreenChoices); break; } case "90_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_150", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyoteAnaconda160" }, this.previousScreenChoices); break; } case "89_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_160_1", choicesKey: "Coyote_Stage_160_1_choices" }, this.previousScreenChoices); break; } case "88_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_1", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyotePython200" }, this.previousScreenChoices); break; } case "87_MS": { if (worldScripts["Coyote-Griff"]) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_2", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyotetriogriff", spinModel: false }, this.previousScreenChoices); } else { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_Tiuson_2", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyotetrio", spinModel: false }, this.previousScreenChoices); } break; } case "86_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_3", choicesKey: "Coyote_Avernus_3_choices" }, this.previousScreenChoices); break; } case "85_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Leteisan_mainstation", model: "coyotesahana2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "84_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation", choicesKey: "Coyote_Bizalein_navystation_choices" }, this.previousScreenChoices); break; } case "83_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Qulecele", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "82_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Xele", choicesKey: "Coyote_Xele_choices" }, this.previousScreenChoices); break; } case "81_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Tirizaan_navystation", choicesKey: "Coyote_Tirizaan_navystation_choices" }, this.previousScreenChoices); break; } case "80_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Atbiarxe", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "79_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Biceri", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "78_MS": { if (worldScripts["Coyote-Griff"]) { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Anbedi", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyotetriogriff" }, this.previousScreenChoices); } else { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Anbedi", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "coyotetrio" }, this.previousScreenChoices); } break; } case "77_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaeredre_navystation", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "76_MS": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaeredre", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "99_BPrev": { this.longScreen = true; mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_14a" }, this.previousScreenChoices); break; } case "98_return": { if (!this.longScreen) { this.displayPreviousScreens(); } else { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_All_Mission_Screens", choicesKey: "Coyote_All_Mission_Screens_14a" }, this.previousScreenChoices); } break; } case "99_APrev": { this.displayPreviousScreens(); break; } case "1_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Zaquesso_mainstation_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "2_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizaar_mainstation_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "3_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "4_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_mainstation_4", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "5_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_2", choicesKey: "Coyote_All_Mission_Screens_prompt", model: "Coyoteinterstellarstation" }, this.previousScreenChoices); break; } case "6_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Stage_160_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "7_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Avernus_4", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "8_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation_2", choicesKey: "Coyote_Bizalein_navystation_choices_2" }, this.previousScreenChoices); break; } case "9_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Bizalein_navystation_3", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "10_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Xele_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } case "11_Cont": { mission.runScreen({ title: "Coyote's Run", messageKey: "Coyote_Tirizaan_navystation_2", choicesKey: "Coyote_All_Mission_Screens_prompt" }, this.previousScreenChoices); break; } } } this.MST = function () { this.MST_Count += 1; if (this.MST_Count == 1) { //player.consoleMessage("\n\n\n\n\n\n\n\n\n\n\n", 10); player.consoleMessage(expandDescription("[COYOTE_START1]"), 10); //player.consoleMessage("\n", 10) } else if (this.MST_Count == 2) { //player.consoleMessage("\n\n\n\n\n\n\n\n\n\n\n", 10); //player.consoleMessage(expandDescription("[COYOTE_START1]"), 10); player.consoleMessage(expandDescription("[COYOTE_START2]"), 10); //player.consoleMessage("\n", 10) player.ship.fuel = 7.0; } else if (this.MST_Count == 3) { //player.consoleMessage("\n\n\n\n\n\n\n\n\n\n\n", 10); //player.consoleMessage(expandDescription("[COYOTE_START1]"), 10); //player.consoleMessage(expandDescription("[COYOTE_START2]"), 10); player.consoleMessage(expandDescription("[COYOTE_START2a]"), 10); //player.consoleMessage("\n", 10) } else if (this.MST_Count == 4) { //player.consoleMessage("\n\n\n\n\n\n\n\n\n\n\n", 10); //player.consoleMessage(expandDescription("[COYOTE_START1]"), 10); //player.consoleMessage(expandDescription("[COYOTE_START2]"), 10); //player.consoleMessage(expandDescription("[COYOTE_START2a]"), 10); player.consoleMessage(expandDescription("[COYOTE_START3]"), 10); //player.consoleMessage("\n", 10) } else { if (player.ship.isCloaked) { var pos = player.ship.position.add(player.ship.vectorForward.multiply(25600)); system.addShips("coyotepythonstart", 1, pos, 100); //player.consoleMessage("\n\n\n\n\n\n\n\n\n\n\n", 10); player.commsMessage(expandDescription("[COYOTE_START4]"), 10); this.MissionStartTimer.stop(); } } } this.setMissionInstructions = function (message) { mission.setInstructionsKey(message, "Coyote-Main"); } this.ComTimerCB = function () { var witchBuoy = system.shipsWithPrimaryRole("buoy-witchpoint")[0]; witchBuoy.commsMessage(expandDescription("[COYOTE_S110_01]"), player.ship); missionVariables.Coyote_status = "STAGE_120"; mission.unmarkSystem(55); mission.markSystem(128); mission.setInstructionsKey("CE_MI_S_120_01"); } this.Stage160 = function () { this.agentshp = system.addShips("coyotelabrujaagent", 1, player.ship.position.add(player.ship.vectorForward.multiply(-6000)))[0]; } this.Stage180 = function () { this.S180TimerCount += 1; if (this.S180TimerCount == 5) { this.S180Timer.stop(); } if (this.S180TimerCount < 6) { system.addShips("coyotePython180", 1, player.ship.position.add(player.ship.vectorForward.multiply(6000))); } } this.loboAndZorra = function () { this.lobo.position = player.ship.position.add(player.ship.vectorForward.multiply(-50)).add(player.ship.vectorRight.multiply(200)); this.lobo.orientation = player.ship.orientation; this.zorra.position = player.ship.position.add(player.ship.vectorForward.multiply(-50)).add(player.ship.vectorRight.multiply(-200)); this.zorra.orientation = player.ship.orientation; if (player.alertMassLocked) { this.shArray = system.shipsWithPrimaryRole("coyotekatikrockhermit"); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 25600) { this.massLocked = true; } } } if (this.massLocked) { this.shArray = system.shipsWithPrimaryRole("coyotekatikrockhermit"); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 12000) { this.massLocked = true; this.zorra.reactToAIMessage("HOSTILES_NEAR"); this.lobo.reactToAIMessage("HOSTILES_NEAR"); if (isValidFrameCallback(this.trackId)) { removeFrameCallback(this.trackId); } } } } } this.tractorBeam = function () { this.tractorDistance = player.ship.target.position.distanceTo(player.ship.position); missionVariables.coyote_beam = "WORKING"; this.TRCount = 0; this.TRtrackId = addFrameCallback(this.tractorCallBack.bind(this)); } this.dtractorBeam = function () { missionVariables.coyote_beam = null; if (isValidFrameCallback(this.TRtrackId)) { removeFrameCallback(this.TRtrackId); } } this.tractorCallBack = function (delta) { if (!player.ship.target) { if (isValidFrameCallback(this.TRtrackId)) { removeFrameCallback(this.TRtrackId); } } else { if (delta !== 0) { this.TRCount += 1; if (this.TRCount >= 4) { player.ship.energy -= 1; this.TRCount = 0; } } player.ship.target.position = player.ship.position.add(player.ship.vectorForward.multiply(-1 * this.tractorDistance)); } } this.moveMass = function () { this.massblocker.position = player.ship.position.add(player.ship.vectorForward.multiply(-50)); } this.BiarraBattle = function () { if (system.ID == 66) { system.addShips("coyoteinterceptor1", 1, player.ship.position.add(player.ship.vectorForward.multiply(-6000))); system.addShips("coyoterogueviper1", 2, player.ship.position.add(player.ship.vectorForward.multiply(-6000))); system.addShips("coyoterogueviper2", 2, player.ship.position.add(player.ship.vectorForward.multiply(-6000))); } } this.cam = function (cam1) { this.camCount = 0; this.cam1 = cam1; if (!isValidFrameCallback(this.CamAndGreerTrackId)) { this.CamAndGreerTrackId = addFrameCallback(this.CamAndGreer.bind(this)); this.checkDistanceFirstTime = true; this.massLocked = false; this.informTimer = new Timer(this, this.checkDistance, 5, 5); } } this.checkDistance = function () { if (this.checkDistanceFirstTime && this.greerCount == 150 && this.camCount == 150) { this.checkDistanceFirstTime = false; mission.setInstructionsKey("CE_MI_S_310_02", this.name); if (system.ID == 66) { this.greer1.commsMessage(expandDescription("[COYOTE_S310_04]"), player.ship); mission.setInstructionsKey("CE_MI_S_310_02", this.name); missionVariables.Coyote_status = "STAGE_320" } if (system.ID == 84) { this.greer1.commsMessage(expandDescription("[COYOTE_S310_05]"), player.ship); mission.setInstructionsKey("CE_MI_S_310_05", this.name); missionVariables.Coyote_status = "STAGE_335" } } var S = system.sun; if (system.ID == 66) { if (player.ship.position.distanceTo(S.position) < 300000) { this.informTimer.stop(); system.addShips("coyotebandit1", 4, player.ship.position.add(player.ship.vectorForward.multiply(25000))); this.massLock = "coyotebandit1"; this.massLocked = true; this.greer1.commsMessage(expandDescription("[COYOTE_S310_06]"), player.ship); this.informTimer.stop(); } } if (system.ID == 84) { if (player.ship.position.distanceTo(S.position) < 600000) { this.informTimer.stop(); system.addShips("coyotebandit2", 4, player.ship.position.add(player.ship.vectorForward.multiply(25000))); this.massLock = "coyotebandit2"; this.massLocked = true; this.greer1.commsMessage(expandDescription("[COYOTE_S310_07]"), player.ship); mission.setInstructionsKey("CE_MI_S_310_06", "Coyote-Main"); this.informTimer.stop(); } } } this.greer = function (greer1) { this.greerCount = 0; this.greer1 = greer1; if (!isValidFrameCallback(this.CamAndGreerTrackId)) { this.CamAndGreerTrackId = addFrameCallback(this.CamAndGreer.bind(this)); this.checkDistanceFirstTime = true; this.massLocked = false; this.informTimer = new Timer(this, this.checkDistance, 5, 5); } } this.CamAndGreer = function () { //rVector=new Vector3D; //rVector.x=Math.random()*2; //rVector.y=Math.random()*2; //rVector.z=Math.random()*2; var pos = 0; if (!this.cam1) {} else { pos = -50; if (this.camCount < 150) { this.camCount += 1; pos = -200 + this.camCount; } //this.cam1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(-200)).add(rVector); this.cam1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(-200)); this.cam1.orientation = player.ship.orientation; } if (!this.greer1) {} else { pos = -50; if (this.greerCount < 150) { this.greerCount += 1; pos = -200 + this.greerCount; } //this.greer1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(200)).add(rVector); this.greer1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(200)); this.greer1.orientation = player.ship.orientation; } if (this.massLocked) { this.shArray = system.shipsWithRole(this.massLock); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 12000) { this.massLocked = true; this.cam1.reactToAIMessage("HOSTILES_NEAR"); this.greer1.reactToAIMessage("HOSTILES_NEAR"); this.greerCount = 0; this.camCount = 0; this.cam1 = null; this.greer1 = null; if (isValidFrameCallback(this.CamAndGreerTrackId)) { removeFrameCallback(this.CamAndGreerTrackId); } } } } } this.camT1 = function (cam1) { this.camCount = 0; this.cam1 = cam1; if (!isValidFrameCallback(this.CamAndGreerT1TrackId)) { this.greer1 = null; this.checkDistanceFirstTime = true; this.hyperSpaceTimer = new Timer(this, this.hyperSpace, 5, 1); this.CamAndGreerT1TrackId = addFrameCallback(this.CamAndGreerT1.bind(this)); } } this.greerT1 = function (greer1) { this.greerCount = 0; this.greer1 = greer1; if (!isValidFrameCallback(this.CamAndGreerT1TrackId)) { this.cam1 = null; this.checkDistanceFirstTime = true; this.hyperSpaceTimer = new Timer(this, this.hyperSpace, 5, 1); this.CamAndGreerT1TrackId = addFrameCallback(this.CamAndGreerT1.bind(this)); } } this.CamAndGreerT1 = function () { //rVector=new Vector3D; //rVector.x=Math.random()*2; //rVector.y=Math.random()*2; //rVector.z=Math.random()*2; var pos = 0; if (!this.cam1) {} else { pos = -50; if (this.camCount < 150) { this.camCount += 1; pos = -200 + this.camCount; } //this.cam1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(-200)).add(rVector); this.cam1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(-200)); this.cam1.orientation = player.ship.orientation; } if (!this.greer1) {} else { pos = -50; if (this.greerCount < 150) { this.greerCount += 1; pos = -200 + this.greerCount; } //this.greer1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(200)).add(rVector); this.greer1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(200)); this.greer1.orientation = player.ship.orientation; } if (this.massLocked) { this.shArray = system.shipsWithRole(this.massLock); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 12000) { this.massLocked = true; this.cam1.reactToAIMessage("HOSTILES_NEAR"); this.greer1.reactToAIMessage("HOSTILES_NEAR"); if (isValidFrameCallback(this.CamAndGreerTrackId)) { removeFrameCallback(this.CamAndGreerTrackId); } } } } } this.hyperSpace = function () { if (this.checkDistanceFirstTime && this.greerCount == 150 && this.camCount == 150) { this.checkDistanceFirstTime = false; if (system.ID == 84) { this.cam1.commsMessage(expandDescription("[COYOTE_S310_08]"), player.ship); } if (system.ID == 20) { this.cam1.commsMessage(expandDescription("[COYOTE_S310_09]"), player.ship); } this.hyperSpaceTimer.stop(); this.jumpCount = 0; this.jumpTimer = new Timer(this, this.jump, 1, 1); } } this.jump = function () { if (this.jumpCount <= 14) { this.cam1.commsMessage("\n\n\n\n\n\n\n\n\n\ Jumping in " + (15 - this.jumpCount) + " secs.", player.ship); this.jumpCount += 1; } else { this.jumpTimer.stop(); if (isValidFrameCallback(this.CamAndGreerT1TrackId)) { removeFrameCallback(this.CamAndGreerT1TrackId); } var pos = this.cam1.position; this.cam1.fuel = 7.0; if (system.ID == 20) { while (!this.cam1.exitSystem(39)) {} } else { while (!this.cam1.exitSystem(20)) {} missionVariables.Coyote_status = "STAGE_335" } player.ship.position = pos; } } this.releaseUS = function () { log(this.name, "Release Us"); if (isValidFrameCallback(this.trackId)) { removeFrameCallback(this.trackId); } this.lobo.commsMessage(expandDescription("[COYOTE_S310_10]"), player.ship); } this.camT2 = function (cam1) { this.camCount = 0; this.cam1 = cam1; this.checkDistanceFirstTime = true; this.stationNearTimer = new Timer(this, this.stationNear, 5, 5); this.CamFRMT1TrackId = addFrameCallback(this.CamFRMT1.bind(this)); } this.CamFRMT1 = function () { var pos = -50; if (this.camCount < 150) { this.camCount += 1; pos = -200 + this.camCount; } this.cam1.position = player.ship.position.add(player.ship.vectorForward.multiply(pos)).add(player.ship.vectorRight.multiply(-200)); this.cam1.orientation = player.ship.orientation; } this.stationNear = function () { this.shArray = system.shipsWithRole("CoyoteNavystation2"); if (this.shArray.length > 0) { if (this.shArray[0].position.distanceTo(player.ship.position) < 12000) { this.cam1.reactToAIMessage("STATION_NEAR"); if (isValidFrameCallback(this.CamFRMT1TrackId)) { removeFrameCallback(this.CamFRMT1TrackId); } } } } this.pirateAmbush = function () { var SC = Math.floor(Math.random() * 3) + 5; system.addShips("pirate", SC, player.ship.position, 10000); } this.sunSkimT = function () { this.sunSkimCounter += 1; if (this.sunSkimCounter == 1) { player.commsMessage(expandDescription("[COYOTE_S60_01]"), 6) } else { this.sunSkimTimer.stop(); this.autoskimmer = system.addShips("coyoteautoskimmer", 1, player.ship.position.add(player.ship.vectorRight.multiply(100)).add(player.ship.vectorUp.multiply(100)), 0)[0]; this.autoskimmer.orientation = player.ship.orientation; this.skimTrackId = addFrameCallback(this.followAutoSkimmer.bind(this)); player.consoleMessage(expandDescription("[COYOTE_S60_02]"), 6); this.skimProgressTimer = new Timer(this, this.skimProgress, 2, 2); } } this.skimProgress = function () { if (player.alertMassLocked) { // don't tell the player to engage injectors if ShipConfig is installed - too much heat! // also, don't tell the player to use injectors if they don't have any if (!worldScripts.ShipConfiguration_Core || player.ship.hasEquipmentProviding("EQ_FUEL_INJECTION") === true) { if (player.ship.speed <= player.ship.maxSpeed) { player.consoleMessage(expandDescription("[COYOTE_S60_03]"), 6); } } } else { if (player.ship.speed <= player.ship.maxSpeed * 10) { player.consoleMessage(expandDescription("[COYOTE_S60_04]"), 6); } } } this.followAutoSkimmer = function () { player.ship.orientation = this.autoskimmer.orientation; player.ship.position = this.autoskimmer.position.add(this.autoskimmer.vectorRight.multiply(-100)).add(this.autoskimmer.vectorUp.multiply(-100)); } this.deactivateSkimTracking = function () { if (isValidFrameCallback(this.skimTrackId)) { removeFrameCallback(this.skimTrackId); this.autoskimmer.remove(true); player.commsMessage(expandDescription("[COYOTE_S60_05]"), 6); player.commsMessage(expandDescription("[COYOTE_S60_06]"), 6); this.skimProgressTimer.stop(); } } this.startSahanaFun = function () { this.sahanaFunCount = 0; this.sahanaFunTimer = new Timer(this, this.sahanaFun, 5, 1); } this.sahanaFun = function () { this.sahanaFunCount += 1; if (this.sahanaFunCount == 1) { player.commsMessage(expandDescription("[COYOTE_S225_01]"), 6); } if (this.sahanaFunCount == 3) { player.commsMessage(expandDescription("[COYOTE_S225_02]"), 6); } if (this.sahanaFunCount == 5) { player.commsMessage(expandDescription("[COYOTE_S225_03]"), 6); } if (this.sahanaFunCount == 7) { player.commsMessage(expandDescription("[COYOTE_S225_04]"), 6); } else if (this.sahanaFunCount == 12) { this.sahanaPod = system.addShips("coyotesahanapod", 1, player.ship.position.add(player.ship.vectorForward.multiply(-30)), 0)[0]; this.shpArray = system.shipsWithPrimaryRole("coyotekatikboss3escort"); if (this.shpArray.length == 0) {} else { this.mambaEscort = this.shpArray[0] this.shpArray[0].reactToAIMessage("SCOOP_SAHANA"); } mission.setInstructionsKey("CE_MI_S_225_02", "Coyote-Main"); } else if (this.sahanaFunCount == 15) { player.commsMessage(expandDescription("[COYOTE_S225_05]"), 6); } else if (this.sahanaFunCount == 20) { this.mambaEscort.commsMessage(expandDescription("[COYOTE_S225_06]"), player.ship); } } this.$initInterface = function (station) { if (galaxyNumber == 4) { station.setInterface(this.name, { title: "Coyote's Run History", category: expandDescription("[interfaces-category-logs]"), summary: "Views previous mission data for Coyote's Run mission", callback: this.displayPreviousScreens.bind(this) }); } if (station.primaryRole == "Coyoteinterstellarstation" || station.primaryRole == "Coyoteinterstellarstationgg") { station.setInterface(this.name + "_menu", { title: "Avernus Orbital 'L\'Auberge de Lago' Restaurant", category: "Station Interfaces", summary: "View the menu for Avernus Orbital Restaurant 'L\'Auberge de Lago'", callback: this.$displayRestaurantMenu.bind(this) }); } } this.$displayRestaurantMenu = function $displayRestaurantMenu() { mission.runScreen({ title: "L\'Auberge de Lago", overlay: { name: "menu3.png", height: 546 } }); } |
Scripts/coyoteAnaconda.js | "use strict"; this.name = "coyoteAnaconda"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAnaconda."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { if (missionVariables.Coyote_status == "STAGE_120") { missionVariables.Coyote_status = "STAGE_130"; } } |
Scripts/coyoteAnaconda160.js | "use strict"; this.name = "coyoteAnaconda160"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAnaconda and python during STAGE_160."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { if (whom !== null) { if (whom.isPlayer) { missionVariables.Coyote_KatikHunt += 1; } } } |
Scripts/coyoteAnaconda180.js | "use strict"; this.name = "coyoteAnaconda180"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAnaconda and python during STAGE_160."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { missionVariables.Coyote_KatikHunt += 1; if (missionVariables.Coyote_KatikHunt == 1) { worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_180_02"); } else if (missionVariables.Coyote_KatikHunt == 2) { worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_180_03"); } else if (missionVariables.Coyote_KatikHunt == 3) { worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_180_04"); } else if (missionVariables.Coyote_KatikHunt == 4) { worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_180_05"); } else if (missionVariables.Coyote_KatikHunt == 5) { worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_180_06"); missionVariables.Coyote_status = "STAGE_190"; mission.unmarkSystem(109); mission.markSystem(100); } player.consoleMessage(missionVariables.Coyote_KatikHunt + "/5 Clan Katik's transports have been Killed", 5); } |
Scripts/coyoteAsp10.js | "use strict"; this.name = "coyoteAsp10"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) {} this.shipTakingDamage = function (amount, whom, type) { if (whom == null) { return; } if (whom.primaryRole == "coyotegreer5") { this.ship.explode(); } } |
Scripts/coyoteAsp11.js | "use strict"; this.name = "coyoteAsp11"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) {} this.shipTakingDamage = function (amount, whom, type) { if (whom == null) { return; } if (whom.primaryRole == "coyotegreer5") { whom.reactToAIMessage("TARGET_DERELICT"); this.ship.awardEquipment("EQ_ESCAPE_POD"); this.ship.abandonShip(); } } |
Scripts/coyoteAsp225.js | "use strict"; this.name = "coyoteAsp225"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for coyoteAsp225."; this.shipSpawned = function () { this.damage = 0; } this.shipTakingDamage = function (amount, whom, type) { if (whom !== null) { if (whom.primaryRole == "coyotekatikboss3escort") { this.damage += amount; if (this.damage >= 100); { missionVariables.Coyote_status = "STAGE_227"; this.ship.explode(); } } } } |
Scripts/coyoteAsp230.js | "use strict"; this.name = "coyoteAsp230"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for coyoteAsp230."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.damage = 0; } this.checkPlayer = function () { if (this.ship.position.distanceTo(player.ship.position) < 25000) { this.ship.target = player.ship; this.ship.reactToAIMessage("TARGET_FOUND"); } } this.shipTakingDamage = function (amount, whom, type) { if (whom !== null) { if (whom.primaryRole == "coyotecuervo" || whom.primaryRole == "coyotesahana2") { this.damage += amount; //log(this.name,this.damage); if (this.damage >= 30); { this.ship.explode(); } } } } |
Scripts/coyoteAutoSkimmer.js | "use strict"; this.name = "autoSkimmer"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for autoSkimmer."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7; } this.checkMassLocked = function () { if (player.alertMassLocked) { if (system.sun.position.distanceTo(this.ship.position) - system.sun.radius > 100000) { this.ship.velocity = this.ship.vectorForward.multiply(player.ship.speed); } else { this.ship.velocity = this.ship.vectorForward.multiply(this.ship.maxSpeed); } } else { this.ship.velocity = this.ship.vectorForward.multiply(player.ship.speed); } } this.checkMassLocked2 = function () { if (player.alertMassLocked) { this.ship.velocity = this.ship.vectorForward.multiply(player.ship.speed); } else { this.ship.velocity = this.ship.vectorForward.multiply(player.ship.speed); } } this.shipDied = function (whom, why) {} this.checkFuel = function () { if (player.ship.fuel >= 6.9) { this.ship.reactToAIMessage("FULL_FUEL"); } } this.removeMe = function () { worldScripts["Coyote-Main"]["deactivateSkimTracking"](); } |
Scripts/coyoteAvernus.js | "use strict"; this.name = "coyoteAvernus"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAvernus."; this.shipTakingDamage = function (amount, whom, type) { if (whom.isPlayer) { if (player.bounty < 64) { player.bounty = 64; } } } this.shipBeingAttacked = function (whom) { if (whom.isPlayer) { player.bounty = 64; this.ship.launchDefenseShip(); this.ship.launchDefenseShip(); this.ship.launchDefenseShip(); } } |
Scripts/coyoteCameron1.js | "use strict"; this.name = "coyoteCameron1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteLebo1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () { player.consoleMessage(expandDescription("[COYOTE_S310_01]"), 6); this.ship.commsMessage(expandDescription("[COYOTE_S310_02]"), player.ship); this.shArray = system.shipsWithPrimaryRole("coyotegreer1"); if (this.shArray.length > 0) { this.shArray[0].commsMessage(expandDescription("[COYOTE_S310_03]"), player.ship); } } this.informPlayer2 = function () {} this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyoterogueviper1"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoterogueviper2"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoteinterceptor1"); if (this.shArray.length == 0) { if (!missionVariables.Coyote_BattleAtBiarra) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { this.ship.reactToAIMessage("END_OF_BATTLE"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } else { this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.locatePlayer1 = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 2000) { if (missionVariables.coyote_escapePodKilled == "TRUE") { this.ship.reactToAIMessage("POD_KILLED"); } else { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["cam"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(-200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["cam"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.checkSunskim1 = function () { var P = system.mainPlanet; var targetVector = P.position.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (this.ship.speed == 0) { this.playerArray = system.shipsWithPrimaryRole("coyotegreer1"); if (this.playerArray.length == 0) {} else { // this.ship.target = this.playerArray[0]; this.ship.position = this.playerArray[0].position.add(this.playerArray[0].vectorUp.multiply(200)); } } } this.checkSunskim = function () { if (this.ship.speed == 0) { var P = system.mainPlanet; var targetVector = P.position.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); this.playerArray = system.shipsWithPrimaryRole("coyotegreer1"); if (this.playerArray.length == 0) {} else { // this.ship.target = this.playerArray[0]; this.ship.position = this.playerArray[0].position.add(this.playerArray[0].vectorUp.multiply(200)); this.ship.orientation = this.playerArray[0].orientation; } } } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteCameron2.js | "use strict"; this.name = "coyoteCameron2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteCameron2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () { player.consoleMessage(expandDescription("[COYOTE_S310_01]"), 6); this.ship.commsMessage(expandDescription("[COYOTE_S310_02]"), player.ship); this.shArray = system.shipsWithPrimaryRole("coyotegreer1"); if (this.shArray.length > 0) { this.shArray[0].commsMessage(expandDescription("[COYOTE_S310_03]"), player.ship); } } this.informPlayer2 = function () {} this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyotepiratepython"); if (this.shArray.length == 0) { this.shArray = system.shipsWithRole("coyotepirateescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("END_OF_BATTLE"); } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } this.locatePlayer1 = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 500) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; } this.startMove3 = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; this.ship.commsMessage(expandDescription("[COYOTE_S310_12]"), player.ship); player.consoleMessage(expandDescription("[COYOTE_S310_13]"), 6); } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["cam"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(-200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["cam"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.startMove2 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT1"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(-200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT1"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.checkSunskim1 = function () { var P = system.mainPlanet; var targetVector = P.position.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteCameron3.js | "use strict"; this.name = "coyoteCameron3"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteCameron3."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.releaseUs = function () { worldScripts["Coyote-Main"]["releaseUS"](); } |
Scripts/coyoteCameron4.js | "use strict"; this.name = "coyoteCameron4"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteCameron4."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3500) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT1"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(-200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT1"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteCameron5.js | "use strict"; this.name = "coyoteCameron5"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteCameron4."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3500) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT2"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(-200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["camT2"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.informPlayer = function () { this.playerArray = system.shipsWithPrimaryRole("coyotegreerspod"); if (this.playerArray.length == 0) { this.ship.commsMessage("Scooped Greer", player.ship); } else { this.playerArray[0].remove(true); this.ship.commsMessage("Scooped Greer", player.ship); } } this.removeMe = function () { this.ship.remove(true); } this.locatePod = function () { this.playerArray = system.shipsWithPrimaryRole("coyotegreerspod"); if (this.playerArray.length == 0) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(this.playerArray[0].position) < 50) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } |
Scripts/coyoteConditions.js | "use strict"; this.name = "coyoteConditions"; this.author = "phkb"; this.copyright = "2018 phkb"; this.description = "Condition script for determining whether the tractor beam can be purchased"; this.licence = "CC BY-NC-SA 4.0"; //------------------------------------------------------------------------------------------------------------- this.allowAwardEquipment = function (equipment, ship, context) { // always return true for scripted install if (context === "scripted") return true; // only at a certain stage of the mission, and only at avernus orbital if (missionVariables.Coyote_status == "STAGE_220" && player.ship.dockedStation.hasRole("avernus_orbital") === true) { return true; } return false; } |
Scripts/coyoteCuervo.js | "use strict"; this.name = "coyoteCuervo"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for coyoteCuervo."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.firstMessage = false; this.ship.fuel = 7.0; } this.fMessage = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_14]"), player.ship); this.ship.reactToAIMessage("LOOKFOR_TARGET"); } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 25000) { if (!this.firstMessage) { mission.setInstructionsKey("CE_MI_S_225_07", "Coyote-Main"); } } if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.scanFor200 = function () { this.shArray = system.shipsWithPrimaryRole("coyotepython230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor200E = function () { this.shArray = system.shipsWithRole("coyotepirateescort2"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor201 = function () { this.shArray = system.shipsWithPrimaryRole("coyoteferdie230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor202 = function () { this.shArray = system.shipsWithPrimaryRole("coyoteasp230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.informPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_16]"), player.ship); this.shArray = system.shipsWithPrimaryRole("coyotesahana2"); if (this.shArray.length !== 0) { this.shArray[0].reactToAIMessage("HEAD_FOR_PLANET"); } mission.setInstructionsKey("CE_MI_S_225_08", "Coyote-Main"); } |
Scripts/coyoteEscapePod.js | "use strict"; this.name = "Coyote-EscapePod"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for the pilots escape pod."; this.shipWasScooped = function (scooper) { if (scooper.isPlayer) { if (missionVariables.CoyoteFerdie_status == "FLEE") { player.commsMessage(expandDescription("[COYOTE_S_03]"), 10); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_20_03"); } else { player.commsMessage(expandDescription("[COYOTE_S_04]"), 10); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_20_04"); } mission.markSystem(25); missionVariables.CoyotePhythonPilot = "RESCUED"; missionVariables.Coyote_status = "STAGE_20"; } } |
Scripts/coyoteEscapePod2.js | "use strict"; this.name = "Coyote-EscapePod2"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for the pilots escape pod 2."; this.shipDied = function (whom, why) { if (whom == null) { return; } if (whom.isPlayer) { missionVariables.coyote_escapePodKilled = "TRUE"; } } |
Scripts/coyoteEscapePod3.js | "use strict"; this.name = "Coyote-EscapePod3"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for the pilots escape pod 3."; this.shipSpawned = function () { } this.shipWasScooped = function (scooper) { if (scooper.isPlayer) {} else {} } |
Scripts/coyoteEscapePod4.js | "use strict"; this.name = "Coyote-EscapePod4"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for the pilots escape pod 4."; this.shipSpawned = function () { this.killed = false; } this.shipTakingDamage = function (amount, whom, type) { if (whom !== null) { if (whom.primaryRole == "coyotekatikboss3escort") { this.killed = true; missionVariables.Coyote_status = "STAGE_226"; this.ship.explode(); } } } this.shipDied = function () { if (this.killed == false) { this.ship.spawnOne("coyotekatikboss2pod"); } } |
Scripts/coyoteFerdie10.js | "use strict"; this.name = "coyoteFerdie10"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteFerdie11."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } |
Scripts/coyoteFerdie11.js | "use strict"; this.name = "coyoteFerdi11"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } |
Scripts/coyoteFerdie2.js | "use strict"; this.name = "coyoteFerdie2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteFerdie2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.flee = function () { missionVariables.CoyoteFerdie_status = "FLEE"; } this.shipDied = function () { missionVariables.CoyoteFerdie_status = "KILLED"; } this.checkPilotRescue = function () { if (missionVariables.CoyotePhythonPilot == "RESCUED") { this.ship.position = player.ship.position.add(player.ship.vectorForward.multiply(25000)); this.ship.target = player.ship; this.ship.reactToAIMessage("ATTACK_PLAYER"); } } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { if (this.ship.position.distanceTo(player.ship.position) < 8000) { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("PLAYER_FOUND"); } } } |
Scripts/coyoteFerdie225.js | "use strict"; this.name = "coyoteFerdie225"; this.author = "Captain Okti"; this.copyright = "(C) 2011 Oktay Sarioglu"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Script for coyoteAsp225."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.checkPlayer = function () { if (this.ship.position.distanceTo(player.ship.position) < 25000) { this.ship.target = player.ship; this.ship.reactToAIMessage("TARGET_FOUND"); } } |
Scripts/coyoteFerdie3.js | "use strict"; this.name = "coyoteFerdie3"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteFerdie3."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("PLAYER_FOUND"); } } |
Scripts/coyoteFerdie4.js | "use strict"; this.name = "coyoteFerdie4"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteFerdie4."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { if (whom == null) { return; } if (whom.isPlayer) { this.shArray = system.shipsWithPrimaryRole("coyoteferdie4"); if (this.shArray.length == 0) {} else { var j = 0 while (j < this.shArray.length) { this.shArray[j].explode(); j += 1; } } this.shArray = system.shipsWithRole("coyoteviper2"); if (this.shArray.length == 0) {} else { this.shArray[0].commsMessage("Bizalein system police thank you for your assistance.", player.ship); } } } |
Scripts/coyoteGecko.js | "use strict"; this.name = "coyoteGecko"; this.author = "Okti"; this.copyright = ""; this.description = "Coyote Gecko Ship Script"; this.scanForTarget = function () { this.ship.target = player.ship; this.ship.reactToAIMessage("TARGET_FOUND"); }; |
Scripts/coyoteGreer1.js | "use strict"; this.name = "coyoteGreer1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.firstMessage = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () {} this.informPlayer2 = function () {} this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyoterogueviper2"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoterogueviper1"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoteinterceptor1"); if (this.shArray.length == 0) { if (!missionVariables.Coyote_BattleAtBiarra) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { this.ship.reactToAIMessage("END_OF_BATTLE"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } else { this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.locatePlayer1 = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 2000) { if (missionVariables.coyote_escapePodKilled == "TRUE") { this.ship.reactToAIMessage("POD_KILLED"); } else { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); log(this.name, des.distanceTo(this.ship.position) / 240); } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greer"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greer"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.checkSunskim1 = function () { var P = system.mainPlanet; var targetVector = P.position.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); } this.checkSunskim = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) {} else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { var pos = this.ship.position; this.shArray = system.shipsWithPrimaryRole("coyotecameron1"); mission.unmarkSystem(66); mission.markSystem(84); this.ship.fuel = 7.0; this.ship.exitSystem(84); missionVariables.Coyote_status = "STAGE_325" if (this.shArray.length > 0) { this.shArray[0].position = pos; } } else if (this.ship.position.distanceTo(player.ship.position) < 15000) { if (this.firstMessage) { this.ship.commsMessage("Come near to us to follow our wormhole", player.ship); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_310_03"); this.firstMessage = false; } } } } this.removeMe = function () { this.ship.remove(true); } this.cheatThePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length > 0) { if (this.ship.position.distanceTo(player.ship.position) > 40000) { this.shArray = system.shipsWithPrimaryRole("coyotebandit1"); i = this.shArray.length - 1; while (i >= 0) { this.shArray[0].remove(); i -= 1; } } } } |
Scripts/coyoteGreer2.js | "use strict"; this.name = "coyoteGreer2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3300) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () {} this.informPlayer2 = function () {} this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyotepiratepython"); if (this.shArray.length == 0) { this.shArray = system.shipsWithRole("coyotepirateescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("END_OF_BATTLE"); } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } this.locatePlayer1 = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 2000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.desired = function () { this.ship.commsMessage(expandDescription("[COYOTE_S310_11]"), player.ship); } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); log(this.name, des.distanceTo(this.ship.position) / 240); } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greer"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greer"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.startMove2 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greerT1"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greerT1"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.checkSunskim1 = function () { var P = system.mainPlanet; var targetVector = P.position.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); } this.checkSunskim = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) {} else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { var pos = this.ship.position; this.shArray = system.shipsWithPrimaryRole("coyotecameron1"); this.ship.exitSystem(84); if (this.shArray.length > 0) { this.shArray[0].position = pos; } } else if (this.ship.position.distanceTo(player.ship.position) < 15000) { if (this.firstMessage) { this.ship.commsMessage("Come near to us to follow our wormhole", player.ship); this.firstMessage = false; } } } } this.removeMe = function () { this.ship.remove(true); } this.cheatPlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length > 0) { if (this.ship.position.distanceTo(player.ship.position) > 40000) { if (this.ship.savedCoordinates.distanceTo(this.ship.position) > 21000) { this.ship.position = this.ship.position.add(this.ship.vectorForward.multiply(20000)); } } } } this.cheatPlayer1 = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length > 0) { if (this.ship.position.distanceTo(player.ship.position) > 50000) { if (player.ship.position.distanceTo(this.ship.position) > 21000) { this.ship.position = this.ship.position.add(this.ship.vectorForward.multiply(20000)); } } else { if (system.countShipsWithPrimaryRole("coyotebandit2") !== 0) { this.ship.reactToAIMessage("WAIT_FOR_BANDITS"); } } } } this.checkBandit = function () { if (system.countShipsWithPrimaryRole("coyotebandit2") == 0) { this.ship.reactToAIMessage("HOSTILES_SMASHED"); } } |
Scripts/coyoteGreer4.js | "use strict"; this.name = "coyoteGreer4"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3300) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.startMove = function () { this.count = 0; this.originalDistance = this.ship.position.distanceTo(player.ship.position); this.originalPosition = this.ship.position; var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); } this.startMove1 = function () { if (this.count >= 240) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greerT1"](this.ship); } else { this.count += 1; //var d = this.originalPosition var des = player.ship.position.add(player.ship.vectorRight.multiply(200)).add(player.ship.vectorForward.multiply(-200)); var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.ship.reactToAIMessage("IN_POSITION"); worldScripts["Coyote-Main"]["greerT1"](this.ship); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteGreer5.js | "use strict"; this.name = "coyoteGreer5"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreer2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.killByFerdie = false; } this.shipDied = function (whom, why) {} this.shipTakingDamage = function (amount, whom, type) { if (!whom) { return; } if (whom.primaryRole == "coyoteferdie10" && this.killByFerdie) { this.ship.spawnOne("coyotegreerspod"); this.ship.explode(); } } this.FDL = function () { this.killByFerdie = true; } |
Scripts/coyoteGreersPod.js | "use strict"; this.name = "coyoteGreersPod"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteGreersPod."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.count = 0; } this.startMove = function () { this.playerArray = system.shipsWithPrimaryRole("coyotecameron5"); if (this.playerArray.length == 0) {} else { this.cameron = this.playerArray[0]; this.cameron.reactToAIMessage("POD_SPAWNED") } } this.moveMe = function () { this.count += 1; //var d = this.originalPosition var des = this.cameron.position var targetVector = des.subtract(this.ship.position).direction(); var angle = this.ship.heading.angleTo(targetVector); var cross = this.ship.heading.cross(targetVector).direction(); this.ship.orientation = this.ship.orientation.rotate(cross, -angle); if (des.distanceTo(this.ship.position) < 10) { this.cameron.commsMessage("I scooped Greer", player.ship); this.ship.remove(true); } else { this.ship.position = this.ship.position.add(targetVector.multiply(des.distanceTo(this.ship.position) / 240)); } } |
Scripts/coyoteInterceptor.js | "use strict"; this.name = "coyoteInterceptor"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteInterceptor."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; player.consoleMessage("A jump capable interceptor has launched from the station, I think they will analyse our wormhole and come after us.", 6); } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.reactToAIMessage("PLAYER_NOT_FOUND"); } else { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("PLAYER_FOUND"); } } |
Scripts/coyoteInterceptor1.js | "use strict"; this.name = "coyoteInterceptor1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteInterceptor1."; this.shipSpawned = function () { missionVariables.Coyote_BattleAtBiarra = "STARTED"; } this.shipDied = function () { this.ship.spawnOne("coyoteinterceptorpod"); player.consoleMessage(expandDescription("[COYOTE_S310_14]"), 6); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_310_10"); } |
Scripts/coyoteKatikBoss1.js | "use strict"; this.name = "coyoteKatikBoss1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteKatikBoss1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7; this.ship.isCloaked = true; } this.removeMe = function () { this.ship.remove(true); } this.message1 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S220_09]"), player.ship); this.ship.isCloaked = false; } this.exitSystem = function () { this.ship.exitSystem(126); this.ship.reactToAIMessage("WITCHSPACE OKAY"); player.commsMessage(expandDescription("[COYOTE_S220_10]"), 6); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_220_02"); } |
Scripts/coyoteKatikBoss1Escort.js | "use strict"; this.name = "coyoteKatikBoss1Escort"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteKatikBoss1Escort."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7; } |
Scripts/coyoteKatikBoss2.js | "use strict"; this.name = "coyoteKatikBoss2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteKatikBoss2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { this.ship.spawnOne("coyotekatikboss2pod"); worldScripts["Coyote-Main"]["startSahanaFun"](); } |
Scripts/coyoteKatikBoss3Escort.js | "use strict"; this.name = "coyoteKatikBoss3Escort"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteKatikBoss3Escort."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7.0; this.attackCount = 0; } this.findSahana = function () { this.shpArray = system.shipsWithRole("coyotesahanapod"); if (this.shpArray.length == 0) {} else { this.ship.target = this.shpArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } } this.findBoss = function () { this.shpArray = system.shipsWithRole("coyotekatikboss2pod"); if (this.shpArray.length == 0) {} else { this.ship.target = this.shpArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } } this.message1 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_08]"), player.ship); } this.message2 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_09]"), player.ship); mission.setInstructionsKey("CE_MI_S_225_03", "Coyote-Main"); this.checkDistanceTimer = new Timer(this, this.checkDistance, 10, 10); } this.message4 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_11]"), player.ship); } this.message5 = function () { player.commsMessage(expandDescription("[COYOTE_S225_12]"), 6); } this.message6 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S225_13]"), player.ship); } this.message7 = function () { this.ship.fuel = 7; this.ship.exitSystem(185); mission.setInstructionsKey("CE_MI_S_225_05", "Coyote-Main"); } this.checkDistance = function () { if (this.ship.position.distanceTo(system.mainStation.position) < 350000 && this.attackCount == 0) { if (this.ship.position.distanceTo(player.ship.position) < 25000) { var pos = this.ship.position.add(this.ship.vectorForward.multiply(25000)); system.addShips("coyoteasp225", 2, pos, 500); system.addShips("coyoteferdie225", 1, pos, 500); system.addShips("coyoteferdie226", 1, pos, 500); this.ship.commsMessage(expandDescription("[COYOTE_S225_09a]"), player.ship); mission.setInstructionsKey("CE_MI_S_225_04", "Coyote-Main"); this.ship.reactToAIMessage("AMBUSH_1"); this.attackCount += 1; this.checkDistanceTimer.stop(); } } } this.shipDied = function (whom, why) { this.ship.spawnOne("coyotesahanapod2"); } this.addFuel = function () { this.ship.fuel = 7.0; } this.shipDockedWithStation = function () { player.commsMessage(expandDescription("[COYOTE_S225_10]"), 6); missionVariables.Coyote_status = "STAGE_229"; } this.checkFacing = function () { this.stationBuoy = system.entitiesWithScanClass("CLASS_BUOY", system.mainStation, 12000)[0]; let idealVector = system.mainStation.position.subtract(this.stationBuoy.position).direction(); // direction let targetVector = system.mainStation.position.subtract(this.ship.position).direction(); // direction unit let shipOrientation = this.ship.orientation; let shipHeading = shipOrientation.vectorForward().direction(); // the way the ship is pointing (Z-axis) let shipPitch = shipOrientation.vectorUp(); // ship's up and down (Y-axis) let shipYaw = shipOrientation.vectorRight(); // ship's left and right (X-axis) this.shipAngle = shipHeading.angleTo(targetVector); // how accurately ship is pointing at the station centre this.shipUD = Math.abs(shipPitch.dot(idealVector)); // how far off-axis we are in the Y direction this.shipLR = Math.abs(shipYaw.dot(idealVector)); // how far off-axis we are in the X direction if (this.shipUD < 0.02 && this.shipLR < 0.02) { this.ship.fuel = 7.0; this.ship.reactToAIMessage("DOCK_WITH_INJECTORS"); this.dockSahanaTId = addFrameCallback(this.dockSahana.bind(this)); } } this.dockSahana = function () { if (this.ship.isValid) { var norient = system.mainStation.orientation.rotate(system.mainStation.vectorForward, 3.14159 / 2); this.ship.orientation = norient.rotate(system.mainStation.vectorUp, 3.14159); } else { if (isValidFrameCallback(this.dockSahanaTId)) { removeFrameCallback(this.dockSahanaTId); } } } this.shipScoopedOther = function (whom) { if (whom.primaryRole == "coyotesahanapod") { this.podTimer = new Timer(this, this.podTim, 4, 0); } } this.podTim = function () { this.ship.displayName = "Sahana"; this.ship.commsMessage(expandDescription("[COYOTE_S225_07]"), player.ship); this.ship.spawnOne("coyotesahanapod2"); } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteKatikHermit.js | "use strict"; this.name = "coyoteKatikHermit"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAnaconda and python during STAGE_160."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ctTimer = new Timer(this, this.checkTemp, 5, 5) this.heatLevel = 0; } this.shipDied = function (whom, why) { missionVariables.Coyote_status = "STAGE_225"; } this.checkTemp = function () { if (this.ship.temperature >= 0.99) { this.ship.spawnOne("coyotekatikboss1") this.ctTimer.stop(); this.ship.explode(); } else if (this.ship.temperature >= 0.80 && this.heatLevel == 0) { this.heatLevel += 1; this.ship.commsMessage(expandDescription("[COYOTE_S220_04]"), player.ship); } else if (this.ship.temperature >= 0.80 && this.heatLevel == 1) { this.heatLevel += 1; this.ship.commsMessage(expandDescription("[COYOTE_S220_05]"), player.ship); } else if (this.ship.temperature >= 0.80 && this.heatLevel == 2) { this.heatLevel += 1; player.commsMessage(expandDescription("[COYOTE_S220_06]"), 6); } else if (this.ship.temperature >= 0.80 && this.heatLevel == 3) { this.heatLevel += 1; this.ship.commsMessage(expandDescription("[COYOTE_S220_07]"), player.ship); } else if (this.ship.temperature >= 0.80 && this.heatLevel == 4) { this.heatLevel += 1; player.commsMessage(expandDescription("[COYOTE_S220_08]"), 6); } } |
Scripts/coyoteLobo1.js | "use strict"; this.name = "coyoteLobo1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteLebo1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7.0; } this.locatePlayer = function () { this.shArray = system.shipsWithPrimaryRole("coyoteviper1"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("VIPER_DEAD"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); return; } else {} } this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S140_01]"), player.ship); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_140_01"); } this.informPlayer2 = function () { this.ship.commsMessage(expandDescription("[COYOTE_S150_01]"), player.ship); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_150_01"); this.ship.bounty = 0; player.ship.bounty = 0; mission.unmarkSystem(72); } this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyoteviper1"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("VIPER_DEAD"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } else { this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.clearLegalStatus = function () { this.ship.bounty = 0; } this.locatePlayer2 = function () { this.playerArray = system.shipsWithPrimaryRole("player", this.ship); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 10000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } |
Scripts/coyoteLobo2.js | "use strict"; this.name = "coyoteLobo2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteLebo2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython180"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoteAnoconda180"); if (this.shArray.length == 0) { this.shArray = system.shipsWithRole("coyotemambaescort"); if (this.shArray.length == 0) {} else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); return; } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); return; } } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); return; } else {} } if (missionVariables.Coyote_KatikHunt >= 5) { this.ship.reactToAIMessage("GO_TO_STATION"); this.ship.commsMessage(expandDescription("[COYOTE_S180_03]"), player.ship); return; } this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); this.ship.commsMessage(expandDescription("[COYOTE_S180_01]"), player.ship); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.informPlayer = function () {} this.informPlayer2 = function () {} this.shipStartAttack = function () { if (missionVariables.Coyote_KatikHunt >= 5) { this.ship.reactToAIMessage("GO_TO_STATION"); this.ship.commsMessage(expandDescription("[COYOTE_S180_03]"), player.ship); return; } this.shArray = system.shipsWithPrimaryRole("coyotePython180"); if (this.shArray.length == 0) { this.shArray = system.shipsWithPrimaryRole("coyoteAnoconda180"); if (this.shArray.length == 0) { this.shArray = system.shipsWithRole("coyotemambaescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); } } else { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("NOTHING_FOUND"); } } } |
Scripts/coyoteLobo4.js | "use strict"; this.name = "coyoteLobo4"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteLebo4."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipStartAttack = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython200"); if (this.shArray.length == 0) { this.shArray = system.shipsWithRole("coyotemambaescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("NOTHING_FOUND"); } } } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("VIPER_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor200 = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython200"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor200E = function () { this.shArray = system.shipsWithRole("coyotemambaescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { //this.ship.reactToAIMessage("TARGET_FAR"); this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.scanFor201 = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython201"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor201E = function () { this.shArray = system.shipsWithRole("coyotemambaescort1"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { //this.ship.reactToAIMessage("TARGET_FAR"); this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.scanFor202 = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython202"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor202E = function () { this.shArray = system.shipsWithRole("coyotemambaescort2"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { //this.ship.reactToAIMessage("TARGET_FAR"); this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.scanFor203 = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython203"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor203E = function () { this.shArray = system.shipsWithRole("coyotemambaescort3"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { //this.ship.reactToAIMessage("TARGET_FAR"); this.ship.reactToAIMessage("NOTHING_FOUND"); } } } this.informPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S200_01]"), player.ship); mission.unmarkSystem(185); mission.markSystem(128); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_210_01"); missionVariables.Coyote_status = "STAGE_210"; } this.locateHermit = function () { this.playerArray = system.shipsWithPrimaryRole("coyotekatikrockhermit"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 5000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("HERMIT_FOUND"); } } } |
Scripts/coyoteLobo5.js | "use strict"; this.name = "coyoteLobo5"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteLebo4."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { //this.ship.remove(); } else { if (this.ship.position.distanceTo(player.ship.position) < 12000) { this.ship.reactToAIMessage("PLAYER_NEAR"); } else {} } } this.questionPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S220_01]"), player.ship); player.consoleMessage(expandDescription("[COYOTE_S220_03]"), 6); } this.replyPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S220_02]"), player.ship); this.playerArray = system.shipsWithPrimaryRole("coyotezorra5"); if (this.playerArray.length == 0) { //this.ship.remove(); } else { this.playerArray[0].setAI("route1traderAI.plist"); } } |
Scripts/coyoteMamba1.js | "use strict"; this.name = "coyoteMamba1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteMamba 1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.flee = function () { missionVariables.CoyoteFerdie_status = "FLEE"; } this.shipDied = function () { missionVariables.CoyoteFerdie_status = "FLEE"; } this.checkPilotRescue = function () { if (missionVariables.CoyotePhythonPilot = "RESCUED") { this.ship.position = player.ship.position.add(player.ship.vectorForward.multiply(25000)); this.ship.target = player.ship; this.ship.reactToAIMessage("ATTACK_PLAYER"); } } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("PLAYER_FOUND"); } } |
Scripts/coyoteNavystationMarket.js | "use strict"; this.name = "coyoteNavystationMarket"; this.author = "spara"; this.copyright = "2014 spara"; this.license = "CC BY-NC-SA 4.0"; this.$originalDefs = { "food" : [0, 0, 13, 0, 0, 0, 0, 0, 0], "textiles" : [0, 0, 19, 0, 0, 0, 0, 0, 0], "radioactives" : [0, 0, 98, 0, 0, 0, 0, 0, 0], "slaves" : [0, 0, 0, 0, 0, 0, 0, 0, 0], "liquor_wines" : [0, 0, 104, 0, 0, 0, 0, 0, 0], "luxuries" : [0, 0, 189, 0, 0, 0, 0, 0, 0], "narcotics" : [0, 0, 0, 0, 0, 0, 0, 0, 0], "computers" : [0, 0, 150, 0, 0, 0, 0, 0, 0], "machinery" : [0, 0, 122, 0, 0, 0, 0, 0, 0], "alloys" : [0, 0, 107, 0, 0, 0, 0, 0, 0], "firearms" : [0, 0, 0, 0, 0, 0, 0, 0, 0], "furs" : [0, 0, 0, 0, 0, 0, 0, 0, 0], "minerals" : [0, 0, 0, 0, 0, 0, 0, 0, 0], "gold" : [0, 0, 92, 0, 0, 0, 0, 0, 1], "platinum" : [0, 0, 183, 0, 0, 0, 0, 0, 1], "gem_stones" : [0, 0, 53, 0, 0, 0, 0, 0, 2], "alien_items" : [0, 0, 224, 0, 0, 0, 0, 0, 0] }; this.updateLocalCommodityDefinition = function(goodDefinition) { var commodity = goodDefinition.key; var oldDefs = this.$originalDefs[commodity]; //old style definition found for the good. calculate it the old way if (oldDefs) { var market_base_price = oldDefs[2]; var market_eco_adjust_price = oldDefs[3]; var market_eco_adjust_quantity = oldDefs[4]; var market_base_quantity = oldDefs[5]; var market_mask_price = oldDefs[6]; var market_mask_quantity = oldDefs[7]; var market_rnd = Math.floor(Math.random() * 256); var economy = system.economy; var price = (market_base_price + (market_rnd & market_mask_price) + (economy * market_eco_adjust_price)) & 255; price *= 0.4; var quantity = (market_base_quantity + (market_rnd & market_mask_quantity) - (economy * market_eco_adjust_quantity)) & 255; if (quantity > 127) quantity = 0; quantity &= 63; goodDefinition.price = price * 10; goodDefinition.quantity = quantity; } //no definition found. nullify the goods. else { goodDefinition.price = 0; goodDefinition.quantity = 0; } return goodDefinition; }; |
Scripts/coyotePython2.js | "use strict"; this.name = "coyotepython2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyotepython2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.damaged = 0; } this.checkFerdie = function () { if (missionVariables.CoyoteFerdie_status == "FLEE" || missionVariables.CoyoteFerdie_status == "KILLED") { this.ship.target = player.ship; this.ship.reactToAIMessage("FERDIE_FLEED"); } } this.eject = function () { if (this.ship.equipmentStatus("EQ_ESCAPE_POD") == "EQUIPMENT_OK") { player.commsMessage(expandDescription("[COYOTE_S_01]"), 10); player.commsMessage(expandDescription("[COYOTE_S_02]"), 10); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_20_03"); this.ship.abandonShip(); } else { this.ship.awardEquipment("EQ_ESCAPE_POD"); player.commsMessage(expandDescription("[COYOTE_S_01]"), 10); player.commsMessage(expandDescription("[COYOTE_S_02]"), 10); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_20_03"); this.ship.abandonShip(); } } this.checkEnergy = function () { if (this.damaged > 500) { this.ship.reactToAIMessage("ENERGY_LOW"); } else { this.ship.target = player.ship; } } this.shipTakingDamage = function (amount, whom, type) { this.damaged += amount; } |
Scripts/coyotePython200.js | "use strict"; this.name = "coyotePython200"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteAnaconda and python during STAGE_160."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { missionVariables.Coyote_KatikHunt += 1; } |
Scripts/coyotePythonStart.js | "use strict"; this.name = "coyotePythonStart"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyotepythonStart."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.FindPlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) {} else { this.ship.target = this.playerArray[0]; this.ship.reactToAIMessage("PLAYER_FOUND"); } } this.checkDistanceToPlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) {} else { if (player.ship.position.distanceTo(this.ship.position) < 5000) { player.commsMessage(expandDescription("[COYOTE_START6]"), 10); player.commsMessage(expandDescription("[COYOTE_START7]"), 10); //mission.setInstructionsKey("COYOTE_MI_STAGE_10_02","Coyote-Main.js"); system.addShips("coyoteferdiestart", 1, player.ship.position.add(player.ship.vectorForward.multiply(-25000)), 100); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_10_02"); this.ship.reactToAIMessage("PREPARE_TO_EXIT_SYSTEM"); } } } this.exitSystem = function () { this.ship.fuel = 7.0; this.ship.exitSystem(144); } this.removeMe = function () { this.ship.remove(true); } |
Scripts/coyoteQBomb.js | "use strict"; this.name = "coyoteQBomb"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteQBomb."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.checkDistance = function () { this.playerArray = system.shipsWithPrimaryRole("coyotekatikrockhermit"); if (this.playerArray.length == 0) { this.ship.remove(true); } else { if (this.ship.position.distanceTo(this.playerArray[0].position) > 500) { this.ship.remove(true); } } } |
Scripts/coyoteRogueViper1.js | "use strict"; this.name = "coyoteRogueViper1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteViper1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; //missionVariables.Coyote_ViperCount +=1; } this.shipLaunchedFromStation = function (station) { missionVariables.Coyote_ViperCount += 1; } |
Scripts/coyoteRogueViper2.js | "use strict"; this.name = "coyoteRogueViper2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteViper2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } |
Scripts/coyoteSahana2.js | "use strict"; this.name = "coyoteSahana2"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteSahana2."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7.0; } this.addFuel = function () { this.ship.fuel = 7.0; } this.shipDockedWithStation = function () { player.commsMessage(expandDescription("[COYOTE_S225_10]"), 6); missionVariables.Coyote_status = "STAGE_229"; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 25000) {} if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.checkFacing = function () { this.stationBuoy = system.entitiesWithScanClass("CLASS_BUOY", system.mainStation, 12000)[0]; let idealVector = system.mainStation.position.subtract(this.stationBuoy.position).direction(); // direction let targetVector = system.mainStation.position.subtract(this.ship.position).direction(); // direction unit let shipOrientation = this.ship.orientation; let shipHeading = shipOrientation.vectorForward().direction(); // the way the ship is pointing (Z-axis) let shipPitch = shipOrientation.vectorUp(); // ship's up and down (Y-axis) let shipYaw = shipOrientation.vectorRight(); // ship's left and right (X-axis) this.shipAngle = shipHeading.angleTo(targetVector); // how accurately ship is pointing at the station centre this.shipUD = Math.abs(shipPitch.dot(idealVector)); // how far off-axis we are in the Y direction this.shipLR = Math.abs(shipYaw.dot(idealVector)); // how far off-axis we are in the X direction if (this.shipUD < 0.02 && this.shipLR < 0.02) { this.ship.fuel = 7.0; this.ship.reactToAIMessage("DOCK_WITH_INJECTORS"); this.dockSahanaTId = addFrameCallback(this.dockSahana.bind(this)); } } this.dockSahana = function () { if (this.ship.isValid) { var norient = system.mainStation.orientation.rotate(system.mainStation.vectorForward, 3.14159 / 2); this.ship.orientation = norient.rotate(system.mainStation.vectorUp, 3.14159); } else { if (isValidFrameCallback(this.dockSahanaTId)) { removeFrameCallback(this.dockSahanaTId); } } } this.scanFor200 = function () { this.shArray = system.shipsWithPrimaryRole("coyotepython230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor200E = function () { this.shArray = system.shipsWithRole("coyotepirateescort2"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor201 = function () { this.shArray = system.shipsWithPrimaryRole("coyoteferdie230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor202 = function () { this.shArray = system.shipsWithPrimaryRole("coyoteasp230"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } |
Scripts/coyoteTractorBeam.js | "use strict"; this.name = "coyoteTractorBeam"; this.copyright = "(C) 2011 Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Tractor Beam Implementation"; this.activated = function () { if (!missionVariables.coyote_beam) { if (!player.ship.target) { player.consoleMessage("No active target", 6); return; } if (player.ship.target.mass > 200000000) { player.consoleMessage("Target has too much mass for this equipment", 6); return; } if (player.ship.target.position.distanceTo(player.ship.position) > 1000) { player.consoleMessage("Target is too far away to engage", 6); return; } var targetVector = player.ship.target.position.subtract(player.ship.position).direction(); var angle = player.ship.heading.multiply(-1).angleTo(targetVector); if (angle > .10) { player.consoleMessage("Target must be on your rear to engage.", 6); return; } worldScripts["Coyote-Main"].tractorBeam(); } else { worldScripts["Coyote-Main"].dtractorBeam(); } } |
Scripts/coyoteViper1.js | "use strict"; this.name = "coyoteViper1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteViper1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; } this.shipDied = function (whom, why) { missionVariables.Coyote_status = "STAGE_150"; } |
Scripts/coyoteViperLeader.js | "use strict"; this.name = "coyoteViperLeader"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteViperLeader."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.firstMessage = false; this.firstMessage1 = false; this.messageCount = 0; } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 25000) { if (this.firstMessage == false) { this.ship.commsMessage(expandDescription("[COYOTE_S280_02]"), player.ship); this.firstMessage = true; } } if (this.ship.position.distanceTo(player.ship.position) < 1000) { if (player.ship.speed !== 0) { this.ship.reactToAIMessage("PLAYER_NOT_STOPED"); return; } } if (this.ship.position.distanceTo(player.ship.position) < 200) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.checkPlayer = function () { if (this.messageCount > 30) { if (system.ID !== 20) { this.ship.commsMessage(expandDescription("[COYOTE_S280_04]"), player.ship); this.ship.reactToAIMessage("INSPECTION_FINISHED"); missionVariables.Coyote_status = "STAGE_290" } else { this.ship.commsMessage(expandDescription("[COYOTE_S280_04]"), player.ship); missionVariables.Coyote_status = "STAGE_340" worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_310_09"); this.ship.reactToAIMessage("INSPECTION_FINISHED"); } } else { this.messageCount += 1; if (player.ship.speed == 0) { if (this.firstMessage1 == false) { this.ship.commsMessage(expandDescription("[COYOTE_S280_03]"), player.ship); this.firstMessage1 = true; } this.ship.reactToAIMessage("PLAYER_STOPPED"); } else { this.ship.reactToAIMessage("PLAYER_NOT_STOPPED"); } } } |
Scripts/coyoteZorra1.js | "use strict"; this.name = "coyoteZorra1"; this.author = "Okti"; this.copyright = "(C) Okti"; this.licence = "Creative Commons Attribution - Non-Commercial - Share Alike 3.0"; this.description = "Ship script for coyoteZorra1."; this.shipSpawned = function () { //this.ship.reportAIMessages = true; this.ship.fuel = 7.0; this.firstMessage = false; } this.fMessage = function () { this.ship.commsMessage(expandDescription("[COYOTE_S130_00]"), player.ship); this.firstMessage = true; this.ship.reactToAIMessage("LOOKFOR_TARGET"); } this.locatePlayer = function () { this.playerArray = system.shipsWithPrimaryRole("player"); if (this.playerArray.length == 0) { this.ship.remove(); } else { this.ship.target = this.playerArray[0]; if (this.ship.position.distanceTo(player.ship.position) < 25000) { if (this.firstMessage == false) { this.ship.commsMessage(expandDescription("[COYOTE_S130_00]"), player.ship); this.firstMessage = true; this.ship.reactToAIMessage("LOOKFOR_TARGET"); } } if (this.ship.position.distanceTo(player.ship.position) < 3000) { this.ship.reactToAIMessage("DESIRED_RANGE_ACHIEVED"); } else { this.ship.reactToAIMessage("PLAYER_FOUND"); } } } this.scanFor200 = function () { this.shArray = system.shipsWithPrimaryRole("coyoteAnaconda"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor200E = function () { this.shArray = system.shipsWithRole("coyotemambaescort"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.scanFor201 = function () { this.shArray = system.shipsWithPrimaryRole("coyotePython201"); if (this.shArray.length == 0) { this.ship.reactToAIMessage("NOTHING_FOUND"); } else { if (this.ship.position.distanceTo(this.shArray[0].position) < 25000) { this.ship.target = this.shArray[0]; this.ship.reactToAIMessage("TARGET_FOUND"); this.ship.commsMessage(expandDescription("[COYOTE_S180_02]"), player.ship); } else { this.ship.reactToAIMessage("TARGET_FAR"); } } } this.informPlayer = function () { this.ship.commsMessage(expandDescription("[COYOTE_S130_01]"), player.ship); worldScripts["Coyote-Main"]["setMissionInstructions"]("CE_MI_S_130_01"); mission.unmarkSystem(128); mission.markSystem(72); } this.exitSystem = function () { this.ship.fuel = 7.0; this.ship.exitSystem(72); missionVariables.Coyote_status = "STAGE_140"; } this.removeMe = function () { this.ship.remove(true); } |