aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/true_talk/barbot_script.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-07-29 21:57:35 -0400
committerPaul Gilbert2016-07-29 21:57:35 -0400
commit0243d5b677c758f7b88598326e84d3d1034bd166 (patch)
treee0a36bb19aba1f0a2dbbebdb0767dce2379a70d2 /engines/titanic/true_talk/barbot_script.cpp
parent0ab3c53e15507fc410507f5500e70fb53e7fc6fe (diff)
downloadscummvm-rg350-0243d5b677c758f7b88598326e84d3d1034bd166.tar.gz
scummvm-rg350-0243d5b677c758f7b88598326e84d3d1034bd166.tar.bz2
scummvm-rg350-0243d5b677c758f7b88598326e84d3d1034bd166.zip
TITANIC: Add NPC preResponse methods
Diffstat (limited to 'engines/titanic/true_talk/barbot_script.cpp')
-rw-r--r--engines/titanic/true_talk/barbot_script.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/titanic/true_talk/barbot_script.cpp b/engines/titanic/true_talk/barbot_script.cpp
index 1c652faf11..81682a2f7e 100644
--- a/engines/titanic/true_talk/barbot_script.cpp
+++ b/engines/titanic/true_talk/barbot_script.cpp
@@ -52,6 +52,7 @@ BarbotScript::BarbotScript(int val1, const char *charClass, int v2,
_tagMappings.load("TagMap/Barbot");
_quotes.load("Quotes/Barbot");
_states.load("States/Barbot");
+ _preResponses.load("PreResponses/Barbot");
}
void BarbotScript::setupSentences() {
@@ -975,7 +976,7 @@ int BarbotScript::updateState(uint oldId, uint newId, int index) {
}
for (uint idx = 0; idx < _states.size(); ++idx) {
- const TTupdateState3 &us = _states[idx];
+ const TTupdateState &us = _states[idx];
if (us._newId == newId) {
if ((us._dialBits & 1) && !getDialRegion(0))
continue;
@@ -998,9 +999,11 @@ int BarbotScript::updateState(uint oldId, uint newId, int index) {
return newId;
}
-int BarbotScript::proc22(int id) const {
- warning("TODO");
- return 0;
+int BarbotScript::preResponse(uint id) {
+ if (getDialRegion(0) == 0 && getRandomNumber(100) > 80)
+ return 251250;
+
+ return _preResponses.find(id);
}
uint BarbotScript::getDialsBitset() const {