Overview
What were the notable changes between each version? And how do you detect exactly which version your script is running in?Ready made specific version detection: version.js.
Key: Removed/Missing, Added, Buggy, Deprecated but present, Updated
Trivia: Per first announced the JS API back in April 2011!
Warzone 3.1
Warzone 3.1 brings some major improvements over earlier releases, in particular a fully functional JS API.
3.1 Alpha releases
The JS API started getting used by developers during the MASTER snapshot releases in late 2011 and early January 2012.
There were a significant number of changes in the alpha releases. It's recommended that you base your scripts on Warzone 3.1 Beta 1 and above to avoid adding lots of cruft to your code.
3.1 Beta 1
This was the first major release in which the JS API gained popularity. In particular a large number of events were added, and API features relating to cyborgs were significantly changed.
A bug in pickStructLocation(), relating to positions returned for cyborg factories, was fixed.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
DROID_CYBORG_CONSTRUCT DROID_CYBORG_REPAIR DROID_CYBORG_SUPER DROID_DEFAULT LASSAT | version | not investigated yet |
The effects of these changes were so profound that Javascript AIs (namely NoQ's NullBot) became more effective than the existing WZScript AIs such as Nexus and Semperfi.
3.1 Beta 2
Beta 2 made the JS API much more robust by fixing some bugs, adding some new stuff and deprecating some badly named old stuff.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | not investigated yet |
This website was started and the major project of writing detailed documentation for the JS API began.
3.1 Beta 4
Beta 3 was not released due to some serious bugs, so we skipped to Beta 4.
The version global was standardised across platforms, it's value being fixed to 3.1. Previously, on Mac OS X version returned "TRUNK".
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | version | not investigated yet |
Realising the API was going to undergo more changes in the future, the Backport project was started.
3.1 Beta 5
Beta 5 fixed a long-term issue with save games, but introduced a new bug in multiplayer games.
A new DROID_SUPERTRANSPORTER constant was added, allowing easy differentiation between cyborg and tank transports. Prior to 3.1 Beta 5, it's recommended to avoid using transporters.
The DORDER_RECOVER code was fixed so AI players are now able to pick up oil barrels and artefacts when specifically instructed to do so.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
DORDER_RECOVER fixed | No changes | No changes | No changes | No changes |
3.1 Beta 6
Beta 6 was released a day after Beta 5, in order to fix a serious multiplayer bug.
There were no other changes between Beta 5 and 6. Nothing at all changed in the JS API.
3.1 Beta 7
The BEING_DEMOLISHED constant was removed after it was discovered it wasn't actually used at all in the main WZ codebase.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | No changes | No changes |
3.1 Beta 8
The enableTemplate() function was added, allowing production of DROID_CONSTRUCT prior to building a HQ (for human players). It's used in rules.js.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | No changes | No changes | No changes |
3.1 Beta 9
No changes in the JS API.
3.1 Beta 10
No changes in the JS API.
3.1 Beta 11
Two new constants were added: PLAYER_DATA (value 7) and RESEARCH_DATA (value 8). For reference, the numeric values are 6 for AREA and 5 for POSITION.
With the exception of pickStructLocation() (see 3.1 RC3 for update), all JS API features that return an Area object, Position object, Player object or Research object now have a .type property that has the relevant constant as it's value. This change affects functions such as label(), getResearch(), etc., and globals such as startPositions and derrickPositions, etc.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | No changes | No changes | No changes |
3.1 RC 2
Note: 3.1 RC 1 was skipped due to some major bugs.
The getDroidLimit() function was added.
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | No changes | No changes | No changes |
3.1 RC 3
The pickStructLocation() function now returns a full Position object (it has a .type property set to POSITION).
Constants | Events | Functions | Globals | Objects |
---|---|---|---|---|
No changes | No changes | No changes | No changes |