Adds fighter sweeping totals for Colony players
当前为
// ==UserScript==
// @name Planets.nu Colonial Minesweep Display
// @description Adds fighter sweeping totals for Colony players
// @include http://planets.nu/home
// @include http://planets.nu/games/*
// @include http://play.planets.nu/*
// @include http://*.planets.nu/*
// @include http://planets.nu/*
// @version 0.2
// @namespace https://gf.qytechs.cn/users/2860
// ==/UserScript==
// 0.1 First version
// 0.2 Modernized
function wrapper () { // wrapper for injection
oldLoadOrders = vgapShipScreen.prototype.loadOrders;
vgapShipScreen.prototype.loadOrders = function () {
if (vgaPlanets.prototype.version>=3)
{
var ship = this.ship;
var html = "<table width='100%'>";
var enemy = "None";
if (ship.enemy > 0) {
var player = vgap.getPlayer(ship.enemy);
var race = vgap.getRace(player.raceid);
enemy = race.name + " (" + player.username + ")";
}
html += "<tr><td class='widehead' data-topic='PrimaryEnemy'>Primary Enemy:</td><td class='textval'>" + enemy + "</td></tr></table>";
html += "<table width='100%'><tr><td class='widehead' data-topic='ShipMissions'>Mission:</td><td class='textval'>";
var missionTarget = null;
if (ship.mission1target != 0)
missionTarget = vgap.getShip(ship.mission1target);
if (ship.mission == 6 && missionTarget != null)
html += "Tow ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 6)
html += "Tow";
else if (ship.mission == 7 && missionTarget != null)
html += "Intercept ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 15 && missionTarget != null)
html += "Repair ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 2 || (ship.mission == 8 && vgap.player.raceid == 7)) {
var units = this.getMineUnits(ship);
html += this.getMission(ship.mission).name + " <span class='valsup'>(convert " + ship.minelaytorps + " torps into " + units + " " + (ship.mission == 2 ? "" : "web ") + "mines)</span>";
}
else
html += this.getMission(ship.mission).name;
if ((ship.mission == 1)&&(vgap.player.raceid == 11)&&(ship.bays > 0))
html += " <span class='valsup'>(" + ship.ammo * 20 + " mines by fighters / " + ship.beams * ship.beamid * ship.beamid * 4 + " mines / " + ship.beams * ship.beamid * ship.beamid * 3 + " web mines)</span>";
else if (ship.mission == 1)
html += " <span class='valsup'>(" + ship.beams * ship.beamid * ship.beamid * 4 + " Mines / " + ship.beams * ship.beamid * ship.beamid * 3 + " web mines)</span>";
//cloak fuel burning
if (ship.mission == 9 || (vgap.player.raceid == 3 && ship.mission == 8))
html += " <span class='valsup'>(" + vgap.cloakFuel(ship) + " fuel / turn)</span>";
html += "</td></tr>";
html += "</table>";
//chameleon device
var chameleon = null;
if (ship.hullid == 1023 || ship.hullid == 109 || ship.hullid == 1049) {
var cid = parseInt(ship.friendlycode);
var chull = vgap.getHull(cid);
if (chull != null && chull.id != 0) {
chameleon = chull;
//html += "<tr><td class='widehead' data-topic='ShipMissions'>Chameleon:</td><td class='textval' style='color:magenta;'>" + chull.name + " <span class='valsup'>(10 fuel / turn)</span></td></tr>";
}
}
//highlight friendly codes
var fcbox_color = "transparent";
fcu = ship.friendlycode.toUpperCase();
if (fcu == "HYP" && (ship.hullid == 51 || ship.hullid == 87 || ship.hullid == 77)) fcbox_color = "yellow";
else if (fcu == "BDM" || fcu == "BTM") fcbox_color = "limegreen";
else if (fcu == "NTP" || fcu == "NBR") fcbox_color = "orchid";
else if (fcu == "MKT" || fcu == "LFM") fcbox_color = "orange";
else if ((fcu == "POP" || fcu == "TRG") && (ship.hullid == 39 || ship.hullid == 41 || ship.hullid == 1034 || ship.hullid == 1039)) fcbox_color = "red";
else if (fcu == "MSC") fcbox_color = "aqua";
else if (fcu == "BTT" || fcu == "BTF") fcbox_color = "lightcoral";
else if (fcu.substr(0, 2) == "GS") fcbox_color = "magenta";
else if (fcu.substr(0, 2) == "MD") fcbox_color = "#099";
else if (fcu.substr(0, 2) == "MI") fcbox_color = "orange";
else if (chameleon) fcbox_color = "magenta";
if (chameleon)
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Chameleon:</td><td class='textval' style='color:magenta;'>" + chameleon.name + " <span class='valsup'>(10 fuel / turn)</span></td><td class='fc'><span style='background-color: " + fcbox_color + "' id='ShipFC'>" + ship.friendlycode + "</span></td></tr></table>";
else
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Friendly Code:</td><td class='fc'><span style='background-color: " + fcbox_color + "' id='ShipFC'>" + ship.friendlycode + "</span></td></tr></table>";
if (vgap.advActive(61)) {
var darkersense = 0;
//look for ship detections with dark sense
for (var i = 0; i < vgap.messages.length; i++) {
var message = vgap.messages[i];
if (message.target == ship.id && message.messagetype == 20 && message.body.indexOf("ship nearby") >= 0)
darkersense++;
}
if (darkersense > 0) {
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Dark Sense:</td><td class='textval' style='color:magenta;'>" + darkersense + " hidden ships nearby</td></tr></table>";
}
}
return html;
}
else
{
this.orders.empty();
var ship = this.ship;
var html = "<table width='100%'>";
var enemy = "None";
if (ship.enemy > 0) {
var player = vgap.getPlayer(ship.enemy);
var race = vgap.getRace(player.raceid);
enemy = race.name + " (" + player.username + ")";
}
html += "<tr><td class='widehead'>Primary Enemy:</td><td class='textval'>" + enemy + "</td></tr></table>";
html += "<table width='100%'><tr><td class='widehead'>Mission:</td><td class='textval'>";
var missionTarget = null;
if (ship.mission1target != 0)
missionTarget = vgap.getShip(ship.mission1target);
if (ship.mission == 6 && missionTarget != null)
html += "Tow ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 6)
html += "Tow";
else if (ship.mission == 7 && missionTarget != null)
html += "Intercept ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 15 && missionTarget != null)
html += "Repair ship " + missionTarget.id + ": " + missionTarget.name.substr(0, 30);
else if (ship.mission == 2 || (ship.mission == 8 && vgap.player.raceid == 7)) {
var units = this.getMineUnits(ship);
html += this.getMission(ship.mission).name + " <span class='valsup'>(convert " + ship.minelaytorps + " torps into " + units + " " + (ship.mission == 2 ? "" : "web ") + "mines)</span>";
}
else
html += this.getMission(ship.mission).name;
if ((ship.mission == 1)&&(vgap.player.raceid == 11)&&(ship.bays > 0))
html += " <span class='valsup'>(" + ship.ammo * 20 + " mines by fighters / " + ship.beams * ship.beamid * ship.beamid * 4 + " mines / " + ship.beams * ship.beamid * ship.beamid * 3 + " web mines)</span>";
else
html += " <span class='valsup'>(" + ship.beams * ship.beamid * ship.beamid * 4 + " Mines / " + ship.beams * ship.beamid * ship.beamid * 3 + " web mines)</span>";
//cloak fuel burning
if (ship.mission == 9 || (vgap.player.raceid == 3 && ship.mission == 8))
html += " <span class='valsup'>(" + this.cloakFuel() + " fuel / turn)</span>";
html += "</td></tr></table>";
//highlight friendly codes
var fcbox_color = "transparent";
fcu = ship.friendlycode.toUpperCase();
if (fcu == "HYP" && (ship.hullid == 51 || ship.hullid == 87 || ship.hullid == 77)) fcbox_color = "yellow";
else if (fcu == "BDM" || fcu == "BTM") fcbox_color = "limegreen";
else if (fcu == "NTP" || fcu == "NBR") fcbox_color = "orchid";
else if (fcu == "MKT" || fcu == "LFM") fcbox_color = "orange";
else if ((fcu == "POP" || fcu == "TRG") && (ship.hullid == 39 || ship.hullid == 41 || ship.hullid == 1034 || ship.hullid == 1039)) fcbox_color = "red";
else if (fcu == "MSC") fcbox_color = "aqua";
else if (fcu == "BTT" || fcu == "BTF") fcbox_color = "lightcoral";
else if (fcu.substr(0, 2) == "GS") fcbox_color = "magenta";
else if (fcu.substr(0, 2) == "MD") fcbox_color = "#099";
else if (fcu.substr(0, 2) == "MI") fcbox_color = "orange";
else if (chameleon) fcbox_color = "magenta";
if (vgap.advActive(61)) {
var darkersense = 0;
//look for ship detections with dark sense
for (var i = 0; i < vgap.messages.length; i++) {
var message = vgap.messages[i];
if (message.target == ship.id && message.messagetype == 20 && message.body.indexOf("ship nearby") >= 0)
darkersense++;
}
if (darkersense > 0) {
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Dark Sense:</td><td class='textval' style='color:magenta;'>" + darkersense + " hidden ships nearby</td></tr></table>";
}
}
if (chameleon)
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Chameleon:</td><td class='textval' style='color:magenta;'>" + chameleon.name + " <span class='valsup'>(10 fuel / turn)</span></td><td class='fc'><span style='background-color: " + fcbox_color + "' id='ShipFC'>" + ship.friendlycode + "</span></td></tr></table>";
else
html += "<table width='100%'><tr><td class='widehead' data-topic='FriendlyCodes'>Friendly Code:</td><td class='fc'><span style='background-color: " + fcbox_color + "' id='ShipFC'>" + ship.friendlycode + "</span></td></tr></table>";
//html += "<table width='100%'><tr><td class='widehead'>Friendly Code:</td><td class='fc'><span>" + ship.friendlycode + "</span></td></tr>";
//html += "</table>";
$(html).appendTo("#ShipOrders");
}
};
} //wrapper for injection
var script = document.createElement("script");
script.type = "application/javascript";
script.textContent = "(" + wrapper + ")();";
document.body.appendChild(script);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址