Mana
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
protocol.h File Reference
#include "being.h"
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  TmwAthena
 Warning: buffers and other variables are shared, so there can be only one connection active at a time.
 

Enumerations

enum  {
  TmwAthena::JOB = 0xa , TmwAthena::STRENGTH = 0xd , TmwAthena::AGILITY , TmwAthena::VITALITY ,
  TmwAthena::INTELLIGENCE , TmwAthena::DEXTERITY , TmwAthena::LUCK , TmwAthena::ATK ,
  TmwAthena::DEF , TmwAthena::MATK , TmwAthena::MDEF , TmwAthena::HIT ,
  TmwAthena::FLEE , TmwAthena::CRIT
}
 
enum  {
  TmwAthena::SPRITE_BASE = 0 , TmwAthena::SPRITE_SHOE , TmwAthena::SPRITE_BOTTOMCLOTHES , TmwAthena::SPRITE_TOPCLOTHES ,
  TmwAthena::SPRITE_MISC1 , TmwAthena::SPRITE_MISC2 , TmwAthena::SPRITE_HAIR , TmwAthena::SPRITE_HAT ,
  TmwAthena::SPRITE_CAPE , TmwAthena::SPRITE_GLOVES , TmwAthena::SPRITE_WEAPON , TmwAthena::SPRITE_SHIELD ,
  TmwAthena::SPRITE_VECTOREND
}
 
enum class  TmwAthena::LOOK : uint8_t {
  TmwAthena::BASE = 0 , TmwAthena::HAIR = 1 , TmwAthena::WEAPON = 2 , TmwAthena::HEAD_BOTTOM = 3 ,
  TmwAthena::HEAD_TOP = 4 , TmwAthena::HEAD_MID = 5 , TmwAthena::HAIR_COLOR = 6 , TmwAthena::CLOTHES_COLOR = 7 ,
  TmwAthena::SHIELD = 8 , TmwAthena::SHOES = 9 , TmwAthena::GLOVES = 10 , TmwAthena::CAPE = 11 ,
  TmwAthena::MISC1 = 12 , TmwAthena::MISC2 = 13
}
 
enum class  TmwAthena::DIR : uint8_t {
  TmwAthena::S = 0 , TmwAthena::SW = 1 , TmwAthena::W = 2 , TmwAthena::NW = 3 ,
  TmwAthena::N = 4 , TmwAthena::NE = 5 , TmwAthena::E = 6 , TmwAthena::SE = 7 ,
  TmwAthena::COUNT
}
 
enum class  TmwAthena::SEX : uint8_t { TmwAthena::FEMALE = 0 , TmwAthena::MALE = 1 , TmwAthena::UNSPECIFIED = 2 , TmwAthena::NEUTRAL = 3 }
 
enum  TmwAthena::NpcCommand {
  TmwAthena::NPC_REQUEST_LANG = 0 , TmwAthena::NPC_CAMERA_ACTOR = 1 , TmwAthena::NPC_CAMERA_POS = 2 , TmwAthena::NPC_CAMERA_RESTORE = 3 ,
  TmwAthena::NPC_CAMERA_RELATIVE = 4 , TmwAthena::NPC_CLOSE_DIALOG = 5 , TmwAthena::NPC_SHOW_AVATAR = 6 , TmwAthena::NPC_SET_AVATAR_DIRECTION = 7 ,
  TmwAthena::NPC_SET_AVATAR_ACTION = 8 , TmwAthena::NPC_CLEAR_DIALOG = 9 , TmwAthena::NPC_REQUEST_ITEM = 10 , TmwAthena::NPC_REQUEST_ITEM_INDEX = 11 ,
  TmwAthena::NPC_REQUEST_ITEMS = 12
}
 
