diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-04 22:37:51 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-04 22:37:51 +0300 |
commit | 58b8c8d8cb9f78537495f908887fea9d0a451637 (patch) | |
tree | 74438cc91f5c5a6a7a953c98aa52106eb88b250f /src/emap/data/itemd.c | |
parent | 857c86d93ebd68e5edbbe14ce26a16a967622822 (diff) | |
download | evol-hercules-58b8c8d8cb9f78537495f908887fea9d0a451637.tar.gz evol-hercules-58b8c8d8cb9f78537495f908887fea9d0a451637.tar.bz2 evol-hercules-58b8c8d8cb9f78537495f908887fea9d0a451637.tar.xz evol-hercules-58b8c8d8cb9f78537495f908887fea9d0a451637.zip |
Rename login/char/map dirs to elogin/echar/emap for avoid conflicts with hercules.
Diffstat (limited to 'src/emap/data/itemd.c')
-rw-r--r-- | src/emap/data/itemd.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/emap/data/itemd.c b/src/emap/data/itemd.c new file mode 100644 index 0000000..4b171b2 --- /dev/null +++ b/src/emap/data/itemd.c @@ -0,0 +1,68 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "common/HPMi.h" +#include "common/malloc.h" +#include "common/mmo.h" +#include "common/socket.h" +#include "common/strlib.h" +#include "map/battle.h" +#include "map/itemdb.h" + +#include "emap/data/itemd.h" +#include "emap/struct/itemdext.h" + +struct ItemdExt *itemd_get_by_item(struct item *item) +{ + if (!item) + return NULL; + const int nameid = item->nameid; + struct item_data *item_data = itemdb->exists(nameid); + return itemd_get(item_data); +} + +struct ItemdExt *itemd_get(struct item_data *item) +{ + if (!item) + return NULL; + + struct ItemdExt *data = getFromITEMDATA(item, 0); + if (!data) + { + data = itemd_create(); + addToITEMDATA(item, data, 0, true); + } + return data; +} + +struct ItemdExt *itemd_create(void) +{ + struct ItemdExt *data = NULL; + CREATE(data, struct ItemdExt, 1); + if (!data) + return NULL; + data->floorLifeTime = battle->bc->flooritem_lifetime; + data->allowPickup = true; + data->requiredStr = 0; + data->requiredAgi = 0; + data->requiredVit = 0; + data->requiredInt = 0; + data->requiredDex = 0; + data->requiredLuk = 0; + data->requiredMaxHp = 0; + data->requiredMaxSp = 0; + data->requiredAtk = 0; + data->requiredMAtkMin = 0; + data->requiredMAtkMax = 0; + data->requiredDef = 0; + data->requiredMDef = 0; + data->useEffect = -1; + data->useFailEffect = -1; + data->unequipEffect = -1; + data->unequipFailEffect = -1; + return data; +} |