Changelog 2016-02-19

  • NPC Invaders system has been deployed. Learn more in this article.
  • Introduced new PathFinder module. 

    This module has been created by Marcel Laverdet (aka The_General) and has the following features:

    • It is implemented in fully native C++ code and makes use of JPS algorithm which drastically improves performance.
    • It contains hardcoded terrain data for all the world rooms. The search can span multiple rooms even through rooms you can't see, although you won't be able to detect any dynamic obstacles like creeps or buildings.
    • You can use CostMatrix instances to modify move costs for certain positions during the search.

    This module is experimental and disabled by default. Run PathFinder.use(true) in order to enable it in the game methods.

  • Added new options to Room.findPath method:

    • costCallback
    • ignoreRoads
    • maxRooms
    Options ignore and avoid cannot be used when the new PathFinder is enabled. Use costCallback option instead.
  • Added Flag.secondaryColor property. Methods Flag.setColor, Room.createFlag, RoomPosition.createFlag are changed accordingly.
  • Added Structure.isActive and Spawn.isActive methods.
  • Method Spawn.canCreateCreep can now return ERR_RCL_NOT_ENOUGH.
  • Added method Map.getTerrainAt.
  • Method RoomPosition.lookFor('terrain') now works even if you have no access to the room.
  • Walls maximum hits at RCL<2  is reduced to 0 so that they cannot be repaired.