summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/itemdb.h58
-rw-r--r--src/map/pc.c2
2 files changed, 50 insertions, 10 deletions
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 55b02ab55..1edd0f96f 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -4,10 +4,14 @@
#ifndef _ITEMDB_H_
#define _ITEMDB_H_
-#include "map.h"
+#include "mmo.h" // ITEM_NAME_LENGTH
+
#define MAX_RANDITEM 10000
-enum {
+#define MAX_SEARCH 5 //Designed for search functions, species max number of matches to display.
+
+
+enum item_types {
IT_HEALING = 0,
IT_UNKNOWN, //1
IT_USABLE, //2
@@ -21,7 +25,48 @@ enum {
IT_AMMO, //10
IT_DELAYCONSUME,//11
IT_MAX
-} item_types;
+};
+
+enum item_group_list {
+ IG_BLUEBOX=1, //1
+ IG_VIOLETBOX, //2
+ IG_CARDALBUM, //3
+ IG_GIFTBOX, //4
+ IG_SCROLLBOX, //5
+ IG_FINDINGORE, //6
+ IG_COOKIEBAG, //7
+ IG_FIRSTAID, //8
+ IG_HERB, //9
+ IG_FRUIT, //10
+ IG_MEAT, //11
+ IG_CANDY, //12
+ IG_JUICE, //13
+ IG_FISH, //14
+ IG_BOX, //15
+ IG_GEMSTONE, //16
+ IG_RESIST, //17
+ IG_ORE, //18
+ IG_FOOD, //19
+ IG_RECOVERY, //20
+ IG_MINERAL, //21
+ IG_TAMING, //22
+ IG_SCROLL, //23
+ IG_QUIVER, //24
+ IG_MASK, //25
+ IG_ACCESORY, //26
+ IG_JEWEL, //27
+ IG_GIFTBOX_1, //28
+ IG_GIFTBOX_2, //29
+ IG_GIFTBOX_3, //30
+ IG_GIFTBOX_4, //31
+ IG_EGGBOY, //32
+ IG_EGGGIRL, //33
+ IG_GIFTBOXCHINA, //34
+ IG_LOTTOBOX, //35
+ IG_FOODBAG, //36
+ IG_POTION, //37
+ MAX_ITEMGROUP,
+};
#define CARD0_FORGE 0x00FF
#define CARD0_CREATE 0x00FE
@@ -102,7 +147,7 @@ struct item_data* itemdb_exists(int nameid);
#define itemdb_available(n) (itemdb_exists(n) && itemdb_search(n)->flag.available)
#define itemdb_viewid(n) (itemdb_search(n)->view_id)
#define itemdb_autoequip(n) (itemdb_search(n)->flag.autoequip)
-int itemdb_group_bonus(struct map_session_data *sd, int itemid);
+int itemdb_group_bonus(const int itemgrouphealrate[MAX_ITEMGROUP], int itemid);
int itemdb_searchrandomid(int flags);
@@ -134,11 +179,6 @@ int itemdb_isidentified(int);
int itemdb_isstackable(int);
int itemdb_isstackable2(struct item_data *);
-// itemdb_equipマクロとitemdb_equippointとの違いは
-// 前者が鯖側dbで定義された値そのものを返すのに対し
-// 後者はsessiondataを考慮した鞍側での装備可能場所
-// すべての組み合わせを返す
-
void itemdb_reload(void);
void do_final_itemdb(void);
diff --git a/src/map/pc.c b/src/map/pc.c
index 6f9a3c4d8..7ba8a8b87 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5495,7 +5495,7 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
if (potion_flag > 1)
bonus += bonus*(potion_flag-1)*50/100;
//Item Group bonuses
- bonus += bonus*itemdb_group_bonus(sd, itemid)/100;
+ bonus += bonus*itemdb_group_bonus(sd->itemgrouphealrate, itemid)/100;
//Individual item bonuses.
for(i = 0; i < MAX_PC_BONUS && sd->itemhealrate[i].nameid; i++)
{