Defence is a handler, not a process
Defence is a handler, not a process

I copied gerlshmud_handler_defend from gerlshmud_handler_attack but an
attack is a separate process that runs and manages an attack.
gerlshmud_handler_defend is an event handler on a piece of defensive
gear or a weapon that can also defend (e.g. parry with a sword).

I'm slowly moving towards offensive moves setting off one or more
effects and then having the effects ... take effect. :)

Each attack will have one attack type for the purpose of calculating the
hit roll. Defensive processes (e.g. attributes, spells, weapons, armor,
etc.) will determine if they can dodge the attack altogether using the
attack type.

Once it's been decided that the attack landed, then the defensive
process will defend against any applicable effects (e.g. fire, stunn,
blunt_force, etc.)

I'm using "roll" and "base" to calculate the random numbers for attacks
and defences. "Roll" is a pseudo random number between 1 and Roll. Base
is the minimum Roll. Base and Roll can both be zero. Currently that
makes sense for cases where a defensive process cannot defend against a
particular attack.

cwmaguire/erl_mud,cwmaguire/erl_mud,cwmaguire/erl_mud