diff options
author | shennetsind <ind@henn.et> | 2013-04-08 22:25:47 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-04-08 22:25:47 -0300 |
commit | 39799c4d0a5a9e523b0830f028f8aafb20744ba7 (patch) | |
tree | fa7a0dcd33965b86e14c47b21f206e3e2a548b6e /src/map/clif.h | |
parent | 81ad44467d7f0d4f0d63637ef2996012b9c81a9a (diff) | |
download | hercules-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.h | 35 |
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; |