Looking for info on the NEXUS faction in the game? It's in the Warzone Encyclopaedia
Fn Subroutines
Aubergine
Purpose
There are many common coding tasks when writing AIs or other scripts for Warzone. It would be good if there was a way to share and re-use common code...
Fn subroutines are basically small helper functions, that perform some common task (such as finding a free truck, or building an oil derrick).
A selection of ready-made Fn subroutines can be seen to the right.
Build your own
A Fn subroutine defines a new function on the NEXUS.fn object.
The NEXUS.fn object is just a shortcut to the prototype of NEXUS, meaning that anything you add there will be accessible from all NEXUS instances.
Your Fn subroutine should be structured like this:
NEXUS.fn.myFunc = (function() { // ///////////////////////////////////////////////////////////////// // PRIVATE VARS var chimp = "hairy"; // just an example :p // ///////////////////////////////////////////////////////////////// // PUBLIC HELPER FUNCTION var myFunc = function(params) { // your function code goes here return whatever; // return some meaningful value } // ///////////////////////////////////////////////////////////////// // PRIVATE FUNCTIONS var isFoo = function(foo) { // just an example :p return (foo != "bar"); } // return your helper function return myFunc; })();
If you want to be super-helpful to other people looking at your code:
- Make it easy to understand!
- Document your functions, with examples
File name convention
Fn subroutines use the following naming convention: "NEXUS.fn_Whatever.js", where "whatever" is the name of your helper function or something that describes your bundle of helper functions.
Subroutines
Absorb:
Memory Banks
Observe:
- Classify Subroutines — Generates an "Object Key".
- Fn Subroutines — Shared helper functions.
- Infiltrate Subroutines — Hook in to external events and functions.
- Process Subroutines — Process an "Action Object".
- Suffix Subroutines — Add a suffix to Task IDs.