A significant refactoring of combat code, by Cryp71c, has recently been merged into master. This is a call for testing and bug-hunting, in preparation for .10 release. The changes are live in development builds and on the servers (the testing versions).

List of significant changes for the Unified Combat Control branch:

  1. Capitalization of words is performed automatic (done by Kilobyte, altered by SamB)
    • Instead of passing an explicit capitalization (NOCAP or CAP) to the mprf system, mprf determines automatically whether capitalization is necessary.
  2. Fight rewrite
    • Restructuring of combat into phases
      • Attempted
        • Hit
          • Damaged
            • Defender Killed
        • Dodged
        • Blocked
      • End
  3. Merging of player / monster codepaths
    • This comprises the bulk of the rewrite and will be subject for continued (numerous) changes in the future. Some codepaths are not entirely unified because doing so would require symmetry between players and monsters in regards to how a particular effect is handled (weapon brands, spells, etc. etc.)

List of things for players to be aware or mindful of for bug-reporting purposes

  1. Out-of-order combat messages (especially as they relate to weapon brands)
  2. Combat messages which leak otherwise unknown information
  3. Unusual sanctuary behavior
  4. Unusual messages or behavior on the last turn of combat (when the monster is killed)
  5. Brands, spell effects, or mutations which consistently do not result in a noticeable effect
  6. Weapon effects or behavior which do not appropriately result in god-affects
    • Examples include using speed weapons with Chei, attacking dishonorably while worshiping TSO
  7. Capitalization errors in combat text
  8. Missing combat effects (from uniques or from specific player-races)
    • Examples include vampire-specific effects for players, or Maurice’s “thieving” attacks

Report bugs here! Thank you in advance!