Important Notes on Build 31 (report bugs and ask here)
The MOID limit is now 65535 but for backward compatibility the rte.NoMOID constant is still 255. Whenever you wrote ‘something < rte.NoMOID’ or ‘something < 255’ to test if MO ID is valid, now you must write ‘something ~= rte.NoMOID’ or ‘something ~= 255’ because now we have more MO IDs than 255.
Although the MOID limit is 65535 (and can be easily moved to over 4 billions) you should still control how many MOIDs are present in the simulation or you’ll face the usual performance problems. It’s just breaking the limit does not break the game anymore, but everything else about MOIDs and their performance impact is pretty much the same.
We moved to LuaJIT from Lua which implements Lua 5.1 and might bring some incompatibilities with Lua 5.0 compliant code. I’ve noticed this just once, and it was quite an esoteric problem, but those incompatibilities still exist, I warned you.
CC will do it’s best to avoid switching itself to unsupported video mode, but this still can happen.
You can press Ctrl+W and save the entire scene to BMP. Peeking at this BMP when playing with fog of war is still cheating.
AI skill ‘Unfair’ is really unfair and was intended to be unfair. This is for those who needs just a single dummy with a shovel to win a skirmish defense. If it’s too much for you, just play with normal or weak AI’s.
In Build 31 we introduce a bunch of new entities:
Bunker assembly - is a set of bunker modules, which acts as a single bunker module in the editor.
Bunker assembly scheme – is an object, which is replaced by any corresponding bunker assembly randomly when activity starts. Blue squares indicate passages, red squares can and most probably will be used by bunker modules, orange may be used by bunker modules or stay empty, they must be placed outside of terrain. You can mix bunker modules, assemblies and schemes the way you like.
Metascene – an alternative scene which can be loaded by campaign instead of it’s parent scene. For example we have a scene Vesod Plains and a bunch of metascenes for which Vesod Plains is a parent. When selecting sites, campaign can use Vesod Plains or any of it’s metascenes for an actual scene of the site (dot on the map) named Vesod Plains, and you never know which one is used until you observe the scene yourself. All vanilla metascenes define different layouts for AI-built bunkers while keeping everything else the same, but you can make your metascenes completely different if you want to. Metascenes are hidden from editors unless you set ShowMetscenes=1 in settings.ini.
Global script – a script similar to an activity, which runs with along with every GAScripted activity. Global scripts may change behavior of an activity, ruin balance, bring fun or instability or both, so be careful. Want to spawn a piano and a bunch of laser-sharks in the sky every 10 seconds? You can do this with global script without messing with vanilla activity code.
Currently only campaign uses metascenes, you can simulate this behavior with Lua in your mod for scripted activities if you really want to.
You can extend the campaign experience by adding your own bunker assemblies or metascenes. CC will use player’s assemblies along with vanilla when creating randomized bunker layout.
Global scripts work only with GAScripted activities, and they won’t work in Test or Tutorial activities as those are custom, not GAScripted, activities.
All global scripts must be enabled manually via built-in Mod Manager in order to work. This is intentional to avoid pranks, which may look like bugs for unexperienced players.
There’s a small hook to somewhat extend the campaign experience which allow you to give orders to AI units in metafight instead of default script. You’ll want to use that if you’re 100% sure that you can make AI give better orders to it’s units during metafights (and not break the game while trying to do so). For an example on how to do that refer to Base.rte\Scripts\MetaFightBehaviorExample.lua.
Build 31 Lua ChangesBuild 31 INI Changes