From 0243d5b677c758f7b88598326e84d3d1034bd166 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 29 Jul 2016 21:57:35 -0400 Subject: TITANIC: Add NPC preResponse methods --- engines/titanic/true_talk/barbot_script.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'engines/titanic/true_talk/barbot_script.cpp') 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 { -- cgit v1.2.3