Monday, 21 September 2009

Refactoring Progress #4

UnitEngine.pas, which is one of the biggest source files, with almost 6000 lines of code, has finally been fully refactored. That means out of a grand total of 25500 lines of code, some 15000 lines have been refactored.

The largest remaining source code files to be updated are UnitDungeon.pas and UnitDisplay.pas (with 4000 lines each),

Leaving aside the larger changes in the next version that I've already talked about (potions, scrolls, corpses, keyboard controls and so on), the following smaller changes have been made to the current dev version (mainly as a result of repeated playthroughs and the refactoring picking up bugs):
  • Characters that do not know any magic can no longer access the spell screen.
  • Fixed a few minor spelling mistakes in the character dump and a few layout mistakes on the high-score screen.
  • When digging a reminder is now displayed of the keys used.
  • Drinking from fountains now uses a turn up.
  • Sneak attacks are now flagged in the message log.
  • Thieves now get extra sneak-attack damage when using ranged weapons.
  • The thievery skill now grants a chance to open and close doors without allowing monsters to react.
  • Monsters that are carrying items no longer have their items disappear on death when killed in ranged combat.
  • The change in 0.03 to not display messages upon opening and closing doors has been reversed.
  • Trying to open or close doors when there are no doors in range will produce an appropriate message in the message log.
  • Opening doors as part of movement will now cause a turn to pass.
  • Tunnelling now takes only half as long.
  • Tunnelling now displays a message indicating if it has been aborted due to nearby monsters.
  • Attempting to tunnel through impassable walls now doesn't use up any time.
  • Trying to dig on the town level results in a warning message.
  • Walking into walls now uses up a turn.
  • Trying to pick up an item with a full inventory no longer gives the message that an item has been successfully picked up.

No comments: