Skip to content

Release 1.4.4

Compare
Choose a tag to compare
@kant2002 kant2002 released this 07 Sep 12:19
· 15 commits to master since this release

the Bruce bugs

The bugs found by Bruce Nielsen (Locutus) and related fixes.

  • BuildingManager::validateWorkersAndBuildings() copied building objects unnecessarily.
  • BuildingManager::cancelQueuedBuildings() and BuildingManager::cancelBuildingType() unsafely deleted buildings from the _buildings vector while looping through it.
  • Squad::releaseWorkers() had a similar deletion bug.
  • MapTools::nextExpansion() had a typo that caused it to do a check with the wrong coordinates.

other code changes

  • UnitUtil::GetAttackRange() and UnitUtil::GetAttackRangeAssumingUpgrades() mistakenly returned the weapons range of a reaver or a carrier as 8 pixels, rather than 8 tiles (8 * 32 pixels). “We’re perfectly safe at this distance, folks!”
  • I am reworking DistanceMap as the foundation of a range of classes that keep a number for each tile of the map. A new base class Grid provides the basic data structure, initialization to a constant value, and lookup. DistanceMap is renamed to GridDistances. I wrote a new class GridAttacks as a start on a kind of influence map; some code is there, but it is not yet tested or used, so exercise care.
  • Removed the unused BuildingData class, and the unused method MicroManager::calcCenter().
  • Removed more unnecessary includes.

zerg

  • If an expansion hatchery fails to build, the building manager turns it into a macro hatchery instead. It prevents Steamhammer from sending drone after drone to expand and losing them all. It’s a low-level trick instead of the high-level tactical safety analysis that should be done, but it’s simple and it works moderately well.
  • Versus protoss, count only corsairs, scouts, and carriers as reason to make devourers. Steamhammer played a game in which it made devourers to combat the enemy’s large number of observers. “I know how to beat that plan!”
  • On 2 player maps, increase the chance of playing rush-safe ZvZ openings. Also rejiggered fast pool chances (suggestion by Antiga). A number of other probabilities are adjusted, mostly to make more diverse choices so that learning has data to work with.

Official press-release: http://satirist.org/ai/starcraft/blog/archives/594-Steamhammer-1.4.4-change-list.html