diff options
author | Matthew Stewart | 2018-07-10 02:08:37 -0400 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | 4375614528534a01628f6ba0c92d1c1b369d7b94 (patch) | |
tree | 7e02b4134a961986923a2e99d51dffb85049bf8c /engines/startrek | |
parent | a1bc22f62a4df11dcebfc8b0ccb712a0426c194f (diff) | |
download | scummvm-rg350-4375614528534a01628f6ba0c92d1c1b369d7b94.tar.gz scummvm-rg350-4375614528534a01628f6ba0c92d1c1b369d7b94.tar.bz2 scummvm-rg350-4375614528534a01628f6ba0c92d1c1b369d7b94.zip |
STARTREK: TRIAL4
Diffstat (limited to 'engines/startrek')
-rw-r--r-- | engines/startrek/room.h | 1 | ||||
-rw-r--r-- | engines/startrek/rooms/trial4.cpp | 152 | ||||
-rw-r--r-- | engines/startrek/text.h | 148 |
3 files changed, 300 insertions, 1 deletions
diff --git a/engines/startrek/room.h b/engines/startrek/room.h index 236f24cabe..ca47f44eea 100644 --- a/engines/startrek/room.h +++ b/engines/startrek/room.h @@ -1949,6 +1949,7 @@ public: // TRIAL4 void trial4Tick1(); + void trial4Tick60(); // TRIAL5 void trial5Tick1(); diff --git a/engines/startrek/rooms/trial4.cpp b/engines/startrek/rooms/trial4.cpp index 39869aa577..1a55e9206b 100644 --- a/engines/startrek/rooms/trial4.cpp +++ b/engines/startrek/rooms/trial4.cpp @@ -22,16 +22,166 @@ #include "startrek/room.h" +#define OBJECT_VLICT 8 +#define OBJECT_GUARD 9 +#define OBJECT_QUETZECOATL 10 + namespace StarTrek { extern const RoomAction trial4ActionList[] = { - { {ACTION_TICK, 1, 0, 0}, &Room::trial4Tick1 }, + { {ACTION_TICK, 1, 0, 0}, &Room::trial4Tick1 }, + { {ACTION_TICK, 60, 0, 0}, &Room::trial4Tick60 }, }; extern const int trial4NumActions = sizeof(trial4ActionList) / sizeof(RoomAction); void Room::trial4Tick1() { + playVoc("TRI4LOOP"); + + loadActorAnim2(OBJECT_VLICT, "vlict1", 0x9f, 0x48); + loadActorAnim2(OBJECT_GUARD, "kgstnd", 0xdc, 0x6a); + loadActorAnim2(OBJECT_QUETZECOATL, "qstand", 0x10e, 0xaa); + + playMidiMusicTracks(MIDITRACK_32, -1); +} + +void Room::trial4Tick60() { + showText(TX_SPEAKER_VLICT, TX_TRI4_061); + + const TextRef choices[] = { + TX_SPEAKER_KIRK, + TX_TRI4_022, TX_TRI4_039, TX_TRI4_032, + TX_BLANK + }; + int choice = showText(choices); + + if (choice == 0) { // "You were trying to kill us" + showText(TX_SPEAKER_VLICT, TX_TRI4_064); + + const TextRef choices2[] = { + TX_SPEAKER_KIRK, + TX_TRI4_033, TX_TRI4_009, TX_TRI4_002, + TX_BLANK + }; + showText(choices2); // choice doesn't matter + + showText(TX_SPEAKER_VLICT, TX_TRI4_062); + showText(TX_SPEAKER_KIRK, TX_TRI4_014); + showText(TX_SPEAKER_VLICT, TX_TRI4_066); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_043); + + const TextRef choices3[] = { + TX_SPEAKER_KIRK, + TX_TRI4_029, TX_TRI4_020, TX_TRI4_030, + TX_BLANK + }; + choice = showText(choices3); + + if (choice == 0) { // "Then you have my deepest respect" + // Nothing more + } else if (choice == 1) { // "Make it a painless death" + showText(TX_SPEAKER_VLICT, TX_TRI4_063); + } else if (choice == 2) { // "I hope you chose the right time" + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_040); + } + } else if (choice == 1) { // "Use of guile is honorable?" + showText(TX_SPEAKER_VLICT, TX_TRI4_060); + showText(TX_SPEAKER_KIRK, TX_TRI4_013); + showText(TX_SPEAKER_VLICT, TX_TRI4_072); + showText(TX_SPEAKER_KIRK, TX_TRI4_015); + showText(TX_SPEAKER_VLICT, TX_TRI4_071); + showText(TX_SPEAKER_KIRK, TX_TRI4_005); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_052); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_041); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_051); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_053); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_050); + showText(TX_SPEAKER_VLICT, TX_TRI4_070); + + const TextRef choices2[] = { + TX_SPEAKER_KIRK, + TX_TRI4_019, TX_TRI4_025, TX_TRI4_008, + TX_BLANK + }; + choice = showText(choices2); + + if (choice == 1) { // Threatened Vlict + showText(TX_SPEAKER_VLICT, TX_TRI4_069); + showText(TX_SPEAKER_KIRK, TX_TRI4_004); + } // else, nothing more + } else if (choice == 2) { // "You didn't say I couldn't use my ship" + showText(TX_SPEAKER_VLICT, TX_TRI4_058); + + const TextRef choices2[] = { + TX_SPEAKER_KIRK, + TX_TRI4_027, TX_TRI4_034, TX_TRI4_018, + TX_BLANK + }; + choice = showText(choices2); + + if (choice == 0) { // "Let's stop playing games" + showText(TX_SPEAKER_VLICT, TX_TRI4_075); + showText(TX_SPEAKER_KIRK, TX_TRI4_017); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_042); + showText(TX_SPEAKER_VLICT, TX_TRI4_054); + + const TextRef choices3[] = { + TX_SPEAKER_KIRK, + TX_TRI4_028, TX_TRI4_021, TX_TRI4_031, + TX_BLANK + }; + choice = showText(choices3); + + if (choice == 0 || choice == 1) { + showText(TX_SPEAKER_VLICT, TX_TRI4_068); + showText(TX_SPEAKER_MCCOY, TX_TRI4_036); + } else if (choice == 2) { + showText(TX_SPEAKER_VLICT, TX_TRI4_056); + showText(TX_SPEAKER_KIRK, TX_TRI4_001); + } + } else if (choice == 1) { // "You lost, release Quetzecoatl" + showText(TX_SPEAKER_VLICT, TX_TRI4_076); + showText(TX_SPEAKER_MCCOY, TX_TRI4_037); + showText(TX_SPEAKER_VLICT, TX_TRI4_073); + showText(TX_SPEAKER_KIRK, TX_TRI4_011); + showText(TX_SPEAKER_VLICT, TX_TRI4_059); + } else if (choice == 2) { // "Nature beat me to it" + showText(TX_SPEAKER_VLICT, TX_TRI4_065); + showText(TX_SPEAKER_KIRK, TX_TRI4_016); + showText(TX_SPEAKER_VLICT, TX_TRI4_074); + + const TextRef choices3[] = { + TX_SPEAKER_KIRK, + TX_TRI4_026, TX_TRI4_024, TX_TRI4_023, + TX_BLANK + }; + choice = showText(choices3); + + if (choice == 0) { // "The empire will learn you betrayed them" + showText(TX_SPEAKER_VLICT, TX_TRI4_057); + showText(TX_SPEAKER_SPOCK, TX_TRI4_038); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_044); + showText(TX_SPEAKER_KIRK, TX_TRI4_006); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_048); + } else if (choice == 1) { // "You didn't give him a fair trial" + showText(TX_SPEAKER_VLICT, TX_TRI4_055); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_045); + showText(TX_SPEAKER_KIRK, TX_TRI4_003); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_047); + showText(TX_SPEAKER_KIRK, TX_TRI4_010); + } else if (choice == 2) { // "How can a liar like you say 'honor'" + showText(TX_SPEAKER_VLICT, TX_TRI4_067); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_046); + showText(TX_SPEAKER_KIRK, TX_TRI4_007); + showText(TX_SPEAKER_QUETZECOATL, TX_TRI4_049); + } + } + } + + showText(TX_SPEAKER_KIRK, TX_TRI4_012); + _vm->_awayMission.trial.field5f = 2; + endMission(_vm->_awayMission.trial.missionScore, _vm->_awayMission.trial.field2b, 2); } } diff --git a/engines/startrek/text.h b/engines/startrek/text.h index d7774038c7..88fbca0e82 100644 --- a/engines/startrek/text.h +++ b/engines/startrek/text.h @@ -2268,6 +2268,80 @@ enum GameStringIDs { TX_TRI3U099, + TX_TRI4_001, + TX_TRI4_002, + TX_TRI4_003, + TX_TRI4_004, + TX_TRI4_005, + TX_TRI4_006, + TX_TRI4_007, + TX_TRI4_008, + TX_TRI4_009, + TX_TRI4_010, + TX_TRI4_011, + TX_TRI4_012, + TX_TRI4_013, + TX_TRI4_014, + TX_TRI4_015, + TX_TRI4_016, + TX_TRI4_017, + TX_TRI4_018, + TX_TRI4_019, + TX_TRI4_020, + TX_TRI4_021, + TX_TRI4_022, + TX_TRI4_023, + TX_TRI4_024, + TX_TRI4_025, + TX_TRI4_026, + TX_TRI4_027, + TX_TRI4_028, + TX_TRI4_029, + TX_TRI4_030, + TX_TRI4_031, + TX_TRI4_032, + TX_TRI4_033, + TX_TRI4_034, + TX_TRI4_036, + TX_TRI4_037, + TX_TRI4_038, + TX_TRI4_039, + TX_TRI4_040, + TX_TRI4_041, + TX_TRI4_042, + TX_TRI4_043, + TX_TRI4_044, + TX_TRI4_045, + TX_TRI4_046, + TX_TRI4_047, + TX_TRI4_048, + TX_TRI4_049, + TX_TRI4_050, + TX_TRI4_051, + TX_TRI4_052, + TX_TRI4_053, + TX_TRI4_054, + TX_TRI4_055, + TX_TRI4_056, + TX_TRI4_057, + TX_TRI4_058, + TX_TRI4_059, + TX_TRI4_060, + TX_TRI4_061, + TX_TRI4_062, + TX_TRI4_063, + TX_TRI4_064, + TX_TRI4_065, + TX_TRI4_066, + TX_TRI4_067, + TX_TRI4_068, + TX_TRI4_069, + TX_TRI4_070, + TX_TRI4_071, + TX_TRI4_072, + TX_TRI4_073, + TX_TRI4_074, + TX_TRI4_075, TX_TRI4_076, @@ -4457,6 +4531,80 @@ const char * const g_gameStrings[] = { "#TRI3\\TRI3U099#Mr. Scott has found a way to breach the force field!", + "#TRI4\\TRI4_001#Admiral, one day the weaklings are going to surprise the Hell out of you.", + "#TRI4\\TRI4_002#Do Klingons believe in ghosts?", + "#TRI4\\TRI4_003#I didn't want it to end like this.", + "#TRI4\\TRI4_004#I don't really give a damn.", + "#TRI4\\TRI4_005#I won't let you. I chal...", + "#TRI4\\TRI4_006#I'm sorry we couldn't do more.", + "#TRI4\\TRI4_007#I'm sorry we couldn't do more.", + "#TRI4\\TRI4_008#Justice?", + "#TRI4\\TRI4_009#Maybe you aren't as good as you think you are.", + "#TRI4\\TRI4_010#No it isn't.", + "#TRI4\\TRI4_011#Nothing you have done has been honorable, Vlict! One day, everyone in the Klingon empire will know it too. Perhaps one day even you will realize it.", + "#TRI4\\TRI4_012#Scotty, beam us up.", + "#TRI4\\TRI4_013#Then you admit that it was you, and not Quetzecoatl who was responsible for the death of Hrakkour.", + "#TRI4\\TRI4_014#Then you admit this trial is a sham! A charade!", + "#TRI4\\TRI4_015#Then you will not object to presenting the orders from the Klingon Council authorizing mass murder on Hrakkour.", + "#TRI4\\TRI4_016#We beat you, Vlict. Unless you free Quetzecoatl, you will lose your honor!", + "#TRI4\\TRI4_017#What!", + "#TRI4\\TRI4_018#As we say on Earth, Vlict, nature beat me to it.", + "#TRI4\\TRI4_019#Did you listen to anything he said? One day, in spite of people like you, the Klingons will know peace. I hope I live to see that day.", + "#TRI4\\TRI4_020#Farewell my friend. Vlict, if you respect honor, you will make it a quick, painless death.", + "#TRI4\\TRI4_021#He knows more about courage than you or your Empire will ever know.", + "#TRI4\\TRI4_022#Honor? Give me a break, Vlict! You were trying to kill us!", + "#TRI4\\TRI4_023#How can a liar like you even say the word \"honor\" without blushing?", + "#TRI4\\TRI4_024#How can you call him a traitor without giving him a fair trail!", + "#TRI4\\TRI4_025#I do not know if you are a praying man, Vlict. If I were you, I would not want to meet me again.", + "#TRI4\\TRI4_026#If you kill him, the Empire will learn that you betrayed them by destroying Hrakkour.", + "#TRI4\\TRI4_027#Isn't it time that we stopped playing games, Vlict?", + "#TRI4\\TRI4_028#Shut up Vlict.", + "#TRI4\\TRI4_029#Then you have my deepest respect. I am sorry I cannot do more for you.", + "#TRI4\\TRI4_030#There's a time to fight for what you believe, and a time to die for it. I hope you chose the right time, Quetzecoatl.", + "#TRI4\\TRI4_031#Vlict is right, Quetzecoatl. This is suicide. It is a cowardly action.", + "#TRI4\\TRI4_032#You didn't say I wasn't allowed to use my ship's computer. If you didn't explain the rules clearly, whose fault is that?", + "#TRI4\\TRI4_033#You don't lie very well, do you?", + "#TRI4\\TRI4_034#You lost, Vlict. I beat your test. Release Quetzecoatl and let us go!", + "#TRI4\\TRI4_036#Jim! You can't let him do this!", + "#TRI4\\TRI4_037#You never had any intention of letting Quetzecoatl live!", + "#TRI4\\TRI4_038#He is correct, Captain.", + "#TRI4\\TRI4_039#I believe that the use of guile, to do what an enemy does not expect, is considered very honorable by the Klingons.", + "#TRI4\\TRI4_040#As do I. My only regret is that I did not get to know you better. If only a part of what you are is because you learned from the mistakes of my acolytes, my work was not in vain.", + "#TRI4\\TRI4_041#But before I die, I believe that Klingon law allows me to make a public statement.", + "#TRI4\\TRI4_042#Captain, I do not see any successful resolution to this, except with my death. Dying to prevent conflict would give it meaning.", + "#TRI4\\TRI4_043#Captain, I taught others self-sacrifice. Now I must practice what I preached. It is the only way to atone for my crimes.", + "#TRI4\\TRI4_044#Captain, I thank you for your efforts on my behalf, but it is over.", + "#TRI4\\TRI4_045#Captain, I thank you for your efforts on my behalf, but it is over.", + "#TRI4\\TRI4_046#Captain, I thank you for your efforts on my behalf, but it is over.", + "#TRI4\\TRI4_047#I know Captain. But it's better this way.", + "#TRI4\\TRI4_048#I know Captain.", + "#TRI4\\TRI4_049#I know, Captain.", + "#TRI4\\TRI4_050#I, who was once immortal, know that truth is the only true immortal. You can kill people, cultures, even gods, but the truth will always survive.", + "#TRI4\\TRI4_051#Intelligent beings are not meant to be caged, either by tyranny, or barbarism. Those who try doom themselves to failure.", + "#TRI4\\TRI4_052#No captain. Let there be an end to this violence. I will not allow any more blood to be shed, save my own. I taught the doctrine of self-sacrifice, and I shall die of it.", + "#TRI4\\TRI4_053#Once a culture has tasted peace, it will not desire anything else, because peace is better than war, love is better than hate, and creation is better than destruction. This is Truth.", + "#TRI4\\TRI4_054#A coward's attitude. He shames this soil.", + "#TRI4\\TRI4_055#As judge, I determine what is fair and what is unfair, Kirk! The trial is at an end. The verdict is guilty.", + "#TRI4\\TRI4_056#As long as the Federation continues to foster such weaklings, the triumph of the Klingon Empire is assured.", + "#TRI4\\TRI4_057#Do not threaten me, Kirk! If you expect the Empire will believe you instead of me, you are greatly mistaken.", + "#TRI4\\TRI4_058#Do you think that you can make a fool of me, Kirk!", + "#TRI4\\TRI4_059#Go back to your Federation, Kirk!", + "#TRI4\\TRI4_060#How dare you lecture me on points of honor! I, the most decorated warrior in the entire empire! I, who took the dishonored trash of my homeworld and destroyed it with a fist of steel!", + "#TRI4\\TRI4_061#How dare you! The test was supposed to take place without interference from your ship. You have shown all lack of honor.", + "#TRI4\\TRI4_062#I am tired of this posturing, Kirk. You know what the verdict is. Go back to your ship.", + "#TRI4\\TRI4_063#I shall agree to it, Captain. Until we meet again.", + "#TRI4\\TRI4_064#If I had been trying to murder you, Kirk, you would have surely died.", + "#TRI4\\TRI4_065#If I was not bound by the Organian treaty, you would be a dead man now, Kirk! Perhaps one day, I shall not be bound by it.", + "#TRI4\\TRI4_066#Of course it was, you fool! Did you honestly expect us to act with kindness to traitors? You fought a battle that you could not win, and fought it very well. Go home, Kirk.", + "#TRI4\\TRI4_067#Perhaps because Klingons do not blush. You've lost, Kirk. Go home.", + "#TRI4\\TRI4_068#Return to your ship, Kirk. The trial is over.", + "#TRI4\\TRI4_069#Such threats, Kirk, will only increase my longing for the experience.", + "#TRI4\\TRI4_070#The death ceremony shall take place aboard the K'lirta. I trust you are satisfied that justice has been done.", + "#TRI4\\TRI4_071#The trial is over! He is guilty. Durn, carry out the sentence!", + "#TRI4\\TRI4_072#Those who lose honor lose life, Kirk! It is the Klingon way!", + "#TRI4\\TRI4_073#To allow a traitor to live would dishonor me. I will not live with such a stain on my honor.", + "#TRI4\\TRI4_074#To free a traitor is to lose all honor, Kirk! He is sentenced to die!", + "#TRI4\\TRI4_075#Very well. The trial is over. K'etz'koatl is sentenced to death.", "#TRI4\\TRI4_076#You humans have an excellent imagination, but a poor grasp of reality.", |