Prev: EB67 Up: Map Next: EC2E
EB8C: Table of Addresses of Script Handling Routines
One word per script opcode from 00 to 50. Used by AdvanceScriptInstruction.
Opcode Handler Meaning
00 Unused Unused
01 ScriptRoutine_JumpToAddress Load script address
02 ScriptRoutine_MoveLeft Move left one character
03 ScriptRoutine_MoveRight Move right one character
04 ScriptRoutine_MoveUp Move up one character
05 ScriptRoutine_MoveDown Move down one character
06 ScriptRoutine_MoveLeftTwo Move left two characters
07 ScriptRoutine_MoveRightTwo Move right two characters
08 ScriptRoutine_MoveUpTwo Move up two characters
09 ScriptRoutine_MoveDownTwo Move down two characters
0A ScriptRoutine_ResetDirectionFlags Reset direction flags
0B ScriptRoutine_FaceRight Face right
0C ScriptRoutine_FaceLeft Face left
0D ScriptRoutine_FaceUp Face up
0E ScriptRoutine_FaceDown Face down
0F ScriptRoutine_PutDownCarried Put down carried entity
10 ScriptRoutine_FaceLeftAfterPutDown Face left after put-down
11 ScriptRoutine_FaceRightAfterPutDown Face right after put-down
12 ScriptRoutine_PlacePutDownLeft Position put-down entity left
13 ScriptRoutine_PlacePutDownRight Position put-down entity right
14 ScriptRoutine_PickUpHeld Pick up / restore held entity
15 ScriptRoutine_JumpIfCarrying Jump if carrying
16 ScriptRoutine_StartDruttScript Start Drutt script
17 ScriptRoutine_MoveHeldUpOneRoom Load script parameter into A
18 ScriptRoutine_StartLoop Start loop
19 ScriptRoutine_ContinueToNextInstruction Continue to next instruction
1A ScriptRoutine_OpenTrapDoor Open trap door
1B ScriptRoutine_AnimateTrapDoorBerk Animate trap door
1C ScriptRoutine_CloseTrapDoor Close trap door
1D ScriptRoutine_SetLatchRaiseEvent Set event flags after interaction
1E ScriptRoutine_BerkDoorInFront Berk interact with door ahead
1F ScriptRoutine_BerkDoorBehind Berk interact with door behind
20 ScriptRoutine_BerkOpenDoorInFront Berk open door ahead
21 ScriptRoutine_StartScriptLoop Start counted script loop
22 ScriptRoutine_EndScriptLoop End script loop
23 Unused Unused
24 ScriptRoutine_TaskTwoWalkVertical Task-two entity action
25 ScriptRoutine_TaskTwoWalkRight Task-two entity action
26 ScriptRoutine_TaskTwoWalkHorizontal Task-two entity action
27 ScriptRoutine_TaskTwoSpawnHelper Task-two entity action
28 ScriptRoutine_TaskTwoArmScriptFlags Task-two entity action
29 ScriptRoutine_TaskTwoRiseOnEvent Task-two entity action
2A ScriptRoutine_ArmCauldronFlags Cauldron / heater action
2B ScriptRoutine_TaskThreeSeekBerk Task-three entity action
2C ScriptRoutine_SlimyDropAndHeat Slimy-creature action
2D ScriptRoutine_TaskThreeClearUpstairs Task-three entity action
2E ScriptRoutine_TaskThreeBerkRightWindow Task-three entity action
2F ScriptRoutine_TaskThreeBerkLeftWindow Task-three entity action
30 ScriptRoutine_TaskThreeQueueSound Task-three entity action
31 ScriptRoutine_ThingUpstairsRaise Type-22 action
32 ScriptRoutine_ThingUpstairsResetRoom Type-22 action
33 ScriptRoutine_ThingUpstairsClearScreen Type-22 action
34 ScriptRoutine_ThingUpstairsChase Type-22 action
35 ScriptRoutine_ThingUpstairsFillAttributes Type-22 action
36 ScriptRoutine_CollectibleScanCounter Collectible action
37 ScriptRoutine_CollectibleRandomScript Collectible action
38 ScriptRoutine_CollectibleIncXIfClearAbove Collectible action
39 ScriptRoutine_CollectibleDecXIfClearLeft Collectible action
3A ScriptRoutine_CollectibleLeaveRoomDown Collectible action
3B ScriptRoutine_CollectibleLeaveRoomUp Collectible action
3C ScriptRoutine_CollectibleIncRoomTwice Collectible action
3D ScriptRoutine_CollectibleSetHeld Collectible action
3E ScriptRoutine_VatScanNearbySlots Vat action
3F ScriptRoutine_VatDecXIfClearLeft Vat action
40 ScriptRoutine_VatIncXIfClearAbove Vat action
41 ScriptRoutine_VatDecXIfClearLeftThenRise Vat action
42 ScriptRoutine_VatIncXIfClearAboveThenRise Vat action
43 ScriptRoutine_VatRoomTransition Vat action
44 ScriptRoutine_VatIncY Vat action
45 ScriptRoutine_VatDecY Vat action
46 ScriptRoutine_VatClearBit6AndReset Vat action
47 ScriptRoutine_VatQueueSound Vat action
48 ScriptRoutine_TaskFourAlignCreature Task-four entity action
49 ScriptRoutine_TaskFourRaiseY Task-four entity action
4A ScriptRoutine_TaskFourLowerY Task-four entity action
4B ScriptRoutine_TaskFourStepToward Task-four entity action
4C ScriptRoutine_TaskFourBerkOverlap Task-four entity action
4D ScriptRoutine_TaskFourTickOfferItem Task-four entity action
4E ScriptRoutine_TaskFourArmScriptFlags Task-four entity action
4F ScriptRoutine_TaskFourRandomiseExtra Task-four entity action
50 ScriptRoutine_TaskFourClearScriptFlags Task-four entity action
TableScriptHandlers EB8C DEFW $0000 Address of the handler for script opcode 00.
EB8E DEFW ScriptRoutine_JumpToAddress Address of the handler for script opcode 01.
EB90 DEFW ScriptRoutine_MoveLeft Address of the handler for script opcode 02.
EB92 DEFW ScriptRoutine_MoveRight Address of the handler for script opcode 03.
EB94 DEFW ScriptRoutine_MoveUp Address of the handler for script opcode 04.
EB96 DEFW ScriptRoutine_MoveDown Address of the handler for script opcode 05.
EB98 DEFW ScriptRoutine_MoveLeftTwo Address of the handler for script opcode 06.
EB9A DEFW ScriptRoutine_MoveRightTwo Address of the handler for script opcode 07.
EB9C DEFW ScriptRoutine_MoveUpTwo Address of the handler for script opcode 08.
EB9E DEFW ScriptRoutine_MoveDownTwo Address of the handler for script opcode 09.
EBA0 DEFW ScriptRoutine_ResetDirectionFlags Address of the handler for script opcode 0A.
EBA2 DEFW ScriptRoutine_FaceRight Address of the handler for script opcode 0B.
EBA4 DEFW ScriptRoutine_FaceLeft Address of the handler for script opcode 0C.
EBA6 DEFW ScriptRoutine_FaceUp Address of the handler for script opcode 0D.
EBA8 DEFW ScriptRoutine_FaceDown Address of the handler for script opcode 0E.
EBAA DEFW ScriptRoutine_PutDownCarried Address of the handler for script opcode 0F.
EBAC DEFW ScriptRoutine_FaceLeftAfterPutDown Address of the handler for script opcode 10.
EBAE DEFW ScriptRoutine_FaceRightAfterPutDown Address of the handler for script opcode 11.
EBB0 DEFW ScriptRoutine_PlacePutDownLeft Address of the handler for script opcode 12.
EBB2 DEFW ScriptRoutine_PlacePutDownRight Address of the handler for script opcode 13.
EBB4 DEFW ScriptRoutine_PickUpHeld Address of the handler for script opcode 14.
EBB6 DEFW ScriptRoutine_JumpIfCarrying Address of the handler for script opcode 15.
EBB8 DEFW ScriptRoutine_StartDruttScript Address of the handler for script opcode 16.
EBBA DEFW ScriptRoutine_MoveHeldUpOneRoom Address of the handler for script opcode 17.
EBBC DEFW ScriptRoutine_StartLoop Address of the handler for script opcode 18.
EBBE DEFW ScriptRoutine_ContinueToNextInstruction Address of the handler for script opcode 19.
EBC0 DEFW ScriptRoutine_OpenTrapDoor Address of the handler for script opcode 1A.
EBC2 DEFW ScriptRoutine_AnimateTrapDoorBerk Address of the handler for script opcode 1B.
EBC4 DEFW ScriptRoutine_CloseTrapDoor Address of the handler for script opcode 1C.
EBC6 DEFW ScriptRoutine_SetLatchRaiseEvent Address of the handler for script opcode 1D.
EBC8 DEFW ScriptRoutine_BerkDoorInFront Address of the handler for script opcode 1E.
EBCA DEFW ScriptRoutine_BerkDoorBehind Address of the handler for script opcode 1F.
EBCC DEFW ScriptRoutine_BerkOpenDoorInFront Address of the handler for script opcode 20.
EBCE DEFW ScriptRoutine_StartScriptLoop Address of the handler for script opcode 21.
EBD0 DEFW ScriptRoutine_EndScriptLoop Address of the handler for script opcode 22.
EBD2 DEFW $0000 Address of the handler for script opcode 23.
EBD4 DEFW ScriptRoutine_TaskTwoWalkVertical Address of the handler for script opcode 24.
EBD6 DEFW ScriptRoutine_TaskTwoWalkRight Address of the handler for script opcode 25.
EBD8 DEFW ScriptRoutine_TaskTwoWalkHorizontal Address of the handler for script opcode 26.
EBDA DEFW ScriptRoutine_TaskTwoSpawnHelper Address of the handler for script opcode 27.
EBDC DEFW ScriptRoutine_TaskTwoArmScriptFlags Address of the handler for script opcode 28.
EBDE DEFW ScriptRoutine_TaskTwoRiseOnEvent Address of the handler for script opcode 29.
EBE0 DEFW ScriptRoutine_ArmCauldronFlags Address of the handler for script opcode 2A.
EBE2 DEFW ScriptRoutine_TaskThreeSeekBerk Address of the handler for script opcode 2B.
EBE4 DEFW ScriptRoutine_SlimyDropAndHeat Address of the handler for script opcode 2C.
EBE6 DEFW ScriptRoutine_TaskThreeClearUpstairs Address of the handler for script opcode 2D.
EBE8 DEFW ScriptRoutine_TaskThreeBerkRightWindow Address of the handler for script opcode 2E.
EBEA DEFW ScriptRoutine_TaskThreeBerkLeftWindow Address of the handler for script opcode 2F.
EBEC DEFW ScriptRoutine_TaskThreeQueueSound Address of the handler for script opcode 30.
EBEE DEFW ScriptRoutine_ThingUpstairsRaise Address of the handler for script opcode 31.
EBF0 DEFW ScriptRoutine_ThingUpstairsResetRoom Address of the handler for script opcode 32.
EBF2 DEFW ScriptRoutine_ThingUpstairsClearScreen Address of the handler for script opcode 33.
EBF4 DEFW ScriptRoutine_ThingUpstairsChase Address of the handler for script opcode 34.
EBF6 DEFW ScriptRoutine_ThingUpstairsFillAttributes Address of the handler for script opcode 35.
EBF8 DEFW ScriptRoutine_CollectibleScanCounter Address of the handler for script opcode 36.
EBFA DEFW ScriptRoutine_CollectibleRandomScript Address of the handler for script opcode 37.
EBFC DEFW ScriptRoutine_CollectibleIncXIfClearAbove Address of the handler for script opcode 38.
EBFE DEFW ScriptRoutine_CollectibleDecXIfClearLeft Address of the handler for script opcode 39.
EC00 DEFW ScriptRoutine_CollectibleLeaveRoomDown Address of the handler for script opcode 3A.
EC02 DEFW ScriptRoutine_CollectibleLeaveRoomUp Address of the handler for script opcode 3B.
EC04 DEFW ScriptRoutine_CollectibleIncRoomTwice Address of the handler for script opcode 3C.
EC06 DEFW ScriptRoutine_CollectibleSetHeld Address of the handler for script opcode 3D.
EC08 DEFW ScriptRoutine_VatScanNearbySlots Address of the handler for script opcode 3E.
EC0A DEFW ScriptRoutine_VatDecXIfClearLeft Address of the handler for script opcode 3F.
EC0C DEFW ScriptRoutine_VatIncXIfClearAbove Address of the handler for script opcode 40.
EC0E DEFW ScriptRoutine_VatDecXIfClearLeftThenRise Address of the handler for script opcode 41.
EC10 DEFW ScriptRoutine_VatIncXIfClearAboveThenRise Address of the handler for script opcode 42.
EC12 DEFW ScriptRoutine_VatRoomTransition Address of the handler for script opcode 43.
EC14 DEFW ScriptRoutine_VatIncY Address of the handler for script opcode 44.
EC16 DEFW ScriptRoutine_VatDecY Address of the handler for script opcode 45.
EC18 DEFW ScriptRoutine_VatClearBit6AndReset Address of the handler for script opcode 46.
EC1A DEFW ScriptRoutine_VatQueueSound Address of the handler for script opcode 47.
EC1C DEFW ScriptRoutine_TaskFourAlignCreature Address of the handler for script opcode 48.
EC1E DEFW ScriptRoutine_TaskFourRaiseY Address of the handler for script opcode 49.
EC20 DEFW ScriptRoutine_TaskFourLowerY Address of the handler for script opcode 4A.
EC22 DEFW ScriptRoutine_TaskFourStepToward Address of the handler for script opcode 4B.
EC24 DEFW ScriptRoutine_TaskFourBerkOverlap Address of the handler for script opcode 4C.
EC26 DEFW ScriptRoutine_TaskFourTickOfferItem Address of the handler for script opcode 4D.
EC28 DEFW ScriptRoutine_TaskFourArmScriptFlags Address of the handler for script opcode 4E.
EC2A DEFW ScriptRoutine_TaskFourRandomiseExtra Address of the handler for script opcode 4F.
EC2C DEFW ScriptRoutine_TaskFourClearScriptFlags Address of the handler for script opcode 50.
View the equivalent code in;
Prev: EB67 Up: Map Next: EC2E