I'm currently in the process of updating the Enhanced SitRep mod to work on Warzone 3.1 RC 3. It adds much better game situation reporting, with a bunch of custom messages and so on (see the topic for more info and, soon, a new release).
I wanted to create this topic to get some feedback of some future plans I have for the mod. My ultimate hope is that it will eventually become a standard part of Warzone (3.2 branch or later) and I want it to be flexible from a map-modding perspective.
The mod is essentially a custom rules.js that's been extended to do a bunch of additional stuff, and then split in to several small JS files to allow granular modding by map makers.
Of course, map makers can already bundle their own custom rules.js (I assume?) so why would anyone want to use my version instead? Well, one of the drawbacks I foresee is that if rules.js in Warzone changes, you'd have to go round editing/updating all your maps which will be a real PITA. But, if you can just override bits of rules.js, sort of editing it's "settings" without the need to change the bulk of its code, your map-mods would be much more resilient to changes in the game's version of rules.js.
As I mentioned there's a bunch of small js files that can be overridden, they are currently:
- multiplay/skirmish/rules.spectators.js // Define which players on the map are spectators
- multiplay/skirmish/rules.init.enableStructures.js" // Structrues to enable for all players
- multiplay/skirmish/rules.init.enableComponents.js // Components to enable for all players
- multiplay/skirmish/rules.init.enableTechnologies.js // Technologies to enable for all players
- multiplay/skirmish/rules.init.structureLimits.js // Structure limits for all players
- multiplay/skirmish/rules.init.baseType.js // Effect of baseType setting for all players
- multiplay/skirmish/rules.init.humanPlayer.js // Additional set-up for localhost human payer
- multiplay/skirmish/rules.init.spectatorPlayer.js // Additional set-up for spectator players
- multiplay/skirmish/rules.report.msg.js // Situation reporting taxonomy (report definitions)
- multiplay/skirmish/rules.victory.js // Victory conditions and "is player alive" determination
Player set-up
Modding the scripts above will allow everything from starting techs to base type effects to be customised via a map-mod, for all players, the localhost human player and spectators.
Spectator support
I know there's issues with implementing full spectator support currently, but in 3.2 there's new JS API features that might make life a lot easier.
For example, spectator players could have all their buildings/units automatically removed and a sat uplink placed at their starting position so they can see whole map.
Also, they can be excluded from game victory conditions so they don't ever see a "game over" message.
Victory conditions
Over the past year I've seen people requesting things like:
* King of the hill type games
* Ability to have a "best of 3" type match
* Ability to "restart/reset the map" without exiting the game
* Tower-defence type scenarios
I perceive that these things could be handled, in the WZ 3.2 branch, via custom victory conditions, etc.
Situation reporting
The SitRep mod has a customisable taxonomy that makes it pretty easy to create new situation reports - eg. audio messages, console messages, etc.
This would enable custom reporting to be added to your maps, eg. you could override the main taxonomy (rules.report.msg.js) or just make small tweaks to it (via rules.victory.js).
The SitRep stuff is based on game events. Each time an event is triggered it gets "transcribed" in to a string (eg."objectSeen.defense.antiair.Enemy") and that's used to find an appropriate situation report object in the rules.report.msg file.
As well as being able to play audio and stuff like that, javascript functions can be triggered as well - so you can do all sorts of crazy stuff if you want to. (Note: Currently only from perspective of localhost human player, but I'm working on some other stuff that will allow this stuff to be used in AIs, etc).
Feedback wanted
So, basically I'm looking for any feedback you might have as a map maker. What sort of things would you want to mod, how would you want to mod them, what are use cases / requirements, etc? I'm keen to tailor this mod to your needs (:


