Mission Editor Factory Orders Tutorial
Factories in the Mission Editor can be given orders as to what units and how many to build. These units can then be given further orders of their own.
Tutorial
Place a factory.
Create a "Give Factory Orders" action in the initial trigger. Selecting no factory group means the orders will be given to the units created in this trigger. Navigate the build menus and add a Glaive to the build queue.
If you try to order units a factory can't build, it will ignore your request.
If you stop here the Glaive will just stand there in front of the factory. Not very useful. Create a new trigger and add the "Unit Finished In Factory" condition. Keep the default settings (nothing selected).
Now create a Give Orders action and select the "Latest Factory Built Unit (Player 1)" group. Place a fight order on the enemy fusions.
If necessary, create a trigger that gives you a resource income.
Now test the mission. A Glaive will be built and will attack the fusions.
What if you want to send waves of units, instead of ordering them one by one?
Add the "raiders" group to the built unit groups in the factory orders screen, and enable repeat mode. The factory will build Glaives non-stop and place them in the "raiders" group.
Change the condition of the orders trigger from "Unit Finished in Factory" to "Metronome Ticks". Set the time between waves to two minutes.
Now select the "Give Orders" action and change the group to "raiders". A fight order will be given to all units in the raider group every two minutes.
Increase the trigger count, otherwise only a single wave will be sent.
Test the mission.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 3.145.99.252
Start request GET /mediawiki/Mission_Editor_Factory_Orders_Tutorial
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
X-ORIGINAL-URL: /mediawiki/Mission_Editor_Factory_Orders_Tutorial
USER-AGENT: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HOST: zero-k.info
ACCEPT-ENCODING: gzip, br, zstd, deflate
ACCEPT: */*
CONNECTION: close[localisation] LocalisationCache: using store LCStoreDB
[session] SessionManager using store SqlBagOStuff
[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info {
"IPAddress": "3.145.99.252",
"UserAgent": "Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; ClaudeBot\/1.0; +claudebot@anthropic.com)",
"ChronologyProtection": false,
"ChronologyPositionIndex": 0,
"ChronologyClientId": false
}[DBConnection] Wikimedia\Rdbms\LoadBalancer::lazyLoadReplicationPositions: executed chronology callback.
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[session] SessionBackend "8odbth5qompeiet054i90e8kpmtil0j5" is unsaved, marking dirty in constructor
[session] SessionBackend "8odbth5qompeiet054i90e8kpmtil0j5" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1713745866", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1713745866", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1713745866", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1713745866", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Mission Editor Factory Orders Tutorial]] are {edit,move}
[ContentHandler] Created handler for wikitext: WikitextContentHandler
[MessageCache] MessageCache using store SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] SqlBagOStuff::lock failed due to timeout for wikidb229-mw_:messages:en.
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[MessageCache] MessageCache::load: Loading en... local cache is empty, global cache is expired/volatile, loading from database
ParserFactory: using preprocessor: Preprocessor_Hash
Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct
[caches] parser: SqlBagOStuff
Article::view using parser cache: yes
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
Article::view: doing uncached parse
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:8f4fc4f49ba9d9330742226c893b5cc3:0)
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:8f4fc4f49ba9d9330742226c893b5cc3:0)
Saved in parser cache with key wikidb229-mw_:pcache:idhash:82-0!canonical and timestamp 20250422003106 and revision id 249
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
MediaWiki::preOutputCommit: primary transaction round committed
MediaWiki::preOutputCommit: pre-send deferred updates completed
MediaWiki::preOutputCommit: session changes committed
MediaWiki::preOutputCommit: LBFactory shutdown completed
Title::getRestrictionTypes: applicable restrictions to [[Mission Editor Factory Orders Tutorial]] are {edit,move}