Cloak
Cloaking makes your units immune to detection by sight and radar, which amounts to near perfect invisibility when dry; however, submerged and swimming units can still be detected by sonar even if cloaked.
Cloaking will fail to work in the following conditions:
- The unit takes damage. After a few seconds of taking no damage, the cloak will reactivate again. Damage-over-time effects (like being on fire or in acidic water) will prevent cloak from reactivating for an extended period.
- An enemy unit comes within proximity of the cloak. After a few seconds of no proximate enemies, the cloak will reactivate again.
- Insufficient energy to power the cloak.
- The unit is attacking or using buildpower. This includes reclaiming and repairing. An exception to this rule is the Phantom, which is the only unit that can remain cloaked while attacking.
- The unit is stunned or disarmed.
- The unit walks into range of a sonar-equipped enemy while being in water. This does not decloak the unit, but it will be visible as a radar dot.
Personal Cloakers
Some units come equipped with a personal cloak. Their cloak costs a small amount of energy to maintain while stationary and a greater amount of energy while moving. These units are good for sneaking past heavy defenses to reach valuable economic targets at the back of the enemy base. They are also great for spying on enemy positions without being seen.
- Personal cloak is disabled for 3 seconds after taking damage or performing an action.
- Personal cloak disabled by enemy proximity remains disabled for 1.5 seconds.
Area Cloakers
Area Cloakers (Cornea, Iris, Commanders with Area Cloak module) will render most units inside the cloaking radius invisible. Any other cloak-capable units that have their personal cloak on while inside the radius will not cost any energy to power their personal cloaks, and there is no additional cloak cost for moving, either. This can lead to a potent boost to your economy if you use this feature to negate the cloaking cost of several high-maintenance units, like Skuttles or an Ultimatum.
Units receive a standardized decloak radius when affected by area cloak. This is most useful for Skuttles and other walking bombs, as they can sneak much closer to enemies without their usual instant discovery. Of course this combination has other vulnerabilities, as an area cloaker must be nearby. The decloak radius change is not applied to units which are actively area cloaking. The large decloak radius of Iris cannot be mitigated.
All structures aside from Cornea (the Area Cloaker building) are not affected by area cloak. It is also impossible to cloak any shield-projecting unit such as Thug, Felon, Convict and Aspis. A personal cloak module has no effect on a shield-projecting Commander.
Area cloakers come with a jammer. This can be useful to conceal bases from radar even though they cannot be cloaked. The mobile version can help to hide and reposition armies stealthily.
- Area cloak is disabled for 5 seconds after taking damage or performing an action.
- Area cloak disabled by enemy proximity stays disabled for 2.5 seconds.
Stats/Specifications
Energy Usage chart
All cloak-capable units (save Fleas, Blastwings and crawling bombs) require a nominal energy upkeep to maintain their cloak.
Unit | Stationary cost | Moving cost |
---|---|---|
![]() |
Free | Free |
![]() |
0.2 | 1 |
![]() |
2 | 5 |
![]() |
5 | 15 |
![]() |
8 | 24 |
Unit | Stationary cost | Moving cost |
---|---|---|
![]() |
Free | Free |
![]() |
1 | 5 |
![]() |
2 | 10 |
![]() |
5 | 15 |
Unit | Jammer cost | Self-cloak cost | Field cost |
---|---|---|---|
![]() |
1.5 | 1 | 12 |
![]() |
1.5 | Free | 15 |
Commanders are also able to cloak and jam by installing relevant modules.
Unit | Stationary cost | Moving cost |
---|---|---|
![]() |
5 | 10 |
![]() |
15 |
Decloak Radius chart
Any units not listed here are assumed to have a decloak radius of exactly 75 elmo. Radii larger than 75 will be set to 75 when affected by an area cloaker.
Unit | Radius |
---|---|
![]() |
155 |
![]() |
60 |
![]() |
180 |
![]() |
120 |
![]() |
80 |
![]() |
125 |
Unit | Radius |
---|---|
![]() |
125 |
![]() |
150 |
![]() |
210 |
![]() |
100 |
![]() |
130 |
![]() |
150 |
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 18.188.60.244
Start request GET /mediawiki/Cloak
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
X-ORIGINAL-URL: /mediawiki/Cloak
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": "18.188.60.244",
"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 "jb9nfadpmpogqepqp38ib66gvuqqsjfg" is unsaved, marking dirty in constructor
[session] SessionBackend "jb9nfadpmpogqepqp38ib66gvuqqsjfg" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1711647365", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1711647365", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1711647365", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1711647365", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Cloak]] 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
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
Parser cache options found.
[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
ParserOutput cache found.
Article::view: showing parser cache contents
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 [[Cloak]] are {edit,move}