mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-23 19:17:54 +00:00
[Feature] Add RoF2 Guild features (#3699)
* [Feature] Add additional Guild Features This adds the following guild features and design pattern - the existing guild system was used - guild features are based on RoF2 within source with translaters used to converted between client differences - backward compatible with Ti and UF, and allows for mixed client servers - Guild Back for Ti and UF is based on RoF2 Permissions for banking if Guild Leader does not use Ti/UF - Guild Ranks and Permissions are enabled. - Guild Tributes are enabled. - Event logging via rules for donating tribute items and plat - Rules to limit Guild Tributes based on max level of server - Rewrote guild communications to client using specific opcodes -- Server no longer sends a guild member list on each zone -- Guild window is updated when a member levels, rank changes, zone changes, banker/alt status using individual opcodes -- When a member is removed or added to a guild, a single opcode is sent to each guild member -- This reduces network traffic considerably Known issues: - Visual bug only. Guild Tributes window will display a 0 for level if tribute is above max level rule setting. - Visual bug only. Guild Mgmt Window will not display an online member if the player has 'show offline' unchecked and a guild member zones within the Notes/Tribute tab. This is resolved by selecting and de-selecting the 'Show Offline' checkbox. * Updated RoF2 Guild Comms Updated RoF2 Guild Comms Update RoF2 Opcodes Rewrote RoF2 Guild Communications using specific opcodes. Added database changes - they are irreversible * Formatting * Update base_guild_members_repository.h * Format GuildInfo * Format GuildAction enum * Formatting in clientlist * quantity vs quantity * desc vs description * Format structs * Inline struct values * Formatting * Formatting * Formatting fixes * Formatting items * Formatting * Formatting * struct formatting updates * Updated formatting * Updated - std:string items - naming conventions - magic numbers * Repo refactors Other formatting updates * Remove test guild commands * Updated #guild info command * Add new repo methods for Neckolla ReplaceOne and ReplaceMany * Fix guild_tributes repo * Update database_update_manifest.cpp * Phase 1 of final testing with RoF2 -> RoF2. Next phase will be inter compatibility review * Remove #guild testing commands * Fix uf translator error Rewrite LoadGuilds * Use extended repository * FIx guild window on member add * LoadGuild Changes * Update guild_base.cpp * Few small fixes for display issue with UF * Update guild_base.cpp * Update guild_members_repository.h * Update zoneserver.cpp * Update guild.cpp * Update entity.h * Switch formatting * Formatting * Update worldserver.cpp * Switch formatting * Formatting switch statement * Update guild.cpp * Formatting in guild_base * We don't need to validate m_db everywhere * More formatting / spacing issues * Switch format * Update guild_base.cpp * Fix an UF issue displaying incorrect guildtag as <> * Updated several constants, fixed a few issues with Ti/UF and guild tributes not being removed or sent when a member is removed/disbands from a guild. * Formatting and logging updates * Fix for Loadguilds and permissions after repo updates. * Cleanup unnecessary m_db checks * Updated logging to use player_event_logs * Updated to use the single opcodes for guild traffic for Ti/UF/RoF2. Several enhancements for guild functionality for more reusable code and readability. * Update to fix Demote Self and guild invites declining when option set to not accept guild invites * Potential fix for guild notes/tribute display issues when client has 'Show Offline' unchecked. * Updates to fox recent master changes Updates to fix recent master changes * Updates in response to comments * Further Updates in response to comments * Comment updates and refactor for SendAppearance functions * Comment updates * Update client spawn process for show guild name Add show guild tag to default spawn process * Update to use zone spawn packets for RoF2 Removed several unused functions as a result Updated MemberRankUpdate to properly update guild_show on rank change. Updated OP_GuildURLAndChannel opcode for UF/RoF2 * Cleanup of world changes Created function for repetitive zonelist sendpackets to only booted zones Re-Inserted accidental delete of scanclosemobs * Fixes * Further world cleanup * Fix a few test guild bank cases for backward compat Removed a duplicate db call Fixed a fallthrough issue * Update guild_mgr.cpp * Cleanup --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
@@ -82,7 +82,7 @@ OP_ChangeSize=0x4707
|
||||
OP_TributeUpdate=0x5961
|
||||
OP_TributeTimer=0x073d
|
||||
OP_SendTributes=0x729b
|
||||
OP_SendGuildTributes=0x1877
|
||||
OP_RequestGuildTributes=0x4d5e
|
||||
OP_TributeInfo=0x4254
|
||||
OP_Weather=0x661e
|
||||
OP_ReqClientSpawn=0x35fa
|
||||
@@ -133,16 +133,20 @@ OP_GuildManageBanker=0x3f35
|
||||
OP_GuildBank=0x5134
|
||||
OP_GuildBankItemList=0x7850
|
||||
OP_SetGuildRank=0x0b9c
|
||||
OP_GuildUpdateURLAndChannel=0x2958
|
||||
OP_GuildUpdate=0x2958
|
||||
OP_GuildStatus=0x7326
|
||||
OP_GuildCreate=0x76d9
|
||||
OP_GuildMemberLevelUpdate=0x0000 # Unused?
|
||||
OP_ZoneGuildList=0x0000 # Unused?
|
||||
OP_GetGuildsList=0x0000 # Unused?
|
||||
OP_LFGuild=0x0000
|
||||
OP_GuildManageRemove=0x0000
|
||||
OP_GuildManageAdd=0x0000
|
||||
OP_GuildManageStatus=0x0000
|
||||
OP_GuildOpenGuildWindow=0x0276
|
||||
OP_GuildMemberLevel=0x1bd3
|
||||
OP_GuildMemberRankAltBanker=0x0b9c
|
||||
OP_GuildMemberPublicNote=0x01f9
|
||||
OP_GuildMemberAdd=0x2925
|
||||
OP_GuildMemberRename=0x3b26
|
||||
OP_GuildMemberDelete=0x3141
|
||||
OP_GuildMemberDetails=0x69b9
|
||||
OP_GuildRenameGuild=0x61db
|
||||
OP_LFGuild=0x3165
|
||||
OP_GuildDeleteGuild=0x6dab
|
||||
|
||||
# GM/Guide Opcodes
|
||||
OP_GMServers=0x08c1
|
||||
@@ -476,7 +480,6 @@ OP_RecipeAutoCombine=0x40d7
|
||||
OP_TradeSkillCombine=0x579a
|
||||
|
||||
# Tribute Packets:
|
||||
OP_OpenGuildTributeMaster=0x378d
|
||||
OP_OpenTributeMaster=0x7666
|
||||
OP_SelectTribute=0x79fc
|
||||
OP_TributeItem=0x4f3e
|
||||
@@ -487,6 +490,18 @@ OP_TributeNPC=0x0000
|
||||
OP_GuildTributeInfo=0x0000
|
||||
OP_OpenTributeReply=0x0000
|
||||
OP_GuildTributeStatus=0x0000
|
||||
OP_GuildSaveActiveTributes=0x5f3f
|
||||
OP_GuildSendActiveTributes=0x3771
|
||||
OP_GuildTributeToggleReq=0x7745
|
||||
OP_GuildTributeToggleReply=0x20ae
|
||||
OP_GuildTributeFavorAndTimer=0x7fe0
|
||||
OP_GuildTributeDonateItem=0x5bcb
|
||||
OP_GuildTributeDonatePlat=0x43d2
|
||||
OP_GuildSelectTribute=0x649f
|
||||
OP_GuildModifyBenefits=0x34cd
|
||||
OP_GuildOptInOut=0x0727
|
||||
OP_SendGuildTributes=0x1877
|
||||
OP_OpenGuildTributeMaster=0x49ea
|
||||
|
||||
# Adventure packets:
|
||||
OP_LeaveAdventure=0x5d18
|
||||
|
||||
@@ -42,6 +42,7 @@ OP_WorldLoginFailed=0x8DA7 # world->client. reject.
|
||||
OP_WorldLogout=0x7718 # client->world
|
||||
OP_WorldLevelTooHigh=0x583b # world->client. Cancels zone in.
|
||||
OP_CharInacessable=0x436A # world->client. Cancels zone in.
|
||||
OP_RequestGuildTributes=0x5e3a # request packet, 4 bytes
|
||||
|
||||
#Zone in opcodes
|
||||
OP_ZoneEntry=0x7213 # ShowEQ 10/27/05
|
||||
@@ -108,13 +109,20 @@ OP_GuildInvite=0x18b7
|
||||
OP_GuildPublicNote=0x17a2 # ShowEQ 10/27/05
|
||||
OP_GuildDelete=0x6cce
|
||||
OP_GuildInviteAccept=0x61d0
|
||||
#OP_GuildManageRemove=0x0000
|
||||
#OP_GuildManageAdd=0x0000
|
||||
#OP_GuildManageStatus=0x0000
|
||||
OP_GuildMemberPublicNote=0x17a2
|
||||
OP_GuildManageBanker=0x3d1e
|
||||
OP_GuildBank=0xb4ab
|
||||
OP_SetGuildRank=0x6966
|
||||
OP_LFGuild=0x1858
|
||||
OP_GuildMemberLevel=0x461a
|
||||
OP_GuildMemberRankAltBanker=0x6966
|
||||
OP_GuildMemberPublicNote=0x32cf
|
||||
OP_GuildMemberAdd=0x754e
|
||||
OP_GuildMemberRename=0x7c59
|
||||
OP_GuildMemberDelete=0x712a
|
||||
OP_GuildMemberDetails=0x0f4d
|
||||
OP_GuildRenameGuild=0x4cc7
|
||||
OP_GuildDeleteGuild=0x3230
|
||||
|
||||
#GM/guide opcodes
|
||||
OP_GMServers=0x3387 #/servers
|
||||
@@ -370,7 +378,6 @@ OP_TrackTarget=0x7085
|
||||
OP_TrackUnknown=0x6177 #size 0 right after OP_Track
|
||||
|
||||
#Tribute Packets:
|
||||
OP_OpenGuildTributeMaster=0x0000
|
||||
OP_OpenTributeMaster=0x512e #open tribute master window
|
||||
OP_OpenTributeReply=0x27B3 #reply to open request
|
||||
OP_SelectTribute=0x625d #clicking on a tribute, and text reply
|
||||
@@ -383,9 +390,20 @@ OP_TributePointUpdate=0x6463 #16 byte point packet
|
||||
OP_TributeUpdate=0x5639 # ShowEQ 10/27/05
|
||||
OP_GuildTributeInfo=0x5e3d # ShowEQ 10/27/05
|
||||
OP_TributeInfo=0x152d
|
||||
OP_SendGuildTributes=0x5e3a # request packet, 4 bytes
|
||||
OP_SendTributes=0x067a # request packet, 4 bytes, migth be backwards
|
||||
# 27b3 4665
|
||||
OP_OpenGuildTributeMaster=0x60b6
|
||||
OP_GuildSaveActiveTributes=0x12fb
|
||||
OP_GuildSendActiveTributes=0x1a29
|
||||
OP_GuildTributeToggleReq=0x4b98
|
||||
OP_GuildTributeToggleReply=0x3312
|
||||
OP_GuildTributeFavorAndTimer=0x67ea
|
||||
OP_GuildTributeDonateItem=0x32c0
|
||||
OP_GuildTributeDonatePlat=0x44c4
|
||||
OP_GuildSelectTribute=0x704f
|
||||
OP_GuildModifyBenefits=0x4eef
|
||||
OP_GuildOptInOut=0x0cfc
|
||||
OP_SendGuildTributes=0x5e3d
|
||||
|
||||
#Adventure packets:
|
||||
OP_LeaveAdventure=0x0c0d
|
||||
|
||||
@@ -83,6 +83,7 @@ OP_SpawnAppearance=0x3e17 # V
|
||||
OP_ChangeSize=0x6942 #
|
||||
OP_TributeUpdate=0x684c # V
|
||||
OP_TributeTimer=0x4895 # C
|
||||
OP_RequestGuildTributes=0x6124 #
|
||||
OP_TaskDescription=0x156c # C
|
||||
OP_TaskActivity=0x31f3 # C
|
||||
OP_CompletedTasks=0x687f # C
|
||||
@@ -104,7 +105,7 @@ OP_ClearBlockedBuffs=0x5570 # C
|
||||
OP_SendExpZonein=0x47e7 # V
|
||||
OP_SendTributes=0x6bfb # V
|
||||
OP_TributeInfo=0x5a67 # V
|
||||
OP_SendGuildTributes=0x4df0 # C 0x5a01
|
||||
#OP_SendGuildTributes=0x4df0 # C 0x5a01
|
||||
OP_AAExpUpdate=0x4aa2 # V
|
||||
OP_ExpUpdate=0x0555 # V
|
||||
OP_HPUpdate=0x6145 # V
|
||||
@@ -137,16 +138,22 @@ OP_GuildPublicNote=0x2dbd # C
|
||||
OP_GuildManageBanker=0x1e4c # C
|
||||
OP_GuildBank=0x0d8a # C
|
||||
OP_SetGuildRank=0x4ffe # C
|
||||
OP_GuildUpdateURLAndChannel=0x5232 # C
|
||||
OP_GuildUpdate=0x5232 # C
|
||||
OP_GuildMemberLevelUpdate=0x0000 #
|
||||
OP_ZoneGuildList=0x0000 #
|
||||
OP_GetGuildsList=0x0000 #
|
||||
OP_GuildStatus=0x28c8 #
|
||||
OP_GuildCreate=0x192d #
|
||||
OP_LFGuild=0x7e23 #
|
||||
# OP_GuildManageRemove=0x0000 #
|
||||
# OP_GuildManageAdd=0x0000 #
|
||||
# OP_GuildManageStatus=0x0000 #
|
||||
OP_GuildMemberLevel=0x4d4e
|
||||
OP_GuildMemberRankAltBanker=0x4ffe
|
||||
OP_GuildMemberPublicNote=0x526d
|
||||
OP_GuildMemberAdd=0x7337
|
||||
OP_GuildMemberRename=0x5fc7
|
||||
OP_GuildMemberDelete=0x190c
|
||||
OP_GuildMemberDetails=0x0a53
|
||||
OP_GuildRenameGuild=0x480e
|
||||
OP_GuildDeleteGuild=0x736
|
||||
|
||||
# GM/guide opcodes
|
||||
OP_GMServers=0x6989 # C
|
||||
@@ -480,6 +487,18 @@ OP_TributeNPC=0x0000 #
|
||||
OP_GuildTributeInfo=0x0000 #
|
||||
OP_OpenTributeReply=0x0000 #
|
||||
# OP_GuildTributeStatus=0x0000 #
|
||||
OP_OpenGuildTributeMaster=0x4933
|
||||
OP_GuildSaveActiveTributes=0x322f
|
||||
OP_GuildSendActiveTributes=0x5a01 #
|
||||
OP_GuildTributeToggleReq=0x7880
|
||||
OP_GuildTributeToggleReply=0x7d66 #
|
||||
OP_GuildTributeFavorAndTimer=0x4df0
|
||||
OP_GuildTributeDonateItem=0x3683
|
||||
OP_GuildTributeDonatePlat=0x5e79
|
||||
OP_GuildSelectTribute=0x3bef
|
||||
OP_GuildModifyBenefits=0x3a1b
|
||||
OP_GuildOptInOut=0x5a6f
|
||||
OP_SendGuildTributes=0x45b3
|
||||
|
||||
# Adventure packets:
|
||||
OP_LeaveAdventure=0x3ed4 # C
|
||||
|
||||
Reference in New Issue
Block a user