// Copyright (C) 2007-2025 EQ2EMulator // Licensed under GPL v3 #pragma once #include "client.h" struct HouseZone; struct PlayerHouse; struct HeroicOP; class ClientPacketFunctions { public: static void SendFinishedEntitiesList ( Client* client ); static void SendLoginDenied ( Client* client ); static void SendLoginAccepted ( Client* client ); static void SendCommandList ( Client* client ); static void SendGameWorldTime ( Client* client ); static void SendCharacterData ( Client* client ); static void SendCharacterSheet ( Client* client ); static void SendSkillBook ( Client* client ); static void SendTraitList ( Client* client ); static void SendAbilities ( Client* client ); static void SendCommandNamePacket ( Client* client ); static void SendQuickBarInit ( Client* client ); static void SendMOTD ( Client* client ); static void SendCharacterMacros(Client* client); static void SendUpdateSpellBook ( Client* client ); static void SendSkillSlotMappings(Client* client); static void SendRestartZoneMsg(Client* client); static void SendServerControlFlags(Client* client, int8 param, int8 param_val, int8 value); static void SendServerControlFlagsClassic(Client* client, int32 param, int32 value); static void SendInstanceList(Client* client); static void SendZoneChange(Client* client, char* zone_ip, int16 zone_port, int32 key); static void SendStateCommand(Client* client, int32 spawn_id, int32 state); static void SendFlyMode(Client* client, int8 flymode, bool updateCharProperty=true); /* Tradeskills (/Tradeskills/TradeskillsPackets.cpp) */ static void SendCreateFromRecipe(Client* client, int32 recipeID); static void SendItemCreationUI(Client* client, Recipe* recipe); static void StopCrafting(Client* client); static void CounterReaction(Client* client, bool countered); static void SendAchievementList(Client* client); /* Housing (/Housing/HousingPackets.cpp) */ static void SendHousePurchase(Client* client, HouseZone* hz, int32 spawnID); static void SendHousingList(Client* client); static void SendBaseHouseWindow(Client* client, HouseZone* hz, PlayerHouse* ph, int32 spawnID); static void SendHouseVisitWindow(Client* client, vector houses); static void SendLocalizedTextMessage(Client* client); /* Heroic OP's (/HeroicOp/HeroicOpPackets.cpp) */ static void SendHeroicOPUpdate(Client* client, HeroicOP* ho); //UI updates for trigger count and damage remaining on maintained spells static void SendMaintainedExamineUpdate(Client* client, int8 slot_pos, int32 update_value, int8 update_type); };