mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-27 11:27:04 +02:00
Rebalancing for favor, Increase reputation cost, Fix bugs with purchasing multiple augmentations, balanced company positions. New netscript functions
This commit is contained in:
@@ -202,6 +202,22 @@ function evaluate(exp, workerScript) {
|
||||
}, function(e) {
|
||||
reject(e);
|
||||
});
|
||||
|
||||
} else if (exp.func.value == "scan") {
|
||||
if (exp.args.length != 0) {
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "scan() call has incorrect number of arguments. Takes 0 arguments"));
|
||||
}
|
||||
var currServ = getServer(workerScript.serverIp);
|
||||
if (currServ == null) {
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "Could not find server ip for this script. This is a bug please contact game developer"));
|
||||
}
|
||||
var res = [];
|
||||
for (var i = 0; i < currServ.serversOnNetwork.length; ++i) {
|
||||
var thisServ = getServer(currServ.serversOnNetwork[i]);
|
||||
if (thisServ == null) {continue;}
|
||||
res.push({type:"str", value: thisServ.hostname});
|
||||
}
|
||||
resolve(res);
|
||||
} else if (exp.func.value == "nuke") {
|
||||
var p = netscriptRunProgram(exp, workerScript, Programs.NukeProgram);
|
||||
p.then(function(res) {
|
||||
@@ -546,6 +562,22 @@ function evaluate(exp, workerScript) {
|
||||
}, function(e) {
|
||||
reject(e);
|
||||
});
|
||||
} else if (exp.func.value == "getServerNumPortsRequired") {
|
||||
if (exp.args.length != 1) {
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "getServerNumPortsRequired() call has incorrect number of arguments. Takes 1 argument"));
|
||||
}
|
||||
var ipPromise = evaluate(exp.args[0], workerScript);
|
||||
ipPromise.then(function(ip) {
|
||||
var server = getServer(ip);
|
||||
if (server == null) {
|
||||
workerScript.scriptRef.log("getServerNumPortsRequired() failed. Invalid IP or hostname passed in: " + ip);
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "Invalid IP or hostname passed into getServerNumPortsRequired() command"));
|
||||
}
|
||||
workerScript.scriptRef.log("getServerNumPortsRequired() returned " + formatNumber(server.numOpenPortsRequired, 0) + " for " + server.hostname);
|
||||
resolve(server.numOpenPortsRequired);
|
||||
}, function(e) {
|
||||
reject(e);
|
||||
});
|
||||
} else if (exp.func.value == "fileExists") {
|
||||
if (exp.args.length != 1 && exp.args.length != 2) {
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "fileExists() call has incorrect number of arguments. Takes 1 or 2 arguments"));
|
||||
@@ -640,6 +672,12 @@ function evaluate(exp, workerScript) {
|
||||
if (exp.args.length != 1) {
|
||||
return reject(makeRuntimeRejectMsg(workerScript, "val() call has incorrect number of arguments. Takes 1 arguments"));
|
||||
}
|
||||
var valPromise = evaluate(exp.args[0], workerScript);
|
||||
valPromise.then(function(val) {
|
||||
resolve(val);
|
||||
}, function(e) {
|
||||
reject(e);
|
||||
});
|
||||
} else {
|
||||
reject(makeRuntimeRejectMsg(workerScript, "Invalid function: " + exp.func.value));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user