enum  {
  TmwAthena::SMSG_UPDATE_HOST = 0x0063 , TmwAthena::CMSG_LOGIN_REGISTER = 0x0064 , TmwAthena::SMSG_LOGIN_DATA = 0x0069 , TmwAthena::SMSG_LOGIN_ERROR = 0x006a ,
  TmwAthena::CMSG_CHAR_PASSWORD_CHANGE = 0x0061 , TmwAthena::SMSG_CHAR_PASSWORD_RESPONSE = 0x0062 , TmwAthena::CMSG_CHAR_SERVER_CONNECT = 0x0065 , TmwAthena::CMSG_CHAR_SELECT = 0x0066 ,
  TmwAthena::CMSG_CHAR_CREATE = 0x0067 , TmwAthena::CMSG_CHAR_DELETE = 0x0068 , TmwAthena::SMSG_CHAR_LOGIN = 0x006b , TmwAthena::SMSG_CHAR_LOGIN_ERROR = 0x006c ,
  TmwAthena::SMSG_CHAR_CREATE_SUCCEEDED = 0x006d , TmwAthena::SMSG_CHAR_CREATE_FAILED = 0x006e , TmwAthena::SMSG_CHAR_DELETE_SUCCEEDED = 0x006f , TmwAthena::SMSG_CHAR_DELETE_FAILED = 0x0070 ,
  TmwAthena::SMSG_CHAR_MAP_INFO = 0x0071 , TmwAthena::CMSG_MAP_SERVER_CONNECT = 0x0072 , TmwAthena::SMSG_MAP_LOGIN_SUCCESS = 0x0073 , TmwAthena::SMSG_BEING_VISIBLE = 0x0078 ,
  TmwAthena::SMSG_BEING_MOVE = 0x007b , TmwAthena::SMSG_BEING_SPAWN = 0x007c , TmwAthena::CMSG_MAP_LOADED = 0x007d , TmwAthena::CMSG_MAP_PING = 0x007e ,
  TmwAthena::SMSG_SERVER_PING = 0x007f , TmwAthena::SMSG_BEING_REMOVE = 0x0080 , TmwAthena::CMSG_PLAYER_CHANGE_DEST = 0x0085 , TmwAthena::SMSG_WALK_RESPONSE = 0x0087 ,
  TmwAthena::SMSG_PLAYER_STOP = 0x0088 , TmwAthena::CMSG_PLAYER_CHANGE_ACT = 0x0089 , TmwAthena::SMSG_BEING_ACTION = 0x008a , TmwAthena::CMSG_CHAT_MESSAGE = 0x008c ,
  TmwAthena::SMSG_BEING_CHAT = 0x008d , TmwAthena::SMSG_PLAYER_CHAT = 0x008e , TmwAthena::CMSG_NPC_TALK = 0x0090 , TmwAthena::SMSG_PLAYER_WARP = 0x0091 ,
  TmwAthena::SMSG_CHANGE_MAP_SERVER = 0x0092 , TmwAthena::CMSG_NAME_REQUEST = 0x0094 , TmwAthena::SMSG_BEING_NAME_RESPONSE = 0x0095 , TmwAthena::CMSG_CHAT_WHISPER = 0x0096 ,
  TmwAthena::SMSG_WHISPER = 0x0097 , TmwAthena::SMSG_WHISPER_RESPONSE = 0x0098 , TmwAthena::SMSG_GM_CHAT = 0x009a , TmwAthena::CMSG_PLAYER_CHANGE_DIR = 0x009b ,
  TmwAthena::SMSG_BEING_CHANGE_DIRECTION = 0x009c , TmwAthena::SMSG_ITEM_VISIBLE = 0x009d , TmwAthena::SMSG_ITEM_DROPPED = 0x009e , TmwAthena::CMSG_ITEM_PICKUP = 0x009f ,
  TmwAthena::SMSG_PLAYER_INVENTORY_ADD = 0x00a0 , TmwAthena::SMSG_ITEM_REMOVE = 0x00a1 , TmwAthena::CMSG_PLAYER_INVENTORY_DROP = 0x00a2 , TmwAthena::SMSG_PLAYER_EQUIPMENT = 0x00a4 ,
  TmwAthena::SMSG_PLAYER_STORAGE_EQUIP = 0x00a6 , TmwAthena::CMSG_PLAYER_INVENTORY_USE = 0x00a7 , TmwAthena::SMSG_ITEM_USE_RESPONSE = 0x00a8 , TmwAthena::CMSG_PLAYER_EQUIP = 0x00a9 ,
  TmwAthena::SMSG_PLAYER_EQUIP = 0x00aa , TmwAthena::CMSG_PLAYER_UNEQUIP = 0x00ab , TmwAthena::SMSG_PLAYER_UNEQUIP = 0x00ac , TmwAthena::SMSG_PLAYER_INVENTORY_REMOVE = 0x00af ,
  TmwAthena::SMSG_PLAYER_STAT_UPDATE_1 = 0x00b0 , TmwAthena::SMSG_PLAYER_STAT_UPDATE_2 = 0x00b1 , TmwAthena::CMSG_PLAYER_REBOOT = 0x00b2 , TmwAthena::SMSG_CHAR_SWITCH_RESPONSE = 0x00b3 ,
  TmwAthena::SMSG_NPC_MESSAGE = 0x00b4 , TmwAthena::SMSG_NPC_NEXT = 0x00b5 , TmwAthena::SMSG_NPC_CLOSE = 0x00b6 , TmwAthena::SMSG_NPC_CHOICE = 0x00b7 ,
  TmwAthena::CMSG_NPC_LIST_CHOICE = 0x00b8 , TmwAthena::CMSG_NPC_NEXT_REQUEST = 0x00b9 , TmwAthena::CMSG_STAT_UPDATE_REQUEST = 0x00bb , TmwAthena::SMSG_PLAYER_STAT_UPDATE_4 = 0x00bc ,
  TmwAthena::SMSG_PLAYER_STAT_UPDATE_5 = 0x00bd , TmwAthena::SMSG_PLAYER_STAT_UPDATE_6 = 0x00be , TmwAthena::CMSG_PLAYER_EMOTE = 0x00bf , TmwAthena::SMSG_BEING_EMOTION = 0x00c0 ,
  TmwAthena::SMSG_NPC_BUY_SELL_CHOICE = 0x00c4 , TmwAthena::CMSG_NPC_BUY_SELL_REQUEST = 0x00c5 , TmwAthena::SMSG_NPC_BUY = 0x00c6 , TmwAthena::SMSG_NPC_SELL = 0x00c7 ,
  TmwAthena::CMSG_NPC_BUY_REQUEST = 0x00c8 , TmwAthena::CMSG_NPC_SELL_REQUEST = 0x00c9 , TmwAthena::SMSG_NPC_BUY_RESPONSE = 0x00ca , TmwAthena::SMSG_NPC_SELL_RESPONSE = 0x00cb ,
  TmwAthena::SMSG_ADMIN_KICK_ACK = 0x00cd , TmwAthena::CMSG_TRADE_REQUEST = 0x00e4 , TmwAthena::SMSG_TRADE_REQUEST = 0x00e5 , TmwAthena::CMSG_TRADE_RESPONSE = 0x00e6 ,
  TmwAthena::SMSG_TRADE_RESPONSE = 0x00e7 , TmwAthena::CMSG_TRADE_ITEM_ADD_REQUEST = 0x00e8 , TmwAthena::SMSG_TRADE_ITEM_ADD = 0x00e9 , TmwAthena::CMSG_TRADE_ADD_COMPLETE = 0x00eb ,
  TmwAthena::SMSG_TRADE_OK = 0x00ec , TmwAthena::CMSG_TRADE_CANCEL_REQUEST = 0x00ed , TmwAthena::SMSG_TRADE_CANCEL = 0x00ee , TmwAthena::CMSG_TRADE_OK = 0x00ef ,
  TmwAthena::SMSG_TRADE_COMPLETE = 0x00f0 , TmwAthena::SMSG_PLAYER_STORAGE_STATUS = 0x00f2 , TmwAthena::CMSG_MOVE_TO_STORAGE = 0x00f3 , TmwAthena::SMSG_PLAYER_STORAGE_ADD = 0x00f4 ,
  TmwAthena::CMSG_MOVE_FROM_STORAGE = 0x00f5 , TmwAthena::SMSG_PLAYER_STORAGE_REMOVE = 0x00f6 , TmwAthena::CMSG_CLOSE_STORAGE = 0x00f7 , TmwAthena::SMSG_PLAYER_STORAGE_CLOSE = 0x00f8 ,
  TmwAthena::CMSG_PARTY_CREATE = 0x00f9 , TmwAthena::SMSG_PARTY_CREATE = 0x00fa , TmwAthena::SMSG_PARTY_INFO = 0x00fb , TmwAthena::CMSG_PARTY_INVITE = 0x00fc ,
  TmwAthena::SMSG_PARTY_INVITE_RESPONSE = 0x00fd , TmwAthena::SMSG_PARTY_INVITED = 0x00fe , TmwAthena::CMSG_PARTY_INVITED = 0x00ff , TmwAthena::CMSG_PARTY_LEAVE = 0x0100 ,
  TmwAthena::SMSG_PARTY_SETTINGS = 0x0101 , TmwAthena::CMSG_PARTY_SETTINGS = 0x0102 , TmwAthena::CMSG_PARTY_KICK = 0x0103 , TmwAthena::SMSG_PARTY_LEAVE = 0x0105 ,
  TmwAthena::SMSG_PARTY_UPDATE_HP = 0x0106 , TmwAthena::SMSG_PARTY_UPDATE_COORDS = 0x0107 , TmwAthena::CMSG_PARTY_MESSAGE = 0x0108 , TmwAthena::SMSG_PARTY_MESSAGE = 0x0109 ,
  TmwAthena::SMSG_PLAYER_SKILL_UP = 0x010e , TmwAthena::SMSG_PLAYER_SKILLS = 0x010f , TmwAthena::SMSG_SKILL_FAILED = 0x0110 , TmwAthena::CMSG_SKILL_LEVELUP_REQUEST = 0x0112 ,
  TmwAthena::CMSG_PLAYER_STOP_ATTACK = 0x0118 , TmwAthena::SMSG_PLAYER_STATUS_CHANGE = 0x0119 , TmwAthena::SMSG_PLAYER_MOVE_TO_ATTACK = 0x0139 , TmwAthena::SMSG_PLAYER_ATTACK_RANGE = 0x013a ,
  TmwAthena::SMSG_PLAYER_ARROW_MESSAGE = 0x013b , TmwAthena::SMSG_PLAYER_ARROW_EQUIP = 0x013c , TmwAthena::SMSG_PLAYER_STAT_UPDATE_3 = 0x0141 , TmwAthena::SMSG_NPC_INT_INPUT = 0x0142 ,
  TmwAthena::CMSG_NPC_INT_RESPONSE = 0x0143 , TmwAthena::CMSG_NPC_CLOSE = 0x0146 , TmwAthena::SMSG_BEING_RESURRECT = 0x0148 , TmwAthena::CMSG_CLIENT_QUIT = 0x018a ,
  TmwAthena::SMSG_MAP_QUIT_RESPONSE = 0x018b , TmwAthena::SMSG_PLAYER_GUILD_PARTY_INFO = 0x0195 , TmwAthena::SMSG_BEING_STATUS_CHANGE = 0x0196 , TmwAthena::SMSG_PVP_MAP_MODE = 0x0199 ,
  TmwAthena::SMSG_PVP_SET = 0x019a , TmwAthena::SMSG_BEING_SELFEFFECT = 0x019b , TmwAthena::SMSG_TRADE_ITEM_ADD_RESPONSE = 0x01b1 , TmwAthena::SMSG_PLAYER_INVENTORY_USE = 0x01c8 ,
  TmwAthena::SMSG_NPC_STR_INPUT = 0x01d4 , TmwAthena::CMSG_NPC_STR_RESPONSE = 0x01d5 , TmwAthena::SMSG_BEING_CHANGE_LOOKS2 = 0x01d7 , TmwAthena::SMSG_PLAYER_UPDATE_1 = 0x01d8 ,
  TmwAthena::SMSG_PLAYER_UPDATE_2 = 0x01d9 , TmwAthena::SMSG_PLAYER_MOVE = 0x01da , TmwAthena::SMSG_SKILL_DAMAGE = 0x01de , TmwAthena::SMSG_PLAYER_INVENTORY = 0x01ee ,
  TmwAthena::SMSG_PLAYER_STORAGE_ITEMS = 0x01f0 , TmwAthena::SMSG_BEING_IP_RESPONSE = 0x020c , TmwAthena::CMSG_ONLINE_LIST = 0x0210 , TmwAthena::SMSG_ONLINE_LIST = 0x0211 ,
  TmwAthena::SMSG_NPC_COMMAND = 0x0212 , TmwAthena::SMSG_QUEST_SET_VAR = 0x0214 , TmwAthena::SMSG_QUEST_PLAYER_VARS = 0x0215 , TmwAthena::SMSG_BEING_MOVE3 = 0x0225 ,
  TmwAthena::SMSG_MAP_MASK = 0x0226 , TmwAthena::SMSG_MAP_MUSIC = 0x0227 , TmwAthena::SMSG_NPC_CHANGETITLE = 0x0228 , TmwAthena::SMSG_SCRIPT_MESSAGE = 0x0229 ,
  TmwAthena::SMSG_PLAYER_CLIENT_COMMAND = 0x0230 , TmwAthena::SMSG_MAP_SET_TILES_TYPE = 0x0231 , TmwAthena::SMSG_PLAYER_HP = 0x0232 , TmwAthena::SMSG_PLAYER_HP_FULL = 0x0233 ,
  TmwAthena::SMSG_CONNECTION_PROBLEM = 0x0081 , TmwAthena::CMSG_SERVER_VERSION_REQUEST = 0x7530 , TmwAthena::SMSG_SERVER_VERSION_RESPONSE = 0x7531 , TmwAthena::CMSG_CLIENT_DISCONNECT = 0x7532
}
 

Functions

Gender TmwAthena::sexToGender (SEX sex)