[Scummvm-git-logs] scummvm master -> 934fa3d66b60e4b81a800f211e23ad5e6eb36847

sev- noreply at scummvm.org
Thu Oct 24 11:10:52 UTC 2024


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
934fa3d66b STARTREK: Fix linking on ARM64 macOS


Commit: 934fa3d66b60e4b81a800f211e23ad5e6eb36847
    https://github.com/scummvm/scummvm/commit/934fa3d66b60e4b81a800f211e23ad5e6eb36847
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-24T13:10:40+02:00

Commit Message:
STARTREK: Fix linking on ARM64 macOS

This requires function pointers to be aligned to 64 bits, and
from the other hand, Action struct requires packing on MSVC, otherwise
it produces the following warning:

  Warning    C4121    'StarTrek::RoomAction': alignment of a member was sensitive to packing

This commit adds a dummy member to the Action struct, but in general, this
design is not ideal.

Changed paths:
    engines/startrek/action.h
    engines/startrek/actors.cpp
    engines/startrek/awaymission.cpp
    engines/startrek/room.cpp
    engines/startrek/room.h
    engines/startrek/rooms/demon0.cpp
    engines/startrek/rooms/demon1.cpp
    engines/startrek/rooms/demon2.cpp
    engines/startrek/rooms/demon3.cpp
    engines/startrek/rooms/demon4.cpp
    engines/startrek/rooms/demon5.cpp
    engines/startrek/rooms/demon6.cpp
    engines/startrek/rooms/feather0.cpp
    engines/startrek/rooms/feather1.cpp
    engines/startrek/rooms/feather2.cpp
    engines/startrek/rooms/feather3.cpp
    engines/startrek/rooms/feather4.cpp
    engines/startrek/rooms/feather5.cpp
    engines/startrek/rooms/feather6.cpp
    engines/startrek/rooms/feather7.cpp
    engines/startrek/rooms/love0.cpp
    engines/startrek/rooms/love1.cpp
    engines/startrek/rooms/love2.cpp
    engines/startrek/rooms/love3.cpp
    engines/startrek/rooms/love4.cpp
    engines/startrek/rooms/love5.cpp
    engines/startrek/rooms/mudd0.cpp
    engines/startrek/rooms/mudd1.cpp
    engines/startrek/rooms/mudd2.cpp
    engines/startrek/rooms/mudd3.cpp
    engines/startrek/rooms/mudd4.cpp
    engines/startrek/rooms/mudd5.cpp
    engines/startrek/rooms/sins0.cpp
    engines/startrek/rooms/sins1.cpp
    engines/startrek/rooms/sins2.cpp
    engines/startrek/rooms/sins3.cpp
    engines/startrek/rooms/sins4.cpp
    engines/startrek/rooms/sins5.cpp
    engines/startrek/rooms/trial0.cpp
    engines/startrek/rooms/trial1.cpp
    engines/startrek/rooms/trial2.cpp
    engines/startrek/rooms/trial3.cpp
    engines/startrek/rooms/trial4.cpp
    engines/startrek/rooms/trial5.cpp
    engines/startrek/rooms/tug0.cpp
    engines/startrek/rooms/tug1.cpp
    engines/startrek/rooms/tug2.cpp
    engines/startrek/rooms/tug3.cpp
    engines/startrek/rooms/veng0.cpp
    engines/startrek/rooms/veng1.cpp
    engines/startrek/rooms/veng2.cpp
    engines/startrek/rooms/veng3.cpp
    engines/startrek/rooms/veng4.cpp
    engines/startrek/rooms/veng5.cpp
    engines/startrek/rooms/veng6.cpp
    engines/startrek/rooms/veng7.cpp
    engines/startrek/rooms/veng8.cpp


diff --git a/engines/startrek/action.h b/engines/startrek/action.h
index 92dddfbd80d..6ef9cbc9133 100644
--- a/engines/startrek/action.h
+++ b/engines/startrek/action.h
@@ -59,6 +59,7 @@ struct Action {
 	byte b1;
 	byte b2;
 	byte b3;
+	int32 dummy; // for memory alignment on 64-bit systems. See RoomAction struct
 
 	// ACTION_USE, ACTION_GET, ACTION_LOOK, ACTION_TALK
 	byte activeObject() const {
diff --git a/engines/startrek/actors.cpp b/engines/startrek/actors.cpp
index 83c9ecf5639..803b01ab283 100644
--- a/engines/startrek/actors.cpp
+++ b/engines/startrek/actors.cpp
@@ -1000,7 +1000,7 @@ bool StarTrekEngine::walkActiveObjectToHotspot() {
 	else {
 		// If this action has code defined for it in this room, buffer the action to be
 		// done after the object finished walking there.
-		Action action = {static_cast<int8>(_awayMission.activeAction), _awayMission.activeObject, 0, 0};
+		Action action = {static_cast<int8>(_awayMission.activeAction), _awayMission.activeObject, 0, 0, 0};
 		if (_awayMission.activeAction == ACTION_USE)
 			action.b2 = _awayMission.passiveObject;
 
diff --git a/engines/startrek/awaymission.cpp b/engines/startrek/awaymission.cpp
index c8c82cd3281..4fe0377d596 100644
--- a/engines/startrek/awaymission.cpp
+++ b/engines/startrek/awaymission.cpp
@@ -536,7 +536,7 @@ void StarTrekEngine::addAction(const Action &action) {
 }
 
 void StarTrekEngine::addAction(int8 type, byte b1, byte b2, byte b3) {
-	const Action a = {type, b1, b2, b3};
+	const Action a = {type, b1, b2, b3, 0};
 	addAction(a);
 }
 
diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp
index 0535313f676..5c134a021b3 100644
--- a/engines/startrek/room.cpp
+++ b/engines/startrek/room.cpp
@@ -150,7 +150,7 @@ bool Room::actionHasCode(const Action &action) {
 }
 
 bool Room::actionHasCode(int8 type, byte b1, byte b2, byte b3) {
-	const Action a = {type, b1, b2, b3};
+	const Action a = {type, b1, b2, b3, 0};
 	return actionHasCode(a);
 }
 
@@ -170,7 +170,7 @@ bool Room::handleAction(const Action &action) {
 }
 
 bool Room::handleAction(int8 type, byte b1, byte b2, byte b3) {
-	const Action a = {type, b1, b2, b3};
+	const Action a = {type, b1, b2, b3, 0};
 	return handleAction(a);
 }
 
@@ -191,7 +191,7 @@ bool Room::handleActionWithBitmask(const Action &action) {
 }
 
 bool Room::handleActionWithBitmask(int8 type, byte b1, byte b2, byte b3) {
-	Action a = {type, b1, b2, b3};
+	Action a = {type, b1, b2, b3, 0};
 	return handleActionWithBitmask(a);
 }
 
diff --git a/engines/startrek/room.h b/engines/startrek/room.h
index a665099b358..305800b9406 100644
--- a/engines/startrek/room.h
+++ b/engines/startrek/room.h
@@ -46,7 +46,7 @@ class Room;
 // Per-room action functions
 struct RoomAction {
 	const Action action;
-	void (Room::*funcPtr)();
+	void (Room::*funcPtr)(); // This must be aligned to 64-bit, thus we added the dummy variable in Action
 };
 
 #include "common/pack-end.h"	// END STRUCT PACKING
diff --git a/engines/startrek/rooms/demon0.cpp b/engines/startrek/rooms/demon0.cpp
index 6937737163b..de751ca7511 100644
--- a/engines/startrek/rooms/demon0.cpp
+++ b/engines/startrek/rooms/demon0.cpp
@@ -24,61 +24,61 @@
 namespace StarTrek {
 
 extern const RoomAction demon0ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon0Tick1 },
-	{ {ACTION_TICK, 2, 0, 0}, &Room::demon0Tick2 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::demon0Tick60 },
-	{ {ACTION_TICK, 100, 0, 0}, &Room::demon0Tick100 },
-	{ {ACTION_TICK, 140, 0, 0}, &Room::demon0Tick140 },
-
-	{ {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::demon0TouchedWarp0 },
-
-	{ {ACTION_WALK, 0x27, 0, 0}, &Room::demon0WalkToBottomDoor },
-	{ {ACTION_WALK, 9, 0, 0}, &Room::demon0WalkToBottomDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::demon0TouchedHotspot1 },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon0ReachedBottomDoor },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon0ReachedBottomDoor },
-
-	{ {ACTION_WALK, 0x26, 0, 0}, &Room::demon0WalkToTopDoor },
-	{ {ACTION_WALK, 10, 0, 0}, &Room::demon0WalkToTopDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon0TouchedHotspot0 },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon0ReachedTopDoor },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon0ReachedTopDoor },
-
-	{ {ACTION_TALK, 8, 0, 0}, &Room::demon0TalkToPrelate },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon0LookAtPrelate },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x23, 0}, &Room::demon0UsePhaserOnSnow },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x23, 0}, &Room::demon0UsePhaserOnSnow },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x25, 0}, &Room::demon0UsePhaserOnSign },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x25, 0}, &Room::demon0UsePhaserOnSign },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::demon0UsePhaserOnShelter },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon0UsePhaserOnPrelate },
-
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::demon0LookAtSign },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon0LookAtTrees },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon0LookAtTrees },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::demon0LookAtSnow },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon0LookAnywhere },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::demon0LookAtBushes },
-
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::demon0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::demon0LookAtMcCoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon0LookAtRedShirt },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::demon0LookAtSpock },
-
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::demon0LookAtShelter },    // Door 1
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::demon0LookAtShelter },   // Door 2
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon0LookAtShelter }, // Shelter itself
-
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::demon0TalkToKirk },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon0TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::demon0TalkToMcCoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::demon0TalkToSpock },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::demon0UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon0UseMTricorderOnPrelate },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon0Tick1 },
+	{ {ACTION_TICK, 2, 0, 0, 0}, &Room::demon0Tick2 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::demon0Tick60 },
+	{ {ACTION_TICK, 100, 0, 0, 0}, &Room::demon0Tick100 },
+	{ {ACTION_TICK, 140, 0, 0, 0}, &Room::demon0Tick140 },
+
+	{ {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::demon0TouchedWarp0 },
+
+	{ {ACTION_WALK, 0x27, 0, 0, 0}, &Room::demon0WalkToBottomDoor },
+	{ {ACTION_WALK, 9, 0, 0, 0}, &Room::demon0WalkToBottomDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::demon0TouchedHotspot1 },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon0ReachedBottomDoor },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon0ReachedBottomDoor },
+
+	{ {ACTION_WALK, 0x26, 0, 0, 0}, &Room::demon0WalkToTopDoor },
+	{ {ACTION_WALK, 10, 0, 0, 0}, &Room::demon0WalkToTopDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon0TouchedHotspot0 },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon0ReachedTopDoor },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon0ReachedTopDoor },
+
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::demon0TalkToPrelate },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon0LookAtPrelate },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x23, 0, 0}, &Room::demon0UsePhaserOnSnow },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x23, 0, 0}, &Room::demon0UsePhaserOnSnow },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x25, 0, 0}, &Room::demon0UsePhaserOnSign },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x25, 0, 0}, &Room::demon0UsePhaserOnSign },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::demon0UsePhaserOnShelter },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon0UsePhaserOnPrelate },
+
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon0LookAtSign },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon0LookAtTrees },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon0LookAtTrees },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon0LookAtSnow },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon0LookAnywhere },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon0LookAtBushes },
+
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::demon0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::demon0LookAtMcCoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon0LookAtRedShirt },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::demon0LookAtSpock },
+
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon0LookAtShelter },    // Door 1
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon0LookAtShelter },   // Door 2
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon0LookAtShelter }, // Shelter itself
+
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::demon0TalkToKirk },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon0TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::demon0TalkToMcCoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::demon0TalkToSpock },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::demon0UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon0UseMTricorderOnPrelate },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon0TextIds {
@@ -482,4 +482,3 @@ void Room::demon0BadResponse() {
 	showText(TX_SPEAKER_ANGIVEN, TX_DEM0_033);
 }
 }
-
diff --git a/engines/startrek/rooms/demon1.cpp b/engines/startrek/rooms/demon1.cpp
index 7aaa853e560..ea276eed50f 100644
--- a/engines/startrek/rooms/demon1.cpp
+++ b/engines/startrek/rooms/demon1.cpp
@@ -24,89 +24,89 @@
 namespace StarTrek {
 
 extern const RoomAction demon1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon1Tick1 },
-
-	{ {ACTION_WALK, 0x25, 0, 0}, &Room::demon1WalkToCave },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon1TouchedTopWarp },
-	{ {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::demon1TouchedTopWarp },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::demon1TouchedBottomWarp },
-
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::demon1Timer2Expired },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon1Timer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon1Timer3Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon1Timer1Expired },
-
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon1KlingonFinishedAimingWeapon },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon1KirkShot },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::demon1UsePhaserOnAnything },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::demon1UsePhaserOnAnything },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon1UsePhaserOnKlingon1 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon1UsePhaserOnKlingon1 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon1ShootKlingon1 },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::demon1KlingonDropsHand },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::demon1UsePhaserOnKlingon2 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::demon1UsePhaserOnKlingon2 },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon1ShootKlingon2 },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::demon1UsePhaserOnKlingon3 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::demon1UsePhaserOnKlingon3 },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon1ShootKlingon3 },
-
-	{ {ACTION_TIMER_EXPIRED, 6, 0, 0}, &Room::demon1AllKlingonsDead },
-	{ {ACTION_TIMER_EXPIRED, 5, 0, 0}, &Room::demon1Timer5Expired },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, 13, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon1UseSTricorderOnTulips },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon1UseSTricorderOnPods },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon1UseSTricorderOnCattails },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon1UseSTricorderOnFerns },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 13, 0}, &Room::demon1UseSTricorderOnHand },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon1UseSTricorderOnKlingon1 },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  8, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 10, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0}, &Room::demon1UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 }, // This is redundant
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::demon1UseMTricorderOnKirk },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::demon1UseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::demon1UseMTricorderOnRedshirt },
-
-	{ {ACTION_GET, 13, 0, 0}, &Room::demon1GetHand },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon1ReachedHand },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::demon1PickedUpHand },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::demon1FinishedGettingHand },
-
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon1LookAtKlingon },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::demon1LookAtKlingon },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::demon1LookAtKlingon },
-
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon1LookAtCattails },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon1LookAtTulips },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon1LookAtPods },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::demon1LookAtFerns },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::demon1LookAtStream },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::demon1LookAtMine },
-	{ {ACTION_LOOK, 0x26, 0, 0}, &Room::demon1LookAtMountain },
-	{ {ACTION_LOOK, 13, 0, 0}, &Room::demon1LookAtHand },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon1LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon1LookAtMcCoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon1LookAtRedshirt },
-
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon1TalkToMcCoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon1TalkToRedshirt },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon1Tick1 },
+
+	{ {ACTION_WALK, 0x25, 0, 0, 0}, &Room::demon1WalkToCave },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon1TouchedTopWarp },
+	{ {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::demon1TouchedTopWarp },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::demon1TouchedBottomWarp },
+
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::demon1Timer2Expired },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon1Timer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon1Timer3Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon1Timer1Expired },
+
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon1KlingonFinishedAimingWeapon },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon1KirkShot },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::demon1UsePhaserOnAnything },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::demon1UsePhaserOnAnything },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon1UsePhaserOnKlingon1 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon1UsePhaserOnKlingon1 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon1ShootKlingon1 },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::demon1KlingonDropsHand },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::demon1UsePhaserOnKlingon2 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::demon1UsePhaserOnKlingon2 },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon1ShootKlingon2 },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::demon1UsePhaserOnKlingon3 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::demon1UsePhaserOnKlingon3 },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon1ShootKlingon3 },
+
+	{ {ACTION_TIMER_EXPIRED, 6, 0, 0, 0}, &Room::demon1AllKlingonsDead },
+	{ {ACTION_TIMER_EXPIRED, 5, 0, 0, 0}, &Room::demon1Timer5Expired },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, 13, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon1UseSTricorderOnTulips },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon1UseSTricorderOnPods },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon1UseSTricorderOnCattails },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon1UseSTricorderOnFerns },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 13, 0, 0}, &Room::demon1UseSTricorderOnHand },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon1UseSTricorderOnKlingon1 },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  8, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 10, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0, 0}, &Room::demon1UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon1UseSTricorderOnKlingon2Or3 }, // This is redundant
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::demon1UseMTricorderOnKirk },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::demon1UseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::demon1UseMTricorderOnRedshirt },
+
+	{ {ACTION_GET, 13, 0, 0, 0}, &Room::demon1GetHand },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon1ReachedHand },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::demon1PickedUpHand },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::demon1FinishedGettingHand },
+
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon1LookAtKlingon },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon1LookAtKlingon },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon1LookAtKlingon },
+
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon1LookAtCattails },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon1LookAtTulips },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon1LookAtPods },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon1LookAtFerns },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon1LookAtStream },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon1LookAtMine },
+	{ {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::demon1LookAtMountain },
+	{ {ACTION_LOOK, 13, 0, 0, 0}, &Room::demon1LookAtHand },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon1LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon1LookAtMcCoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon1LookAtRedshirt },
+
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon1TalkToMcCoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon1TalkToRedshirt },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon1TextIds {
diff --git a/engines/startrek/rooms/demon2.cpp b/engines/startrek/rooms/demon2.cpp
index 31179d3c76c..43c98b97eca 100644
--- a/engines/startrek/rooms/demon2.cpp
+++ b/engines/startrek/rooms/demon2.cpp
@@ -24,46 +24,46 @@
 namespace StarTrek {
 
 extern const RoomAction demon2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon2Tick1 },
-	{ {ACTION_WALK, 0x27, 0, 0}, &Room::demon2WalkToCave },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon2ReachedCave },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::demon2TouchedWarp1 },
-
-	{ {ACTION_LOOK, 0x27, 0, 0}, &Room::demon2LookAtCave },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon2LookAtCave },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon2LookAtMountain },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon2LookAtMountain },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::demon2LookAtBerries },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::demon2LookAtFern },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::demon2LookAtMoss },
-	{ {ACTION_LOOK, 0x26, 0, 0}, &Room::demon2LookAtLights },
-	{ {ACTION_LOOK, 0xff, 0, 0},   &Room::demon2LookAtAnything },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon2LookAtMcCoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon2LookAtRedshirt },
-
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon2TalkToMcCoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon2TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x23, 0}, &Room::demon2UsePhaserOnBerries },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x23, 0}, &Room::demon2UsePhaserOnBerries },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon2UseSTricorderOnBerries },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::demon2UseSTricorderOnMoss },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0}, &Room::demon2UseSTricorderOnFern },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon2UseSTricorderOnCave },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon2UseSTricorderOnCave },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon2UseSTricorderOnCave },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0}, &Room::demon2UseMTricorderOnBerries },
-	{ {ACTION_GET, 0x23, 0, 0}, &Room::demon2GetBerries },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon2ReachedBerries },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon2PickedUpBerries },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon2Tick1 },
+	{ {ACTION_WALK, 0x27, 0, 0, 0}, &Room::demon2WalkToCave },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon2ReachedCave },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::demon2TouchedWarp1 },
+
+	{ {ACTION_LOOK, 0x27, 0, 0, 0}, &Room::demon2LookAtCave },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon2LookAtCave },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon2LookAtMountain },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon2LookAtMountain },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon2LookAtBerries },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon2LookAtFern },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon2LookAtMoss },
+	{ {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::demon2LookAtLights },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0},   &Room::demon2LookAtAnything },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon2LookAtMcCoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon2LookAtRedshirt },
+
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon2TalkToMcCoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon2TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x23, 0, 0}, &Room::demon2UsePhaserOnBerries },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x23, 0, 0}, &Room::demon2UsePhaserOnBerries },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon2UseSTricorderOnBerries },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::demon2UseSTricorderOnMoss },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0, 0}, &Room::demon2UseSTricorderOnFern },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon2UseSTricorderOnCave },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon2UseSTricorderOnCave },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon2UseSTricorderOnCave },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0, 0}, &Room::demon2UseMTricorderOnBerries },
+	{ {ACTION_GET, 0x23, 0, 0, 0}, &Room::demon2GetBerries },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon2ReachedBerries },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon2PickedUpBerries },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon2TextIds {
diff --git a/engines/startrek/rooms/demon3.cpp b/engines/startrek/rooms/demon3.cpp
index ef01b0e96c0..534d01a47c0 100644
--- a/engines/startrek/rooms/demon3.cpp
+++ b/engines/startrek/rooms/demon3.cpp
@@ -24,100 +24,100 @@
 namespace StarTrek {
 
 extern const RoomAction demon3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon3Tick1 },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon3Timer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon3Timer1Expired },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon3Timer3Expired },
-
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon3FinishedAnimation1 },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon3FinishedAnimation2 },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon3FinishedWalking5 },
-
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon3McCoyInFiringPosition },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon3SpockInFiringPosition },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon3RedShirtInFiringPosition },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon3KirkInFiringPosition },
-
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon3FireAtBoulder },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0}, &Room::demon3UsePhaserOnRedshirt },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0}, &Room::demon3UsePhaserOnRedshirt },
-
-	{ {ACTION_USE, OBJECT_IPHASERS,  9, 0}, &Room::demon3UseStunPhaserOnBoulder },
-	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::demon3UseStunPhaserOnBoulder },
-	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::demon3UseStunPhaserOnBoulder },
-	{ {ACTION_USE, OBJECT_IPHASERS, 12, 0}, &Room::demon3UseStunPhaserOnBoulder },
-
-	{ {ACTION_USE, OBJECT_IPHASERK,  9, 0}, &Room::demon3UsePhaserOnBoulder1 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::demon3UsePhaserOnBoulder2 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 11, 0}, &Room::demon3UsePhaserOnBoulder3 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 12, 0}, &Room::demon3UsePhaserOnBoulder4 },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 13, 0}, &Room::demon3UseSTricorderOnMiner },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon3UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_ISTRICOR,  9, 0}, &Room::demon3UseSTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon3UseSTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 11, 0}, &Room::demon3UseSTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::demon3UseSTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0}, &Room::demon3UseMTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon3UseMTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::demon3UseMTricorderOnBoulder },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 12, 0}, &Room::demon3UseMTricorderOnBoulder },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::demon3UseCrewmanOnPanel },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::demon3UseRedshirtOnPanel },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::demon3RedshirtReachedPanel },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon3RedshirtUsedPanel },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon3RedshirtElectrocuted },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon3UseSTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon3UseSTricorderOnAnything },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 14, 0}, &Room::demon3UseMTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::demon3UseMTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::demon3UseMTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, 14, 0}, &Room::demon3UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, 14, 0}, &Room::demon3UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::demon3UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x21, 0}, &Room::demon3UsePhaserOnDoor },
-
-	{ {ACTION_USE, OBJECT_IHAND, 0x20, 0}, &Room::demon3UseHandOnPanel },
-	{ {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::demon3KirkReachedHandPanel },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::demon3KirkUsedHandPanel },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, 13, 0}, &Room::demon3UseMTricorderOnMiner },
-	{ {ACTION_USE, OBJECT_MCCOY, 13, 0}, &Room::demon3UseMedkitOnMiner },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 13, 0}, &Room::demon3UseMedkitOnMiner },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::demon3McCoyReachedMiner },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::demon3McCoyFinishedHealingMiner },
-
-	{ {ACTION_GET, 13, 0, 0}, &Room::demon3GetMiner },
-	{ {ACTION_TALK, 13, 0, 0}, &Room::demon3TalkToMiner },
-
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3TalkToRedshirt },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3LookAtRedshirt },
-
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon3LookAnywhere },
-	{ {ACTION_LOOK, 13, 0, 0}, &Room::demon3LookAtMiner },
-	{ {ACTION_LOOK,  9, 0, 0}, &Room::demon3LookAtBoulder1 },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::demon3LookAtBoulder2 },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::demon3LookAtBoulder3 },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::demon3LookAtBoulder4 },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon3LookAtStructure },
-	{ {ACTION_LOOK, 14, 0, 0}, &Room::demon3LookAtDoor },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon3LookAtDoor },
-	{ {ACTION_LOOK, 15, 0, 0}, &Room::demon3LookAtPanel },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon3LookAtPanel },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon3LookAtLight },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon3Tick1 },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon3Timer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon3Timer1Expired },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon3Timer3Expired },
+
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon3FinishedAnimation1 },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon3FinishedAnimation2 },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon3FinishedWalking5 },
+
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon3McCoyInFiringPosition },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon3SpockInFiringPosition },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon3RedShirtInFiringPosition },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon3KirkInFiringPosition },
+
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon3FireAtBoulder },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0, 0}, &Room::demon3UsePhaserOnRedshirt },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0, 0}, &Room::demon3UsePhaserOnRedshirt },
+
+	{ {ACTION_USE, OBJECT_IPHASERS,  9, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+	{ {ACTION_USE, OBJECT_IPHASERS, 12, 0, 0}, &Room::demon3UseStunPhaserOnBoulder },
+
+	{ {ACTION_USE, OBJECT_IPHASERK,  9, 0, 0}, &Room::demon3UsePhaserOnBoulder1 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::demon3UsePhaserOnBoulder2 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 11, 0, 0}, &Room::demon3UsePhaserOnBoulder3 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 12, 0, 0}, &Room::demon3UsePhaserOnBoulder4 },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 13, 0, 0}, &Room::demon3UseSTricorderOnMiner },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon3UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_ISTRICOR,  9, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 11, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::demon3UseSTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 12, 0, 0}, &Room::demon3UseMTricorderOnBoulder },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::demon3UseCrewmanOnPanel },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::demon3UseRedshirtOnPanel },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::demon3RedshirtReachedPanel },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon3RedshirtUsedPanel },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon3RedshirtElectrocuted },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon3UseSTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon3UseSTricorderOnAnything },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 14, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::demon3UseMTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, 14, 0, 0}, &Room::demon3UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, 14, 0, 0}, &Room::demon3UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::demon3UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x21, 0, 0}, &Room::demon3UsePhaserOnDoor },
+
+	{ {ACTION_USE, OBJECT_IHAND, 0x20, 0, 0}, &Room::demon3UseHandOnPanel },
+	{ {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::demon3KirkReachedHandPanel },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::demon3KirkUsedHandPanel },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, 13, 0, 0}, &Room::demon3UseMTricorderOnMiner },
+	{ {ACTION_USE, OBJECT_MCCOY, 13, 0, 0}, &Room::demon3UseMedkitOnMiner },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 13, 0, 0}, &Room::demon3UseMedkitOnMiner },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::demon3McCoyReachedMiner },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::demon3McCoyFinishedHealingMiner },
+
+	{ {ACTION_GET, 13, 0, 0, 0}, &Room::demon3GetMiner },
+	{ {ACTION_TALK, 13, 0, 0, 0}, &Room::demon3TalkToMiner },
+
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon3TalkToRedshirt },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon3LookAtRedshirt },
+
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon3LookAnywhere },
+	{ {ACTION_LOOK, 13, 0, 0, 0}, &Room::demon3LookAtMiner },
+	{ {ACTION_LOOK,  9, 0, 0, 0}, &Room::demon3LookAtBoulder1 },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon3LookAtBoulder2 },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::demon3LookAtBoulder3 },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::demon3LookAtBoulder4 },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon3LookAtStructure },
+	{ {ACTION_LOOK, 14, 0, 0, 0}, &Room::demon3LookAtDoor },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon3LookAtDoor },
+	{ {ACTION_LOOK, 15, 0, 0, 0}, &Room::demon3LookAtPanel },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon3LookAtPanel },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon3LookAtLight },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon3TextIds {
diff --git a/engines/startrek/rooms/demon4.cpp b/engines/startrek/rooms/demon4.cpp
index eba4273a5da..737e238ea4e 100644
--- a/engines/startrek/rooms/demon4.cpp
+++ b/engines/startrek/rooms/demon4.cpp
@@ -25,73 +25,73 @@
 namespace StarTrek {
 
 extern const RoomAction demon4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon4Tick1 },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon4FinishedAnimation1 },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon4FinishedAnimation2 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon4FinishedAnimation3 },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::demon4Timer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::demon4Timer1Expired },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon4CrewmanReachedBeamoutPosition },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::demon4Timer2Expired },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::demon4Timer3Expired },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::demon4Timer4Expired },
-	{ {ACTION_TIMER_EXPIRED, 5, 0, 0}, &Room::demon4Timer5Expired },
-	{ {ACTION_TIMER_EXPIRED, 6, 0, 0}, &Room::demon4Timer6Expired },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon4UsePhaserOnNauian },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon4UsePhaserOnNauian },
-	{ {ACTION_USE, OBJECT_IMETAL, 0x22, 0}, &Room::demon4UseMetalOnSecurityEquipment },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon4KirkReachedSecurityEquipment },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::demon4KirkFinishedUsingSecurityEquipment },
-	{ {ACTION_USE, OBJECT_IMETAL, 8, 0}, &Room::demon4UseMetalOnNauian },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon4KirkReachedNauian },
-	{ {ACTION_USE, OBJECT_ISKULL, 8, 0}, &Room::demon4UseSkullOnNauian },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon4KirkReachedNauianWithSkull },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::demon4UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::demon4UsePhaserOnPattern },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::demon4UsePhaserOnMccoy },
-
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::demon4TalkToNauian },
-	{ {ACTION_TALK, 8, 0, 0}, &Room::demon4TalkToNauian },
-
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon4LookAtPattern },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon4LookAtAlien },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon4LookAnywhere },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon4LookAtSecurityEquipment },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::demon4LookAtFloor },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon4LookAtRedshirt },
-
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::demon4LookAtChamber },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon4LookAtPanel },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::demon4UseKirkOnPanel },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::demon4UseSpockOnPanel },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::demon4UseMccoyOnPanel },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::demon4UseRedshirtOnPanel },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon4CrewmanReachedPanel },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon4TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon4TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon4TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0}, &Room::demon4UseSTricorderOnChamber },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon4UseSTricorderOnPattern },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::demon4UseMTricorderOnPattern },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon4UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::demon4UseMTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon4UseSTricorderOnAnything },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::demon4UseSTricorderOnAnything },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0}, &Room::demon4UseMTricorderOnAnything },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::demon4UseMTricorderOnAnything },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::demon4UseSTricorderOnNauian },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon4UseMTricorderOnNauian },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::demon4UseSTricorderOnSecurityEquipment },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::demon4UseMTricorderOnSecurityEquipment },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon4Tick1 },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon4FinishedAnimation1 },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon4FinishedAnimation2 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon4FinishedAnimation3 },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::demon4Timer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::demon4Timer1Expired },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon4CrewmanReachedBeamoutPosition },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::demon4Timer2Expired },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::demon4Timer3Expired },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::demon4Timer4Expired },
+	{ {ACTION_TIMER_EXPIRED, 5, 0, 0, 0}, &Room::demon4Timer5Expired },
+	{ {ACTION_TIMER_EXPIRED, 6, 0, 0, 0}, &Room::demon4Timer6Expired },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon4UsePhaserOnNauian },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon4UsePhaserOnNauian },
+	{ {ACTION_USE, OBJECT_IMETAL, 0x22, 0, 0}, &Room::demon4UseMetalOnSecurityEquipment },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon4KirkReachedSecurityEquipment },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::demon4KirkFinishedUsingSecurityEquipment },
+	{ {ACTION_USE, OBJECT_IMETAL, 8, 0, 0}, &Room::demon4UseMetalOnNauian },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon4KirkReachedNauian },
+	{ {ACTION_USE, OBJECT_ISKULL, 8, 0, 0}, &Room::demon4UseSkullOnNauian },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon4KirkReachedNauianWithSkull },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::demon4UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::demon4UsePhaserOnPattern },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::demon4UsePhaserOnMccoy },
+
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::demon4TalkToNauian },
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::demon4TalkToNauian },
+
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon4LookAtPattern },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon4LookAtAlien },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon4LookAnywhere },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon4LookAtSecurityEquipment },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon4LookAtFloor },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon4LookAtRedshirt },
+
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon4LookAtChamber },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon4LookAtPanel },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::demon4UseKirkOnPanel },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::demon4UseSpockOnPanel },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::demon4UseMccoyOnPanel },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::demon4UseRedshirtOnPanel },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon4CrewmanReachedPanel },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon4TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon4TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon4TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0}, &Room::demon4UseSTricorderOnChamber },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon4UseSTricorderOnPattern },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::demon4UseMTricorderOnPattern },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon4UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::demon4UseMTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon4UseSTricorderOnAnything },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::demon4UseSTricorderOnAnything },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x23, 0, 0}, &Room::demon4UseMTricorderOnAnything },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::demon4UseMTricorderOnAnything },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::demon4UseSTricorderOnNauian },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon4UseMTricorderOnNauian },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::demon4UseSTricorderOnSecurityEquipment },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::demon4UseMTricorderOnSecurityEquipment },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon4TextIds {
diff --git a/engines/startrek/rooms/demon5.cpp b/engines/startrek/rooms/demon5.cpp
index 40aa78053de..6a75583940a 100644
--- a/engines/startrek/rooms/demon5.cpp
+++ b/engines/startrek/rooms/demon5.cpp
@@ -24,59 +24,59 @@
 namespace StarTrek {
 
 extern const RoomAction demon5ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon5Tick1 },
-	{ {ACTION_WALK, 0x22, 0, 0}, &Room::demon5WalkToDoor },
-	{ {ACTION_WALK, 12, 0, 0}, &Room::demon5WalkToDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon5TouchedDoorOpenTrigger },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon5UseSTricorderOnCrate },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::demon5UsePhaserOnAnything },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::demon5UsePhaserOnAnything },
-
-	{ {ACTION_USE, OBJECT_IHAND, 11, 0}, &Room::demon5UseHandOnStephen },
-	{ {ACTION_USE, OBJECT_IBERRY, 11, 0}, &Room::demon5UseBerryOnStephen },
-	{ {ACTION_USE, OBJECT_IDETOXIN, 9, 0}, &Room::demon5UseHypoDytoxinOnChub },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon5MccoyReachedChub },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon5MccoyHealedChub },
-
-	{ {ACTION_USE, OBJECT_IDETOXIN, 0xff, 0}, &Room::demon5UseHypoDytoxinOnAnything },
-	{ {ACTION_USE, OBJECT_IBERRY, 9, 0}, &Room::demon5UseBerryOnChub },
-
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon5LookAtRoberts },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::demon5LookAtGrisnash },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::demon5LookAtStephen },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon5LookAtRedshirt },
-
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon5LookAtMountain },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon5LookAtCrate },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon5LookAnywhere },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::demon5LookAtChub },
-
-	{ {ACTION_TALK, 8, 0, 0}, &Room::demon5TalkToRoberts },
-	{ {ACTION_TALK, 9, 0, 0}, &Room::demon5TalkToChub },
-	{ {ACTION_TALK, 10, 0, 0}, &Room::demon5TalkToGrisnash },
-	{ {ACTION_TALK, 11, 0, 0}, &Room::demon5TalkToStephen },
-
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon5TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon5TalkToMccoy },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon5UseMTricorderOnRoberts },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0}, &Room::demon5UseMTricorderOnChub },
-	{ {ACTION_USE, OBJECT_MCCOY,    9, 0}, &Room::demon5UseMTricorderOnChub },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::demon5UseMTricorderOnChub },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::demon5UseMTricorderOnGrisnash },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::demon5UseMTricorderOnStephen },
-
-	{ {ACTION_GET, 0x21, 0, 0}, &Room::demon5GetCrate },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon5Tick1 },
+	{ {ACTION_WALK, 0x22, 0, 0, 0}, &Room::demon5WalkToDoor },
+	{ {ACTION_WALK, 12, 0, 0, 0}, &Room::demon5WalkToDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon5TouchedDoorOpenTrigger },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon5DoorOpenedOrReachedDoor },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon5UseSTricorderOnCrate },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::demon5UsePhaserOnAnything },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::demon5UsePhaserOnAnything },
+
+	{ {ACTION_USE, OBJECT_IHAND, 11, 0, 0}, &Room::demon5UseHandOnStephen },
+	{ {ACTION_USE, OBJECT_IBERRY, 11, 0, 0}, &Room::demon5UseBerryOnStephen },
+	{ {ACTION_USE, OBJECT_IDETOXIN, 9, 0, 0}, &Room::demon5UseHypoDytoxinOnChub },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon5MccoyReachedChub },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon5MccoyHealedChub },
+
+	{ {ACTION_USE, OBJECT_IDETOXIN, 0xff, 0, 0}, &Room::demon5UseHypoDytoxinOnAnything },
+	{ {ACTION_USE, OBJECT_IBERRY, 9, 0, 0}, &Room::demon5UseBerryOnChub },
+
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon5LookAtRoberts },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::demon5LookAtGrisnash },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::demon5LookAtStephen },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon5LookAtRedshirt },
+
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon5LookAtMountain },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon5LookAtCrate },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon5LookAnywhere },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon5LookAtChub },
+
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::demon5TalkToRoberts },
+	{ {ACTION_TALK, 9, 0, 0, 0}, &Room::demon5TalkToChub },
+	{ {ACTION_TALK, 10, 0, 0, 0}, &Room::demon5TalkToGrisnash },
+	{ {ACTION_TALK, 11, 0, 0, 0}, &Room::demon5TalkToStephen },
+
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon5TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon5TalkToMccoy },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon5UseMTricorderOnRoberts },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+	{ {ACTION_USE, OBJECT_MCCOY,    9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::demon5UseMTricorderOnChub },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::demon5UseMTricorderOnGrisnash },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::demon5UseMTricorderOnStephen },
+
+	{ {ACTION_GET, 0x21, 0, 0, 0}, &Room::demon5GetCrate },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon5TextIds {
diff --git a/engines/startrek/rooms/demon6.cpp b/engines/startrek/rooms/demon6.cpp
index c2103462ce6..9f7e3e2a35d 100644
--- a/engines/startrek/rooms/demon6.cpp
+++ b/engines/startrek/rooms/demon6.cpp
@@ -25,84 +25,84 @@
 namespace StarTrek {
 
 extern const RoomAction demon6ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::demon6Tick1 },
-	{ {ACTION_TICK, 30, 0, 0}, &Room::demon6Tick30 },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::demon6SpockReachedComputer },
-
-	{ {ACTION_WALK, 0x26, 0, 0}, &Room::demon6WalkToDoor },
-	{ {ACTION_WALK, 10, 0, 0}, &Room::demon6WalkToDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::demon6TouchedDoorOpenTrigger },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::demon6UsePhaserOnStephen },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::demon6UsePhaserOnStephen },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::demon6UsePhaserOnCase },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::demon6UsePhaserOnCase },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::demon6LookAtWorkspace },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::demon6LookAtCase },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::demon6LookAtTable },
-	{ {ACTION_LOOK, OBJECT_IMINERAL, 0, 0}, &Room::demon6LookAtMineral },
-	{ {ACTION_LOOK, OBJECT_ISHELLS, 0, 0}, &Room::demon6LookAtShells },
-	{ {ACTION_LOOK, OBJECT_ISKULL, 0, 0}, &Room::demon6LookAtSkull },
-	{ {ACTION_LOOK, OBJECT_IMETAL, 0, 0}, &Room::demon6LookAtMetal },
-	{ {ACTION_LOOK, OBJECT_IMETEOR, 0, 0}, &Room::demon6LookAtMeteor },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::demon6LookAtMountain },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::demon6LookAtSynthesizer },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::demon6LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::demon6LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::demon6LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::demon6LookAtRedshirt },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::demon6LookAtComputer },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::demon6LookAtComputer },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::demon6LookAnywhere },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::demon6LookAtStephen },
-
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::demon6TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::demon6TalkToSpock },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::demon6TalkToKirk },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::demon6TalkToRedshirt },
-	{ {ACTION_TALK, 8, 0, 0}, &Room::demon6TalkToStephen },
-	{ {ACTION_USE, OBJECT_IBERRY, 8, 0}, &Room::demon6UseBerryOnStephen },
-	{ {ACTION_USE, OBJECT_IBERRY, 0x23, 0}, &Room::demon6UseBerryOnSynthesizer },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::demon6MccoyReachedSynthesizer },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::demon6FinishedMakingHypoDytoxin },
-	{ {ACTION_USE, OBJECT_IHAND, 0x22, 0}, &Room::demon6UseHandOnWorkspace },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::demon6SpockReachedWorkspace },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::demon6SpockFinishedRepairingHand },
-	{ {ACTION_USE, 0xff, 0x22, 0}, &Room::demon6UseAnythingOnWorkspace },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::demon6UseCrewmanOnCase },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::demon6UseKirkOnComputer },
-	{ {ACTION_USE, OBJECT_KIRK, 9, 0}, &Room::demon6UseKirkOnComputer },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::demon6UseMccoyOnComputer },
-	{ {ACTION_USE, OBJECT_MCCOY, 9, 0}, &Room::demon6UseMccoyOnComputer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::demon6UseRedshirtOnComputer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 9, 0}, &Room::demon6UseRedshirtOnComputer },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::demon6UseSpockOnComputer },
-	{ {ACTION_USE, OBJECT_SPOCK, 9, 0}, &Room::demon6UseSpockOnComputer },
-	{ {ACTION_USE, OBJECT_IMINERAL, 8, 0}, &Room::demon6UseMineralOnStephen },
-	{ {ACTION_USE, OBJECT_ISHELLS, 8, 0}, &Room::demon6UseShellsOnStephen },
-	{ {ACTION_USE, OBJECT_IMETEOR, 8, 0}, &Room::demon6UseMeteorOnStephen },
-	{ {ACTION_USE, OBJECT_ISKULL, 8, 0}, &Room::demon6UseSkullOnStephen },
-	{ {ACTION_USE, OBJECT_IMETAL, 8, 0}, &Room::demon6UseMetalOnStephen },
-	{ {ACTION_USE, OBJECT_IHAND, 8, 0}, &Room::demon6UseHandOnStephen },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::demon6UseMTricoderOnStephen },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::demon6UseSTricoderOnTable },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::demon6UseSTricoderOnComputer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::demon6UseSTricoderOnComputer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMINERAL, 0}, &Room::demon6UseSTricoderOnMineral },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISHELLS, 0}, &Room::demon6UseSTricoderOnShells },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISKULL, 0}, &Room::demon6UseSTricoderOnSkull },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETAL, 0}, &Room::demon6UseSTricoderOnMetal },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETEOR, 0}, &Room::demon6UseSTricoderOnMeteor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::demon6UseSTricoderOnCase },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::demon6UseSTricoderOnSynthesizer },
-	{ {ACTION_GET, 0x20, 0, 0}, &Room::demon6GetCase },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::demon6KirkReachedCase },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::demon6Tick1 },
+	{ {ACTION_TICK, 30, 0, 0, 0}, &Room::demon6Tick30 },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::demon6SpockReachedComputer },
+
+	{ {ACTION_WALK, 0x26, 0, 0, 0}, &Room::demon6WalkToDoor },
+	{ {ACTION_WALK, 10, 0, 0, 0}, &Room::demon6WalkToDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::demon6TouchedDoorOpenTrigger },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::demon6DoorOpenedOrReachedDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::demon6UsePhaserOnStephen },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::demon6UsePhaserOnStephen },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::demon6UsePhaserOnCase },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::demon6UsePhaserOnCase },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::demon6LookAtWorkspace },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::demon6LookAtCase },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::demon6LookAtTable },
+	{ {ACTION_LOOK, OBJECT_IMINERAL, 0, 0, 0}, &Room::demon6LookAtMineral },
+	{ {ACTION_LOOK, OBJECT_ISHELLS, 0, 0, 0}, &Room::demon6LookAtShells },
+	{ {ACTION_LOOK, OBJECT_ISKULL, 0, 0, 0}, &Room::demon6LookAtSkull },
+	{ {ACTION_LOOK, OBJECT_IMETAL, 0, 0, 0}, &Room::demon6LookAtMetal },
+	{ {ACTION_LOOK, OBJECT_IMETEOR, 0, 0, 0}, &Room::demon6LookAtMeteor },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::demon6LookAtMountain },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::demon6LookAtSynthesizer },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::demon6LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon6LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon6LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon6LookAtRedshirt },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::demon6LookAtComputer },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::demon6LookAtComputer },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::demon6LookAnywhere },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::demon6LookAtStephen },
+
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::demon6TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::demon6TalkToSpock },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::demon6TalkToKirk },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::demon6TalkToRedshirt },
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::demon6TalkToStephen },
+	{ {ACTION_USE, OBJECT_IBERRY, 8, 0, 0}, &Room::demon6UseBerryOnStephen },
+	{ {ACTION_USE, OBJECT_IBERRY, 0x23, 0, 0}, &Room::demon6UseBerryOnSynthesizer },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::demon6MccoyReachedSynthesizer },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::demon6FinishedMakingHypoDytoxin },
+	{ {ACTION_USE, OBJECT_IHAND, 0x22, 0, 0}, &Room::demon6UseHandOnWorkspace },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::demon6SpockReachedWorkspace },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::demon6SpockFinishedRepairingHand },
+	{ {ACTION_USE, 0xff, 0x22, 0, 0}, &Room::demon6UseAnythingOnWorkspace },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::demon6UseCrewmanOnCase },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::demon6UseKirkOnComputer },
+	{ {ACTION_USE, OBJECT_KIRK, 9, 0, 0}, &Room::demon6UseKirkOnComputer },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::demon6UseMccoyOnComputer },
+	{ {ACTION_USE, OBJECT_MCCOY, 9, 0, 0}, &Room::demon6UseMccoyOnComputer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::demon6UseRedshirtOnComputer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 9, 0, 0}, &Room::demon6UseRedshirtOnComputer },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::demon6UseSpockOnComputer },
+	{ {ACTION_USE, OBJECT_SPOCK, 9, 0, 0}, &Room::demon6UseSpockOnComputer },
+	{ {ACTION_USE, OBJECT_IMINERAL, 8, 0, 0}, &Room::demon6UseMineralOnStephen },
+	{ {ACTION_USE, OBJECT_ISHELLS, 8, 0, 0}, &Room::demon6UseShellsOnStephen },
+	{ {ACTION_USE, OBJECT_IMETEOR, 8, 0, 0}, &Room::demon6UseMeteorOnStephen },
+	{ {ACTION_USE, OBJECT_ISKULL, 8, 0, 0}, &Room::demon6UseSkullOnStephen },
+	{ {ACTION_USE, OBJECT_IMETAL, 8, 0, 0}, &Room::demon6UseMetalOnStephen },
+	{ {ACTION_USE, OBJECT_IHAND, 8, 0, 0}, &Room::demon6UseHandOnStephen },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::demon6UseMTricoderOnStephen },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::demon6UseSTricoderOnTable },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::demon6UseSTricoderOnComputer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::demon6UseSTricoderOnComputer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMINERAL, 0, 0}, &Room::demon6UseSTricoderOnMineral },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISHELLS, 0, 0}, &Room::demon6UseSTricoderOnShells },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ISKULL, 0, 0}, &Room::demon6UseSTricoderOnSkull },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETAL, 0, 0}, &Room::demon6UseSTricoderOnMetal },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMETEOR, 0, 0}, &Room::demon6UseSTricoderOnMeteor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::demon6UseSTricoderOnCase },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::demon6UseSTricoderOnSynthesizer },
+	{ {ACTION_GET, 0x20, 0, 0, 0}, &Room::demon6GetCase },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::demon6KirkReachedCase },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum demon6TextIds {
diff --git a/engines/startrek/rooms/feather0.cpp b/engines/startrek/rooms/feather0.cpp
index 6b0c9128f8a..aa65eb37b14 100644
--- a/engines/startrek/rooms/feather0.cpp
+++ b/engines/startrek/rooms/feather0.cpp
@@ -40,41 +40,41 @@
 namespace StarTrek {
 
 extern const RoomAction feather0ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},  &Room::feather0Tick1 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::feather0Tick60 },
-	{ {ACTION_TALK, 8, 0, 0},  &Room::feather0TalkToQuetzecoatl },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0},                &Room::feather0Timer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},                &Room::feather0Timer1Expired },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8,            0}, &Room::feather0UsePhaserOnQuetzecoatl },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8,            0}, &Room::feather0UsePhaserOnQuetzecoatl },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::feather0UsePhaserOnMccoy },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0}, &Room::feather0UsePhaserOnMccoy },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff,          0}, &Room::feather0UseMedkit },
-	{ {ACTION_LOOK, 8,    0, 0}, &Room::feather0LookAtQuetzecoatl },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::feather0LookAtMoon },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::feather0LookAtLog },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::feather0LookAtHut },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::feather0LookAnywhere },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x26, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x27, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x28, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x29, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x2a, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x2b, 0, 0}, &Room::feather0LookAtEyes },
-	{ {ACTION_LOOK, 0x2c, 0, 0}, &Room::feather0LookAtTree },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::feather0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::feather0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather0LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::feather0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::feather0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather0TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_ISTRICOR,  8, 0}, &Room::feather0UseSTricorderOnQuetzecoatl },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR,  8, 0}, &Room::feather0UseMTricorderOnQuetzecoatl },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},  &Room::feather0Tick1 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::feather0Tick60 },
+	{ {ACTION_TALK, 8, 0, 0, 0},  &Room::feather0TalkToQuetzecoatl },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0},                &Room::feather0Timer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},                &Room::feather0Timer1Expired },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8,            0, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8,            0, 0}, &Room::feather0UsePhaserOnQuetzecoatl },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::feather0UsePhaserOnMccoy },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY, 0, 0}, &Room::feather0UsePhaserOnMccoy },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff,          0, 0}, &Room::feather0UseMedkit },
+	{ {ACTION_LOOK, 8,    0, 0, 0}, &Room::feather0LookAtQuetzecoatl },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::feather0LookAtMoon },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::feather0LookAtLog },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::feather0LookAtHut },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather0LookAnywhere },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x26, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x27, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x28, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x29, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x2a, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x2b, 0, 0, 0}, &Room::feather0LookAtEyes },
+	{ {ACTION_LOOK, 0x2c, 0, 0, 0}, &Room::feather0LookAtTree },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::feather0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::feather0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather0LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::feather0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::feather0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather0TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_ISTRICOR,  8, 0, 0}, &Room::feather0UseSTricorderOnQuetzecoatl },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR,  8, 0, 0}, &Room::feather0UseMTricorderOnQuetzecoatl },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather0TextIds {
diff --git a/engines/startrek/rooms/feather1.cpp b/engines/startrek/rooms/feather1.cpp
index 648ae07b086..c3bb39798f6 100644
--- a/engines/startrek/rooms/feather1.cpp
+++ b/engines/startrek/rooms/feather1.cpp
@@ -46,99 +46,99 @@
 namespace StarTrek {
 
 extern const RoomAction feather1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::feather1Tick1 },
-	{ {ACTION_TICK, 45, 0, 0}, &Room::feather1Tick45 },
-	{ {ACTION_TICK, 85, 0, 0}, &Room::feather1Tick85 },
-	{ {ACTION_TICK, 95, 0, 0}, &Room::feather1Tick95 },
-	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::feather1QuetzecoatlDisappeared },
-	{ {ACTION_GET, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1GetRightVine },
-	{ {ACTION_GET, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1GetLeftVine },
-	{ {ACTION_GET, HOTSPOT_ROCKS, 0, 0}, &Room::feather1GetRocks },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::feather1ReachedRocks },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::feather1PickedUpRocks },
-	{ {ACTION_GET, OBJECT_SNAKE, 0, 0}, &Room::feather1GetSnake },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::feather1ReachedSnake },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::feather1Timer1Expired },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::feather1Timer2Expired },
-	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::feather1PickedUpSnake },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::feather1Timer0Expired },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::feather1UseCommunicator },
-	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_HOLE, 0}, &Room::feather1UseRockOnHole },
-	{ {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::feather1ReachedHole },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::feather1Timer3Expired },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::feather1PutRockInHole },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_LEFT_VINE, 0}, &Room::feather1UseSnakeOnLeftVine },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0}, &Room::feather1UseSnakeOnSpock },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0}, &Room::feather1UseSnakeOnKirk },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0}, &Room::feather1UseSnakeOnMccoy },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0}, &Room::feather1UseSnakeOnRedshirt },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SNAKE, 0}, &Room::feather1UseRockOnSnake },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SNAKE, 0}, &Room::feather1UseSpockOnSnake },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SNAKE, 0}, &Room::feather1UseMccoyOnSnake },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SNAKE, 0}, &Room::feather1UseRedshirtOnSnake },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HOLE, 0}, &Room::feather1UseSpockOnHole },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_HOLE, 0}, &Room::feather1UseMccoyOnHole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HOLE, 0}, &Room::feather1UseRedshirtOnHole },
-	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_MOSS, 0}, &Room::feather1UseRockOnMoss },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0}, &Room::feather1UseRockOnSpock },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0}, &Room::feather1UseRockOnMccoy },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0}, &Room::feather1UseRockOnRedshirt },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MOSS, 0}, &Room::feather1UseSpockOnMoss },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MOSS, 0}, &Room::feather1UseMccoyOnMoss },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MOSS, 0}, &Room::feather1UseRedshirtOnMoss },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_LEFT_VINE, 0}, &Room::feather1UseRockOnLeftVine },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::feather1ReadyToThrowRock1 },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::feather1ThrewRock1 },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::feather1ReadyToThrowRock2 },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::feather1ThrewRock2 },
-
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_LEFT_VINE,   0}, &Room::feather1UseSpockOnVine },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseSpockOnVine },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_LEFT_VINE,   0}, &Room::feather1UseMccoyOnVine },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseMccoyOnVine },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_LEFT_VINE,   0}, &Room::feather1UseRedshirtOnVine },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseRedshirtOnVine },
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_LEFT_VINE,   0}, &Room::feather1UseKirkOnVine },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseKirkOnVine },
-	{ {ACTION_FINISHED_WALKING,    3, 0,                0}, &Room::feather1ReachedVineToClimbUp },
-	{ {ACTION_FINISHED_ANIMATION,  3, 0,                0}, &Room::feather1ClimbedUpVine },
-	{ {ACTION_FINISHED_WALKING,   10, 0,                0}, &Room::feather1ReachedVineToClimbDown },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0,                0}, &Room::feather1ClimbedDownVine },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather1UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather1UsePhaser },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseSTricorderOnRightVine },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SNAKE, 0}, &Room::feather1UseSTricorderOnSnake },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MOSS, 0}, &Room::feather1UseSTricorderOnMoss },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HOLE, 0}, &Room::feather1UseSTricorderOnHole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather1UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0}, &Room::feather1UseSTricorderOnRocks },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_LEFT_VINE,   0}, &Room::feather1UseMTricorderOnVine },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_VINE, 0}, &Room::feather1UseMTricorderOnVine },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MOSS, 0}, &Room::feather1UseMTricorderOnMoss },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_HOLE, 0}, &Room::feather1UseMTricorderOnHole },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SNAKE, 0}, &Room::feather1UseMTricorderOnSnake },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::feather1UseMedkit },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::feather1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::feather1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1TalkToRedshirt },
-	{ {ACTION_WALK, HOTSPOT_EXIT, 0, 0}, &Room::feather1WalkToExit },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::feather1LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_SNAKE, 0, 0}, &Room::feather1LookAtSnake },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1LookAtRightVine },
-	{ {ACTION_LOOK, HOTSPOT_HOLE, 0, 0}, &Room::feather1LookAtHole },
-	{ {ACTION_LOOK, HOTSPOT_MOSS, 0, 0}, &Room::feather1LookAtMoss },
-	{ {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0}, &Room::feather1LookAtRocks },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0}, &Room::feather1LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0}, &Room::feather1LookAtEyes },
-	{ {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0}, &Room::feather1LookAtEyes },
-	{ {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0}, &Room::feather1LookAtEyes },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::feather1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::feather1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::feather1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1LookAtLeftVine },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::feather1Tick1 },
+	{ {ACTION_TICK, 45, 0, 0, 0}, &Room::feather1Tick45 },
+	{ {ACTION_TICK, 85, 0, 0, 0}, &Room::feather1Tick85 },
+	{ {ACTION_TICK, 95, 0, 0, 0}, &Room::feather1Tick95 },
+	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::feather1QuetzecoatlDisappeared },
+	{ {ACTION_GET, HOTSPOT_RIGHT_VINE, 0, 0, 0}, &Room::feather1GetRightVine },
+	{ {ACTION_GET, OBJECT_LEFT_VINE, 0, 0, 0}, &Room::feather1GetLeftVine },
+	{ {ACTION_GET, HOTSPOT_ROCKS, 0, 0, 0}, &Room::feather1GetRocks },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::feather1ReachedRocks },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::feather1PickedUpRocks },
+	{ {ACTION_GET, OBJECT_SNAKE, 0, 0, 0}, &Room::feather1GetSnake },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::feather1ReachedSnake },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::feather1Timer1Expired },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::feather1Timer2Expired },
+	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::feather1PickedUpSnake },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::feather1Timer0Expired },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::feather1UseCommunicator },
+	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseRockOnHole },
+	{ {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::feather1ReachedHole },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::feather1Timer3Expired },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::feather1PutRockInHole },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseSnakeOnLeftVine },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0}, &Room::feather1UseSnakeOnSpock },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0}, &Room::feather1UseSnakeOnKirk },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0}, &Room::feather1UseSnakeOnMccoy },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0}, &Room::feather1UseSnakeOnRedshirt },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SNAKE, 0, 0}, &Room::feather1UseRockOnSnake },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SNAKE, 0, 0}, &Room::feather1UseSpockOnSnake },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SNAKE, 0, 0}, &Room::feather1UseMccoyOnSnake },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SNAKE, 0, 0}, &Room::feather1UseRedshirtOnSnake },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseSpockOnHole },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseMccoyOnHole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseRedshirtOnHole },
+	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseRockOnMoss },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0, 0}, &Room::feather1UseRockOnSpock },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0, 0}, &Room::feather1UseRockOnMccoy },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0, 0}, &Room::feather1UseRockOnRedshirt },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseSpockOnMoss },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseMccoyOnMoss },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseRedshirtOnMoss },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_LEFT_VINE, 0, 0}, &Room::feather1UseRockOnLeftVine },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::feather1ReadyToThrowRock1 },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::feather1ThrewRock1 },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::feather1ReadyToThrowRock2 },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::feather1ThrewRock2 },
+
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_LEFT_VINE,   0, 0}, &Room::feather1UseSpockOnVine },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseSpockOnVine },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_LEFT_VINE,   0, 0}, &Room::feather1UseMccoyOnVine },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseMccoyOnVine },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_LEFT_VINE,   0, 0}, &Room::feather1UseRedshirtOnVine },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseRedshirtOnVine },
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_LEFT_VINE,   0, 0}, &Room::feather1UseKirkOnVine },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseKirkOnVine },
+	{ {ACTION_FINISHED_WALKING,    3, 0,                0, 0}, &Room::feather1ReachedVineToClimbUp },
+	{ {ACTION_FINISHED_ANIMATION,  3, 0,                0, 0}, &Room::feather1ClimbedUpVine },
+	{ {ACTION_FINISHED_WALKING,   10, 0,                0, 0}, &Room::feather1ReachedVineToClimbDown },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0,                0, 0}, &Room::feather1ClimbedDownVine },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather1UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather1UsePhaser },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseSTricorderOnRightVine },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SNAKE, 0, 0}, &Room::feather1UseSTricorderOnSnake },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseSTricorderOnMoss },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseSTricorderOnHole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather1UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0, 0}, &Room::feather1UseSTricorderOnRocks },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_LEFT_VINE,   0, 0}, &Room::feather1UseMTricorderOnVine },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_VINE, 0, 0}, &Room::feather1UseMTricorderOnVine },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MOSS, 0, 0}, &Room::feather1UseMTricorderOnMoss },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_HOLE, 0, 0}, &Room::feather1UseMTricorderOnHole },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SNAKE, 0, 0}, &Room::feather1UseMTricorderOnSnake },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::feather1UseMedkit },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather1TalkToRedshirt },
+	{ {ACTION_WALK, HOTSPOT_EXIT, 0, 0, 0}, &Room::feather1WalkToExit },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::feather1LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_SNAKE, 0, 0, 0}, &Room::feather1LookAtSnake },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_VINE, 0, 0, 0}, &Room::feather1LookAtRightVine },
+	{ {ACTION_LOOK, HOTSPOT_HOLE, 0, 0, 0}, &Room::feather1LookAtHole },
+	{ {ACTION_LOOK, HOTSPOT_MOSS, 0, 0, 0}, &Room::feather1LookAtMoss },
+	{ {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0, 0}, &Room::feather1LookAtRocks },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT, 0, 0, 0}, &Room::feather1LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_EYES_1, 0, 0, 0}, &Room::feather1LookAtEyes },
+	{ {ACTION_LOOK, HOTSPOT_EYES_2, 0, 0, 0}, &Room::feather1LookAtEyes },
+	{ {ACTION_LOOK, HOTSPOT_EYES_3, 0, 0, 0}, &Room::feather1LookAtEyes },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::feather1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::feather1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::feather1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::feather1LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_LEFT_VINE, 0, 0, 0}, &Room::feather1LookAtLeftVine },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather1TextIds {
diff --git a/engines/startrek/rooms/feather2.cpp b/engines/startrek/rooms/feather2.cpp
index 578cfb127af..08b5f2f64e6 100644
--- a/engines/startrek/rooms/feather2.cpp
+++ b/engines/startrek/rooms/feather2.cpp
@@ -32,29 +32,29 @@
 namespace StarTrek {
 
 extern const RoomAction feather2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},                 &Room::feather2Tick1 },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},    &Room::feather2UseCommunicator },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::feather2UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::feather2UsePhaser },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::feather2UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::feather2UseMTricorderAnywhere },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},      &Room::feather2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},      &Room::feather2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},   &Room::feather2TalkToRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_VINES, 0, 0},     &Room::feather2LookAtVines },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},  &Room::feather2UseMedkit },
-	{ {ACTION_WALK, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather2WalkToLeftExit },
-	{ {ACTION_LOOK, HOTSPOT_EYES_1,    0, 0}, &Room::feather2LookAtEyes },
-	{ {ACTION_LOOK, HOTSPOT_EYES_2,    0, 0}, &Room::feather2LookAtEyes },
-	{ {ACTION_LOOK, HOTSPOT_EYES_3,    0, 0}, &Room::feather2LookAtEyes },
-	{ {ACTION_LOOK, HOTSPOT_BIG_TREE,  0, 0}, &Room::feather2LookAtBigTree },
-	{ {ACTION_LOOK, HOTSPOT_TREES,     0, 0}, &Room::feather2LookAtTrees },
-	{ {ACTION_LOOK, 0xff,              0, 0}, &Room::feather2LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0}, &Room::feather2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0}, &Room::feather2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0}, &Room::feather2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0}, &Room::feather2LookAtRedshirt },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},                 &Room::feather2Tick1 },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},    &Room::feather2UseCommunicator },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::feather2UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::feather2UsePhaser },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::feather2UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::feather2UseMTricorderAnywhere },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},      &Room::feather2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},      &Room::feather2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},   &Room::feather2TalkToRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_VINES, 0, 0, 0},     &Room::feather2LookAtVines },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},  &Room::feather2UseMedkit },
+	{ {ACTION_WALK, HOTSPOT_LEFT_EXIT, 0, 0, 0}, &Room::feather2WalkToLeftExit },
+	{ {ACTION_LOOK, HOTSPOT_EYES_1,    0, 0, 0}, &Room::feather2LookAtEyes },
+	{ {ACTION_LOOK, HOTSPOT_EYES_2,    0, 0, 0}, &Room::feather2LookAtEyes },
+	{ {ACTION_LOOK, HOTSPOT_EYES_3,    0, 0, 0}, &Room::feather2LookAtEyes },
+	{ {ACTION_LOOK, HOTSPOT_BIG_TREE,  0, 0, 0}, &Room::feather2LookAtBigTree },
+	{ {ACTION_LOOK, HOTSPOT_TREES,     0, 0, 0}, &Room::feather2LookAtTrees },
+	{ {ACTION_LOOK, 0xff,              0, 0, 0}, &Room::feather2LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0, 0}, &Room::feather2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0, 0}, &Room::feather2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0, 0}, &Room::feather2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0, 0}, &Room::feather2LookAtRedshirt },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather2TextIds {
diff --git a/engines/startrek/rooms/feather3.cpp b/engines/startrek/rooms/feather3.cpp
index a8b371ec475..f9395f21bc6 100644
--- a/engines/startrek/rooms/feather3.cpp
+++ b/engines/startrek/rooms/feather3.cpp
@@ -35,59 +35,59 @@
 namespace StarTrek {
 
 extern const RoomAction feather3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},                 &Room::feather3Tick1 },
-	{ {ACTION_TICK, 40, 0, 0},                &Room::feather3Tick40 },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},      &Room::feather3TouchedHotspot0 },
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_TLAOXAC, 0}, &Room::feather3UseSpockOnTlaoxac },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_TLAOXAC, 0}, &Room::feather3UseMccoyOnTlaoxac },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_TLAOXAC, 0}, &Room::feather3UseRedshirtOnTlaoxac },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0}, &Room::feather3UseCrewmanOnLeftExit },
-	{ {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::feather3UseCommunicator },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0},     &Room::feather3UseSnakeOnKirk },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0},    &Room::feather3UseSnakeOnSpock },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0}, &Room::feather3UseSnakeOnRedshirt },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0},              &Room::feather3KirkReachedRedshirtWithSnake },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0},    &Room::feather3UseSnakeOnMccoy },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_TLAOXAC, 0},  &Room::feather3UseSnakeOnTlaoxac },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0},    &Room::feather3UseKnifeOnSpock },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0},    &Room::feather3UseKnifeOnMccoy },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0}, &Room::feather3UseKnifeOnRedshirt },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_TLAOXAC, 0},   &Room::feather3UseRockOnTlaoxac },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0},              &Room::feather3KirkReachedPositionToThrowRock },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0},                 &Room::feather3Timer4Expired },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0},                 &Room::feather3Timer2Expired },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0},                 &Room::feather3Timer3Expired },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0},            &Room::feather3TlaoxacKnockedOutFromRockThrow },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0},          &Room::feather3UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0},          &Room::feather3UsePhaser },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},               &Room::feather3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},               &Room::feather3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},            &Room::feather3TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_TLAOXAC, 0, 0},             &Room::feather3TalkToTlaoxac },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0},            &Room::feather3TlaoxacKilledRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_TLAOXAC, 0}, &Room::feather3UseMTricorderOnTlaoxac },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_TLAOXAC, 0}, &Room::feather3UseMedkitOnTlaoxac },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::feather3UseMedkitOnRedshirt },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},           &Room::feather3UseMedkitAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather3UseMTricorderOnLight },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather3UseMTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather3UseSTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather3UseSTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0},            &Room::feather3UseSTricorderAnywhere },
-	{ {ACTION_GET, OBJECT_KNIFE, 0, 0},                  &Room::feather3GetKnife },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0},                &Room::feather3ReachedKnife },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},                   &Room::feather3Timer1Expired },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0},              &Room::feather3PickedUpKnife },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},                 &Room::feather3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0},              &Room::feather3LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_TLAOXAC, 0, 0},               &Room::feather3LookAtTlaoxac },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0},              &Room::feather3LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0},              &Room::feather3LookAtLight },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},                 &Room::feather3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_KNIFE, 0, 0},                 &Room::feather3LookAtKnife },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},                 &Room::feather3Tick1 },
+	{ {ACTION_TICK, 40, 0, 0, 0},                &Room::feather3Tick40 },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},      &Room::feather3TouchedHotspot0 },
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseSpockOnTlaoxac },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMccoyOnTlaoxac },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseRedshirtOnTlaoxac },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather3UseCrewmanOnLeftExit },
+	{ {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::feather3UseCommunicator },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0},     &Room::feather3UseSnakeOnKirk },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0},    &Room::feather3UseSnakeOnSpock },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseSnakeOnRedshirt },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0},              &Room::feather3KirkReachedRedshirtWithSnake },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0},    &Room::feather3UseSnakeOnMccoy },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_TLAOXAC, 0, 0},  &Room::feather3UseSnakeOnTlaoxac },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0},    &Room::feather3UseKnifeOnSpock },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0},    &Room::feather3UseKnifeOnMccoy },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseKnifeOnRedshirt },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_TLAOXAC, 0, 0},   &Room::feather3UseRockOnTlaoxac },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0},              &Room::feather3KirkReachedPositionToThrowRock },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0},                 &Room::feather3Timer4Expired },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0},                 &Room::feather3Timer2Expired },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0},                 &Room::feather3Timer3Expired },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0},            &Room::feather3TlaoxacKnockedOutFromRockThrow },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0},          &Room::feather3UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0},          &Room::feather3UsePhaser },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},               &Room::feather3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},               &Room::feather3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},            &Room::feather3TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_TLAOXAC, 0, 0, 0},             &Room::feather3TalkToTlaoxac },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0},            &Room::feather3TlaoxacKilledRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMTricorderOnTlaoxac },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_TLAOXAC, 0, 0}, &Room::feather3UseMedkitOnTlaoxac },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::feather3UseMedkitOnRedshirt },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},           &Room::feather3UseMedkitAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather3UseMTricorderOnLight },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather3UseMTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather3UseSTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather3UseSTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0},            &Room::feather3UseSTricorderAnywhere },
+	{ {ACTION_GET, OBJECT_KNIFE, 0, 0, 0},                  &Room::feather3GetKnife },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0},                &Room::feather3ReachedKnife },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},                   &Room::feather3Timer1Expired },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0},              &Room::feather3PickedUpKnife },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},                 &Room::feather3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0},              &Room::feather3LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_TLAOXAC, 0, 0, 0},               &Room::feather3LookAtTlaoxac },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0, 0},              &Room::feather3LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0, 0},              &Room::feather3LookAtLight },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},                 &Room::feather3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_KNIFE, 0, 0, 0},                 &Room::feather3LookAtKnife },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather3TextIds {
diff --git a/engines/startrek/rooms/feather4.cpp b/engines/startrek/rooms/feather4.cpp
index 9d0a3248b36..589d6f03992 100644
--- a/engines/startrek/rooms/feather4.cpp
+++ b/engines/startrek/rooms/feather4.cpp
@@ -31,37 +31,37 @@
 namespace StarTrek {
 
 extern const RoomAction feather4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},                            &Room::feather4Tick1 },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},               &Room::feather4UseCommunicator },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0},            &Room::feather4UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0},            &Room::feather4UsePhaser },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather4UseSTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather4UseSTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_3, 0}, &Room::feather4UseSTricorderOnLight },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MUSHROOM, 0}, &Room::feather4UseSTricorderOnMushroom },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0},    &Room::feather4UseSTricorderOnFern },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0},            &Room::feather4UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0}, &Room::feather4UseMTricorderOnLight },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0}, &Room::feather4UseMTricorderOnLight },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_3, 0}, &Room::feather4UseMTricorderOnLight },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MUSHROOM, 0}, &Room::feather4UseMTricorderOnMushroom },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0},            &Room::feather4UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},             &Room::feather4UseMedkitAnywhere },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},     &Room::feather4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},     &Room::feather4TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},  &Room::feather4TalkToRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_EYES, 0, 0},     &Room::feather4LookAtEyes },
-	{ {ACTION_LOOK, 0xff, 0, 0},             &Room::feather4LookAnywhere },
-	{ {ACTION_LOOK, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4LookAtMushroom },
-	{ {ACTION_LOOK, HOTSPOT_FERN, 0, 0},     &Room::feather4LookAtFern },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0},  &Room::feather4LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0},  &Room::feather4LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT_3, 0, 0},  &Room::feather4LookAtLight },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},      &Room::feather4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},     &Room::feather4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},     &Room::feather4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0},  &Room::feather4LookAtRedshirt },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},                            &Room::feather4Tick1 },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},               &Room::feather4UseCommunicator },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0},            &Room::feather4UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0},            &Room::feather4UsePhaser },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather4UseSTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather4UseSTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LIGHT_3, 0, 0}, &Room::feather4UseSTricorderOnLight },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4UseSTricorderOnMushroom },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0, 0},    &Room::feather4UseSTricorderOnFern },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0},            &Room::feather4UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_1, 0, 0}, &Room::feather4UseMTricorderOnLight },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_2, 0, 0}, &Room::feather4UseMTricorderOnLight },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_LIGHT_3, 0, 0}, &Room::feather4UseMTricorderOnLight },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MUSHROOM, 0, 0}, &Room::feather4UseMTricorderOnMushroom },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0},            &Room::feather4UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},             &Room::feather4UseMedkitAnywhere },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},     &Room::feather4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},     &Room::feather4TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},  &Room::feather4TalkToRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_EYES, 0, 0, 0},     &Room::feather4LookAtEyes },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0},             &Room::feather4LookAnywhere },
+	{ {ACTION_LOOK, HOTSPOT_MUSHROOM, 0, 0, 0}, &Room::feather4LookAtMushroom },
+	{ {ACTION_LOOK, HOTSPOT_FERN, 0, 0, 0},     &Room::feather4LookAtFern },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT_1, 0, 0, 0},  &Room::feather4LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT_2, 0, 0, 0},  &Room::feather4LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT_3, 0, 0, 0},  &Room::feather4LookAtLight },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},      &Room::feather4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},     &Room::feather4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},     &Room::feather4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0},  &Room::feather4LookAtRedshirt },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather4TextIds {
diff --git a/engines/startrek/rooms/feather5.cpp b/engines/startrek/rooms/feather5.cpp
index 785d80cddbb..8479e99c3a0 100644
--- a/engines/startrek/rooms/feather5.cpp
+++ b/engines/startrek/rooms/feather5.cpp
@@ -39,76 +39,76 @@
 namespace StarTrek {
 
 extern const RoomAction feather5ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},                            &Room::feather5Tick1 },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},                 &Room::feather5TouchedHotspot0 },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FERN, 0},       &Room::feather5UseSpockOnFern },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FERN, 0},       &Room::feather5UseMccoyOnFern },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FERN, 0},    &Room::feather5UseRedshirtOnFern },
-
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0}, &Room::feather5UseRedshirtOnLeftExit },
-	{ {ACTION_DONE_WALK, 8, 0, 0},                         &Room::feather5RedshirtReachedLog },
-	{ {ACTION_DONE_ANIM, 8, 0, 0},                         &Room::feather5RedshirtDeathFinished },
-
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0},    &Room::feather5UseSpockOnLeftExit },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0},    &Room::feather5UseMccoyOnLeftExit },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0},         &Room::feather5UseSnakeOnKirk },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0},        &Room::feather5UseSnakeOnSpock },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0},        &Room::feather5UseSnakeOnMccoy },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0},     &Room::feather5UseSnakeOnRedshirt },
-	{ {ACTION_USE, OBJECT_ISNAKE, HOTSPOT_WATER, 0},       &Room::feather5UseSnakeOnWater },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_KIRK, 0},         &Room::feather5UseKnifeOnKirk },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0},        &Room::feather5UseKnifeOnSpock },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0},        &Room::feather5UseKnifeOnMccoy },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0},     &Room::feather5UseKnifeOnRedshirt },
-	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_WATER, 0},       &Room::feather5UseKnifeOnWater },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MONSTER, 0},      &Room::feather5UseKnifeOnMonster },
-	{ {ACTION_GET, HOTSPOT_FERN, 0, 0},                    &Room::feather5GetFern },
-
-	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_FERN, 0},        &Room::feather5UseKnifeOnFern },
-	{ {ACTION_DONE_WALK, 1, 0, 0},                         &Room::feather5ReachedFern },
-	{ {ACTION_DONE_ANIM, 1, 0, 0},                         &Room::feather5PickedUpFern },
-
-	{ {ACTION_USE, OBJECT_IFERN, OBJECT_MONSTER, 0},       &Room::feather5UseFernOnMonster },
-	{ {ACTION_USE, OBJECT_IFERN, HOTSPOT_WATER, 0},        &Room::feather5UseFernOnMonster },
-	{ {ACTION_DONE_WALK, 2, 0, 0},                         &Room::feather5ReachedPositionToUseFern },
-	{ {ACTION_DONE_ANIM, 2, 0, 0},                         &Room::feather5DoneThrowingFern },
-	{ {ACTION_DONE_ANIM, 3, 0, 0},                         &Room::feather5FernFellIntoWater },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},                     &Room::feather5Timer1Expired },
-
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0},         &Room::feather5UseRockOnSpock },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0},         &Room::feather5UseRockOnMccoy },
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0},      &Room::feather5UseRockOnRedshirt },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_THROWN_FERN, 0},   &Room::feather5UseCrewmanOnThrownFern },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_THROWN_FERN, 0},   &Room::feather5UseCrewmanOnThrownFern },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_THROWN_FERN, 0}, &Room::feather5UseCrewmanOnThrownFern },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_MONSTER, 0},       &Room::feather5UseSpockOnMonster },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_MONSTER, 0},       &Room::feather5UseMccoyOnMonster },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_MONSTER, 0},    &Room::feather5UseRedshirtOnMonster },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0},              &Room::feather5UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0},              &Room::feather5UsePhaser },
-	{ {ACTION_LOOK, 0xff, 0, 0},                           &Room::feather5LookAnywhere },
-	{ {ACTION_LOOK, HOTSPOT_LOG, 0, 0},                    &Room::feather5LookAtLog },
-	{ {ACTION_LOOK, HOTSPOT_WATER, 0, 0},                  &Room::feather5LookAtWater },
-	{ {ACTION_LOOK, HOTSPOT_FERN, 0, 0},                   &Room::feather5LookAtFern },
-	{ {ACTION_LOOK, HOTSPOT_INSECTS_1, 0, 0},              &Room::feather5LookAtInsects },
-	{ {ACTION_LOOK, HOTSPOT_INSECTS_2, 0, 0},              &Room::feather5LookAtInsects },
-	{ {ACTION_LOOK, HOTSPOT_CAVE, 0, 0},                   &Room::feather5LookAtCave },
-	{ {ACTION_LOOK, OBJECT_MONSTER, 0, 0},                 &Room::feather5LookAtMonster },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},                   &Room::feather5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},                    &Room::feather5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},                   &Room::feather5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0},                &Room::feather5LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},                   &Room::feather5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},                   &Room::feather5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},                &Room::feather5TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_WATER, 0},     &Room::feather5UseMTricorderOnWater },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MONSTER, 0},    &Room::feather5UseMTricorderOnMonster },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MONSTER, 0},    &Room::feather5UseSTricorderOnMonster },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0},              &Room::feather5UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WATER, 0},     &Room::feather5UseSTricorderOnWater },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0},      &Room::feather5UseSTricorderOnFern },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},               &Room::feather5UseMedkitAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},                            &Room::feather5Tick1 },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},                 &Room::feather5TouchedHotspot0 },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FERN, 0, 0},       &Room::feather5UseSpockOnFern },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FERN, 0, 0},       &Room::feather5UseMccoyOnFern },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FERN, 0, 0},    &Room::feather5UseRedshirtOnFern },
+
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_EXIT, 0, 0}, &Room::feather5UseRedshirtOnLeftExit },
+	{ {ACTION_DONE_WALK, 8, 0, 0, 0},                         &Room::feather5RedshirtReachedLog },
+	{ {ACTION_DONE_ANIM, 8, 0, 0, 0},                         &Room::feather5RedshirtDeathFinished },
+
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LEFT_EXIT, 0, 0},    &Room::feather5UseSpockOnLeftExit },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LEFT_EXIT, 0, 0},    &Room::feather5UseMccoyOnLeftExit },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_KIRK, 0, 0},         &Room::feather5UseSnakeOnKirk },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_SPOCK, 0, 0},        &Room::feather5UseSnakeOnSpock },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_MCCOY, 0, 0},        &Room::feather5UseSnakeOnMccoy },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_REDSHIRT, 0, 0},     &Room::feather5UseSnakeOnRedshirt },
+	{ {ACTION_USE, OBJECT_ISNAKE, HOTSPOT_WATER, 0, 0},       &Room::feather5UseSnakeOnWater },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_KIRK, 0, 0},         &Room::feather5UseKnifeOnKirk },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0},        &Room::feather5UseKnifeOnSpock },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0},        &Room::feather5UseKnifeOnMccoy },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0},     &Room::feather5UseKnifeOnRedshirt },
+	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_WATER, 0, 0},       &Room::feather5UseKnifeOnWater },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MONSTER, 0, 0},      &Room::feather5UseKnifeOnMonster },
+	{ {ACTION_GET, HOTSPOT_FERN, 0, 0, 0},                    &Room::feather5GetFern },
+
+	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_FERN, 0, 0},        &Room::feather5UseKnifeOnFern },
+	{ {ACTION_DONE_WALK, 1, 0, 0, 0},                         &Room::feather5ReachedFern },
+	{ {ACTION_DONE_ANIM, 1, 0, 0, 0},                         &Room::feather5PickedUpFern },
+
+	{ {ACTION_USE, OBJECT_IFERN, OBJECT_MONSTER, 0, 0},       &Room::feather5UseFernOnMonster },
+	{ {ACTION_USE, OBJECT_IFERN, HOTSPOT_WATER, 0, 0},        &Room::feather5UseFernOnMonster },
+	{ {ACTION_DONE_WALK, 2, 0, 0, 0},                         &Room::feather5ReachedPositionToUseFern },
+	{ {ACTION_DONE_ANIM, 2, 0, 0, 0},                         &Room::feather5DoneThrowingFern },
+	{ {ACTION_DONE_ANIM, 3, 0, 0, 0},                         &Room::feather5FernFellIntoWater },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},                     &Room::feather5Timer1Expired },
+
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_SPOCK, 0, 0},         &Room::feather5UseRockOnSpock },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_MCCOY, 0, 0},         &Room::feather5UseRockOnMccoy },
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_REDSHIRT, 0, 0},      &Room::feather5UseRockOnRedshirt },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_THROWN_FERN, 0, 0},   &Room::feather5UseCrewmanOnThrownFern },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_THROWN_FERN, 0, 0},   &Room::feather5UseCrewmanOnThrownFern },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_THROWN_FERN, 0, 0}, &Room::feather5UseCrewmanOnThrownFern },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_MONSTER, 0, 0},       &Room::feather5UseSpockOnMonster },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_MONSTER, 0, 0},       &Room::feather5UseMccoyOnMonster },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_MONSTER, 0, 0},    &Room::feather5UseRedshirtOnMonster },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0},              &Room::feather5UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0},              &Room::feather5UsePhaser },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0},                           &Room::feather5LookAnywhere },
+	{ {ACTION_LOOK, HOTSPOT_LOG, 0, 0, 0},                    &Room::feather5LookAtLog },
+	{ {ACTION_LOOK, HOTSPOT_WATER, 0, 0, 0},                  &Room::feather5LookAtWater },
+	{ {ACTION_LOOK, HOTSPOT_FERN, 0, 0, 0},                   &Room::feather5LookAtFern },
+	{ {ACTION_LOOK, HOTSPOT_INSECTS_1, 0, 0, 0},              &Room::feather5LookAtInsects },
+	{ {ACTION_LOOK, HOTSPOT_INSECTS_2, 0, 0, 0},              &Room::feather5LookAtInsects },
+	{ {ACTION_LOOK, HOTSPOT_CAVE, 0, 0, 0},                   &Room::feather5LookAtCave },
+	{ {ACTION_LOOK, OBJECT_MONSTER, 0, 0, 0},                 &Room::feather5LookAtMonster },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},                   &Room::feather5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},                    &Room::feather5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},                   &Room::feather5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0},                &Room::feather5LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},                   &Room::feather5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},                   &Room::feather5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},                &Room::feather5TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_WATER, 0, 0},     &Room::feather5UseMTricorderOnWater },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MONSTER, 0, 0},    &Room::feather5UseMTricorderOnMonster },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MONSTER, 0, 0},    &Room::feather5UseSTricorderOnMonster },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0},              &Room::feather5UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WATER, 0, 0},     &Room::feather5UseSTricorderOnWater },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FERN, 0, 0},      &Room::feather5UseSTricorderOnFern },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},               &Room::feather5UseMedkitAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather5TextIds {
diff --git a/engines/startrek/rooms/feather6.cpp b/engines/startrek/rooms/feather6.cpp
index 02675cb4054..a3042ad21c3 100644
--- a/engines/startrek/rooms/feather6.cpp
+++ b/engines/startrek/rooms/feather6.cpp
@@ -33,69 +33,69 @@
 namespace StarTrek {
 
 extern const RoomAction feather6ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},                            &Room::feather6Tick1 },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},                 &Room::feather6TouchedHotspot0 },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_CRYSTALS, 0},    &Room::feather6UseSpockOnCrystals },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_CRYSTALS, 0},    &Room::feather6UseMccoyOnCrystals },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_CRYSTALS, 0}, &Room::feather6UseRedshirtOnCrystals },
-
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_STALACTITES, 0},  &Room::feather6UseRockOnStalactites },
-	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALACTITES, 0}, &Room::feather6UseRockOnStalactites },
-	{ {ACTION_DONE_WALK, 1, 0, 0},                        &Room::feather6ReachedPositionToThrowRock },
-	{ {ACTION_DONE_ANIM, 7, 0, 0},                        &Room::feather6DoneThrowingRock },
-	{ {ACTION_DONE_ANIM, 2, 0, 0},                        &Room::feather6KirkDiedFromStalactites },
-
-	{ {ACTION_USE, OBJECT_IROCK, OBJECT_CRYSTALS, 0},     &Room::feather6UseRockOnCrystals },
-	{ {ACTION_DONE_WALK, 4, 0, 0},                        &Room::feather6ReachedCrystalsWithRock },
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},                    &Room::feather6Tick },
-	{ {ACTION_DONE_ANIM, 10, 0, 0},                       &Room::feather6HitCrystalsWithRockFirstTime },
-	{ {ACTION_DONE_ANIM, 9, 0, 0},                        &Room::feather6HitCrystalsWithRockSecondTime },
-
-	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseRockOnStalagmites },
-	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_EAST_EXIT, 0},   &Room::feather6UseRockOnStalagmites },
-	{ {ACTION_USE, OBJECT_IROCK, 0xff, 0},                &Room::feather6UseRockAnywhere },
-	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseKnifeOnStalagmites },
-	{ {ACTION_USE, OBJECT_IKNIFE, 0xff, 0},               &Room::feather6UseKnifeAnywhere },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0},       &Room::feather6UseKnifeOnMccoy },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0},       &Room::feather6UseKnifeOnSpock },
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0},    &Room::feather6UseKnifeOnRedshirt },
-	{ {ACTION_USE, OBJECT_ICRYSTAL, 0xff, 0},             &Room::feather6UseCrystalAnywhere },
-	{ {ACTION_USE, OBJECT_ISNAKE, 0xff, 0},               &Room::feather6UseSnakeAnywhere },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},              &Room::feather6UseMedkitAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0},             &Room::feather6UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0},             &Room::feather6UsePhaser },
-	{ {ACTION_LOOK, HOTSPOT_EAST_EXIT, 0, 0},             &Room::feather6LookAtEastExit },
-	{ {ACTION_LOOK, 0xff, 0, 0},                          &Room::feather6LookAnywhere },
-	{ {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0},                 &Room::feather6LookAtRocks },
-	{ {ACTION_LOOK, HOTSPOT_STALAGMITES, 0, 0},           &Room::feather6LookAtStalagmites },
-	{ {ACTION_LOOK, OBJECT_CRYSTALS, 0, 0},               &Room::feather6LookAtCrystals },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},                   &Room::feather6LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},                  &Room::feather6LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},                  &Room::feather6LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0},               &Room::feather6LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_STALACTITES, 0, 0},           &Room::feather6LookAtStalactites },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},                  &Room::feather6TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},               &Room::feather6TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},                  &Room::feather6TalkToSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EAST_EXIT, 0}, &Room::feather6UseMTricorderOnEastExit },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_ROCKS, 0},    &Room::feather6UseMTricorderOnRocks },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EAST_EXIT, 0}, &Room::feather6UseSTricorderOnEastExit },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0},             &Room::feather6UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0},    &Room::feather6UseSTricorderOnRocks },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CRYSTALS, 0},  &Room::feather6UseSTricorderOnCrystals },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALACTITES, 0}, &Room::feather6UseSTricorderOnStalactites },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALAGMITES, 0}, &Room::feather6UseSTricorderOnStalagmites },
-	{ {ACTION_GET, OBJECT_CRYSTALS, 0, 0},                &Room::feather6GetCrystals },
-
-	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_CRYSTALS, 0},    &Room::feather6UseKnifeOnCrystals },
-	{ {ACTION_DONE_WALK, 2, 0, 0},                        &Room::feather6ReachedCrystalsWithKnife },
-	{ {ACTION_DONE_ANIM, 3, 0, 0},                        &Room::feather6DoneCuttingCrystals },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0},                    &Room::feather6Timer4Expired },
+	{ {ACTION_TICK, 1, 0, 0, 0},                            &Room::feather6Tick1 },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},                 &Room::feather6TouchedHotspot0 },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_CRYSTALS, 0, 0},    &Room::feather6UseSpockOnCrystals },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_CRYSTALS, 0, 0},    &Room::feather6UseMccoyOnCrystals },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_CRYSTALS, 0, 0}, &Room::feather6UseRedshirtOnCrystals },
+
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_STALACTITES, 0, 0},  &Room::feather6UseRockOnStalactites },
+	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALACTITES, 0, 0}, &Room::feather6UseRockOnStalactites },
+	{ {ACTION_DONE_WALK, 1, 0, 0, 0},                        &Room::feather6ReachedPositionToThrowRock },
+	{ {ACTION_DONE_ANIM, 7, 0, 0, 0},                        &Room::feather6DoneThrowingRock },
+	{ {ACTION_DONE_ANIM, 2, 0, 0, 0},                        &Room::feather6KirkDiedFromStalactites },
+
+	{ {ACTION_USE, OBJECT_IROCK, OBJECT_CRYSTALS, 0, 0},     &Room::feather6UseRockOnCrystals },
+	{ {ACTION_DONE_WALK, 4, 0, 0, 0},                        &Room::feather6ReachedCrystalsWithRock },
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},                    &Room::feather6Tick },
+	{ {ACTION_DONE_ANIM, 10, 0, 0, 0},                       &Room::feather6HitCrystalsWithRockFirstTime },
+	{ {ACTION_DONE_ANIM, 9, 0, 0, 0},                        &Room::feather6HitCrystalsWithRockSecondTime },
+
+	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseRockOnStalagmites },
+	{ {ACTION_USE, OBJECT_IROCK, HOTSPOT_EAST_EXIT, 0, 0},   &Room::feather6UseRockOnStalagmites },
+	{ {ACTION_USE, OBJECT_IROCK, 0xff, 0, 0},                &Room::feather6UseRockAnywhere },
+	{ {ACTION_USE, OBJECT_IKNIFE, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseKnifeOnStalagmites },
+	{ {ACTION_USE, OBJECT_IKNIFE, 0xff, 0, 0},               &Room::feather6UseKnifeAnywhere },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_MCCOY, 0, 0},       &Room::feather6UseKnifeOnMccoy },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_SPOCK, 0, 0},       &Room::feather6UseKnifeOnSpock },
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_REDSHIRT, 0, 0},    &Room::feather6UseKnifeOnRedshirt },
+	{ {ACTION_USE, OBJECT_ICRYSTAL, 0xff, 0, 0},             &Room::feather6UseCrystalAnywhere },
+	{ {ACTION_USE, OBJECT_ISNAKE, 0xff, 0, 0},               &Room::feather6UseSnakeAnywhere },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},              &Room::feather6UseMedkitAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0},             &Room::feather6UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0},             &Room::feather6UsePhaser },
+	{ {ACTION_LOOK, HOTSPOT_EAST_EXIT, 0, 0, 0},             &Room::feather6LookAtEastExit },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0},                          &Room::feather6LookAnywhere },
+	{ {ACTION_LOOK, HOTSPOT_ROCKS, 0, 0, 0},                 &Room::feather6LookAtRocks },
+	{ {ACTION_LOOK, HOTSPOT_STALAGMITES, 0, 0, 0},           &Room::feather6LookAtStalagmites },
+	{ {ACTION_LOOK, OBJECT_CRYSTALS, 0, 0, 0},               &Room::feather6LookAtCrystals },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},                   &Room::feather6LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},                  &Room::feather6LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},                  &Room::feather6LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0},               &Room::feather6LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_STALACTITES, 0, 0, 0},           &Room::feather6LookAtStalactites },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},                  &Room::feather6TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},               &Room::feather6TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},                  &Room::feather6TalkToSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6UseMTricorderOnEastExit },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_ROCKS, 0, 0},    &Room::feather6UseMTricorderOnRocks },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EAST_EXIT, 0, 0}, &Room::feather6UseSTricorderOnEastExit },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0},             &Room::feather6UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_ROCKS, 0, 0},    &Room::feather6UseSTricorderOnRocks },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CRYSTALS, 0, 0},  &Room::feather6UseSTricorderOnCrystals },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALACTITES, 0, 0}, &Room::feather6UseSTricorderOnStalactites },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STALAGMITES, 0, 0}, &Room::feather6UseSTricorderOnStalagmites },
+	{ {ACTION_GET, OBJECT_CRYSTALS, 0, 0, 0},                &Room::feather6GetCrystals },
+
+	{ {ACTION_USE, OBJECT_IKNIFE, OBJECT_CRYSTALS, 0, 0},    &Room::feather6UseKnifeOnCrystals },
+	{ {ACTION_DONE_WALK, 2, 0, 0, 0},                        &Room::feather6ReachedCrystalsWithKnife },
+	{ {ACTION_DONE_ANIM, 3, 0, 0, 0},                        &Room::feather6DoneCuttingCrystals },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0},                    &Room::feather6Timer4Expired },
 
 	// ENHANCEMENTs: Also add entries for OBJECT_STALACTITES, not just HOTSPOT_STALACTITES
-	{ {ACTION_LOOK, OBJECT_STALACTITES, 0, 0},              &Room::feather6LookAtStalactites },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_STALACTITES, 0}, &Room::feather6UseSTricorderOnStalactites },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_LOOK, OBJECT_STALACTITES, 0, 0, 0},              &Room::feather6LookAtStalactites },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_STALACTITES, 0, 0}, &Room::feather6UseSTricorderOnStalactites },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather6TextIds {
diff --git a/engines/startrek/rooms/feather7.cpp b/engines/startrek/rooms/feather7.cpp
index cd17eb245a0..a4349c99c7d 100644
--- a/engines/startrek/rooms/feather7.cpp
+++ b/engines/startrek/rooms/feather7.cpp
@@ -26,15 +26,15 @@
 namespace StarTrek {
 
 extern const RoomAction feather7ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},       &Room::feather7Tick1 },
-	{ {ACTION_TICK, 40, 0, 0},      &Room::feather7Tick40 },
-	{ {ACTION_DONE_WALK, 1, 0, 0},  &Room::feather7KirkReachedSeat },
-	{ {ACTION_DONE_WALK, 2, 0, 0},  &Room::feather7SpockReachedSeat },
-	{ {ACTION_DONE_WALK, 3, 0, 0},  &Room::feather7MccoyReachedSeat },
-	{ {ACTION_DONE_ANIM, 4, 0, 0},  &Room::feather7QuetzecoatlReachedSeat },
-	{ {ACTION_DONE_ANIM, 1, 0, 0},  &Room::feather7KirkSatDown },
-	{ {ACTION_DONE_ANIM, 2, 0, 0},  &Room::feather7ReadyToBeamOut },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0},       &Room::feather7Tick1 },
+	{ {ACTION_TICK, 40, 0, 0, 0},      &Room::feather7Tick40 },
+	{ {ACTION_DONE_WALK, 1, 0, 0, 0},  &Room::feather7KirkReachedSeat },
+	{ {ACTION_DONE_WALK, 2, 0, 0, 0},  &Room::feather7SpockReachedSeat },
+	{ {ACTION_DONE_WALK, 3, 0, 0, 0},  &Room::feather7MccoyReachedSeat },
+	{ {ACTION_DONE_ANIM, 4, 0, 0, 0},  &Room::feather7QuetzecoatlReachedSeat },
+	{ {ACTION_DONE_ANIM, 1, 0, 0, 0},  &Room::feather7KirkSatDown },
+	{ {ACTION_DONE_ANIM, 2, 0, 0, 0},  &Room::feather7ReadyToBeamOut },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum feather7TextIds {
diff --git a/engines/startrek/rooms/love0.cpp b/engines/startrek/rooms/love0.cpp
index 55e43109b33..0791cc6d943 100644
--- a/engines/startrek/rooms/love0.cpp
+++ b/engines/startrek/rooms/love0.cpp
@@ -32,64 +32,64 @@
 namespace StarTrek {
 
 extern const RoomAction love0ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love0Tick1 },
-	{ {ACTION_TICK, 10, 0, 0}, &Room::love0Tick10 },
-	{ {ACTION_WALK, 0x21, 0, 0}, &Room::love0WalkToDoor2 },
-	{ {ACTION_WALK, 9, 0, 0}, &Room::love0WalkToDoor2 },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love0OpenDoor2 },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love0ReachedDoor2 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love0ReachedDoor2 },
-	{ {ACTION_WALK, 0x22, 0, 0}, &Room::love0WalkToDoor1 },
-	{ {ACTION_WALK, 8, 0, 0}, &Room::love0WalkToDoor1 },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::love0OpenDoor1 },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love0ReachedDoor1 },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love0ReachedDoor1 },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::love0LookAtConsole },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::love0LookAtViewscreen },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love0LookAnywhere },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::love0LookAtDoor1 },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::love0LookAtDoor2 },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love0LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love0TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love0TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love0UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::love0UseSTricorderOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love0UseKirkOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love0UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love0UseSpockOnConsole },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love0SpockReachedConsole },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love0SpockAccessedConsole },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love0UseMccoyOnConsole },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love0MccoyReachedConsole },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love0MccoyAccessedConsole },
-	{ {ACTION_GET,    8, 0, 0}, &Room::love0GetDoorOrConsole },
-	{ {ACTION_GET,    9, 0, 0}, &Room::love0GetDoorOrConsole },
-	{ {ACTION_GET, 0x20, 0, 0}, &Room::love0GetDoorOrConsole },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love0Tick1 },
+	{ {ACTION_TICK, 10, 0, 0, 0}, &Room::love0Tick10 },
+	{ {ACTION_WALK, 0x21, 0, 0, 0}, &Room::love0WalkToDoor2 },
+	{ {ACTION_WALK, 9, 0, 0, 0}, &Room::love0WalkToDoor2 },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love0OpenDoor2 },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love0ReachedDoor2 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love0ReachedDoor2 },
+	{ {ACTION_WALK, 0x22, 0, 0, 0}, &Room::love0WalkToDoor1 },
+	{ {ACTION_WALK, 8, 0, 0, 0}, &Room::love0WalkToDoor1 },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::love0OpenDoor1 },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love0ReachedDoor1 },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love0ReachedDoor1 },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love0LookAtConsole },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love0LookAtViewscreen },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love0LookAnywhere },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::love0LookAtDoor1 },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::love0LookAtDoor2 },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love0LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love0TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love0TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love0UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::love0UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love0UseKirkOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love0UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love0UseSpockOnConsole },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love0SpockReachedConsole },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love0SpockAccessedConsole },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love0UseMccoyOnConsole },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love0MccoyReachedConsole },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love0MccoyAccessedConsole },
+	{ {ACTION_GET,    8, 0, 0, 0}, &Room::love0GetDoorOrConsole },
+	{ {ACTION_GET,    9, 0, 0, 0}, &Room::love0GetDoorOrConsole },
+	{ {ACTION_GET, 0x20, 0, 0, 0}, &Room::love0GetDoorOrConsole },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love0TextIds {
diff --git a/engines/startrek/rooms/love1.cpp b/engines/startrek/rooms/love1.cpp
index a46a09e79f9..e3277d76458 100644
--- a/engines/startrek/rooms/love1.cpp
+++ b/engines/startrek/rooms/love1.cpp
@@ -43,142 +43,142 @@
 namespace StarTrek {
 
 extern const RoomAction love1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love1Tick1 },
-
-	{ {ACTION_WALK, 10, 0, 0}, &Room::love1WalkToDoor3 },
-	{ {ACTION_WALK, 0x26, 0, 0}, &Room::love1WalkToDoor3 },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::love1OpenDoor3 },
-	{ {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::love1ReachedDoor3 },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love1ReachedDoor3 },
-
-	{ {ACTION_WALK, 8, 0, 0}, &Room::love1WalkToDoor1 },
-	{ {ACTION_WALK, 0x27, 0, 0}, &Room::love1WalkToDoor1 },
-	{ {ACTION_TOUCHED_HOTSPOT, 2, 0, 0}, &Room::love1OpenDoor1 },
-	{ {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::love1ReachedDoor1 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love1ReachedDoor1 },
-
-	{ {ACTION_WALK, 9, 0, 0}, &Room::love1WalkToDoor2 },
-	{ {ACTION_WALK, 0x28, 0, 0}, &Room::love1WalkToDoor2 },
-	{ {ACTION_TOUCHED_HOTSPOT, 3, 0, 0}, &Room::love1OpenDoor2 },
-	{ {ACTION_FINISHED_WALKING, 17, 0, 0}, &Room::love1ReachedDoor2 },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love1ReachedDoor2 },
-
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::love1LookAtLaser },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love1LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love1LookAnywhere },
-	{ {ACTION_LOOK, 15, 0, 0}, &Room::love1LookAtNozzle },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::love1LookAtNozzle },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::love1LookAtLadder },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::love1LookAtDoor1Or2 },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::love1LookAtDoor1Or2 },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::love1LookAtDoor3 },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::love1LookAtDistillator },
-	{ {ACTION_LOOK, 14, 0, 0}, &Room::love1LookAtChamber },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::love1LookAtChamber },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::love1LookAtReplicator },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::love1LookAtFreezer },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::love1LookAtFreezer },
-	{ {ACTION_LOOK, OBJECT_IDISHES, 0, 0}, &Room::love1LookAtDishes },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love1TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_IDISHES, 0}, &Room::love1UseMTricorderOnDishes },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love1UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::love1UseSTricorderOnReplicator },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::love1UseSTricorderOnReplicator },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x25, 0}, &Room::love1UseSTricorderOnLaser },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::love1UseSTricorderOnLaser },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::love1UseSTricorderOnFreezer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love1UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IDISHES, 0}, &Room::love1UseSTricorderOnDishes },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::love1UseSTricorderOnDistillator },
-	{ {ACTION_GET, 11, 0, 0}, &Room::love1GetFreezer },
-	{ {ACTION_GET, 0x22, 0, 0}, &Room::love1GetFreezer },
-	{ {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love1KirkReachedFreezer },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love1KirkGotVirusCulture },
-	{ {ACTION_GET, 14, 0, 0}, &Room::love1GetFromChamber },
-	{ {ACTION_GET, 12, 0, 0}, &Room::love1GetFromChamber },
-	{ {ACTION_GET, 0x23, 0, 0}, &Room::love1GetFromChamber },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love1KirkReachedChamber },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love1KirkGotCureSample },
-	{ {ACTION_GET, 15, 0, 0}, &Room::love1GetFromNozzle },
-	{ {ACTION_GET, 0x24, 0, 0}, &Room::love1GetFromNozzle },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love1KirkReachedNozzleToGet },
-	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love1KirkGotBottleFromNozzle },
-	{ {ACTION_USE, OBJECT_IN2O, 0x24, 0}, &Room::love1UseN2OOnNozzle },
-	{ {ACTION_USE, OBJECT_IH2O, 0x24, 0}, &Room::love1UseH2OOnNozzle },
-	{ {ACTION_USE, OBJECT_INH3, 0x24, 0}, &Room::love1UseNH3OnNozzle },
-	{ {ACTION_USE, OBJECT_IRLG, 0x24, 0}, &Room::love1UseRLGOnNozzle },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love1KirkReachedNozzleToPut },
-	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love1KirkPutBottleInNozzle },
-	{ {ACTION_USE, 0xff, 0x24, 0}, &Room::love1UseAnthingOnNozzle },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0}, &Room::love1UseSpockOnReplicator },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0}, &Room::love1UseRedshirtOnReplicator },
-	{ {ACTION_USE, OBJECT_MCCOY, 14, 0}, &Room::love1UseMccoyOnReplicator },
-	{ {ACTION_USE, OBJECT_MCCOY, 15, 0}, &Room::love1UseMccoyOnReplicator },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x23, 0}, &Room::love1UseMccoyOnReplicator },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love1MccoyReachedReplicator },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love1MccoyUsedReplicator },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love1ChamberClosed },
-	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love1ChamberOpened },
-	{ {ACTION_USE, 0xff, 12, 0}, &Room::love1UseAnythingOnChamber },
-	{ {ACTION_USE, OBJECT_IDISHES, 12, 0}, &Room::love1UseDishesOnChamber },
-	{ {ACTION_USE, OBJECT_IDISHES, 0x23, 0}, &Room::love1UseDishesOnChamber },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love1KirkReachedChamberToPut },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love1ChamberOpenedForDish },
-	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love1KirkPutDishInChamber },
-	{ {ACTION_USE, OBJECT_IINSULAT, 0x21, 0}, &Room::love1UseInsulationOnDistillator },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love1KirkReachedDistillator },
-	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::love1KirkGotPolyberylcarbonate },
-	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::love1UseKirkOnFreezer },
-	{ {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love1UseKirkOnFreezer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::love1UseRedshirtOnFreezer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 11, 0}, &Room::love1UseRedshirtOnFreezer },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::love1UseSpockOnFreezer },
-	{ {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::love1UseSpockOnFreezer },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0}, &Room::love1UseMccoyOnFreezer },
-	{ {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::love1UseMccoyOnFreezer },
-	{ {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love1CrewmanReachedFreezer },
-	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0}, &Room::love1CrewmanOpenedOrClosedFreezer },
-	{ {ACTION_USE, 0xff, 0x22, 0}, &Room::love1UseAnythingOnFreezer },
-	{ {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love1ReachedFreezerWithArbitraryItem },
-	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnFreezer },
-	{ {ACTION_USE, 0xff, 0x23, 0}, &Room::love1UseAnythingOnReplicator },
-	{ {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love1ReachedReplicatorWithArbitraryItem },
-	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnReplicator },
-	{ {ACTION_USE, 0xff, 0x21, 0}, &Room::love1UseAnythingOnDistillator },
-	{ {ACTION_FINISHED_WALKING, 13, 0, 0}, &Room::love1ReachedDistillatorWithArbitraryItem },
-	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnDistillator },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love1UseKirkOnLadder },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love1UseSpockOnLadder },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love1UseMccoyOnLadder },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love1UseRedshirtOnLadder },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love1CrewmanReachedLadder },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love1CrewmanDiedFromPhaser },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love1TouchedHotspot0 },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love1Tick1 },
+
+	{ {ACTION_WALK, 10, 0, 0, 0}, &Room::love1WalkToDoor3 },
+	{ {ACTION_WALK, 0x26, 0, 0, 0}, &Room::love1WalkToDoor3 },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::love1OpenDoor3 },
+	{ {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::love1ReachedDoor3 },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love1ReachedDoor3 },
+
+	{ {ACTION_WALK, 8, 0, 0, 0}, &Room::love1WalkToDoor1 },
+	{ {ACTION_WALK, 0x27, 0, 0, 0}, &Room::love1WalkToDoor1 },
+	{ {ACTION_TOUCHED_HOTSPOT, 2, 0, 0, 0}, &Room::love1OpenDoor1 },
+	{ {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::love1ReachedDoor1 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love1ReachedDoor1 },
+
+	{ {ACTION_WALK, 9, 0, 0, 0}, &Room::love1WalkToDoor2 },
+	{ {ACTION_WALK, 0x28, 0, 0, 0}, &Room::love1WalkToDoor2 },
+	{ {ACTION_TOUCHED_HOTSPOT, 3, 0, 0, 0}, &Room::love1OpenDoor2 },
+	{ {ACTION_FINISHED_WALKING, 17, 0, 0, 0}, &Room::love1ReachedDoor2 },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love1ReachedDoor2 },
+
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::love1LookAtLaser },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love1LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love1LookAnywhere },
+	{ {ACTION_LOOK, 15, 0, 0, 0}, &Room::love1LookAtNozzle },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::love1LookAtNozzle },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love1LookAtLadder },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::love1LookAtDoor1Or2 },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::love1LookAtDoor1Or2 },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::love1LookAtDoor3 },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love1LookAtDistillator },
+	{ {ACTION_LOOK, 14, 0, 0, 0}, &Room::love1LookAtChamber },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::love1LookAtChamber },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love1LookAtReplicator },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::love1LookAtFreezer },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::love1LookAtFreezer },
+	{ {ACTION_LOOK, OBJECT_IDISHES, 0, 0, 0}, &Room::love1LookAtDishes },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love1TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_IDISHES, 0, 0}, &Room::love1UseMTricorderOnDishes },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love1UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::love1UseSTricorderOnReplicator },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::love1UseSTricorderOnReplicator },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x25, 0, 0}, &Room::love1UseSTricorderOnLaser },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::love1UseSTricorderOnLaser },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::love1UseSTricorderOnFreezer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love1UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IDISHES, 0, 0}, &Room::love1UseSTricorderOnDishes },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::love1UseSTricorderOnDistillator },
+	{ {ACTION_GET, 11, 0, 0, 0}, &Room::love1GetFreezer },
+	{ {ACTION_GET, 0x22, 0, 0, 0}, &Room::love1GetFreezer },
+	{ {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love1KirkReachedFreezer },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love1KirkGotVirusCulture },
+	{ {ACTION_GET, 14, 0, 0, 0}, &Room::love1GetFromChamber },
+	{ {ACTION_GET, 12, 0, 0, 0}, &Room::love1GetFromChamber },
+	{ {ACTION_GET, 0x23, 0, 0, 0}, &Room::love1GetFromChamber },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love1KirkReachedChamber },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love1KirkGotCureSample },
+	{ {ACTION_GET, 15, 0, 0, 0}, &Room::love1GetFromNozzle },
+	{ {ACTION_GET, 0x24, 0, 0, 0}, &Room::love1GetFromNozzle },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love1KirkReachedNozzleToGet },
+	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love1KirkGotBottleFromNozzle },
+	{ {ACTION_USE, OBJECT_IN2O, 0x24, 0, 0}, &Room::love1UseN2OOnNozzle },
+	{ {ACTION_USE, OBJECT_IH2O, 0x24, 0, 0}, &Room::love1UseH2OOnNozzle },
+	{ {ACTION_USE, OBJECT_INH3, 0x24, 0, 0}, &Room::love1UseNH3OnNozzle },
+	{ {ACTION_USE, OBJECT_IRLG, 0x24, 0, 0}, &Room::love1UseRLGOnNozzle },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love1KirkReachedNozzleToPut },
+	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love1KirkPutBottleInNozzle },
+	{ {ACTION_USE, 0xff, 0x24, 0, 0}, &Room::love1UseAnthingOnNozzle },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0}, &Room::love1UseSpockOnReplicator },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0, 0}, &Room::love1UseRedshirtOnReplicator },
+	{ {ACTION_USE, OBJECT_MCCOY, 14, 0, 0}, &Room::love1UseMccoyOnReplicator },
+	{ {ACTION_USE, OBJECT_MCCOY, 15, 0, 0}, &Room::love1UseMccoyOnReplicator },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x23, 0, 0}, &Room::love1UseMccoyOnReplicator },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love1MccoyReachedReplicator },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love1MccoyUsedReplicator },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love1ChamberClosed },
+	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love1ChamberOpened },
+	{ {ACTION_USE, 0xff, 12, 0, 0}, &Room::love1UseAnythingOnChamber },
+	{ {ACTION_USE, OBJECT_IDISHES, 12, 0, 0}, &Room::love1UseDishesOnChamber },
+	{ {ACTION_USE, OBJECT_IDISHES, 0x23, 0, 0}, &Room::love1UseDishesOnChamber },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love1KirkReachedChamberToPut },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love1ChamberOpenedForDish },
+	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love1KirkPutDishInChamber },
+	{ {ACTION_USE, OBJECT_IINSULAT, 0x21, 0, 0}, &Room::love1UseInsulationOnDistillator },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love1KirkReachedDistillator },
+	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::love1KirkGotPolyberylcarbonate },
+	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::love1UseKirkOnFreezer },
+	{ {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love1UseKirkOnFreezer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::love1UseRedshirtOnFreezer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 11, 0, 0}, &Room::love1UseRedshirtOnFreezer },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::love1UseSpockOnFreezer },
+	{ {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::love1UseSpockOnFreezer },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0}, &Room::love1UseMccoyOnFreezer },
+	{ {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::love1UseMccoyOnFreezer },
+	{ {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love1CrewmanReachedFreezer },
+	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0}, &Room::love1CrewmanOpenedOrClosedFreezer },
+	{ {ACTION_USE, 0xff, 0x22, 0, 0}, &Room::love1UseAnythingOnFreezer },
+	{ {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love1ReachedFreezerWithArbitraryItem },
+	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnFreezer },
+	{ {ACTION_USE, 0xff, 0x23, 0, 0}, &Room::love1UseAnythingOnReplicator },
+	{ {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love1ReachedReplicatorWithArbitraryItem },
+	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnReplicator },
+	{ {ACTION_USE, 0xff, 0x21, 0, 0}, &Room::love1UseAnythingOnDistillator },
+	{ {ACTION_FINISHED_WALKING, 13, 0, 0, 0}, &Room::love1ReachedDistillatorWithArbitraryItem },
+	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::love1FinishedUsingArbitraryItemOnDistillator },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love1UseKirkOnLadder },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love1UseSpockOnLadder },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love1UseMccoyOnLadder },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love1UseRedshirtOnLadder },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love1CrewmanReachedLadder },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love1CrewmanDiedFromPhaser },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love1TouchedHotspot0 },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love1TextIds {
diff --git a/engines/startrek/rooms/love2.cpp b/engines/startrek/rooms/love2.cpp
index 7b9b1ec8630..4bd9e921fdb 100644
--- a/engines/startrek/rooms/love2.cpp
+++ b/engines/startrek/rooms/love2.cpp
@@ -44,136 +44,136 @@
 namespace StarTrek {
 
 extern const RoomAction love2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love2Tick1 },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love2TouchedWarp1 },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::love2Timer3Expired },
-	{ {ACTION_WALK, 10, 0, 0}, &Room::love2WalkToDoor },
-	{ {ACTION_WALK, 0x22, 0, 0}, &Room::love2WalkToDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love2TouchedHotspot0 },
-	{ {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love2DoorReachedOrOpened },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love2DoorReachedOrOpened },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::love2LookAtCabinet },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::love2LookAtDoor },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::love2LookAtSynthesizer },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love2LookAtAnywhere },
-	{ {ACTION_LOOK, 14, 0, 0}, &Room::love2LookAtAntigrav },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love2LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love2LookAtKirk },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::love2LookAtArdak },
-	{ {ACTION_LOOK, 15, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 16, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 18, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 19, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 17, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::love2LookAtChamber },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::love2LookAtCan1 },
-	{ {ACTION_LOOK, 13, 0, 0}, &Room::love2LookAtCan2 },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love2TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love2UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love2UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_KIRK, 8, 0}, &Room::love2UseKirkOnCabinet },
-	{ {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::love2UseSpockOnCabinet },
-	{ {ACTION_USE, OBJECT_MCCOY, 8, 0}, &Room::love2UseMccoyOnCabinet },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0}, &Room::love2UseRedshirtOnCabinet },
-	{ {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love2CrewmanReachedCabinet },
-	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love2CrewmanAccessedCabinet },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love2CrewmanOpenedOrClosedCabinet },
-	{ {ACTION_USE, OBJECT_IWRENCH, 11, 0}, &Room::love2UseWrenchOnGasFeed },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love2ReachedGasFeed },
-	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love2ChangedGasFeed },
-	{ {ACTION_USE, OBJECT_IO2GAS, 0x23, 0}, &Room::love2UseO2GasOnCanisterSlot },
-	{ {ACTION_USE, OBJECT_IH2GAS, 0x23, 0}, &Room::love2UseH2GasOnCanisterSlot },
-	{ {ACTION_USE, OBJECT_IN2GAS, 0x23, 0}, &Room::love2UseN2GasOnCanisterSlot },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love2ReachedCanisterSlot },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love2PutCanisterInSlot1 },
-	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love2PutCanisterInSlot2 },
-	{ {ACTION_USE, OBJECT_IANTIGRA, 12, 0}, &Room::love2UseAntigravOnCanister1 },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love2ReachedCanisterSlot1ToGet },
-	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::love2TookCanister1 },
-	{ {ACTION_USE, OBJECT_IANTIGRA, 13, 0}, &Room::love2UseAntigravOnCanister2 },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love2ReachedCanisterSlot2ToGet },
-	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0}, &Room::love2TookCanister2 },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love2UseKirkOnSynthesizer },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love2UseSpockOnSynthesizer },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love2UseMccoyOnSynthesizer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love2UseRedshirtOnSynthesizer },
-	{ {ACTION_FINISHED_WALKING, 13, 0, 0}, &Room::love2CrewmanReachedSynthesizer },
-	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::love2CrewmanUsedSynthesizer },
-	{ {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::love2SpockReachedGasFeeds },
-	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::love2SpockEnabledGasFeeds },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love2SynthesizerDoorClosed },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love2SynthesizerFinished },
-	{ {ACTION_FINISHED_ANIMATION, 27, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingRLG },
-	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingCure },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love2CureStartedSynthesizing },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love2CureSynthesized },
-	{ {ACTION_USE, OBJECT_IPBC, 9, 0}, &Room::love2UsePolyberylcarbonateOnSynthesizerDoor },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love2KirkReachedSynthesizerWithPolyberylcarbonate },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love2SynthesizerDoorOpenedWithPolyberylcarbonate },
-	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::love2PutPolyberylcarbonateInSynthesizer },
-
-	{ {ACTION_USE, OBJECT_IDISHES, 9, 0}, &Room::love2UseVirusSampleOnSynthesizerDoor },
-	{ {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love2KirkReachedSynthesizerWithVirusSample },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love2SynthesizerDoorOpenedWithVirusSample },
-	{ {ACTION_FINISHED_ANIMATION, 20, 0, 0}, &Room::love2PutVirusSampleInSynthesizer },
-
-	{ {ACTION_USE, OBJECT_ISAMPLE, 9, 0}, &Room::love2UseCureSampleOnSynthesizerDoor },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love2KirkReachedSynthesizerWithCureSample },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love2SynthesizerDoorOpenedWithCureSample },
-	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::love2PutCureSampleInSynthesizer },
-
-	{ {ACTION_USE, 0xff, 9, 0}, &Room::love2UseAnythingOnSynthesizerDoor },
-	{ {ACTION_USE, 0xff, 0x20, 0}, &Room::love2UseAnythingOnSynthesizer },
-	{ {ACTION_GET, 13, 0, 0}, &Room::love2GetCanister },
-	{ {ACTION_GET, 12, 0, 0}, &Room::love2GetCanister },
-
-	{ {ACTION_GET, 14, 0, 0}, &Room::love2GetAntigrav },
-	{ {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::love2ReachedAntigrav },
-	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::love2GotAntigrav },
-
-	{ {ACTION_GET, 16, 0, 0}, &Room::love2GetPolyberylcarbonate },
-	{ {ACTION_FINISHED_WALKING, 18, 0, 0}, &Room::love2ReachedPolyberylcarbonate },
-	{ {ACTION_FINISHED_ANIMATION, 26, 0, 0}, &Room::love2GotPolyberylcarbonate },
-
-	{ {ACTION_GET, 17, 0, 0}, &Room::love2GetDishes },
-	{ {ACTION_FINISHED_WALKING, 17, 0, 0}, &Room::love2ReachedDishes },
-	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::love2GotDishes },
-
-	{ {ACTION_GET, 18, 0, 0}, &Room::love2GetSample },
-	{ {ACTION_FINISHED_WALKING, 19, 0, 0}, &Room::love2ReachedSample },
-	{ {ACTION_FINISHED_ANIMATION, 28, 0, 0}, &Room::love2GotSample },
-
-	{ {ACTION_GET, 15, 0, 0}, &Room::love2GetSynthesizerOutput },
-	{ {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::love2ReachedSynthesizerOutput },
-	{ {ACTION_FINISHED_ANIMATION, 23, 0, 0}, &Room::love2GotSynthesizerOutput },
-
-	{ {ACTION_GET, 19, 0, 0}, &Room::love2GetCure },
-	{ {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love2ReachedCure },
-	{ {ACTION_FINISHED_ANIMATION, 24, 0, 0}, &Room::love2GotCure },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love2Tick1 },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love2TouchedWarp1 },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::love2Timer3Expired },
+	{ {ACTION_WALK, 10, 0, 0, 0}, &Room::love2WalkToDoor },
+	{ {ACTION_WALK, 0x22, 0, 0, 0}, &Room::love2WalkToDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love2TouchedHotspot0 },
+	{ {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love2DoorReachedOrOpened },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love2DoorReachedOrOpened },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::love2LookAtCabinet },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::love2LookAtDoor },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love2LookAtSynthesizer },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love2LookAtAnywhere },
+	{ {ACTION_LOOK, 14, 0, 0, 0}, &Room::love2LookAtAntigrav },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love2LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love2LookAtKirk },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love2LookAtArdak },
+	{ {ACTION_LOOK, 15, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 16, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 18, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 19, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 17, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::love2LookAtChamber },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::love2LookAtCan1 },
+	{ {ACTION_LOOK, 13, 0, 0, 0}, &Room::love2LookAtCan2 },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love2TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love2UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love2UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_KIRK, 8, 0, 0}, &Room::love2UseKirkOnCabinet },
+	{ {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::love2UseSpockOnCabinet },
+	{ {ACTION_USE, OBJECT_MCCOY, 8, 0, 0}, &Room::love2UseMccoyOnCabinet },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0}, &Room::love2UseRedshirtOnCabinet },
+	{ {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love2CrewmanReachedCabinet },
+	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love2CrewmanAccessedCabinet },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love2CrewmanOpenedOrClosedCabinet },
+	{ {ACTION_USE, OBJECT_IWRENCH, 11, 0, 0}, &Room::love2UseWrenchOnGasFeed },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love2ReachedGasFeed },
+	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love2ChangedGasFeed },
+	{ {ACTION_USE, OBJECT_IO2GAS, 0x23, 0, 0}, &Room::love2UseO2GasOnCanisterSlot },
+	{ {ACTION_USE, OBJECT_IH2GAS, 0x23, 0, 0}, &Room::love2UseH2GasOnCanisterSlot },
+	{ {ACTION_USE, OBJECT_IN2GAS, 0x23, 0, 0}, &Room::love2UseN2GasOnCanisterSlot },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love2ReachedCanisterSlot },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love2PutCanisterInSlot1 },
+	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love2PutCanisterInSlot2 },
+	{ {ACTION_USE, OBJECT_IANTIGRA, 12, 0, 0}, &Room::love2UseAntigravOnCanister1 },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love2ReachedCanisterSlot1ToGet },
+	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::love2TookCanister1 },
+	{ {ACTION_USE, OBJECT_IANTIGRA, 13, 0, 0}, &Room::love2UseAntigravOnCanister2 },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love2ReachedCanisterSlot2ToGet },
+	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0}, &Room::love2TookCanister2 },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love2UseKirkOnSynthesizer },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love2UseSpockOnSynthesizer },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love2UseMccoyOnSynthesizer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love2UseRedshirtOnSynthesizer },
+	{ {ACTION_FINISHED_WALKING, 13, 0, 0, 0}, &Room::love2CrewmanReachedSynthesizer },
+	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::love2CrewmanUsedSynthesizer },
+	{ {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::love2SpockReachedGasFeeds },
+	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::love2SpockEnabledGasFeeds },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love2SynthesizerDoorClosed },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love2SynthesizerFinished },
+	{ {ACTION_FINISHED_ANIMATION, 27, 0, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingRLG },
+	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love2ClosedSynthesizerDoorMakingCure },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love2CureStartedSynthesizing },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love2CureSynthesized },
+	{ {ACTION_USE, OBJECT_IPBC, 9, 0, 0}, &Room::love2UsePolyberylcarbonateOnSynthesizerDoor },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithPolyberylcarbonate },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithPolyberylcarbonate },
+	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::love2PutPolyberylcarbonateInSynthesizer },
+
+	{ {ACTION_USE, OBJECT_IDISHES, 9, 0, 0}, &Room::love2UseVirusSampleOnSynthesizerDoor },
+	{ {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithVirusSample },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithVirusSample },
+	{ {ACTION_FINISHED_ANIMATION, 20, 0, 0, 0}, &Room::love2PutVirusSampleInSynthesizer },
+
+	{ {ACTION_USE, OBJECT_ISAMPLE, 9, 0, 0}, &Room::love2UseCureSampleOnSynthesizerDoor },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love2KirkReachedSynthesizerWithCureSample },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love2SynthesizerDoorOpenedWithCureSample },
+	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::love2PutCureSampleInSynthesizer },
+
+	{ {ACTION_USE, 0xff, 9, 0, 0}, &Room::love2UseAnythingOnSynthesizerDoor },
+	{ {ACTION_USE, 0xff, 0x20, 0, 0}, &Room::love2UseAnythingOnSynthesizer },
+	{ {ACTION_GET, 13, 0, 0, 0}, &Room::love2GetCanister },
+	{ {ACTION_GET, 12, 0, 0, 0}, &Room::love2GetCanister },
+
+	{ {ACTION_GET, 14, 0, 0, 0}, &Room::love2GetAntigrav },
+	{ {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::love2ReachedAntigrav },
+	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::love2GotAntigrav },
+
+	{ {ACTION_GET, 16, 0, 0, 0}, &Room::love2GetPolyberylcarbonate },
+	{ {ACTION_FINISHED_WALKING, 18, 0, 0, 0}, &Room::love2ReachedPolyberylcarbonate },
+	{ {ACTION_FINISHED_ANIMATION, 26, 0, 0, 0}, &Room::love2GotPolyberylcarbonate },
+
+	{ {ACTION_GET, 17, 0, 0, 0}, &Room::love2GetDishes },
+	{ {ACTION_FINISHED_WALKING, 17, 0, 0, 0}, &Room::love2ReachedDishes },
+	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::love2GotDishes },
+
+	{ {ACTION_GET, 18, 0, 0, 0}, &Room::love2GetSample },
+	{ {ACTION_FINISHED_WALKING, 19, 0, 0, 0}, &Room::love2ReachedSample },
+	{ {ACTION_FINISHED_ANIMATION, 28, 0, 0, 0}, &Room::love2GotSample },
+
+	{ {ACTION_GET, 15, 0, 0, 0}, &Room::love2GetSynthesizerOutput },
+	{ {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::love2ReachedSynthesizerOutput },
+	{ {ACTION_FINISHED_ANIMATION, 23, 0, 0, 0}, &Room::love2GotSynthesizerOutput },
+
+	{ {ACTION_GET, 19, 0, 0, 0}, &Room::love2GetCure },
+	{ {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love2ReachedCure },
+	{ {ACTION_FINISHED_ANIMATION, 24, 0, 0, 0}, &Room::love2GotCure },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love2TextIds {
diff --git a/engines/startrek/rooms/love3.cpp b/engines/startrek/rooms/love3.cpp
index 01a52f95891..24367912f36 100644
--- a/engines/startrek/rooms/love3.cpp
+++ b/engines/startrek/rooms/love3.cpp
@@ -35,127 +35,127 @@
 namespace StarTrek {
 
 extern const RoomAction love3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love3Tick1 },
-	{ {ACTION_TICK, 80, 0, 0}, &Room::love3Tick80 },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love3TouchedWarp1 },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0}, &Room::love3Timer3Expired },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::love3LookAtServicePanel },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::love3LookAtMonitor },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::love3LookAtWrench },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love3LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love3LookAnywhere },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::love3LookAtShaft },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::love3LookAtGrate },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::love3LookAtPanel },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::love3LookAtPanel },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::love3LookAtGasTank },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::love3LookAtTurbines },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love3TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love3UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::love3UseSTricorderOnTurbines },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0}, &Room::love3UseSTricorderOnInsulation },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love3UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_KIRK, 8, 0}, &Room::love3UseKirkOnServicePanel },
-	{ {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::love3UseSpockOnServicePanel },
-	{ {ACTION_USE, OBJECT_MCCOY, 8, 0}, &Room::love3UseMccoyOnServicePanel },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0}, &Room::love3UseRedshirtOnServicePanel },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love3CrewmanReachedServicePanel },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love3OpenedOrClosedServicePanel },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, 12, 0}, &Room::love3UseWrenchOnGasTank },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love3ReachedGasTankToUnscrew },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love3ScrewedOrUnscrewedGasTank },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IO2GAS, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
-	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IH2GAS, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IN2GAS, 0}, &Room::love3UseWrenchOnN2Gas },
-	{ {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::love3ReachedGasTankToPutDown },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love3PutN2TankBack },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, 0x20, 0}, &Room::love3UseWrenchOnEngineeringPanel },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::love3ReachedEngineeringPanel },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love3OpenedEngineeringPanel },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, 0x21, 0}, &Room::love3UseWrenchOnMonitor },
-
-	{ {ACTION_USE, OBJECT_IH2O, 0x21, 0}, &Room::love3UseWaterOnMonitor },
-	{ {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::love3ReachedMonitorToUseWater },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love3PouredWaterOnMonitor },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 11, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
-
-	{ {ACTION_USE, OBJECT_IWRENCH, 11, 0}, &Room::love3UseWrenchOnGrate },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love3ReachedGateWithWrench },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::love3OpenedOrClosedGrate },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::love3UseCrewmanOnShaft },
-
-	{ {ACTION_USE, OBJECT_IH2O, 0x22, 0}, &Room::love3UseWaterOnShaft },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love3ReachedShaftUsingWater },
-	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0}, &Room::love3PouredWaterDownShaft },
-
-	{ {ACTION_USE, OBJECT_IN2O, 0x22, 0}, &Room::love3UseNitrousOxideOnShaft },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love3ReachedShaftUsingNitrousOxide },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::love3PouredNitrousOxideDownShaft },
-
-	{ {ACTION_USE, OBJECT_INH3, 0x22, 0}, &Room::love3UseAmmoniaOnShaft },
-	{ {ACTION_FINISHED_WALKING, 7, 0, 0}, &Room::love3ReachedShaftUsingAmmonia },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::love3PouredAmmoniaDownShaft },
-
-	{ {ACTION_USE, OBJECT_IRLG, 0x22, 0}, &Room::love3UseRomulanLaughingGasOnShaft },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::love3ReachedShaftUsingRomulanLaughingGas },
-	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::love3PouredRomulanLaughingGasDownShaft },
-
-	{ {ACTION_GET, 10, 0, 0}, &Room::love3GetWrench },
-	{ {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::love3ReachedWrenchToGet },
-	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::love3PickedUpWrench },
-
-	{ {ACTION_GET, 12, 0, 0}, &Room::love3GetGasTank },
-	{ {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::love3ReachedGasTankToGet },
-
-	{ {ACTION_USE, OBJECT_IANTIGRA, 12, 0}, &Room::love3UseAntigravOnGasTank },
-	{ {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::love3ReachedGasTankUsingAntigrav },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::love3PickedUpGasTank },
-
-	{ {ACTION_GET, 9, 0, 0}, &Room::love3GetInsulation },
-	{ {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::love3ReachedInsulationToGet },
-	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0}, &Room::love3PickedUpInsulation },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love3Tick1 },
+	{ {ACTION_TICK, 80, 0, 0, 0}, &Room::love3Tick80 },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love3TouchedWarp1 },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0}, &Room::love3Timer3Expired },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::love3LookAtServicePanel },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love3LookAtMonitor },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::love3LookAtWrench },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love3LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love3LookAnywhere },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::love3LookAtShaft },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::love3LookAtGrate },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::love3LookAtPanel },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love3LookAtPanel },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::love3LookAtGasTank },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::love3LookAtTurbines },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love3TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love3UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::love3UseSTricorderOnTurbines },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 9, 0, 0}, &Room::love3UseSTricorderOnInsulation },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love3UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_KIRK, 8, 0, 0}, &Room::love3UseKirkOnServicePanel },
+	{ {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::love3UseSpockOnServicePanel },
+	{ {ACTION_USE, OBJECT_MCCOY, 8, 0, 0}, &Room::love3UseMccoyOnServicePanel },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0}, &Room::love3UseRedshirtOnServicePanel },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love3CrewmanReachedServicePanel },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love3OpenedOrClosedServicePanel },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, 12, 0, 0}, &Room::love3UseWrenchOnGasTank },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love3ReachedGasTankToUnscrew },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love3ScrewedOrUnscrewedGasTank },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IO2GAS, 0, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
+	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IH2GAS, 0, 0}, &Room::love3UseWrenchOnO2OrH2Gas },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, OBJECT_IN2GAS, 0, 0}, &Room::love3UseWrenchOnN2Gas },
+	{ {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::love3ReachedGasTankToPutDown },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love3PutN2TankBack },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, 0x20, 0, 0}, &Room::love3UseWrenchOnEngineeringPanel },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::love3ReachedEngineeringPanel },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love3OpenedEngineeringPanel },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, 0x21, 0, 0}, &Room::love3UseWrenchOnMonitor },
+
+	{ {ACTION_USE, OBJECT_IH2O, 0x21, 0, 0}, &Room::love3UseWaterOnMonitor },
+	{ {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::love3ReachedMonitorToUseWater },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love3PouredWaterOnMonitor },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 11, 0, 0}, &Room::love3UseCrewmanOnEngineeringPanelOrGrate },
+
+	{ {ACTION_USE, OBJECT_IWRENCH, 11, 0, 0}, &Room::love3UseWrenchOnGrate },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love3ReachedGateWithWrench },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::love3OpenedOrClosedGrate },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::love3UseCrewmanOnShaft },
+
+	{ {ACTION_USE, OBJECT_IH2O, 0x22, 0, 0}, &Room::love3UseWaterOnShaft },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love3ReachedShaftUsingWater },
+	{ {ACTION_FINISHED_ANIMATION, 8, 0, 0, 0}, &Room::love3PouredWaterDownShaft },
+
+	{ {ACTION_USE, OBJECT_IN2O, 0x22, 0, 0}, &Room::love3UseNitrousOxideOnShaft },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love3ReachedShaftUsingNitrousOxide },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::love3PouredNitrousOxideDownShaft },
+
+	{ {ACTION_USE, OBJECT_INH3, 0x22, 0, 0}, &Room::love3UseAmmoniaOnShaft },
+	{ {ACTION_FINISHED_WALKING, 7, 0, 0, 0}, &Room::love3ReachedShaftUsingAmmonia },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::love3PouredAmmoniaDownShaft },
+
+	{ {ACTION_USE, OBJECT_IRLG, 0x22, 0, 0}, &Room::love3UseRomulanLaughingGasOnShaft },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::love3ReachedShaftUsingRomulanLaughingGas },
+	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::love3PouredRomulanLaughingGasDownShaft },
+
+	{ {ACTION_GET, 10, 0, 0, 0}, &Room::love3GetWrench },
+	{ {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::love3ReachedWrenchToGet },
+	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::love3PickedUpWrench },
+
+	{ {ACTION_GET, 12, 0, 0, 0}, &Room::love3GetGasTank },
+	{ {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::love3ReachedGasTankToGet },
+
+	{ {ACTION_USE, OBJECT_IANTIGRA, 12, 0, 0}, &Room::love3UseAntigravOnGasTank },
+	{ {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::love3ReachedGasTankUsingAntigrav },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::love3PickedUpGasTank },
+
+	{ {ACTION_GET, 9, 0, 0, 0}, &Room::love3GetInsulation },
+	{ {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::love3ReachedInsulationToGet },
+	{ {ACTION_FINISHED_ANIMATION, 14, 0, 0, 0}, &Room::love3PickedUpInsulation },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love3TextIds {
diff --git a/engines/startrek/rooms/love4.cpp b/engines/startrek/rooms/love4.cpp
index 9f4ce61661a..355ed5bf85c 100644
--- a/engines/startrek/rooms/love4.cpp
+++ b/engines/startrek/rooms/love4.cpp
@@ -33,96 +33,96 @@
 namespace StarTrek {
 
 extern const RoomAction love4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love4Tick1 },
-	{ {ACTION_TICK, 10, 0, 0}, &Room::love4Tick10 },
-
-	{ {ACTION_WALK, 8, 0, 0}, &Room::love4WalkToDoor },
-	{ {ACTION_WALK, 0x20, 0, 0}, &Room::love4WalkToDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::love4TouchedHotspot0 },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::love4DoorOpenedOrReached },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::love4DoorOpenedOrReached },
-
-	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0}, &Room::love4UseKirkOnLadder },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::love4ReachedLadder },
-	{ {ACTION_USE, OBJECT_IPHASERS,  9, 0}, &Room::love4UseStunPhaserOnRomulan },
-	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::love4UseStunPhaserOnRomulan },
-	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::love4UseStunPhaserOnRomulan },
-	{ {ACTION_USE, OBJECT_IPHASERS, 12, 0}, &Room::love4UseStunPhaserOnRomulan },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love4Tick1 },
+	{ {ACTION_TICK, 10, 0, 0, 0}, &Room::love4Tick10 },
+
+	{ {ACTION_WALK, 8, 0, 0, 0}, &Room::love4WalkToDoor },
+	{ {ACTION_WALK, 0x20, 0, 0, 0}, &Room::love4WalkToDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::love4TouchedHotspot0 },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::love4DoorOpenedOrReached },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::love4DoorOpenedOrReached },
+
+	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0}, &Room::love4UseKirkOnLadder },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::love4ReachedLadder },
+	{ {ACTION_USE, OBJECT_IPHASERS,  9, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
+	{ {ACTION_USE, OBJECT_IPHASERS, 12, 0, 0}, &Room::love4UseStunPhaserOnRomulan },
 	// NOTE: nothing for OBJECT_IPHASERK. There's an unused audio file which might fit.
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love4LookAnywhere },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::love4LookAtLadder },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::love4LookAtDoor },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love4LookAtRedshirt },
-	{ {ACTION_LOOK,  9, 0, 0}, &Room::love4LookAtRomulan },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::love4LookAtRomulan },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::love4LookAtRomulan },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::love4LookAtRomulan },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love4TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love4TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love4TalkToSpock },
-	{ {ACTION_TALK,  9, 0, 0}, &Room::love4TalkToRomulan },
-	{ {ACTION_TALK, 10, 0, 0}, &Room::love4TalkToRomulan },
-	{ {ACTION_TALK, 11, 0, 0}, &Room::love4TalkToRomulan },
-	{ {ACTION_TALK, 12, 0, 0}, &Room::love4TalkToRomulan },
-	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0}, &Room::love4UseMTricorderOnRomulan },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::love4UseMTricorderOnRomulan },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::love4UseMTricorderOnRomulan },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 12, 0}, &Room::love4UseMTricorderOnRomulan },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::love4UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love4UseSTricorderAnywhere },
-
-	{ {ACTION_USE, OBJECT_ICURE,  9, 0}, &Room::love4UseCureOnRomulan },
-	{ {ACTION_USE, OBJECT_ICURE, 10, 0}, &Room::love4UseCureOnRomulan },
-	{ {ACTION_USE, OBJECT_ICURE, 11, 0}, &Room::love4UseCureOnRomulan },
-	{ {ACTION_USE, OBJECT_ICURE, 12, 0}, &Room::love4UseCureOnRomulan },
-	{ {ACTION_FINISHED_WALKING,   3, 0, 0}, &Room::love4MccoyReachedRomulan4 },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love4MccoyCuredRomulan4 },
-	{ {ACTION_FINISHED_WALKING,   4, 0, 0}, &Room::love4MccoyReachedRomulan3 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love4MccoyCuredRomulan3 },
-	{ {ACTION_FINISHED_WALKING,   5, 0, 0}, &Room::love4MccoyReachedRomulan2 },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love4MccoyCuredRomulan2 },
-	{ {ACTION_FINISHED_WALKING,   6, 0, 0}, &Room::love4MccoyReachedRomulan1 },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love4MccoyCuredRomulan1 },
-
-	{ {ACTION_USE, OBJECT_IH2O,   9, 0}, &Room::love4UseWaterOnRomulan },
-	{ {ACTION_USE, OBJECT_IH2O,  10, 0}, &Room::love4UseWaterOnRomulan },
-	{ {ACTION_USE, OBJECT_IH2O,  11, 0}, &Room::love4UseWaterOnRomulan },
-	{ {ACTION_USE, OBJECT_IH2O,  12, 0}, &Room::love4UseWaterOnRomulan },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0}, &Room::love4UseMedkitOnRomulan },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 10, 0}, &Room::love4UseMedkitOnRomulan },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 11, 0}, &Room::love4UseMedkitOnRomulan },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 12, 0}, &Room::love4UseMedkitOnRomulan },
-	{ {ACTION_USE, OBJECT_ISAMPLE,  9, 0}, &Room::love4UseCureSampleOnRomulan },
-	{ {ACTION_USE, OBJECT_ISAMPLE, 10, 0}, &Room::love4UseCureSampleOnRomulan },
-	{ {ACTION_USE, OBJECT_ISAMPLE, 11, 0}, &Room::love4UseCureSampleOnRomulan },
-	{ {ACTION_USE, OBJECT_ISAMPLE, 12, 0}, &Room::love4UseCureSampleOnRomulan },
-	{ {ACTION_USE, 0xff,  9, 0}, &Room::love4UseAnythingOnRomulan },
-	{ {ACTION_USE, 0xff, 10, 0}, &Room::love4UseAnythingOnRomulan },
-	{ {ACTION_USE, 0xff, 11, 0}, &Room::love4UseAnythingOnRomulan },
-	{ {ACTION_USE, 0xff, 12, 0}, &Room::love4UseAnythingOnRomulan },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love4LookAnywhere },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love4LookAtLadder },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::love4LookAtDoor },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love4LookAtRedshirt },
+	{ {ACTION_LOOK,  9, 0, 0, 0}, &Room::love4LookAtRomulan },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::love4LookAtRomulan },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::love4LookAtRomulan },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::love4LookAtRomulan },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love4TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love4TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love4TalkToSpock },
+	{ {ACTION_TALK,  9, 0, 0, 0}, &Room::love4TalkToRomulan },
+	{ {ACTION_TALK, 10, 0, 0, 0}, &Room::love4TalkToRomulan },
+	{ {ACTION_TALK, 11, 0, 0, 0}, &Room::love4TalkToRomulan },
+	{ {ACTION_TALK, 12, 0, 0, 0}, &Room::love4TalkToRomulan },
+	{ {ACTION_USE, OBJECT_IMTRICOR,  9, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 12, 0, 0}, &Room::love4UseMTricorderOnRomulan },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::love4UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love4UseSTricorderAnywhere },
+
+	{ {ACTION_USE, OBJECT_ICURE,  9, 0, 0}, &Room::love4UseCureOnRomulan },
+	{ {ACTION_USE, OBJECT_ICURE, 10, 0, 0}, &Room::love4UseCureOnRomulan },
+	{ {ACTION_USE, OBJECT_ICURE, 11, 0, 0}, &Room::love4UseCureOnRomulan },
+	{ {ACTION_USE, OBJECT_ICURE, 12, 0, 0}, &Room::love4UseCureOnRomulan },
+	{ {ACTION_FINISHED_WALKING,   3, 0, 0, 0}, &Room::love4MccoyReachedRomulan4 },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love4MccoyCuredRomulan4 },
+	{ {ACTION_FINISHED_WALKING,   4, 0, 0, 0}, &Room::love4MccoyReachedRomulan3 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love4MccoyCuredRomulan3 },
+	{ {ACTION_FINISHED_WALKING,   5, 0, 0, 0}, &Room::love4MccoyReachedRomulan2 },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love4MccoyCuredRomulan2 },
+	{ {ACTION_FINISHED_WALKING,   6, 0, 0, 0}, &Room::love4MccoyReachedRomulan1 },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love4MccoyCuredRomulan1 },
+
+	{ {ACTION_USE, OBJECT_IH2O,   9, 0, 0}, &Room::love4UseWaterOnRomulan },
+	{ {ACTION_USE, OBJECT_IH2O,  10, 0, 0}, &Room::love4UseWaterOnRomulan },
+	{ {ACTION_USE, OBJECT_IH2O,  11, 0, 0}, &Room::love4UseWaterOnRomulan },
+	{ {ACTION_USE, OBJECT_IH2O,  12, 0, 0}, &Room::love4UseWaterOnRomulan },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  9, 0, 0}, &Room::love4UseMedkitOnRomulan },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 10, 0, 0}, &Room::love4UseMedkitOnRomulan },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 11, 0, 0}, &Room::love4UseMedkitOnRomulan },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 12, 0, 0}, &Room::love4UseMedkitOnRomulan },
+	{ {ACTION_USE, OBJECT_ISAMPLE,  9, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+	{ {ACTION_USE, OBJECT_ISAMPLE, 10, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+	{ {ACTION_USE, OBJECT_ISAMPLE, 11, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+	{ {ACTION_USE, OBJECT_ISAMPLE, 12, 0, 0}, &Room::love4UseCureSampleOnRomulan },
+	{ {ACTION_USE, 0xff,  9, 0, 0}, &Room::love4UseAnythingOnRomulan },
+	{ {ACTION_USE, 0xff, 10, 0, 0}, &Room::love4UseAnythingOnRomulan },
+	{ {ACTION_USE, 0xff, 11, 0, 0}, &Room::love4UseAnythingOnRomulan },
+	{ {ACTION_USE, 0xff, 12, 0, 0}, &Room::love4UseAnythingOnRomulan },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love4TextIds {
diff --git a/engines/startrek/rooms/love5.cpp b/engines/startrek/rooms/love5.cpp
index 1bbb1b6a326..c284f4d5c14 100644
--- a/engines/startrek/rooms/love5.cpp
+++ b/engines/startrek/rooms/love5.cpp
@@ -32,69 +32,69 @@
 namespace StarTrek {
 
 extern const RoomAction love5ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::love5Tick1 },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::love5TouchedWarp1 },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0}, &Room::love5Timer4Expired },
-	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::love5UseStunPhaserOnPreax },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::love5Tick1 },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::love5TouchedWarp1 },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0}, &Room::love5Timer4Expired },
+	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::love5UseStunPhaserOnPreax },
 	// NOTE: nothing for OBJECT_IPHASERK. There's an unused audio file which might fit.
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::love5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::love5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::love5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::love5LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::love5LookAnywhere },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::love5LookAtDevice },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::love5LookAtConsole },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::love5LookAtDrMarcus },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::love5LookAtDrCheever },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::love5LookAtPreax },
-	{ {ACTION_TALK, 9, 0, 0}, &Room::love5TalkToPreax },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::love5MccoyReachedSpockToCure },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::love5MccoyCuredSpock },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::love5CrewmanReachedBeamoutPosition },
-	{ {ACTION_TALK, 10, 0, 0}, &Room::love5TalkToDrMarcus },
-	{ {ACTION_TALK, 11, 0, 0}, &Room::love5TalkToDrCheever },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::love5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::love5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::love5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::love5TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::love5UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::love5UseSTricorderOnDevice },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::love5UseMTricorderOnPreax },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::love5UseMedkitOnPreax },
-	{ {ACTION_USE, OBJECT_IH2O, 9, 0}, &Room::love5UseWaterOnPreax },
-	{ {ACTION_USE, OBJECT_ISAMPLE, 9, 0}, &Room::love5UseCureSampleOnPreax },
-	{ {ACTION_USE, OBJECT_ICURE, 9, 0}, &Room::love5UseCureOnPreax },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0}, &Room::love5ReachedPreaxUsingCure },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::love5CuredPreax },
-	{ {ACTION_USE, 0xff, 9, 0}, &Room::love5UseAnythingOnPreax },
-	{ {ACTION_USE, OBJECT_KIRK, 10, 0}, &Room::love5UseKirkOnMarcusOrCheever },
-	{ {ACTION_USE, OBJECT_KIRK, 11, 0}, &Room::love5UseKirkOnMarcusOrCheever },
-	{ {ACTION_FINISHED_WALKING,   1, 0, 0}, &Room::love5KirkReachedCheever },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::love5KirkUntiedCheever },
-	{ {ACTION_FINISHED_WALKING,   2, 0, 0}, &Room::love5KirkReachedMarcus },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::love5KirkUntiedMarcus },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::love5MarcusStoodUp },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::love5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::love5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::love5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love5LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::love5LookAnywhere },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::love5LookAtDevice },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::love5LookAtConsole },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::love5LookAtDrMarcus },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::love5LookAtDrCheever },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::love5LookAtPreax },
+	{ {ACTION_TALK, 9, 0, 0, 0}, &Room::love5TalkToPreax },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::love5MccoyReachedSpockToCure },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::love5MccoyCuredSpock },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::love5CrewmanReachedBeamoutPosition },
+	{ {ACTION_TALK, 10, 0, 0, 0}, &Room::love5TalkToDrMarcus },
+	{ {ACTION_TALK, 11, 0, 0, 0}, &Room::love5TalkToDrCheever },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::love5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::love5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::love5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::love5TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::love5UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::love5UseSTricorderOnDevice },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 11, 0, 0}, &Room::love5UseMTricorderOnMarcusOrCheever },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::love5UseMTricorderOnPreax },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::love5UseMedkitOnPreax },
+	{ {ACTION_USE, OBJECT_IH2O, 9, 0, 0}, &Room::love5UseWaterOnPreax },
+	{ {ACTION_USE, OBJECT_ISAMPLE, 9, 0, 0}, &Room::love5UseCureSampleOnPreax },
+	{ {ACTION_USE, OBJECT_ICURE, 9, 0, 0}, &Room::love5UseCureOnPreax },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0}, &Room::love5ReachedPreaxUsingCure },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::love5CuredPreax },
+	{ {ACTION_USE, 0xff, 9, 0, 0}, &Room::love5UseAnythingOnPreax },
+	{ {ACTION_USE, OBJECT_KIRK, 10, 0, 0}, &Room::love5UseKirkOnMarcusOrCheever },
+	{ {ACTION_USE, OBJECT_KIRK, 11, 0, 0}, &Room::love5UseKirkOnMarcusOrCheever },
+	{ {ACTION_FINISHED_WALKING,   1, 0, 0, 0}, &Room::love5KirkReachedCheever },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::love5KirkUntiedCheever },
+	{ {ACTION_FINISHED_WALKING,   2, 0, 0, 0}, &Room::love5KirkReachedMarcus },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::love5KirkUntiedMarcus },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::love5MarcusStoodUp },
 
 	// Common code
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::loveaTimer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::loveaTimer1Expired },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0}, &Room::loveaUseMedkitOnSpock },
-	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0}, &Room::loveaUseCureSampleOnSpock },
-	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0}, &Room::loveaUseCureOnSpock },
-	{ {ACTION_FINISHED_WALKING,   99, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
-	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0}, &Room::loveaFinishedCuringSpock },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::loveaTimer2Expired },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::loveaUseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::loveaUseMTricorderOnHuman },
-	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0}, &Room::loveaUseRomulanLaughingGas },
-	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0}, &Room::loveaUseHumanLaughingGas },
-	{ {ACTION_USE, OBJECT_INH3, 0xff, 0}, &Room::loveaUseAmmonia },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::loveaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::loveaTimer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::loveaTimer1Expired },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMedkitOnSpock },
+	{ {ACTION_USE, OBJECT_ISAMPLE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureSampleOnSpock },
+	{ {ACTION_USE, OBJECT_ICURE, OBJECT_SPOCK, 0, 0}, &Room::loveaUseCureOnSpock },
+	{ {ACTION_FINISHED_WALKING,   99, 0, 0, 0}, &Room::loveaSpockOrMccoyInPositionToUseCure },
+	{ {ACTION_FINISHED_ANIMATION, 99, 0, 0, 0}, &Room::loveaFinishedCuringSpock },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::loveaTimer2Expired },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::loveaUseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::loveaUseMTricorderOnHuman },
+	{ {ACTION_USE, OBJECT_IRLG, 0xff, 0, 0}, &Room::loveaUseRomulanLaughingGas },
+	{ {ACTION_USE, OBJECT_IN2O, 0xff, 0, 0}, &Room::loveaUseHumanLaughingGas },
+	{ {ACTION_USE, OBJECT_INH3, 0xff, 0, 0}, &Room::loveaUseAmmonia },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::loveaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum love5TextIds {
diff --git a/engines/startrek/rooms/mudd0.cpp b/engines/startrek/rooms/mudd0.cpp
index 1a929c261c9..63fdcca28a1 100644
--- a/engines/startrek/rooms/mudd0.cpp
+++ b/engines/startrek/rooms/mudd0.cpp
@@ -39,54 +39,54 @@
 namespace StarTrek {
 
 extern const RoomAction mudd0ActionList[] = {
-	{ {ACTION_TICK,  1, 0, 0}, &Room::mudd0Tick1 },
-	{ {ACTION_TICK, 50, 0, 0}, &Room::mudd0Tick50 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::mudd0Tick60 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::mudd0UsePhaserOnMudd },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::mudd0UsePhaserOnMudd },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd0UseCommunicator },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd0LookAtFoodBox },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd0LookAtComponentBox },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::mudd0LookAnywhere },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd0LookAtMemoryDiskBox },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd0LookAtDegrimerBox },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd0LookAtLense },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::mudd0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::mudd0UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd0UseSTricorderOnMemoryDiskBox },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd0UseSTricorderOnDegrimerBox },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::mudd0UseMTricorderOnLense },
+	{ {ACTION_TICK,  1, 0, 0, 0}, &Room::mudd0Tick1 },
+	{ {ACTION_TICK, 50, 0, 0, 0}, &Room::mudd0Tick50 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::mudd0Tick60 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::mudd0UsePhaserOnMudd },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::mudd0UsePhaserOnMudd },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd0UseCommunicator },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd0LookAtFoodBox },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd0LookAtComponentBox },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::mudd0LookAnywhere },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd0LookAtMemoryDiskBox },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd0LookAtDegrimerBox },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd0LookAtLense },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::mudd0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::mudd0UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd0UseSTricorderOnMemoryDiskBox },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd0UseSTricorderOnDegrimerBox },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::mudd0UseMTricorderOnLense },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-
-	{ {ACTION_GET, 0x21, 0, 0}, &Room::mudd0GetLense },
-	{ {ACTION_GET, 0x20, 0, 0}, &Room::mudd0GetMemoryDisk },
-	{ {ACTION_GET, 0x22, 0, 0}, &Room::mudd0GetDegrimer },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd0PickedUpLense },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd0PickedUpItem },
-	{ {ACTION_WALK, 0x26, 0, 0}, &Room::mudd0WalkToSouthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd0TouchedHotspot1 },
-	{ {ACTION_WALK, 0x25, 0, 0}, &Room::mudd0WalkToNorthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd0TouchedHotspot0 },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::mudd0UseMedkit },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::mudd0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::mudd0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::mudd0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd0LookAtRedshirt },
-	{ {ACTION_LOOK, 8,               0, 0}, &Room::mudd0LookAtMudd },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::mudd0TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::mudd0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::mudd0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd0TalkToRedshirt },
-	{ {ACTION_TALK, 8,               0, 0}, &Room::mudd0TalkToMudd },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+
+	{ {ACTION_GET, 0x21, 0, 0, 0}, &Room::mudd0GetLense },
+	{ {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd0GetMemoryDisk },
+	{ {ACTION_GET, 0x22, 0, 0, 0}, &Room::mudd0GetDegrimer },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd0PickedUpLense },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd0PickedUpItem },
+	{ {ACTION_WALK, 0x26, 0, 0, 0}, &Room::mudd0WalkToSouthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd0TouchedHotspot1 },
+	{ {ACTION_WALK, 0x25, 0, 0, 0}, &Room::mudd0WalkToNorthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd0TouchedHotspot0 },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::mudd0UseMedkit },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd0LookAtRedshirt },
+	{ {ACTION_LOOK, 8,               0, 0, 0}, &Room::mudd0LookAtMudd },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd0TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd0TalkToRedshirt },
+	{ {ACTION_TALK, 8,               0, 0, 0}, &Room::mudd0TalkToMudd },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd0TextIds {
diff --git a/engines/startrek/rooms/mudd1.cpp b/engines/startrek/rooms/mudd1.cpp
index b60ccbc266b..3473b2ab5c2 100644
--- a/engines/startrek/rooms/mudd1.cpp
+++ b/engines/startrek/rooms/mudd1.cpp
@@ -45,66 +45,66 @@
 namespace StarTrek {
 
 extern const RoomAction mudd1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::mudd1Tick1 },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd1Timer1Expired },
-
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},    &Room::mudd1UseCommunicator },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0},  &Room::mudd1UseSpockOnBlueButton },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0},   &Room::mudd1SpockReachedBlueButton },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd1SpockPressedBlueButton },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::mudd1CraneFinishedMoving },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x24, 0},  &Room::mudd1UseSpockOnYellowButton },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0},   &Room::mudd1SpockReachedYellowButton },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::mudd1SpockPressedYellowButton },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x25, 0},  &Room::mudd1UseSpockOnRedButton },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0},   &Room::mudd1SpockReachedRedButton },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::mudd1SpockPressedRedButton },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd1Tick1 },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd1Timer1Expired },
+
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},    &Room::mudd1UseCommunicator },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0},  &Room::mudd1UseSpockOnBlueButton },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0},   &Room::mudd1SpockReachedBlueButton },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd1SpockPressedBlueButton },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::mudd1CraneFinishedMoving },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x24, 0, 0},  &Room::mudd1UseSpockOnYellowButton },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0},   &Room::mudd1SpockReachedYellowButton },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::mudd1SpockPressedYellowButton },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x25, 0, 0},  &Room::mudd1UseSpockOnRedButton },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0},   &Room::mudd1SpockReachedRedButton },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::mudd1SpockPressedRedButton },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-
-	{ {ACTION_GET, 9,    0, 0}, &Room::mudd1GetTorpedo },
-	{ {ACTION_GET, 0x21, 0, 0}, &Room::mudd1GetTorpedo },
-	{ {ACTION_GET, 0x20, 0, 0}, &Room::mudd1GetTorpedo },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd1UseSTricorderOnTorpedo },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 9,    0}, &Room::mudd1UseSTricorderOnTorpedo },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd1UseSTricorderOnTorpedo },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd1UseSTricorderOnTorpedoLauncher },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::mudd1UseSTricorderOnButton },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::mudd1UseSTricorderOnButton },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0}, &Room::mudd1UseSTricorderOnButton },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0},    &Room::mudd1UseSTricorderOnCrane },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},  &Room::mudd1UseMedkitAnywhere },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::mudd1LookAnywhere },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd1LookAtTorpedo },
-	{ {ACTION_LOOK, 9,    0, 0}, &Room::mudd1LookAtTorpedo },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd1LookAtFallenTorpedo },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd1LookAtTorpedoLauncher },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::mudd1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::mudd1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::mudd1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd1LookAtRedshirt },
-	{ {ACTION_LOOK, 8,    0, 0}, &Room::mudd1LookAtCrane },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::mudd1LookAtRedButton },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd1LookAtBlueButton },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd1LookAtYellowButton },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::mudd1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::mudd1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::mudd1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd1TalkToRedshirt },
-	{ {ACTION_WALK, 0x28, 0, 0}, &Room::mudd1WalkToSouthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 2, 0, 0}, &Room::mudd1TouchedHotspot2 },
-	{ {ACTION_WALK, 0x27, 0, 0}, &Room::mudd1WalkToNorthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd1TouchedHotspot1 },
-	{ {ACTION_WALK, 0x26, 0, 0}, &Room::mudd1WalkToWestDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd1TouchedHotspot0 },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+	{ {ACTION_GET, 9,    0, 0, 0}, &Room::mudd1GetTorpedo },
+	{ {ACTION_GET, 0x21, 0, 0, 0}, &Room::mudd1GetTorpedo },
+	{ {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd1GetTorpedo },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 9,    0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd1UseSTricorderOnTorpedo },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd1UseSTricorderOnTorpedoLauncher },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x24, 0, 0}, &Room::mudd1UseSTricorderOnButton },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0},    &Room::mudd1UseSTricorderOnCrane },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},  &Room::mudd1UseMedkitAnywhere },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::mudd1LookAnywhere },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd1LookAtTorpedo },
+	{ {ACTION_LOOK, 9,    0, 0, 0}, &Room::mudd1LookAtTorpedo },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd1LookAtFallenTorpedo },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd1LookAtTorpedoLauncher },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd1LookAtRedshirt },
+	{ {ACTION_LOOK, 8,    0, 0, 0}, &Room::mudd1LookAtCrane },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::mudd1LookAtRedButton },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd1LookAtBlueButton },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd1LookAtYellowButton },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd1TalkToRedshirt },
+	{ {ACTION_WALK, 0x28, 0, 0, 0}, &Room::mudd1WalkToSouthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 2, 0, 0, 0}, &Room::mudd1TouchedHotspot2 },
+	{ {ACTION_WALK, 0x27, 0, 0, 0}, &Room::mudd1WalkToNorthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd1TouchedHotspot1 },
+	{ {ACTION_WALK, 0x26, 0, 0, 0}, &Room::mudd1WalkToWestDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd1TouchedHotspot0 },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd1TextIds {
diff --git a/engines/startrek/rooms/mudd2.cpp b/engines/startrek/rooms/mudd2.cpp
index 4acb9ae3f3e..706c6739be3 100644
--- a/engines/startrek/rooms/mudd2.cpp
+++ b/engines/startrek/rooms/mudd2.cpp
@@ -36,70 +36,70 @@
 namespace StarTrek {
 
 extern const RoomAction mudd2ActionList[] = {
-	{ {ACTION_WALK, 0x21, 0, 0}, &Room::mudd2WalkToNorthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd2TouchedHotspot0 },
-	{ {ACTION_WALK, 0x22, 0, 0}, &Room::mudd2WalkToSouthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::mudd2TouchedHotspot1 },
-	{ {ACTION_TICK, 1, 0, 0}, &Room::mudd2Tick1 },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::mudd2Timer1Expired },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,   0}, &Room::mudd2UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_SPOCK,    0x20, 0}, &Room::mudd2UseSpockOnCapsules },
-	{ {ACTION_GET, 0x20, 0, 0}, &Room::mudd2GetCapsules },
-	{ {ACTION_FINISHED_WALKING,   12, 0, 0}, &Room::mudd2MccoyReachedCapsules },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::mudd2MccoyPickedUpCapsules },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::mudd2UseCommunicator },
+	{ {ACTION_WALK, 0x21, 0, 0, 0}, &Room::mudd2WalkToNorthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd2TouchedHotspot0 },
+	{ {ACTION_WALK, 0x22, 0, 0, 0}, &Room::mudd2WalkToSouthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::mudd2TouchedHotspot1 },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd2Tick1 },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::mudd2Timer1Expired },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,   0, 0}, &Room::mudd2UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_SPOCK,    0x20, 0, 0}, &Room::mudd2UseSpockOnCapsules },
+	{ {ACTION_GET, 0x20, 0, 0, 0}, &Room::mudd2GetCapsules },
+	{ {ACTION_FINISHED_WALKING,   12, 0, 0, 0}, &Room::mudd2MccoyReachedCapsules },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::mudd2MccoyPickedUpCapsules },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::mudd2UseCommunicator },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::muddaFiredAlienDevice },
-
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd2LookAtCapsules },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::mudd2UseMTricorderOnCapsules },
-	{ {ACTION_USE, OBJECT_ICAPSULE, 0x23, 0}, &Room::mudd2UseCapsuleOnControlPanel },
-	{ {ACTION_FINISHED_WALKING,   15, 0, 0},  &Room::mudd2MccoyReachedControlPanel },
-	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0},  &Room::mudd2MccoyPutCapsuleInControlPanel },
-	{ {ACTION_USE, OBJECT_KIRK, 0x24, 0},     &Room::mudd2UseKirkOnBed },
-	{ {ACTION_USE, OBJECT_KIRK, 0x25, 0},     &Room::mudd2UseKirkOnBed },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0},     &Room::mudd2KirkReachedBed },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0},   &Room::mudd2MuddNoticedKirk },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0},   &Room::mudd2MuddDroppedCapsule },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0},    &Room::mudd2UsePhaserOnMudd },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0},    &Room::mudd2UsePhaserOnMudd },
-
-	{ {ACTION_USE, OBJECT_SPOCK, 8, 0},       &Room::mudd2UseSpockOnMudd },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0},     &Room::mudd2SpockReachedMudd },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0},   &Room::mudd2SpockPinchedMudd },
-	{ {ACTION_USE, OBJECT_KIRK, 8, 0},        &Room::mudd2UseKirkOnMudd },
-
-	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0},    &Room::mudd2UseRedshirtOnMudd },
-	{ {ACTION_FINISHED_WALKING, 16, 0, 0},    &Room::mudd2RedshirtReachedMudd },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0},        &Room::mudd2Timer2Expired },
-	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0},  &Room::mudd2MuddFinishedPushingRedshirt },
-	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0},  &Room::mudd2RedshirtPushedAway },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0},    &Room::mudd2UseMTricorderOnMudd },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0},     &Room::mudd2UseMedkitOnMudd },
-	{ {ACTION_USE, OBJECT_MCCOY, 8, 0},       &Room::mudd2UseMedkitOnMudd },
-	{ {ACTION_FINISHED_WALKING, 10, 0, 0},    &Room::mudd2MccoyReachedMudd },
-	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0},  &Room::mudd2MccoyCuredMudd },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::mudd2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::mudd2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::mudd2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd2LookAtRedshirt },
-	{ {ACTION_LOOK, 8,    0, 0}, &Room::mudd2LookAtMudd },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd2LookAtControlPanel },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::mudd2LookAtBed },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::mudd2LookAtBed },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::mudd2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::mudd2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::mudd2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd2TalkToRedshirt },
-	{ {ACTION_TALK, 8,               0, 0}, &Room::mudd2TalkToMudd },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd2LookAtCapsules },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::mudd2UseMTricorderOnCapsules },
+	{ {ACTION_USE, OBJECT_ICAPSULE, 0x23, 0, 0}, &Room::mudd2UseCapsuleOnControlPanel },
+	{ {ACTION_FINISHED_WALKING,   15, 0, 0, 0},  &Room::mudd2MccoyReachedControlPanel },
+	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0},  &Room::mudd2MccoyPutCapsuleInControlPanel },
+	{ {ACTION_USE, OBJECT_KIRK, 0x24, 0, 0},     &Room::mudd2UseKirkOnBed },
+	{ {ACTION_USE, OBJECT_KIRK, 0x25, 0, 0},     &Room::mudd2UseKirkOnBed },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0},     &Room::mudd2KirkReachedBed },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0},   &Room::mudd2MuddNoticedKirk },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0},   &Room::mudd2MuddDroppedCapsule },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0},    &Room::mudd2UsePhaserOnMudd },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0},    &Room::mudd2UsePhaserOnMudd },
+
+	{ {ACTION_USE, OBJECT_SPOCK, 8, 0, 0},       &Room::mudd2UseSpockOnMudd },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0},     &Room::mudd2SpockReachedMudd },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0},   &Room::mudd2SpockPinchedMudd },
+	{ {ACTION_USE, OBJECT_KIRK, 8, 0, 0},        &Room::mudd2UseKirkOnMudd },
+
+	{ {ACTION_USE, OBJECT_REDSHIRT, 8, 0, 0},    &Room::mudd2UseRedshirtOnMudd },
+	{ {ACTION_FINISHED_WALKING, 16, 0, 0, 0},    &Room::mudd2RedshirtReachedMudd },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0},        &Room::mudd2Timer2Expired },
+	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0},  &Room::mudd2MuddFinishedPushingRedshirt },
+	{ {ACTION_FINISHED_ANIMATION, 16, 0, 0, 0},  &Room::mudd2RedshirtPushedAway },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0},    &Room::mudd2UseMTricorderOnMudd },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0},     &Room::mudd2UseMedkitOnMudd },
+	{ {ACTION_USE, OBJECT_MCCOY, 8, 0, 0},       &Room::mudd2UseMedkitOnMudd },
+	{ {ACTION_FINISHED_WALKING, 10, 0, 0, 0},    &Room::mudd2MccoyReachedMudd },
+	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0},  &Room::mudd2MccoyCuredMudd },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd2LookAtRedshirt },
+	{ {ACTION_LOOK, 8,    0, 0, 0}, &Room::mudd2LookAtMudd },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd2LookAtControlPanel },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::mudd2LookAtBed },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::mudd2LookAtBed },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd2TalkToRedshirt },
+	{ {ACTION_TALK, 8,               0, 0, 0}, &Room::mudd2TalkToMudd },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd2TextIds {
diff --git a/engines/startrek/rooms/mudd3.cpp b/engines/startrek/rooms/mudd3.cpp
index 4f25565d992..5729dd99a60 100644
--- a/engines/startrek/rooms/mudd3.cpp
+++ b/engines/startrek/rooms/mudd3.cpp
@@ -36,52 +36,52 @@
 namespace StarTrek {
 
 extern const RoomAction mudd3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::mudd3Tick1 },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},    &Room::mudd3UseCommunicator },
-	{ {ACTION_LOOK, 0x20, 0, 0},              &Room::mudd3LookAtScreen },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd3UseSTricorderOnScreen },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0},     &Room::mudd3UseKirkOnScreen },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0},    &Room::mudd3UseSpockOnSphere },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0},        &Room::mudd3Timer3Expired },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0},    &Room::mudd3UseMccoyOnSphere },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::mudd3UseRedshirtOnSphere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::mudd3UseMTricorderOnSphere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd3UseSTricorderOnSphere },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0},     &Room::mudd3ReadyToHookUpTricorders },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},        &Room::mudd3Timer1Expired },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0},        &Room::mudd3Timer2Expired },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0},        &Room::mudd3Timer4Expired },
-	{ {ACTION_USE, OBJECT_IDISKS, 0x21, 0},   &Room::mudd3UseMemoryDiskOnSphere },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd3Tick1 },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},    &Room::mudd3UseCommunicator },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0},              &Room::mudd3LookAtScreen },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd3UseSTricorderOnScreen },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0},     &Room::mudd3UseKirkOnScreen },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0},    &Room::mudd3UseSpockOnSphere },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0},        &Room::mudd3Timer3Expired },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0},    &Room::mudd3UseMccoyOnSphere },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::mudd3UseRedshirtOnSphere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::mudd3UseMTricorderOnSphere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd3UseSTricorderOnSphere },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0},     &Room::mudd3ReadyToHookUpTricorders },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},        &Room::mudd3Timer1Expired },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0},        &Room::mudd3Timer2Expired },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0},        &Room::mudd3Timer4Expired },
+	{ {ACTION_USE, OBJECT_IDISKS, 0x21, 0, 0},   &Room::mudd3UseMemoryDiskOnSphere },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-
-	{ {ACTION_GET, 13, 0, 0}, &Room::mudd3GetRepairTool },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0},   &Room::mudd3ReachedRepairTool },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::mudd3PickedUpRepairTool },
-	{ {ACTION_LOOK, 0x21, 0, 0},            &Room::mudd3LookAtSphere },
-	{ {ACTION_WALK, 0x22, 0, 0},            &Room::mudd3WalkToNorthDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},    &Room::mudd3TouchedHotspot0 },
-	{ {ACTION_WALK, 0x23, 0, 0},            &Room::mudd3WalkToEastDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0},    &Room::mudd3TouchedHotspot1 },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::mudd3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::mudd3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::mudd3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd3LookAtRedshirt },
-	{ {ACTION_LOOK, 8,               0, 0}, &Room::mudd3LookAtMudd },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::mudd3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::mudd3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::mudd3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd3TalkToRedshirt },
-	{ {ACTION_TALK, 8,               0, 0}, &Room::mudd3TalkToMudd },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  0xff, 0}, &Room::mudd3UseMedkit },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+
+	{ {ACTION_GET, 13, 0, 0, 0}, &Room::mudd3GetRepairTool },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0},   &Room::mudd3ReachedRepairTool },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::mudd3PickedUpRepairTool },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0},            &Room::mudd3LookAtSphere },
+	{ {ACTION_WALK, 0x22, 0, 0, 0},            &Room::mudd3WalkToNorthDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},    &Room::mudd3TouchedHotspot0 },
+	{ {ACTION_WALK, 0x23, 0, 0, 0},            &Room::mudd3WalkToEastDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0},    &Room::mudd3TouchedHotspot1 },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd3LookAtRedshirt },
+	{ {ACTION_LOOK, 8,               0, 0, 0}, &Room::mudd3LookAtMudd },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::mudd3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::mudd3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::mudd3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd3TalkToRedshirt },
+	{ {ACTION_TALK, 8,               0, 0, 0}, &Room::mudd3TalkToMudd },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  0xff, 0, 0}, &Room::mudd3UseMedkit },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd3TextIds {
diff --git a/engines/startrek/rooms/mudd4.cpp b/engines/startrek/rooms/mudd4.cpp
index cf19285855d..74da658c9f3 100644
--- a/engines/startrek/rooms/mudd4.cpp
+++ b/engines/startrek/rooms/mudd4.cpp
@@ -36,83 +36,83 @@
 namespace StarTrek {
 
 extern const RoomAction mudd4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::mudd4Tick1 },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},    &Room::mudd4UseCommunicator },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0},        &Room::mudd4Timer2Expired },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0},        &Room::mudd4Timer3Expired },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0},    &Room::mudd4UseSpockOnLeftConsole },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0},    &Room::mudd4UseSpockOnLeftConsole },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0},    &Room::mudd4UseSpockOnRightConsole },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0},     &Room::mudd4SpockReachedChair },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0},   &Room::mudd4SpockSatInChair },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0},   &Room::mudd4SpockUsedSensors },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0},   &Room::mudd4SpockUsedEngineering },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0},   &Room::mudd4SpockUsedNavigation },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0},     &Room::mudd4FinishedWalking3 },
-	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0},     &Room::mudd4UseKirkOnRightConsole },
-	{ {ACTION_USE, OBJECT_KIRK, 0x23, 0},     &Room::mudd4UseKirkOnRightConsole },
-	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0},     &Room::mudd4UseKirkOnLeftConsole },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0},     &Room::mudd4KirkReachedRightConsole },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0},   &Room::mudd4KirkSatInChair },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0},   &Room::mudd4KirkUsedViewScreen },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},        &Room::mudd4Timer1Expired },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0},   &Room::mudd4KirkUsedCommunications },
-	{ {ACTION_FINISHED_WALKING, 4, 0, 0},     &Room::mudd4KirkReachedPositionToTalkToMudd },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0},    &Room::mudd4UseMccoyOnConsole },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0},    &Room::mudd4UseMccoyOnConsole },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x23, 0},    &Room::mudd4UseMccoyOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::mudd4UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::mudd4UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0}, &Room::mudd4UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0},   &Room::mudd4UseSTricorderOnRepairTool },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd4UseSTricorderOnConsole },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd4Tick1 },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},    &Room::mudd4UseCommunicator },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0},        &Room::mudd4Timer2Expired },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0},        &Room::mudd4Timer3Expired },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0},    &Room::mudd4UseSpockOnLeftConsole },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0},    &Room::mudd4UseSpockOnLeftConsole },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x23, 0, 0},    &Room::mudd4UseSpockOnRightConsole },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0},     &Room::mudd4SpockReachedChair },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0},   &Room::mudd4SpockSatInChair },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0},   &Room::mudd4SpockUsedSensors },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0},   &Room::mudd4SpockUsedEngineering },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0},   &Room::mudd4SpockUsedNavigation },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0},     &Room::mudd4FinishedWalking3 },
+	{ {ACTION_USE, OBJECT_KIRK, 0x21, 0, 0},     &Room::mudd4UseKirkOnRightConsole },
+	{ {ACTION_USE, OBJECT_KIRK, 0x23, 0, 0},     &Room::mudd4UseKirkOnRightConsole },
+	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0},     &Room::mudd4UseKirkOnLeftConsole },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0},     &Room::mudd4KirkReachedRightConsole },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0},   &Room::mudd4KirkSatInChair },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0},   &Room::mudd4KirkUsedViewScreen },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},        &Room::mudd4Timer1Expired },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0},   &Room::mudd4KirkUsedCommunications },
+	{ {ACTION_FINISHED_WALKING, 4, 0, 0, 0},     &Room::mudd4KirkReachedPositionToTalkToMudd },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0},    &Room::mudd4UseMccoyOnConsole },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x22, 0, 0},    &Room::mudd4UseMccoyOnConsole },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x23, 0, 0},    &Room::mudd4UseMccoyOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x23, 0, 0}, &Room::mudd4UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 10, 0, 0},   &Room::mudd4UseSTricorderOnRepairTool },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
 
 	// ENHANCEMENT: Allow scanning the console to work when scanning the specific stations
 	// as well
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd4UseSTricorderOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0}, &Room::mudd4UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x23, 0, 0}, &Room::mudd4UseSTricorderOnConsole },
 
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd4UseSTricorderOnViewscreen },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd4UseSTricorderOnViewscreen },
 
 	// ENHANCEMENT: Allow scanning the viewscreen when it's on, not just when off
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0},    &Room::mudd4UseSTricorderOnViewscreen },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0},    &Room::mudd4UseSTricorderOnViewscreen },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
 
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},   &Room::mudd4UseMedkit },
-	{ {ACTION_GET, 10, 0, 0},                &Room::mudd4GetRepairTool },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0},    &Room::mudd4ReachedRepairTool },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::mudd4PickedUpRepairTool },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},   &Room::mudd4UseMedkit },
+	{ {ACTION_GET, 10, 0, 0, 0},                &Room::mudd4GetRepairTool },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0},    &Room::mudd4ReachedRepairTool },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::mudd4PickedUpRepairTool },
 
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::mudd4LookAtConsole },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::mudd4LookAtConsole },
 	// ENHANCEMENT: Allow look action work with the specific stations as well
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::mudd4LookAtConsole },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::mudd4LookAtConsole },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::mudd4LookAtConsole },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::mudd4LookAtConsole },
 
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::mudd4LookAtViewscreen },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::mudd4LookAtViewscreen },
 	// ENHANCEMENT: Allow look action work when viewscreen is on, not just when off
-	{ {ACTION_LOOK, 8, 0, 0},    &Room::mudd4LookAtViewscreen },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},     &Room::mudd4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},    &Room::mudd4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},    &Room::mudd4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd4LookAtRedshirt },
-	{ {ACTION_LOOK, 10, 0, 0},              &Room::mudd4LookAtRepairTool },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0},     &Room::mudd4TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},    &Room::mudd4TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},    &Room::mudd4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd4TalkToRedshirt },
-	{ {ACTION_WALK, 0x24, 0, 0},            &Room::mudd4WalkToEastDoor },
-	{ {ACTION_WALK, 0x25, 0, 0},            &Room::mudd4WalkToWestDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},    &Room::mudd4TouchedHotspot0 },
+	{ {ACTION_LOOK, 8, 0, 0, 0},    &Room::mudd4LookAtViewscreen },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},     &Room::mudd4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},    &Room::mudd4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},    &Room::mudd4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd4LookAtRedshirt },
+	{ {ACTION_LOOK, 10, 0, 0, 0},              &Room::mudd4LookAtRepairTool },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0},     &Room::mudd4TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},    &Room::mudd4TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},    &Room::mudd4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd4TalkToRedshirt },
+	{ {ACTION_WALK, 0x24, 0, 0, 0},            &Room::mudd4WalkToEastDoor },
+	{ {ACTION_WALK, 0x25, 0, 0, 0},            &Room::mudd4WalkToWestDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},    &Room::mudd4TouchedHotspot0 },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd4TextIds {
diff --git a/engines/startrek/rooms/mudd5.cpp b/engines/startrek/rooms/mudd5.cpp
index 9efc4957a00..14c18c179e7 100644
--- a/engines/startrek/rooms/mudd5.cpp
+++ b/engines/startrek/rooms/mudd5.cpp
@@ -37,50 +37,50 @@ const int16 GENERATOR_Y = 0xb0;
 namespace StarTrek {
 
 extern const RoomAction mudd5ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::mudd5Tick1 },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0},        &Room::mudd5Timer1Expired },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0},        &Room::mudd5Timer2Expired },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},      &Room::mudd5UseCommunicator },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0},   &Room::mudd5UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::mudd5UseSTricorderOnEngine },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0}, &Room::mudd5UseSTricorderOnCrane },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::mudd5UseSTricorderOnHatch },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 9,    0}, &Room::mudd5UseSTricorderOnLifeSupportGenerator },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0}, &Room::mudd5UseStunPhaserOnHatch },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0}, &Room::mudd5UseKillPhaserOnHatch },
-	{ {ACTION_USE, 0xff,            9,    0}, &Room::mudd5UseAnythingOnLifeSupportGenerator },
-	{ {ACTION_USE, OBJECT_IDOOVER,  9,    0}, &Room::mudd5UseDooverOnLifeSupportGenerator },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0},     &Room::mudd5KirkReachedLifeSupportGenerator },
-	{ {ACTION_TIMER_EXPIRED, 4, 0, 0},        &Room::mudd5KirkTimer4Expired },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0},   &Room::mudd5KirkRepairedLifeSupportGenerator },
-	{ {ACTION_TIMER_EXPIRED, 3, 0, 0},        &Room::mudd5KirkTimer3Expired },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::mudd5Tick1 },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0},        &Room::mudd5Timer1Expired },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0},        &Room::mudd5Timer2Expired },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},      &Room::mudd5UseCommunicator },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0},   &Room::mudd5UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::mudd5UseSTricorderOnEngine },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x22, 0, 0}, &Room::mudd5UseSTricorderOnCrane },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::mudd5UseSTricorderOnHatch },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 9,    0, 0}, &Room::mudd5UseSTricorderOnLifeSupportGenerator },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x20, 0, 0}, &Room::mudd5UseStunPhaserOnHatch },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x20, 0, 0}, &Room::mudd5UseKillPhaserOnHatch },
+	{ {ACTION_USE, 0xff,            9,    0, 0}, &Room::mudd5UseAnythingOnLifeSupportGenerator },
+	{ {ACTION_USE, OBJECT_IDOOVER,  9,    0, 0}, &Room::mudd5UseDooverOnLifeSupportGenerator },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0},     &Room::mudd5KirkReachedLifeSupportGenerator },
+	{ {ACTION_TIMER_EXPIRED, 4, 0, 0, 0},        &Room::mudd5KirkTimer4Expired },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0},   &Room::mudd5KirkRepairedLifeSupportGenerator },
+	{ {ACTION_TIMER_EXPIRED, 3, 0, 0, 0},        &Room::mudd5KirkTimer3Expired },
 
 	// Common code (next 4 lines)
-	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0}, &Room::muddaUseLenseOnDegrimer },
-	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0}, &Room::muddaUseAlienDevice },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::muddaFiredAlienDevice },
-	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0}, &Room::muddaUseDegrimer },
-
-	{ {ACTION_LOOK, 0x20, 0, 0},         &Room::mudd5LookAtHatch },
-	{ {ACTION_LOOK, 9,    0, 0},         &Room::mudd5LookAtLifeSupportGenerator },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::mudd5TouchedHotspot0 },
-	{ {ACTION_WALK, 0x22, 0, 0},         &Room::mudd5WalkToDoor },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},     &Room::mudd5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},    &Room::mudd5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},    &Room::mudd5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd5LookAtRedshirt },
-	{ {ACTION_LOOK, 0x22, 0, 0},            &Room::mudd5LookAtDoor },
-	{ {ACTION_LOOK, 0x23, 0, 0},            &Room::mudd5LookAtCrane },
-	{ {ACTION_LOOK, 0x21, 0, 0},            &Room::mudd5LookAtEngine },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0},     &Room::mudd5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},    &Room::mudd5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},    &Room::mudd5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::mudd5TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},  &Room::mudd5UseMedkit },
+	{ {ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0, 0}, &Room::muddaUseLenseOnDegrimer },
+	{ {ACTION_USE, OBJECT_IALIENDV, 0xff, 0, 0}, &Room::muddaUseAlienDevice },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::muddaFiredAlienDevice },
+	{ {ACTION_USE, OBJECT_IDEGRIME, 0xff, 0, 0}, &Room::muddaUseDegrimer },
+
+	{ {ACTION_LOOK, 0x20, 0, 0, 0},         &Room::mudd5LookAtHatch },
+	{ {ACTION_LOOK, 9,    0, 0, 0},         &Room::mudd5LookAtLifeSupportGenerator },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::mudd5TouchedHotspot0 },
+	{ {ACTION_WALK, 0x22, 0, 0, 0},         &Room::mudd5WalkToDoor },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},     &Room::mudd5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},    &Room::mudd5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},    &Room::mudd5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd5LookAtRedshirt },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0},            &Room::mudd5LookAtDoor },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0},            &Room::mudd5LookAtCrane },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0},            &Room::mudd5LookAtEngine },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0},     &Room::mudd5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},    &Room::mudd5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},    &Room::mudd5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::mudd5TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},  &Room::mudd5UseMedkit },
 
 	// Common code (countdown for losing atmosphere when life support malfunctioning)
-	{ {ACTION_TICK, 0xff, 0xff, 0xff},           &Room::muddaTick },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0},           &Room::muddaTick },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum mudd5TextIds {
diff --git a/engines/startrek/rooms/sins0.cpp b/engines/startrek/rooms/sins0.cpp
index 5a1390353c3..da39b564835 100644
--- a/engines/startrek/rooms/sins0.cpp
+++ b/engines/startrek/rooms/sins0.cpp
@@ -32,46 +32,46 @@
 namespace StarTrek {
 
 extern const RoomAction sins0ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins0Tick1 },
-
-	{ {ACTION_LOOK, 0xff,            0, 0}, &Room::sins0LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_DOOR,     0, 0}, &Room::sins0LookAtOpenDoor },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,    0, 0}, &Room::sins0LookAtClosedDoor },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::sins0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::sins0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins0TalkToRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_GROUND,  0, 0}, &Room::sins0LookAtGround },
-	{ {ACTION_GET, HOTSPOT_GROUND,   0, 0}, &Room::sins0GetRock },
-	{ {ACTION_DONE_ANIM, 1,          0, 0}, &Room::sins0PickedUpRock },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR,           0xff, 0}, &Room::sins0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_GROUND, 0}, &Room::sins0UseSTricorderOnGround },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PLANET, 0}, &Room::sins0UseSTricorderOnPlanet },
-
-	{ {ACTION_TICK, 40,              0, 0}, &Room::sins0Tick40 },
-	{ {ACTION_LOOK, HOTSPOT_STATUE,  0, 0}, &Room::sins0LookAtStatue },
-	{ {ACTION_LOOK, HOTSPOT_PLANET,  0, 0}, &Room::sins0LookAtPlanet },
-	{ {ACTION_LOOK, HOTSPOT_SKY,     0, 0}, &Room::sins0LookAtSky },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::sins0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::sins0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::sins0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins0LookAtRedshirt },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,    0}, &Room::sins0UseSTricorderOnClosedDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STATUE,  0}, &Room::sins0UseSTricorderOnStatue },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0}, &Room::sins0UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0}, &Room::sins0UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0}, &Room::sins0UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0}, &Room::sins0UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins0UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins0UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins0UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins0UseMTricorderOnCrewman },
-
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::sins0UseCommunicator },
-	{ {ACTION_WALK, HOTSPOT_DOOR,   0, 0}, &Room::sins0WalkToDoor },
-	{ {ACTION_WALK, OBJECT_DOOR,    0, 0}, &Room::sins0WalkToDoor },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins0Tick1 },
+
+	{ {ACTION_LOOK, 0xff,            0, 0, 0}, &Room::sins0LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_DOOR,     0, 0, 0}, &Room::sins0LookAtOpenDoor },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,    0, 0, 0}, &Room::sins0LookAtClosedDoor },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins0TalkToRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_GROUND,  0, 0, 0}, &Room::sins0LookAtGround },
+	{ {ACTION_GET, HOTSPOT_GROUND,   0, 0, 0}, &Room::sins0GetRock },
+	{ {ACTION_DONE_ANIM, 1,          0, 0, 0}, &Room::sins0PickedUpRock },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR,           0xff, 0, 0}, &Room::sins0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_GROUND, 0, 0}, &Room::sins0UseSTricorderOnGround },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PLANET, 0, 0}, &Room::sins0UseSTricorderOnPlanet },
+
+	{ {ACTION_TICK, 40,              0, 0, 0}, &Room::sins0Tick40 },
+	{ {ACTION_LOOK, HOTSPOT_STATUE,  0, 0, 0}, &Room::sins0LookAtStatue },
+	{ {ACTION_LOOK, HOTSPOT_PLANET,  0, 0, 0}, &Room::sins0LookAtPlanet },
+	{ {ACTION_LOOK, HOTSPOT_SKY,     0, 0, 0}, &Room::sins0LookAtSky },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::sins0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins0LookAtRedshirt },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,    0, 0}, &Room::sins0UseSTricorderOnClosedDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_STATUE,  0, 0}, &Room::sins0UseSTricorderOnStatue },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0, 0}, &Room::sins0UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0, 0}, &Room::sins0UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0, 0}, &Room::sins0UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0, 0}, &Room::sins0UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins0UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins0UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins0UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins0UseMTricorderOnCrewman },
+
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::sins0UseCommunicator },
+	{ {ACTION_WALK, HOTSPOT_DOOR,   0, 0, 0}, &Room::sins0WalkToDoor },
+	{ {ACTION_WALK, OBJECT_DOOR,    0, 0, 0}, &Room::sins0WalkToDoor },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins0TextIds {
diff --git a/engines/startrek/rooms/sins1.cpp b/engines/startrek/rooms/sins1.cpp
index 101bc3d1a8d..52a1c39e348 100644
--- a/engines/startrek/rooms/sins1.cpp
+++ b/engines/startrek/rooms/sins1.cpp
@@ -33,57 +33,57 @@
 namespace StarTrek {
 
 extern const RoomAction sins1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins1Tick1 },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::sins1LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_DOOR,    0, 0}, &Room::sins1LookAtLock },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,   0, 0}, &Room::sins1LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_PANEL,  0, 0}, &Room::sins1LookAtPanel },
-	{ {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1LookAtKeypad },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,  0}, &Room::sins1UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0}, &Room::sins1UseSTricorderOnKeypad },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR,    0}, &Room::sins1UseSTricorderOnLock },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,   0}, &Room::sins1UseSTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,           0}, &Room::sins1UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LENS,   0}, &Room::sins1UseSTricorderOnLens },
-	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_DOOR,   0}, &Room::sins1UseRockOnDoor },
-
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0}, &Room::sins1UseRedshirtOnKeypad },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_KEYPAD, 0}, &Room::sins1UseMccoyOnKeypad },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_KEYPAD, 0}, &Room::sins1UseKirkOnKeypad },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_KEYPAD, 0}, &Room::sins1UseSpockOnKeypad },
-	{ {ACTION_DONE_WALK, 6,                      0, 0}, &Room::sins1SpockReachedKeypad },
-	{ {ACTION_DONE_ANIM, 8,                      0, 0}, &Room::sins1EnteredCorrectCode },
-	{ {ACTION_DONE_ANIM, 1,                      0, 0}, &Room::sins1DoorDoneOpening },
-	{ {ACTION_DONE_ANIM, 7,                      0, 0}, &Room::sins1EnteredIncorrectCode },
-	{ {ACTION_DONE_ANIM, 9,                      0, 0}, &Room::sins1EnteredSacredSofNumber },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR,   0}, &Room::sins1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR,   0}, &Room::sins1UsePhaserOnDoor },
-	{ {ACTION_DONE_ANIM, 2,                      0, 0}, &Room::sins1DoorUsedLaser },
-
-	{ {ACTION_TICK, 40,              0, 0}, &Room::sins1Tick40 },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::sins1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::sins1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::sins1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins1TalkToRedshirt },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::sins1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::sins1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::sins1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins1LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_LENS,    0, 0}, &Room::sins1LookAtLens },
-
-	{ {ACTION_USE, OBJECT_ICOMM,    0xff,            0}, &Room::sins1UseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0}, &Room::sins1UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0}, &Room::sins1UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0}, &Room::sins1UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0}, &Room::sins1UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins1UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins1UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins1UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins1UseMTricorderOnCrewman },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins1WalkToDoor },
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::sins1WalkToDoor },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins1Tick1 },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins1LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_DOOR,    0, 0, 0}, &Room::sins1LookAtLock },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,   0, 0, 0}, &Room::sins1LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_PANEL,  0, 0, 0}, &Room::sins1LookAtPanel },
+	{ {ACTION_LOOK, HOTSPOT_KEYPAD, 0, 0, 0}, &Room::sins1LookAtKeypad },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,  0, 0}, &Room::sins1UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseSTricorderOnKeypad },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR,    0, 0}, &Room::sins1UseSTricorderOnLock },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,   0, 0}, &Room::sins1UseSTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,           0, 0}, &Room::sins1UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LENS,   0, 0}, &Room::sins1UseSTricorderOnLens },
+	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_DOOR,   0, 0}, &Room::sins1UseRockOnDoor },
+
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseRedshirtOnKeypad },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseMccoyOnKeypad },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseKirkOnKeypad },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_KEYPAD, 0, 0}, &Room::sins1UseSpockOnKeypad },
+	{ {ACTION_DONE_WALK, 6,                      0, 0, 0}, &Room::sins1SpockReachedKeypad },
+	{ {ACTION_DONE_ANIM, 8,                      0, 0, 0}, &Room::sins1EnteredCorrectCode },
+	{ {ACTION_DONE_ANIM, 1,                      0, 0, 0}, &Room::sins1DoorDoneOpening },
+	{ {ACTION_DONE_ANIM, 7,                      0, 0, 0}, &Room::sins1EnteredIncorrectCode },
+	{ {ACTION_DONE_ANIM, 9,                      0, 0, 0}, &Room::sins1EnteredSacredSofNumber },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR,   0, 0}, &Room::sins1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR,   0, 0}, &Room::sins1UsePhaserOnDoor },
+	{ {ACTION_DONE_ANIM, 2,                      0, 0, 0}, &Room::sins1DoorUsedLaser },
+
+	{ {ACTION_TICK, 40,              0, 0, 0}, &Room::sins1Tick40 },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::sins1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins1TalkToRedshirt },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::sins1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins1LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_LENS,    0, 0, 0}, &Room::sins1LookAtLens },
+
+	{ {ACTION_USE, OBJECT_ICOMM,    0xff,            0, 0}, &Room::sins1UseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0, 0}, &Room::sins1UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0, 0}, &Room::sins1UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0, 0}, &Room::sins1UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0, 0}, &Room::sins1UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins1UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins1UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins1UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins1UseMTricorderOnCrewman },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins1WalkToDoor },
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::sins1WalkToDoor },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins1TextIds {
diff --git a/engines/startrek/rooms/sins2.cpp b/engines/startrek/rooms/sins2.cpp
index ee2f7e66461..6b37b0e9965 100644
--- a/engines/startrek/rooms/sins2.cpp
+++ b/engines/startrek/rooms/sins2.cpp
@@ -30,58 +30,58 @@
 namespace StarTrek {
 
 extern const RoomAction sins2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins2Tick1 },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::sins2UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::sins2UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,         0}, &Room::sins2UseSTricorderAnywhere },
-
-	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_TERMINAL,    0}, &Room::sins2UseKirkOnTerminal },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TERMINAL,    0}, &Room::sins2UseSpockOnTerminal },
-	{ {ACTION_DONE_WALK, 5,                        0, 0}, &Room::sins2SpockReachedTerminal },
-	{ {ACTION_DONE_ANIM, 6,                        0, 0}, &Room::sins2SpockUsedTerminal },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_TERMINAL, 0}, &Room::sins2UseMccoyOnTerminal },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_TERMINAL, 0}, &Room::sins2UseRedshirtOnTerminal },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TERMINAL, 0}, &Room::sins2UseSTricorderOnTerminal },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD,   0}, &Room::sins2UseSTricorderOnKeypad },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,     0}, &Room::sins2UseSTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_KEYPAD,   0}, &Room::sins2UseKirkOnKeypad },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_KEYPAD,   0}, &Room::sins2UseSpockOnKeypad },
-	{ {ACTION_DONE_WALK, 2,                        0, 0}, &Room::sins2SpockReachedKeypad },
-	{ {ACTION_DONE_ANIM, 3,                        0, 0}, &Room::sins2EnteredCorrectCode },
-	{ {ACTION_DONE_ANIM, 4,                        0, 0}, &Room::sins2EnteredIncorrectCode },
-	{ {ACTION_DONE_ANIM, 1,                        0, 0}, &Room::sins2DoorFinishedOpening },
-
-	{ {ACTION_TICK, 40,               0, 0}, &Room::sins2Tick40 },
-	{ {ACTION_LOOK, 0xff,             0, 0}, &Room::sins2LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_DOOR,      0, 0}, &Room::sins2LookAtOpenDoor },
-	{ {ACTION_LOOK, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2LookAtTerminal },
-	{ {ACTION_LOOK, HOTSPOT_KEYPAD,   0, 0}, &Room::sins2LookAtKeypad },
-	{ {ACTION_LOOK, OBJECT_KIRK,      0, 0}, &Room::sins2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,     0, 0}, &Room::sins2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,     0, 0}, &Room::sins2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,  0, 0}, &Room::sins2LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_KIRK,      0, 0}, &Room::sins2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,     0, 0}, &Room::sins2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,     0, 0}, &Room::sins2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,  0, 0}, &Room::sins2TalkToRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,     0, 0}, &Room::sins2LookAtDoor },
-
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_DOOR,    0}, &Room::sins2UseSpockOnDoor },
-	{ {ACTION_USE, OBJECT_ICOMM,    0xff,            0}, &Room::sins2UseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0}, &Room::sins2UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0}, &Room::sins2UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0}, &Room::sins2UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0}, &Room::sins2UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins2UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins2UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins2UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins2UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_KEYPAD,  0}, &Room::sins2UseMccoyOnKeypad },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD,  0}, &Room::sins2UseRedshirtOnKeypad },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins2WalkToDoor },
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::sins2WalkToDoor },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins2Tick1 },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::sins2UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::sins2UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,         0, 0}, &Room::sins2UseSTricorderAnywhere },
+
+	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_TERMINAL,    0, 0}, &Room::sins2UseKirkOnTerminal },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_TERMINAL,    0, 0}, &Room::sins2UseSpockOnTerminal },
+	{ {ACTION_DONE_WALK, 5,                        0, 0, 0}, &Room::sins2SpockReachedTerminal },
+	{ {ACTION_DONE_ANIM, 6,                        0, 0, 0}, &Room::sins2SpockUsedTerminal },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseMccoyOnTerminal },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseRedshirtOnTerminal },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TERMINAL, 0, 0}, &Room::sins2UseSTricorderOnTerminal },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_KEYPAD,   0, 0}, &Room::sins2UseSTricorderOnKeypad },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,     0, 0}, &Room::sins2UseSTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_KEYPAD,   0, 0}, &Room::sins2UseKirkOnKeypad },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_KEYPAD,   0, 0}, &Room::sins2UseSpockOnKeypad },
+	{ {ACTION_DONE_WALK, 2,                        0, 0, 0}, &Room::sins2SpockReachedKeypad },
+	{ {ACTION_DONE_ANIM, 3,                        0, 0, 0}, &Room::sins2EnteredCorrectCode },
+	{ {ACTION_DONE_ANIM, 4,                        0, 0, 0}, &Room::sins2EnteredIncorrectCode },
+	{ {ACTION_DONE_ANIM, 1,                        0, 0, 0}, &Room::sins2DoorFinishedOpening },
+
+	{ {ACTION_TICK, 40,               0, 0, 0}, &Room::sins2Tick40 },
+	{ {ACTION_LOOK, 0xff,             0, 0, 0}, &Room::sins2LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_DOOR,      0, 0, 0}, &Room::sins2LookAtOpenDoor },
+	{ {ACTION_LOOK, HOTSPOT_TERMINAL, 0, 0, 0}, &Room::sins2LookAtTerminal },
+	{ {ACTION_LOOK, HOTSPOT_KEYPAD,   0, 0, 0}, &Room::sins2LookAtKeypad },
+	{ {ACTION_LOOK, OBJECT_KIRK,      0, 0, 0}, &Room::sins2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,     0, 0, 0}, &Room::sins2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,     0, 0, 0}, &Room::sins2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,  0, 0, 0}, &Room::sins2LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_KIRK,      0, 0, 0}, &Room::sins2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,     0, 0, 0}, &Room::sins2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,     0, 0, 0}, &Room::sins2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,  0, 0, 0}, &Room::sins2TalkToRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,     0, 0, 0}, &Room::sins2LookAtDoor },
+
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_DOOR,    0, 0}, &Room::sins2UseSpockOnDoor },
+	{ {ACTION_USE, OBJECT_ICOMM,    0xff,            0, 0}, &Room::sins2UseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0, 0}, &Room::sins2UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0, 0}, &Room::sins2UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0, 0}, &Room::sins2UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0, 0}, &Room::sins2UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins2UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins2UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins2UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins2UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_KEYPAD,  0, 0}, &Room::sins2UseMccoyOnKeypad },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_KEYPAD,  0, 0}, &Room::sins2UseRedshirtOnKeypad },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins2WalkToDoor },
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::sins2WalkToDoor },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins2TextIds {
diff --git a/engines/startrek/rooms/sins3.cpp b/engines/startrek/rooms/sins3.cpp
index ae5e66b796a..2deb667c2e7 100644
--- a/engines/startrek/rooms/sins3.cpp
+++ b/engines/startrek/rooms/sins3.cpp
@@ -37,89 +37,89 @@
 namespace StarTrek {
 
 extern const RoomAction sins3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins3Tick1 },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_BOX,           0}, &Room::sins3UseSTricorderOnBox },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_MONITOR,  0}, &Room::sins3UseSTricorderOnMonitor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_MONITOR, 0}, &Room::sins3UseSTricorderOnMonitor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                  0}, &Room::sins3UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DRILL,         0}, &Room::sins3UseSTricorderOnDrill },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,         0}, &Room::sins3UseSTricorderOnPanel },
-
-	{ {ACTION_LOOK, HOTSPOT_DRILL,         0, 0}, &Room::sins3LookAtDrill },
-	{ {ACTION_LOOK, HOTSPOT_PANEL,         0, 0}, &Room::sins3LookAtPanel },
-	{ {ACTION_LOOK, HOTSPOT_LEFT_MONITOR,  0, 0}, &Room::sins3LookAtMonitor },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_MONITOR, 0, 0}, &Room::sins3LookAtMonitor },
-	{ {ACTION_LOOK, 0xff,                  0, 0}, &Room::sins3LookAnywhere },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::sins3UseSTricorderOnWall },
-
-	{ {ACTION_LOOK, OBJECT_BOX,  0, 0}, &Room::sins3LookAtBox },
-	{ {ACTION_LOOK, HOTSPOT_BOX, 0, 0}, &Room::sins3LookAtBox },
-
-	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_BOX,     0}, &Room::sins3UseKirkOnBox },
-	{ {ACTION_DONE_WALK, 4,                   0, 0}, &Room::sins3KirkReachedBox },
-	{ {ACTION_TIMER_EXPIRED, 0,               0, 0}, &Room::sins3Timer0Expired },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_BOX,    0}, &Room::sins3UseSpockOnBox },
-	{ {ACTION_DONE_WALK, 5,                   0, 0}, &Room::sins3SpockReachedBox },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_BOX,    0}, &Room::sins3UseMccoyOnBox },
-	{ {ACTION_DONE_WALK, 6,                   0, 0}, &Room::sins3MccoyReachedBox },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_BOX, 0}, &Room::sins3UseRedshirtOnBox },
-	{ {ACTION_DONE_WALK, 7,                   0, 0}, &Room::sins3RedshirtReachedBox },
-	{ {ACTION_DONE_ANIM, 8,                   0, 0}, &Room::sins3BoxOpened },
-
-	{ {ACTION_GET, OBJECT_BOX,  0, 0}, &Room::sins3GetBox },
-	{ {ACTION_GET, HOTSPOT_BOX, 0, 0}, &Room::sins3GetBox },
-	{ {ACTION_DONE_WALK, 3,     0, 0}, &Room::sins3KirkReachedBoxToGet },
-	{ {ACTION_DONE_ANIM, 17,    0, 0}, &Room::sins3KirkGotBoxContents },
-
-	{ {ACTION_TICK, 30, 0, 0}, &Room::sins3Tick30 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::sins3Tick60 },
-
-	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_PANEL,   0}, &Room::sins3UseKirkOnPanel },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL,   0}, &Room::sins3UseSpockOnPanel },
-	{ {ACTION_DONE_WALK, 10,                   0, 0}, &Room::sins3SpockReachedPanel },
-	{ {ACTION_USE, OBJECT_IS8ROCKS, OBJECT_ITEM,  0}, &Room::sins3UseRockOnWall },
-	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_WALL, 0}, &Room::sins3UseRockOnWall },
-	{ {ACTION_DONE_WALK, 1,                    0, 0}, &Room::sins3KirkReachedWall },
-	{ {ACTION_DONE_ANIM, 18,                   0, 0}, &Room::sins3KirkPutRockOnWall },
-	{ {ACTION_DONE_WALK, 2,                    0, 0}, &Room::sins3KirkBackedAwayFromWall },
-	{ {ACTION_DONE_ANIM, 11,                   0, 0}, &Room::sins3UsedLowPowerLaserOnRock },
-	{ {ACTION_DONE_ANIM, 12,                   0, 0}, &Room::sins3MadeHoleInRock },
-	{ {ACTION_DONE_ANIM, 13,                   0, 0}, &Room::sins3CreatedTemplateInRock },
-	{ {ACTION_DONE_ANIM, 14,                   0, 0}, &Room::sins3RockTurnedIntoIDCard },
-	{ {ACTION_DONE_ANIM, 19,                   0, 0}, &Room::sins3RockVaporized },
-	{ {ACTION_USE, HOTSPOT_DRILL, 0xff,           0}, &Room::sins3UseDrillAnywhere },
-
-	{ {ACTION_GET, OBJECT_ITEM,      0, 0}, &Room::sins3GetIDCard },
-	{ {ACTION_DONE_WALK, 15,         0, 0}, &Room::sins3ReachedIDCard },
-	{ {ACTION_DONE_ANIM, 16,         0, 0}, &Room::sins3PickedUpIDCard },
-	{ {ACTION_LOOK, OBJECT_ITEM,     0, 0}, &Room::sins3LookAtItemBeingDrilled },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::sins3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::sins3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::sins3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::sins3LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::sins3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::sins3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::sins3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins3TalkToRedshirt },
-
-	{ {ACTION_USE,  OBJECT_ICOMM,   0xff,          0}, &Room::sins3UseCommunicator },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_DRILL, 0}, &Room::sins3UseSpockOnDrill },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_DRILL, 0}, &Room::sins3UseMccoyOnDrill },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_DRILL, 0}, &Room::sins3UseRedshirtOnDrill },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::sins3WalkToDoor },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0}, &Room::sins3UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0}, &Room::sins3UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0}, &Room::sins3UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0}, &Room::sins3UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins3UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins3UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins3UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins3UseMTricorderOnCrewman },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins3Tick1 },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_BOX,           0, 0}, &Room::sins3UseSTricorderOnBox },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_MONITOR,  0, 0}, &Room::sins3UseSTricorderOnMonitor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_MONITOR, 0, 0}, &Room::sins3UseSTricorderOnMonitor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                  0, 0}, &Room::sins3UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DRILL,         0, 0}, &Room::sins3UseSTricorderOnDrill },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,         0, 0}, &Room::sins3UseSTricorderOnPanel },
+
+	{ {ACTION_LOOK, HOTSPOT_DRILL,         0, 0, 0}, &Room::sins3LookAtDrill },
+	{ {ACTION_LOOK, HOTSPOT_PANEL,         0, 0, 0}, &Room::sins3LookAtPanel },
+	{ {ACTION_LOOK, HOTSPOT_LEFT_MONITOR,  0, 0, 0}, &Room::sins3LookAtMonitor },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_MONITOR, 0, 0, 0}, &Room::sins3LookAtMonitor },
+	{ {ACTION_LOOK, 0xff,                  0, 0, 0}, &Room::sins3LookAnywhere },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::sins3UseSTricorderOnWall },
+
+	{ {ACTION_LOOK, OBJECT_BOX,  0, 0, 0}, &Room::sins3LookAtBox },
+	{ {ACTION_LOOK, HOTSPOT_BOX, 0, 0, 0}, &Room::sins3LookAtBox },
+
+	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_BOX,     0, 0}, &Room::sins3UseKirkOnBox },
+	{ {ACTION_DONE_WALK, 4,                   0, 0, 0}, &Room::sins3KirkReachedBox },
+	{ {ACTION_TIMER_EXPIRED, 0,               0, 0, 0}, &Room::sins3Timer0Expired },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_BOX,    0, 0}, &Room::sins3UseSpockOnBox },
+	{ {ACTION_DONE_WALK, 5,                   0, 0, 0}, &Room::sins3SpockReachedBox },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_BOX,    0, 0}, &Room::sins3UseMccoyOnBox },
+	{ {ACTION_DONE_WALK, 6,                   0, 0, 0}, &Room::sins3MccoyReachedBox },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_BOX, 0, 0}, &Room::sins3UseRedshirtOnBox },
+	{ {ACTION_DONE_WALK, 7,                   0, 0, 0}, &Room::sins3RedshirtReachedBox },
+	{ {ACTION_DONE_ANIM, 8,                   0, 0, 0}, &Room::sins3BoxOpened },
+
+	{ {ACTION_GET, OBJECT_BOX,  0, 0, 0}, &Room::sins3GetBox },
+	{ {ACTION_GET, HOTSPOT_BOX, 0, 0, 0}, &Room::sins3GetBox },
+	{ {ACTION_DONE_WALK, 3,     0, 0, 0}, &Room::sins3KirkReachedBoxToGet },
+	{ {ACTION_DONE_ANIM, 17,    0, 0, 0}, &Room::sins3KirkGotBoxContents },
+
+	{ {ACTION_TICK, 30, 0, 0, 0}, &Room::sins3Tick30 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::sins3Tick60 },
+
+	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_PANEL,   0, 0}, &Room::sins3UseKirkOnPanel },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_PANEL,   0, 0}, &Room::sins3UseSpockOnPanel },
+	{ {ACTION_DONE_WALK, 10,                   0, 0, 0}, &Room::sins3SpockReachedPanel },
+	{ {ACTION_USE, OBJECT_IS8ROCKS, OBJECT_ITEM,  0, 0}, &Room::sins3UseRockOnWall },
+	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_WALL, 0, 0}, &Room::sins3UseRockOnWall },
+	{ {ACTION_DONE_WALK, 1,                    0, 0, 0}, &Room::sins3KirkReachedWall },
+	{ {ACTION_DONE_ANIM, 18,                   0, 0, 0}, &Room::sins3KirkPutRockOnWall },
+	{ {ACTION_DONE_WALK, 2,                    0, 0, 0}, &Room::sins3KirkBackedAwayFromWall },
+	{ {ACTION_DONE_ANIM, 11,                   0, 0, 0}, &Room::sins3UsedLowPowerLaserOnRock },
+	{ {ACTION_DONE_ANIM, 12,                   0, 0, 0}, &Room::sins3MadeHoleInRock },
+	{ {ACTION_DONE_ANIM, 13,                   0, 0, 0}, &Room::sins3CreatedTemplateInRock },
+	{ {ACTION_DONE_ANIM, 14,                   0, 0, 0}, &Room::sins3RockTurnedIntoIDCard },
+	{ {ACTION_DONE_ANIM, 19,                   0, 0, 0}, &Room::sins3RockVaporized },
+	{ {ACTION_USE, HOTSPOT_DRILL, 0xff,           0, 0}, &Room::sins3UseDrillAnywhere },
+
+	{ {ACTION_GET, OBJECT_ITEM,      0, 0, 0}, &Room::sins3GetIDCard },
+	{ {ACTION_DONE_WALK, 15,         0, 0, 0}, &Room::sins3ReachedIDCard },
+	{ {ACTION_DONE_ANIM, 16,         0, 0, 0}, &Room::sins3PickedUpIDCard },
+	{ {ACTION_LOOK, OBJECT_ITEM,     0, 0, 0}, &Room::sins3LookAtItemBeingDrilled },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::sins3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins3LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::sins3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins3TalkToRedshirt },
+
+	{ {ACTION_USE,  OBJECT_ICOMM,   0xff,          0, 0}, &Room::sins3UseCommunicator },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_DRILL, 0, 0}, &Room::sins3UseSpockOnDrill },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_DRILL, 0, 0}, &Room::sins3UseMccoyOnDrill },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_DRILL, 0, 0}, &Room::sins3UseRedshirtOnDrill },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::sins3WalkToDoor },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0, 0}, &Room::sins3UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0, 0}, &Room::sins3UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0, 0}, &Room::sins3UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0, 0}, &Room::sins3UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins3UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins3UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins3UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins3UseMTricorderOnCrewman },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins3TextIds {
diff --git a/engines/startrek/rooms/sins4.cpp b/engines/startrek/rooms/sins4.cpp
index 6adb7e084b1..f92df498eca 100644
--- a/engines/startrek/rooms/sins4.cpp
+++ b/engines/startrek/rooms/sins4.cpp
@@ -33,63 +33,63 @@
 namespace StarTrek {
 
 extern const RoomAction sins4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins4Tick1 },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,      0}, &Room::sins4UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_PANEL,      0}, &Room::sins4UseSpockOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UsePhaserOnNorthDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UsePhaserOnNorthDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL,      0}, &Room::sins4UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL,      0}, &Room::sins4UsePhaserOnPanel },
-
-	{ {ACTION_USE, OBJECT_IIDCARD,  HOTSPOT_PANEL,      0}, &Room::sins4UseIDCardOnPanel },
-	{ {ACTION_DONE_WALK, 2,                          0, 0}, &Room::sins4KirkReachedPanel },
-	{ {ACTION_DONE_ANIM, 5,                          0, 0}, &Room::sins4KirkPutCardInPanel },
-	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_PANEL,      0}, &Room::sins4UseRockOnPanel },
-	{ {ACTION_DONE_WALK, 3,                          0, 0}, &Room::sins4KirkReachedPanelWithRock },
-	{ {ACTION_DONE_ANIM, 4,                          0, 0}, &Room::sins4KirkUsedRockOnPanel },
-
-	{ {ACTION_LOOK, HOTSPOT_WEST_DOOR,  0, 0}, &Room::sins4LookAtWestDoor },
-	{ {ACTION_LOOK, HOTSPOT_EAST_DOOR,  0, 0}, &Room::sins4LookAtEastDoor },
-	{ {ACTION_LOOK, 0xff,               0, 0}, &Room::sins4LookAnywhere },
-	{ {ACTION_LOOK, HOTSPOT_PANEL,      0, 0}, &Room::sins4LookAtPanel },
-	{ {ACTION_TICK, 40,                 0, 0}, &Room::sins4Tick40 },
-	{ {ACTION_LOOK, OBJECT_KIRK,        0, 0}, &Room::sins4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,       0, 0}, &Room::sins4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,       0, 0}, &Room::sins4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,    0, 0}, &Room::sins4LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT,      0, 0}, &Room::sins4LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_BEAM,       0, 0}, &Room::sins4LookAtBeam },
-	{ {ACTION_LOOK, OBJECT_NORTH_DOOR,  0, 0}, &Room::sins4LookAtOpenNorthDoor },
-	{ {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4LookAtClosedNorthDoor },
-	{ {ACTION_TALK, OBJECT_KIRK,        0, 0}, &Room::sins4TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,       0, 0}, &Room::sins4TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,       0, 0}, &Room::sins4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,    0, 0}, &Room::sins4TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseSTricorderOnNorthDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,               0}, &Room::sins4UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ICOMM,    0xff,               0}, &Room::sins4UseCommunicator },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseMccoyOnNorthDoor },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseRedshirtOnNorthDoor },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_NORTH_DOOR, 0}, &Room::sins4UseSpockOnNorthDoor },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_PANEL,      0}, &Room::sins4UseMccoyOnPanel },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_PANEL,      0}, &Room::sins4UseRedshirtOnPanel },
-
-	{ {ACTION_WALK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4WalkToNorthDoor },
-	{ {ACTION_WALK, OBJECT_NORTH_DOOR,  0, 0}, &Room::sins4WalkToNorthDoor },
-	{ {ACTION_WALK, HOTSPOT_WEST_DOOR, 0, 0}, &Room::sins4WalkToWestDoor },
-	{ {ACTION_WALK, HOTSPOT_EAST_DOOR, 0, 0}, &Room::sins4WalkToEastDoor },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0}, &Room::sins4UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0}, &Room::sins4UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0}, &Room::sins4UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0}, &Room::sins4UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins4UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins4UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins4UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins4UseMTricorderOnCrewman },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins4Tick1 },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL,      0, 0}, &Room::sins4UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_PANEL,      0, 0}, &Room::sins4UseSpockOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UsePhaserOnNorthDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UsePhaserOnNorthDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL,      0, 0}, &Room::sins4UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL,      0, 0}, &Room::sins4UsePhaserOnPanel },
+
+	{ {ACTION_USE, OBJECT_IIDCARD,  HOTSPOT_PANEL,      0, 0}, &Room::sins4UseIDCardOnPanel },
+	{ {ACTION_DONE_WALK, 2,                          0, 0, 0}, &Room::sins4KirkReachedPanel },
+	{ {ACTION_DONE_ANIM, 5,                          0, 0, 0}, &Room::sins4KirkPutCardInPanel },
+	{ {ACTION_USE, OBJECT_IS8ROCKS, HOTSPOT_PANEL,      0, 0}, &Room::sins4UseRockOnPanel },
+	{ {ACTION_DONE_WALK, 3,                          0, 0, 0}, &Room::sins4KirkReachedPanelWithRock },
+	{ {ACTION_DONE_ANIM, 4,                          0, 0, 0}, &Room::sins4KirkUsedRockOnPanel },
+
+	{ {ACTION_LOOK, HOTSPOT_WEST_DOOR,  0, 0, 0}, &Room::sins4LookAtWestDoor },
+	{ {ACTION_LOOK, HOTSPOT_EAST_DOOR,  0, 0, 0}, &Room::sins4LookAtEastDoor },
+	{ {ACTION_LOOK, 0xff,               0, 0, 0}, &Room::sins4LookAnywhere },
+	{ {ACTION_LOOK, HOTSPOT_PANEL,      0, 0, 0}, &Room::sins4LookAtPanel },
+	{ {ACTION_TICK, 40,                 0, 0, 0}, &Room::sins4Tick40 },
+	{ {ACTION_LOOK, OBJECT_KIRK,        0, 0, 0}, &Room::sins4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,       0, 0, 0}, &Room::sins4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,       0, 0, 0}, &Room::sins4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,    0, 0, 0}, &Room::sins4LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT,      0, 0, 0}, &Room::sins4LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_BEAM,       0, 0, 0}, &Room::sins4LookAtBeam },
+	{ {ACTION_LOOK, OBJECT_NORTH_DOOR,  0, 0, 0}, &Room::sins4LookAtOpenNorthDoor },
+	{ {ACTION_LOOK, HOTSPOT_NORTH_DOOR, 0, 0, 0}, &Room::sins4LookAtClosedNorthDoor },
+	{ {ACTION_TALK, OBJECT_KIRK,        0, 0, 0}, &Room::sins4TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,       0, 0, 0}, &Room::sins4TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,       0, 0, 0}, &Room::sins4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,    0, 0, 0}, &Room::sins4TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseSTricorderOnNorthDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,               0, 0}, &Room::sins4UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ICOMM,    0xff,               0, 0}, &Room::sins4UseCommunicator },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseMccoyOnNorthDoor },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseRedshirtOnNorthDoor },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins4UseSpockOnNorthDoor },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_PANEL,      0, 0}, &Room::sins4UseMccoyOnPanel },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_PANEL,      0, 0}, &Room::sins4UseRedshirtOnPanel },
+
+	{ {ACTION_WALK, HOTSPOT_NORTH_DOOR, 0, 0, 0}, &Room::sins4WalkToNorthDoor },
+	{ {ACTION_WALK, OBJECT_NORTH_DOOR,  0, 0, 0}, &Room::sins4WalkToNorthDoor },
+	{ {ACTION_WALK, HOTSPOT_WEST_DOOR, 0, 0, 0}, &Room::sins4WalkToWestDoor },
+	{ {ACTION_WALK, HOTSPOT_EAST_DOOR, 0, 0, 0}, &Room::sins4WalkToEastDoor },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_KIRK,     0, 0}, &Room::sins4UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_SPOCK,    0, 0}, &Room::sins4UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_MCCOY,    0, 0}, &Room::sins4UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_REDSHIRT, 0, 0}, &Room::sins4UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins4UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins4UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins4UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins4UseMTricorderOnCrewman },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins4TextIds {
diff --git a/engines/startrek/rooms/sins5.cpp b/engines/startrek/rooms/sins5.cpp
index 747e38d2f51..b72a8db9106 100644
--- a/engines/startrek/rooms/sins5.cpp
+++ b/engines/startrek/rooms/sins5.cpp
@@ -39,94 +39,94 @@
 namespace StarTrek {
 
 extern const RoomAction sins5ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::sins5Tick1 },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                    0}, &Room::sins5UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseSTricorderOnRightComputer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseSTricorderOnLeftComputer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseSTricorderOnMiddleComputer },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseKirkOnRightComputer },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseKirkOnLeftComputer },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseKirkOnMiddleComputer },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseMccoyOnComputer },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseMccoyOnComputer },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseMccoyOnComputer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseRedshirtOnComputer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseRedshirtOnComputer },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseRedshirtOnComputer },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseSpockOnMiddleComputer },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseSpockOnRightComputer },
-	{ {ACTION_DONE_WALK, 11,                              0, 0}, &Room::sins5SpockReachedRightComputer },
-	{ {ACTION_DONE_ANIM, 13,                              0, 0}, &Room::sins5SpockUsedRightComputer },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseSpockOnLeftComputer },
-	{ {ACTION_DONE_WALK, 10,                              0, 0}, &Room::sins5SpockReachedLeftComputer },
-	{ {ACTION_DONE_ANIM, 12,                              0, 0}, &Room::sins5SpockUsedLeftComputer },
-	{ {ACTION_DONE_WALK, 16,                              0, 0}, &Room::sins5CrewmanReadyToBeamOut },
-
-	{ {ACTION_TICK, 20, 0, 0}, &Room::sins5Tick20 },
-
-	{ {ACTION_USE, OBJECT_ICONECT, HOTSPOT_LEFT_COMPUTER,    0}, &Room::sins5UseWireOnComputer },
-	{ {ACTION_USE, OBJECT_ICONECT, HOTSPOT_RIGHT_COMPUTER,   0}, &Room::sins5UseWireOnComputer },
-	{ {ACTION_DONE_WALK, 14,                              0, 0}, &Room::sins5KirkOrSpockInPositionToUseWire },
-	{ {ACTION_DONE_ANIM, 15,                              0, 0}, &Room::sins5WireConnected },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseStunPhaserOnComputer },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseStunPhaserOnComputer },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseStunPhaserOnComputer },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LEFT_COMPUTER,   0}, &Room::sins5UseKillPhaserOnLeftComputer },
-	{ {ACTION_DONE_WALK, 2,                               0, 0}, &Room::sins5ReachedPositionToShootLeftComputer },
-	{ {ACTION_DONE_ANIM, 3,                               0, 0}, &Room::sins5DrewPhaserToShootLeftComputer },
-	{ {ACTION_TIMER_EXPIRED, 0,                           0, 0}, &Room::sins5Timer0Expired },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_MIDDLE_COMPUTER, 0}, &Room::sins5UseKillPhaserOnMiddleComputer },
-	{ {ACTION_DONE_WALK, 6,                               0, 0}, &Room::sins5ReachedPositionToShootMiddleComputer },
-	{ {ACTION_DONE_ANIM, 7,                               0, 0}, &Room::sins5DrewPhaserToShootMiddleComputer },
-	{ {ACTION_TIMER_EXPIRED, 1,                           0, 0}, &Room::sins5Timer1Expired },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RIGHT_COMPUTER,  0}, &Room::sins5UseKillPhaserOnRightComputer },
-	{ {ACTION_DONE_WALK, 4,                               0, 0}, &Room::sins5ReachedPositionToShootRightComputer },
-	{ {ACTION_DONE_ANIM, 5,                               0, 0}, &Room::sins5DrewPhaserToShootRightComputer },
-	{ {ACTION_TIMER_EXPIRED, 2,                           0, 0}, &Room::sins5Timer2Expired },
-	{ {ACTION_DONE_ANIM, 1,                               0, 0}, &Room::sins5ComputerLaunchesMissiles },
-	{ {ACTION_TIMER_EXPIRED, 3,                           0, 0}, &Room::sins5Timer3Expired },
-
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::sins5LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_KIRK,             0, 0}, &Room::sins5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,            0, 0}, &Room::sins5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,            0, 0}, &Room::sins5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,         0, 0}, &Room::sins5LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_LIGHT,           0, 0}, &Room::sins5LookAtLight },
-	{ {ACTION_LOOK, HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5LookAtLeftComputer },
-	{ {ACTION_LOOK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5LookAtMiddleComputer },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5LookAtRightComputer },
-	{ {ACTION_LOOK, HOTSPOT_MISSILE_1,       0, 0}, &Room::sins5LookAtMissile },
-	{ {ACTION_LOOK, HOTSPOT_MISSILE_2,       0, 0}, &Room::sins5LookAtMissile },
-	{ {ACTION_LOOK, HOTSPOT_MISSILE_3,       0, 0}, &Room::sins5LookAtMissile },
-	{ {ACTION_LOOK, HOTSPOT_MISSILE_4,       0, 0}, &Room::sins5LookAtMissile },
-	{ {ACTION_LOOK, HOTSPOT_NORTH_DOOR,      0, 0}, &Room::sins5LookAtNorthDoor },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK,     0}, &Room::sins5UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK,    0}, &Room::sins5UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY,    0}, &Room::sins5UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0}, &Room::sins5UseMedkitOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff,           0}, &Room::sins5UseMTricorderAnywhere },
-
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::sins5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::sins5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::sins5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::sins5TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_1,  0}, &Room::sins5UseSTricorderOnMissile },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_2,  0}, &Room::sins5UseSTricorderOnMissile },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_3,  0}, &Room::sins5UseSTricorderOnMissile },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_4,  0}, &Room::sins5UseSTricorderOnMissile },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0}, &Room::sins5UseSTricorderOnNorthDoor },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0}, &Room::sins5UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0}, &Room::sins5UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0}, &Room::sins5UseMTricorderOnCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::sins5UseMTricorderOnCrewman },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::sins5Tick1 },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                    0, 0}, &Room::sins5UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseSTricorderOnRightComputer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseSTricorderOnLeftComputer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseSTricorderOnMiddleComputer },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseKirkOnRightComputer },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseKirkOnLeftComputer },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseKirkOnMiddleComputer },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseMccoyOnComputer },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseMccoyOnComputer },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseMccoyOnComputer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseRedshirtOnComputer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseRedshirtOnComputer },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseRedshirtOnComputer },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseSpockOnMiddleComputer },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseSpockOnRightComputer },
+	{ {ACTION_DONE_WALK, 11,                              0, 0, 0}, &Room::sins5SpockReachedRightComputer },
+	{ {ACTION_DONE_ANIM, 13,                              0, 0, 0}, &Room::sins5SpockUsedRightComputer },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseSpockOnLeftComputer },
+	{ {ACTION_DONE_WALK, 10,                              0, 0, 0}, &Room::sins5SpockReachedLeftComputer },
+	{ {ACTION_DONE_ANIM, 12,                              0, 0, 0}, &Room::sins5SpockUsedLeftComputer },
+	{ {ACTION_DONE_WALK, 16,                              0, 0, 0}, &Room::sins5CrewmanReadyToBeamOut },
+
+	{ {ACTION_TICK, 20, 0, 0, 0}, &Room::sins5Tick20 },
+
+	{ {ACTION_USE, OBJECT_ICONECT, HOTSPOT_LEFT_COMPUTER,    0, 0}, &Room::sins5UseWireOnComputer },
+	{ {ACTION_USE, OBJECT_ICONECT, HOTSPOT_RIGHT_COMPUTER,   0, 0}, &Room::sins5UseWireOnComputer },
+	{ {ACTION_DONE_WALK, 14,                              0, 0, 0}, &Room::sins5KirkOrSpockInPositionToUseWire },
+	{ {ACTION_DONE_ANIM, 15,                              0, 0, 0}, &Room::sins5WireConnected },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseStunPhaserOnComputer },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseStunPhaserOnComputer },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseStunPhaserOnComputer },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LEFT_COMPUTER,   0, 0}, &Room::sins5UseKillPhaserOnLeftComputer },
+	{ {ACTION_DONE_WALK, 2,                               0, 0, 0}, &Room::sins5ReachedPositionToShootLeftComputer },
+	{ {ACTION_DONE_ANIM, 3,                               0, 0, 0}, &Room::sins5DrewPhaserToShootLeftComputer },
+	{ {ACTION_TIMER_EXPIRED, 0,                           0, 0, 0}, &Room::sins5Timer0Expired },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_MIDDLE_COMPUTER, 0, 0}, &Room::sins5UseKillPhaserOnMiddleComputer },
+	{ {ACTION_DONE_WALK, 6,                               0, 0, 0}, &Room::sins5ReachedPositionToShootMiddleComputer },
+	{ {ACTION_DONE_ANIM, 7,                               0, 0, 0}, &Room::sins5DrewPhaserToShootMiddleComputer },
+	{ {ACTION_TIMER_EXPIRED, 1,                           0, 0, 0}, &Room::sins5Timer1Expired },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RIGHT_COMPUTER,  0, 0}, &Room::sins5UseKillPhaserOnRightComputer },
+	{ {ACTION_DONE_WALK, 4,                               0, 0, 0}, &Room::sins5ReachedPositionToShootRightComputer },
+	{ {ACTION_DONE_ANIM, 5,                               0, 0, 0}, &Room::sins5DrewPhaserToShootRightComputer },
+	{ {ACTION_TIMER_EXPIRED, 2,                           0, 0, 0}, &Room::sins5Timer2Expired },
+	{ {ACTION_DONE_ANIM, 1,                               0, 0, 0}, &Room::sins5ComputerLaunchesMissiles },
+	{ {ACTION_TIMER_EXPIRED, 3,                           0, 0, 0}, &Room::sins5Timer3Expired },
+
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::sins5LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_KIRK,             0, 0, 0}, &Room::sins5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,            0, 0, 0}, &Room::sins5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,            0, 0, 0}, &Room::sins5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,         0, 0, 0}, &Room::sins5LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_LIGHT,           0, 0, 0}, &Room::sins5LookAtLight },
+	{ {ACTION_LOOK, HOTSPOT_LEFT_COMPUTER,   0, 0, 0}, &Room::sins5LookAtLeftComputer },
+	{ {ACTION_LOOK, HOTSPOT_MIDDLE_COMPUTER, 0, 0, 0}, &Room::sins5LookAtMiddleComputer },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_COMPUTER,  0, 0, 0}, &Room::sins5LookAtRightComputer },
+	{ {ACTION_LOOK, HOTSPOT_MISSILE_1,       0, 0, 0}, &Room::sins5LookAtMissile },
+	{ {ACTION_LOOK, HOTSPOT_MISSILE_2,       0, 0, 0}, &Room::sins5LookAtMissile },
+	{ {ACTION_LOOK, HOTSPOT_MISSILE_3,       0, 0, 0}, &Room::sins5LookAtMissile },
+	{ {ACTION_LOOK, HOTSPOT_MISSILE_4,       0, 0, 0}, &Room::sins5LookAtMissile },
+	{ {ACTION_LOOK, HOTSPOT_NORTH_DOOR,      0, 0, 0}, &Room::sins5LookAtNorthDoor },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_KIRK,     0, 0}, &Room::sins5UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_SPOCK,    0, 0}, &Room::sins5UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_MCCOY,    0, 0}, &Room::sins5UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT, OBJECT_REDSHIRT, 0, 0}, &Room::sins5UseMedkitOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff,           0, 0}, &Room::sins5UseMTricorderAnywhere },
+
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::sins5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::sins5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::sins5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::sins5TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_1,  0, 0}, &Room::sins5UseSTricorderOnMissile },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_2,  0, 0}, &Room::sins5UseSTricorderOnMissile },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_3,  0, 0}, &Room::sins5UseSTricorderOnMissile },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MISSILE_4,  0, 0}, &Room::sins5UseSTricorderOnMissile },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NORTH_DOOR, 0, 0}, &Room::sins5UseSTricorderOnNorthDoor },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,     0, 0}, &Room::sins5UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,    0, 0}, &Room::sins5UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,    0, 0}, &Room::sins5UseMTricorderOnCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::sins5UseMTricorderOnCrewman },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum sins5TextIds {
diff --git a/engines/startrek/rooms/trial0.cpp b/engines/startrek/rooms/trial0.cpp
index 4713c175ec3..392e45aa78d 100644
--- a/engines/startrek/rooms/trial0.cpp
+++ b/engines/startrek/rooms/trial0.cpp
@@ -32,52 +32,52 @@
 namespace StarTrek {
 
 extern const RoomAction trial0ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::trial0Tick1 },
-	{ {ACTION_TICK, 40, 0, 0}, &Room::trial0Tick40 },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::trial0Timer0Expired },
-
-	{ {ACTION_WALK, HOTSPOT_CENTER, 0, 0}, &Room::trial0WalkToRoomCenter },
-	{ {ACTION_DONE_WALK, 1, 0, 0},         &Room::trial0ReachedRoomCenter },
-
-	{ {ACTION_LOOK, HOTSPOT_WINDOW,     0, 0}, &Room::trial0LookAtWindow },
-	{ {ACTION_LOOK, OBJECT_VLICT,       0, 0}, &Room::trial0LookAtVlict },
-	{ {ACTION_LOOK, OBJECT_GUARD,       0, 0}, &Room::trial0LookAtGuard },
-	{ {ACTION_LOOK, HOTSPOT_BENCH,      0, 0}, &Room::trial0LookAtBench },
-	{ {ACTION_LOOK, HOTSPOT_CENTER,     0, 0}, &Room::trial0LookAtSeal },
-	{ {ACTION_LOOK, OBJECT_KIRK,        0, 0}, &Room::trial0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,       0, 0}, &Room::trial0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,       0, 0}, &Room::trial0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,    0, 0}, &Room::trial0LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0LookAtQuetzecoatl },
-	{ {ACTION_TALK, OBJECT_VLICT,       0, 0}, &Room::trial0TalkToVlict },
-	{ {ACTION_TALK, OBJECT_GUARD,       0, 0}, &Room::trial0TalkToGuard },
-	{ {ACTION_TALK, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0TalkToQuetzecoatl },
-	{ {ACTION_TALK, OBJECT_MCCOY,       0, 0}, &Room::trial0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,       0, 0}, &Room::trial0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,    0, 0}, &Room::trial0TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial0UsePhaserOrRock },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial0UsePhaserOrRock },
-	{ {ACTION_USE, OBJECT_IROCK,    0xff, 0}, &Room::trial0UsePhaserOrRock },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_VLICT, 0}, &Room::trial0UseSnakeOnVlict },
-	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_GUARD, 0}, &Room::trial0UseSnakeOnGuard },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_QUETZECOATL, 0}, &Room::trial0UseMTricorderOnQuetzecoatl },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_VLICT, 0}, &Room::trial0UseMTricorderOnVlict },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::trial0UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WINDOW, 0}, &Room::trial0UseSTricorderOnWindow },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::trial0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial0UseCommunicator },
-
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GUARD, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_VLICT, 0}, &Room::trial0UseCrewmanOnKlingon },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_VLICT, 0}, &Room::trial0UseMccoyOnVlict },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_GUARD, 0}, &Room::trial0UseMccoyOnGuard },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  0xff, 0}, &Room::trial0UseMedkitAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::trial0Tick1 },
+	{ {ACTION_TICK, 40, 0, 0, 0}, &Room::trial0Tick40 },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::trial0Timer0Expired },
+
+	{ {ACTION_WALK, HOTSPOT_CENTER, 0, 0, 0}, &Room::trial0WalkToRoomCenter },
+	{ {ACTION_DONE_WALK, 1, 0, 0, 0},         &Room::trial0ReachedRoomCenter },
+
+	{ {ACTION_LOOK, HOTSPOT_WINDOW,     0, 0, 0}, &Room::trial0LookAtWindow },
+	{ {ACTION_LOOK, OBJECT_VLICT,       0, 0, 0}, &Room::trial0LookAtVlict },
+	{ {ACTION_LOOK, OBJECT_GUARD,       0, 0, 0}, &Room::trial0LookAtGuard },
+	{ {ACTION_LOOK, HOTSPOT_BENCH,      0, 0, 0}, &Room::trial0LookAtBench },
+	{ {ACTION_LOOK, HOTSPOT_CENTER,     0, 0, 0}, &Room::trial0LookAtSeal },
+	{ {ACTION_LOOK, OBJECT_KIRK,        0, 0, 0}, &Room::trial0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,       0, 0, 0}, &Room::trial0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,       0, 0, 0}, &Room::trial0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,    0, 0, 0}, &Room::trial0LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_QUETZECOATL, 0, 0, 0}, &Room::trial0LookAtQuetzecoatl },
+	{ {ACTION_TALK, OBJECT_VLICT,       0, 0, 0}, &Room::trial0TalkToVlict },
+	{ {ACTION_TALK, OBJECT_GUARD,       0, 0, 0}, &Room::trial0TalkToGuard },
+	{ {ACTION_TALK, OBJECT_QUETZECOATL, 0, 0, 0}, &Room::trial0TalkToQuetzecoatl },
+	{ {ACTION_TALK, OBJECT_MCCOY,       0, 0, 0}, &Room::trial0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,       0, 0, 0}, &Room::trial0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,    0, 0, 0}, &Room::trial0TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+	{ {ACTION_USE, OBJECT_IROCK,    0xff, 0, 0}, &Room::trial0UsePhaserOrRock },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_VLICT, 0, 0}, &Room::trial0UseSnakeOnVlict },
+	{ {ACTION_USE, OBJECT_ISNAKE, OBJECT_GUARD, 0, 0}, &Room::trial0UseSnakeOnGuard },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_QUETZECOATL, 0, 0}, &Room::trial0UseMTricorderOnQuetzecoatl },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_VLICT, 0, 0}, &Room::trial0UseMTricorderOnVlict },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::trial0UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WINDOW, 0, 0}, &Room::trial0UseSTricorderOnWindow },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::trial0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial0UseCommunicator },
+
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GUARD, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_VLICT, 0, 0}, &Room::trial0UseCrewmanOnKlingon },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_VLICT, 0, 0}, &Room::trial0UseMccoyOnVlict },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_GUARD, 0, 0}, &Room::trial0UseMccoyOnGuard },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  0xff, 0, 0}, &Room::trial0UseMedkitAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial0TextIds {
diff --git a/engines/startrek/rooms/trial1.cpp b/engines/startrek/rooms/trial1.cpp
index 9634cb14455..a661e2e4a58 100644
--- a/engines/startrek/rooms/trial1.cpp
+++ b/engines/startrek/rooms/trial1.cpp
@@ -35,135 +35,135 @@
 namespace StarTrek {
 
 extern const RoomAction trial1ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::trial1Tick1 },
-	{ {ACTION_TICK, 50, 0, 0}, &Room::trial1Tick50 },
-	{ {ACTION_DONE_ANIM, 9, 0, 0}, &Room::trial1DoorOpened },
-
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::trial1TouchedHotspot0 },
-	{ {ACTION_DONE_ANIM, 1, 0, 0},       &Room::trial1KirkDied },
-
-	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0}, &Room::trial1TouchedHotspot1 },
-
-	{ {ACTION_GET, HOTSPOT_RODS, 0, 0}, &Room::trial1GetRod },
-	{ {ACTION_DONE_WALK, 4, 0, 0},      &Room::trial1ReachedRod },
-	{ {ACTION_DONE_ANIM, 5, 0, 0},      &Room::trial1PickedUpRod },
-
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0},      &Room::trial1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0},     &Room::trial1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0},     &Room::trial1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0},  &Room::trial1LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_WALL, 0, 0},     &Room::trial1LookAtWall },
-	{ {ACTION_LOOK, HOTSPOT_FLOOR, 0, 0},     &Room::trial1LookAtFloor },
-	{ {ACTION_LOOK, HOTSPOT_RODS, 0, 0},     &Room::trial1LookAtRods },
-	{ {ACTION_LOOK, HOTSPOT_DOOR, 0, 0},     &Room::trial1LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_LOCK, 0, 0},     &Room::trial1LookAtLock },
-	{ {ACTION_LOOK, OBJECT_ENTITY, 0, 0},     &Room::trial1LookAtEntity },
-	{ {ACTION_LOOK, OBJECT_MOLTEN_ROCK, 0, 0}, &Room::trial1LookAtMoltenRock },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0},      &Room::trial1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0},     &Room::trial1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0},     &Room::trial1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0},  &Room::trial1TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_ENTITY, 0, 0},  &Room::trial1TalkToEntity },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_KIRK,     0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_KIRK,     0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPOCK,    0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPOCK,    0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY,    0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_MCCOY,    0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0}, &Room::trial1UsePhaserOnCrewman },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0}, &Room::trial1UsePhaserOnCrewman },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_ENTITY, 0}, &Room::trial1UsePhaserOnEntity },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_ENTITY, 0}, &Room::trial1UsePhaserOnEntity },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial1UsePhaserOnWall },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial1UsePhaserOnWall },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_FLOOR, 0}, &Room::trial1UseStunPhaserOnFloor },
-	{ {ACTION_DONE_WALK, 12, 0, 0}, &Room::trial1ReachedFloorToUseStunPhaser },
-	{ {ACTION_DONE_ANIM, 13, 0, 0}, &Room::trial1DoneShootingFloorWithStunPhaser },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_FLOOR, 0}, &Room::trial1UseKillPhaserOnFloor },
-	{ {ACTION_DONE_WALK, 14, 0, 0}, &Room::trial1ReachedFloorToUseKillPhaser },
-	{ {ACTION_DONE_ANIM, 15, 0, 0}, &Room::trial1DoneShootingFloorWithKillPhaser },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RODS, 0}, &Room::trial1UsePhaserOnRod },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RODS, 0}, &Room::trial1UsePhaserOnRod },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LOCK, 0}, &Room::trial1UsePhaserOnLock },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LOCK, 0}, &Room::trial1UsePhaserOnLock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0}, &Room::trial1UseMTricorderOnKirk },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0}, &Room::trial1UseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0}, &Room::trial1UseMTricorderOnMccoy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0}, &Room::trial1UseMTricorderOnRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_ENTITY, 0}, &Room::trial1UseMTricorderOnEntity },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0}, &Room::trial1UseSTricorderOnWall },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ENTITY, 0}, &Room::trial1UseSTricorderOnEntity },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RODS, 0}, &Room::trial1UseSTricorderOnRods },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FLOOR, 0}, &Room::trial1UseSTricorderOnFloor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0}, &Room::trial1UseSTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LOCK, 0}, &Room::trial1UseSTricorderOnLock },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::trial1UseCommunicator },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_ENTITY, 0}, &Room::trial1UseMccoyOnEntity },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LOCK, 0}, &Room::trial1UseMccoyOnLock },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FLOOR, 0}, &Room::trial1UseMccoyOnFloor },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_ENTITY, 0}, &Room::trial1UseSpockOnEntity },
-
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LOCK, 0}, &Room::trial1UseSpockOnLock },
-	{ {ACTION_DONE_WALK, 18, 0, 0},                &Room::trial1SpockReachedKeypad },
-	{ {ACTION_DONE_ANIM, 19, 0, 0},                &Room::trial1SpockUsedKeypad },
-	{ {ACTION_DONE_WALK, 20, 0, 0},                &Room::trial1SpockReachedKeypadWithExtraProgram },
-	{ {ACTION_DONE_ANIM, 21, 0, 0},                &Room::trial1SpockUsedKeypadWithExtraProgram },
-
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FLOOR, 0},    &Room::trial1UseSpockOnFloor },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_ENTITY, 0}, &Room::trial1UseRedshirtOnEntity },
-
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LOCK, 0}, &Room::trial1UseRedshirtOnLock },
-	{ {ACTION_DONE_WALK, 24, 0, 0},                   &Room::trial1RedshirtReachedKeypad },
-	{ {ACTION_DONE_ANIM, 25, 0, 0},                   &Room::trial1RedshirtUsedKeypad },
-	{ {ACTION_DONE_WALK, 26, 0, 0},                   &Room::trial1RedshirtReachedKeypadWithExtraProgram },
-	{ {ACTION_DONE_ANIM, 27, 0, 0},                   &Room::trial1RedshirtUsedKeypadWithExtraProgram },
-
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FLOOR, 0}, &Room::trial1UseRedshirtOnFloor },
-	{ {ACTION_USE, OBJECT_IWROD, OBJECT_MCCOY, 0},     &Room::trial1UseRodOnMccoy },
-	{ {ACTION_USE, OBJECT_IWROD, OBJECT_SPOCK, 0},     &Room::trial1UseRodOnSpock },
-	{ {ACTION_USE, OBJECT_IWROD, OBJECT_REDSHIRT, 0},  &Room::trial1UseRodOnRedshirt },
-	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_FLOOR, 0},    &Room::trial1UseRodOnFloorOrWall },
-	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_WALL, 0},     &Room::trial1UseRodOnFloorOrWall },
-
-	{ {ACTION_USE, OBJECT_IWROD, OBJECT_ENTITY, 0},    &Room::trial1UseWoodRodOnEntity },
-	{ {ACTION_DONE_WALK, 10, 0, 0},                    &Room::trial1ReachedPositionToThrowWoodRod },
-	{ {ACTION_DONE_ANIM,  6, 0, 0},                    &Room::trial1DoneThrowingWoodRod },
-
-	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_LOCK, 0},    &Room::trial1UseWoodRodOnLock },
-
-	{ {ACTION_USE, OBJECT_IWROD, OBJECT_MOLTEN_ROCK, 0}, &Room::trial1UseWoodRodOnMoltenRock },
-	{ {ACTION_DONE_WALK, 16, 0, 0},                      &Room::trial1ReachedMoltenRock },
-	{ {ACTION_DONE_ANIM, 17, 0, 0},                      &Room::trial1DoneCoatingWoodRod },
-
-	{ {ACTION_USE, OBJECT_IIROD, OBJECT_MCCOY, 0},     &Room::trial1UseRodOnMccoy },
-	{ {ACTION_USE, OBJECT_IIROD, OBJECT_SPOCK, 0},     &Room::trial1UseRodOnSpock },
-	{ {ACTION_USE, OBJECT_IIROD, OBJECT_REDSHIRT, 0},  &Room::trial1UseRodOnRedshirt },
-	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_FLOOR, 0},    &Room::trial1UseRodOnFloorOrWall },
-	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_WALL, 0},     &Room::trial1UseRodOnFloorOrWall },
-
-	{ {ACTION_USE, OBJECT_IIROD, OBJECT_ENTITY, 0},    &Room::trial1UseIronRodOnEntity },
-	{ {ACTION_DONE_WALK, 11, 0, 0},                    &Room::trial1ReachedPositionToThrowIronRod },
-	{ {ACTION_DONE_ANIM,  7, 0, 0},                    &Room::trial1DoneThrowingIronRod },
-
-	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_LOCK, 0},   &Room::trial1UseIronRodOnLock },
-	{ {ACTION_GET, OBJECT_THROWN_IRON_ROD, 0, 0},    &Room::trial1GetThrownIronRod },
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0},             &Room::trial1WalkToDoor },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},         &Room::trial1UseMedkit },
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::trial1Tick1 },
+	{ {ACTION_TICK, 50, 0, 0, 0}, &Room::trial1Tick50 },
+	{ {ACTION_DONE_ANIM, 9, 0, 0, 0}, &Room::trial1DoorOpened },
+
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::trial1TouchedHotspot0 },
+	{ {ACTION_DONE_ANIM, 1, 0, 0, 0},       &Room::trial1KirkDied },
+
+	{ {ACTION_TOUCHED_HOTSPOT, 1, 0, 0, 0}, &Room::trial1TouchedHotspot1 },
+
+	{ {ACTION_GET, HOTSPOT_RODS, 0, 0, 0}, &Room::trial1GetRod },
+	{ {ACTION_DONE_WALK, 4, 0, 0, 0},      &Room::trial1ReachedRod },
+	{ {ACTION_DONE_ANIM, 5, 0, 0, 0},      &Room::trial1PickedUpRod },
+
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0},      &Room::trial1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0},     &Room::trial1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0},     &Room::trial1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0},  &Room::trial1LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_WALL, 0, 0, 0},     &Room::trial1LookAtWall },
+	{ {ACTION_LOOK, HOTSPOT_FLOOR, 0, 0, 0},     &Room::trial1LookAtFloor },
+	{ {ACTION_LOOK, HOTSPOT_RODS, 0, 0, 0},     &Room::trial1LookAtRods },
+	{ {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0},     &Room::trial1LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_LOCK, 0, 0, 0},     &Room::trial1LookAtLock },
+	{ {ACTION_LOOK, OBJECT_ENTITY, 0, 0, 0},     &Room::trial1LookAtEntity },
+	{ {ACTION_LOOK, OBJECT_MOLTEN_ROCK, 0, 0, 0}, &Room::trial1LookAtMoltenRock },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0},      &Room::trial1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0},     &Room::trial1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0},     &Room::trial1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0},  &Room::trial1TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_ENTITY, 0, 0, 0},  &Room::trial1TalkToEntity },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_KIRK,     0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_KIRK,     0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPOCK,    0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPOCK,    0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_MCCOY,    0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_MCCOY,    0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UsePhaserOnCrewman },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_ENTITY, 0, 0}, &Room::trial1UsePhaserOnEntity },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_ENTITY, 0, 0}, &Room::trial1UsePhaserOnEntity },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial1UsePhaserOnWall },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial1UsePhaserOnWall },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseStunPhaserOnFloor },
+	{ {ACTION_DONE_WALK, 12, 0, 0, 0}, &Room::trial1ReachedFloorToUseStunPhaser },
+	{ {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::trial1DoneShootingFloorWithStunPhaser },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseKillPhaserOnFloor },
+	{ {ACTION_DONE_WALK, 14, 0, 0, 0}, &Room::trial1ReachedFloorToUseKillPhaser },
+	{ {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::trial1DoneShootingFloorWithKillPhaser },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_RODS, 0, 0}, &Room::trial1UsePhaserOnRod },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_RODS, 0, 0}, &Room::trial1UsePhaserOnRod },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_LOCK, 0, 0}, &Room::trial1UsePhaserOnLock },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_LOCK, 0, 0}, &Room::trial1UsePhaserOnLock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0}, &Room::trial1UseMTricorderOnKirk },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0}, &Room::trial1UseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0}, &Room::trial1UseMTricorderOnMccoy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0}, &Room::trial1UseMTricorderOnRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_ENTITY, 0, 0}, &Room::trial1UseMTricorderOnEntity },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0}, &Room::trial1UseSTricorderOnWall },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_ENTITY, 0, 0}, &Room::trial1UseSTricorderOnEntity },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RODS, 0, 0}, &Room::trial1UseSTricorderOnRods },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseSTricorderOnFloor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR, 0, 0}, &Room::trial1UseSTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseSTricorderOnLock },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::trial1UseCommunicator },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_ENTITY, 0, 0}, &Room::trial1UseMccoyOnEntity },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseMccoyOnLock },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseMccoyOnFloor },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_ENTITY, 0, 0}, &Room::trial1UseSpockOnEntity },
+
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseSpockOnLock },
+	{ {ACTION_DONE_WALK, 18, 0, 0, 0},                &Room::trial1SpockReachedKeypad },
+	{ {ACTION_DONE_ANIM, 19, 0, 0, 0},                &Room::trial1SpockUsedKeypad },
+	{ {ACTION_DONE_WALK, 20, 0, 0, 0},                &Room::trial1SpockReachedKeypadWithExtraProgram },
+	{ {ACTION_DONE_ANIM, 21, 0, 0, 0},                &Room::trial1SpockUsedKeypadWithExtraProgram },
+
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_FLOOR, 0, 0},    &Room::trial1UseSpockOnFloor },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_ENTITY, 0, 0}, &Room::trial1UseRedshirtOnEntity },
+
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_LOCK, 0, 0}, &Room::trial1UseRedshirtOnLock },
+	{ {ACTION_DONE_WALK, 24, 0, 0, 0},                   &Room::trial1RedshirtReachedKeypad },
+	{ {ACTION_DONE_ANIM, 25, 0, 0, 0},                   &Room::trial1RedshirtUsedKeypad },
+	{ {ACTION_DONE_WALK, 26, 0, 0, 0},                   &Room::trial1RedshirtReachedKeypadWithExtraProgram },
+	{ {ACTION_DONE_ANIM, 27, 0, 0, 0},                   &Room::trial1RedshirtUsedKeypadWithExtraProgram },
+
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_FLOOR, 0, 0}, &Room::trial1UseRedshirtOnFloor },
+	{ {ACTION_USE, OBJECT_IWROD, OBJECT_MCCOY, 0, 0},     &Room::trial1UseRodOnMccoy },
+	{ {ACTION_USE, OBJECT_IWROD, OBJECT_SPOCK, 0, 0},     &Room::trial1UseRodOnSpock },
+	{ {ACTION_USE, OBJECT_IWROD, OBJECT_REDSHIRT, 0, 0},  &Room::trial1UseRodOnRedshirt },
+	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_FLOOR, 0, 0},    &Room::trial1UseRodOnFloorOrWall },
+	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_WALL, 0, 0},     &Room::trial1UseRodOnFloorOrWall },
+
+	{ {ACTION_USE, OBJECT_IWROD, OBJECT_ENTITY, 0, 0},    &Room::trial1UseWoodRodOnEntity },
+	{ {ACTION_DONE_WALK, 10, 0, 0, 0},                    &Room::trial1ReachedPositionToThrowWoodRod },
+	{ {ACTION_DONE_ANIM,  6, 0, 0, 0},                    &Room::trial1DoneThrowingWoodRod },
+
+	{ {ACTION_USE, OBJECT_IWROD, HOTSPOT_LOCK, 0, 0},    &Room::trial1UseWoodRodOnLock },
+
+	{ {ACTION_USE, OBJECT_IWROD, OBJECT_MOLTEN_ROCK, 0, 0}, &Room::trial1UseWoodRodOnMoltenRock },
+	{ {ACTION_DONE_WALK, 16, 0, 0, 0},                      &Room::trial1ReachedMoltenRock },
+	{ {ACTION_DONE_ANIM, 17, 0, 0, 0},                      &Room::trial1DoneCoatingWoodRod },
+
+	{ {ACTION_USE, OBJECT_IIROD, OBJECT_MCCOY, 0, 0},     &Room::trial1UseRodOnMccoy },
+	{ {ACTION_USE, OBJECT_IIROD, OBJECT_SPOCK, 0, 0},     &Room::trial1UseRodOnSpock },
+	{ {ACTION_USE, OBJECT_IIROD, OBJECT_REDSHIRT, 0, 0},  &Room::trial1UseRodOnRedshirt },
+	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_FLOOR, 0, 0},    &Room::trial1UseRodOnFloorOrWall },
+	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_WALL, 0, 0},     &Room::trial1UseRodOnFloorOrWall },
+
+	{ {ACTION_USE, OBJECT_IIROD, OBJECT_ENTITY, 0, 0},    &Room::trial1UseIronRodOnEntity },
+	{ {ACTION_DONE_WALK, 11, 0, 0, 0},                    &Room::trial1ReachedPositionToThrowIronRod },
+	{ {ACTION_DONE_ANIM,  7, 0, 0, 0},                    &Room::trial1DoneThrowingIronRod },
+
+	{ {ACTION_USE, OBJECT_IIROD, HOTSPOT_LOCK, 0, 0},   &Room::trial1UseIronRodOnLock },
+	{ {ACTION_GET, OBJECT_THROWN_IRON_ROD, 0, 0, 0},    &Room::trial1GetThrownIronRod },
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0},             &Room::trial1WalkToDoor },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},         &Room::trial1UseMedkit },
 
 	// ENHANCEMENT: Implement actions for the door object, not just the hotspot
-	{ {ACTION_LOOK, OBJECT_DOOR, 0, 0},              &Room::trial1LookAtDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0}, &Room::trial1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0}, &Room::trial1UseSTricorderOnDoor },
-	{ {ACTION_WALK, OBJECT_DOOR, 0, 0},              &Room::trial1WalkToDoor },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_LOOK, OBJECT_DOOR, 0, 0, 0},              &Room::trial1LookAtDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR, 0, 0}, &Room::trial1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR, 0, 0}, &Room::trial1UseSTricorderOnDoor },
+	{ {ACTION_WALK, OBJECT_DOOR, 0, 0, 0},              &Room::trial1WalkToDoor },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial1TextIds {
diff --git a/engines/startrek/rooms/trial2.cpp b/engines/startrek/rooms/trial2.cpp
index 377bfc6ec06..36aa9446c9e 100644
--- a/engines/startrek/rooms/trial2.cpp
+++ b/engines/startrek/rooms/trial2.cpp
@@ -48,76 +48,76 @@ namespace StarTrek {
 // finished, though.
 
 extern const RoomAction trial2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0},  &Room::trial2Tick1 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::trial2Tick60 },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0},     &Room::trial2TouchedHotspot0 },
-	{ {ACTION_LOOK, OBJECT_KIRK,      0, 0}, &Room::trial2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,     0, 0}, &Room::trial2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,     0, 0}, &Room::trial2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,  0, 0}, &Room::trial2LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_INSIGNIA, 0, 0}, &Room::trial2LookAtInsignia },
-	{ {ACTION_LOOK, OBJECT_GLOB,         0, 0}, &Room::trial2LookAtGlob },
-	{ {ACTION_LOOK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2LookAtGlob },
-	{ {ACTION_LOOK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2LookAtGlob },
-	{ {ACTION_LOOK, HOTSPOT_WALL, 0, 0}, &Room::trial2LookAtWall },
-	{ {ACTION_LOOK, HOTSPOT_DOOR, 0, 0}, &Room::trial2LookAtDoor },
-
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::trial2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::trial2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::trial2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial2TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_GLOB,         0, 0}, &Room::trial2TalkToGlob },
-	{ {ACTION_TALK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2TalkToGlob },
-	{ {ACTION_TALK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2TalkToGlob },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial2UsePhaserOnWall },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial2UsePhaserOnWall },
-
-	{ {ACTION_DONE_WALK, 7,  0, 0},                  &Room::trial2ReachedPositionToShootGlob },
-	{ {ACTION_DONE_ANIM, 10, 0, 0},                  &Room::trial2DrewPhaserToShootGlob },
-	{ {ACTION_DONE_ANIM, 4, 0, 0},                   &Room::trial2GlobDoneExploding },
-	{ {ACTION_DONE_ANIM, 1, 0, 0},                   &Room::trial2GlobDoneSplitting },
-	{ {ACTION_DONE_ANIM, 19, 0, 0},                  &Room::trial2KirkDied },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_GLOB, 0}, &Room::trial2UseStunPhaserOnGlob },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_GLOB, 0}, &Room::trial2UseKillPhaserOnGlob },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseStunPhaserOnSplitGlob1 },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseKillPhaserOnSplitGlob1 },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseStunPhaserOnSplitGlob2 },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseKillPhaserOnSplitGlob2 },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,         0}, &Room::trial2UseMTricorderOnKirk },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,        0}, &Room::trial2UseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,        0}, &Room::trial2UseMTricorderOnMccoy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT,     0}, &Room::trial2UseMTricorderOnRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_GLOB,         0}, &Room::trial2UseMTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseMTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseMTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL,        0}, &Room::trial2UseSTricorderOnWall },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                0}, &Room::trial2UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_GLOB,         0}, &Room::trial2UseSTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseSTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseSTricorderOnGlob },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff,                   0}, &Room::trial2UseCommunicator },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_1,    0}, &Room::trial2UseMccoyOnGlob },
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_2,    0}, &Room::trial2UseMccoyOnGlob },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL,           0}, &Room::trial2UseMccoyOnWall },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_1,    0}, &Room::trial2UseSpockOnGlob },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_2,    0}, &Room::trial2UseSpockOnGlob },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL,           0}, &Room::trial2UseSpockOnWall },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_1, 0}, &Room::trial2UseRedshirtOnGlob },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_2, 0}, &Room::trial2UseRedshirtOnGlob },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL,        0}, &Room::trial2UseRedshirtOnWall },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::trial2WalkToDoor },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial2UseMedkitAnywhere },
+	{ {ACTION_TICK, 1, 0, 0, 0},  &Room::trial2Tick1 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::trial2Tick60 },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0},     &Room::trial2TouchedHotspot0 },
+	{ {ACTION_LOOK, OBJECT_KIRK,      0, 0, 0}, &Room::trial2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,     0, 0, 0}, &Room::trial2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,     0, 0, 0}, &Room::trial2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,  0, 0, 0}, &Room::trial2LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_INSIGNIA, 0, 0, 0}, &Room::trial2LookAtInsignia },
+	{ {ACTION_LOOK, OBJECT_GLOB,         0, 0, 0}, &Room::trial2LookAtGlob },
+	{ {ACTION_LOOK, OBJECT_SPLIT_GLOB_1, 0, 0, 0}, &Room::trial2LookAtGlob },
+	{ {ACTION_LOOK, OBJECT_SPLIT_GLOB_2, 0, 0, 0}, &Room::trial2LookAtGlob },
+	{ {ACTION_LOOK, HOTSPOT_WALL, 0, 0, 0}, &Room::trial2LookAtWall },
+	{ {ACTION_LOOK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial2LookAtDoor },
+
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::trial2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::trial2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::trial2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial2TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_GLOB,         0, 0, 0}, &Room::trial2TalkToGlob },
+	{ {ACTION_TALK, OBJECT_SPLIT_GLOB_1, 0, 0, 0}, &Room::trial2TalkToGlob },
+	{ {ACTION_TALK, OBJECT_SPLIT_GLOB_2, 0, 0, 0}, &Room::trial2TalkToGlob },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial2UsePhaserOnWall },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial2UsePhaserOnWall },
+
+	{ {ACTION_DONE_WALK, 7,  0, 0, 0},                  &Room::trial2ReachedPositionToShootGlob },
+	{ {ACTION_DONE_ANIM, 10, 0, 0, 0},                  &Room::trial2DrewPhaserToShootGlob },
+	{ {ACTION_DONE_ANIM, 4, 0, 0, 0},                   &Room::trial2GlobDoneExploding },
+	{ {ACTION_DONE_ANIM, 1, 0, 0, 0},                   &Room::trial2GlobDoneSplitting },
+	{ {ACTION_DONE_ANIM, 19, 0, 0, 0},                  &Room::trial2KirkDied },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_GLOB, 0, 0}, &Room::trial2UseStunPhaserOnGlob },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_GLOB, 0, 0}, &Room::trial2UseKillPhaserOnGlob },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseStunPhaserOnSplitGlob1 },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseKillPhaserOnSplitGlob1 },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseStunPhaserOnSplitGlob2 },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseKillPhaserOnSplitGlob2 },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK,         0, 0}, &Room::trial2UseMTricorderOnKirk },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK,        0, 0}, &Room::trial2UseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY,        0, 0}, &Room::trial2UseMTricorderOnMccoy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT,     0, 0}, &Room::trial2UseMTricorderOnRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_GLOB,         0, 0}, &Room::trial2UseMTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseMTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseMTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL,        0, 0}, &Room::trial2UseSTricorderOnWall },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                0, 0}, &Room::trial2UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_GLOB,         0, 0}, &Room::trial2UseSTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseSTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseSTricorderOnGlob },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff,                   0, 0}, &Room::trial2UseCommunicator },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_1,    0, 0}, &Room::trial2UseMccoyOnGlob },
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_SPLIT_GLOB_2,    0, 0}, &Room::trial2UseMccoyOnGlob },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL,           0, 0}, &Room::trial2UseMccoyOnWall },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_1,    0, 0}, &Room::trial2UseSpockOnGlob },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SPLIT_GLOB_2,    0, 0}, &Room::trial2UseSpockOnGlob },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL,           0, 0}, &Room::trial2UseSpockOnWall },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_1, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_SPLIT_GLOB_2, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL,        0, 0}, &Room::trial2UseRedshirtOnWall },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::trial2WalkToDoor },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial2UseMedkitAnywhere },
 
 	// ENHANCEMENT: Define these actions for the main glob, not just the (unused) split
 	// globs
-	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_GLOB, 0}, &Room::trial2UseMccoyOnGlob },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_GLOB, 0}, &Room::trial2UseSpockOnGlob },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GLOB, 0}, &Room::trial2UseRedshirtOnGlob },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_USE, OBJECT_MCCOY, OBJECT_GLOB, 0, 0}, &Room::trial2UseMccoyOnGlob },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_GLOB, 0, 0}, &Room::trial2UseSpockOnGlob },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_GLOB, 0, 0}, &Room::trial2UseRedshirtOnGlob },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial2TextIds {
diff --git a/engines/startrek/rooms/trial3.cpp b/engines/startrek/rooms/trial3.cpp
index d7acafa39c5..b2f29b46bcd 100644
--- a/engines/startrek/rooms/trial3.cpp
+++ b/engines/startrek/rooms/trial3.cpp
@@ -32,63 +32,63 @@
 namespace StarTrek {
 
 extern const RoomAction trial3ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::trial3Tick1 },
-	{ {ACTION_TICK, 30, 0, 0}, &Room::trial3Tick30 },
-	{ {ACTION_DONE_ANIM,  1, 0, 0}, &Room::trial3Klingon1BeamedIn },
-	{ {ACTION_DONE_ANIM,  2, 0, 0}, &Room::trial3Klingon2BeamedIn },
-	{ {ACTION_DONE_ANIM,  3, 0, 0}, &Room::trial3Klingon3BeamedIn },
-	{ {ACTION_DONE_ANIM,  4, 0, 0}, &Room::trial3Klingon1DoneShooting },
-	{ {ACTION_DONE_ANIM,  5, 0, 0}, &Room::trial3Klingon2DoneShooting },
-	{ {ACTION_DONE_ANIM,  6, 0, 0}, &Room::trial3Klingon3DoneShooting },
-	{ {ACTION_DONE_ANIM, 15, 0, 0}, &Room::trial3RedshirtDoneDying },
-	{ {ACTION_DONE_ANIM, 16, 0, 0}, &Room::trial3KirkDoneDying },
-	{ {ACTION_DONE_ANIM, 11, 0, 0}, &Room::trial3Klingon1Shot },
-	{ {ACTION_DONE_ANIM, 12, 0, 0}, &Room::trial3Klingon2Shot },
-	{ {ACTION_DONE_ANIM, 13, 0, 0}, &Room::trial3Klingon3Shot },
-	{ {ACTION_DONE_ANIM, 19, 0, 0}, &Room::trial3CrewmanBeamedOut },
-	{ {ACTION_TICK, 90,      0, 0}, &Room::trial3Tick90 },
-	{ {ACTION_TOUCHED_HOTSPOT, 3,    0, 0}, &Room::trial3TouchedHotspot3 },
-	{ {ACTION_DONE_ANIM, 14,         0, 0}, &Room::trial3KirkExploded },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::trial3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::trial3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::trial3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::trial3LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_EXIT,    0, 0}, &Room::trial3LookAtExit },
-	{ {ACTION_LOOK, HOTSPOT_WALL,    0, 0}, &Room::trial3LookAtWall },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::trial3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::trial3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::trial3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::trial3TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0}, &Room::trial3UsePhaserOnWall },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0}, &Room::trial3UsePhaserOnWall },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_KLINGON_1, 0}, &Room::trial3UseStunPhaserOnKlingon1 },
-	{ {ACTION_DONE_ANIM, 17, 0, 0},                       &Room::trial3ReadyToShootKlingon1OnStun },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_KLINGON_1, 0}, &Room::trial3UseKillPhaserOnKlingon1 },
-	{ {ACTION_DONE_ANIM, 18, 0, 0},                       &Room::trial3ReadyToShootKlingon1OnKill },
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::trial3Tick1 },
+	{ {ACTION_TICK, 30, 0, 0, 0}, &Room::trial3Tick30 },
+	{ {ACTION_DONE_ANIM,  1, 0, 0, 0}, &Room::trial3Klingon1BeamedIn },
+	{ {ACTION_DONE_ANIM,  2, 0, 0, 0}, &Room::trial3Klingon2BeamedIn },
+	{ {ACTION_DONE_ANIM,  3, 0, 0, 0}, &Room::trial3Klingon3BeamedIn },
+	{ {ACTION_DONE_ANIM,  4, 0, 0, 0}, &Room::trial3Klingon1DoneShooting },
+	{ {ACTION_DONE_ANIM,  5, 0, 0, 0}, &Room::trial3Klingon2DoneShooting },
+	{ {ACTION_DONE_ANIM,  6, 0, 0, 0}, &Room::trial3Klingon3DoneShooting },
+	{ {ACTION_DONE_ANIM, 15, 0, 0, 0}, &Room::trial3RedshirtDoneDying },
+	{ {ACTION_DONE_ANIM, 16, 0, 0, 0}, &Room::trial3KirkDoneDying },
+	{ {ACTION_DONE_ANIM, 11, 0, 0, 0}, &Room::trial3Klingon1Shot },
+	{ {ACTION_DONE_ANIM, 12, 0, 0, 0}, &Room::trial3Klingon2Shot },
+	{ {ACTION_DONE_ANIM, 13, 0, 0, 0}, &Room::trial3Klingon3Shot },
+	{ {ACTION_DONE_ANIM, 19, 0, 0, 0}, &Room::trial3CrewmanBeamedOut },
+	{ {ACTION_TICK, 90,      0, 0, 0}, &Room::trial3Tick90 },
+	{ {ACTION_TOUCHED_HOTSPOT, 3,    0, 0, 0}, &Room::trial3TouchedHotspot3 },
+	{ {ACTION_DONE_ANIM, 14,         0, 0, 0}, &Room::trial3KirkExploded },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::trial3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::trial3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::trial3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial3LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_EXIT,    0, 0, 0}, &Room::trial3LookAtExit },
+	{ {ACTION_LOOK, HOTSPOT_WALL,    0, 0, 0}, &Room::trial3LookAtWall },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::trial3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::trial3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::trial3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::trial3TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_WALL, 0, 0}, &Room::trial3UsePhaserOnWall },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_WALL, 0, 0}, &Room::trial3UsePhaserOnWall },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseStunPhaserOnKlingon1 },
+	{ {ACTION_DONE_ANIM, 17, 0, 0, 0},                       &Room::trial3ReadyToShootKlingon1OnStun },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseKillPhaserOnKlingon1 },
+	{ {ACTION_DONE_ANIM, 18, 0, 0, 0},                       &Room::trial3ReadyToShootKlingon1OnKill },
 	// OMITTED: Similar code for unused klingons 2 and 3
 
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial3UsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial3UsePhaserAnywhere },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0},      &Room::trial3UseMTricorderOnKirk },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0},     &Room::trial3UseMTricorderOnSpock },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0},     &Room::trial3UseMTricorderOnMccoy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0},  &Room::trial3UseMTricorderOnRedshirt },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EXIT, 0},     &Room::trial3UseMTricorderOnExit },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0},     &Room::trial3UseSTricorderOnWall },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EXIT, 0},     &Room::trial3UseSTricorderOnExit },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KLINGON_1, 0}, &Room::trial3UseMTricorderOnKlingon },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0},                &Room::trial3UseCommunicator },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0},        &Room::trial3UseMccoyOnWall },
-	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_EXIT, 0},        &Room::trial3UseMccoyOnExit },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0},        &Room::trial3UseSpockOnWall },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_EXIT, 0},        &Room::trial3UseSpockOnExit },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_EXIT, 0},     &Room::trial3UseRedshirtOnExit },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0},     &Room::trial3UseRedshirtOnWall },
-	{ {ACTION_WALK, HOTSPOT_EXIT, 0, 0},                  &Room::trial3WalkToExit },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0},              &Room::trial3UseMedkitAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial3UsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial3UsePhaserAnywhere },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KIRK, 0, 0},      &Room::trial3UseMTricorderOnKirk },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_SPOCK, 0, 0},     &Room::trial3UseMTricorderOnSpock },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MCCOY, 0, 0},     &Room::trial3UseMTricorderOnMccoy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_REDSHIRT, 0, 0},  &Room::trial3UseMTricorderOnRedshirt },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_EXIT, 0, 0},     &Room::trial3UseMTricorderOnExit },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_WALL, 0, 0},     &Room::trial3UseSTricorderOnWall },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_EXIT, 0, 0},     &Room::trial3UseSTricorderOnExit },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_KLINGON_1, 0, 0}, &Room::trial3UseMTricorderOnKlingon },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0},                &Room::trial3UseCommunicator },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_WALL, 0, 0},        &Room::trial3UseMccoyOnWall },
+	{ {ACTION_USE, OBJECT_MCCOY, HOTSPOT_EXIT, 0, 0},        &Room::trial3UseMccoyOnExit },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_WALL, 0, 0},        &Room::trial3UseSpockOnWall },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_EXIT, 0, 0},        &Room::trial3UseSpockOnExit },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_EXIT, 0, 0},     &Room::trial3UseRedshirtOnExit },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_WALL, 0, 0},     &Room::trial3UseRedshirtOnWall },
+	{ {ACTION_WALK, HOTSPOT_EXIT, 0, 0, 0},                  &Room::trial3WalkToExit },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0},              &Room::trial3UseMedkitAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial3TextIds {
diff --git a/engines/startrek/rooms/trial4.cpp b/engines/startrek/rooms/trial4.cpp
index f276c5017e2..f5d7c6cb617 100644
--- a/engines/startrek/rooms/trial4.cpp
+++ b/engines/startrek/rooms/trial4.cpp
@@ -28,9 +28,9 @@
 namespace StarTrek {
 
 extern const RoomAction trial4ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::trial4Tick1 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::trial4Tick60 },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::trial4Tick1 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::trial4Tick60 },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial4TextIds {
diff --git a/engines/startrek/rooms/trial5.cpp b/engines/startrek/rooms/trial5.cpp
index 61a250aff10..434508a93d7 100644
--- a/engines/startrek/rooms/trial5.cpp
+++ b/engines/startrek/rooms/trial5.cpp
@@ -69,95 +69,95 @@
 namespace StarTrek {
 
 extern const RoomAction trial5ActionList[] = {
-	{ {ACTION_TICK,  1,     0, 0}, &Room::trial5Tick1 },
-	{ {ACTION_TICK, 60,     0, 0}, &Room::trial5Tick60 },
-	{ {ACTION_DONE_ANIM, 1, 0, 0}, &Room::trial5VlictAppeared },
-	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_INTERFACE, 0}, &Room::trial5WalkToInterface },
-	{ {ACTION_WALK, HOTSPOT_INTERFACE,          0, 0}, &Room::trial5WalkToInterface },
-	{ {ACTION_DONE_WALK, 2,                     0, 0}, &Room::trial5ReachedInterface },
-	{ {ACTION_DONE_WALK, 30,                    0, 0}, &Room::trial5ReachedGem },
-	{ {ACTION_DONE_ANIM, 31,                    0, 0}, &Room::trial5PickedUpGem },
-
-	{ {ACTION_GET, OBJECT_REDGEM1, 0, 0}, &Room::trial5GetRedGem1 },
-	{ {ACTION_GET, OBJECT_REDGEM2, 0, 0}, &Room::trial5GetRedGem2 },
-	{ {ACTION_GET, OBJECT_REDGEM3, 0, 0}, &Room::trial5GetRedGem3 },
-	{ {ACTION_GET, OBJECT_GRNGEM1, 0, 0}, &Room::trial5GetGreenGem1 },
-	{ {ACTION_GET, OBJECT_GRNGEM2, 0, 0}, &Room::trial5GetGreenGem2 },
-	{ {ACTION_GET, OBJECT_GRNGEM3, 0, 0}, &Room::trial5GetGreenGem3 },
-	{ {ACTION_GET, OBJECT_BLUGEM1, 0, 0}, &Room::trial5GetBlueGem1 },
-	{ {ACTION_GET, OBJECT_BLUGEM2, 0, 0}, &Room::trial5GetBlueGem2 },
-	{ {ACTION_GET, OBJECT_BLUGEM3, 0, 0}, &Room::trial5GetBlueGem3 },
-
-	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0}, &Room::trial5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0}, &Room::trial5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0}, &Room::trial5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0}, &Room::trial5LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_BEAM,       0, 0}, &Room::trial5LookAtBeam },
-	{ {ACTION_LOOK, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5LookAtInterface },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_INTERFACE, 0}, &Room::trial5UseSTricorderOnInterface },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_INTERFACE, 0}, &Room::trial5UseMTricorderOnInterface },
-
-	{ {ACTION_LOOK, OBJECT_REDGEM1, 0, 0}, &Room::trial5LookAtRedGem1 },
-	{ {ACTION_LOOK, OBJECT_REDGEM2, 0, 0}, &Room::trial5LookAtRedGem2 },
-	{ {ACTION_LOOK, OBJECT_REDGEM3, 0, 0}, &Room::trial5LookAtRedGem3 },
-	{ {ACTION_LOOK, OBJECT_GRNGEM1, 0, 0}, &Room::trial5LookAtGreenGem1 },
-	{ {ACTION_LOOK, OBJECT_GRNGEM2, 0, 0}, &Room::trial5LookAtGreenGem2 },
-	{ {ACTION_LOOK, OBJECT_GRNGEM3, 0, 0}, &Room::trial5LookAtGreenGem3 },
-	{ {ACTION_LOOK, OBJECT_BLUGEM1, 0, 0}, &Room::trial5LookAtBlueGem1 },
-	{ {ACTION_LOOK, OBJECT_BLUGEM2, 0, 0}, &Room::trial5LookAtBlueGem2 },
-	{ {ACTION_LOOK, OBJECT_BLUGEM3, 0, 0}, &Room::trial5LookAtBlueGem3 },
-
-	{ {ACTION_LOOK, HOTSPOT_HOLE1, 0, 0}, &Room::trial5LookAtHole },
-	{ {ACTION_LOOK, HOTSPOT_HOLE2, 0, 0}, &Room::trial5LookAtHole },
-	{ {ACTION_LOOK, HOTSPOT_HOLE3, 0, 0}, &Room::trial5LookAtHole },
-
-	{ {ACTION_TALK, OBJECT_KIRK,       0, 0}, &Room::trial5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,      0, 0}, &Room::trial5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,      0, 0}, &Room::trial5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,   0, 0}, &Room::trial5TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::trial5UsePhaser },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::trial5UsePhaser },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::trial5UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::trial5UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ICOMM,    0xff, 0}, &Room::trial5UseCommunicator },
-
-	{ {ACTION_DONE_WALK, 3, 0, 0},  &Room::trial5ReachedHoleToPutGem },
-	{ {ACTION_DONE_ANIM, 32, 0, 0}, &Room::trial5CrewmanBeamedOut },
-
-	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem1OnHole1 },
-	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem2OnHole1 },
-	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseRedGem3OnHole1 },
-	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem1OnHole1 },
-	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem2OnHole1 },
-	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseGreenGem3OnHole1 },
-	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem1OnHole1 },
-	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem2OnHole1 },
-	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE1, 0}, &Room::trial5UseBlueGem3OnHole1 },
-
-	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem1OnHole2 },
-	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem2OnHole2 },
-	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseRedGem3OnHole2 },
-	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem1OnHole2 },
-	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem2OnHole2 },
-	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseGreenGem3OnHole2 },
-	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem1OnHole2 },
-	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem2OnHole2 },
-	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE2, 0}, &Room::trial5UseBlueGem3OnHole2 },
-
-	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem1OnHole3 },
-	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem2OnHole3 },
-	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseRedGem3OnHole3 },
-	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem1OnHole3 },
-	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem2OnHole3 },
-	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseGreenGem3OnHole3 },
-	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem1OnHole3 },
-	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem2OnHole3 },
-	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE3, 0}, &Room::trial5UseBlueGem3OnHole3 },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0}, &Room::trial5UseMedkitAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK,  1,     0, 0, 0}, &Room::trial5Tick1 },
+	{ {ACTION_TICK, 60,     0, 0, 0}, &Room::trial5Tick60 },
+	{ {ACTION_DONE_ANIM, 1, 0, 0, 0}, &Room::trial5VlictAppeared },
+	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5WalkToInterface },
+	{ {ACTION_WALK, HOTSPOT_INTERFACE,          0, 0, 0}, &Room::trial5WalkToInterface },
+	{ {ACTION_DONE_WALK, 2,                     0, 0, 0}, &Room::trial5ReachedInterface },
+	{ {ACTION_DONE_WALK, 30,                    0, 0, 0}, &Room::trial5ReachedGem },
+	{ {ACTION_DONE_ANIM, 31,                    0, 0, 0}, &Room::trial5PickedUpGem },
+
+	{ {ACTION_GET, OBJECT_REDGEM1, 0, 0, 0}, &Room::trial5GetRedGem1 },
+	{ {ACTION_GET, OBJECT_REDGEM2, 0, 0, 0}, &Room::trial5GetRedGem2 },
+	{ {ACTION_GET, OBJECT_REDGEM3, 0, 0, 0}, &Room::trial5GetRedGem3 },
+	{ {ACTION_GET, OBJECT_GRNGEM1, 0, 0, 0}, &Room::trial5GetGreenGem1 },
+	{ {ACTION_GET, OBJECT_GRNGEM2, 0, 0, 0}, &Room::trial5GetGreenGem2 },
+	{ {ACTION_GET, OBJECT_GRNGEM3, 0, 0, 0}, &Room::trial5GetGreenGem3 },
+	{ {ACTION_GET, OBJECT_BLUGEM1, 0, 0, 0}, &Room::trial5GetBlueGem1 },
+	{ {ACTION_GET, OBJECT_BLUGEM2, 0, 0, 0}, &Room::trial5GetBlueGem2 },
+	{ {ACTION_GET, OBJECT_BLUGEM3, 0, 0, 0}, &Room::trial5GetBlueGem3 },
+
+	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0, 0}, &Room::trial5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0, 0}, &Room::trial5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0, 0}, &Room::trial5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0, 0}, &Room::trial5LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_BEAM,       0, 0, 0}, &Room::trial5LookAtBeam },
+	{ {ACTION_LOOK, HOTSPOT_INTERFACE, 0, 0, 0}, &Room::trial5LookAtInterface },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5UseSTricorderOnInterface },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_INTERFACE, 0, 0}, &Room::trial5UseMTricorderOnInterface },
+
+	{ {ACTION_LOOK, OBJECT_REDGEM1, 0, 0, 0}, &Room::trial5LookAtRedGem1 },
+	{ {ACTION_LOOK, OBJECT_REDGEM2, 0, 0, 0}, &Room::trial5LookAtRedGem2 },
+	{ {ACTION_LOOK, OBJECT_REDGEM3, 0, 0, 0}, &Room::trial5LookAtRedGem3 },
+	{ {ACTION_LOOK, OBJECT_GRNGEM1, 0, 0, 0}, &Room::trial5LookAtGreenGem1 },
+	{ {ACTION_LOOK, OBJECT_GRNGEM2, 0, 0, 0}, &Room::trial5LookAtGreenGem2 },
+	{ {ACTION_LOOK, OBJECT_GRNGEM3, 0, 0, 0}, &Room::trial5LookAtGreenGem3 },
+	{ {ACTION_LOOK, OBJECT_BLUGEM1, 0, 0, 0}, &Room::trial5LookAtBlueGem1 },
+	{ {ACTION_LOOK, OBJECT_BLUGEM2, 0, 0, 0}, &Room::trial5LookAtBlueGem2 },
+	{ {ACTION_LOOK, OBJECT_BLUGEM3, 0, 0, 0}, &Room::trial5LookAtBlueGem3 },
+
+	{ {ACTION_LOOK, HOTSPOT_HOLE1, 0, 0, 0}, &Room::trial5LookAtHole },
+	{ {ACTION_LOOK, HOTSPOT_HOLE2, 0, 0, 0}, &Room::trial5LookAtHole },
+	{ {ACTION_LOOK, HOTSPOT_HOLE3, 0, 0, 0}, &Room::trial5LookAtHole },
+
+	{ {ACTION_TALK, OBJECT_KIRK,       0, 0, 0}, &Room::trial5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,      0, 0, 0}, &Room::trial5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,      0, 0, 0}, &Room::trial5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,   0, 0, 0}, &Room::trial5TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::trial5UsePhaser },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::trial5UsePhaser },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::trial5UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::trial5UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ICOMM,    0xff, 0, 0}, &Room::trial5UseCommunicator },
+
+	{ {ACTION_DONE_WALK, 3, 0, 0, 0},  &Room::trial5ReachedHoleToPutGem },
+	{ {ACTION_DONE_ANIM, 32, 0, 0, 0}, &Room::trial5CrewmanBeamedOut },
+
+	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem1OnHole1 },
+	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem2OnHole1 },
+	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseRedGem3OnHole1 },
+	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem1OnHole1 },
+	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem2OnHole1 },
+	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseGreenGem3OnHole1 },
+	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem1OnHole1 },
+	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem2OnHole1 },
+	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE1, 0, 0}, &Room::trial5UseBlueGem3OnHole1 },
+
+	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem1OnHole2 },
+	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem2OnHole2 },
+	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseRedGem3OnHole2 },
+	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem1OnHole2 },
+	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem2OnHole2 },
+	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseGreenGem3OnHole2 },
+	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem1OnHole2 },
+	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem2OnHole2 },
+	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE2, 0, 0}, &Room::trial5UseBlueGem3OnHole2 },
+
+	{ {ACTION_USE, OBJECT_IREDGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem1OnHole3 },
+	{ {ACTION_USE, OBJECT_IREDGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem2OnHole3 },
+	{ {ACTION_USE, OBJECT_IREDGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseRedGem3OnHole3 },
+	{ {ACTION_USE, OBJECT_IGRNGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem1OnHole3 },
+	{ {ACTION_USE, OBJECT_IGRNGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem2OnHole3 },
+	{ {ACTION_USE, OBJECT_IGRNGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseGreenGem3OnHole3 },
+	{ {ACTION_USE, OBJECT_IBLUGEM1, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem1OnHole3 },
+	{ {ACTION_USE, OBJECT_IBLUGEM2, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem2OnHole3 },
+	{ {ACTION_USE, OBJECT_IBLUGEM3, HOTSPOT_HOLE3, 0, 0}, &Room::trial5UseBlueGem3OnHole3 },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0xff, 0, 0}, &Room::trial5UseMedkitAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum trial5TextIds {
diff --git a/engines/startrek/rooms/tug0.cpp b/engines/startrek/rooms/tug0.cpp
index e34511172ce..6b9be975007 100644
--- a/engines/startrek/rooms/tug0.cpp
+++ b/engines/startrek/rooms/tug0.cpp
@@ -24,79 +24,79 @@
 namespace StarTrek {
 
 extern const RoomAction tug0ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::tug0Tick1 },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::tug0LookAtEngineer },
-	{ {ACTION_GET, 8, 0, 0}, &Room::tug0GetEngineer },
-
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::tug0LookAtControls },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::tug0LookAtControls },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::tug0UseSpockOnControls },
-	{ {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::tug0SpockReachedControlsToExamine },
-	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::tug0SpockExaminedControls },
-	{ {ACTION_USE, OBJECT_IRT, 0x21, 0}, &Room::tug0UseTransmogrifierWithoutBitOnControls },
-	{ {ACTION_USE, OBJECT_IRTWB, 0x21, 0}, &Room::tug0UseTransmogrifierWithBitOnControls },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug0SpockReachedControlsWithTransmogrifier },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug0SpockFinishedUsingTransmogrifier },
-	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::tug0TransporterScreenFullyLit },
-	{ {ACTION_USE, OBJECT_IWIRSCRP, 0x21, 0}, &Room::tug0UseWireScrapsOnControls },
-	{ {ACTION_USE, OBJECT_IWIRING, 0x21, 0}, &Room::tug0UseWireOnControls },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug0SpockReachedControlsWithWire },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::tug0SpockFinishedUsingWire },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::tug0UseMedkitOnEngineer },
-	{ {ACTION_FINISHED_WALKING, 2, 0, 0}, &Room::tug0MccoyReachedEngineer },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug0MccoyHealedEngineer },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::tug0EngineerGotUp },
-	{ {ACTION_GET, 9, 0, 0}, &Room::tug0GetTransmogrifier },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::tug0KirkReachedToolbox },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug0KirkGotTransmogrifier },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::tug0LookAtToolbox },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug0UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug0UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug0UseWelderOnWireScraps },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug0UseWelderOnMetalScraps },
-	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug0UseCombBitOnTransmogrifier },
-
-	{ {ACTION_USE, OBJECT_SPOCK, 11, 0}, &Room::tug0UseTransporter },
-	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0}, &Room::tug0UseTransporter },
-	{ {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::tug0SpockReachedControlsToTransport },
-	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0}, &Room::tug0SpockPreparedTransporter },
-	{ {ACTION_FINISHED_WALKING, 20, 0, 0}, &Room::tug0SpockReachedTransporter },
-	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::tug0FinishedTransporting },
-
-	{ {ACTION_USE, OBJECT_IBOMB, 0x22, 0}, &Room::tug0UseBombOnTransporter },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::tug0KirkReachedTransporter },
-	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0}, &Room::tug0KirkPlacedBomb },
-	{ {ACTION_FINISHED_WALKING, 15, 0, 0}, &Room::tug0SpockReachedControlsForBomb },
-	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::tug0SpockBeginsBeamingBomb },
-	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::tug0SpockFinishesBeamingBomb },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug0BombExploded },
-
-	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0}, &Room::tug0UseMTricorderOnControls },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::tug0UseMTricorderOnControls },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::tug0UseSTricorderOnControls },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::tug0UseMTricorderOnEngineer },
-	{ {ACTION_FINISHED_WALKING, 24, 0, 0}, &Room::tug0MccoyReachedEngineerToScan },
-	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::tug0MccoyFinishedScanningEngineer },
-	{ {ACTION_USE, OBJECT_SPOCK, 8, 0}, &Room::tug0UseSTricorderOnEngineer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::tug0UseSTricorderOnEngineer },
-	{ {ACTION_WALK, 0x23, 0, 0}, &Room::tug0WalkToDoor },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::tug0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug0LookAtRedshirt },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::tug0LookAtTransporter },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::tug0LookAtDoor },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug0TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug0TalkToRedshirt },
-	{ {ACTION_TALK, 8, 0, 0}, &Room::tug0TalkToEngineer },
-	{ {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::tug0UseCommunicator },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::tug0LookAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::tug0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::tug0UseMTricorderAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::tug0Tick1 },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug0LookAtEngineer },
+	{ {ACTION_GET, 8, 0, 0, 0}, &Room::tug0GetEngineer },
+
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug0LookAtControls },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug0LookAtControls },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::tug0UseSpockOnControls },
+	{ {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::tug0SpockReachedControlsToExamine },
+	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::tug0SpockExaminedControls },
+	{ {ACTION_USE, OBJECT_IRT, 0x21, 0, 0}, &Room::tug0UseTransmogrifierWithoutBitOnControls },
+	{ {ACTION_USE, OBJECT_IRTWB, 0x21, 0, 0}, &Room::tug0UseTransmogrifierWithBitOnControls },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug0SpockReachedControlsWithTransmogrifier },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug0SpockFinishedUsingTransmogrifier },
+	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::tug0TransporterScreenFullyLit },
+	{ {ACTION_USE, OBJECT_IWIRSCRP, 0x21, 0, 0}, &Room::tug0UseWireScrapsOnControls },
+	{ {ACTION_USE, OBJECT_IWIRING, 0x21, 0, 0}, &Room::tug0UseWireOnControls },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug0SpockReachedControlsWithWire },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::tug0SpockFinishedUsingWire },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::tug0UseMedkitOnEngineer },
+	{ {ACTION_FINISHED_WALKING, 2, 0, 0, 0}, &Room::tug0MccoyReachedEngineer },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug0MccoyHealedEngineer },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::tug0EngineerGotUp },
+	{ {ACTION_GET, 9, 0, 0, 0}, &Room::tug0GetTransmogrifier },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::tug0KirkReachedToolbox },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug0KirkGotTransmogrifier },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug0LookAtToolbox },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug0UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug0UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug0UseWelderOnWireScraps },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug0UseWelderOnMetalScraps },
+	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug0UseCombBitOnTransmogrifier },
+
+	{ {ACTION_USE, OBJECT_SPOCK, 11, 0, 0}, &Room::tug0UseTransporter },
+	{ {ACTION_USE, OBJECT_KIRK, 0x22, 0, 0}, &Room::tug0UseTransporter },
+	{ {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::tug0SpockReachedControlsToTransport },
+	{ {ACTION_FINISHED_ANIMATION, 18, 0, 0, 0}, &Room::tug0SpockPreparedTransporter },
+	{ {ACTION_FINISHED_WALKING, 20, 0, 0, 0}, &Room::tug0SpockReachedTransporter },
+	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::tug0FinishedTransporting },
+
+	{ {ACTION_USE, OBJECT_IBOMB, 0x22, 0, 0}, &Room::tug0UseBombOnTransporter },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::tug0KirkReachedTransporter },
+	{ {ACTION_FINISHED_ANIMATION, 10, 0, 0, 0}, &Room::tug0KirkPlacedBomb },
+	{ {ACTION_FINISHED_WALKING, 15, 0, 0, 0}, &Room::tug0SpockReachedControlsForBomb },
+	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::tug0SpockBeginsBeamingBomb },
+	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::tug0SpockFinishesBeamingBomb },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug0BombExploded },
+
+	{ {ACTION_USE, OBJECT_MCCOY, 0x21, 0, 0}, &Room::tug0UseMTricorderOnControls },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::tug0UseMTricorderOnControls },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::tug0UseSTricorderOnControls },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::tug0UseMTricorderOnEngineer },
+	{ {ACTION_FINISHED_WALKING, 24, 0, 0, 0}, &Room::tug0MccoyReachedEngineerToScan },
+	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::tug0MccoyFinishedScanningEngineer },
+	{ {ACTION_USE, OBJECT_SPOCK, 8, 0, 0}, &Room::tug0UseSTricorderOnEngineer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::tug0UseSTricorderOnEngineer },
+	{ {ACTION_WALK, 0x23, 0, 0, 0}, &Room::tug0WalkToDoor },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::tug0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug0LookAtRedshirt },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::tug0LookAtTransporter },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::tug0LookAtDoor },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug0TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug0TalkToRedshirt },
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::tug0TalkToEngineer },
+	{ {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::tug0UseCommunicator },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug0LookAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::tug0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::tug0UseMTricorderAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum tug0TextIds {
diff --git a/engines/startrek/rooms/tug1.cpp b/engines/startrek/rooms/tug1.cpp
index 91852832a77..dcf73fcbfe6 100644
--- a/engines/startrek/rooms/tug1.cpp
+++ b/engines/startrek/rooms/tug1.cpp
@@ -33,66 +33,66 @@ namespace StarTrek {
 #define HOTSPOT_BRIGDOOR   0x25
 
 extern const RoomAction tug1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::tug1Tick1 },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0}, &Room::tug1UseSTricorderOnAnything },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::tug1LookAtBridgeDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0}, &Room::tug1UseSTricorderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0}, &Room::tug1UsePhaserOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0x21, 0}, &Room::tug1UsePhaserOnBridgeDoor },
-	{ {ACTION_FINISHED_WALKING, 3, 0, 0}, &Room::tug1KirkReachedFiringPosition },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug1KirkPulledOutPhaser },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::tug1KirkFinishedFiringPhaser },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug1TalkToSpock },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0}, &Room::tug1UseSTricorderOnJunkPile },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::tug1LookAtJunkPile },
-	{ {ACTION_GET, 8, 0, 0}, &Room::tug1GetJunkPile },
-	{ {ACTION_FINISHED_WALKING, 1, 0, 0}, &Room::tug1KirkReachedJunkPile },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::tug1KirkFinishedTakingJunkPile },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug1UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug1UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug1UseWelderOnWireScraps },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug1UseWelderOnMetalScraps },
-	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug1UseCombBitOnTransmogrifier },
-
-	{ {ACTION_USE, OBJECT_IPWF, 0x22, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IPWF, 0x21, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IPWF, 0x20, 0}, &Room::tug1UsePhaserWelderOnBridgeDoorInLeftSpot },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelder },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug1KirkFinishedUsingWelder },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelderInLeftSpot },
-	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0}, &Room::tug1KirkFinishedUsingWelderInLeftSpot },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::tug1LookAnywhere },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug1LookAtRedshirt },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug1TalkToRedshirt },
-	{ {ACTION_LOOK, 0x23, 0, 0}, &Room::tug1LookAtTerminal },
-	{ {ACTION_LOOK, 0x24, 0, 0}, &Room::tug1LookAtDebris },
-	{ {ACTION_LOOK, 0x25, 0, 0}, &Room::tug1LookAtBrigDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0}, &Room::tug1UseSTricorderOnBrigDoor },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug1TalkToKirk },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::tug1UseCommunicator },
-	{ {ACTION_WALK, 0x21, 0, 0}, &Room::tug1WalkToBridgeDoor },
-	{ {ACTION_FINISHED_WALKING, 10, 0, 0}, &Room::tug1KirkReachedBridgeDoor },
-	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0}, &Room::tug1BridgeDoorOpened },
-	{ {ACTION_WALK, 0x25, 0, 0}, &Room::tug1WalkToBrigDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0}, &Room::tug1UseMTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x25, 0}, &Room::tug1UseMTricorderOnBrigDoor },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::tug1UseSpockOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0}, &Room::tug1UseSpockOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0}, &Room::tug1UseSpockOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0x20, 0}, &Room::tug1UseMedkitOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0x21, 0}, &Room::tug1UseMedkitOnBridgeDoor },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 0x22, 0}, &Room::tug1UseMedkitOnBridgeDoor },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::tug1Tick1 },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff, 0, 0}, &Room::tug1UseSTricorderOnAnything },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug1LookAtBridgeDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x21, 0, 0}, &Room::tug1UseSTricorderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0x21, 0, 0}, &Room::tug1UsePhaserOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0x21, 0, 0}, &Room::tug1UsePhaserOnBridgeDoor },
+	{ {ACTION_FINISHED_WALKING, 3, 0, 0, 0}, &Room::tug1KirkReachedFiringPosition },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug1KirkPulledOutPhaser },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::tug1KirkFinishedFiringPhaser },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug1TalkToSpock },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 8, 0, 0}, &Room::tug1UseSTricorderOnJunkPile },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug1LookAtJunkPile },
+	{ {ACTION_GET, 8, 0, 0, 0}, &Room::tug1GetJunkPile },
+	{ {ACTION_FINISHED_WALKING, 1, 0, 0, 0}, &Room::tug1KirkReachedJunkPile },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::tug1KirkFinishedTakingJunkPile },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug1UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug1UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug1UseWelderOnWireScraps },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug1UseWelderOnMetalScraps },
+	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug1UseCombBitOnTransmogrifier },
+
+	{ {ACTION_USE, OBJECT_IPWF, 0x22, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IPWF, 0x21, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IPWF, 0x20, 0, 0}, &Room::tug1UsePhaserWelderOnBridgeDoorInLeftSpot },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelder },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug1KirkFinishedUsingWelder },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoorWithWelderInLeftSpot },
+	{ {ACTION_FINISHED_ANIMATION, 9, 0, 0, 0}, &Room::tug1KirkFinishedUsingWelderInLeftSpot },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug1LookAnywhere },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug1LookAtRedshirt },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug1TalkToRedshirt },
+	{ {ACTION_LOOK, 0x23, 0, 0, 0}, &Room::tug1LookAtTerminal },
+	{ {ACTION_LOOK, 0x24, 0, 0, 0}, &Room::tug1LookAtDebris },
+	{ {ACTION_LOOK, 0x25, 0, 0, 0}, &Room::tug1LookAtBrigDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x25, 0, 0}, &Room::tug1UseSTricorderOnBrigDoor },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug1TalkToKirk },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::tug1UseCommunicator },
+	{ {ACTION_WALK, 0x21, 0, 0, 0}, &Room::tug1WalkToBridgeDoor },
+	{ {ACTION_FINISHED_WALKING, 10, 0, 0, 0}, &Room::tug1KirkReachedBridgeDoor },
+	{ {ACTION_FINISHED_ANIMATION, 11, 0, 0, 0}, &Room::tug1BridgeDoorOpened },
+	{ {ACTION_WALK, 0x25, 0, 0, 0}, &Room::tug1WalkToBrigDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0xff, 0, 0}, &Room::tug1UseMTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x21, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x20, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::tug1UseMTricorderOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x25, 0, 0}, &Room::tug1UseMTricorderOnBrigDoor },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x21, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x22, 0, 0}, &Room::tug1UseSpockOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x21, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x22, 0, 0}, &Room::tug1UseRedshirtOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0x20, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0x21, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 0x22, 0, 0}, &Room::tug1UseMedkitOnBridgeDoor },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum tug1TextIds {
diff --git a/engines/startrek/rooms/tug2.cpp b/engines/startrek/rooms/tug2.cpp
index 951eb4dc70d..a49c63441f2 100644
--- a/engines/startrek/rooms/tug2.cpp
+++ b/engines/startrek/rooms/tug2.cpp
@@ -40,95 +40,95 @@ namespace StarTrek {
 #define GUARDSTAT_TIED 8
 
 extern const RoomAction tug2ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::tug2Tick1 },
-	{ {ACTION_TICK, 60, 0, 0}, &Room::tug2Tick60 },
-	{ {ACTION_LOOK, 0x20, 0, 0}, &Room::tug2LookAtButton },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug2LookAtRedshirt },
-	{ {ACTION_GET, 11, 0, 0}, &Room::tug2GetBomb },
-	{ {ACTION_FINISHED_WALKING, 12, 0, 0}, &Room::tug2KirkReachedBomb },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug2KirkGotBomb },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::tug2LookAtBomb },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::tug2LookAtGuard1 },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::tug2LookAtGuard2 },
-	{ {ACTION_LOOK, 12, 0, 0}, &Room::tug2LookAtWires },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0}, &Room::tug2UseSTricorderOnButton },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0}, &Room::tug2UseSTricorderOnButton },
-	{ {ACTION_USE, OBJECT_MCCOY, 12, 0}, &Room::tug2UseMccoyOnWires },
-	{ {ACTION_USE, OBJECT_MCCOY, 11, 0}, &Room::tug2UseMccoyOnBomb },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 12, 0}, &Room::tug2UseRedshirtOnWires },
-	{ {ACTION_FINISHED_WALKING, 6, 0, 0}, &Room::tug2RedshirtReachedWires },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug2RedshirtDefusedBomb },
-	{ {ACTION_FINISHED_WALKING, 8, 0, 0}, &Room::tug2RedshirtReturnedToPosition },
-	{ {ACTION_USE, OBJECT_KIRK, 12, 0}, &Room::tug2UseKirkOnWires },
-	{ {ACTION_FINISHED_WALKING, 5, 0, 0}, &Room::tug2KirkReachedWires },
-	{ {ACTION_USE, OBJECT_SPOCK, 12, 0}, &Room::tug2UseSpockOnWires },
-	{ {ACTION_FINISHED_WALKING, 9, 0, 0}, &Room::tug2SpockReachedWires },
-	{ {ACTION_FINISHED_WALKING, 11, 0, 0}, &Room::tug2SpockReturnedToPosition },
-	{ {ACTION_GET, 12, 0, 0}, &Room::tug2GetWires },
-	{ {ACTION_FINISHED_WALKING, 28, 0, 0}, &Room::tug2KirkReachedWiresToGet },
-	{ {ACTION_FINISHED_ANIMATION, 29, 0, 0}, &Room::tug2KirkGotWires },
-	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0}, &Room::tug2UseKirkOnButton },
-	{ {ACTION_FINISHED_WALKING, 14, 0, 0}, &Room::tug2KirkReachedButton },
-	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0}, &Room::tug2UseSpockOnButton },
-	{ {ACTION_FINISHED_WALKING, 16, 0, 0}, &Room::tug2SpockReachedButton },
-	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0}, &Room::tug2UseMccoyOnButton },
-	{ {ACTION_FINISHED_WALKING, 18, 0, 0}, &Room::tug2MccoyReachedButton },
-	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0}, &Room::tug2UseRedshirtOnButton },
-	{ {ACTION_FINISHED_WALKING, 20, 0, 0}, &Room::tug2RedshirtReachedButton },
-	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0}, &Room::tug2TurnedOffForceField },
-	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0}, &Room::tug2TurnedOffForceField },
-	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0}, &Room::tug2TurnedOffForceField },
-	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0}, &Room::tug2TurnedOffForceField },
-	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0}, &Room::tug2PrisonersDead },
-	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0}, &Room::tug2PrisonersReleased },
-	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::tug2UsePhaserOnBrig },
-	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::tug2UsePhaserOnBrig },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::tug2UseStunPhaserOnGuard1 },
-	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0}, &Room::tug2KirkShootGuard1 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::tug2UseStunPhaserOnGuard2 },
-	{ {ACTION_FINISHED_ANIMATION, 23, 0, 0}, &Room::tug2KirkShootGuard2 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::tug2UseKillPhaserOnGuard1 },
-	{ {ACTION_FINISHED_ANIMATION, 24, 0, 0}, &Room::tug2KirkKillGuard1 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::tug2UseKillPhaserOnGuard2 },
-	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0}, &Room::tug2KirkKillGuard2 },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0}, &Room::tug2UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0}, &Room::tug2UsePhaserOnWelder },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0}, &Room::tug2UseWelderOnWireScraps },
-	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0}, &Room::tug2UseWelderOnMetalScraps },
-	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0}, &Room::tug2UseCombBitOnTransmogrifier },
-
-	{ {ACTION_FINISHED_ANIMATION, 26, 0, 0}, &Room::tug2ShotByElasi },
-	{ {ACTION_FINISHED_ANIMATION, 27, 0, 0}, &Room::tug2ShotByElasi },
-	{ {ACTION_WALK, 0x21, 0, 0}, &Room::tug2WalkToDoor },
-	{ {ACTION_LOOK, 0x21, 0, 0}, &Room::tug2LookAtDoor },
-	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0}, &Room::tug2LookAtKirk },
-	{ {ACTION_TALK, OBJECT_KIRK, 0, 0}, &Room::tug2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug2TalkToRedshirt },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug2TalkToSpock },
-	{ {ACTION_USE, OBJECT_ICOMM, 0, 0}, &Room::tug2UseCommunicator },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug2Timer0Expired },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::tug2Timer2Expired },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 11, 0}, &Room::tug2UseSTricorderOnBomb },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0}, &Room::tug2UseMTricorderOnGuard1 },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0}, &Room::tug2UseMTricorderOnGuard2 },
-	{ {ACTION_TALK, 8, 0, 0}, &Room::tug2TalkToGuard1 },
-	{ {ACTION_TALK, 9, 0, 0}, &Room::tug2TalkToGuard2 },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 11, 0}, &Room::tug2UseMedkitOnBomb },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0}, &Room::tug2UseMedkitOnGuard1 },
-	{ {ACTION_USE, OBJECT_IMEDKIT, 9, 0}, &Room::tug2UseMedkitOnGuard2 },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::tug2LookAnywhere },
-	{ {ACTION_LOOK, 0x22, 0, 0}, &Room::tug2LookAnywhere },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::tug2LookAnywhere },
-	{ {ACTION_TALK, 10, 0, 0}, &Room::tug2TalkToBrig },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0}, &Room::tug2UseMTricorderOnBrig },
-	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0}, &Room::tug2UseMTricorderOnOpenBrig },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::tug2UsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::tug2UsePhaserAnywhere },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::tug2Tick1 },
+	{ {ACTION_TICK, 60, 0, 0, 0}, &Room::tug2Tick60 },
+	{ {ACTION_LOOK, 0x20, 0, 0, 0}, &Room::tug2LookAtButton },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug2LookAtRedshirt },
+	{ {ACTION_GET, 11, 0, 0, 0}, &Room::tug2GetBomb },
+	{ {ACTION_FINISHED_WALKING, 12, 0, 0, 0}, &Room::tug2KirkReachedBomb },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug2KirkGotBomb },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug2LookAtBomb },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug2LookAtGuard1 },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug2LookAtGuard2 },
+	{ {ACTION_LOOK, 12, 0, 0, 0}, &Room::tug2LookAtWires },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 12, 0, 0}, &Room::tug2UseSTricorderOnButton },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0x20, 0, 0}, &Room::tug2UseSTricorderOnButton },
+	{ {ACTION_USE, OBJECT_MCCOY, 12, 0, 0}, &Room::tug2UseMccoyOnWires },
+	{ {ACTION_USE, OBJECT_MCCOY, 11, 0, 0}, &Room::tug2UseMccoyOnBomb },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 12, 0, 0}, &Room::tug2UseRedshirtOnWires },
+	{ {ACTION_FINISHED_WALKING, 6, 0, 0, 0}, &Room::tug2RedshirtReachedWires },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug2RedshirtDefusedBomb },
+	{ {ACTION_FINISHED_WALKING, 8, 0, 0, 0}, &Room::tug2RedshirtReturnedToPosition },
+	{ {ACTION_USE, OBJECT_KIRK, 12, 0, 0}, &Room::tug2UseKirkOnWires },
+	{ {ACTION_FINISHED_WALKING, 5, 0, 0, 0}, &Room::tug2KirkReachedWires },
+	{ {ACTION_USE, OBJECT_SPOCK, 12, 0, 0}, &Room::tug2UseSpockOnWires },
+	{ {ACTION_FINISHED_WALKING, 9, 0, 0, 0}, &Room::tug2SpockReachedWires },
+	{ {ACTION_FINISHED_WALKING, 11, 0, 0, 0}, &Room::tug2SpockReturnedToPosition },
+	{ {ACTION_GET, 12, 0, 0, 0}, &Room::tug2GetWires },
+	{ {ACTION_FINISHED_WALKING, 28, 0, 0, 0}, &Room::tug2KirkReachedWiresToGet },
+	{ {ACTION_FINISHED_ANIMATION, 29, 0, 0, 0}, &Room::tug2KirkGotWires },
+	{ {ACTION_USE, OBJECT_KIRK, 0x20, 0, 0}, &Room::tug2UseKirkOnButton },
+	{ {ACTION_FINISHED_WALKING, 14, 0, 0, 0}, &Room::tug2KirkReachedButton },
+	{ {ACTION_USE, OBJECT_SPOCK, 0x20, 0, 0}, &Room::tug2UseSpockOnButton },
+	{ {ACTION_FINISHED_WALKING, 16, 0, 0, 0}, &Room::tug2SpockReachedButton },
+	{ {ACTION_USE, OBJECT_MCCOY, 0x20, 0, 0}, &Room::tug2UseMccoyOnButton },
+	{ {ACTION_FINISHED_WALKING, 18, 0, 0, 0}, &Room::tug2MccoyReachedButton },
+	{ {ACTION_USE, OBJECT_REDSHIRT, 0x20, 0, 0}, &Room::tug2UseRedshirtOnButton },
+	{ {ACTION_FINISHED_WALKING, 20, 0, 0, 0}, &Room::tug2RedshirtReachedButton },
+	{ {ACTION_FINISHED_ANIMATION, 15, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+	{ {ACTION_FINISHED_ANIMATION, 17, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+	{ {ACTION_FINISHED_ANIMATION, 19, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+	{ {ACTION_FINISHED_ANIMATION, 21, 0, 0, 0}, &Room::tug2TurnedOffForceField },
+	{ {ACTION_FINISHED_ANIMATION, 1, 0, 0, 0}, &Room::tug2PrisonersDead },
+	{ {ACTION_FINISHED_ANIMATION, 2, 0, 0, 0}, &Room::tug2PrisonersReleased },
+	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::tug2UsePhaserOnBrig },
+	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::tug2UsePhaserOnBrig },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::tug2UseStunPhaserOnGuard1 },
+	{ {ACTION_FINISHED_ANIMATION, 22, 0, 0, 0}, &Room::tug2KirkShootGuard1 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::tug2UseStunPhaserOnGuard2 },
+	{ {ACTION_FINISHED_ANIMATION, 23, 0, 0, 0}, &Room::tug2KirkShootGuard2 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::tug2UseKillPhaserOnGuard1 },
+	{ {ACTION_FINISHED_ANIMATION, 24, 0, 0, 0}, &Room::tug2KirkKillGuard1 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::tug2UseKillPhaserOnGuard2 },
+	{ {ACTION_FINISHED_ANIMATION, 25, 0, 0, 0}, &Room::tug2KirkKillGuard2 },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_IPWE, 0, 0}, &Room::tug2UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_IPWE, 0, 0}, &Room::tug2UsePhaserOnWelder },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IWIRSCRP, 0, 0}, &Room::tug2UseWelderOnWireScraps },
+	{ {ACTION_USE, OBJECT_IPWF, OBJECT_IJNKMETL, 0, 0}, &Room::tug2UseWelderOnMetalScraps },
+	{ {ACTION_USE, OBJECT_ICOMBBIT, OBJECT_IRT, 0, 0}, &Room::tug2UseCombBitOnTransmogrifier },
+
+	{ {ACTION_FINISHED_ANIMATION, 26, 0, 0, 0}, &Room::tug2ShotByElasi },
+	{ {ACTION_FINISHED_ANIMATION, 27, 0, 0, 0}, &Room::tug2ShotByElasi },
+	{ {ACTION_WALK, 0x21, 0, 0, 0}, &Room::tug2WalkToDoor },
+	{ {ACTION_LOOK, 0x21, 0, 0, 0}, &Room::tug2LookAtDoor },
+	{ {ACTION_LOOK, OBJECT_KIRK, 0, 0, 0}, &Room::tug2LookAtKirk },
+	{ {ACTION_TALK, OBJECT_KIRK, 0, 0, 0}, &Room::tug2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug2TalkToRedshirt },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug2TalkToSpock },
+	{ {ACTION_USE, OBJECT_ICOMM, 0, 0, 0}, &Room::tug2UseCommunicator },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug2Timer0Expired },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::tug2Timer2Expired },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 11, 0, 0}, &Room::tug2UseSTricorderOnBomb },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 8, 0, 0}, &Room::tug2UseMTricorderOnGuard1 },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 9, 0, 0}, &Room::tug2UseMTricorderOnGuard2 },
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::tug2TalkToGuard1 },
+	{ {ACTION_TALK, 9, 0, 0, 0}, &Room::tug2TalkToGuard2 },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 11, 0, 0}, &Room::tug2UseMedkitOnBomb },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 8, 0, 0}, &Room::tug2UseMedkitOnGuard1 },
+	{ {ACTION_USE, OBJECT_IMEDKIT, 9, 0, 0}, &Room::tug2UseMedkitOnGuard2 },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::tug2LookAnywhere },
+	{ {ACTION_LOOK, 0x22, 0, 0, 0}, &Room::tug2LookAnywhere },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug2LookAnywhere },
+	{ {ACTION_TALK, 10, 0, 0, 0}, &Room::tug2TalkToBrig },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 10, 0, 0}, &Room::tug2UseMTricorderOnBrig },
+	{ {ACTION_USE, OBJECT_IMTRICOR, 0x22, 0, 0}, &Room::tug2UseMTricorderOnOpenBrig },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::tug2UsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::tug2UsePhaserAnywhere },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum tug2TextIds {
diff --git a/engines/startrek/rooms/tug3.cpp b/engines/startrek/rooms/tug3.cpp
index 0cbcce05da3..9b6aa2275f5 100644
--- a/engines/startrek/rooms/tug3.cpp
+++ b/engines/startrek/rooms/tug3.cpp
@@ -39,41 +39,41 @@ namespace StarTrek {
 #define GUARDSTAT_TIED 8
 
 extern const RoomAction tug3ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::tug3Tick1 },
-	{ {ACTION_TICK, 40, 0, 0}, &Room::tug3Tick40 },
-	{ {ACTION_LOOK, 0xff, 0, 0}, &Room::tug3LookAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0}, &Room::tug3UsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0}, &Room::tug3UsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0}, &Room::tug3UseStunPhaserOnElasi1 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0}, &Room::tug3UseStunPhaserOnElasi2 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0}, &Room::tug3UseStunPhaserOnElasi3 },
-	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0}, &Room::tug3UseStunPhaserOnElasi4 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0}, &Room::tug3UseKillPhaserOnElasi1 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0}, &Room::tug3UseKillPhaserOnElasi2 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0}, &Room::tug3UseKillPhaserOnElasi3 },
-	{ {ACTION_USE, OBJECT_IPHASERK, 11, 0}, &Room::tug3UseKillPhaserOnElasi4 },
-	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0}, &Room::tug3ElasiStunnedOrKilled },
-	{ {ACTION_TALK, 8, 0, 0}, &Room::tug3TalkToElasi1 },
-	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0}, &Room::tug3Elasi1DrewPhaser },
-	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0}, &Room::tug3Elasi1ShotConsole },
-	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0}, &Room::tug3Elasi1DrewPhaser2 },
-	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0}, &Room::tug3Elasi1ShotConsoleAndSurrenders },
-	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0}, &Room::tug3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0}, &Room::tug3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::tug3LookAtRedshirt },
-	{ {ACTION_LOOK, 8, 0, 0}, &Room::tug3LookAtElasi1 },
-	{ {ACTION_LOOK, 9, 0, 0}, &Room::tug3LookAtElasi2 },
-	{ {ACTION_LOOK, 10, 0, 0}, &Room::tug3LookAtElasi3 },
-	{ {ACTION_LOOK, 11, 0, 0}, &Room::tug3LookAtElasi4 },
-	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0}, &Room::tug3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0}, &Room::tug3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::tug3TalkToRedshirt },
-	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0}, &Room::tug3UseCommunicator },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::tug3Timer0Expired },
-	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0}, &Room::tug3AllCrewmenDead },
-	{ {ACTION_TIMER_EXPIRED, 1, 0, 0}, &Room::tug3Timer1Expired },
-	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0}, &Room::tug3SecurityTeamBeamedIn },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::tug3Tick1 },
+	{ {ACTION_TICK, 40, 0, 0, 0}, &Room::tug3Tick40 },
+	{ {ACTION_LOOK, 0xff, 0, 0, 0}, &Room::tug3LookAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff, 0, 0}, &Room::tug3UsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff, 0, 0}, &Room::tug3UsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERS, 8, 0, 0}, &Room::tug3UseStunPhaserOnElasi1 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 9, 0, 0}, &Room::tug3UseStunPhaserOnElasi2 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 10, 0, 0}, &Room::tug3UseStunPhaserOnElasi3 },
+	{ {ACTION_USE, OBJECT_IPHASERS, 11, 0, 0}, &Room::tug3UseStunPhaserOnElasi4 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 8, 0, 0}, &Room::tug3UseKillPhaserOnElasi1 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 9, 0, 0}, &Room::tug3UseKillPhaserOnElasi2 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 10, 0, 0}, &Room::tug3UseKillPhaserOnElasi3 },
+	{ {ACTION_USE, OBJECT_IPHASERK, 11, 0, 0}, &Room::tug3UseKillPhaserOnElasi4 },
+	{ {ACTION_FINISHED_ANIMATION, 12, 0, 0, 0}, &Room::tug3ElasiStunnedOrKilled },
+	{ {ACTION_TALK, 8, 0, 0, 0}, &Room::tug3TalkToElasi1 },
+	{ {ACTION_FINISHED_ANIMATION, 3, 0, 0, 0}, &Room::tug3Elasi1DrewPhaser },
+	{ {ACTION_FINISHED_ANIMATION, 4, 0, 0, 0}, &Room::tug3Elasi1ShotConsole },
+	{ {ACTION_FINISHED_ANIMATION, 5, 0, 0, 0}, &Room::tug3Elasi1DrewPhaser2 },
+	{ {ACTION_FINISHED_ANIMATION, 6, 0, 0, 0}, &Room::tug3Elasi1ShotConsoleAndSurrenders },
+	{ {ACTION_LOOK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug3LookAtRedshirt },
+	{ {ACTION_LOOK, 8, 0, 0, 0}, &Room::tug3LookAtElasi1 },
+	{ {ACTION_LOOK, 9, 0, 0, 0}, &Room::tug3LookAtElasi2 },
+	{ {ACTION_LOOK, 10, 0, 0, 0}, &Room::tug3LookAtElasi3 },
+	{ {ACTION_LOOK, 11, 0, 0, 0}, &Room::tug3LookAtElasi4 },
+	{ {ACTION_TALK, OBJECT_MCCOY, 0, 0, 0}, &Room::tug3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK, 0, 0, 0}, &Room::tug3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::tug3TalkToRedshirt },
+	{ {ACTION_USE, OBJECT_ICOMM, 0xff, 0, 0}, &Room::tug3UseCommunicator },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::tug3Timer0Expired },
+	{ {ACTION_FINISHED_ANIMATION, 13, 0, 0, 0}, &Room::tug3AllCrewmenDead },
+	{ {ACTION_TIMER_EXPIRED, 1, 0, 0, 0}, &Room::tug3Timer1Expired },
+	{ {ACTION_FINISHED_ANIMATION, 7, 0, 0, 0}, &Room::tug3SecurityTeamBeamedIn },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum tug3TextIds {
diff --git a/engines/startrek/rooms/veng0.cpp b/engines/startrek/rooms/veng0.cpp
index 0a55a605058..534a94a9826 100644
--- a/engines/startrek/rooms/veng0.cpp
+++ b/engines/startrek/rooms/veng0.cpp
@@ -37,73 +37,73 @@
 namespace StarTrek {
 
 extern const RoomAction veng0ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::veng0Tick1 },
-	{ {ACTION_TICK, 10, 0, 0}, &Room::veng0Tick10 },
-	{ {ACTION_TICK, 50, 0, 0}, &Room::veng0Tick50 },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng0TouchedDoor },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COMPUTER_BANK, 0}, &Room::veng0UseSTricorderOnComputerBank },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CHAIR,         0}, &Room::veng0UseSTricorderOnChair },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VIEWSCREEN,    0}, &Room::veng0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                  0}, &Room::veng0UseSTricorderAnywhere },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_BEAM,           0}, &Room::veng0UseMccoyOnBeam },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_BEAM,           0}, &Room::veng0UseSTricorderOnBeam },
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_BEAM,           0}, &Room::veng0UseSTricorderOnBeam },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_BEAM,           0}, &Room::veng0UseRedshirtOnBeam },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_HELM_CONSOLE,  0}, &Room::veng0UseSpockOnConsole },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_NAV_CONSOLE,   0}, &Room::veng0UseSpockOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HELM_CONSOLE,  0}, &Room::veng0UseSpockOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NAV_CONSOLE,   0}, &Room::veng0UseSpockOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HELM_CONSOLE,  0}, &Room::veng0UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NAV_CONSOLE,   0}, &Room::veng0UseRedshirtOnConsole },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_BEAM,           0}, &Room::veng0UsePhaserOnBeam },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_BEAM,           0}, &Room::veng0UsePhaserOnBeam },
-
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_PATTERSON, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_2, 0}, &Room::veng0UseMccoyOnDeadCrewman },
-
-	{ {ACTION_USE, OBJECT_ILMD, OBJECT_BEAM, 0}, &Room::veng0UseSawOnBeam },
-	{ {ACTION_DONE_WALK, 1,               0, 0}, &Room::veng0KirkReachedSaw },
-	{ {ACTION_TIMER_EXPIRED, 0,           0, 0}, &Room::veng0Timer0Expired },
-	{ {ACTION_DONE_ANIM, 2,               0, 0}, &Room::veng0DoneCuttingBeam },
-
-	{ {ACTION_GET,  OBJECT_BEAM,           0, 0}, &Room::veng0GetBeam },
-	{ {ACTION_TALK, OBJECT_KIRK,           0, 0}, &Room::veng0TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY,          0, 0}, &Room::veng0TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,          0, 0}, &Room::veng0TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,       0, 0}, &Room::veng0TalkToRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_PATTERSON,     0, 0}, &Room::veng0LookAtPatterson },
-	{ {ACTION_LOOK, HOTSPOT_CREWMAN_2,     0, 0}, &Room::veng0LookAtDeadCrewman2 },
-	{ {ACTION_LOOK, HOTSPOT_COMPUTER_BANK, 0, 0}, &Room::veng0LookAtComputerBank },
-	{ {ACTION_LOOK, HOTSPOT_CHAIR,         0, 0}, &Room::veng0LookAtChair },
-	{ {ACTION_LOOK, OBJECT_KIRK,           0, 0}, &Room::veng0LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,          0, 0}, &Room::veng0LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,          0, 0}, &Room::veng0LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,       0, 0}, &Room::veng0LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_VIEWSCREEN,    0, 0}, &Room::veng0LookAtViewscreen },
-	{ {ACTION_LOOK, HOTSPOT_HELM_CONSOLE,  0, 0}, &Room::veng0LookAtHelmConsole },
-	{ {ACTION_LOOK, HOTSPOT_NAV_CONSOLE,   0, 0}, &Room::veng0LookAtNavConsole },
-	{ {ACTION_LOOK, OBJECT_BEAM,           0, 0}, &Room::veng0LookAtBeam },
-	{ {ACTION_LOOK, 0xff,                  0, 0}, &Room::veng0LookAnywhere },
-	{ {ACTION_LOOK, HOTSPOT_CREWMAN_1,     0, 0}, &Room::veng0LookAtDeadCrewman1 },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_CREWMAN_1, 0}, &Room::veng0UseMccoyOnLivingCrewman },
-	{ {ACTION_DONE_WALK, 3,                         0, 0}, &Room::veng0MccoyReachedCrewman },
-	{ {ACTION_DONE_ANIM, 1,                         0, 0}, &Room::veng0MccoyScannedCrewman },
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::veng0Tick1 },
+	{ {ACTION_TICK, 10, 0, 0, 0}, &Room::veng0Tick10 },
+	{ {ACTION_TICK, 50, 0, 0, 0}, &Room::veng0Tick50 },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng0TouchedDoor },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COMPUTER_BANK, 0, 0}, &Room::veng0UseSTricorderOnComputerBank },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CHAIR,         0, 0}, &Room::veng0UseSTricorderOnChair },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VIEWSCREEN,    0, 0}, &Room::veng0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_ISTRICOR, 0xff,                  0, 0}, &Room::veng0UseSTricorderAnywhere },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_BEAM,           0, 0}, &Room::veng0UseMccoyOnBeam },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_BEAM,           0, 0}, &Room::veng0UseSTricorderOnBeam },
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_BEAM,           0, 0}, &Room::veng0UseSTricorderOnBeam },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_BEAM,           0, 0}, &Room::veng0UseRedshirtOnBeam },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_HELM_CONSOLE,  0, 0}, &Room::veng0UseSpockOnConsole },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_NAV_CONSOLE,   0, 0}, &Room::veng0UseSpockOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_HELM_CONSOLE,  0, 0}, &Room::veng0UseSpockOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_NAV_CONSOLE,   0, 0}, &Room::veng0UseSpockOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_HELM_CONSOLE,  0, 0}, &Room::veng0UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_REDSHIRT, HOTSPOT_NAV_CONSOLE,   0, 0}, &Room::veng0UseRedshirtOnConsole },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_BEAM,           0, 0}, &Room::veng0UsePhaserOnBeam },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_BEAM,           0, 0}, &Room::veng0UsePhaserOnBeam },
+
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_PATTERSON, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_2, 0, 0}, &Room::veng0UseMccoyOnDeadCrewman },
+
+	{ {ACTION_USE, OBJECT_ILMD, OBJECT_BEAM, 0, 0}, &Room::veng0UseSawOnBeam },
+	{ {ACTION_DONE_WALK, 1,               0, 0, 0}, &Room::veng0KirkReachedSaw },
+	{ {ACTION_TIMER_EXPIRED, 0,           0, 0, 0}, &Room::veng0Timer0Expired },
+	{ {ACTION_DONE_ANIM, 2,               0, 0, 0}, &Room::veng0DoneCuttingBeam },
+
+	{ {ACTION_GET,  OBJECT_BEAM,           0, 0, 0}, &Room::veng0GetBeam },
+	{ {ACTION_TALK, OBJECT_KIRK,           0, 0, 0}, &Room::veng0TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY,          0, 0, 0}, &Room::veng0TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,          0, 0, 0}, &Room::veng0TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,       0, 0, 0}, &Room::veng0TalkToRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_PATTERSON,     0, 0, 0}, &Room::veng0LookAtPatterson },
+	{ {ACTION_LOOK, HOTSPOT_CREWMAN_2,     0, 0, 0}, &Room::veng0LookAtDeadCrewman2 },
+	{ {ACTION_LOOK, HOTSPOT_COMPUTER_BANK, 0, 0, 0}, &Room::veng0LookAtComputerBank },
+	{ {ACTION_LOOK, HOTSPOT_CHAIR,         0, 0, 0}, &Room::veng0LookAtChair },
+	{ {ACTION_LOOK, OBJECT_KIRK,           0, 0, 0}, &Room::veng0LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,          0, 0, 0}, &Room::veng0LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,          0, 0, 0}, &Room::veng0LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,       0, 0, 0}, &Room::veng0LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_VIEWSCREEN,    0, 0, 0}, &Room::veng0LookAtViewscreen },
+	{ {ACTION_LOOK, HOTSPOT_HELM_CONSOLE,  0, 0, 0}, &Room::veng0LookAtHelmConsole },
+	{ {ACTION_LOOK, HOTSPOT_NAV_CONSOLE,   0, 0, 0}, &Room::veng0LookAtNavConsole },
+	{ {ACTION_LOOK, OBJECT_BEAM,           0, 0, 0}, &Room::veng0LookAtBeam },
+	{ {ACTION_LOOK, 0xff,                  0, 0, 0}, &Room::veng0LookAnywhere },
+	{ {ACTION_LOOK, HOTSPOT_CREWMAN_1,     0, 0, 0}, &Room::veng0LookAtDeadCrewman1 },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_CREWMAN_1, 0, 0}, &Room::veng0UseMccoyOnLivingCrewman },
+	{ {ACTION_DONE_WALK, 3,                         0, 0, 0}, &Room::veng0MccoyReachedCrewman },
+	{ {ACTION_DONE_ANIM, 1,                         0, 0, 0}, &Room::veng0MccoyScannedCrewman },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng0TextIds {
diff --git a/engines/startrek/rooms/veng1.cpp b/engines/startrek/rooms/veng1.cpp
index 10eb9ca51db..390e34e6183 100644
--- a/engines/startrek/rooms/veng1.cpp
+++ b/engines/startrek/rooms/veng1.cpp
@@ -40,91 +40,91 @@
 namespace StarTrek {
 
 extern const RoomAction veng1ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::veng1Tick1 },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng1WalkToDoor },
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::veng1WalkToDoor },
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng1TouchedHotspot0 },
-	{ {ACTION_DONE_WALK, 2,       0, 0}, &Room::veng1ReachedDoor },
-	{ {ACTION_DONE_ANIM, 1,       0, 0}, &Room::veng1ReachedDoor },
-	{ {ACTION_TOUCHED_WARP, 1,    0, 0}, &Room::veng1TouchedTurbolift },
-
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0}, &Room::veng1LookAtDeadGuy },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VENT, 0}, &Room::veng1UseSTricorderOnVent },
-	{ {ACTION_LOOK, HOTSPOT_VENT,              0, 0}, &Room::veng1UseSTricorderOnVent },
-
-	{ {ACTION_LOOK, OBJECT_PANEL,   0, 0}, &Room::veng1LookAtPanel },
-	{ {ACTION_LOOK, HOTSPOT_PANEL,  0, 0}, &Room::veng1LookAtPanel },
-	{ {ACTION_LOOK, OBJECT_DOOR,    0, 0}, &Room::veng1LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,   0, 0}, &Room::veng1LookAtDoor },
-	{ {ACTION_LOOK, OBJECT_SAW,     0, 0}, &Room::veng1LookAtSaw },
-	{ {ACTION_LOOK, OBJECT_DEBRIS,  0, 0}, &Room::veng1LookAtDebris },
-	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0}, &Room::veng1LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0}, &Room::veng1LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0}, &Room::veng1LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0}, &Room::veng1LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff,            0, 0}, &Room::veng1LookAnywhere },
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::veng1TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::veng1TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::veng1TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng1TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR,   0}, &Room::veng1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR,  0}, &Room::veng1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR,   0}, &Room::veng1UsePhaserOnDoor },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR,  0}, &Room::veng1UsePhaserOnDoor },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_PANEL,  0}, &Room::veng1UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_PANEL,  0}, &Room::veng1UsePhaserOnPanel }, // BUGFIX: IPHASERK, not IPHASERS again
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0}, &Room::veng1UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0}, &Room::veng1UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0}, &Room::veng1UsePhaserOnPanel },
-	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0}, &Room::veng1UsePhaserOnPanel },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SAW,    0}, &Room::veng1UseSTricorderOnSaw },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,  0}, &Room::veng1UseSTricorderOnDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR,   0}, &Room::veng1UseSTricorderOnDoor },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_PANEL,  0}, &Room::veng1UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0}, &Room::veng1UseSTricorderOnPanel },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0}, &Room::veng1UseSTricorderOnPanel },
-
-	{ {ACTION_GET, OBJECT_PANEL,           0, 0}, &Room::veng1GetPanel },
-	{ {ACTION_USE, OBJECT_KIRK, OBJECT_PANEL, 0}, &Room::veng1GetPanel },
-	{ {ACTION_DONE_WALK, 9,                0, 0}, &Room::veng1KirkReachedPanel },
-	{ {ACTION_DONE_ANIM, 10,               0, 0}, &Room::veng1KirkAccessedPanel },
-
-	{ {ACTION_USE, OBJECT_ILMD,   HOTSPOT_PANEL, 0}, &Room::veng1UseSawOnPanel },
-	{ {ACTION_USE, OBJECT_ILMD,   OBJECT_DOOR,   0}, &Room::veng1UseSawOnDoor },
-	{ {ACTION_USE, OBJECT_ILMD,   HOTSPOT_DOOR,  0}, &Room::veng1UseSawOnDoor },
-	{ {ACTION_USE, OBJECT_IDRILL, OBJECT_DEBRIS, 0}, &Room::veng1UseDrillOnDebris },
-	{ {ACTION_USE, OBJECT_ILMD,   OBJECT_DEBRIS, 0}, &Room::veng1UseSawOnDebris },
-
-	{ {ACTION_USE, OBJECT_IDRILL, OBJECT_PANEL,  0}, &Room::veng1UseDrillOnPanel },
-	{ {ACTION_DONE_WALK, 5,                   0, 0}, &Room::veng1KirkReachedPanelToDrill },
-	{ {ACTION_DONE_ANIM, 6,                   0, 0}, &Room::veng1KirkDoneDrillingPanel },
-	{ {ACTION_USE, OBJECT_IHYPO, OBJECT_DEBRIS,  0}, &Room::veng1UseHypoOnDebris },
-	{ {ACTION_DONE_WALK, 7,                   0, 0}, &Room::veng1KirkReachedDebris },
-	{ {ACTION_DONE_ANIM, 8,                   0, 0}, &Room::veng1KirkUsedHypoOnDebris },
-
-	{ {ACTION_GET, OBJECT_SAW, 0, 0}, &Room::veng1GetSaw },
-	{ {ACTION_DONE_WALK, 3,    0, 0}, &Room::veng1ReachedSaw },
-	{ {ACTION_DONE_ANIM, 4,    0, 0}, &Room::veng1PickedUpSaw },
-	{ {ACTION_GET, OBJECT_DEBRIS, 0, 0}, &Room::veng1GetDebris },
-	{ {ACTION_DONE_WALK, 11,      0, 0}, &Room::veng1ReachedDebrisToGet },
-	{ {ACTION_DONE_ANIM, 12,      0, 0}, &Room::veng1TriedToGetDebris },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::veng1Tick1 },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng1WalkToDoor },
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::veng1WalkToDoor },
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng1TouchedHotspot0 },
+	{ {ACTION_DONE_WALK, 2,       0, 0, 0}, &Room::veng1ReachedDoor },
+	{ {ACTION_DONE_ANIM, 1,       0, 0, 0}, &Room::veng1ReachedDoor },
+	{ {ACTION_TOUCHED_WARP, 1,    0, 0, 0}, &Room::veng1TouchedTurbolift },
+
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY, 0, 0, 0}, &Room::veng1LookAtDeadGuy },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_VENT, 0, 0}, &Room::veng1UseSTricorderOnVent },
+	{ {ACTION_LOOK, HOTSPOT_VENT,              0, 0, 0}, &Room::veng1UseSTricorderOnVent },
+
+	{ {ACTION_LOOK, OBJECT_PANEL,   0, 0, 0}, &Room::veng1LookAtPanel },
+	{ {ACTION_LOOK, HOTSPOT_PANEL,  0, 0, 0}, &Room::veng1LookAtPanel },
+	{ {ACTION_LOOK, OBJECT_DOOR,    0, 0, 0}, &Room::veng1LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,   0, 0, 0}, &Room::veng1LookAtDoor },
+	{ {ACTION_LOOK, OBJECT_SAW,     0, 0, 0}, &Room::veng1LookAtSaw },
+	{ {ACTION_LOOK, OBJECT_DEBRIS,  0, 0, 0}, &Room::veng1LookAtDebris },
+	{ {ACTION_LOOK, OBJECT_KIRK,     0, 0, 0}, &Room::veng1LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY,    0, 0, 0}, &Room::veng1LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK,    0, 0, 0}, &Room::veng1LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng1LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff,            0, 0, 0}, &Room::veng1LookAnywhere },
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::veng1TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::veng1TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::veng1TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng1TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DOOR,   0, 0}, &Room::veng1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_DOOR,  0, 0}, &Room::veng1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DOOR,   0, 0}, &Room::veng1UsePhaserOnDoor },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_DOOR,  0, 0}, &Room::veng1UsePhaserOnDoor },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_PANEL,  0, 0}, &Room::veng1UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_PANEL,  0, 0}, &Room::veng1UsePhaserOnPanel }, // BUGFIX: IPHASERK, not IPHASERS again
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0, 0}, &Room::veng1UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0, 0}, &Room::veng1UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERS, HOTSPOT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel },
+	{ {ACTION_USE, OBJECT_IPHASERK, HOTSPOT_PANEL, 0, 0}, &Room::veng1UsePhaserOnPanel },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SAW,    0, 0}, &Room::veng1UseSTricorderOnSaw },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DOOR,  0, 0}, &Room::veng1UseSTricorderOnDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DOOR,   0, 0}, &Room::veng1UseSTricorderOnDoor },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_PANEL,  0, 0}, &Room::veng1UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseSTricorderOnPanel },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_PANEL, 0, 0}, &Room::veng1UseSTricorderOnPanel },
+
+	{ {ACTION_GET, OBJECT_PANEL,           0, 0, 0}, &Room::veng1GetPanel },
+	{ {ACTION_USE, OBJECT_KIRK, OBJECT_PANEL, 0, 0}, &Room::veng1GetPanel },
+	{ {ACTION_DONE_WALK, 9,                0, 0, 0}, &Room::veng1KirkReachedPanel },
+	{ {ACTION_DONE_ANIM, 10,               0, 0, 0}, &Room::veng1KirkAccessedPanel },
+
+	{ {ACTION_USE, OBJECT_ILMD,   HOTSPOT_PANEL, 0, 0}, &Room::veng1UseSawOnPanel },
+	{ {ACTION_USE, OBJECT_ILMD,   OBJECT_DOOR,   0, 0}, &Room::veng1UseSawOnDoor },
+	{ {ACTION_USE, OBJECT_ILMD,   HOTSPOT_DOOR,  0, 0}, &Room::veng1UseSawOnDoor },
+	{ {ACTION_USE, OBJECT_IDRILL, OBJECT_DEBRIS, 0, 0}, &Room::veng1UseDrillOnDebris },
+	{ {ACTION_USE, OBJECT_ILMD,   OBJECT_DEBRIS, 0, 0}, &Room::veng1UseSawOnDebris },
+
+	{ {ACTION_USE, OBJECT_IDRILL, OBJECT_PANEL,  0, 0}, &Room::veng1UseDrillOnPanel },
+	{ {ACTION_DONE_WALK, 5,                   0, 0, 0}, &Room::veng1KirkReachedPanelToDrill },
+	{ {ACTION_DONE_ANIM, 6,                   0, 0, 0}, &Room::veng1KirkDoneDrillingPanel },
+	{ {ACTION_USE, OBJECT_IHYPO, OBJECT_DEBRIS,  0, 0}, &Room::veng1UseHypoOnDebris },
+	{ {ACTION_DONE_WALK, 7,                   0, 0, 0}, &Room::veng1KirkReachedDebris },
+	{ {ACTION_DONE_ANIM, 8,                   0, 0, 0}, &Room::veng1KirkUsedHypoOnDebris },
+
+	{ {ACTION_GET, OBJECT_SAW, 0, 0, 0}, &Room::veng1GetSaw },
+	{ {ACTION_DONE_WALK, 3,    0, 0, 0}, &Room::veng1ReachedSaw },
+	{ {ACTION_DONE_ANIM, 4,    0, 0, 0}, &Room::veng1PickedUpSaw },
+	{ {ACTION_GET, OBJECT_DEBRIS, 0, 0, 0}, &Room::veng1GetDebris },
+	{ {ACTION_DONE_WALK, 11,      0, 0, 0}, &Room::veng1ReachedDebrisToGet },
+	{ {ACTION_DONE_ANIM, 12,      0, 0, 0}, &Room::veng1TriedToGetDebris },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng1TextIds {
diff --git a/engines/startrek/rooms/veng2.cpp b/engines/startrek/rooms/veng2.cpp
index 98b62548fcd..47585b9c7e2 100644
--- a/engines/startrek/rooms/veng2.cpp
+++ b/engines/startrek/rooms/veng2.cpp
@@ -60,125 +60,125 @@
 namespace StarTrek {
 
 extern const RoomAction veng2ActionList[] = {
-	{ {ACTION_TICK,          1, 0, 0}, &Room::veng2Tick1 },
-	{ {ACTION_TIMER_EXPIRED, 0, 0, 0}, &Room::veng2Timer0Expired },
-	{ {ACTION_TICK,         40, 0, 0}, &Room::veng2Timer0Expired },
-	{ {ACTION_DONE_ANIM,     5, 0, 0}, &Room::veng2ElasiShipDecloaked },
-	{ {ACTION_TIMER_EXPIRED, 2, 0, 0}, &Room::veng2Timer2Expired },
-	{ {ACTION_TOUCHED_WARP,  1, 0, 0}, &Room::veng2TouchedDoor },
-
-	{ {ACTION_LOOK, OBJECT_VIEWSCREEN,         0, 0}, &Room::veng2LookAtViewscreen },
-	{ {ACTION_LOOK, HOTSPOT_VIEWSCREEN,        0, 0}, &Room::veng2LookAtViewscreen },
-	{ {ACTION_LOOK, OBJECT_MIDDLE_CONSOLE,     0, 0}, &Room::veng2LookAtMiddleConsole },
-	{ {ACTION_LOOK, HOTSPOT_MIDDLE_CONSOLE,    0, 0}, &Room::veng2LookAtMiddleConsole },
-	{ {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_1,   0, 0}, &Room::veng2LookAtDamageDisplay },
-	{ {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_2,   0, 0}, &Room::veng2LookAtDamageDisplay },
-	{ {ACTION_LOOK, HOTSPOT_DAMAGE_DISPLAY,    0, 0}, &Room::veng2LookAtDamageDisplay },
-	{ {ACTION_LOOK, OBJECT_STRICORDER,         0, 0}, &Room::veng2LookAtSTricorder },
-	{ {ACTION_LOOK, OBJECT_MTRICORDER,         0, 0}, &Room::veng2LookAtMTricorder },
-	{ {ACTION_LOOK, OBJECT_TORPEDO_BUTTON,     0, 0}, &Room::veng2LookAtTorpedoButton },
-	{ {ACTION_LOOK, HOTSPOT_TORPEDO_BUTTON,    0, 0}, &Room::veng2LookAtTorpedoButton },
-	{ {ACTION_LOOK, HOTSPOT_TORPEDO_CONTROL,   0, 0}, &Room::veng2LookAtTorpedoControl },
-	{ {ACTION_LOOK, OBJECT_IMPULSE_CONSOLE,    0, 0}, &Room::veng2LookAtImpulseConsole },
-	{ {ACTION_LOOK, HOTSPOT_IMPULSE_CONSOLE,   0, 0}, &Room::veng2LookAtImpulseConsole },
-	{ {ACTION_LOOK, OBJECT_MAIN_COMPUTER,      0, 0}, &Room::veng2LookAtMainComputer },
-	{ {ACTION_LOOK, HOTSPOT_MAIN_COMPUTER,     0, 0}, &Room::veng2LookAtMainComputer },
-	{ {ACTION_LOOK, OBJECT_DECK,               0, 0}, &Room::veng2LookAtRecordDeck },
-	{ {ACTION_LOOK, OBJECT_DECK_IO_CONSOLE,    0, 0}, &Room::veng2LookAtDeckIOConsole },
-	{ {ACTION_LOOK, HOTSPOT_DECK_IO_CONSOLE,   0, 0}, &Room::veng2LookAtDeckIOConsole },
-	{ {ACTION_LOOK, HOTSPOT_DECK_IO_SLOT,      0, 0}, &Room::veng2LookAtDeckIOConsole },
-	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0}, &Room::veng2LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0}, &Room::veng2LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0}, &Room::veng2LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0}, &Room::veng2LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff,                      0, 0}, &Room::veng2LookAnywhere },
-	{ {ACTION_TALK, OBJECT_KIRK,               0, 0}, &Room::veng2TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0}, &Room::veng2TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0}, &Room::veng2TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0}, &Room::veng2TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_ITECH, OBJECT_DECK_IO_CONSOLE,   0}, &Room::veng2UseTechJournalOnDeckIOConsole },
-	{ {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_CONSOLE,  0}, &Room::veng2UseTechJournalOnDeckIOConsole },
-	{ {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_SLOT,     0}, &Room::veng2UseTechJournalOnDeckIOConsole },
-	{ {ACTION_DONE_WALK, 22,                            0, 0}, &Room::veng2ReachedDeckIOWithTechJournal },
-	{ {ACTION_DONE_ANIM, 23,                            0, 0}, &Room::veng2DoneReadingTechJournal },
-	{ {ACTION_USE, OBJECT_IDECK, OBJECT_DECK_IO_CONSOLE,   0}, &Room::veng2UseLogOnDeckIOConsole },
-	{ {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_CONSOLE,  0}, &Room::veng2UseLogOnDeckIOConsole },
-	{ {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_SLOT,     0}, &Room::veng2UseLogOnDeckIOConsole },
-	{ {ACTION_DONE_WALK, 24,                            0, 0}, &Room::veng2ReachedDeckIOWithLog },
-	{ {ACTION_DONE_ANIM, 25,                            0, 0}, &Room::veng2LoadedLog },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK,              0}, &Room::veng2UseCommunicator },
-
-	{ {ACTION_USE, OBJECT_KIRK, OBJECT_TORPEDO_BUTTON,     0}, &Room::veng2UseKirkOnTorpedoButton },
-	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_BUTTON,    0}, &Room::veng2UseKirkOnTorpedoButton },
-	{ {ACTION_DONE_WALK, 18,                            0, 0}, &Room::veng2UseKirkReachedTorpedoButton },
-	{ {ACTION_DONE_ANIM, 19,                            0, 0}, &Room::veng2KirkFiredTorpedo },
-	{ {ACTION_DONE_ANIM, 7,                             0, 0}, &Room::veng2TorpedoStruckElasiShip },
-	{ {ACTION_DONE_ANIM, 6,                             0, 0}, &Room::veng2ElasiRetreated },
-	{ {ACTION_DONE_WALK, 1,                             0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
-	{ {ACTION_DONE_WALK, 2,                             0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
-	{ {ACTION_DONE_WALK, 3,                             0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
-	{ {ACTION_DONE_WALK, 4,                             0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_TORPEDO_BUTTON,   0}, &Room::veng2UseSTricorderOnTorpedoButton }, // FIXME: hotspots?
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MIDDLE_CONSOLE,   0}, &Room::veng2UseSTricorderOnMiddleConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_CONSOLE,  0}, &Room::veng2UseSTricorderOnMiddleConsole },
-
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_TORPEDO_CONTROL, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
-
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_IMPULSE_CONSOLE,  0}, &Room::veng2UseImpulseConsole },
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_IMPULSE_CONSOLE,  0}, &Room::veng2UseImpulseConsole },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseImpulseConsole },
-	{ {ACTION_DONE_WALK, 20,                              0, 0}, &Room::veng2SpockReachedImpulseConsole },
-	{ {ACTION_DONE_ANIM, 21,                              0, 0}, &Room::veng2SpockUsedImpulseConsole },
-
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_MAIN_COMPUTER,  0}, &Room::veng2UseMainComputer },
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_MAIN_COMPUTER,  0}, &Room::veng2UseMainComputer },
-	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
-	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMainComputer },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MAIN_COMPUTER,  0}, &Room::veng2UseSTricorderOnMainComputer },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseSTricorderOnMainComputer },
-	{ {ACTION_DONE_WALK, 10,                            0, 0}, &Room::veng2SpockReachedMainComputerToPutTricorder },
-	{ {ACTION_DONE_ANIM, 11,                            0, 0}, &Room::veng2AttachedSTricorderToComputer },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MAIN_COMPUTER,  0}, &Room::veng2UseMTricorderOnMainComputer },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseMTricorderOnMainComputer },
-	{ {ACTION_DONE_WALK, 12,                            0, 0}, &Room::veng2MccoyReachedMainComputerToPutTricorder },
-	{ {ACTION_DONE_ANIM, 13,                            0, 0}, &Room::veng2AttachedMTricorderToComputer },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DECK_IO_CONSOLE, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_SLOT,   0}, &Room::veng2UseSTricorderOnDeckIOConsole },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_CONSOLE,  0}, &Room::veng2UseSTricorderOnImpulseConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_CONSOLE, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
-	{ {ACTION_USE, OBJECT_IFUSION, HOTSPOT_MAIN_COMPUTER, 0}, &Room::veng2UseFusionPackOnMainComputer },
-	{ {ACTION_USE, OBJECT_IFUSION, OBJECT_MAIN_COMPUTER,  0}, &Room::veng2UseFusionPackOnMainComputer },
-
-	{ {ACTION_GET, OBJECT_DECK, 0, 0}, &Room::veng2GetLogDeck },
-	{ {ACTION_DONE_WALK, 8,     0, 0}, &Room::veng2ReachedLogDeck },
-	{ {ACTION_DONE_ANIM, 9,     0, 0}, &Room::veng2PickedUpLogDeck },
-
-	{ {ACTION_GET, OBJECT_STRICORDER, 0, 0}, &Room::veng2GetSTricorder },
-	{ {ACTION_DONE_WALK, 14,          0, 0}, &Room::veng2ReachedSTricorderToGet },
-	{ {ACTION_DONE_ANIM, 15,          0, 0}, &Room::veng2PickedUpSTricorder },
-	{ {ACTION_GET, OBJECT_MTRICORDER, 0, 0}, &Room::veng2GetMTricorder },
-	{ {ACTION_DONE_WALK, 16,          0, 0}, &Room::veng2ReachedMTricorderToGet },
-	{ {ACTION_DONE_ANIM, 17,          0, 0}, &Room::veng2PickedUpMTricorder },
+	{ {ACTION_TICK,          1, 0, 0, 0}, &Room::veng2Tick1 },
+	{ {ACTION_TIMER_EXPIRED, 0, 0, 0, 0}, &Room::veng2Timer0Expired },
+	{ {ACTION_TICK,         40, 0, 0, 0}, &Room::veng2Timer0Expired },
+	{ {ACTION_DONE_ANIM,     5, 0, 0, 0}, &Room::veng2ElasiShipDecloaked },
+	{ {ACTION_TIMER_EXPIRED, 2, 0, 0, 0}, &Room::veng2Timer2Expired },
+	{ {ACTION_TOUCHED_WARP,  1, 0, 0, 0}, &Room::veng2TouchedDoor },
+
+	{ {ACTION_LOOK, OBJECT_VIEWSCREEN,         0, 0, 0}, &Room::veng2LookAtViewscreen },
+	{ {ACTION_LOOK, HOTSPOT_VIEWSCREEN,        0, 0, 0}, &Room::veng2LookAtViewscreen },
+	{ {ACTION_LOOK, OBJECT_MIDDLE_CONSOLE,     0, 0, 0}, &Room::veng2LookAtMiddleConsole },
+	{ {ACTION_LOOK, HOTSPOT_MIDDLE_CONSOLE,    0, 0, 0}, &Room::veng2LookAtMiddleConsole },
+	{ {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_1,   0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+	{ {ACTION_LOOK, OBJECT_DAMAGE_DISPLAY_2,   0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+	{ {ACTION_LOOK, HOTSPOT_DAMAGE_DISPLAY,    0, 0, 0}, &Room::veng2LookAtDamageDisplay },
+	{ {ACTION_LOOK, OBJECT_STRICORDER,         0, 0, 0}, &Room::veng2LookAtSTricorder },
+	{ {ACTION_LOOK, OBJECT_MTRICORDER,         0, 0, 0}, &Room::veng2LookAtMTricorder },
+	{ {ACTION_LOOK, OBJECT_TORPEDO_BUTTON,     0, 0, 0}, &Room::veng2LookAtTorpedoButton },
+	{ {ACTION_LOOK, HOTSPOT_TORPEDO_BUTTON,    0, 0, 0}, &Room::veng2LookAtTorpedoButton },
+	{ {ACTION_LOOK, HOTSPOT_TORPEDO_CONTROL,   0, 0, 0}, &Room::veng2LookAtTorpedoControl },
+	{ {ACTION_LOOK, OBJECT_IMPULSE_CONSOLE,    0, 0, 0}, &Room::veng2LookAtImpulseConsole },
+	{ {ACTION_LOOK, HOTSPOT_IMPULSE_CONSOLE,   0, 0, 0}, &Room::veng2LookAtImpulseConsole },
+	{ {ACTION_LOOK, OBJECT_MAIN_COMPUTER,      0, 0, 0}, &Room::veng2LookAtMainComputer },
+	{ {ACTION_LOOK, HOTSPOT_MAIN_COMPUTER,     0, 0, 0}, &Room::veng2LookAtMainComputer },
+	{ {ACTION_LOOK, OBJECT_DECK,               0, 0, 0}, &Room::veng2LookAtRecordDeck },
+	{ {ACTION_LOOK, OBJECT_DECK_IO_CONSOLE,    0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+	{ {ACTION_LOOK, HOTSPOT_DECK_IO_CONSOLE,   0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+	{ {ACTION_LOOK, HOTSPOT_DECK_IO_SLOT,      0, 0, 0}, &Room::veng2LookAtDeckIOConsole },
+	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0, 0}, &Room::veng2LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng2LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng2LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng2LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff,                      0, 0, 0}, &Room::veng2LookAnywhere },
+	{ {ACTION_TALK, OBJECT_KIRK,               0, 0, 0}, &Room::veng2TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng2TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng2TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng2TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_ITECH, OBJECT_DECK_IO_CONSOLE,   0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+	{ {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_CONSOLE,  0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+	{ {ACTION_USE, OBJECT_ITECH, HOTSPOT_DECK_IO_SLOT,     0, 0}, &Room::veng2UseTechJournalOnDeckIOConsole },
+	{ {ACTION_DONE_WALK, 22,                            0, 0, 0}, &Room::veng2ReachedDeckIOWithTechJournal },
+	{ {ACTION_DONE_ANIM, 23,                            0, 0, 0}, &Room::veng2DoneReadingTechJournal },
+	{ {ACTION_USE, OBJECT_IDECK, OBJECT_DECK_IO_CONSOLE,   0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+	{ {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_CONSOLE,  0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+	{ {ACTION_USE, OBJECT_IDECK, HOTSPOT_DECK_IO_SLOT,     0, 0}, &Room::veng2UseLogOnDeckIOConsole },
+	{ {ACTION_DONE_WALK, 24,                            0, 0, 0}, &Room::veng2ReachedDeckIOWithLog },
+	{ {ACTION_DONE_ANIM, 25,                            0, 0, 0}, &Room::veng2LoadedLog },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK,              0, 0}, &Room::veng2UseCommunicator },
+
+	{ {ACTION_USE, OBJECT_KIRK, OBJECT_TORPEDO_BUTTON,     0, 0}, &Room::veng2UseKirkOnTorpedoButton },
+	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_BUTTON,    0, 0}, &Room::veng2UseKirkOnTorpedoButton },
+	{ {ACTION_DONE_WALK, 18,                            0, 0, 0}, &Room::veng2UseKirkReachedTorpedoButton },
+	{ {ACTION_DONE_ANIM, 19,                            0, 0, 0}, &Room::veng2KirkFiredTorpedo },
+	{ {ACTION_DONE_ANIM, 7,                             0, 0, 0}, &Room::veng2TorpedoStruckElasiShip },
+	{ {ACTION_DONE_ANIM, 6,                             0, 0, 0}, &Room::veng2ElasiRetreated },
+	{ {ACTION_DONE_WALK, 1,                             0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+	{ {ACTION_DONE_WALK, 2,                             0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+	{ {ACTION_DONE_WALK, 3,                             0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+	{ {ACTION_DONE_WALK, 4,                             0, 0, 0}, &Room::veng2CrewmanInPositionToBeamOut },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_TORPEDO_BUTTON,   0, 0}, &Room::veng2UseSTricorderOnTorpedoButton }, // FIXME: hotspots?
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MIDDLE_CONSOLE,   0, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MIDDLE_CONSOLE,  0, 0}, &Room::veng2UseSTricorderOnMiddleConsole },
+
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_TORPEDO_CONTROL, 0, 0}, &Room::veng2UseSTricorderOnTorpedoControl },
+
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_IMPULSE_CONSOLE,  0, 0}, &Room::veng2UseImpulseConsole },
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_IMPULSE_CONSOLE,  0, 0}, &Room::veng2UseImpulseConsole },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseImpulseConsole },
+	{ {ACTION_DONE_WALK, 20,                              0, 0, 0}, &Room::veng2SpockReachedImpulseConsole },
+	{ {ACTION_DONE_ANIM, 21,                              0, 0, 0}, &Room::veng2SpockUsedImpulseConsole },
+
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_MAIN_COMPUTER,  0, 0}, &Room::veng2UseMainComputer },
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_MAIN_COMPUTER,  0, 0}, &Room::veng2UseMainComputer },
+	{ {ACTION_USE, OBJECT_KIRK,     HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+	{ {ACTION_USE, OBJECT_SPOCK,    HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMainComputer },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_MAIN_COMPUTER,  0, 0}, &Room::veng2UseSTricorderOnMainComputer },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseSTricorderOnMainComputer },
+	{ {ACTION_DONE_WALK, 10,                            0, 0, 0}, &Room::veng2SpockReachedMainComputerToPutTricorder },
+	{ {ACTION_DONE_ANIM, 11,                            0, 0, 0}, &Room::veng2AttachedSTricorderToComputer },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_MAIN_COMPUTER,  0, 0}, &Room::veng2UseMTricorderOnMainComputer },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseMTricorderOnMainComputer },
+	{ {ACTION_DONE_WALK, 12,                            0, 0, 0}, &Room::veng2MccoyReachedMainComputerToPutTricorder },
+	{ {ACTION_DONE_ANIM, 13,                            0, 0, 0}, &Room::veng2AttachedMTricorderToComputer },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_SLOT,   0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_CONSOLE,  0, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnImpulseConsole },
+	{ {ACTION_USE, OBJECT_IFUSION, HOTSPOT_MAIN_COMPUTER, 0, 0}, &Room::veng2UseFusionPackOnMainComputer },
+	{ {ACTION_USE, OBJECT_IFUSION, OBJECT_MAIN_COMPUTER,  0, 0}, &Room::veng2UseFusionPackOnMainComputer },
+
+	{ {ACTION_GET, OBJECT_DECK, 0, 0, 0}, &Room::veng2GetLogDeck },
+	{ {ACTION_DONE_WALK, 8,     0, 0, 0}, &Room::veng2ReachedLogDeck },
+	{ {ACTION_DONE_ANIM, 9,     0, 0, 0}, &Room::veng2PickedUpLogDeck },
+
+	{ {ACTION_GET, OBJECT_STRICORDER, 0, 0, 0}, &Room::veng2GetSTricorder },
+	{ {ACTION_DONE_WALK, 14,          0, 0, 0}, &Room::veng2ReachedSTricorderToGet },
+	{ {ACTION_DONE_ANIM, 15,          0, 0, 0}, &Room::veng2PickedUpSTricorder },
+	{ {ACTION_GET, OBJECT_MTRICORDER, 0, 0, 0}, &Room::veng2GetMTricorder },
+	{ {ACTION_DONE_WALK, 16,          0, 0, 0}, &Room::veng2ReachedMTricorderToGet },
+	{ {ACTION_DONE_ANIM, 17,          0, 0, 0}, &Room::veng2PickedUpMTricorder },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
 
 	// ENHANCEMENTs
-	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL,     0}, &Room::veng2UseKirkOnTorpedoButton },
+	{ {ACTION_USE, OBJECT_KIRK, HOTSPOT_TORPEDO_CONTROL,     0, 0}, &Room::veng2UseKirkOnTorpedoButton },
 	// TODO: uncomment
-//	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_CONSOLE, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+//	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_DECK_IO_CONSOLE, 0, 0}, &Room::veng2UseSTricorderOnDeckIOConsole },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng2TextIds {
diff --git a/engines/startrek/rooms/veng3.cpp b/engines/startrek/rooms/veng3.cpp
index b9e6e85c060..eed70b55fc6 100644
--- a/engines/startrek/rooms/veng3.cpp
+++ b/engines/startrek/rooms/veng3.cpp
@@ -34,72 +34,72 @@
 namespace StarTrek {
 
 extern const RoomAction veng3ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::veng3Tick1 },
-	{ {ACTION_TICK, 15, 0, 0}, &Room::veng3Tick15 },
-	{ {ACTION_TOUCHED_WARP, 0, 0, 0}, &Room::veng3TouchedTurbolift2 },
-	{ {ACTION_TOUCHED_WARP, 1, 0, 0}, &Room::veng3TouchedTurbolift1 },
-
-	{ {ACTION_WALK, OBJECT_DEBRIS,             0, 0}, &Room::veng3WalkToDoor },
-	{ {ACTION_WALK, HOTSPOT_TURBOLIFT_2_DOOR,  0, 0}, &Room::veng3WalkToDoor },
-	{ {ACTION_DONE_WALK, 2,                    0, 0}, &Room::veng3ReachedTurbolift2 },
-	{ {ACTION_DONE_ANIM, 1,                    0, 0}, &Room::veng3Turbolift2Opened },
-
-	{ {ACTION_WALK, OBJECT_SICKBAY_DOOR,  0, 0}, &Room::veng3WalkToSickbayDoor },
-	{ {ACTION_WALK, HOTSPOT_SICKBAY_DOOR, 0, 0}, &Room::veng3WalkToSickbayDoor },
-	{ {ACTION_DONE_WALK, 9,               0, 0}, &Room::veng3ReachedSickbayDoor },
-	{ {ACTION_DONE_ANIM, 10,              0, 0}, &Room::veng3SickbayDoorOpened },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SUPPORT_BEAM, 0}, &Room::veng3LookAtSupportBeam },
-	{ {ACTION_LOOK, OBJECT_SUPPORT_BEAM,              0, 0}, &Room::veng3LookAtSupportBeam },
-
-	{ {ACTION_LOOK, OBJECT_DEBRIS,             0, 0}, &Room::veng3LookAtDebris },
-	{ {ACTION_LOOK, HOTSPOT_TURBOLIFT_2_DOOR,  0, 0}, &Room::veng3LookAtTurbolift2Door },
-	{ {ACTION_LOOK, OBJECT_SICKBAY_DOOR,       0, 0}, &Room::veng3LookAtSickbayDoor },
-	{ {ACTION_LOOK, HOTSPOT_SICKBAY_DOOR,      0, 0}, &Room::veng3LookAtSickbayDoor },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CABLE, 0}, &Room::veng3LookAtCable },
-	{ {ACTION_LOOK, OBJECT_CABLE,              0, 0}, &Room::veng3LookAtCable },
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY,           0, 0}, &Room::veng3LookAtDeadGuy },
-	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0}, &Room::veng3LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0}, &Room::veng3LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0}, &Room::veng3LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0}, &Room::veng3LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff,                      0, 0}, &Room::veng3LookAnywhere },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0}, &Room::veng3UseStunPhaserOnDebris },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0}, &Room::veng3UseKillPhaserOnDebris },
-	{ {ACTION_DONE_WALK, 4,                     0, 0}, &Room::veng3ReachedPositionToShootDebris },
-	{ {ACTION_DONE_ANIM, 5,                     0, 0}, &Room::veng3DrewPhaserToShootDebris },
-	{ {ACTION_DONE_ANIM, 3,                     0, 0}, &Room::veng3DebrisVaporized },
-	{ {ACTION_DONE_ANIM, 6,                     0, 0}, &Room::veng3DebrisFellAgain },
-
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_DEBRIS,    0}, &Room::veng3UseSpockOnDebris },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_DEBRIS,    0}, &Room::veng3UseRedshirtOnDebris },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEBRIS,    0}, &Room::veng3UseMccoyOnDebris },
-	{ {ACTION_USE, OBJECT_IBEAM,    OBJECT_DEBRIS,    0}, &Room::veng3UseBeamOnDebris },
-	{ {ACTION_DONE_WALK, 7,                        0, 0}, &Room::veng3ReachedPositionToPlaceBeam },
-	{ {ACTION_DONE_ANIM, 8,                        0, 0}, &Room::veng3PlacedBeam },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS,    0}, &Room::veng3UseSTricorderOnDebris },
-	{ {ACTION_USE, OBJECT_ILMD,     OBJECT_DEBRIS,    0}, &Room::veng3UseMolecularSawOnDebris },
-
-	{ {ACTION_TALK, OBJECT_KIRK,               0, 0}, &Room::veng3TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0}, &Room::veng3TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0}, &Room::veng3TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0}, &Room::veng3TalkToRedshirt },
-	{ {ACTION_GET,  OBJECT_DEBRIS,             0, 0}, &Room::veng3GetDebris },
-	{ {ACTION_GET,  OBJECT_CABLE,              0, 0}, &Room::veng3GetCable },
-	{ {ACTION_DONE_WALK, 11,                   0, 0}, &Room::veng3ReachedCable },
-	{ {ACTION_DONE_ANIM, 12,                   0, 0}, &Room::veng3PickedUpCable },
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::veng3Tick1 },
+	{ {ACTION_TICK, 15, 0, 0, 0}, &Room::veng3Tick15 },
+	{ {ACTION_TOUCHED_WARP, 0, 0, 0, 0}, &Room::veng3TouchedTurbolift2 },
+	{ {ACTION_TOUCHED_WARP, 1, 0, 0, 0}, &Room::veng3TouchedTurbolift1 },
+
+	{ {ACTION_WALK, OBJECT_DEBRIS,             0, 0, 0}, &Room::veng3WalkToDoor },
+	{ {ACTION_WALK, HOTSPOT_TURBOLIFT_2_DOOR,  0, 0, 0}, &Room::veng3WalkToDoor },
+	{ {ACTION_DONE_WALK, 2,                    0, 0, 0}, &Room::veng3ReachedTurbolift2 },
+	{ {ACTION_DONE_ANIM, 1,                    0, 0, 0}, &Room::veng3Turbolift2Opened },
+
+	{ {ACTION_WALK, OBJECT_SICKBAY_DOOR,  0, 0, 0}, &Room::veng3WalkToSickbayDoor },
+	{ {ACTION_WALK, HOTSPOT_SICKBAY_DOOR, 0, 0, 0}, &Room::veng3WalkToSickbayDoor },
+	{ {ACTION_DONE_WALK, 9,               0, 0, 0}, &Room::veng3ReachedSickbayDoor },
+	{ {ACTION_DONE_ANIM, 10,              0, 0, 0}, &Room::veng3SickbayDoorOpened },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SUPPORT_BEAM, 0, 0}, &Room::veng3LookAtSupportBeam },
+	{ {ACTION_LOOK, OBJECT_SUPPORT_BEAM,              0, 0, 0}, &Room::veng3LookAtSupportBeam },
+
+	{ {ACTION_LOOK, OBJECT_DEBRIS,             0, 0, 0}, &Room::veng3LookAtDebris },
+	{ {ACTION_LOOK, HOTSPOT_TURBOLIFT_2_DOOR,  0, 0, 0}, &Room::veng3LookAtTurbolift2Door },
+	{ {ACTION_LOOK, OBJECT_SICKBAY_DOOR,       0, 0, 0}, &Room::veng3LookAtSickbayDoor },
+	{ {ACTION_LOOK, HOTSPOT_SICKBAY_DOOR,      0, 0, 0}, &Room::veng3LookAtSickbayDoor },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CABLE, 0, 0}, &Room::veng3LookAtCable },
+	{ {ACTION_LOOK, OBJECT_CABLE,              0, 0, 0}, &Room::veng3LookAtCable },
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY,           0, 0, 0}, &Room::veng3LookAtDeadGuy },
+	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0, 0}, &Room::veng3LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng3LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng3LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng3LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff,                      0, 0, 0}, &Room::veng3LookAnywhere },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseStunPhaserOnDebris },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS, 0, 0}, &Room::veng3UseKillPhaserOnDebris },
+	{ {ACTION_DONE_WALK, 4,                     0, 0, 0}, &Room::veng3ReachedPositionToShootDebris },
+	{ {ACTION_DONE_ANIM, 5,                     0, 0, 0}, &Room::veng3DrewPhaserToShootDebris },
+	{ {ACTION_DONE_ANIM, 3,                     0, 0, 0}, &Room::veng3DebrisVaporized },
+	{ {ACTION_DONE_ANIM, 6,                     0, 0, 0}, &Room::veng3DebrisFellAgain },
+
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_DEBRIS,    0, 0}, &Room::veng3UseSpockOnDebris },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_DEBRIS,    0, 0}, &Room::veng3UseRedshirtOnDebris },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEBRIS,    0, 0}, &Room::veng3UseMccoyOnDebris },
+	{ {ACTION_USE, OBJECT_IBEAM,    OBJECT_DEBRIS,    0, 0}, &Room::veng3UseBeamOnDebris },
+	{ {ACTION_DONE_WALK, 7,                        0, 0, 0}, &Room::veng3ReachedPositionToPlaceBeam },
+	{ {ACTION_DONE_ANIM, 8,                        0, 0, 0}, &Room::veng3PlacedBeam },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS,    0, 0}, &Room::veng3UseSTricorderOnDebris },
+	{ {ACTION_USE, OBJECT_ILMD,     OBJECT_DEBRIS,    0, 0}, &Room::veng3UseMolecularSawOnDebris },
+
+	{ {ACTION_TALK, OBJECT_KIRK,               0, 0, 0}, &Room::veng3TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng3TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng3TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng3TalkToRedshirt },
+	{ {ACTION_GET,  OBJECT_DEBRIS,             0, 0, 0}, &Room::veng3GetDebris },
+	{ {ACTION_GET,  OBJECT_CABLE,              0, 0, 0}, &Room::veng3GetCable },
+	{ {ACTION_DONE_WALK, 11,                   0, 0, 0}, &Room::veng3ReachedCable },
+	{ {ACTION_DONE_ANIM, 12,                   0, 0, 0}, &Room::veng3PickedUpCable },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng3TextIds {
diff --git a/engines/startrek/rooms/veng4.cpp b/engines/startrek/rooms/veng4.cpp
index 510aa89782e..976ecedf6bb 100644
--- a/engines/startrek/rooms/veng4.cpp
+++ b/engines/startrek/rooms/veng4.cpp
@@ -36,66 +36,66 @@
 namespace StarTrek {
 
 extern const RoomAction veng4ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::veng4Tick1 },
-
-	{ {ACTION_TALK, OBJECT_KIRK,     0, 0}, &Room::veng4TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0}, &Room::veng4TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0}, &Room::veng4TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0}, &Room::veng4TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_BED, 0}, &Room::veng4UseMccoyOnDeadGuy },
-
-	{ {ACTION_USE, OBJECT_IHYPO,    OBJECT_BRITTANY,   0}, &Room::veng4UseHypoOnBrittany },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_BRITTANY,   0}, &Room::veng4UseMedkitOnBrittany },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_BRITTANY,   0}, &Room::veng4UseMTricorderOnBrittany },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_BRITTANY,   0}, &Room::veng4UseMTricorderOnBrittany },
-	{ {ACTION_DONE_WALK, 5,                         0, 0}, &Room::veng4MccoyReachedBrittany },
-	{ {ACTION_DONE_ANIM, 6,                         0, 0}, &Room::veng4UsedMedkitOnBrittany },
-	{ {ACTION_DONE_ANIM, 7,                         0, 0}, &Room::veng4MccoyScannedBrittany },
-
-	{ {ACTION_TALK, OBJECT_BRITTANY,                0, 0}, &Room::veng4TalkToBrittany },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_BED,              0, 0}, &Room::veng4LookAtDeadGuy },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_READINGS,         0, 0}, &Room::veng4LookAtRightBedReadings },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,                   0, 0}, &Room::veng4LookAtDoorHotspot },
-	{ {ACTION_LOOK, OBJECT_KIRK,                    0, 0}, &Room::veng4LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,                   0, 0}, &Room::veng4LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,                   0, 0}, &Room::veng4LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,                0, 0}, &Room::veng4LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_LEFT_BED,               0, 0}, &Room::veng4LookAtLeftBed },
-	{ {ACTION_LOOK, HOTSPOT_LEFT_READINGS,          0, 0}, &Room::veng4LookAtLeftBedReadings },
-	{ {ACTION_LOOK, OBJECT_BRITTANY,                0, 0}, &Room::veng4LookAtBrittany },
-
-	{ {ACTION_USE,  OBJECT_ISTRICOR, OBJECT_DRILL, 0}, &Room::veng4LookAtDrill },
-	{ {ACTION_LOOK, OBJECT_DRILL,               0, 0}, &Room::veng4LookAtDrill },
-	{ {ACTION_USE,  OBJECT_ISTRICOR, OBJECT_HYPO,  0}, &Room::veng4LookAtHypoOnTable },
-	{ {ACTION_LOOK, OBJECT_HYPO,                0, 0}, &Room::veng4LookAtHypoOnTable },
-	{ {ACTION_LOOK, OBJECT_DOOR,                0, 0}, &Room::veng4LookAtDoorObject },
-	{ {ACTION_LOOK, 0xff,                       0, 0}, &Room::veng4LookAnywhere },
-
-	{ {ACTION_GET, OBJECT_HYPO,                 0, 0}, &Room::veng4GetHypo },
-	{ {ACTION_DONE_WALK, 1,                     0, 0}, &Room::veng4ReachedHypo },
-	{ {ACTION_DONE_ANIM, 2,                     0, 0}, &Room::veng4PickedUpHypo },
-
-	{ {ACTION_GET, OBJECT_DRILL,                0, 0}, &Room::veng4GetDrill },
-	{ {ACTION_DONE_WALK, 3,                     0, 0}, &Room::veng4ReachedDrill },
-	{ {ACTION_DONE_ANIM, 4,                     0, 0}, &Room::veng4PickedUpDrill },
-
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng4TouchedHotspot0 },
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::veng4WalkToDoor },
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng4WalkToDoor },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::veng4Tick1 },
+
+	{ {ACTION_TALK, OBJECT_KIRK,     0, 0, 0}, &Room::veng4TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY,    0, 0, 0}, &Room::veng4TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,    0, 0, 0}, &Room::veng4TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT, 0, 0, 0}, &Room::veng4TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_IMEDKIT,  HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    HOTSPOT_RIGHT_BED, 0, 0}, &Room::veng4UseMccoyOnDeadGuy },
+
+	{ {ACTION_USE, OBJECT_IHYPO,    OBJECT_BRITTANY,   0, 0}, &Room::veng4UseHypoOnBrittany },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_BRITTANY,   0, 0}, &Room::veng4UseMedkitOnBrittany },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_BRITTANY,   0, 0}, &Room::veng4UseMTricorderOnBrittany },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_BRITTANY,   0, 0}, &Room::veng4UseMTricorderOnBrittany },
+	{ {ACTION_DONE_WALK, 5,                         0, 0, 0}, &Room::veng4MccoyReachedBrittany },
+	{ {ACTION_DONE_ANIM, 6,                         0, 0, 0}, &Room::veng4UsedMedkitOnBrittany },
+	{ {ACTION_DONE_ANIM, 7,                         0, 0, 0}, &Room::veng4MccoyScannedBrittany },
+
+	{ {ACTION_TALK, OBJECT_BRITTANY,                0, 0, 0}, &Room::veng4TalkToBrittany },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_BED,              0, 0, 0}, &Room::veng4LookAtDeadGuy },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_READINGS,         0, 0, 0}, &Room::veng4LookAtRightBedReadings },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,                   0, 0, 0}, &Room::veng4LookAtDoorHotspot },
+	{ {ACTION_LOOK, OBJECT_KIRK,                    0, 0, 0}, &Room::veng4LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,                   0, 0, 0}, &Room::veng4LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,                   0, 0, 0}, &Room::veng4LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,                0, 0, 0}, &Room::veng4LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_LEFT_BED,               0, 0, 0}, &Room::veng4LookAtLeftBed },
+	{ {ACTION_LOOK, HOTSPOT_LEFT_READINGS,          0, 0, 0}, &Room::veng4LookAtLeftBedReadings },
+	{ {ACTION_LOOK, OBJECT_BRITTANY,                0, 0, 0}, &Room::veng4LookAtBrittany },
+
+	{ {ACTION_USE,  OBJECT_ISTRICOR, OBJECT_DRILL, 0, 0}, &Room::veng4LookAtDrill },
+	{ {ACTION_LOOK, OBJECT_DRILL,               0, 0, 0}, &Room::veng4LookAtDrill },
+	{ {ACTION_USE,  OBJECT_ISTRICOR, OBJECT_HYPO,  0, 0}, &Room::veng4LookAtHypoOnTable },
+	{ {ACTION_LOOK, OBJECT_HYPO,                0, 0, 0}, &Room::veng4LookAtHypoOnTable },
+	{ {ACTION_LOOK, OBJECT_DOOR,                0, 0, 0}, &Room::veng4LookAtDoorObject },
+	{ {ACTION_LOOK, 0xff,                       0, 0, 0}, &Room::veng4LookAnywhere },
+
+	{ {ACTION_GET, OBJECT_HYPO,                 0, 0, 0}, &Room::veng4GetHypo },
+	{ {ACTION_DONE_WALK, 1,                     0, 0, 0}, &Room::veng4ReachedHypo },
+	{ {ACTION_DONE_ANIM, 2,                     0, 0, 0}, &Room::veng4PickedUpHypo },
+
+	{ {ACTION_GET, OBJECT_DRILL,                0, 0, 0}, &Room::veng4GetDrill },
+	{ {ACTION_DONE_WALK, 3,                     0, 0, 0}, &Room::veng4ReachedDrill },
+	{ {ACTION_DONE_ANIM, 4,                     0, 0, 0}, &Room::veng4PickedUpDrill },
+
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng4TouchedHotspot0 },
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::veng4WalkToDoor },
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng4WalkToDoor },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
 
 	// ENHANCEMENT (let object count for the "look" action, not just the hotspot)
-	{ {ACTION_LOOK, OBJECT_LEFT_READINGS, 0, 0}, &Room::veng4LookAtLeftBedReadings },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_LOOK, OBJECT_LEFT_READINGS, 0, 0, 0}, &Room::veng4LookAtLeftBedReadings },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng4TextIds {
diff --git a/engines/startrek/rooms/veng5.cpp b/engines/startrek/rooms/veng5.cpp
index 72f404948d6..b4094eac5ec 100644
--- a/engines/startrek/rooms/veng5.cpp
+++ b/engines/startrek/rooms/veng5.cpp
@@ -32,60 +32,60 @@
 namespace StarTrek {
 
 extern const RoomAction veng5ActionList[] = {
-	{ {ACTION_TICK, 1,  0, 0}, &Room::veng5Tick1 },
-	{ {ACTION_TICK, 45, 0, 0}, &Room::veng5Tick45 },
-
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng5WalkToDoor },
-	{ {ACTION_DONE_WALK, 2,       0, 0}, &Room::veng5ReachedDoor },
-	{ {ACTION_DONE_ANIM, 1,       0, 0}, &Room::veng5DoorOpened },
-	{ {ACTION_TOUCHED_WARP, 1,    0, 0}, &Room::veng5TouchedTurboliftDoor },
-
-	{ {ACTION_LOOK, HOTSPOT_DOOR,      0, 0}, &Room::veng5LookAtDoor },
-	{ {ACTION_LOOK, OBJECT_DOOR,       0, 0}, &Room::veng5LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_LADDER,    0, 0}, &Room::veng5LookAtLadder },
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY,   0, 0}, &Room::veng5LookAtDeadGuy },
-	{ {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0}, &Room::veng5LookAtPowerPack },
-	{ {ACTION_LOOK, OBJECT_DEBRIS,     0, 0}, &Room::veng5LookAtDebris },
-	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0}, &Room::veng5LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0}, &Room::veng5LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0}, &Room::veng5LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0}, &Room::veng5LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff,              0, 0}, &Room::veng5LookAnywhere },
-
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_POWER_PACK, 0}, &Room::veng5UsePhaserOnPowerPack },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_POWER_PACK, 0}, &Room::veng5UsePhaserOnPowerPack },
-	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS,     0}, &Room::veng5UseStunPhaserOnDebris },
-	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS,     0}, &Room::veng5UseKillPhaserOnDebris },
-	{ {ACTION_DONE_WALK, 4,                         0, 0}, &Room::veng5ReachedPositionToShootDebris },
-	{ {ACTION_DONE_ANIM, 5,                         0, 0}, &Room::veng5DrewPhaser },
-	{ {ACTION_DONE_ANIM, 3,                         0, 0}, &Room::veng5VaporizedDebris },
-
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEBRIS,     0}, &Room::veng5UseMTricorderOnDebris },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS,     0}, &Room::veng5UseSTricorderOnDebris },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_POWER_PACK, 0}, &Room::veng5UseMTricorderOnPowerPack },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_POWER_PACK, 0}, &Room::veng5UseSTricorderOnPowerPack },
-
-	{ {ACTION_TALK, OBJECT_KIRK,       0, 0}, &Room::veng5TalkToKirk },
-	{ {ACTION_TALK, OBJECT_MCCOY,      0, 0}, &Room::veng5TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_SPOCK,      0, 0}, &Room::veng5TalkToSpock },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,   0, 0}, &Room::veng5TalkToRedshirt },
-
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng5TouchedHotspot0 },
-
-	{ {ACTION_GET, OBJECT_POWER_PACK, 0, 0}, &Room::veng5GetPowerPack },
-	{ {ACTION_DONE_WALK, 6,           0, 0}, &Room::veng5ReachedPowerPack },
-	{ {ACTION_DONE_ANIM, 7,           0, 0}, &Room::veng5PickedUpPowerPack },
+	{ {ACTION_TICK, 1,  0, 0, 0}, &Room::veng5Tick1 },
+	{ {ACTION_TICK, 45, 0, 0, 0}, &Room::veng5Tick45 },
+
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng5WalkToDoor },
+	{ {ACTION_DONE_WALK, 2,       0, 0, 0}, &Room::veng5ReachedDoor },
+	{ {ACTION_DONE_ANIM, 1,       0, 0, 0}, &Room::veng5DoorOpened },
+	{ {ACTION_TOUCHED_WARP, 1,    0, 0, 0}, &Room::veng5TouchedTurboliftDoor },
+
+	{ {ACTION_LOOK, HOTSPOT_DOOR,      0, 0, 0}, &Room::veng5LookAtDoor },
+	{ {ACTION_LOOK, OBJECT_DOOR,       0, 0, 0}, &Room::veng5LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_LADDER,    0, 0, 0}, &Room::veng5LookAtLadder },
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY,   0, 0, 0}, &Room::veng5LookAtDeadGuy },
+	{ {ACTION_LOOK, OBJECT_POWER_PACK, 0, 0, 0}, &Room::veng5LookAtPowerPack },
+	{ {ACTION_LOOK, OBJECT_DEBRIS,     0, 0, 0}, &Room::veng5LookAtDebris },
+	{ {ACTION_LOOK, OBJECT_KIRK,       0, 0, 0}, &Room::veng5LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,      0, 0, 0}, &Room::veng5LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,      0, 0, 0}, &Room::veng5LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,   0, 0, 0}, &Room::veng5LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff,              0, 0, 0}, &Room::veng5LookAnywhere },
+
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UsePhaserOnPowerPack },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UsePhaserOnPowerPack },
+	{ {ACTION_USE, OBJECT_IPHASERS, OBJECT_DEBRIS,     0, 0}, &Room::veng5UseStunPhaserOnDebris },
+	{ {ACTION_USE, OBJECT_IPHASERK, OBJECT_DEBRIS,     0, 0}, &Room::veng5UseKillPhaserOnDebris },
+	{ {ACTION_DONE_WALK, 4,                         0, 0, 0}, &Room::veng5ReachedPositionToShootDebris },
+	{ {ACTION_DONE_ANIM, 5,                         0, 0, 0}, &Room::veng5DrewPhaser },
+	{ {ACTION_DONE_ANIM, 3,                         0, 0, 0}, &Room::veng5VaporizedDebris },
+
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEBRIS,     0, 0}, &Room::veng5UseMTricorderOnDebris },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_DEBRIS,     0, 0}, &Room::veng5UseSTricorderOnDebris },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UseMTricorderOnPowerPack },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_POWER_PACK, 0, 0}, &Room::veng5UseSTricorderOnPowerPack },
+
+	{ {ACTION_TALK, OBJECT_KIRK,       0, 0, 0}, &Room::veng5TalkToKirk },
+	{ {ACTION_TALK, OBJECT_MCCOY,      0, 0, 0}, &Room::veng5TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_SPOCK,      0, 0, 0}, &Room::veng5TalkToSpock },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,   0, 0, 0}, &Room::veng5TalkToRedshirt },
+
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng5TouchedHotspot0 },
+
+	{ {ACTION_GET, OBJECT_POWER_PACK, 0, 0, 0}, &Room::veng5GetPowerPack },
+	{ {ACTION_DONE_WALK, 6,           0, 0, 0}, &Room::veng5ReachedPowerPack },
+	{ {ACTION_DONE_ANIM, 7,           0, 0, 0}, &Room::veng5PickedUpPowerPack },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng5TextIds {
diff --git a/engines/startrek/rooms/veng6.cpp b/engines/startrek/rooms/veng6.cpp
index 84e954cf8ba..7241c76b3dd 100644
--- a/engines/startrek/rooms/veng6.cpp
+++ b/engines/startrek/rooms/veng6.cpp
@@ -42,93 +42,93 @@
 namespace StarTrek {
 
 extern const RoomAction veng6ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::veng6Tick1 },
-
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::veng6WalkToDoor },
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng6WalkToDoor },
-	{ {ACTION_DONE_WALK, 2,       0, 0}, &Room::veng6ReachedDoor },
-	{ {ACTION_DONE_ANIM, 1,       0, 0}, &Room::veng6DoorOpened },
-
-	{ {ACTION_LOOK, HOTSPOT_LEFT_PORT,       0, 0}, &Room::veng6LookAtLeftPort },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_PORT,      0, 0}, &Room::veng6LookAtRightPort },
-	{ {ACTION_LOOK, OBJECT_DOOR,             0, 0}, &Room::veng6LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,            0, 0}, &Room::veng6LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_OIL_CANISTER,    0, 0}, &Room::veng6LookAtOilCanister },
-	{ {ACTION_LOOK, OBJECT_CABINET,          0, 0}, &Room::veng6LookAtCabinet },
-	{ {ACTION_LOOK, HOTSPOT_CABINET,         0, 0}, &Room::veng6LookAtCabinet },
-	{ {ACTION_LOOK, OBJECT_CABLE_2,          0, 0}, &Room::veng6LookAtCable },
-	{ {ACTION_LOOK, OBJECT_CABLE_1,          0, 0}, &Room::veng6LookAtCable },
-	{ {ACTION_LOOK, HOTSPOT_RIGHT_CONSOLE,   0, 0}, &Room::veng6LookAtRightConsole },
-	{ {ACTION_LOOK, OBJECT_IMPULSE_ENGINES,  0, 0}, &Room::veng6LookAtImpulseEngines },
-	{ {ACTION_LOOK, HOTSPOT_IMPULSE_ENGINES, 0, 0}, &Room::veng6LookAtImpulseEngines },
-	{ {ACTION_LOOK, HOTSPOT_LEFT_CONSOLE,    0, 0}, &Room::veng6LookAtLeftConsole },
-	{ {ACTION_LOOK, OBJECT_JUNCTION_BOX,     0, 0}, &Room::veng6LookAtJunctionBox },
-	{ {ACTION_LOOK, OBJECT_JOURNAL,          0, 0}, &Room::veng6LookAtJournal },
-	{ {ACTION_LOOK, OBJECT_KIRK,             0, 0}, &Room::veng6LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,            0, 0}, &Room::veng6LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,            0, 0}, &Room::veng6LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,         0, 0}, &Room::veng6LookAtRedshirt },
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY,         0, 0}, &Room::veng6LookAtDeadGuy },
-	{ {ACTION_LOOK, 0xff,                    0, 0}, &Room::veng6LookAnywhere },
-	{ {ACTION_TALK, OBJECT_KIRK,             0, 0}, &Room::veng6TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,            0, 0}, &Room::veng6TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,            0, 0}, &Room::veng6TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,         0, 0}, &Room::veng6TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_PORT,    0}, &Room::veng6UseCable1OnLeftPort },
-	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_CONSOLE, 0}, &Room::veng6UseCable1OnLeftPort },
-	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_PORT,    0}, &Room::veng6UseCable2OnLeftPort },
-	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_CONSOLE, 0}, &Room::veng6UseCable2OnLeftPort },
-	{ {ACTION_DONE_WALK, 3,                           0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
-	{ {ACTION_DONE_WALK, 4,                           0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
-	{ {ACTION_DONE_ANIM, 5,                           0, 0}, &Room::veng6AttachedLeftCable },
-
-	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_PORT,    0}, &Room::veng6UseCable1OnRightPort },
-	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_CONSOLE, 0}, &Room::veng6UseCable1OnRightPort },
-	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_PORT,    0}, &Room::veng6UseCable2OnRightPort },
-	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_CONSOLE, 0}, &Room::veng6UseCable2OnRightPort },
-	{ {ACTION_DONE_WALK, 6,                           0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
-	{ {ACTION_DONE_WALK, 7,                           0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
-	{ {ACTION_DONE_ANIM, 8,                           0, 0}, &Room::veng6AttachedRightCable },
-
-	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
-	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
-	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_JUNCTION_BOX, 0}, &Room::veng6UseCrewmanOnJunctionBox },
-	{ {ACTION_DONE_WALK, 9,                           0, 0}, &Room::veng6SpockReachedJunctionBox },
-	{ {ACTION_DONE_ANIM, 10,                          0, 0}, &Room::veng6SpockAdjustedJunctionBox },
-
-	{ {ACTION_USE, OBJECT_IHYPO, HOTSPOT_OIL_CANISTER, 0}, &Room::veng6UseHypoOnOilCanister },
-	{ {ACTION_DONE_WALK, 13,                        0, 0}, &Room::veng6ReachedOilCanister },
-	{ {ACTION_DONE_ANIM, 14,                        0, 0}, &Room::veng6FilledHypoWithOil },
-
-	{ {ACTION_USE, OBJECT_KIRK, OBJECT_CABINET, 0}, &Room::veng6UseCabinet },
-	{ {ACTION_DONE_WALK, 15,                 0, 0}, &Room::veng6ReachedCabinet },
-	{ {ACTION_DONE_ANIM, 16,                 0, 0}, &Room::veng6OpenedOrClosedCabinet },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_ENGINES, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_CONSOLE,   0}, &Room::veng6UseSTricorderOnRightConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_JUNCTION_BOX,     0}, &Room::veng6UseSTricorderOnJunctionBox },
-	{ {ACTION_USE, OBJECT_IFUSION,  HOTSPOT_LEFT_CONSOLE,    0}, &Room::veng6UsePowerPackOnLeftConsole },
-	{ {ACTION_GET, OBJECT_JUNCTION_BOX,                   0, 0}, &Room::veng6GetJunctionBox },
-	{ {ACTION_GET, HOTSPOT_OIL_CANISTER,                  0, 0}, &Room::veng6GetOilCanister },
-	{ {ACTION_GET, OBJECT_JOURNAL,                        0, 0}, &Room::veng6GetEngineeringJournal },
-	{ {ACTION_DONE_WALK, 11,                              0, 0}, &Room::veng6ReachedEngineeringJournal },
-	{ {ACTION_DONE_ANIM, 12,                              0, 0}, &Room::veng6TookEngineeringJournal },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::veng6Tick1 },
+
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::veng6WalkToDoor },
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng6WalkToDoor },
+	{ {ACTION_DONE_WALK, 2,       0, 0, 0}, &Room::veng6ReachedDoor },
+	{ {ACTION_DONE_ANIM, 1,       0, 0, 0}, &Room::veng6DoorOpened },
+
+	{ {ACTION_LOOK, HOTSPOT_LEFT_PORT,       0, 0, 0}, &Room::veng6LookAtLeftPort },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_PORT,      0, 0, 0}, &Room::veng6LookAtRightPort },
+	{ {ACTION_LOOK, OBJECT_DOOR,             0, 0, 0}, &Room::veng6LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,            0, 0, 0}, &Room::veng6LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_OIL_CANISTER,    0, 0, 0}, &Room::veng6LookAtOilCanister },
+	{ {ACTION_LOOK, OBJECT_CABINET,          0, 0, 0}, &Room::veng6LookAtCabinet },
+	{ {ACTION_LOOK, HOTSPOT_CABINET,         0, 0, 0}, &Room::veng6LookAtCabinet },
+	{ {ACTION_LOOK, OBJECT_CABLE_2,          0, 0, 0}, &Room::veng6LookAtCable },
+	{ {ACTION_LOOK, OBJECT_CABLE_1,          0, 0, 0}, &Room::veng6LookAtCable },
+	{ {ACTION_LOOK, HOTSPOT_RIGHT_CONSOLE,   0, 0, 0}, &Room::veng6LookAtRightConsole },
+	{ {ACTION_LOOK, OBJECT_IMPULSE_ENGINES,  0, 0, 0}, &Room::veng6LookAtImpulseEngines },
+	{ {ACTION_LOOK, HOTSPOT_IMPULSE_ENGINES, 0, 0, 0}, &Room::veng6LookAtImpulseEngines },
+	{ {ACTION_LOOK, HOTSPOT_LEFT_CONSOLE,    0, 0, 0}, &Room::veng6LookAtLeftConsole },
+	{ {ACTION_LOOK, OBJECT_JUNCTION_BOX,     0, 0, 0}, &Room::veng6LookAtJunctionBox },
+	{ {ACTION_LOOK, OBJECT_JOURNAL,          0, 0, 0}, &Room::veng6LookAtJournal },
+	{ {ACTION_LOOK, OBJECT_KIRK,             0, 0, 0}, &Room::veng6LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,            0, 0, 0}, &Room::veng6LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,            0, 0, 0}, &Room::veng6LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,         0, 0, 0}, &Room::veng6LookAtRedshirt },
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY,         0, 0, 0}, &Room::veng6LookAtDeadGuy },
+	{ {ACTION_LOOK, 0xff,                    0, 0, 0}, &Room::veng6LookAnywhere },
+	{ {ACTION_TALK, OBJECT_KIRK,             0, 0, 0}, &Room::veng6TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,            0, 0, 0}, &Room::veng6TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,            0, 0, 0}, &Room::veng6TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,         0, 0, 0}, &Room::veng6TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_PORT,    0, 0}, &Room::veng6UseCable1OnLeftPort },
+	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6UseCable1OnLeftPort },
+	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_PORT,    0, 0}, &Room::veng6UseCable2OnLeftPort },
+	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_LEFT_CONSOLE, 0, 0}, &Room::veng6UseCable2OnLeftPort },
+	{ {ACTION_DONE_WALK, 3,                           0, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
+	{ {ACTION_DONE_WALK, 4,                           0, 0, 0}, &Room::veng6KirkOrSpockReachedLeftPort },
+	{ {ACTION_DONE_ANIM, 5,                           0, 0, 0}, &Room::veng6AttachedLeftCable },
+
+	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_PORT,    0, 0}, &Room::veng6UseCable1OnRightPort },
+	{ {ACTION_USE, OBJECT_ICABLE1, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6UseCable1OnRightPort },
+	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_PORT,    0, 0}, &Room::veng6UseCable2OnRightPort },
+	{ {ACTION_USE, OBJECT_ICABLE2, HOTSPOT_RIGHT_CONSOLE, 0, 0}, &Room::veng6UseCable2OnRightPort },
+	{ {ACTION_DONE_WALK, 6,                           0, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
+	{ {ACTION_DONE_WALK, 7,                           0, 0, 0}, &Room::veng6KirkOrSpockReachedRightPort },
+	{ {ACTION_DONE_ANIM, 8,                           0, 0, 0}, &Room::veng6AttachedRightCable },
+
+	{ {ACTION_USE, OBJECT_SPOCK,    OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+	{ {ACTION_USE, OBJECT_REDSHIRT, OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+	{ {ACTION_USE, OBJECT_KIRK,     OBJECT_JUNCTION_BOX, 0, 0}, &Room::veng6UseCrewmanOnJunctionBox },
+	{ {ACTION_DONE_WALK, 9,                           0, 0, 0}, &Room::veng6SpockReachedJunctionBox },
+	{ {ACTION_DONE_ANIM, 10,                          0, 0, 0}, &Room::veng6SpockAdjustedJunctionBox },
+
+	{ {ACTION_USE, OBJECT_IHYPO, HOTSPOT_OIL_CANISTER, 0, 0}, &Room::veng6UseHypoOnOilCanister },
+	{ {ACTION_DONE_WALK, 13,                        0, 0, 0}, &Room::veng6ReachedOilCanister },
+	{ {ACTION_DONE_ANIM, 14,                        0, 0, 0}, &Room::veng6FilledHypoWithOil },
+
+	{ {ACTION_USE, OBJECT_KIRK, OBJECT_CABINET, 0, 0}, &Room::veng6UseCabinet },
+	{ {ACTION_DONE_WALK, 15,                 0, 0, 0}, &Room::veng6ReachedCabinet },
+	{ {ACTION_DONE_ANIM, 16,                 0, 0, 0}, &Room::veng6OpenedOrClosedCabinet },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_IMPULSE_ENGINES, 0, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_RIGHT_CONSOLE,   0, 0}, &Room::veng6UseSTricorderOnRightConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_JUNCTION_BOX,     0, 0}, &Room::veng6UseSTricorderOnJunctionBox },
+	{ {ACTION_USE, OBJECT_IFUSION,  HOTSPOT_LEFT_CONSOLE,    0, 0}, &Room::veng6UsePowerPackOnLeftConsole },
+	{ {ACTION_GET, OBJECT_JUNCTION_BOX,                   0, 0, 0}, &Room::veng6GetJunctionBox },
+	{ {ACTION_GET, HOTSPOT_OIL_CANISTER,                  0, 0, 0}, &Room::veng6GetOilCanister },
+	{ {ACTION_GET, OBJECT_JOURNAL,                        0, 0, 0}, &Room::veng6GetEngineeringJournal },
+	{ {ACTION_DONE_WALK, 11,                              0, 0, 0}, &Room::veng6ReachedEngineeringJournal },
+	{ {ACTION_DONE_ANIM, 12,                              0, 0, 0}, &Room::veng6TookEngineeringJournal },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
 
 	// ENHANCEMENT
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_ENGINES, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_IMPULSE_ENGINES, 0, 0}, &Room::veng6UseSTricorderOnImpulseEngines },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng6TextIds {
diff --git a/engines/startrek/rooms/veng7.cpp b/engines/startrek/rooms/veng7.cpp
index 3e5942f1659..fb05c2fd4a7 100644
--- a/engines/startrek/rooms/veng7.cpp
+++ b/engines/startrek/rooms/veng7.cpp
@@ -31,46 +31,46 @@
 namespace StarTrek {
 
 extern const RoomAction veng7ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::veng7Tick1 },
-
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::veng7WalkToDoor },
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng7WalkToDoor },
-	{ {ACTION_DONE_WALK, 2,       0, 0}, &Room::veng7ReachedDoor },
-	{ {ACTION_DONE_ANIM, 1,       0, 0}, &Room::veng7DoorOpened },
-	{ {ACTION_TOUCHED_WARP, 1,    0, 0}, &Room::veng7TouchedTurboliftDoor },
-
-	{ {ACTION_LOOK, HOTSPOT_COLLAPSED_SECTION, 0, 0}, &Room::veng7LookAtCollapsedSection },
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY,           0, 0}, &Room::veng7LookAtDeadGuy },
-	{ {ACTION_LOOK, OBJECT_DOOR,               0, 0}, &Room::veng7LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,              0, 0}, &Room::veng7LookAtDoor },
-	{ {ACTION_LOOK, OBJECT_CABLE,              0, 0}, &Room::veng7LookAtCable },
-	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0}, &Room::veng7LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0}, &Room::veng7LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0}, &Room::veng7LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0}, &Room::veng7LookAtRedshirt },
-	{ {ACTION_LOOK, 0xff,                      0, 0}, &Room::veng7LookAnywhere },
-	{ {ACTION_TALK, OBJECT_KIRK,               0, 0}, &Room::veng7TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0}, &Room::veng7TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0}, &Room::veng7TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0}, &Room::veng7TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COLLAPSED_SECTION, 0}, &Room::veng7UseSTricorderOnCollapsedSection },
-
-	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0}, &Room::veng7TouchedHotspot0 },
-	{ {ACTION_GET, OBJECT_CABLE,  0, 0}, &Room::veng7GetCable },
-	{ {ACTION_DONE_WALK, 3,       0, 0}, &Room::veng7ReachedCable },
-	{ {ACTION_DONE_ANIM, 4,       0, 0}, &Room::veng7PickedUpCable },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::veng7Tick1 },
+
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::veng7WalkToDoor },
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng7WalkToDoor },
+	{ {ACTION_DONE_WALK, 2,       0, 0, 0}, &Room::veng7ReachedDoor },
+	{ {ACTION_DONE_ANIM, 1,       0, 0, 0}, &Room::veng7DoorOpened },
+	{ {ACTION_TOUCHED_WARP, 1,    0, 0, 0}, &Room::veng7TouchedTurboliftDoor },
+
+	{ {ACTION_LOOK, HOTSPOT_COLLAPSED_SECTION, 0, 0, 0}, &Room::veng7LookAtCollapsedSection },
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY,           0, 0, 0}, &Room::veng7LookAtDeadGuy },
+	{ {ACTION_LOOK, OBJECT_DOOR,               0, 0, 0}, &Room::veng7LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,              0, 0, 0}, &Room::veng7LookAtDoor },
+	{ {ACTION_LOOK, OBJECT_CABLE,              0, 0, 0}, &Room::veng7LookAtCable },
+	{ {ACTION_LOOK, OBJECT_KIRK,               0, 0, 0}, &Room::veng7LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng7LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng7LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng7LookAtRedshirt },
+	{ {ACTION_LOOK, 0xff,                      0, 0, 0}, &Room::veng7LookAnywhere },
+	{ {ACTION_TALK, OBJECT_KIRK,               0, 0, 0}, &Room::veng7TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,              0, 0, 0}, &Room::veng7TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,              0, 0, 0}, &Room::veng7TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,           0, 0, 0}, &Room::veng7TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_COLLAPSED_SECTION, 0, 0}, &Room::veng7UseSTricorderOnCollapsedSection },
+
+	{ {ACTION_TOUCHED_HOTSPOT, 0, 0, 0, 0}, &Room::veng7TouchedHotspot0 },
+	{ {ACTION_GET, OBJECT_CABLE,  0, 0, 0}, &Room::veng7GetCable },
+	{ {ACTION_DONE_WALK, 3,       0, 0, 0}, &Room::veng7ReachedCable },
+	{ {ACTION_DONE_ANIM, 4,       0, 0, 0}, &Room::veng7PickedUpCable },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0}, &Room::vengaUseMccoyOnDeadGuy },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_USE, OBJECT_IMEDKIT,  OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_IMTRICOR, OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_USE, OBJECT_MCCOY,    OBJECT_DEAD_GUY, 0, 0}, &Room::vengaUseMccoyOnDeadGuy },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng7TextIds {
diff --git a/engines/startrek/rooms/veng8.cpp b/engines/startrek/rooms/veng8.cpp
index 57931e911eb..04bfea53b0f 100644
--- a/engines/startrek/rooms/veng8.cpp
+++ b/engines/startrek/rooms/veng8.cpp
@@ -40,73 +40,73 @@
 namespace StarTrek {
 
 extern const RoomAction veng8ActionList[] = {
-	{ {ACTION_TICK, 1, 0, 0}, &Room::veng8Tick1 },
-
-	{ {ACTION_WALK, OBJECT_DOOR,  0, 0}, &Room::veng8WalkToDoor },
-	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0}, &Room::veng8WalkToDoor },
-	{ {ACTION_DONE_WALK, 8,       0, 0}, &Room::veng8ReachedDoor },
-	{ {ACTION_DONE_ANIM, 7,       0, 0}, &Room::veng8DoorOpened },
-	{ {ACTION_TIMER_EXPIRED, 0,   0, 0}, &Room::veng8Timer0Expired },
-	{ {ACTION_DONE_ANIM, 11,      0, 0}, &Room::veng8SparkAnim1Done },
-	{ {ACTION_TIMER_EXPIRED, 1,   0, 0}, &Room::veng8Timer1Expired },
-	{ {ACTION_DONE_ANIM, 12,      0, 0}, &Room::veng8SparkAnim2Done },
-
-	{ {ACTION_LOOK, OBJECT_POWER_PACK,     0, 0}, &Room::veng8LookAtPowerPack },
-	{ {ACTION_LOOK, OBJECT_DOOR,           0, 0}, &Room::veng8LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_DOOR,          0, 0}, &Room::veng8LookAtDoor },
-	{ {ACTION_LOOK, HOTSPOT_POWER_CIRCUIT, 0, 0}, &Room::veng8LookAtPowerCircuits },
-	{ {ACTION_LOOK, OBJECT_CONTROLS,       0, 0}, &Room::veng8LookAtControls },
-	{ {ACTION_LOOK, HOTSPOT_CONTROLS,      0, 0}, &Room::veng8LookAtControls },
-	{ {ACTION_LOOK, OBJECT_DEAD_GUY,       0, 0}, &Room::veng8LookAtDeadGuy },
-	{ {ACTION_LOOK, OBJECT_SLIDER,         0, 0}, &Room::veng8LookAtSlider },
-	{ {ACTION_LOOK, HOTSPOT_SLIDER,        0, 0}, &Room::veng8LookAtSlider },
-	{ {ACTION_LOOK, OBJECT_KIRK,           0, 0}, &Room::veng8LookAtKirk },
-	{ {ACTION_LOOK, OBJECT_SPOCK,          0, 0}, &Room::veng8LookAtSpock },
-	{ {ACTION_LOOK, OBJECT_MCCOY,          0, 0}, &Room::veng8LookAtMccoy },
-	{ {ACTION_LOOK, OBJECT_REDSHIRT,       0, 0}, &Room::veng8LookAtRedshirt },
-	{ {ACTION_LOOK, HOTSPOT_TRANSPORTER,   0, 0}, &Room::veng8LookAtTransporter },
-	{ {ACTION_LOOK, 0xff,                  0, 0}, &Room::veng8LookAnywhere },
-	{ {ACTION_TALK, OBJECT_KIRK,           0, 0}, &Room::veng8TalkToKirk },
-	{ {ACTION_TALK, OBJECT_SPOCK,          0, 0}, &Room::veng8TalkToSpock },
-	{ {ACTION_TALK, OBJECT_MCCOY,          0, 0}, &Room::veng8TalkToMccoy },
-	{ {ACTION_TALK, OBJECT_REDSHIRT,       0, 0}, &Room::veng8TalkToRedshirt },
-
-	{ {ACTION_USE, OBJECT_KIRK,  OBJECT_CONTROLS,  0}, &Room::veng8UseKirkOnControls },
-	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_CONTROLS, 0}, &Room::veng8UseKirkOnControls },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_CONTROLS,  0}, &Room::veng8UseSpockOnControls },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_CONTROLS, 0}, &Room::veng8UseSpockOnControls },
-	{ {ACTION_DONE_WALK, 13,                    0, 0}, &Room::veng8SpockReachedControls },
-	{ {ACTION_DONE_ANIM, 14,                    0, 0}, &Room::veng8SpockUsedControls },
-
-	{ {ACTION_USE, OBJECT_IFUSION, HOTSPOT_POWER_CIRCUIT, 0}, &Room::veng8UsePowerPackOnPowerCircuit },
-	{ {ACTION_DONE_WALK, 9,                            0, 0}, &Room::veng8SpockReachedPowerCircuit },
-	{ {ACTION_DONE_ANIM, 10,                           0, 0}, &Room::veng8SpockConnectedPowerPack },
-	{ {ACTION_DONE_ANIM, 15,                           0, 0}, &Room::veng8TransporterPoweredUp },
-
-	{ {ACTION_USE, OBJECT_KIRK,  OBJECT_SLIDER,  0}, &Room::veng8UseKirkOnSlider },
-	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_SLIDER, 0}, &Room::veng8UseKirkOnSlider },
-	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SLIDER,  0}, &Room::veng8UseSpockOnSlider },
-	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_SLIDER, 0}, &Room::veng8UseSpockOnSlider },
-	{ {ACTION_DONE_WALK, 16,                  0, 0}, &Room::veng8SpockReachedSlider },
-	{ {ACTION_DONE_WALK, 1,                   0, 0}, &Room::veng8RedshirtReachedTransporter },
-	{ {ACTION_DONE_WALK, 4,                   0, 0}, &Room::veng8RedshirtReachedTransporter },
-	{ {ACTION_DONE_ANIM, 5,                   0, 0}, &Room::veng8SpockPulledSliderToBeamOut },
-	{ {ACTION_DONE_ANIM, 2,                   0, 0}, &Room::veng8RedshirtBeamedOut },
-	{ {ACTION_DONE_ANIM, 6,                   0, 0}, &Room::veng8SpockPulledSliderToBeamIn },
-	{ {ACTION_DONE_ANIM, 3,                   0, 0}, &Room::veng8RedshirtBeamedIn },
-
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CONTROLS,  0}, &Room::veng8UseSTricorderOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SLIDER,    0}, &Room::veng8UseSTricorderOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CONTROLS, 0}, &Room::veng8UseSTricorderOnConsole },
-	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_SLIDER,   0}, &Room::veng8UseSTricorderOnConsole },
+	{ {ACTION_TICK, 1, 0, 0, 0}, &Room::veng8Tick1 },
+
+	{ {ACTION_WALK, OBJECT_DOOR,  0, 0, 0}, &Room::veng8WalkToDoor },
+	{ {ACTION_WALK, HOTSPOT_DOOR, 0, 0, 0}, &Room::veng8WalkToDoor },
+	{ {ACTION_DONE_WALK, 8,       0, 0, 0}, &Room::veng8ReachedDoor },
+	{ {ACTION_DONE_ANIM, 7,       0, 0, 0}, &Room::veng8DoorOpened },
+	{ {ACTION_TIMER_EXPIRED, 0,   0, 0, 0}, &Room::veng8Timer0Expired },
+	{ {ACTION_DONE_ANIM, 11,      0, 0, 0}, &Room::veng8SparkAnim1Done },
+	{ {ACTION_TIMER_EXPIRED, 1,   0, 0, 0}, &Room::veng8Timer1Expired },
+	{ {ACTION_DONE_ANIM, 12,      0, 0, 0}, &Room::veng8SparkAnim2Done },
+
+	{ {ACTION_LOOK, OBJECT_POWER_PACK,     0, 0, 0}, &Room::veng8LookAtPowerPack },
+	{ {ACTION_LOOK, OBJECT_DOOR,           0, 0, 0}, &Room::veng8LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_DOOR,          0, 0, 0}, &Room::veng8LookAtDoor },
+	{ {ACTION_LOOK, HOTSPOT_POWER_CIRCUIT, 0, 0, 0}, &Room::veng8LookAtPowerCircuits },
+	{ {ACTION_LOOK, OBJECT_CONTROLS,       0, 0, 0}, &Room::veng8LookAtControls },
+	{ {ACTION_LOOK, HOTSPOT_CONTROLS,      0, 0, 0}, &Room::veng8LookAtControls },
+	{ {ACTION_LOOK, OBJECT_DEAD_GUY,       0, 0, 0}, &Room::veng8LookAtDeadGuy },
+	{ {ACTION_LOOK, OBJECT_SLIDER,         0, 0, 0}, &Room::veng8LookAtSlider },
+	{ {ACTION_LOOK, HOTSPOT_SLIDER,        0, 0, 0}, &Room::veng8LookAtSlider },
+	{ {ACTION_LOOK, OBJECT_KIRK,           0, 0, 0}, &Room::veng8LookAtKirk },
+	{ {ACTION_LOOK, OBJECT_SPOCK,          0, 0, 0}, &Room::veng8LookAtSpock },
+	{ {ACTION_LOOK, OBJECT_MCCOY,          0, 0, 0}, &Room::veng8LookAtMccoy },
+	{ {ACTION_LOOK, OBJECT_REDSHIRT,       0, 0, 0}, &Room::veng8LookAtRedshirt },
+	{ {ACTION_LOOK, HOTSPOT_TRANSPORTER,   0, 0, 0}, &Room::veng8LookAtTransporter },
+	{ {ACTION_LOOK, 0xff,                  0, 0, 0}, &Room::veng8LookAnywhere },
+	{ {ACTION_TALK, OBJECT_KIRK,           0, 0, 0}, &Room::veng8TalkToKirk },
+	{ {ACTION_TALK, OBJECT_SPOCK,          0, 0, 0}, &Room::veng8TalkToSpock },
+	{ {ACTION_TALK, OBJECT_MCCOY,          0, 0, 0}, &Room::veng8TalkToMccoy },
+	{ {ACTION_TALK, OBJECT_REDSHIRT,       0, 0, 0}, &Room::veng8TalkToRedshirt },
+
+	{ {ACTION_USE, OBJECT_KIRK,  OBJECT_CONTROLS,  0, 0}, &Room::veng8UseKirkOnControls },
+	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseKirkOnControls },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_CONTROLS,  0, 0}, &Room::veng8UseSpockOnControls },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseSpockOnControls },
+	{ {ACTION_DONE_WALK, 13,                    0, 0, 0}, &Room::veng8SpockReachedControls },
+	{ {ACTION_DONE_ANIM, 14,                    0, 0, 0}, &Room::veng8SpockUsedControls },
+
+	{ {ACTION_USE, OBJECT_IFUSION, HOTSPOT_POWER_CIRCUIT, 0, 0}, &Room::veng8UsePowerPackOnPowerCircuit },
+	{ {ACTION_DONE_WALK, 9,                            0, 0, 0}, &Room::veng8SpockReachedPowerCircuit },
+	{ {ACTION_DONE_ANIM, 10,                           0, 0, 0}, &Room::veng8SpockConnectedPowerPack },
+	{ {ACTION_DONE_ANIM, 15,                           0, 0, 0}, &Room::veng8TransporterPoweredUp },
+
+	{ {ACTION_USE, OBJECT_KIRK,  OBJECT_SLIDER,  0, 0}, &Room::veng8UseKirkOnSlider },
+	{ {ACTION_USE, OBJECT_KIRK,  HOTSPOT_SLIDER, 0, 0}, &Room::veng8UseKirkOnSlider },
+	{ {ACTION_USE, OBJECT_SPOCK, OBJECT_SLIDER,  0, 0}, &Room::veng8UseSpockOnSlider },
+	{ {ACTION_USE, OBJECT_SPOCK, HOTSPOT_SLIDER, 0, 0}, &Room::veng8UseSpockOnSlider },
+	{ {ACTION_DONE_WALK, 16,                  0, 0, 0}, &Room::veng8SpockReachedSlider },
+	{ {ACTION_DONE_WALK, 1,                   0, 0, 0}, &Room::veng8RedshirtReachedTransporter },
+	{ {ACTION_DONE_WALK, 4,                   0, 0, 0}, &Room::veng8RedshirtReachedTransporter },
+	{ {ACTION_DONE_ANIM, 5,                   0, 0, 0}, &Room::veng8SpockPulledSliderToBeamOut },
+	{ {ACTION_DONE_ANIM, 2,                   0, 0, 0}, &Room::veng8RedshirtBeamedOut },
+	{ {ACTION_DONE_ANIM, 6,                   0, 0, 0}, &Room::veng8SpockPulledSliderToBeamIn },
+	{ {ACTION_DONE_ANIM, 3,                   0, 0, 0}, &Room::veng8RedshirtBeamedIn },
+
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_CONTROLS,  0, 0}, &Room::veng8UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, OBJECT_SLIDER,    0, 0}, &Room::veng8UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_CONTROLS, 0, 0}, &Room::veng8UseSTricorderOnConsole },
+	{ {ACTION_USE, OBJECT_ISTRICOR, HOTSPOT_SLIDER,   0, 0}, &Room::veng8UseSTricorderOnConsole },
 
 	// Common code
-	{ {ACTION_TICK, 0xff, 0xff, 0xff}, &Room::vengaTick },
-	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0}, &Room::vengaUsePhaserAnywhere },
-	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0}, &Room::vengaLookAtHypo },
-	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0}, &Room::vengaUseCommunicator },
-	{ {ACTION_LIST_END, 0, 0, 0}, nullptr }
+	{ {ACTION_TICK, 0xff, 0xff, 0xff, 0}, &Room::vengaTick },
+	{ {ACTION_USE, OBJECT_IPHASERS, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_USE, OBJECT_IPHASERK, 0xff,     0, 0}, &Room::vengaUsePhaserAnywhere },
+	{ {ACTION_LOOK, OBJECT_IHYPO,          0, 0, 0}, &Room::vengaLookAtHypo },
+	{ {ACTION_USE, OBJECT_ICOMM, OBJECT_KIRK, 0, 0}, &Room::vengaUseCommunicator },
+	{ {ACTION_LIST_END, 0, 0, 0, 0}, nullptr }
 };
 
 enum veng8TextIds {




More information about the Scummvm-git-logs mailing list