summaryrefslogtreecommitdiff
path: root/src/common/mmo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/mmo.h')
-rw-r--r--src/common/mmo.h62
1 files changed, 57 insertions, 5 deletions
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 276e0eb08..fe67d6efb 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -271,6 +271,13 @@
#endif
STATIC_ASSERT(MAX_ITEM_OPTIONS <= 5, "This value is limited by the client and database layout and should only be increased if you know the consequences.");
+// RoDEX
+#define RODEX_TITLE_LENGTH (40 + 1)
+#define RODEX_BODY_LENGTH (500 + 1)
+#define RODEX_MAX_ITEM (5)
+#define RODEX_EXPIRE (1 * 15 * 24 * 60 * 60)
+#define RODEX_MAIL_PER_PAGE 7
+
// The following system marks a different job ID system used by the map server,
// which makes a lot more sense than the normal one. [Skotlex]
// These marks the "level" of the job.
@@ -586,7 +593,7 @@ struct mmo_charstatus {
int mother;
int child;
- unsigned int base_exp,job_exp;
+ uint64 base_exp, job_exp;
int zeny;
int bank_vault;
@@ -605,10 +612,14 @@ struct mmo_charstatus {
int spear_faith, spear_calls;
int sword_faith, sword_calls;
- short weapon; // enum weapon_type
- short shield; // view-id
- short head_top,head_mid,head_bottom;
- short robe;
+ struct {
+ short weapon; ///< Weapon view sprite id.
+ short shield; ///< Shield view sprite id.
+ short head_top; ///< Top headgear view sprite id.
+ short head_mid; ///< Middle headgear view sprite id.
+ short head_bottom; ///< Bottom headgear view sprite id.
+ short robe; ///< Robe view sprite id.
+ } look;
char name[NAME_LENGTH];
int base_level, job_level;
@@ -809,6 +820,46 @@ enum fame_list_type {
RANKTYPE_PK = 3, //Not supported yet
};
+struct rodex_message {
+ int64 id;
+ int sender_id;
+ char sender_name[NAME_LENGTH];
+ int receiver_id;
+ int receiver_accountid;
+ char receiver_name[NAME_LENGTH];
+ char title[RODEX_TITLE_LENGTH];
+ char body[RODEX_BODY_LENGTH];
+ struct {
+ struct item item;
+ int idx;
+
+ } items[RODEX_MAX_ITEM];
+ int64 zeny;
+ uint8 type;
+ int8 opentype;
+ bool is_read;
+ bool is_deleted;
+ int send_date;
+ int expire_date;
+ int weight;
+ int items_count;
+};
+
+VECTOR_STRUCT_DECL(rodex_maillist, struct rodex_message);
+
+enum rodex_opentype {
+ RODEX_OPENTYPE_MAIL = 0,
+ RODEX_OPENTYPE_ACCOUNT = 1,
+ RODEX_OPENTYPE_RETURN = 2,
+};
+
+enum MAIL_TYPE {
+ MAIL_TYPE_TEXT = 0x0,
+ MAIL_TYPE_ZENY = 0x2,
+ MAIL_TYPE_ITEM = 0x4,
+ MAIL_TYPE_NPC = 0x8
+};
+
/**
* Guild Basic Information
* It is used to request changes via intif_guild_change_basicinfo in map-server and to
@@ -1085,6 +1136,7 @@ enum ammo_type {
A_KUNAI, //7
A_CANNONBALL, //8
A_THROWWEAPON, //9
+ MAX_AMMO_TYPE
};
enum e_char_server_type {