Up to Main Index                              Up to Journal for July, 2022

                      JOURNAL FOR FRIDAY 15TH JULY, 2022

SUBJECT: Combat update with armour and weapon damage
   DATE: Fri 15 Jul 20:09:39 BST 2022

TL;DR: New combat system pushed out to the public dev branch.

Two weeks ago WolfMUD v0.0.20 was released. Since then I've been working on
the combat system. The plan was to add armour and damage as:

        Armour: 10 FIRE→-5 PIERCING→5
   DamageFixed: 2  POISON→2
  DamageRandom: 4  FIRE→2

The idea was to cater for different types of damage and to allow armour to be
more or less effective depending on the type of damage sustained. Splitting
the fixed and random damage seemed the easiest and quickest way forward. I
implemented the changes, documented the new attributes and updated the zone
files. Everything was done and ready to go - but I hated it :( Specifically I
hated the fixed/random damage split.

What to do? I could have left it “to be fixed later”, but that would have been
a right mess to deal with. I rewrote the changes, rewrote the documentation
and reworked the zone files. I now had the solution I originally wanted:

  Armour: 10 FIRE→-5 PIERCING→5
  Damage: 2+4 POISON→2 FIRE→0+2

Damage can now be expressed as a double integer value: FIXED±RANDOM

For example 2+2 represents 2 points of fixed damage plus 1-4 points of random
damage. This is similar to a common dice notation used in tabletop RPGs. In
dice notation this would be expressed as 1d4+2.

I have gone through the zone files and added armour and damage to all mobiles
and items where appropriate. If your character already has some weapons and
clothing you'll need to go trade them in for the new versions. Mobiles in the
zone files have been updated to reduce the health regeneration rate. The zone
files also have some additional improvements and clean-ups applied.

It is now possible to put Armour and Damage attributes on players, mobiles and
items. Currently the changes do not cover damage types.

For the moment I have left a #EVAL debugging command in. It evaluates the
player against an opponent:

  Hrm... 40:46, 14:15, 89.9045%
  Hrm... 40:46, 33:45, 57.7261%

The first pair of numbers "40:46" is the player's attack and defense scores,
the second pair are the opponent's scores. The percentage at the end is the
chance of hitting the opponent. If you just want to check your scores you can
use '#EVAL SELF'.

Changes are now out on the public dev branch in time for the weekend ;)


  Up to Main Index                              Up to Journal for July, 2022