diff options
Diffstat (limited to 'src/map/searchstore.h')
-rw-r--r-- | src/map/searchstore.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/map/searchstore.h b/src/map/searchstore.h index 42d47c7c0..d7a327181 100644 --- a/src/map/searchstore.h +++ b/src/map/searchstore.h @@ -5,8 +5,36 @@ #ifndef _SEARCHSTORE_H_ #define _SEARCHSTORE_H_ +/** + * Defines + **/ #define SEARCHSTORE_RESULTS_PER_PAGE 10 +/** + * Enumerations + **/ +enum e_searchstore_searchtype { + SEARCHTYPE_VENDING = 0, + SEARCHTYPE_BUYING_STORE = 1, +}; + +enum e_searchstore_effecttype { + EFFECTTYPE_NORMAL = 0, + EFFECTTYPE_CASH = 1, + EFFECTTYPE_MAX +}; +/// failure constants for clif functions +enum e_searchstore_failure { + SSI_FAILED_NOTHING_SEARCH_ITEM = 0, // "No matching stores were found." + SSI_FAILED_OVER_MAXCOUNT = 1, // "There are too many results. Please enter more detailed search term." + SSI_FAILED_SEARCH_CNT = 2, // "You cannot search anymore." + SSI_FAILED_LIMIT_SEARCH_TIME = 3, // "You cannot search yet." + SSI_FAILED_SSILIST_CLICK_TO_OPEN_STORE = 4, // "No sale (purchase) information available." +}; + +/** + * Structures + **/ /// information about the search being performed struct s_search_store_search { struct map_session_data* search_sd; // sd of the searching player @@ -41,6 +69,13 @@ struct s_search_store_info { bool open; }; +/// type for shop search function +typedef bool (*searchstore_search_t)(struct map_session_data* sd, unsigned short nameid); +typedef bool (*searchstore_searchall_t)(struct map_session_data* sd, const struct s_search_store_search* s); + +/** + * Interface + **/ struct searchstore_interface { bool (*open) (struct map_session_data* sd, unsigned int uses, unsigned short effect); void (*query) (struct map_session_data* sd, unsigned char type, unsigned int min_price, unsigned int max_price, const unsigned short* itemlist, unsigned int item_count, const unsigned short* cardlist, unsigned int card_count); |