From 30f0da8660d3cc389cfdec307c526cef432d668d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 8 Apr 2018 19:51:50 -0400 Subject: XEEN: Fix reading and setting character specific flags --- engines/xeen/party.cpp | 8 ++++---- engines/xeen/scripts.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/xeen') diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp index cb8072f060..eafc026e34 100644 --- a/engines/xeen/party.cpp +++ b/engines/xeen/party.cpp @@ -1412,16 +1412,16 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int _gold += _vm->getRandomNumber(1, giveVal); break; case 103: - assert(takeVal < 128); - _worldFlags[takeVal] = true; + assert(giveVal < 128); + _worldFlags[giveVal] = true; break; case 104: assert(giveVal < 30); _questFlags[files._ccNum][giveVal] = true; break; case 107: - assert(takeVal < 24); - _characterFlags[ps._rosterId][takeVal] = true; + assert(giveVal < 24); + _characterFlags[ps._rosterId][giveVal] = true; break; default: break; diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index df94845ce8..464130be69 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -1829,7 +1829,7 @@ bool Scripts::ifProc(int action, uint32 val, int mode, int charIndex) { break; case 107: // Get value of character flag - error("Unused"); + v = party._characterFlags[ps->_rosterId][val] ? val : 0xffffffff; break; default: break; -- cgit v1.2.3