From 58b8c8d8cb9f78537495f908887fea9d0a451637 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 4 Jul 2015 22:37:51 +0300 Subject: Rename login/char/map dirs to elogin/echar/emap for avoid conflicts with hercules. --- src/emap/data/itemd.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ src/emap/data/itemd.h | 13 ++++++++++ src/emap/data/mapd.c | 40 +++++++++++++++++++++++++++++ src/emap/data/mapd.h | 12 +++++++++ src/emap/data/npcd.c | 38 +++++++++++++++++++++++++++ src/emap/data/npcd.h | 12 +++++++++ src/emap/data/session.c | 48 ++++++++++++++++++++++++++++++++++ src/emap/data/session.h | 13 ++++++++++ 8 files changed, 244 insertions(+) create mode 100644 src/emap/data/itemd.c create mode 100644 src/emap/data/itemd.h create mode 100644 src/emap/data/mapd.c create mode 100644 src/emap/data/mapd.h create mode 100644 src/emap/data/npcd.c create mode 100644 src/emap/data/npcd.h create mode 100644 src/emap/data/session.c create mode 100644 src/emap/data/session.h (limited to 'src/emap/data') 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 +#include +#include + +#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; +} diff --git a/src/emap/data/itemd.h b/src/emap/data/itemd.h new file mode 100644 index 0000000..d3c529b --- /dev/null +++ b/src/emap/data/itemd.h @@ -0,0 +1,13 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_ITEMD +#define EVOL_MAP_ITEMD + +struct ItemdExt; + +struct ItemdExt *itemd_get_by_item(struct item *item); +struct ItemdExt *itemd_get(struct item_data *item); +struct ItemdExt *itemd_create(void); + +#endif // EVOL_MAP_MAPD diff --git a/src/emap/data/mapd.c b/src/emap/data/mapd.c new file mode 100644 index 0000000..cb1a506 --- /dev/null +++ b/src/emap/data/mapd.c @@ -0,0 +1,40 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include +#include +#include + +#include "common/HPMi.h" +#include "common/malloc.h" +#include "common/mmo.h" +#include "common/socket.h" +#include "common/strlib.h" +#include "map/map.h" + +#include "emap/data/mapd.h" +#include "emap/struct/mapdext.h" + +struct MapdExt *mapd_get(int m) +{ + struct map_data *md = &map->list[m]; + struct MapdExt *data = getFromMAPD(md, 0); + if (!data) + { + data = mapd_create(); + addToMAPD(md, data, 0, true); + } + return data; +} + +struct MapdExt *mapd_create(void) +{ + struct MapdExt *data = NULL; + CREATE(data, struct MapdExt, 1); + if (!data) + return NULL; + data->mask = 1; + data->invisible = false; + data->flag.nopve = 0; + return data; +} diff --git a/src/emap/data/mapd.h b/src/emap/data/mapd.h new file mode 100644 index 0000000..a0878ae --- /dev/null +++ b/src/emap/data/mapd.h @@ -0,0 +1,12 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_MAPD +#define EVOL_MAP_MAPD + +struct MapdExt; + +struct MapdExt *mapd_get(int fd); +struct MapdExt *mapd_create(void); + +#endif // EVOL_MAP_MAPD diff --git a/src/emap/data/npcd.c b/src/emap/data/npcd.c new file mode 100644 index 0000000..183db46 --- /dev/null +++ b/src/emap/data/npcd.c @@ -0,0 +1,38 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include +#include +#include + +#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/npc.h" + +#include "emap/data/npcd.h" +#include "emap/struct/npcdext.h" + +struct NpcdExt *npcd_get(TBL_NPC *nd) +{ + struct NpcdExt *data = getFromNPCD(nd, 0); + if (!data) + { + data = npcd_create(); + addToNPCD(nd, data, 0, true); + } + return data; +} + +struct NpcdExt *npcd_create(void) +{ + struct NpcdExt *data = NULL; + CREATE(data, struct NpcdExt, 1); + if (!data) + return NULL; + data->init = false; + return data; +} diff --git a/src/emap/data/npcd.h b/src/emap/data/npcd.h new file mode 100644 index 0000000..52f3b76 --- /dev/null +++ b/src/emap/data/npcd.h @@ -0,0 +1,12 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_NPCD +#define EVOL_MAP_NPCD + +struct NpcdExt; + +struct NpcdExt *npcd_get(TBL_NPC *nd); +struct NpcdExt *npcd_create(void); + +#endif // EVOL_MAP_NPCD diff --git a/src/emap/data/session.c b/src/emap/data/session.c new file mode 100644 index 0000000..c3c3ffa --- /dev/null +++ b/src/emap/data/session.c @@ -0,0 +1,48 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include +#include +#include + +#include "common/HPMi.h" +#include "common/malloc.h" +#include "common/mmo.h" +#include "common/socket.h" +#include "common/strlib.h" +#include "map/pc.h" + +#include "emap/data/session.h" +#include "emap/struct/sessionext.h" + +struct SessionExt *session_get(int fd) +{ + struct SessionExt *data = getFromSession(session[fd], 0); + if (!data) + { + data = session_create(); + addToSession(session[fd], data, 0, true); + } + return data; +} + +struct SessionExt *session_get_bysd(TBL_PC *sd) +{ + if (!sd) + return NULL; + + return session_get(sd->fd); +} + +struct SessionExt *session_create(void) +{ + struct SessionExt *data = NULL; + CREATE(data, struct SessionExt, 1); + if (!data) + return NULL; + data->clientVersion = 0; + data->language = 0; + data->state = 0; + data->onlinelistlasttime = 0; + return data; +} diff --git a/src/emap/data/session.h b/src/emap/data/session.h new file mode 100644 index 0000000..040b408 --- /dev/null +++ b/src/emap/data/session.h @@ -0,0 +1,13 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_SESSION +#define EVOL_MAP_SESSION + +struct SessionExt; + +struct SessionExt *session_get(int fd); +struct SessionExt *session_get_bysd(TBL_PC *sd); +struct SessionExt *session_create(void); + +#endif // EVOL_MAP_SESSION -- cgit v1.2.3-70-g09d2