class DB3:public DBCOMMON // An actuator (pressure pad, keyhole, etc.)
{
i16 word2; // bits 0-6 = Actuator Type
// 0 = Do nothing
// 1 = A simple wall switch that
// can be pressed with anything.
// 2 = ?
// 3 = Lock. Keys stays in hand
// 4 = Lock. Key removed from hand.
// 5 =
// Byte 8 (position) of Timer6 is bit number.
// Bits 7-15 are value. Bits in this value
// are Set/Cleared/Toggled by Timer6.
// "position" of timer6 tells which bit to
// fiddle with.
// Actuator is 'pressed' when bits 7-10 are
// equal to bits 11-14. (The first 4 bits of
// value equals second 4 bits).
// 6 =
// In a closed (stone) room
// Bits 7-15 are a 9-bit counter. A SET
// function increments and anything else
// decrements the counter. You cannot change
// a counter that equals zero. (Why?)
// The actuator is considered 'pressed'
// if the count is non-zero.
// In an open room this is a monster generator
// and is actuated by a timer event type 5.
// word 6 bits 8-15 non-zero causes once only.
// If >= 128 then a type 65 timer
// is queued to go off at
// 64 * ((word 6 bits 8-15)-126)
// (I presume to reactivate generator!).
// 7 = ?
// 8 = In open room:
// Operated only by party. Value is
// an OBJECTTYPE that we search for in the
// party's possessions. Actuated if party
// possesses such an object.
//
// In Stone: A missile launcher.
// Value = 0 Fireballs
// 9 = ?
// 11 = Lock. Key removed from hand.
// 14 =
// When a timer of type 6 is sent to
// an actuator of type 14 then the first
// object at the proper position in the same
// room as the actuator is removed
// from the room and launched as a missile
// in the adjacent room.
// 15 =
// When a timer of type 6 is sent to
// an actuator of type 15 then the first two
// objects at the proper position in the same
// room as the actuator are removed
// from the room and launched as missiles
// in the adjacent room.
// bits 7-15 = value
i16 word4; // bit 2 = causes bits 1-6 of word 2 to be cleared. "Once only"???
// bits 3-4 Action when switch changes state
// 0=set when closed
// 1=clear when closed
// 2=toggle when closed
// 3=set when closed, clear when opened
// bit 5 = 0=normally open; 1=normally closed
// bit 6 = make click sound
// bits 7-10 = delta time (or number of monsters+1)
// For a monster generator, a value with bit 3
// set means to generate a random number modulo
// bits 0-2.
// bit 11 = Local action only. Like increase
// skill.
// bits 12-15 = wall graphic index+1
i16 word6; // (if word4 & 0x800)
// bits 4-15
// (if ! word4 & 0x800)
// bits 4-5 position????
// bits 6_10 =mapX
// bits 11_15 =mapY
// bits 4-7 hitPoint multiplier (Monster Generator)
// bits 4-11 energy remaining in missile
// bits 8_15 disable time (Monster Generator)
// bits 12-15