Changelogs

Changelog 2016-10-13

  • Mineral regeneration mechanics are changed. Mineral regeneration amount is no longer random, but rather depends on a new property called Mineral.density:
    • DENSITY_LOW: 15K amount (10% probability)
    • DENSITY_MODERATE: 35K amount (40% probability)
    • DENSITY_HIGH: 70K amount (40% probability)
    • DENSITY_ULTRA: 100K amount (10% probability).

    It gives the same average value as before this change, but now it is predictable and creates some variety between rooms.
  • In most cases, density is not changed between regenerations. However, there is a 5% chance that it will be changed to a random new density on the next regeneration cycle. For DENSITY_LOW and DENSITY_ULTRA deposits this chance is always 100%.
  • Mineral deposits density is visually observable on the world map using the corresponding display option.
  • Flags count is now limited to 10,000 per player. 
  • When created via the API, flag names are limited to 60 characters (creating via UI is already limited, there was the lack of filtration in the API). Old flags names will be truncated to 60 characters.
  • When remainingAmount property of a market order becomes equal to 0, the order now does not get deleted, but becomes inactive instead. You can call extendOrder and reactivate it keeping the same persistent ID. You must call cancelOrder explicitly in order to remove this order from your list.

Changelog 2016-09-30

  • Game.market.getAllOrders method now supports internal indexing by resourceType. When you provide an object literal filter description, it will work significantly faster:
    Game.market.getAllOrders({resourceType: RESOURCE_UTRIUM}); // fast
    Game.market.getAllOrders({resourceType: RESOURCE_UTRIUM, 
                              type: ORDER_SELL}); // fast
    Game.market.getAllOrders(); // slow
    Game.market.getAllOrders(i => i.resourceType == RESOURCE_UTRIUM); //slow
  • Increased player code length limit from 1 MB to 2 MB.

Changelog 2016-09-26

  • Increased nukers and observers range to 10 rooms.
  • Increased nuke energy cost to 300K.
  • Changed nuke landing damage to structures:
    • 10M damage to the landing position;
    • 5M damage to all structures in 5x5 area.
  • Added new nuke landing effect:
    • If the room is in safe mode, it is cancelled immediately, and the safe mode cooldown is reset to 0.
    • The room controller is hit by triggering upgradeBlocked period, which means it is unavailable to activate safe mode again within the next 200 ticks.
  • When safe mode is active, all hostile creeps become visually transparent and passable - your creeps can move through them freely (but not vice versa).
  • Source Keeper lairs now start a new keeper spawning period immediately as the old one is injured, rather than when it is dead. If the old keeper is still alive in 300 ticks, it disappears and gets removed by the new one.
  • Reduced energy sources capacity in source keepers rooms from 4500 to 4000.
  • Introduced new StructureExtractor.cooldown property. It is triggered on each harvest action, your harvesters have to wait for 5 ticks until the next harvest call is possible (it will return ERR_TIRED result code).
  • Reduced mineral deposit regeneration amounts from 70-140K to 35-70K. Now all minerals (including hydrogen and oxygen) have the same amounts.
  • Reduced labs reaction speed from 10 units per 10 ticks to 5 units per 10 ticks.
  • New NPC market order prices:

 Resource

Sell order priceBuy order price
3.00 Cr 1.00 Cr
6.00 Cr 1.00 Cr
18.00 Cr 1.00 Cr
Energy 1.00 Cr

Changelog 2016-09-16

Introduced new room safe mode mechanics. It will replace room novice walls protection, and allow to arbitrarily safeguard your rooms while you are offline.

Safe mode is enabled on the room controller when a new player spawns in the world initially. It also can be triggered by any player manually using either the StructureController.activateSafeMode() method, or the button in the controller UI. When activated, it blocks attackrangedAttack, rangedMassAttackdismantle, heal, rangedHeal, attackController and withdraw methods of all hostile creeps in the room.

Only one room can be in safe mode at the same time. Safe mode period lasts for 20,000 ticks. It cannot be activated again during the 50,000 ticks cooldown period. But in Novice Areas, there is no cooldown at all.

In order to activate safe mode you spend available activations (StructureController.safeModeAvailable property). You obtain one activation on each controller level upgrade, and also can generate it by Creep.generateSafeMode() method using 1000 ghodium resource.

If the controller is downgraded, it loses all its available safe mode activations, and triggers the cooldown period.

Changelog

Changelog 2016-09-05

The Market system has been deployed.

Changelog 2016-07-22

  • Added new public option to Creep.say method. You can set it to true to allow other players to see the message.
  • CPU cost of Creep.say method is set to NONE.
  • Added new Creep.saying property that can be used to read the message at the last tick, even by other players.
  • Moving onto exit tiles now doesn’t generate any fatigue regardless of creep movement capabilities.
  • It is now possible to build spawns and extensions near energy sources.

Changelog 2016-07-18

  • Changed downgrade timers for different Room Controller levels (CONTROLLER_DOWNGRADE constant):
    • RCL1: 20,000 ticks
    • RCL2: 5,000 ticks
    • RCL3: 10,000 ticks
    • RCL4: 20,000 ticks
    • RCL5: 40,000 ticks
    • RCL6: 60,000 ticks
    • RCL7: 100,000 ticks
    • RCL8: 150,000 ticks
    This affects only controllers downgraded after the patch. The current timers are not changed.
  • Fixed a bug in PathFinder module related to incorrect pathfinding near room borders in rare cases.
  • RoomPosition.lookFor(LOOK_TERRAIN) now returns an array with a single element as documented.
  • Fixed an issue in the simulation that caused ticks slow down over time. Please report if you still experience this issue.