Planeshift
Classes | Defines | Typedefs | Enumerations | Functions

messages.h File Reference

#include "net/netbase.h"
#include "net/message.h"
#include <csutil/csstring.h>
#include <csutil/array.h>
#include <csutil/stringarray.h>
#include <csutil/strset.h>
#include <csutil/databuf.h>
#include <csutil/md5.h>
#include "util/psscf.h"
#include <csgeom/vector3.h>
#include "rpgrules/psmoney.h"
#include "util/psconst.h"
#include "util/skillcache.h"
#include <ivideo/graph3d.h>
#include "bulkobjects/activespell.h"

Go to the source code of this file.

Classes

struct  psAttackQueueMessage::AAttack
struct  psBuddyListMsg::BuddyData
struct  psViewContainerDescription::ContainerContents
struct  psDialogMenuMessage::DialogResponse
struct  psFactionMessage::FactionPair
struct  psGMSpawnItems::Item
struct  psGUIInventoryMessage::ItemDescription
 A small struct to hold item info after read out of message. More...
struct  psGMSpawnMods::ItemModifier
struct  psWeatherMessage::NetWeatherInfo
struct  psAttackBookMessage::NetworkAttack
struct  psCharacterDetailsMessage::NetworkDetailSkill
struct  psRequestGlyphsMessage::NetworkGlyph
struct  psSpellBookMessage::NetworkSpell
struct  psGMGuiMessage::PlayerInfo
class  psAdminCmdMessage
 Admin commands. More...
class  psAdviceMessage
class  psAttackBookMessage
class  psAttackQueueMessage
 sends a message tot he client with the attack queue list More...
class  psAuthApprovedMessage
 Message sent from server to client if login was valid. More...
class  psAuthenticationMessage
 The message sent from client to server on login. More...
class  psAuthRejectedMessage
 Message sent from server to client if login was not valid. More...
class  psBuddyListMsg
class  psBuddyStatus
class  psCachedFileMessage
 Class to send a possibly cached file to the client. More...
class  psChannelJoinedMessage
 Message from the server with a channel id. More...
class  psChannelJoinMessage
 Message from a client for a request to join a chat channel. More...
class  psChannelLeaveMessage
 Message from a client for a request to leave a chat channel. More...
class  psCharacterApprovedMessage
class  psCharacterDescriptionUpdateMessage
class  psCharacterDetailsMessage
class  psCharacterDetailsRequestMessage
class  psCharacterPickerMessage
class  psCharCreateCPMessage
 The message sent from client to server to request a cp value for creation. More...
class  psCharCreateTraitsMessage
class  psCharDeleteMessage
 The message sent from client to server to request a char deletion. More...
class  psCharIntroduction
 The message sent from client to server to request a new introduction. More...
class  psChatMessage
 Message sent with chat info. More...
class  psClientStatusMessage
class  psCmdDropMessage
class  psCombatEventMessage
 Messages sent from server to client containing each detailed combat event. More...
class  psCraftCancelMessage
 Spell Cancel Message This message is used to send a cancel message, and to send the time left before the item is crafted. More...
class  psDialogMenuMessage
 The message sent from server to client when a menu of possible responses is available. More...
class  psDisconnectMessage
class  psDRMessage
class  psEffectMessage
 Effect Message. More...
class  psEntranceMessage
 Message from the server to handle entrances into and out of map instances. More...
class  psEquipmentMessage
 General Equipment Message. More...
class  psExchangeAcceptMsg
class  psExchangeAddItemMsg
 Notification of an item added to an exchange. More...
class  psExchangeEndMsg
class  psExchangeMoneyMsg
class  psExchangeRemoveItemMsg
 Notification of an item removed from an exchange. More...
class  psExchangeRequestMsg
 A request to start an exchange with your current target. More...
class  psExchangeStatusMsg
class  psFactionMessage
 Faction Message to get faction info from the server. More...
class  psForcePositionMessage
class  psGenericCmdMessage
 Generic commands. More...
class  psGlyphAssembleMessage
class  psGMEventInfoMessage
 Sends messages to the client listing the assigned events for the player. More...
