diff options
author | Matthew Stewart | 2018-07-05 23:00:40 -0400 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | b02124b5eeea60a0a8dde14318cb53d416912e79 (patch) | |
tree | a03bb3720b22377f8df706afb9c71457bb0dd9a2 /engines | |
parent | 6486579e6a594e93521d4a359265377989cfc5f2 (diff) | |
download | scummvm-rg350-b02124b5eeea60a0a8dde14318cb53d416912e79.tar.gz scummvm-rg350-b02124b5eeea60a0a8dde14318cb53d416912e79.tar.bz2 scummvm-rg350-b02124b5eeea60a0a8dde14318cb53d416912e79.zip |
STARTREK: FEATHER6
Diffstat (limited to 'engines')
-rw-r--r-- | engines/startrek/awaymission.h | 1 | ||||
-rw-r--r-- | engines/startrek/room.cpp | 2 | ||||
-rw-r--r-- | engines/startrek/room.h | 53 | ||||
-rw-r--r-- | engines/startrek/rooms/feather6.cpp | 353 | ||||
-rw-r--r-- | engines/startrek/rooms/function_map.h | 8 | ||||
-rw-r--r-- | engines/startrek/text.h | 130 |
6 files changed, 538 insertions, 9 deletions
diff --git a/engines/startrek/awaymission.h b/engines/startrek/awaymission.h index 06c89239c6..d38fde4bbf 100644 --- a/engines/startrek/awaymission.h +++ b/engines/startrek/awaymission.h @@ -243,6 +243,7 @@ struct AwayMission { } mudd; struct { + bool diedFromStalactites; // 0x29 // 0: initial state // 1: one rock thrown at it // 2: two rocks thrown at it (low enough to climb up) diff --git a/engines/startrek/room.cpp b/engines/startrek/room.cpp index 342bba9ae7..c1d7216664 100644 --- a/engines/startrek/room.cpp +++ b/engines/startrek/room.cpp @@ -157,7 +157,7 @@ Room::Room(StarTrekEngine *vm, const Common::String &name) : _vm(vm) { } else if (name == "FEATHER6") { _roomActionList = feather6ActionList; - _numRoomActions = sizeof(feather6ActionList) / sizeof(RoomAction); + _numRoomActions = feather6NumActions; } else if (name == "FEATHER7") { _roomActionList = feather7ActionList; diff --git a/engines/startrek/room.h b/engines/startrek/room.h index 0e536b7726..a307cf4bdf 100644 --- a/engines/startrek/room.h +++ b/engines/startrek/room.h @@ -1655,6 +1655,56 @@ public: // FEATHER6 void feather6Tick1(); + void feather6TouchedHotspot0(); + void feather6UseSpockOnCrystals(); + void feather6UseMccoyOnCrystals(); + void feather6UseRedshirtOnCrystals(); + void feather6UseRockOnStalactites(); + void feather6ReachedPositionToThrowRock(); + void feather6DoneThrowingRock(); + void feather6KirkDiedFromStalactites(); + void feather6UseRockOnCrystals(); + void feather6ReachedCrystalsWithRock(); + void feather6Tick(); + void feather6HitCrystalsWithRockFirstTime(); + void feather6HitCrystalsWithRockSecondTime(); + void feather6UseRockOnStalagmites(); + void feather6UseRockAnywhere(); + void feather6UseKnifeOnStalagmites(); + void feather6UseKnifeAnywhere(); + void feather6UseKnifeOnMccoy(); + void feather6UseKnifeOnSpock(); + void feather6UseKnifeOnRedshirt(); + void feather6UseCrystalAnywhere(); + void feather6UseSnakeAnywhere(); + void feather6UseMedkitAnywhere(); + void feather6UsePhaser(); + void feather6LookAtEastExit(); + void feather6LookAnywhere(); + void feather6LookAtRocks(); + void feather6LookAtStalagmites(); + void feather6LookAtCrystals(); + void feather6LookAtKirk(); + void feather6LookAtSpock(); + void feather6LookAtMccoy(); + void feather6LookAtRedshirt(); + void feather6LookAtStalactites(); + void feather6TalkToMccoy(); + void feather6TalkToRedshirt(); + void feather6TalkToSpock(); + void feather6UseMTricorderOnEastExit(); + void feather6UseMTricorderOnRocks(); + void feather6UseSTricorderOnEastExit(); + void feather6UseSTricorderAnywhere(); + void feather6UseSTricorderOnRocks(); + void feather6UseSTricorderOnCrystals(); + void feather6UseSTricorderOnStalactites(); + void feather6UseSTricorderOnStalagmites(); + void feather6GetCrystals(); + void feather6UseKnifeOnCrystals(); + void feather6ReachedCrystalsWithKnife(); + void feather6DoneCuttingCrystals(); + void feather6Timer4Expired(); // FEATHER7 void feather7Tick1(); @@ -1788,6 +1838,9 @@ private: // feather2 bool showedSnakeToTlaoxac; // 0xca bool tlaoxacUnconscious; // 0xcb + + // feather6 + bool usedRockOnCrystalsOnce; } feather; diff --git a/engines/startrek/rooms/feather6.cpp b/engines/startrek/rooms/feather6.cpp index 227007ac0d..c75781402c 100644 --- a/engines/startrek/rooms/feather6.cpp +++ b/engines/startrek/rooms/feather6.cpp @@ -22,14 +22,363 @@ #include "startrek/room.h" -#define OBJECT_8 8 +#define OBJECT_CRYSTALS 8 +#define OBJECT_STALACTITES 9 +#define OBJECT_THROWN_STONE 10 -#define HOTSPOT_20 0x20 +#define HOTSPOT_EAST_EXIT 0x20 +#define HOTSPOT_ROCKS 0x21 +#define HOTSPOT_STALACTITES 0x22 +#define HOTSPOT_STALAGMITES 0x23 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 }, + + // 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 }, +}; + +extern const int feather6NumActions = sizeof(feather6ActionList) / sizeof(RoomAction); + + void Room::feather6Tick1() { + playVoc("FEA6LOOP"); + playMidiMusicTracks(27); + loadActorAnim(OBJECT_CRYSTALS, "s5r6cx", 0x8a, 0x91); + loadActorAnim(OBJECT_STALACTITES, "s5r6ts", 0x90, 0x25); +} + +void Room::feather6TouchedHotspot0() { // McCoy warns you not to go back to the river + showText(TX_SPEAKER_MCCOY, TX_FEA6_014); +} + +void Room::feather6UseSpockOnCrystals() { + showText(TX_SPEAKER_SPOCK, TX_FEA6_020); +} + +void Room::feather6UseMccoyOnCrystals() { + showText(TX_SPEAKER_MCCOY, TX_FEA6_009); +} + +void Room::feather6UseRedshirtOnCrystals() { + showText(TX_SPEAKER_STRAGEY, TX_FEA6_040); +} + + +void Room::feather6UseRockOnStalactites() { + _vm->_awayMission.disableInput = true; + walkCrewmanC(OBJECT_KIRK, 0x94, 0x97, &Room::feather6ReachedPositionToThrowRock); +} + +void Room::feather6ReachedPositionToThrowRock() { + loadActorAnim2(OBJECT_KIRK, "s5r1kt"); + loadActorAnimC(OBJECT_THROWN_STONE, "s5r1ru", 0x96, 0x4e, &Room::feather6DoneThrowingRock); +} + +void Room::feather6DoneThrowingRock() { + playSoundEffectIndex(SND_BLANK_0b); + loadActorAnim2(OBJECT_STALACTITES, "s5r6tf"); + loadActorAnimC(OBJECT_KIRK, "s5r6kd", -1, -1, &Room::feather6KirkDiedFromStalactites); + playMidiMusicTracks(1); +} + +void Room::feather6KirkDiedFromStalactites() { + _vm->_awayMission.feather.missionScore -= 3; + _vm->_awayMission.feather.diedFromStalactites = true; + _vm->_awayMission.disableInput = false; + showText(TX_FEA6N000); + showText(TX_FEA6N004); + loadRoomIndex(7, 5); +} + +void Room::feather6UseRockOnCrystals() { + _vm->_awayMission.disableInput = true; + walkCrewmanC(OBJECT_KIRK, 0x9a, 0x97, &Room::feather6ReachedCrystalsWithRock); +} + +void Room::feather6ReachedCrystalsWithRock() { + _vm->_awayMission.timers[2] = 174; + loadActorAnim2(OBJECT_STALACTITES, "s5r6tm"); + if (!_roomVar.feather.usedRockOnCrystalsOnce) { + _roomVar.feather.usedRockOnCrystalsOnce = true; + loadActorAnimC(OBJECT_KIRK, "s5r6kr", -1, -1, &Room::feather6HitCrystalsWithRockFirstTime); + } else + loadActorAnimC(OBJECT_KIRK, "s5r6kr", -1, -1, &Room::feather6HitCrystalsWithRockSecondTime); +} + +void Room::feather6Tick() { + if (_vm->_awayMission.timers[2] == 55 || _vm->_awayMission.timers[2] == 89 || _vm->_awayMission.timers[2] == 119) + playSoundEffectIndex(SND_BLANK_0b); +} + +void Room::feather6HitCrystalsWithRockFirstTime() { + _vm->_awayMission.disableInput = false; + loadActorStandAnim(OBJECT_KIRK); + showText(TX_SPEAKER_KIRK, TX_FEA6_001); +} + +void Room::feather6HitCrystalsWithRockSecondTime() { + loadActorAnimC(OBJECT_KIRK, "s5r6kd", -1, -1, &Room::feather6KirkDiedFromStalactites); + loadActorAnim2(OBJECT_STALACTITES, "s5r6tf"); + playMidiMusicTracks(0); +} + +void Room::feather6UseRockOnStalagmites() { + showText(TX_SPEAKER_SPOCK, TX_FEA6_019); +} + +void Room::feather6UseRockAnywhere() { + // ENHANCEMENT: There were two implementations of this function. The first (which took + // precedence) showed TX_FEA6N009, a generic "nothing happens" text. The second is + // Spock advising you not to use rocks, which is more interesting. + showText(TX_SPEAKER_SPOCK, TX_FEA6_021); +} + +void Room::feather6UseKnifeOnStalagmites() { + showText(TX_SPEAKER_SPOCK, TX_FEA6_028); +} + +void Room::feather6UseKnifeAnywhere() { + showText(TX_FEA6N010); +} + +void Room::feather6UseKnifeOnMccoy() { + showText(TX_SPEAKER_STRAGEY, TX_FEA6_039); // BUGFIX: Speaker is Stragey (not Spock) +} + +void Room::feather6UseKnifeOnSpock() { + showText(TX_SPEAKER_STRAGEY, TX_FEA6_039); // BUGFIX: Speaker is Stragey (not Spock) +} + +void Room::feather6UseKnifeOnRedshirt() { + showText(TX_SPEAKER_STRAGEY, TX_FEA6_039); // BUGFIX: Speaker is Stragey (not Spock) +} + +void Room::feather6UseCrystalAnywhere() { + showText(TX_FEA6N015); +} + +void Room::feather6UseSnakeAnywhere() { + showText(TX_FEA6N001); +} + +void Room::feather6UseMedkitAnywhere() { + showText(TX_SPEAKER_MCCOY, TX_FEA6_011); +} + +void Room::feather6UsePhaser() { + showText(TX_SPEAKER_SPOCK, TX_FEA6_023); +} + +void Room::feather6LookAtEastExit() { + showText(TX_FEA6N016); +} + +void Room::feather6LookAnywhere() { + showText(TX_FEA6N003); +} + +void Room::feather6LookAtRocks() { + showText(TX_FEA6N014); +} + +void Room::feather6LookAtStalagmites() { + showText(TX_FEA6N013); +} + +void Room::feather6LookAtCrystals() { + showText(TX_FEA6N005); +} + +void Room::feather6LookAtKirk() { + showText(TX_FEA6N007); +} + +void Room::feather6LookAtSpock() { + showText(TX_FEA6N011); +} + +void Room::feather6LookAtMccoy() { + showText(TX_FEA6N002); +} + +void Room::feather6LookAtRedshirt() { + showText(TX_FEA6N008); +} + +void Room::feather6LookAtStalactites() { + showText(TX_FEA6N012); + showText(TX_SPEAKER_SPOCK, TX_FEA6_034); + showText(TX_SPEAKER_MCCOY, TX_FEA6_017); + showText(TX_SPEAKER_SPOCK, TX_FEA6_033); + + // BUG: Choice 2 (TX_FEA6_004) doesn't match with audio at all. + const TextRef choices[] = { + TX_SPEAKER_KIRK, + TX_FEA6_008, TX_FEA6_006, TX_FEA6_004, + TX_BLANK + }; + int choice = showText(choices); + + if (choice == 0) + showText(TX_SPEAKER_SPOCK, TX_FEA6_032); + else if (choice == 1) + showText(TX_SPEAKER_SPOCK, TX_FEA6_036); + else + showText(TX_SPEAKER_SPOCK, TX_FEA6_037); +} + +void Room::feather6TalkToMccoy() { + showText(TX_SPEAKER_MCCOY, TX_FEA6_013); +} + +void Room::feather6TalkToRedshirt() { + showText(TX_SPEAKER_STRAGEY, TX_FEA6_042); + showText(TX_SPEAKER_KIRK, TX_FEA6_002); + showText(TX_SPEAKER_STRAGEY, TX_FEA6_041); + showText(TX_SPEAKER_MCCOY, TX_FEA6_016); + showText(TX_SPEAKER_STRAGEY, TX_FEA6_043); +} + +void Room::feather6TalkToSpock() { + if (!_vm->_awayMission.redshirtDead) + showText(TX_SPEAKER_SPOCK, TX_FEA6_035); + else { + showText(TX_SPEAKER_SPOCK, TX_FEA6_038); + + const TextRef choices[] = { + TX_SPEAKER_KIRK, + TX_FEA6_003, TX_FEA6_005, TX_FEA6_007, + TX_BLANK + }; + int choice = showText(choices); + + if (choice == 0) + showText(TX_SPEAKER_SPOCK, TX_FEA6_029); + else if (choice == 1) + showText(TX_SPEAKER_SPOCK, TX_FEA6_030); + else + showText(TX_SPEAKER_SPOCK, TX_FEA6_031); + } +} + +void Room::feather6UseMTricorderOnEastExit() { + mccoyScan(DIR_E, TX_FEA6_012); +} + +void Room::feather6UseMTricorderOnRocks() { + // ENHANCEMENT: Original didn't play tricorder noise, etc + mccoyScan(DIR_E, TX_FEA6_015); +} + +void Room::feather6UseSTricorderOnEastExit() { + spockScan(DIR_E, TX_FEA6_024); +} + +void Room::feather6UseSTricorderAnywhere() { + spockScan(DIR_S, TX_FEA6_022); +} + +void Room::feather6UseSTricorderOnRocks() { + spockScan(DIR_N, TX_FEA6_018); +} + +void Room::feather6UseSTricorderOnCrystals() { + spockScan(DIR_N, TX_FEA6_027); +} + +void Room::feather6UseSTricorderOnStalactites() { + spockScan(DIR_N, TX_FEA6_025); +} + +void Room::feather6UseSTricorderOnStalagmites() { + spockScan(DIR_N, TX_FEA6_026); +} + +void Room::feather6GetCrystals() { + showText(TX_FEA6N020); +} + +void Room::feather6UseKnifeOnCrystals() { + _vm->_awayMission.disableInput = true; + walkCrewmanC(OBJECT_KIRK, 0x9a, 0x97, &Room::feather6ReachedCrystalsWithKnife); +} + +void Room::feather6ReachedCrystalsWithKnife() { + loadActorAnimC(OBJECT_KIRK, "s5r6kp", -1, -1, &Room::feather6DoneCuttingCrystals); + _vm->_awayMission.timers[4] = 122; +} + +void Room::feather6DoneCuttingCrystals() { + _vm->_awayMission.disableInput = false; + loadActorStandAnim(OBJECT_KIRK); + _vm->_awayMission.feather.missionScore += 1; + giveItem(OBJECT_ICRYSTAL); + showText(TX_FEA6N017); +} +void Room::feather6Timer4Expired() { // Crystal disappears when timer 4 expires + loadActorStandAnim(OBJECT_CRYSTALS); } } diff --git a/engines/startrek/rooms/function_map.h b/engines/startrek/rooms/function_map.h index ab53a11159..1bc32ff544 100644 --- a/engines/startrek/rooms/function_map.h +++ b/engines/startrek/rooms/function_map.h @@ -1782,12 +1782,8 @@ RoomAction feather0ActionList[] = { extern const RoomAction feather1ActionList[], feather2ActionList[], feather3ActionList[], feather4ActionList[]; extern const int feather1NumActions, feather2NumActions, feather3NumActions, feather4NumActions; -extern const RoomAction feather5ActionList[]; -extern const int feather5NumActions; - -RoomAction feather6ActionList[] = { - { {ACTION_TICK, 1, 0, 0}, &Room::feather6Tick1 }, -}; +extern const RoomAction feather5ActionList[], feather6ActionList[]; +extern const int feather5NumActions, feather6NumActions; RoomAction feather7ActionList[] = { { {ACTION_TICK, 1, 0, 0}, &Room::feather7Tick1 }, diff --git a/engines/startrek/text.h b/engines/startrek/text.h index efa4abb666..0cc26b58ba 100644 --- a/engines/startrek/text.h +++ b/engines/startrek/text.h @@ -1885,6 +1885,71 @@ enum GameStringIDs { TX_FEA5N015, + TX_FEA6_001, + TX_FEA6_002, + TX_FEA6_003, + TX_FEA6_004, + TX_FEA6_005, + TX_FEA6_006, + TX_FEA6_007, + TX_FEA6_008, + TX_FEA6_009, + TX_FEA6_011, + TX_FEA6_012, + TX_FEA6_013, + TX_FEA6_014, + TX_FEA6_015, + TX_FEA6_016, + TX_FEA6_017, + TX_FEA6_018, + TX_FEA6_019, + TX_FEA6_020, + TX_FEA6_021, + TX_FEA6_022, + TX_FEA6_023, + TX_FEA6_024, + TX_FEA6_025, + TX_FEA6_026, + TX_FEA6_027, + TX_FEA6_028, + TX_FEA6_029, + TX_FEA6_030, + TX_FEA6_031, + TX_FEA6_032, + TX_FEA6_033, + TX_FEA6_034, + TX_FEA6_035, + TX_FEA6_036, + TX_FEA6_037, + TX_FEA6_038, + TX_FEA6_039, + TX_FEA6_040, + TX_FEA6_041, + TX_FEA6_042, + TX_FEA6_043, + TX_FEA6N000, + TX_FEA6N001, + TX_FEA6N002, + TX_FEA6N003, + TX_FEA6N004, + TX_FEA6N005, + TX_FEA6N006, + TX_FEA6N007, + TX_FEA6N008, + TX_FEA6N009, + TX_FEA6N010, + TX_FEA6N011, + TX_FEA6N012, + TX_FEA6N013, + TX_FEA6N014, + TX_FEA6N015, + TX_FEA6N016, + TX_FEA6N017, + TX_FEA6N020, + TX_FEA6N028, + TX_FEA6N029, + + TX_SIN3_012, @@ -3705,6 +3770,71 @@ const char * const g_gameStrings[] = { "#FEA5\\FEA5N015#You already have a piece of the plant.", + "#FEA6\\FEA6_001#I think I can get it with a few more blows.", + "#FEA6\\FEA6_002#Have you ever made it up the face of Half Dome, Lieutenant?", + "#FEA6\\FEA6_003#Perhaps we should hold onto that hope, Mr. Spock, that a civilised being will not kill for trivial motives.", + "#FEA6\\FEA6_004#Sometimes I feel like I'm the Captain of a nursery school.", + "#FEA6\\FEA6_005#That creature was quite real Mr. Spock. We will discuss this with our host, when we see him.", + "#FEA6\\FEA6_006#Then, gentlemen, I would advise you to stop arguing.", + "#FEA6\\FEA6_007#Unfortunately, human history is full of people who did not practice what they preached. Quetzecoatl is just one in a long line of them.", + "#FEA6\\FEA6_008#Will you two morons stop arguing just once!", + "#FEA6\\FEA6_009#Damn it Jim, I'm a surgeon not a geologist.", + "#FEA6\\FEA6_011#Everyone is healthy, Jim, there's no need for the medical kit here.", + "#FEA6\\FEA6_012#It would appear that our tentacled friend wants dessert. You can't go back that way, unless you enjoy being eaten.", + "#FEA6\\FEA6_013#I've lost any appetite I may have had for squid, Jim", + "#FEA6\\FEA6_014#Jim! Going back across that river would be insane.", + "#FEA6\\FEA6_015#Well, they're not organic. What did you think they were, calcified tribbles?", + "#FEA6\\FEA6_016#Captains and security officers. They don't realize how fragile the human body can be.", + "#FEA6\\FEA6_017#Well isn't that just great!", + "#FEA6\\FEA6_018#Fascinating. These rocks are limestone, but contain an unusually high content of heavy metals. There are dilithium crystals here, but in a very raw form.", + "#FEA6\\FEA6_019#I fail to see any logic in that action, Captain It may also cause stalactites to fall.", + "#FEA6\\FEA6_020#I would suggest using something to pry that loose, Captain.", + "#FEA6\\FEA6_021#It is unwise to use a rock here, Captain.", + "#FEA6\\FEA6_022#My tricorder indicates unusual energy patterns in this direction, Captain.", + "#FEA6\\FEA6_023#Still inoperative, Captain.", + "#FEA6\\FEA6_024#The creature is still there, Captain.", + "#FEA6\\FEA6_025#These stalactites were made from limestone deposits. They took millennia to form.", + "#FEA6\\FEA6_026#These stalagmites were made from limestone deposits. They took millennia to form.", + "#FEA6\\FEA6_027#This appears to be a formation of raw dilithium crystals, Captain.", + "#FEA6\\FEA6_028#This illogical action would only dull the knife.", + "#FEA6\\FEA6_029#Agreed, Captain.", + "#FEA6\\FEA6_030#This whole experience feels like a test. The equivalent of 20th Century earth lab rats running through a maze.", + "#FEA6\\FEA6_031#I would wait until we meet him before judging him, Captain.", + "#FEA6\\FEA6_032#Captain, I cannot speak for Dr. McCoy, but my intelligence quotient is far higher than humans...", + "#FEA6\\FEA6_033#Doctor, I would point out that your voice could also trigger such a collapse.", + "#FEA6\\FEA6_034#I should warn you that the stalactites could collapse quite easily. Any sudden motion could cause large quantities of stalactites to fall on us.", + "#FEA6\\FEA6_035#I would suggest we continue on, Captain. It would not be logical to endanger ourselves by remaining here.", + "#FEA6\\FEA6_036#It would seem to be a prudent course of action Captain, if Doctor McCoy would agree.", + "#FEA6\\FEA6_037#Really? That's fascinating Captain.", + "#FEA6\\FEA6_038#There is a contradiction, Captain. If Quetzecoatl is really an entity of peace, then Lt. Stragey should not have died.", + "#FEA6\\FEA6_039#Captain, have we done something wrong?", + "#FEA6\\FEA6_040#I don't think I'll be able to get a good grip sir. You might try prying it loose.", + "#FEA6\\FEA6_041#If we ever get back to Earth, one hundred credits says I'll beat you.", + "#FEA6\\FEA6_042#Reminds me of some spelunking I did on Hades IV. Ever do any climbing, Captain?", + "#FEA6\\FEA6_043#Sure we do. That's the challenge.", + "#FEA6\\FEA6N000#A stalagtite breaks loose and falls. You are mortally injured and die.", + "#FEA6\\FEA6N001#An interesting, but useless, manuever.", + "#FEA6\\FEA6N002#As usual, Dr. McCoy looks annoyed by the mission. ", + "#FEA6\\FEA6N003#Darkness, leading into the unknown.", + "#FEA6\\FEA6N004#However, a strange force envelopes your body...", + "#FEA6\\FEA6N005#It is a large cluster of crystals.", + "#FEA6\\FEA6N006#It's Game Over man...", + "#FEA6\\FEA6N007#James Kirk remembers the last time he was in a cave, and is glad that this one seems more peaceful.", + "#FEA6\\FEA6N008#Lieutenant Stragey looks nervously at the stalactites hovering precariously above you.", + "#FEA6\\FEA6N009#Nothing happens.", + "#FEA6\\FEA6N010#Nothing happens.", + "#FEA6\\FEA6N011#Spock is his usual stoic self.", + "#FEA6\\FEA6N012#Stalactites descend from the ceiling.", + "#FEA6\\FEA6N013#Stalagmites rise from the floor of the cave.", + "#FEA6\\FEA6N014#They appear to be ordinary rocks. Spock's tricorder might say otherwise.", + "#FEA6\\FEA6N015#This is one place where dilithium crystals don't seem to be very useful.", + "#FEA6\\FEA6N016#This is the way that you entered the cave. If you leave this way, the tentacled creature that attack you will probably try to get a second course for its dinner.", + "#FEA6\\FEA6N017#You have one dilithium crystal, in raw form.", + "#FEA6\\FEA6N020#You will need something to pry it loose.", + "#FEA6\\FEA6N028#You manage to pry loose one dilithium crystal.", + "#FEA6\\FEA6N029#You scratch your initials. No dilithium crystals were found.", + + "#SIN3\\SIN3_012#Can't say I like the decor.", |