aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/party.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2018-04-05 19:48:15 -0400
committerPaul Gilbert2018-04-05 19:48:15 -0400
commita54850cae0e84089a07188f3ef264a0ab3c412c8 (patch)
treee71200a1e68891169fa2335312927430c589aff4 /engines/xeen/party.cpp
parent37dbd365e2cb40699a065b416db3b1cd638f63b8 (diff)
downloadscummvm-rg350-a54850cae0e84089a07188f3ef264a0ab3c412c8.tar.gz
scummvm-rg350-a54850cae0e84089a07188f3ef264a0ab3c412c8.tar.bz2
scummvm-rg350-a54850cae0e84089a07188f3ef264a0ab3c412c8.zip
XEEN: Fix getting multiple Northern Sphinx keys
Diffstat (limited to 'engines/xeen/party.cpp')
-rw-r--r--engines/xeen/party.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp
index 78e7a3a200..8852b51ca2 100644
--- a/engines/xeen/party.cpp
+++ b/engines/xeen/party.cpp
@@ -1178,29 +1178,29 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int
_questItems[giveVal - 82]++;
}
if (giveVal < 35 || giveVal >= 82) {
- for (idx = 0; idx < 10 && _treasure._weapons[idx]._id; ++idx);
- if (idx < 10) {
+ for (idx = 0; idx < MAX_TREASURE_ITEMS && !_treasure._weapons[idx].empty(); ++idx);
+ if (idx < MAX_TREASURE_ITEMS) {
_treasure._weapons[idx]._id = giveVal;
_treasure._hasItems = true;
return false;
}
} else if (giveVal < 49) {
- for (idx = 0; idx < 10 && _treasure._armor[idx]._id; ++idx);
- if (idx < 10) {
+ for (idx = 0; idx < MAX_TREASURE_ITEMS && !_treasure._armor[idx].empty(); ++idx);
+ if (idx < MAX_TREASURE_ITEMS) {
_treasure._armor[idx]._id = giveVal - 35;
_treasure._hasItems = true;
return false;
}
} else if (giveVal < 60) {
- for (idx = 0; idx < 10 && _treasure._accessories[idx]._id; ++idx);
- if (idx < 10) {
+ for (idx = 0; idx < MAX_TREASURE_ITEMS && !_treasure._accessories[idx].empty(); ++idx);
+ if (idx < MAX_TREASURE_ITEMS) {
_treasure._accessories[idx]._id = giveVal - 49;
_treasure._hasItems = true;
return false;
}
} else {
- for (idx = 0; idx < 10 && _treasure._misc[idx]._material; ++idx);
- if (idx < 10) {
+ for (idx = 0; idx < MAX_TREASURE_ITEMS && _treasure._misc[idx]._material; ++idx);
+ if (idx < MAX_TREASURE_ITEMS) {
_treasure._accessories[idx]._material = giveVal - 60;
_treasure._hasItems = true;
return false;