Config/script.js |
"use strict";
this.name = "blackbaron";
this.author = "Thargoid, Kaks, Rxke, phkb";
this.copyright = "Creative Commons: attribution, non-commercial, sharealike.";
this.description = "The Black Baron Mission - original plist script by Rxke, js script by Kaks";
this.licence = "CC BY-NC-SA 3.0";
// Script update for 1.74 - will not work with any lower version
this.startUp = function () {
if (missionVariables.blackbaron == "MISSION_COMPLETE") {
delete this.missionScreenOpportunity;
delete this.shipWillExitWitchspace;
delete this.playerEnteredNewGalaxy;
delete this.startUp;
return;
}
if (!missionVariables.blackbaron) missionVariables.blackbaron = "OFFER";
}
// mission offers --------------------------------------------------------
this.missionScreenOpportunity = function () {
if (player.ship.docked && player.ship.dockedStation.isMainStation && galaxyNumber == 0) {
if (missionVariables.longwayround == "MISSION_COMPLETE"
&& missionVariables.blackbaron == "OFFER"
&& system.ID == 243
&& player.score > 150) {
mission.runScreen({ screenID: "blackbaron", title: expandMissionText("rxke_blackbaron_title"), messageKey: "rxke_blackbaron_briefing1", choicesKey: "rxke_blackbaron_choices" }, this.choice);
return;
}
switch (missionVariables.blackbaron) {
case "STAGE1": {
if (system.ID == 93 && galaxyNumber == 0) {
mission.runScreen({ screenID: "blackbaron", title: expandMissionText("rxke_blackbaron_title"), messageKey: "rxke_blackbaron_briefing2" });
mission.setInstructionsKey("rxke_blackbaron_short1");
player.credits += 1000;
player.consoleMessage(expandMissionText("rxke_blackbaron_reward1"));
missionVariables.blackbaron = "STAGE2";
}
break;
}
case "STAGE2": {
if (system.ID == 180 && galaxyNumber == 0) {
mission.runScreen({ screenID: "blackbaron", title: expandMissionText("rxke_blackbaron_title"), messageKey: "rxke_blackbaron_briefing3" });
player.credits += 5000;
player.consoleMessage(expandMissionText("rxke_blackbaron_reward2"));
missionVariables.blackbaron = "MISSION_COMPLETE";
mission.setInstructionsKey(null);
delete this.missionScreenOpportunity;
delete this.shipWillExitWitchspace;
delete this.playerEnteredNewGalaxy;
}
break;
}
}
}
}
this.choice = function (choice) {
switch (choice) {
case "rxke_blackbaron_choiceAccept": {
mission.setInstructionsKey("rxke_blackbaron_short2");
missionVariables.blackbaron = "STAGE1";
break;
}
case "rxke_blackbaron_choiceReject": {
missionVariables.blackbaron = "MISSION_COMPLETE";
mission.setInstructionsKey(null);
break;
}
}
}
// events ---------------------------------------------------------------
this.shipWillExitWitchspace = function () {
if (missionVariables.blackbaron == "STAGE2" && galaxyNumber == 0) {
if (system.ID == 180)
system.addShips("rxke_blackbaron_minion", 7);
else if (system.ID == 222 || system.ID == 48) {
this.minionCounter = 0;
this.timer = new Timer(this, this.addMinions, 2, 8);
}
}
}
this.playerEnteredNewGalaxy = function (galaxyNumber) {
if (galaxyNumber == 1 && (missionVariables.blackbaron == "STAGE1" || missionVariables.blackbaron == "STAGE2")) {
mission.setInstructionsKey(null);
missionVariables.blackbaron = "MISSION_COMPLETE";
delete this.missionScreenOpportunity;
delete this.shipWillExitWitchspace;
delete this.playerEnteredNewGalaxy;
}
}
this.addMinions = function () {
if (player.ship.isInSpace === false) {
this.timer.stop();
return;
}
this.minionCounter++;
if (system.shipsWithRole("rxke_blackbaron_minion").length < 7 && Math.random() < 0.5) system.addShips("rxke_blackbaron_minion", 1);
if (this.minionCounter >= (system.ID == 222 ? 9 : 6)) this.timer.stop();
}
|