class  psGMEventListMessage
 GM Event List Message. More...
class  psGMGuiMessage
 Messages that are sent to the GM GUI windowManager. More...
class  psGMSpawnGetMods
class  psGMSpawnItem
class  psGMSpawnItems
class  psGMSpawnMods
class  psGMSpawnTypes
class  psGroupCmdMessage
 Group commands. More...
class  psGUIActiveMagicMessage
 GUI Active Magic Message. More...
class  psGUIBankingMessage
 GUI Banking Message. More...
class  psGUIGroupMessage
 GUI Group Message. More...
class  psGUIGuildMessage
 GUI Guild Message. More...
class  psGUIInteractMessage
 Sends messages to the client interaction window. More...
class  psGUIInventoryMessage
 This message class deals with the inventory messages. More...
class  psGuildCmdMessage
 Guild commands sent from client to server. More...
class  psGuildMOTDSetMessage
class  psGUIMerchantMessage
 GUI Exchange Message. More...
class  psGUISkillMessage
 GUI Skill Message. More...
class  psGUIStorageMessage
 GUI Merchant Message. More...
class  psGUITargetUpdateMessage
 GUI Target Update This class is used to notify the client that data it is showing in the GUI target window has changed serverside, and should be refreshed. More...
class  psHeartBeatMsg
class  psHiredNPCScriptMessage
 Handle scripting of hired NPCs. More...
class  psLockpickMessage
class  psLootItemMessage
 Sends messages to the server to indicate what to loot. More...
class  psLootMessage
 Sends messages to the client listing the available loot on a mob. More...
class  psLootRemoveMessage
class  psMapActionMessage
 Messages that are sent to/from the ActionManager. More...
class  psMarriageMsgDivorce
 The message sent when someone divorces someone. More...
class  psMarriageMsgDivorceConfirm
 The message is sent when someone requests marriage details of a player. More...
class  psMarriageMsgPropose
 The message sent to the player being proposed for marriage. More...
class  psMechanismActivateMessage
 This message is used by the server to activate one mechanism client side. More...
class  psMessageCracker
 All net messages inherit from this class. More...
class  psMGBoardMessage
 Message from the server to setup/update the minigame board on the client side. More...
class  psMGStartStopMessage
 Message from the client to start a minigame. More...
class  psMGUpdateMessage
 Message from the client with a minigame board update. More...
class  psModeMessage
 Sends messages to the client indicating player combat stance. More...
class  psMOTDMessage
class  psMOTDRequestMessage
class  psMoveLockMessage
 Sends messages to the client informing of server-side movement lockouts. More...
class  psMovementInfoMessage
class  psMoveModMsg
class  psMsgCraftingInfo
 Defines all the info about crafting for an item. More...
class  psMsgRequestMovement
class  psMsgStringsMessage
 Message sent from server to client containing the message strings hash table. More...
class  psMusicalSheetMessage
 Message used by to send a musical sheet. More...
class  psNameCheckMessage
 Used to check to see if a name chosen is a valid name to be picked from. More...
class  psNewSectorMessage
 Sends messages to the client indicating that a sector portal has been crossed. More...
class  psOrderedMessage
 Class to implement sequential delivery of net messages. More...
class  psOverrideActionMessage
 Indicates that an OverrideAction is being done and not a loop as covered in DR msgs. More...
class  psPersistActionLocation
class  psPersistActor
class  psPersistActorRequest
class  psPersistAllEntities
class  psPersistItem
class  psPersistWorld
class  psPersistWorldRequest
struct  psPetitionInfo
 Contains data for one petition. More...
class  psPetitionMessage
 Messages sent to user with petition information. More...
class  psPetitionRequestMessage
 Messages sent by the user to the server with requests for petition information. More...
class  psPetSkillMessage
 Pet Skill Message. More...
class  psPingMsg
class  psPlaySongMessage
 This message is used by the server to make clients play a song. More...
class  psPlaySoundMessage
 Sound Message. More...
class  psPreAuthApprovedMessage
 Message sent from server to client that holds random number (clientnum). More...
