Back to Index Page generated: Dec 20, 2024, 7:22:09 AM

Expansion Missile Summary

Content

Manifest

from Expansion Manager's OXP list from Expansion Manifest
Description Puts a summary of all current pylon weapons on the F5 Status screen. Puts a summary of all current pylon weapons on the F5 Status screen.
Identifier oolite.oxp.phkb.MissileSummary oolite.oxp.phkb.MissileSummary
Title Missile Summary Missile Summary
Category Miscellaneous Miscellaneous
Author phkb phkb
Version 1.6 1.6
Tags
Required Oolite Version
Maximum Oolite Version
Required Expansions
Optional Expansions
Conflict Expansions
Information URL https://wiki.alioth.net/index.php/Missile_Summary n/a
Download URL https://wiki.alioth.net/img_auth.php/e/e3/MissileSummary_1.6.oxz n/a
License CC-BY-SA 4.0 CC-BY-SA 4.0
File Size n/a
Upload date 1709981744

Documentation

Also read http://wiki.alioth.net/index.php/Missile%20Summary

Equipment

Name Visible Cost [deci-credits] Tech-Level
AMS Dart yes 0 1+
Trident Missile yes 0 1+
Trident Missile yes 0 1+
Cutpurse Missile yes 0 1+
Displacer Missile yes 0 1+
Field Missile yes 0 1+
ECM Hardened Missile yes 0 1+
Kicker Missile yes 0 1+
Missile yes 0 1+
Tracker Missile yes 0 1+
Beacon Missile yes 0 1+
Defence Missile yes 0 1+
**MVD CLASSIFIED** yes 0 1+
Salvage Missile yes 0 1+
Sweeper-resistant navy missile yes 0 1+
Manchi Missile yes 0 1+
Nova missile yes 0 1+
Plasma torpedo yes 0 1+
SM-1 yes 0 1+
Fireworks Missile yes 0 1+
Hawking HMX-11 Military Smart Missile yes 0 1+
Hacker HMX-11 Military Smart Missile yes 0 1+
Solar Radiation Disrupter Missile yes 0 1+
Station Killer Missile yes 0 1+
Graviton Missile yes 0 1+
ECM Hardened Missile yes 0 1+
Missile Rack (Hard) yes 0 1+
Missile Rack (Hard) yes 0 1+
Missile Rack (Hard) yes 0 1+
Interception Missile Rack yes 0 1+
Interception Missile Rack yes 0 1+
Interception Missile Rack yes 0 1+
I-Missile yes 0 1+
ASM-12B Jida Missile yes 0 1+
Military Missile yes 0 1+
Missile yes 0 1+
Nexus Missile yes 0 1+
Nexus Bug-Off Missile yes 0 1+
Nexus Bug-Off Missile (naval reject) yes 0 1+
Nexus Missile (premium version) yes 0 1+
Nexus Missile (ultimate version) yes 0 1+
Missile Rack (Std) yes 0 1+
Missile Rack (Std) yes 0 1+
Missile Rack (Std) yes 0 1+
Cascade Missile yes 0 1+
Fragmentation Missile yes 0 1+
Interception Missile yes 0 1+
Lawmaker Missile yes 0 1+
Override Missile yes 0 1+
Anti-Thargoid Missile yes 0 1+
Missile Rack (Stun) yes 0 1+
Missile Rack (Stun) yes 0 1+
Missile Rack (Stun) yes 0 1+
ECM Hardened Missile yes 0 1+
ECM Hardened Missile yes 0 1+
Fleet of ships for the Mantis Dreadnaught yes 0 1+
NPC Thargon Drone yes 0 1+
NPC Nailbomb Missile yes 0 1+
NPC Trident Missile yes 0 1+
Torpedo yes 0 1+
Tug Drone yes 0 1+
random hits attackworm yes 0 1+
random hits mining pod yes 0 1+
Thargon Jammer Mine yes 0 1+
Thargon Jammer Mine yes 0 1+
Bug Bomb yes 0 1+
Buzz Bomb yes 0 1+
Decoy Mine yes 0 1+
Black Market Interdictor Mine yes 0 1+
Missile Machine yes 0 1+
Screamer Mine yes 0 1+
Stun Bomb yes 0 1+
Uni Bomb yes 0 1+
Void Bomb yes 0 1+
Anti-Thargoid Drone yes 0 1+
Beacon Launcher yes 0 1+
Cargo Shepherd yes 0 1+
Combat Drone yes 0 1+
Captured Thargon Ship Defense System yes 0 1+
Emergency Charge Device yes 0 1+
**ESW SECURITY RESTRICTED** yes 0 1+
Flare Mine yes 0 1+
Portable Fireworks yes 0 1+
Extra Fuel Tank yes 0 1+
Portable Galactic Hyperdrive yes 0 1+
Goods Container 10 TC yes 0 1+
Goods Container 20 TC yes 0 1+
Goods Container 30 TC yes 0 1+
Goods Container 40 TC yes 0 1+
Goods Container 50 TC yes 0 1+
Korshkov Fuel Sample yes 0 1+
**NWE SECURITY RESTRICTED" yes 0 1+
Kamikaze Drone yes 0 1+
Mince Pie yes 0 1+
**ATU CLASSIFIED** yes 0 1+
Probe Missile yes 0 1+
Quirium Cascade Mine yes 0 1+
**ATU CLASSIFIED** yes 0 1+
Regroup yes 0 1+
Repair Nanobots yes 0 1+
Chaff Refill yes 0 1+
Defence Mine yes 0 1+
Distress Beacon yes 0 1+
Fragmentation Bomb yes 0 1+
Radio Mine yes 0 1+
RRS Solar laboratory yes 0 1+
Safety Mine yes 0 1+
Quirium Cascade Mine yes 0 1+
Thargon Jammer Mine yes 0 1+
Quirium Cascade Mine yes 0 1+
Thargon Jammer Mine yes 0 1+
Towbar Stabilizer yes 0 1+

