From 3e6924d10e39820f57bf18d1e1b393aa3c0b570e Mon Sep 17 00:00:00 2001 From: JJ <3617814+joligario@users.noreply.github.com> Date: Sun, 11 Feb 2024 11:58:19 -0500 Subject: [PATCH] [Guilds] Clean up `GUILD_RANK_NONE` references (#4059) Should be exhaustive for guild rank values Cleans up redefinition of `GUILD_RANK_NONE` by including `GUILD_RANK_NONE_TI` Fixes #4057 --- common/guild_base.cpp | 2 +- common/guilds.h | 2 +- common/patches/titanium.cpp | 5 +++++ common/patches/uf.cpp | 16 ++++++++++++++++ zone/client_packet.cpp | 8 ++++++++ zone/guild_mgr.cpp | 1 + 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/common/guild_base.cpp b/common/guild_base.cpp index 96fab657b..5a637c105 100644 --- a/common/guild_base.cpp +++ b/common/guild_base.cpp @@ -881,7 +881,7 @@ static void ProcessGuildMember(MySQLRequestRow row, CharGuildInfo &into) if (into.guild_id == 0) { into.guild_id = GUILD_NONE; } - if (into.rank > GUILD_MAX_RANK) { + if (into.rank > GUILD_MAX_RANK + 1) { into.rank = GUILD_RANK_NONE; } } diff --git a/common/guilds.h b/common/guilds.h index fca30a5d8..de1ea246f 100644 --- a/common/guilds.h +++ b/common/guilds.h @@ -35,7 +35,7 @@ #define GUILD_MEMBER_TI 0 #define GUILD_OFFICER_TI 1 #define GUILD_LEADER_TI 2 -#define GUILD_RANK_NONE (GUILD_MAX_RANK+1) +#define GUILD_RANK_NONE_TI (GUILD_MAX_RANK + 1) //defines for standard ranks base on RoF2 definitions #define GUILD_RANK_NONE 0 diff --git a/common/patches/titanium.cpp b/common/patches/titanium.cpp index fd8f68acd..0674d1180 100644 --- a/common/patches/titanium.cpp +++ b/common/patches/titanium.cpp @@ -692,6 +692,10 @@ namespace Titanium eq->rank = GUILD_LEADER_TI; break; } + default: { + eq->rank = GUILD_RANK_NONE_TI; + break; + } } memcpy(eq->member_name, emu->member_name, sizeof(eq->member_name)); @@ -1417,6 +1421,7 @@ namespace Titanium break; } default: { + eq->guildrank = GUILD_RANK_NONE_TI; break; } } diff --git a/common/patches/uf.cpp b/common/patches/uf.cpp index 67bcae1b0..3a78e0035 100644 --- a/common/patches/uf.cpp +++ b/common/patches/uf.cpp @@ -1155,6 +1155,7 @@ namespace UF break; } default: { + emu_e->rank = GUILD_RANK_NONE_TI; break; } } @@ -1256,6 +1257,10 @@ namespace UF eq->rank_ = GUILD_LEADER_TI; break; } + default: { + eq->rank_ = GUILD_RANK_NONE_TI; + break; + } } OUT(zone_id) OUT(last_on) @@ -1291,6 +1296,10 @@ namespace UF eq->rank_ = GUILD_LEADER_TI; break; } + default: { + eq->rank_ = GUILD_RANK_NONE_TI; + break; + } } FINISH_ENCODE() } @@ -1970,6 +1979,7 @@ namespace UF break; } default: { + emu->guildrank = GUILD_RANK_NONE_TI; break; } } @@ -2503,6 +2513,10 @@ namespace UF eq->parameter = GUILD_LEADER_TI; break; } + default: { + eq->parameter = GUILD_RANK_NONE_TI; + break; + } } break; } @@ -2545,6 +2559,7 @@ namespace UF break; } default: { + emu->rank = GUILD_RANK_NONE_TI; break; } } @@ -3163,6 +3178,7 @@ namespace UF break; } default: { + emu->guildrank = GUILD_RANK_NONE_TI; break; } } diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 82c1faae8..9919034ed 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -8163,6 +8163,10 @@ void Client::Handle_OP_GuildInvite(const EQApplicationPacket *app) rank = GUILD_LEADER; break; } + default: { + rank = GUILD_RANK_NONE; + break; + } } } @@ -8564,6 +8568,10 @@ void Client::Handle_OP_GuildPromote(const EQApplicationPacket *app) rank = GUILD_LEADER; break; } + default: { + rank = GUILD_RANK_NONE; + break; + } } } diff --git a/zone/guild_mgr.cpp b/zone/guild_mgr.cpp index 549006ee0..48aaeec9f 100644 --- a/zone/guild_mgr.cpp +++ b/zone/guild_mgr.cpp @@ -1640,6 +1640,7 @@ uint8* ZoneGuildManager::MakeGuildMembers(uint32 guild_id, const char* prefix_na break; } default: { + ci->rank = GUILD_RANK_NONE_TI; break; } }