class  psPreAuthenticationMessage
 The message sent from client to server before login. More...
class  psPurifyGlyphMessage
class  psQuestInfoMessage
 Sends messages to the client listing the assigned quests for the player. More...
class  psQuestionCancelMessage
class  psQuestionMessage
class  psQuestionResponseMsg
class  psQuestListMessage
 Sends messages to the client listing the assigned quests for the player. More...
class  psQuestRewardMessage
class  psReadBookTextMessage
class  psRemoveObject
class  psRequestAllObjects
class  psRequestGlyphsMessage
class  psSequenceMessage
 Sends messages to the client to control sequences. More...
class  psSimpleRenderMeshMessage
 Class to send a csSimpleRenderMesh to the client. More...
class  psSimpleStringMessage
 Class to send a single arbitrary string to the client or server. More...
class  psSketchMessage
 Class to send client directions on how to render a Sketch. More...
class  psSlotMovementMsg
class  psSoundEventMessage
 Sound Events Message. More...
class  psSpecialCombatEventMessage
 Messages from the server to the client, similar to combat events below, but for special attacks. More...
class  psSpellBookMessage
class  psSpellCancelMessage
class  psSpellCastMessage
 Spell Cast Message. More...
class  psStatDRMessage
class  psStatsMessage
 This message is sent to the client to let it know the basic stats of the player. More...
class  psStopEffectMessage
class  psStopSongMessage
 This message is used by both server and client to stop a song. More...
class  psSystemMessage
class  psSystemMessageSafe
 Messages with system information sent to user. More...
class  psTraitChangeMessage
 Message to change a character's trait. More...
class  psTutorialMessage
 Class to send instructions from server to client on a tutorial event. More...
class  psUpdateObjectNameMessage
class  psUpdatePlayerGroupMessage
class  psUpdatePlayerGuildMessage
class  psUserActionMessage
class  psUserCmdMessage
 User commands. More...
class  psViewActionLocationMessage
class  psViewContainerDescription
 General Message for sending information about an containter to a client. More...
class  psViewItemDescription
 General Message for sending information about an item to a client. More...
class  psViewItemUpdate
class  psWeatherMessage
 Sends messages to the client indicating rain and time of day. More...
class  psWorkCmdMessage
 Work commands. More...
class  psWriteBookMessage

Defines

#define MAXSYSTEMMSGSIZE   1024
 Messages with system information sent to user.
#define MSG_ACK   0x00010005
#define MSG_COMBAT   0x00020000
#define MSG_COMBAT_BLOCK   0x00020002
#define MSG_COMBAT_DEATH   0x00020009
#define MSG_COMBAT_DODGE   0x00020001
#define MSG_COMBAT_HITOTHER   0x00020004
#define MSG_COMBAT_HITYOU   0x00020003
#define MSG_COMBAT_MISS   0x00020007
#define MSG_COMBAT_NEARLY_DEAD   0x0002000c
#define MSG_COMBAT_OTHERHIT   0x00020006
#define MSG_COMBAT_OWN_DEATH   0x00020008
#define MSG_COMBAT_STANCE   0x0002000b
#define MSG_COMBAT_VICTORY   0x0002000a
#define MSG_COMBAT_YOURHIT   0x00020005
#define MSG_ERROR   0x00000000
#define MSG_INFO   0x00010000
#define MSG_INFO_BASE   0x00010006
#define MSG_INFO_SERVER   0x00010001
#define MSG_LOOT   0x00030000
#define MSG_OK   0x00010003
#define MSG_PURCHASE   0x00400000
#define MSG_RESULT   0x00010002
#define MSG_SEC   0x00300000
#define MSG_WHO   0x00010004
#define PINGFLAG_HASBEENREADY   0x0004
#define PINGFLAG_READY   0x0002
#define PINGFLAG_REQUESTFLAGS   0x0001
#define PINGFLAG_SERVERFULL   0x0008
#define PS_NETVERSION   0x00B9
#define PS_NPCNETVERSION   0x1035
#define PSF_DECLARE_MSG_FACTORY()
#define PSF_IMPLEMENT_MSG_FACTORY(Class, MsgType)
#define PSF_IMPLEMENT_MSG_FACTORY_ACCESS_POINTER(Class, MsgType)
#define PSF_IMPLEMENT_MSG_FACTORY_CREATE1(Class)
#define PSF_IMPLEMENT_MSG_FACTORY_CREATE2(Class)
#define PSF_IMPLEMENT_MSG_FACTORY_REGISTER(Class, MsgType)
#define PSF_IMPLEMENT_MSG_FACTORY_TYPENAME(Class, MsgType)
#define SEC_LEVEL0   0x00300000
#define SEC_LEVEL1   0x00300001
#define SEC_LEVEL2   0x00300002
#define SEC_LEVEL3   0x00300003
#define SEC_LEVEL4   0x00300004
#define TOP_SHORT_INT_VAL   65535