Ships

This expansion declares no ships.

Models

This expansion declares no models.

Scripts

Path
Config/script.js
"use strict";
this.name = "MissileSummary";
this.author = "phkb";
this.copyright = "(C) 2023 phkb.";
this.license = "CC-NC-by-SA 4.0";
this.description = "Controls the equipment items to summarise missiles on the F5 Status screen";

this._knownKeys = {};
this._summaryKeys = [];

//-------------------------------------------------------------------------------------------------------------
this.startUpComplete = function () {
    var idx = 1;
    var found = true;
    var sc = worldScripts.ShipConfiguration_Core;
    do {
        found = false;
        var k = "EQ_MISSILESUMMARY_" + (idx < 10 ? "00" : (idx < 100 ? "0" : "")) + idx.toString();
        var ke = EquipmentInfo.infoForKey(k);
        if (ke) {
            this._knownKeys[ke.scriptInfo.missileKey] = k;
            this._summaryKeys.push(k);
            found = true;
            if (sc) sc._ignoreEquip.push(k);
        }
        idx += 1;
    } while (found == true);
    if (sc) sc._ignoreEquip.push("EQ_AMSDART_SUMMARY");
}

//-------------------------------------------------------------------------------------------------------------
this.shipWillLaunchFromStation = function() {
    this.$clearDummyEquipment();
}

//-------------------------------------------------------------------------------------------------------------
this.guiScreenChanged = function (to, from) {
    var p = player.ship;
    if (to == "GUI_SCREEN_STATUS") {
        if (p.missileCapacity > 0) {
            var flag = false;
            var miss = null;
            try {
                miss = p.missiles;
                flag = true;
            } catch (err) {
                if (this._debug) log(this.name, "!!ERROR: " + err);
            }
            if (flag === true) {
                for (var i = 0; i < miss.length; i++) {
                    //if (this._debug) log(this.name, p.missileCapacity + " - " + i + ": " + miss[i].equipmentKey);
                    var mk = miss[i].equipmentKey;
                    if (this._knownKeys[mk]) {
                        p.awardEquipment(this._knownKeys[mk]);
                    }
                }
            }
            // show the number of ams darts remaining
            if (missionVariables.amCount > 0 && p.hasEquipmentProviding("EQ_AMS")) {
                var amc = missionVariables.amCount;
                for (var i = 0; i < amc; i++) {
                    p.awardEquipment("EQ_AMSDART_SUMMARY");
                }
            }
        }
    }
    if (from == "GUI_SCREEN_STATUS") {
        this.$clearDummyEquipment();
    }
}

//-------------------------------------------------------------------------------------------------------------
this.playerWillSaveGame = function() {
    this.$clearDummyEquipment();
}

//-------------------------------------------------------------------------------------------------------------
this.$clearDummyEquipment = function() {
    var p = player.ship;
    var sk = this._summaryKeys;
    var i = sk.length;
    while (i--) {
        do {
            p.removeEquipment(sk[i]);
        } while (p.hasEquipmentProviding(sk[i]));
    }
}
Scripts/missilesummary_conditions.js
"use strict";
this.name = "MissileSummary_Conditions";
this.author = "phkb";
this.copyright = "2023 phkb";
this.description = "Condition script for equipment.";
this.license = "CC BY-NC-SA 3.0";

//-------------------------------------------------------------------------------------------------------------
this.allowAwardEquipment = function (equipment, ship, context) {
    // we will only award this item via script
    if (context != "scripted") return false;
    return true;
}