summaryrefslogtreecommitdiff
path: root/src/map/clif.h
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-04-08 22:25:47 -0300
committershennetsind <ind@henn.et>2013-04-08 22:25:47 -0300
commit39799c4d0a5a9e523b0830f028f8aafb20744ba7 (patch)
treefa7a0dcd33965b86e14c47b21f206e3e2a548b6e /src/map/clif.h
parent81ad44467d7f0d4f0d63637ef2996012b9c81a9a (diff)
downloadhercules-39799c4d0a5a9e523b0830f028f8aafb20744ba7.tar.gz
hercules-39799c4d0a5a9e523b0830f028f8aafb20744ba7.tar.bz2
hercules-39799c4d0a5a9e523b0830f028f8aafb20744ba7.tar.xz
hercules-39799c4d0a5a9e523b0830f028f8aafb20744ba7.zip
Introducing Cash Shop Support
Special Thanks to Yommy, Yommy, Yommy, malufett, Judas, Beret and everyone whos helped us get the 2013 client to work, Thank you all! http://hercules.ws/board/topic/367-introducing-cash-shop-support/ Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/clif.h')
-rw-r--r--src/map/clif.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/map/clif.h b/src/map/clif.h
index 1fffb42e8..90915e1c9 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -338,6 +338,28 @@ enum hChSysChType {
hChSys_ALLY = 3,
};
+enum CASH_SHOP_TABS {
+ CASHSHOP_TAB_NEW = 0,
+ CASHSHOP_TAB_POPULAR = 1,
+ CASHSHOP_TAB_LIMITED = 2,
+ CASHSHOP_TAB_RENTAL = 3,
+ CASHSHOP_TAB_PERPETUITY = 4,
+ CASHSHOP_TAB_BUFF = 5,
+ CASHSHOP_TAB_RECOVERY = 6,
+ CASHSHOP_TAB_ETC = 7,
+ CASHSHOP_TAB_MAX,
+};
+
+enum CASH_SHOP_BUY_RESULT {
+ CSBR_SUCCESS = 0x0,
+ CSBR_SHORTTAGE_CASH = 0x2,
+ CSBR_UNKONWN_ITEM = 0x3,
+ CSBR_INVENTORY_WEIGHT = 0x4,
+ CSBR_INVENTORY_ITEMCNT = 0x5,
+ CSBR_RUNE_OVERCOUNT = 0x9,
+ CSBR_EACHITEM_OVERCOUNT = 0xa,
+ CSBR_UNKNOWN = 0xb,
+};
/**
* Structures
@@ -372,6 +394,11 @@ struct hChSysCh {
uint16 m;
};
+struct hCSData {
+ unsigned short id;
+ unsigned int price;
+};
+
/**
* Vars
**/
@@ -391,6 +418,11 @@ struct clif_interface {
DBMap* channel_db;
/* for clif_clearunit_delayed */
struct eri *delay_clearunit_ers;
+ /* Cash Shop [Ind/Hercules] */
+ struct {
+ struct hCSData **data[CASHSHOP_TAB_MAX];
+ unsigned int item_count[CASHSHOP_TAB_MAX];
+ } cs;
/* core */
int (*init) (void);
void (*final) (void);
@@ -424,6 +456,7 @@ struct clif_interface {
void (*addcards) (unsigned char* buf, struct item* item);
void (*item_sub) (unsigned char *buf, int n, struct item *i, struct item_data *id, int equip);
void (*getareachar_item) (struct map_session_data* sd,struct flooritem_data* fitem);
+ void (*cashshop_load) (void);
/* unit-related */
void (*clearunit_single) (int id, clr_type type, int fd);
void (*clearunit_area) (struct block_list* bl, clr_type type);
@@ -1025,6 +1058,8 @@ struct clif_interface {
/* RagExe Cash Shop [Ind/Hercules] */
void (*pCashShopOpen) (int fd, struct map_session_data *sd);
void (*pCashShopClose) (int fd, struct map_session_data *sd);
+ void (*pCashShopSchedule) (int fd, struct map_session_data *sd);
+ void (*pCashShopBuy) (int fd, struct map_session_data *sd);
} clif_s;
struct clif_interface *clif;