diff options
author | Andrei Karas <akaras@inbox.ru> | 2020-01-30 07:19:13 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2020-02-09 21:30:38 +0300 |
commit | 3daa68bc406ab062190774f55ea21769a73f825b (patch) | |
tree | 5e21003fc03c832bd6046369152aabda7501c7ea /src/map/npc.h | |
parent | 92bcd85116ff374bca68e77ac1dd68ba29bf61e2 (diff) | |
download | hercules-3daa68bc406ab062190774f55ea21769a73f825b.tar.gz hercules-3daa68bc406ab062190774f55ea21769a73f825b.tar.bz2 hercules-3daa68bc406ab062190774f55ea21769a73f825b.tar.xz hercules-3daa68bc406ab062190774f55ea21769a73f825b.zip |
Add npc functions for expanded barter shops
Diffstat (limited to 'src/map/npc.h')
-rw-r--r-- | src/map/npc.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/map/npc.h b/src/map/npc.h index 64c0e37e9..392911046 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -61,17 +61,25 @@ struct npc_label_list { int pos; }; +struct npc_barter_currency { + int nameid; + int refine; + int amount; +}; + struct npc_item_list { int nameid; unsigned int value; // price or barter currency item id - int value2; // barter currency item amount - unsigned int qty; + int value2; // barter currency item amount / expanded barter currency size + int qty; + struct npc_barter_currency *currency; }; struct npc_shop_data { unsigned char type;/* what am i */ struct npc_item_list *item;/* list */ unsigned int items;/* total */ + int shop_last_index; // only for NST_EXPANDED_BARTER }; struct npc_parse; struct npc_data { @@ -315,6 +323,7 @@ struct npc_interface { void (*trader_update) (int master); enum market_buy_result (*market_buylist) (struct map_session_data *sd, struct itemlist *item_list); int (*barter_buylist) (struct map_session_data *sd, struct barteritemlist *item_list); + int (*expanded_barter_buylist) (struct map_session_data *sd, struct barteritemlist *item_list); bool (*trader_open) (struct map_session_data *sd, struct npc_data *nd); void (*market_fromsql) (void); void (*market_tosql) (struct npc_data *nd, int index); @@ -324,6 +333,10 @@ struct npc_interface { void (*barter_tosql) (struct npc_data *nd, int index); void (*barter_delfromsql) (struct npc_data *nd, int index); void (*barter_delfromsql_sub) (const char *npcname, int itemId, int itemId2, int amount2); + void (*expanded_barter_fromsql) (void); + void (*expanded_barter_tosql) (struct npc_data *nd, int index); + void (*expanded_barter_delfromsql) (struct npc_data *nd, int index); + void (*expanded_barter_delfromsql_sub) (const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency* currency); bool (*db_checkid) (const int id); void (*refresh) (struct npc_data* nd); void (*questinfo_clear) (struct npc_data *nd); |