diff options
Diffstat (limited to 'engines/startrek/rooms/function_map.h')
-rw-r--r-- | engines/startrek/rooms/function_map.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/engines/startrek/rooms/function_map.h b/engines/startrek/rooms/function_map.h index 89b03975f7..2f729b5d39 100644 --- a/engines/startrek/rooms/function_map.h +++ b/engines/startrek/rooms/function_map.h @@ -1615,7 +1615,81 @@ RoomAction mudd3ActionList[] = { RoomAction mudd4ActionList[] = { { Action(ACTION_TICK, 1, 0, 0), &Room::mudd4Tick1 }, + { Action(ACTION_USE, OBJECT_ICOMM, -1, 0), &Room::mudd4UseCommunicator }, + { Action(ACTION_TIMER_EXPIRED, 2, 0, 0), &Room::mudd4Timer2Expired }, + { Action(ACTION_TIMER_EXPIRED, 3, 0, 0), &Room::mudd4Timer3Expired }, + { Action(ACTION_USE, OBJECT_SPOCK, 0x21, 0), &Room::mudd4UseSpockOnLeftConsole }, + { Action(ACTION_USE, OBJECT_SPOCK, 0x22, 0), &Room::mudd4UseSpockOnLeftConsole }, + { Action(ACTION_USE, OBJECT_SPOCK, 0x23, 0), &Room::mudd4UseSpockOnRightConsole }, + { Action(ACTION_FINISHED_WALKING, 1, 0, 0), &Room::mudd4SpockReachedChair }, + { Action(ACTION_FINISHED_ANIMATION, 1, 0, 0), &Room::mudd4SpockSatInChair }, + { Action(ACTION_FINISHED_ANIMATION, 2, 0, 0), &Room::mudd4SpockUsedSensors }, + { Action(ACTION_FINISHED_ANIMATION, 3, 0, 0), &Room::mudd4SpockUsedEngineering }, + { Action(ACTION_FINISHED_ANIMATION, 4, 0, 0), &Room::mudd4SpockUsedNavigation }, + { Action(ACTION_FINISHED_WALKING, 3, 0, 0), &Room::mudd4FinishedWalking3 }, + { Action(ACTION_USE, OBJECT_KIRK, 0x21, 0), &Room::mudd4UseKirkOnRightConsole }, + { Action(ACTION_USE, OBJECT_KIRK, 0x23, 0), &Room::mudd4UseKirkOnRightConsole }, + { Action(ACTION_USE, OBJECT_KIRK, 0x22, 0), &Room::mudd4UseKirkOnLeftConsole }, + { Action(ACTION_FINISHED_WALKING, 2, 0, 0), &Room::mudd4KirkReachedRightConsole }, + { Action(ACTION_FINISHED_ANIMATION, 5, 0, 0), &Room::mudd4KirkSatInChair }, + { Action(ACTION_FINISHED_ANIMATION, 6, 0, 0), &Room::mudd4KirkUsedViewScreen }, + { Action(ACTION_TIMER_EXPIRED, 1, 0, 0), &Room::mudd4Timer1Expired }, + { Action(ACTION_FINISHED_ANIMATION, 7, 0, 0), &Room::mudd4KirkUsedCommunications }, + { Action(ACTION_FINISHED_WALKING, 4, 0, 0), &Room::mudd4KirkReachedPositionToTalkToMudd }, + { Action(ACTION_USE, OBJECT_MCCOY, 0x21, 0), &Room::mudd4UseMccoyOnConsole }, + { Action(ACTION_USE, OBJECT_MCCOY, 0x22, 0), &Room::mudd4UseMccoyOnConsole }, + { Action(ACTION_USE, OBJECT_MCCOY, 0x23, 0), &Room::mudd4UseMccoyOnConsole }, + { Action(ACTION_USE, OBJECT_REDSHIRT, 0x21, 0), &Room::mudd4UseRedshirtOnConsole }, + { Action(ACTION_USE, OBJECT_REDSHIRT, 0x22, 0), &Room::mudd4UseRedshirtOnConsole }, + { Action(ACTION_USE, OBJECT_REDSHIRT, 0x23, 0), &Room::mudd4UseRedshirtOnConsole }, + { Action(ACTION_USE, OBJECT_ISTRICOR, 10, 0), &Room::mudd4UseSTricorderOnRepairTool }, + { Action(ACTION_USE, OBJECT_ISTRICOR, 0x21, 0), &Room::mudd4UseSTricorderOnConsole }, + + // ENHANCEMENT: Allow scanning the console to work when scanning the specific stations + // as well + { Action(ACTION_USE, OBJECT_ISTRICOR, 0x22, 0), &Room::mudd4UseSTricorderOnConsole }, + { Action(ACTION_USE, OBJECT_ISTRICOR, 0x23, 0), &Room::mudd4UseSTricorderOnConsole }, + + { Action(ACTION_USE, OBJECT_ISTRICOR, 0x20, 0), &Room::mudd4UseSTricorderOnViewscreen }, + + // ENHANCEMENT: Allow scanning the viewscreen when it's on, not just when off + { Action(ACTION_USE, OBJECT_ISTRICOR, 8, 0), &Room::mudd4UseSTricorderOnViewscreen }, + + // Common code + { Action(ACTION_USE, OBJECT_ILENSES, OBJECT_IDEGRIME, 0), &Room::mudd0UseLenseOnDegrimer }, + { Action(ACTION_USE, OBJECT_IALIENDV, -1, 0), &Room::mudd0UseAlienDevice }, + { Action(ACTION_FINISHED_ANIMATION, 9, 0, 0), &Room::mudd0FiredAlienDevice }, + { Action(ACTION_USE, OBJECT_IDEGRIME, -1, 0), &Room::mudd0UseDegrimer }, + + { Action(ACTION_USE, OBJECT_IMEDKIT, -1, 0), &Room::mudd4UseMedkit }, + { Action(ACTION_GET, 10, 0, 0), &Room::mudd4GetRepairTool }, + { Action(ACTION_FINISHED_WALKING, 5, 0, 0), &Room::mudd4ReachedRepairTool }, + { Action(ACTION_FINISHED_ANIMATION, 10, 0, 0), &Room::mudd4PickedUpRepairTool }, + + { Action(ACTION_LOOK, 0x21, 0, 0), &Room::mudd4LookAtConsole }, + // ENHANCEMENT: Allow look action work with the specific stations as well + { Action(ACTION_LOOK, 0x22, 0, 0), &Room::mudd4LookAtConsole }, + { Action(ACTION_LOOK, 0x23, 0, 0), &Room::mudd4LookAtConsole }, + + { Action(ACTION_LOOK, 0x20, 0, 0), &Room::mudd4LookAtViewscreen }, + // ENHANCEMENT: Allow look action work when viewscreen is on, not just when off + { Action(ACTION_LOOK, 8, 0, 0), &Room::mudd4LookAtViewscreen }, + + { Action(ACTION_LOOK, OBJECT_KIRK, 0, 0), &Room::mudd4LookAtKirk }, + { Action(ACTION_LOOK, OBJECT_SPOCK, 0, 0), &Room::mudd4LookAtSpock }, + { Action(ACTION_LOOK, OBJECT_MCCOY, 0, 0), &Room::mudd4LookAtMccoy }, + { Action(ACTION_LOOK, OBJECT_REDSHIRT, 0, 0), &Room::mudd4LookAtRedshirt }, + { Action(ACTION_LOOK, 10, 0, 0), &Room::mudd4LookAtRepairTool }, + { Action(ACTION_TALK, OBJECT_KIRK, 0, 0), &Room::mudd4TalkToKirk }, + { Action(ACTION_TALK, OBJECT_SPOCK, 0, 0), &Room::mudd4TalkToSpock }, + { Action(ACTION_TALK, OBJECT_MCCOY, 0, 0), &Room::mudd4TalkToMccoy }, + { Action(ACTION_TALK, OBJECT_REDSHIRT, 0, 0), &Room::mudd4TalkToRedshirt }, + { Action(ACTION_WALK, 0x24, 0, 0), &Room::mudd4WalkToEastDoor }, + { Action(ACTION_WALK, 0x25, 0, 0), &Room::mudd4WalkToWestDoor }, + { Action(ACTION_TOUCHED_HOTSPOT, 0, 0, 0), &Room::mudd4TouchedHotspot0 }, + // TODO: remainder? something about losing atmosphere? }; + RoomAction mudd5ActionList[] = { { Action(ACTION_TICK, 1, 0, 0), &Room::mudd5Tick1 }, }; |