aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/xeen/character.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/engines/xeen/character.cpp b/engines/xeen/character.cpp
index 12c0385e4d..77c01fe8fc 100644
--- a/engines/xeen/character.cpp
+++ b/engines/xeen/character.cpp
@@ -800,21 +800,23 @@ bool Character::guildMember() const {
FileManager &files = *g_vm->_files;
Party &party = *g_vm->_party;
- if (party._mazeId == 49 && !files._ccNum) {
+ if (files._ccNum) {
+ switch (party._mazeId) {
+ case 29:
+ return hasAward(CASTLEVIEW_GUILD_MEMBER);
+ case 31:
+ return hasAward(SANDCASTER_GUILD_MEMBER);
+ case 33:
+ return hasAward(LAKESIDE_GUILD_MEMBER);
+ case 35:
+ return hasAward(NECROPOLIS_GUILD_MEMBER);
+ default:
+ return hasAward(OLYMPUS_GUILD_MEMBER);
+ }
+ } else if (party._mazeId == 49) {
return hasAward(SHANGRILA_GUILD_MEMBER);
- }
-
- switch (party._mazeId) {
- case 29:
- return hasAward(CASTLEVIEW_GUILD_MEMBER);
- case 31:
- return hasAward(SANDCASTER_GUILD_MEMBER);
- case 33:
- return hasAward(LAKESIDE_GUILD_MEMBER);
- case 35:
- return hasAward(NECROPOLIS_GUILD_MEMBER);
- default:
- return hasAward(OLYMPUS_GUILD_MEMBER);
+ } else {
+ return hasAward(party._mazeId - 28);
}
}