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