diff options
Diffstat (limited to 'src/map/itemdb.hpp')
-rw-r--r-- | src/map/itemdb.hpp | 132 |
1 files changed, 82 insertions, 50 deletions
diff --git a/src/map/itemdb.hpp b/src/map/itemdb.hpp index e03892d..279c7a8 100644 --- a/src/map/itemdb.hpp +++ b/src/map/itemdb.hpp @@ -1,31 +1,32 @@ -// $Id: itemdb.h,v 1.3 2004/09/25 05:32:18 MouseJstr Exp $ #ifndef ITEMDB_HPP #define ITEMDB_HPP -#include "map.hpp" +#include "../common/mmo.hpp" + +#include "map.t.hpp" #include "script.hpp" struct item_data { - int nameid; + int nameid; char name[24], jname[24]; char prefix[24], suffix[24]; char cardillustname[64]; - int value_buy; - int value_sell; - int type; - int sex; - int equip; - int weight; - int atk; - int def; - int range; - int magic_bonus; - int slot; - int look; - int elv; - int wlv; - int refine; + int value_buy; + int value_sell; + ItemType type; + int sex; + EPOS equip; + int weight; + int atk; + int def; + int range; + int magic_bonus; + int slot; + ItemLook look; + int elv; + int wlv; + int refine; const ScriptCode *use_script; const ScriptCode *equip_script; struct @@ -37,47 +38,78 @@ struct item_data unsigned no_drop:1; unsigned no_use:1; } flag; - int view_id; + int view_id; }; struct random_item_data { - int nameid; - int per; + int nameid; + int per; }; -struct item_data *itemdb_searchname (const char *name); -struct item_data *itemdb_search (int nameid); -struct item_data *itemdb_exists (int nameid); -#define itemdb_type(n) itemdb_search(n)->type -#define itemdb_atk(n) itemdb_search(n)->atk -#define itemdb_def(n) itemdb_search(n)->def -#define itemdb_look(n) itemdb_search(n)->look -#define itemdb_weight(n) itemdb_search(n)->weight -#define itemdb_equip(n) itemdb_search(n)->equip -#define itemdb_usescript(n) itemdb_search(n)->use_script -#define itemdb_equipscript(n) itemdb_search(n)->equip_script -#define itemdb_wlv(n) itemdb_search(n)->wlv -#define itemdb_range(n) itemdb_search(n)->range -#define itemdb_slot(n) itemdb_search(n)->slot -#define itemdb_available(n) (itemdb_exists(n) && itemdb_search(n)->flag.available) -#define itemdb_viewid(n) (itemdb_search(n)->view_id) +struct item_data *itemdb_searchname(const char *name); +struct item_data *itemdb_search(int nameid); +struct item_data *itemdb_exists(int nameid); -int itemdb_searchrandomid (int flags); +inline +ItemType itemdb_type(int n) +{ + return itemdb_search(n)->type; +} +inline +ItemLook itemdb_look(int n) +{ + return itemdb_search(n)->look; +} +inline +int itemdb_weight(int n) +{ + return itemdb_search(n)->weight; +} +inline +const ScriptCode *itemdb_equipscript(int n) +{ + return itemdb_search(n)->equip_script; +} +inline +int itemdb_wlv(int n) +{ + return itemdb_search(n)->wlv; +} +inline +bool itemdb_available(int n) +{ + return itemdb_exists(n) && itemdb_search(n)->flag.available; +} +inline +int itemdb_viewid(int n) +{ + return itemdb_search(n)->view_id; +} -#define itemdb_value_buy(n) itemdb_search(n)->value_buy -#define itemdb_value_sell(n) itemdb_search(n)->value_sell -#define itemdb_value_notdc(n) itemdb_search(n)->flag.value_notdc -#define itemdb_value_notoc(n) itemdb_search(n)->flag.value_notoc +inline +int itemdb_value_sell(int n) +{ + return itemdb_search(n)->value_sell; +} +inline +int itemdb_value_notdc(int n) +{ + return itemdb_search(n)->flag.value_notdc; +} +inline +int itemdb_value_notoc(int n) +{ + return itemdb_search(n)->flag.value_notoc; +} -int itemdb_isequip (int); -int itemdb_isequip2 (struct item_data *); -int itemdb_isequip3 (int); -int itemdb_isdropable (int nameid); +int itemdb_isequip(int); +int itemdb_isequip2(struct item_data *); +int itemdb_isequip3(int); -void itemdb_reload (void); +void itemdb_reload(void); -void do_final_itemdb (void); -int do_init_itemdb (void); +void do_final_itemdb(void); +void do_init_itemdb(void); -#endif +#endif // ITEMDB_HPP |