aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/rooms.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/drascula/rooms.cpp')
-rw-r--r--engines/drascula/rooms.cpp46
1 files changed, 24 insertions, 22 deletions
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index fe1e65120e..a35b8b9f66 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -1524,13 +1524,7 @@ bool DrasculaEngine::checkAction(int fl) {
talk(495);
} else
hasAnswer = 0;
- } else if (currentChapter == 5) {
- if (pickedObject == kVerbLook && fl == 9) {
- talk(482);
- talk(483);
- } else
- hasAnswer = 0;
- } else if (currentChapter == 6) {
+ } else if (currentChapter == 5 || currentChapter == 6) {
if (pickedObject == kVerbLook && fl == 9) {
talk(482);
talk(483);
@@ -1854,21 +1848,29 @@ void DrasculaEngine::enterRoom(int roomIndex) {
flags[7] = 1;
updateRoom();
updateScreen();
- talk(228);
- talk_werewolf(1);
- talk_werewolf(2);
- pause(23);
- talk(229);
- talk_werewolf(3);
- talk_werewolf(4);
- talk(230);
- talk_werewolf(5);
- talk(231);
- talk_werewolf(6);
- talk_werewolf(7);
- pause(33);
- talk(232);
- talk_werewolf(8);
+
+ // TODO: eventually move this to drascula.dat, along with any other
+ // sequences
+ TalkSequenceCommand room45Seq[] = {
+ // Chapter, sequence, command type, action
+ { -1, -1, kTalkerGeneral, 228 },
+ { -1, -1, kTalkerWerewolf, 1 },
+ { -1, -1, kTalkerWerewolf, 2 },
+ { -1, -1, kPause, 23 },
+ { -1, -1, kTalkerGeneral, 229 },
+ { -1, -1, kTalkerWerewolf, 3 },
+ { -1, -1, kTalkerWerewolf, 4 },
+ { -1, -1, kTalkerGeneral, 230 },
+ { -1, -1, kTalkerWerewolf, 5 },
+ { -1, -1, kTalkerGeneral, 231 },
+ { -1, -1, kTalkerWerewolf, 6 },
+ { -1, -1, kTalkerWerewolf, 7 },
+ { -1, -1, kPause, 33 },
+ { -1, -1, kTalkerGeneral, 232 },
+ { -1, -1, kTalkerWerewolf, 8 },
+ };
+
+ playTalkSequence(room45Seq, ARRAYSIZE(room45Seq));
}
}