eqemu-server/common/emu_oplist.h
Mitch Freeman fcffc6b3d4
[Feature] Add Parcel Feature for RoF2 Clients (#4198)
* Add Parcel Feature

Add the parcel system for RoF2 client

* Fixed a duplicate define

* Reformat

reformating and review changes

* Further Formatting

* Memory Mgmt Updates

Refactored to using unique_ptr/make_unique/etc to avoid manual memory mgmt.

Other format changes

* Refactor db structure

Refactor for db structure of parcels to character_parcels
Removal of parcel_merchants
Addition of npc_types.is_parcel_merchant
Cleanup as a result

* Refactor to use item id 99990 for money transfers.  Removed the money string function as a result, though simplified the messaging related to money.  Other updates based on feedback.

* Move prune routine out of scheduler and into a world process.
Removed RuleI from #define

* Update

* Update database.cpp

* Update database_update_manifest.cpp

* Update main.cpp

* Update client_process.cpp

* Update parcels.cpp

* Remove parcel merchant content to optional sql instead of manifest.

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-04-20 21:15:56 -05:00

618 lines
13 KiB
C

// system use
N(OP_ExploreUnknown),
// start (please add new opcodes in descending order and re-order any name changes where applicable)
N(OP_0x0193),
N(OP_0x0347),
N(OP_AAAction),
N(OP_AAExpUpdate),
N(OP_AcceptNewTask),
N(OP_AckPacket),
N(OP_Action),
N(OP_Action2),
N(OP_AddNimbusEffect),
N(OP_AdventureData),
N(OP_AdventureDetails),
N(OP_AdventureFinish),
N(OP_AdventureInfo),
N(OP_AdventureInfoRequest),
N(OP_AdventureLeaderboardReply),
N(OP_AdventureLeaderboardRequest),
N(OP_AdventureMerchantPurchase),
N(OP_AdventureMerchantRequest),
N(OP_AdventureMerchantResponse),
N(OP_AdventureMerchantSell),
N(OP_AdventurePointsUpdate),
N(OP_AdventureRequest),
N(OP_AdventureStatsReply),
N(OP_AdventureStatsRequest),
N(OP_AdventureUpdate),
N(OP_AggroMeterLockTarget),
N(OP_AggroMeterTargetInfo),
N(OP_AggroMeterUpdate),
N(OP_AltCurrency),
N(OP_AltCurrencyMerchantReply),
N(OP_AltCurrencyMerchantRequest),
N(OP_AltCurrencyPurchase),
N(OP_AltCurrencyReclaim),
N(OP_AltCurrencySell),
N(OP_AltCurrencySellSelection), // Used by eqstr_us.txt 8066, 8068, 8069
N(OP_Animation),
N(OP_AnnoyingZoneUnknown),
N(OP_ApplyPoison),
N(OP_ApproveName),
N(OP_ApproveWorld),
N(OP_ApproveZone),
N(OP_Assist),
N(OP_AssistGroup),
N(OP_AugmentInfo),
N(OP_AugmentItem),
N(OP_AutoAttack),
N(OP_AutoAttack2),
N(OP_AutoFire),
N(OP_Bandolier),
N(OP_BankerChange),
N(OP_Barter),
N(OP_Bazaar),
N(OP_BazaarInspect),
N(OP_BazaarSearch),
N(OP_BecomeCorpse),
N(OP_BecomeTrader),
N(OP_Begging),
N(OP_BeginCast),
N(OP_Bind_Wound),
N(OP_BlockedBuffs),
N(OP_BoardBoat),
N(OP_BookButton),
N(OP_Buff),
N(OP_BuffCreate),
N(OP_BuffRemoveRequest),
N(OP_Bug),
N(OP_CameraEffect),
N(OP_Camp),
N(OP_CancelSneakHide),
N(OP_CancelTask),
N(OP_CancelTrade),
N(OP_CashReward),
N(OP_CastSpell),
N(OP_ChangeSize),
N(OP_ChannelMessage),
N(OP_CharacterCreate),
N(OP_CharacterCreateRequest),
N(OP_CharInventory),
N(OP_Charm),
N(OP_ChatMessage),
N(OP_ClearAA),
N(OP_ClearBlockedBuffs),
N(OP_ClearLeadershipAbilities),
N(OP_ClearNPCMarks),
N(OP_ClearObject),
N(OP_ClearSurname),
N(OP_ClickDoor),
N(OP_ClickObject),
N(OP_ClickObjectAction),
N(OP_ClientError),
N(OP_ClientReady),
N(OP_ClientTimeStamp),
N(OP_ClientUpdate),
N(OP_CloseContainer),
N(OP_CloseTributeMaster),
N(OP_ColoredText),
N(OP_CombatAbility),
N(OP_Command),
N(OP_CompletedTasks),
N(OP_ConfirmDelete),
N(OP_Consent),
N(OP_ConsentDeny),
N(OP_ConsentResponse),
N(OP_Consider),
N(OP_ConsiderCorpse),
N(OP_Consume),
N(OP_ControlBoat),
N(OP_CorpseDrag),
N(OP_CorpseDrop),
N(OP_CrashDump),
N(OP_CrystalCountUpdate),
N(OP_CrystalCreate),
N(OP_CrystalReclaim),
N(OP_CustomTitles),
N(OP_Damage),
N(OP_Death),
N(OP_DelegateAbility),
N(OP_DeleteCharacter),
N(OP_DeleteCharge),
N(OP_DeleteItem),
N(OP_DeletePetition),
N(OP_DeleteSpawn),
N(OP_DeleteSpell),
N(OP_DenyResponse),
N(OP_Disarm),
N(OP_DisarmTraps),
N(OP_DisciplineTimer),
N(OP_DisciplineUpdate),
N(OP_DiscordMerchantInventory),
N(OP_DoGroupLeadershipAbility),
N(OP_DuelDecline),
N(OP_DuelAccept),
N(OP_DumpName),
N(OP_Dye),
N(OP_DynamicWall),
N(OP_DzAddPlayer),
N(OP_DzChooseZone),
N(OP_DzChooseZoneReply),
N(OP_DzCompass),
N(OP_DzExpeditionEndsWarning),
N(OP_DzExpeditionInfo),
N(OP_DzExpeditionInvite),
N(OP_DzExpeditionInviteResponse),
N(OP_DzExpeditionLockoutTimers),
N(OP_DzListTimers),
N(OP_DzMakeLeader),
N(OP_DzMemberList),
N(OP_DzMemberListName),
N(OP_DzMemberListStatus),
N(OP_DzPlayerList),
N(OP_DzQuit),
N(OP_DzRemovePlayer),
N(OP_DzSetLeaderName),
N(OP_DzSwapPlayer),
N(OP_Emote),
N(OP_EndLootRequest),
N(OP_EnduranceUpdate),
N(OP_EnterChat),
N(OP_EnterWorld),
N(OP_EnvDamage),
N(OP_ExpansionInfo),
N(OP_ExpUpdate),
N(OP_FaceChange),
N(OP_Feedback),
N(OP_FeignDeath),
N(OP_FellowshipUpdate),
N(OP_FindPersonReply),
N(OP_FindPersonRequest),
N(OP_FinishTrade),
N(OP_FinishWindow),
N(OP_FinishWindow2),
N(OP_Fishing),
N(OP_Fling),
N(OP_FloatListThing),
N(OP_Forage),
N(OP_ForceFindPerson),
N(OP_FormattedMessage),
N(OP_FriendsWho),
N(OP_GetGuildMOTD),
N(OP_GetGuildMOTDReply),
N(OP_GetGuildsList),
N(OP_GiveMoney),
N(OP_GMApproval),
N(OP_GMBecomeNPC),
N(OP_GMDelCorpse),
N(OP_GMEmoteZone),
N(OP_GMEndTraining),
N(OP_GMEndTrainingResponse),
N(OP_GMFind),
N(OP_GMGoto),
N(OP_GMHideMe),
N(OP_GMKick),
N(OP_GMKill),
N(OP_GMLastName),
N(OP_GMNameChange),
N(OP_GMSearchCorpse),
N(OP_GMServers),
N(OP_GMSummon),
N(OP_GMToggle),
N(OP_GMTraining),
N(OP_GMTrainSkill),
N(OP_GMTrainSkillConfirm),
N(OP_GMZoneRequest),
N(OP_GMZoneRequest2),
N(OP_GroundSpawn),
N(OP_GroupAcknowledge),
N(OP_GroupCancelInvite),
N(OP_GroupDelete),
N(OP_GroupDisband),
N(OP_GroupDisbandOther),
N(OP_GroupDisbandYou),
N(OP_GroupFollow),
N(OP_GroupFollow2),
N(OP_GroupInvite),
N(OP_GroupInvite2),
N(OP_GroupLeaderChange),
N(OP_GroupLeadershipAAUpdate),
N(OP_GroupMakeLeader),
N(OP_GroupMentor),
N(OP_GroupRoles),
N(OP_GroupUpdate),
N(OP_GroupUpdateB),
N(OP_GroupUpdateLeaderAA),
N(OP_GuildBank),
N(OP_GuildBankItemList),
N(OP_GuildCreate),
N(OP_GuildDelete),
N(OP_GuildDeleteGuild),
N(OP_GuildDemote),
N(OP_GuildInvite),
N(OP_GuildInviteAccept),
N(OP_GuildLeader),
N(OP_GuildManageAdd),
N(OP_GuildManageBanker),
N(OP_GuildManageRemove),
N(OP_GuildManageStatus),
N(OP_GuildMemberLevelUpdate),
N(OP_GuildMemberList),
N(OP_GuildMemberUpdate),
N(OP_GuildMemberLevel),
N(OP_GuildMemberRankAltBanker),
N(OP_GuildMemberPublicNote),
N(OP_GuildMemberAdd),
N(OP_GuildMemberRename),
N(OP_GuildMemberDelete),
N(OP_GuildMemberDetails),
N(OP_GuildRenameGuild),
N(OP_GuildMOTD),
N(OP_GuildPeace),
N(OP_GuildPromote),
N(OP_GuildPublicNote),
N(OP_GuildRemove),
N(OP_GuildSelectTribute),
N(OP_GuildModifyBenefits),
N(OP_GuildTributeToggleReq),
N(OP_GuildTributeToggleReply),
N(OP_GuildOptInOut),
N(OP_GuildSaveActiveTributes),
N(OP_GuildSendActiveTributes),
N(OP_GuildTributeFavorAndTimer),
N(OP_GuildsList),
N(OP_GuildStatus),
N(OP_GuildTributeInfo),
N(OP_GuildUpdate),
N(OP_GuildTributeDonateItem),
N(OP_GuildTributeDonatePlat),
N(OP_GuildWar),
N(OP_Heartbeat),
N(OP_Hide),
N(OP_HideCorpse),
N(OP_HPUpdate),
N(OP_Illusion),
N(OP_IncreaseStats),
N(OP_InitialHPUpdate),
N(OP_InitialMobHealth),
N(OP_InspectAnswer),
N(OP_InspectBuffs),
N(OP_InspectMessageUpdate),
N(OP_InspectRequest),
N(OP_InstillDoubt),
N(OP_InterruptCast),
N(OP_ItemLinkClick),
N(OP_ItemLinkResponse),
N(OP_ItemLinkText),
N(OP_ItemName),
N(OP_ItemPacket),
N(OP_ItemPreview),
N(OP_ItemRecastDelay),
N(OP_ItemVerifyReply),
N(OP_ItemVerifyRequest),
N(OP_ItemViewUnknown),
N(OP_Jump),
N(OP_KeyRing),
N(OP_KickPlayers),
N(OP_KnowledgeBase),
N(OP_LDoNButton),
N(OP_LDoNDisarmTraps),
N(OP_LDoNInspect),
N(OP_LDoNOpen),
N(OP_LDoNPickLock),
N(OP_LDoNSenseTraps),
N(OP_LeadershipExpToggle),
N(OP_LeadershipExpUpdate),
N(OP_LeaveAdventure),
N(OP_LeaveBoat),
N(OP_LevelAppearance),
N(OP_LevelUpdate),
N(OP_LFGAppearance),
N(OP_LFGCommand),
N(OP_LFGGetMatchesRequest),
N(OP_LFGGetMatchesResponse),
N(OP_LFGResponse),
N(OP_LFGuild),
N(OP_LFPCommand),
N(OP_LFPGetMatchesRequest),
N(OP_LFPGetMatchesResponse),
N(OP_LinkedReuse),
N(OP_LoadSpellSet),
N(OP_LocInfo),
N(OP_LockoutTimerInfo),
N(OP_Login),
N(OP_LoginAccepted),
N(OP_LoginComplete),
N(OP_LoginExpansionPacketData), //added for Rof2 client to send expansion data packet. Requires login_opcodes_sod.conf to be updated.
N(OP_LoginUnknown1),
N(OP_LoginUnknown2),
N(OP_Logout),
N(OP_LogoutReply),
N(OP_LogServer),
N(OP_LootComplete),
N(OP_LootItem),
N(OP_LootRequest),
N(OP_ManaChange),
N(OP_ManaUpdate),
N(OP_MarkNPC),
N(OP_MarkRaidNPC),
N(OP_Marquee),
N(OP_MemorizeSpell),
N(OP_Mend),
N(OP_MendHPUpdate),
N(OP_MercenaryAssign),
N(OP_MercenaryCommand),
N(OP_MercenaryDataRequest),
N(OP_MercenaryDataResponse),
N(OP_MercenaryDataUpdate),
N(OP_MercenaryDataUpdateRequest),
N(OP_MercenaryDismiss),
N(OP_MercenaryHire),
N(OP_MercenarySuspendRequest),
N(OP_MercenarySuspendResponse),
N(OP_MercenaryTimer),
N(OP_MercenaryTimerRequest),
N(OP_MercenaryUnknown1),
N(OP_MercenaryUnsuspendResponse),
N(OP_MobEnduranceUpdate),
N(OP_MobHealth),
N(OP_MobManaUpdate),
N(OP_MobRename),
N(OP_MobUpdate), // not used anymore, here for lecacy reasons (eqextractor)
N(OP_MoneyOnCorpse),
N(OP_MoneyUpdate),
N(OP_MOTD),
N(OP_MoveCoin),
N(OP_MoveDoor),
N(OP_MoveItem),
N(OP_MoveMultipleItems),
N(OP_MoveLogDisregard),
N(OP_MoveLogRequest),
N(OP_MultiLineMsg),
N(OP_NewSpawn),
N(OP_NewTitlesAvailable),
N(OP_NewZone),
N(OP_OnLevelMessage),
N(OP_OpenContainer),
N(OP_OpenDiscordMerchant),
N(OP_OpenGuildTributeMaster),
N(OP_OpenInventory),
N(OP_OpenTributeMaster),
N(OP_PDeletePetition),
N(OP_PetBuffWindow),
N(OP_PetCommands),
N(OP_PetCommandState),
N(OP_PetHoTT),
N(OP_Petition),
N(OP_PetitionBug),
N(OP_PetitionCheckIn),
N(OP_PetitionCheckout),
N(OP_PetitionCheckout2),
N(OP_PetitionDelete),
N(OP_PetitionQue),
N(OP_PetitionRefresh),
N(OP_PetitionResolve),
N(OP_PetitionSearch),
N(OP_PetitionSearchResults),
N(OP_PetitionSearchText),
N(OP_PetitionUnCheckout),
N(OP_PetitionUpdate),
N(OP_PickPocket),
N(OP_PlayerProfile),
N(OP_PlayerStateAdd),
N(OP_PlayerStateRemove),
N(OP_PlayEverquestRequest),
N(OP_PlayEverquestResponse),
N(OP_PlayMP3),
N(OP_Poll),
N(OP_PollResponse),
N(OP_PopupResponse),
N(OP_PostEnterWorld), //this is really OP_WorldAccessGranted
N(OP_PotionBelt),
N(OP_PreLogoutReply),
N(OP_PurchaseLeadershipAA),
N(OP_PVPLeaderBoardDetailsReply),
N(OP_PVPLeaderBoardDetailsRequest),
N(OP_PVPLeaderBoardReply),
N(OP_PVPLeaderBoardRequest),
N(OP_PVPStats),
N(OP_QueryResponseThing),
N(OP_QueryUCSServerStatus),
N(OP_RaidDelegateAbility),
N(OP_RaidClearNPCMarks),
N(OP_RaidInvite),
N(OP_RaidJoin),
N(OP_RaidUpdate),
N(OP_RandomNameGenerator),
N(OP_RandomReply),
N(OP_RandomReq),
N(OP_ReadBook),
N(OP_RecipeAutoCombine),
N(OP_RecipeDetails),
N(OP_RecipeReply),
N(OP_RecipesFavorite),
N(OP_RecipesSearch),
N(OP_ReclaimCrystals),
N(OP_ReloadUI),
N(OP_RemoveAllDoors),
N(OP_RemoveBlockedBuffs),
N(OP_RemoveNimbusEffect),
N(OP_RemoveTrap),
N(OP_Report),
N(OP_ReqClientSpawn),
N(OP_ReqNewZone),
N(OP_RequestClientZoneChange),
N(OP_RequestDuel),
N(OP_RequestGuildTributes),
N(OP_RequestKnowledgeBase),
N(OP_RequestTitles),
N(OP_RespawnWindow),
N(OP_RespondAA),
N(OP_RestState),
N(OP_Rewind),
N(OP_RezzAnswer),
N(OP_RezzComplete),
N(OP_RezzRequest),
N(OP_Sacrifice),
N(OP_SafeFallSuccess),
N(OP_SafePoint),
N(OP_Save),
N(OP_SaveOnZoneReq),
N(OP_SelectTribute),
N(OP_SendAAStats),
N(OP_SendAATable),
N(OP_SendCharInfo),
N(OP_SendExpZonein),
N(OP_SendFindableNPCs),
N(OP_SendGuildTributes),
N(OP_SendLoginInfo),
N(OP_SendMaxCharacters),
N(OP_SendMembership),
N(OP_SendMembershipDetails),
N(OP_SendSystemStats),
N(OP_SendTitleList),
N(OP_SendTributes),
N(OP_SendZonepoints),
N(OP_SenseHeading),
N(OP_SenseTraps),
N(OP_ServerListRequest),
N(OP_ServerListResponse),
N(OP_SessionReady),
N(OP_SetChatServer),
N(OP_SetChatServer2),
N(OP_SetFace),
N(OP_SetGroupTarget),
N(OP_SetGuildMOTD),
N(OP_SetGuildRank),
N(OP_SetRunMode),
N(OP_SetServerFilter),
N(OP_SetStartCity),
N(OP_SetTitle),
N(OP_SetTitleReply),
N(OP_SharedTaskMemberList),
N(OP_SharedTaskAddPlayer),
N(OP_SharedTaskRemovePlayer),
N(OP_SharedTaskMakeLeader),
N(OP_SharedTaskMemberInvite),
N(OP_SharedTaskInvite),
N(OP_SharedTaskInviteResponse),
N(OP_SharedTaskAcceptNew),
N(OP_SharedTaskMemberChange),
N(OP_SharedTaskPlayerList),
N(OP_SharedTaskSelectWindow),
N(OP_SharedTaskQuit),
N(OP_TaskTimers),
N(OP_Shielding),
N(OP_ShopDelItem),
N(OP_ShopEnd),
N(OP_ShopEndConfirm),
N(OP_ShopItem),
N(OP_ShopPlayerBuy),
N(OP_ShopPlayerSell),
N(OP_ShopSendParcel),
N(OP_ShopDeleteParcel),
N(OP_ShopRespondParcel),
N(OP_ShopRetrieveParcel),
N(OP_ShopParcelIcon),
N(OP_ShopRequest),
N(OP_SimpleMessage),
N(OP_SkillUpdate),
N(OP_Sneak),
N(OP_Some3ByteHPUpdate),
N(OP_Some6ByteHPUpdate),
N(OP_SomeItemPacketMaybe),
N(OP_Sound),
N(OP_SpawnAppearance),
N(OP_SpawnDoor),
N(OP_SpawnPositionUpdate),
N(OP_SpecialMesg),
N(OP_SpellEffect),
N(OP_Split),
N(OP_Stamina),
N(OP_Stun),
N(OP_Surname),
N(OP_SwapSpell),
N(OP_TargetBuffs),
N(OP_TargetCommand),
N(OP_TargetHoTT),
N(OP_TargetMouse),
N(OP_TargetReject),
N(OP_TaskActivity),
N(OP_TaskActivityComplete),
N(OP_TaskDescription),
N(OP_TaskHistoryReply),
N(OP_TaskHistoryRequest),
N(OP_TaskRequestTimer),
N(OP_TaskSelectWindow),
N(OP_Taunt),
N(OP_TestBuff),
N(OP_TGB),
N(OP_TimeOfDay),
N(OP_Track),
N(OP_TrackTarget),
N(OP_TrackUnknown),
N(OP_TradeAcceptClick),
N(OP_TradeBusy),
N(OP_TradeCoins),
N(OP_TradeMoneyUpdate),
N(OP_Trader),
N(OP_TraderBuy),
N(OP_TraderDelItem),
N(OP_TradeRequest),
N(OP_TradeRequestAck),
N(OP_TraderItemUpdate),
N(OP_TraderShop),
N(OP_TradeSkillCombine),
N(OP_Translocate),
N(OP_TributeInfo),
N(OP_TributeItem),
N(OP_TributeMoney),
N(OP_TributeNPC),
N(OP_TributePointUpdate),
N(OP_TributeTimer),
N(OP_TributeToggle),
N(OP_TributeUpdate),
N(OP_Untargetable),
N(OP_UpdateAA),
N(OP_UpdateAura),
N(OP_UpdateLeadershipAA),
N(OP_VetClaimReply),
N(OP_VetClaimRequest),
N(OP_VetRewardsAvaliable),
N(OP_VoiceMacroIn),
N(OP_VoiceMacroOut),
N(OP_WeaponEquip1),
N(OP_WearChange),
N(OP_Weather),
N(OP_Weblink),
N(OP_WhoAllRequest),
N(OP_WhoAllResponse),
N(OP_World_Client_CRC1),
N(OP_World_Client_CRC2),
N(OP_World_Client_CRC3),
N(OP_WorldClientReady),
N(OP_WorldComplete),
N(OP_WorldLogout),
N(OP_WorldObjectsSent),
N(OP_WorldUnknown001),
N(OP_XTargetAutoAddHaters),
N(OP_XTargetOpen),
N(OP_XTargetOpenResponse),
N(OP_XTargetRequest),
N(OP_XTargetResponse),
N(OP_YellForHelp),
N(OP_ZoneChange),
N(OP_ZoneComplete),
N(OP_ZoneEntry),
N(OP_ZoneGuildList),
N(OP_ZoneInUnknown),
N(OP_ZonePlayerToBind),
N(OP_ZoneServerInfo),
N(OP_ZoneServerReady),
N(OP_ZoneSpawns),
N(OP_ZoneUnavail),
N(OP_ResetAA),
N(OP_UnderWorld),
// mail and chat opcodes located in ../mail_oplist.h