V1.5.4.4
The main part of this release is a stack of balance tweaks that have been floating around the forum and/or my head. Hover has a few nerfs while some more maligned units were buffed to try to bring them up to a decent strength. Let DaKeys play! Dagger has a damage reduction and the effect on shots-to-kill can be seen in the above image.
There are also a few fixes, mostly related to Planetwars.
Balance
Banisher:
* Reload time 2.3 -> 2.15
Let DaKeys play!:
* Health 1200 -> 1400
For a tank, 1200 health at 550 metal is very squishy.
Dagger:
* Damage 110.1 -> 100.1.
Most raiders have particular amounts of health to leave them unaffected by this change. The exceptions are Scorcher, Pyo, Panther and Kodachi which each take an extra shot to kill. See the release picture for the changes in the number of shots to kill each unit. This is a very Quants Rule change and probably the most extreme before less polarizing changes would be required.
Dart:
* Cost 40 -> 35
Let DaKeys play! Flail:
* Health 1300 -> 950 (it costs 300 compared to Copperhead 550) * Reload time 5.0 -> 5.2
Flail has theoretically poor stats compared to most other AA but they hit a sweet spot and result in a powerful unit. Hence the fairly generic nerf.
Glaive:
* Speed 4.0 -> 3.9 (was 3.8)
The speed buff may have been too much.
Hacksaw:
* Range 420 -> 430 * Missile maneuverability increased by 28% * Missile speed reduced by 5%. * Burst gap 0.7s -> 0.55s
It is hard to test whether Raven can dodge Hacksaw but increased maneuverability and reduced speed should do the trick. A single Raven can still kill a Hacksaw but dies in the process.
Jack:
* Health 5000 -> 6000
Mace:
* Acceleration increased by 27% * Brake rate increased by 20% * Turn rate increased by 30% * Turret turn rate increased by 100% * Range 345 -> 350
A few years ago we saw powerful Mace rush strategies with stats which resulted in nerfs which are now basically undone. The turret turn rate increase is a new change.
Newton:
* Gravity strength increased by 20%
Racketeer:
* Cost 380 -> 360 (was 350)
The recent cost increase may have been a bit extreme. Let DaKeys play!
Roach:
* Removed slow upon unburrowing (20% speed for 0.6 seconds).
Rogue:
* Damage 280 -> 350
This is a fairly crazy change intended to show us what happens if Rogue is powerful.
Scalpel:
* Turn rate reduced by 5% * Ranged 450 -> 440
Scalpel was a bit too powerful. This is a weird nerf that sidesteps the issue of nerfing something that it is notably good at. Range is a fairly important attribute.
Skuttle:
* Jump speed 5.2 -> 6.0
Most Skuttle usage should revolve around getting to the right location. Slow flight time lead to a bit too much randomness in movement prediction and target acquisition times for units such as Defender.
Sumo:
* Gravity strength increased by 20%
Tick:
* Explosion speed increased by about 200% * Edge effectiveness 0 -> 0.4 * Removed slow upon unburrowing (20% speed for 0.6 seconds). * Damage 2000 -> 2500
Planetwars Mechanics
Changed the length of each phase:
* Pick a planet to attack 30 minutes -> 20 minutes. * Defend your planet 10 minutes -> 5 minutes.
These changes are required to counteract the downtime caused by the extra faction.
Let DaKeys play!
* Added a shiny new Spectre weapon impact effect that indicates the approximate direction that the shot came from. * Added a battle information panel to remind players of the context of the planetwars battle that they are fighting. * Added buttons to the global commands bar for toggling the structure/evacuation panel, the battle information panel and the attrition tracker panel (if the widget is enabled).
Fixes
* Removed orbital drop commander, all commanders now spawn at the start of the game. This fixes a bug where late joiners would not receive their double commander. * Fixed mapborder Z-fighting with startboxes. * Fixed planetwars structure ownership not taking planetwars rank into account. Now, for example, the Emperor will always control the structures in the battle unless the owner of the structure is present. This holds for all relations through the command structure of each faction. * Added a minimap brightness override for Obsidian and Onyx Cauldron. Let DaKeys play! * Fixed missing planetwars structures on certain maps.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 3.145.86.241
Start request GET /mediawiki/index.php?oldid=6443&title=V1.5.4.4
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
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.86.241",
"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 "mhi8e8arv0lbfia32mkahmqpcopbfgaj" is unsaved, marking dirty in constructor
[session] SessionBackend "mhi8e8arv0lbfia32mkahmqpcopbfgaj" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1712657976", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1712657976", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1712657976", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1712657976", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[V1.5.4.4]] are {edit,move}
[ContentHandler] Created handler for wikitext: WikitextContentHandler
[MessageCache] MessageCache using store SqlBagOStuff
[localisation] LocalisationCache::isExpired(en): cache for en expired due to GlobalDependency
[localisation] LocalisationCache::recache: got localisation for en from source
[DBQuery] startAtomic: entering level 0 (LCStoreDB::finishWrite)
[DBQuery] endAtomic: leaving level 0 (LCStoreDB::finishWrite)
[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: no
Article::view: doing uncached parse
[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.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:a1aa1af2ea90fd45b206629477cbc1e6:0)
[objectcache] Rejected set() for wikidb229-mw_:page:10:2f3b143b4adbc242ba82724ba11511978f2793e2 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:818:8475 due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:4a77b401c9092d9e706f7bbecab2e978:1)
[objectcache] Rejected set() for wikidb229-mw_:page:10:55fa941bea79a2dda2e61ffb469279c5273c057d due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:58:10085 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:10:1eea3d5309d2a88c1e83cbfafba24489c41a09ad due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:1979:10035 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:3df63b7acb0522da685dad5fe84b81fdd7b25264 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:78:981 due to pending writes.
[ContentHandler] Created handler for Scribunto: ScribuntoContentHandler
[Scribunto] Scribunto_LuaStandaloneInterpreter::__construct: creating interpreter: ""C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes\engines\LuaStandalone/binaries/lua5_1_5_Win64_bin/lua5.1.exe" "C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes\engines\LuaStandalone/mw_main.lua" "C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes" "0" "8""
[gitinfo] Candidate cacheFile=C:\Projekty\zero-k.info\www\mediawiki/gitinfo.json for C:\Projekty\zero-k.info\www\mediawiki
[gitinfo] Cache incomplete for C:\Projekty\zero-k.info\www\mediawiki
SiteStats::loadAndLazyInit: reading site_stats from replica DB
[objectcache] Rejected set() for wikidb229-mw_:SiteStats:groupcounts:sysop due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:file:73af53ccad147c77191d984a0352b7bfb895e391 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:55fa941bea79a2dda2e61ffb469279c5273c057d due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:77:1496 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:690afa83acf2d824b47ef6e809fe02b9ca57d63f due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:11:170 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:cbb9fa252e60809efa55a7ad83aea5438ef56753 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:28:111 due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:a1aa1af2ea90fd45b206629477cbc1e6:0)
MediaWiki::preOutputCommit: primary transaction round committed
MediaWiki::preOutputCommit: pre-send deferred updates completed
MediaWiki::preOutputCommit: session changes committed
MediaWiki::preOutputCommit: LBFactory shutdown completed
[Mime] MimeAnalyzer::loadFiles: loading mime types from C:\Projekty\zero-k.info\www\mediawiki\includes/libs/mime/mime.types
[Mime] MimeAnalyzer::loadFiles: loading mime info from C:\Projekty\zero-k.info\www\mediawiki\includes/libs/mime/mime.info
File::transform: Doing stat for mwstore://local-backend/local-thumb/2/2d/News2185.jpg/1200px-News2185.jpg
TransformationalImageHandler::doTransform: creating 1200x844 thumbnail at mwstore://local-backend/local-thumb/2/2d/News2185.jpg/1200px-News2185.jpg using scaler im
TransformationalImageHandler::doTransform: Transforming later per flags.
Title::getRestrictionTypes: applicable restrictions to [[V1.5.4.4]] are {edit,move}