Dungeon Master - Chaos Strikes Back Documentation

The pushbuttons, pressure pads, counters, etc. that are used in DM/CSB all have pretty much the same format and flags but their operation at runtime is very different and depends on special cases in the code.  All of these devices have been named actuators (by yours truly).  I have tried to outline the actual operation of each kind of actuator in the form of a sort of flowchart.  Actuator Documentation

All of the action (opening doors, moving monsters, etc) in DM and CSB is operated by Timers.  When you press a switch, a timer is created.  A timer has a 'Target' cell (Level, X, Y).  A Timer has a 'Timer Type' which depends on the type of cell (Trick Wall, Door, etc.) at its target.  A timer has an 'Action' (Set, Clear, or Toggle).  Here are diagrams of the various Timer Types:


Monsters in DM/CSB move about and respond to the party in rather complex ways.  I have started a project to understand monster AI.  Complete understanding will probably always elude me.

Many people have asked about how to calculate the damage done when the party attacks a monster.  Recently, a bug in the original Atari code caused me to look into this matter a bit deeper.  The result is in Attack Computations.

The computation of attack damage, throwing distance, etc. almost always depend upon the 'Mastery' of some skill.  The function DetermineMastery ( ) is described here.

When a champion gains experience ( by attacking a monster, for example ), rather complex computations take place to determine the amount of experience to be added and to what skill or sub-skill the experience should be added. After all of that has been determined, a function named AdjustSkills is called with the experience points as a parametere. AdjustSkills does some more computations and adds the experience to th appropriate places ( skills and sub-skills ) and then calls another function named 'LevelUp' if a new level has been reached.  An Adjust Skills Filter capability is also described.

The DM/CSB clock is described here.

The Palettes are described here.
Discussion of Portrait Text here.
Reincarnation versus Resurrection is described here.
A Viewport Overlay Capability is described here.
A Custom Graphics Capability is described here.
An 'Alternate Monster Graphics' Capability is described here.
An Extended Wall Decoration Capability is described here
An Extended Floor Decoration Capability is described here



A Spell filtering Capability is described here
A Monster Attack Filter Capability is Described here
A Party Attack Filter is described here
A Feeding filtering Capability is described here
A Monster Movement Filter is described here.
A Delete Monster Filter is described here.
A Viewing Filter is described here.
A Sound Filter Capability is described here.
A Cursor Contents Filter is described here.
An Attack Option Name Filter is described here.
A Character Death Filter is described here.
An Equip Filter is described here.
A Missile Encounter FIlter is described here.
A Party Move Filter is described here.
A Damage Character Filter is described here.

DSA (Designer Specified Actuators) are discussed a bit here.
A CSBuild DSA example is described here.  It is a little bit complicated but it shows off a LOT of function.

A compressed copy of all the documentation.

I would love to have help/company in these endeavors. 



Paul Stevens
name = prsteven
domain = facstaff.wisc.edu