00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _TMWSERV_DEFINES_H_
00025 #define _TMWSERV_DEFINES_H_
00026
00027
00039 typedef enum {
00040 AL_NORMAL,
00041 AL_ADMIN,
00042 AL_GM,
00043 AL_BANNED,
00044 AL_RESTRICTED
00045 } AccountLevel;
00046
00047 enum
00048 {
00049
00050 MAX_CLIENTS = 1024,
00051
00052
00057 MAX_PUBLIC_CHANNELS_RANGE = 1000,
00058 MAX_PRIVATE_CHANNELS_RANGE = 10000,
00059 MAX_CHANNEL_NAME = 15,
00060 MAX_CHANNEL_ANNOUNCEMENT = 150,
00061 MAX_CHANNEL_PASSWORD = 12,
00062
00063
00064 MIN_LOGIN_LENGTH = 4,
00065 MAX_LOGIN_LENGTH = 16,
00066 MIN_PASSWORD_LENGTH = 4,
00067 MAX_PASSWORD_LENGTH = 25,
00068 MIN_EMAIL_LENGTH = 7,
00069 MAX_EMAIL_LENGTH = 50,
00070
00071
00072 MIN_CHARACTER_LENGTH = 4,
00073 MAX_CHARACTER_LENGTH = 25,
00074 MAX_OF_CHARACTERS = 3,
00075 MAX_HAIRSTYLE_VALUE = 7,
00076 MAX_HAIRCOLOR_VALUE = 9,
00077 MAX_GENDER_VALUE = 2,
00078
00082 POINTS_TO_DISTRIBUTES_AT_LVL1 = 70,
00083
00084
00088 AROUND_AREA = 320
00089 };
00090
00102 enum {
00103
00104 PAMSG_REGISTER = 0x0000,
00105 APMSG_REGISTER_RESPONSE = 0x0002,
00106 PAMSG_UNREGISTER = 0x0003,
00107 APMSG_UNREGISTER_RESPONSE = 0x0004,
00108 PAMSG_LOGIN = 0x0010,
00109 APMSG_LOGIN_RESPONSE = 0x0012,
00110 PAMSG_LOGOUT = 0x0013,
00111 APMSG_LOGOUT_RESPONSE = 0x0014,
00112 PAMSG_CHAR_CREATE = 0x0020,
00113 APMSG_CHAR_CREATE_RESPONSE = 0x0021,
00114 PAMSG_CHAR_DELETE = 0x0022,
00115 APMSG_CHAR_DELETE_RESPONSE = 0x0023,
00116 APMSG_CHAR_INFO = 0x0024,
00117 PAMSG_CHAR_SELECT = 0x0026,
00118 APMSG_CHAR_SELECT_RESPONSE = 0x0027,
00119 PAMSG_EMAIL_CHANGE = 0x0030,
00120 APMSG_EMAIL_CHANGE_RESPONSE = 0x0031,
00121 PAMSG_EMAIL_GET = 0x0032,
00122 APMSG_EMAIL_GET_RESPONSE = 0x0033,
00123 PAMSG_PASSWORD_CHANGE = 0x0034,
00124 APMSG_PASSWORD_CHANGE_RESPONSE = 0x0035,
00125
00126 PGMSG_CONNECT = 0x0050,
00127 GPMSG_CONNECT_RESPONSE = 0x0051,
00128 PCMSG_CONNECT = 0x0053,
00129 CPMSG_CONNECT_RESPONSE = 0x0054,
00130
00131 PGMSG_DISCONNECT = 0x0060,
00132 GPMSG_DISCONNECT_RESPONSE = 0x0061,
00133 PCMSG_DISCONNECT = 0x0063,
00134 CPMSG_DISCONNECT_RESPONSE = 0x0064,
00135
00136 PAMSG_RECONNECT = 0x0065,
00137 APMSG_RECONNECT_RESPONSE = 0x0066,
00138
00139 APMSG_CONNECTION_TIMEDOUT = 0x0070,
00140 GPMSG_CONNECTION_TIMEDOUT = 0x0071,
00141
00142
00143 GPMSG_PLAYER_MAP_CHANGE = 0x0100,
00144 GPMSG_PLAYER_SERVER_CHANGE = 0x0101,
00145 PGMSG_PICKUP = 0x0110,
00146 PGMSG_DROP = 0x0111,
00147 PGMSG_EQUIP = 0x0112,
00148 GPMSG_INVENTORY = 0x0120,
00149 GPMSG_INVENTORY_FULL = 0x0121,
00150 GPMSG_PLAYER_ATTRIBUTE_UPDATE = 0x0130,
00151 GPMSG_BEING_ENTER = 0x0200,
00152
00153
00154 GPMSG_BEING_LEAVE = 0x0201,
00155 GPMSG_ITEM_APPEAR = 0x0202,
00156 PGMSG_WALK = 0x0260,
00157 PGMSG_ACTION_CHANGE = 0x0270,
00158 GPMSG_BEING_ACTION_CHANGE = 0x0271,
00159 GPMSG_BEINGS_MOVE = 0x0280,
00160 GPMSG_ITEMS = 0x0281,
00161 PGMSG_ATTACK = 0x0290,
00162 GPMSG_BEING_ATTACK = 0x0291,
00163 PGMSG_SAY = 0x02A0,
00164 GPMSG_SAY = 0x02A1,
00165 PGMSG_USE_ITEM = 0x0300,
00166 GPMSG_USE_RESPONSE = 0x0301,
00167 GPMSG_BEINGS_DAMAGE = 0x0310,
00168
00169
00170 CPMSG_ERROR = 0x0401,
00171 CPMSG_ANNOUNCEMENT = 0x0402,
00172 CPMSG_PRIVMSG = 0x0403,
00173 CPMSG_PUBMSG = 0x0404,
00174 PCMSG_CHAT = 0x0410,
00175 PCMSG_ANNOUNCE = 0x0411,
00176 PCMSG_PRIVMSG = 0x0412,
00177
00178 PCMSG_REGISTER_CHANNEL = 0x0413,
00179 CPMSG_REGISTER_CHANNEL_RESPONSE = 0x0414,
00180 PCMSG_UNREGISTER_CHANNEL = 0x0415,
00181 CPMSG_UNREGISTER_CHANNEL_RESPONSE = 0x0416,
00182 CPMSG_CHANNEL_EVENT = 0x0418,
00183 PCMSG_ENTER_CHANNEL = 0x0419,
00184 CPMSG_ENTER_CHANNEL_RESPONSE = 0x0420,
00185 PCMSG_QUIT_CHANNEL = 0x0421,
00186 CPMSG_QUIT_CHANNEL_RESPONSE = 0x0422,
00187 PCMSG_LIST_CHANNELS = 0x0423,
00188 CPMSG_LIST_CHANNELS_RESPONSE = 0x0424,
00189
00190
00191 GAMSG_REGISTER = 0x500,
00192 AGMSG_ACTIVE_MAP = 0x501,
00193 AGMSG_PLAYER_ENTER = 0x510,
00194 GAMSG_PLAYER_DATA = 0x520,
00195 GAMSG_REDIRECT = 0x530,
00196 AGMSG_REDIRECT_RESPONSE = 0x531,
00197 GAMSG_PLAYER_RECONNECT = 0x532,
00198
00199 XXMSG_INVALID = 0x7FFF
00200 };
00201
00202
00203
00204 enum {
00205 ERRMSG_OK = 0,
00206 ERRMSG_FAILURE,
00207 ERRMSG_NO_LOGIN,
00208 ERRMSG_NO_CHARACTER_SELECTED,
00209 ERRMSG_INSUFFICIENT_RIGHTS,
00210 ERRMSG_INVALID_ARGUMENT
00211 };
00212
00213
00214 enum {
00215 LOGIN_INVALID_VERSION = 0x40,
00216 LOGIN_SERVER_FULL
00217 };
00218
00219
00220 enum {
00221 REGISTER_INVALID_VERSION = 0x40,
00222 REGISTER_EXISTS_USERNAME,
00223 REGISTER_EXISTS_EMAIL
00224 };
00225
00226
00227 enum {
00228 CREATE_INVALID_HAIRSTYLE = 0x40,
00229 CREATE_INVALID_HAIRCOLOR,
00230 CREATE_INVALID_GENDER,
00231 CREATE_ATTRIBUTES_TOO_HIGH,
00232 CREATE_ATTRIBUTES_TOO_LOW,
00233 CREATE_ATTRIBUTES_EQUAL_TO_ZERO,
00234 CREATE_EXISTS_NAME,
00235 CREATE_TOO_MUCH_CHARACTERS
00236 };
00237
00238
00239 enum {
00240 EMAILCHG_EXISTS_EMAIL = 0x40
00241 };
00242
00243
00244 enum {
00245 CHAT_USING_BAD_WORDS = 0x40,
00246 CHAT_UNHANDLED_COMMAND
00247 };
00248
00249
00250 enum {
00251 CHAT_EVENT_NEW_PLAYER = 0,
00252 CHAT_EVENT_LEAVING_PLAYER
00253 };
00254
00255
00256 enum {
00257
00258 MOVING_POSITION = 1,
00259
00260 MOVING_DESTINATION = 2
00261 };
00262
00272 enum BeingState
00273 {
00274 STATE_POISONED = 1,
00275 STATE_STONED = 2,
00276 STATE_STUNNED = 4,
00277 STATE_SLOWED = 8,
00278 STATE_TIRED = 16,
00279 STATE_MAD = 32,
00280 STATE_BERSERK = 64,
00281 STATE_HASTED = 128,
00282 STATE_FLOATING = 256
00283 };
00284
00288 enum BeingStats
00289 {
00290 BASE_ATTR_STRENGTH = 0,
00291 BASE_ATTR_AGILITY,
00292 BASE_ATTR_DEXTERITY,
00293 BASE_ATTR_VITALITY,
00294 BASE_ATTR_INTELLIGENCE,
00295 BASE_ATTR_WILLPOWER,
00296 BASE_ATTR_CHARISMA,
00297 NB_BASE_ATTRIBUTES,
00298
00299 ATTR_EFF_STRENGTH = NB_BASE_ATTRIBUTES,
00300 ATTR_EFF_AGILITY,
00301 ATTR_EFF_DEXTERITY,
00302 ATTR_EFF_VITALITY,
00303 ATTR_EFF_INTELLIGENCE,
00304 ATTR_EFF_WILLPOWER,
00305 ATTR_EFF_CHARISMA,
00306 NB_EFFECTIVE_ATTRIBUTES,
00307
00308 DERIVED_ATTR_HP_MAXIMUM = NB_EFFECTIVE_ATTRIBUTES,
00309 DERIVED_ATTR_PHYSICAL_ATTACK_MINIMUM,
00310 DERIVED_ATTR_PHYSICAL_ATTACK_FLUCTUATION,
00311 DERIVED_ATTR_PHYSICAL_DEFENCE,
00312
00313 NB_ATTRIBUTES_BEING
00314 };
00315
00316
00320 enum CharacterStats
00321 {
00322 CHAR_SKILL_WEAPON_UNARMED = NB_ATTRIBUTES_BEING,
00323 CHAR_SKILL_WEAPON_SWORD,
00324 CHAR_SKILL_WEAPON_AXE,
00325 CHAR_SKILL_WEAPON_POLEARM,
00326 CHAR_SKILL_WEAPON_JAVELIN,
00327 CHAR_SKILL_WEAPON_WHIP,
00328 CHAR_SKILL_WEAPON_DAGGER,
00329 CHAR_SKILL_WEAPON_STAFF,
00330 CHAR_SKILL_WEAPON_BOW,
00331 CHAR_SKILL_WEAPON_CROSSBOW,
00332 CHAR_SKILL_WEAPON_THROWN,
00333 NB_CHAR_WEAPONSKILLS,
00334
00335 CHAR_SKILL_MAGIC_IAMJUSTAPLACEHOLDER = NB_CHAR_WEAPONSKILLS,
00336 NB_CHAR_MAGICSKILLS,
00337
00338 CHAR_SKILL_CRAFT_IAMJUSTAPLACEHOLDER = NB_CHAR_MAGICSKILLS,
00339 NB_CHAR_CRAFTSKILLS,
00340
00341 CHAR_SKILL_IAMJUSTAPLACEHOLDER = NB_CHAR_CRAFTSKILLS,
00342 NB_CHAR_OTHERSKILLS,
00343
00344 NB_ATTRIBUTES_CHAR = NB_CHAR_OTHERSKILLS
00345 };
00346
00347
00351 enum MonsterStats
00352 {
00353 MONSTER_SKILL_WEAPON = NB_ATTRIBUTES_BEING,
00354 NB_ATTRIBUTES_CONTROLLED
00355 };
00356
00357
00358 #endif // _TMWSERV_DEFINES_H_