Typedefs

typedef psMessageCracker *(* psfMsgFactoryFunc )(MsgEntry *me, NetBase::AccessPointers *accessPointers)

Enumerations

enum  {
  CHAT_SYSTEM, CHAT_COMBAT, CHAT_SAY, CHAT_TELL,
  CHAT_GROUP, CHAT_GUILD, CHAT_ALLIANCE, CHAT_AUCTION,
  CHAT_SHOUT, CHAT_CHANNEL, CHAT_TELLSELF, CHAT_REPORT,
  CHAT_ADVISOR, CHAT_ADVICE, CHAT_ADVICE_LIST, CHAT_SERVER_TELL,
  CHAT_GM, CHAT_SERVER_INFO, CHAT_NPC, CHAT_NPCINTERNAL,
  CHAT_SYSTEM_BASE, CHAT_PET_ACTION, CHAT_NPC_ME, CHAT_NPC_MY,
  CHAT_NPC_NARRATE, CHAT_AWAY, CHAT_END
}
enum  {
  PETITION_LIST = 0, PETITION_CANCEL = 1, PETITION_CLOSE = 2, PETITION_CHANGE = 3,
  PETITION_ASSIGN = 4, PETITION_DEASSIGN = 5, PETITION_ESCALATE = 6, PETITION_DESCALATE = 7,
  PETITION_DIRTY = 8
}
enum  DESCTYPE { DESC_IC = 1, DESC_OOC, DESC_CC }
enum  MSG_TYPES {
  MSGTYPE_PING = 1, MSGTYPE_AUTHENTICATE, MSGTYPE_PREAUTHENTICATE, MSGTYPE_PREAUTHAPPROVED,
  MSGTYPE_AUTHAPPROVED, MSGTYPE_AUTHREJECTED, MSGTYPE_DISCONNECT, MSGTYPE_CHAT,
  MSGTYPE_CHANNEL_JOIN, MSGTYPE_CHANNEL_JOINED, MSGTYPE_CHANNEL_LEAVE, MSGTYPE_GUILDCMD,
  MSGTYPE_USERCMD, MSGTYPE_SYSTEM, MSGTYPE_CHARREJECT, MSGTYPE_DEAD_RECKONING,
  MSGTYPE_FORCE_POSITION, MSGTYPE_CELPERSIST, MSGTYPE_CONFIRMQUESTION, MSGTYPE_USERACTION,
  MSGTYPE_ADMINCMD, MSGTYPE_GUIINTERACT, MSGTYPE_GUIINVENTORY, MSGTYPE_VIEW_ITEM,
  MSGTYPE_VIEW_CONTAINER, MSGTYPE_VIEW_SKETCH, MSGTYPE_VIEW_ACTION_LOCATION, MSGTYPE_READ_BOOK,
  MSGTYPE_WRITE_BOOK, MSGTYPE_UPDATE_ITEM, MSGTYPE_MODE, MSGTYPE_WEATHER,
  MSGTYPE_NEWSECTOR, MSGTYPE_GUIGUILD, MSGTYPE_EQUIPMENT, MSGTYPE_GUIEXCHANGE,
  MSGTYPE_EXCHANGE_REQUEST, MSGTYPE_EXCHANGE_ADD_ITEM, MSGTYPE_EXCHANGE_REMOVE_ITEM, MSGTYPE_EXCHANGE_ACCEPT,
  MSGTYPE_EXCHANGE_STATUS, MSGTYPE_EXCHANGE_END, MSGTYPE_EXCHANGE_AUTOGIVE, MSGTYPE_EXCHANGE_MONEY,
  MSGTYPE_GUIMERCHANT, MSGTYPE_GUISTORAGE, MSGTYPE_GROUPCMD, MSGTYPE_GUIGROUP,
  MSGTYPE_STATDRUPDATE, MSGTYPE_SPELL_BOOK, MSGTYPE_GLYPH_REQUEST, MSGTYPE_GLYPH_ASSEMBLE,
  MSGTYPE_PURIFY_GLYPH, MSGTYPE_SPELL_CAST, MSGTYPE_SPELL_CANCEL, MSGTYPE_EFFECT,
  MSGTYPE_EFFECT_STOP, MSGTYPE_NPCAUTHENT, MSGTYPE_NPCLIST, MSGTYPE_GUITARGETUPDATE,
  MSGTYPE_MAPLIST, MSGTYPE_NPCCOMMANDLIST, MSGTYPE_NPCREADY, MSGTYPE_ALLENTITYPOS,
  MSGTYPE_PERSIST_ALL_ENTITIES, MSGTYPE_NEW_NPC, MSGTYPE_PETITION, MSGTYPE_MSGSTRINGS,
  MSGTYPE_CHARACTERDATA, MSGTYPE_AUTHCHARACTER, MSGTYPE_AUTHCHARACTERAPPROVED, MSGTYPE_CHAR_CREATE_CP,
  MSGTYPE_COMBATEVENT, MSGTYPE_LOOT, MSGTYPE_LOOTITEM, MSGTYPE_LOOTREMOVE,
  MSGTYPE_GUISKILL, MSGTYPE_OVERRIDEACTION, MSGTYPE_QUESTLIST, MSGTYPE_QUESTINFO,
  MSGTYPE_GMGUI, MSGTYPE_WORKCMD, MSGTYPE_BUDDY_LIST, MSGTYPE_BUDDY_STATUS,
  MSGTYPE_MOTD, MSGTYPE_MOTDREQUEST, MSGTYPE_QUESTION, MSGTYPE_QUESTIONRESPONSE,
  MSGTYPE_SLOT_MOVEMENT, MSGTYPE_QUESTIONCANCEL, MSGTYPE_GUILDMOTDSET, MSGTYPE_PLAYSOUND,
  MSGTYPE_CHARACTERDETAILS, MSGTYPE_CHARDETAILSREQUEST, MSGTYPE_CHARDESCUPDATE, MSGTYPE_FACTION_INFO,
  MSGTYPE_QUESTREWARD, MSGTYPE_NAMECHANGE, MSGTYPE_GUILDCHANGE, MSGTYPE_LOCKPICK,
  MSGTYPE_GMSPAWNITEMS, MSGTYPE_GMSPAWNTYPES, MSGTYPE_GMSPAWNITEM, MSGTYPE_ADVICE,
  MSGTYPE_ACTIVEMAGIC, MSGTYPE_GROUPCHANGE, MSGTYPE_MAPACTION, MSGTYPE_CLIENTSTATUS,
  MSGTYPE_TUTORIAL, MSGTYPE_BANKING, MSGTYPE_CMDDROP, MSGTYPE_REQUESTMOVEMENTS,
  MSGTYPE_MOVEINFO, MSGTYPE_MOVEMOD, MSGTYPE_MOVELOCK, MSGTYPE_CHAR_DELETE,
  MSGTYPE_CHAR_CREATE_PARENTS, MSGTYPE_CHAR_CREATE_CHILDHOOD, MSGTYPE_CHAR_CREATE_LIFEEVENTS, MSGTYPE_CHAR_CREATE_UPLOAD,
  MSGTYPE_CHAR_CREATE_VERIFY, MSGTYPE_CHAR_CREATE_NAME, MSGTYPE_PERSIST_WORLD_REQUEST, MSGTYPE_PERSIST_WORLD,
  MSGTYPE_PERSIST_ACTOR_REQUEST, MSGTYPE_PERSIST_ACTOR, MSGTYPE_PERSIST_ITEM, MSGTYPE_PERSIST_ACTIONLOCATION,
  MSGTYPE_PERSIST_ALL, MSGTYPE_REMOVE_OBJECT, MSGTYPE_CHANGE_TRAIT, MSGTYPE_DAMAGE_EVENT,
  MSGTYPE_DEATH_EVENT, MSGTYPE_TARGET_EVENT, MSGTYPE_ZPOINT_EVENT, MSGTYPE_BUY_EVENT,
  MSGTYPE_SELL_EVENT, MSGTYPE_PICKUP_EVENT, MSGTYPE_DROP_EVENT, MSGTYPE_LOOT_EVENT,
  MSGTYPE_CONNECT_EVENT, MSGTYPE_MOVEMENT_EVENT, MSGTYPE_GENERIC_EVENT, MSGTYPE_SOUND_EVENT,
  MSGTYPE_CHAR_CREATE_TRAITS, MSGTYPE_STATS, MSGTYPE_PET_COMMAND, MSGTYPE_PET_SKILL,
  MSGTYPE_CRAFT_INFO, MSGTYPE_PETITION_REQUEST, MSGTYPE_HEART_BEAT, MSGTYPE_NPC_COMMAND,
  MSGTYPE_MINIGAME_STARTSTOP, MSGTYPE_MINIGAME_BOARD, MSGTYPE_MINIGAME_UPDATE, MSGTYPE_ENTRANCE,
  MSGTYPE_GMEVENT_LIST, MSGTYPE_GMEVENT_INFO, MSGTYPE_SEQUENCE, MSGTYPE_NPCRACELIST,
  MSGTYPE_INTRODUCTION, MSGTYPE_CACHEFILE, MSGTYPE_DIALOG_MENU, MSGTYPE_SIMPLE_STRING,
  MSGTYPE_ORDEREDTEST, MSGTYPE_GENERICCMD, MSGTYPE_CRAFT_CANCEL, MSGTYPE_MUSICAL_SHEET,
  MSGTYPE_PLAY_SONG, MSGTYPE_STOP_SONG, MSGTYPE_SIMPLE_RENDER_MESH, MSGTYPE_NPC_WORKDONE,
  MSGTYPE_PATH_NETWORK, MSGTYPE_LOCATION, MSGTYPE_MECS_ACTIVATE, MSGTYPE_NPC_DELETED,
  MSGTYPE_HIRED_NPC_SCRIPT, MSGTYPE_GMSPAWNGETMODS, MSGTYPE_GMSPAWNMODS, MSGTYPE_ATTACK_QUEUE,
  MSGTYPE_ATTACK_BOOK, MSGTYPE_SPECCOMBATEVENT
}
enum  Slot_Containers {
  CONTAINER_INVENTORY_BULK = -1, CONTAINER_INVENTORY_EQUIPMENT = -2, CONTAINER_EXCHANGE_OFFERING = -3, CONTAINER_EXCHANGE_RECEIVING = -4,
  CONTAINER_INVENTORY_MONEY = -5, CONTAINER_OFFERING_MONEY = -6, CONTAINER_RECEIVING_MONEY = -7, CONTAINER_WORLD = -8,
  CONTAINER_GEM_OBJECT = -9, CONTAINER_SPELL_BOOK = -10
}

Functions

void DecodeMessage (MsgEntry *me, NetBase::AccessPointers *accessPointers, bool filterhex, csString &msgText, int &filterNumber)
csString GetMsgTypeName (int msgType)
psMessageCrackerpsfCreateMsg (int msgtype, MsgEntry *me, NetBase::AccessPointers *accessPointers)
int psfMsgType (const char *msgTypeName)
csString psfMsgTypeName (int msgType)
void psfRegisterMsgFactoryFunction (psfMsgFactoryFunc factoryfunc, int msgtype, const char *msgtypename)
void psfUnRegisterMsgFactories (void)