summaryrefslogtreecommitdiff
path: root/src/emap/data
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-06-19 01:00:50 +0300
committerAndrei Karas <akaras@inbox.ru>2016-06-19 17:37:00 +0300
commit7910c013eeda513e26711c61a650d23a581b9f28 (patch)
tree743e691c364508786b27cede22cb2a455204ed9c /src/emap/data
parent2cfa1a8f0f8bb224654126eb08b67566ee4bc721 (diff)
downloadevol-hercules-7910c013eeda513e26711c61a650d23a581b9f28.tar.gz
evol-hercules-7910c013eeda513e26711c61a650d23a581b9f28.tar.bz2
evol-hercules-7910c013eeda513e26711c61a650d23a581b9f28.tar.xz
evol-hercules-7910c013eeda513e26711c61a650d23a581b9f28.zip
Allow full npc copy in instances.
Diffstat (limited to 'src/emap/data')
-rw-r--r--src/emap/data/npcd.c12
-rw-r--r--src/emap/data/npcd.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/emap/data/npcd.c b/src/emap/data/npcd.c
index 9a57a12..91d92e7 100644
--- a/src/emap/data/npcd.c
+++ b/src/emap/data/npcd.c
@@ -40,3 +40,15 @@ struct NpcdExt *npcd_create(void)
data->walkMask = 0;
return data;
}
+
+void npcd_copy(TBL_NPC *snd,
+ TBL_NPC *nd)
+{
+ const struct NpcdExt *sData = npcd_get(snd);
+ struct NpcdExt *dData = npcd_get(nd);
+ if (!snd || !nd)
+ return;
+ dData->init = sData->init;
+ dData->language = sData->language;
+ dData->walkMask = sData->walkMask;
+}
diff --git a/src/emap/data/npcd.h b/src/emap/data/npcd.h
index 43479f1..8cbba2f 100644
--- a/src/emap/data/npcd.h
+++ b/src/emap/data/npcd.h
@@ -8,5 +8,7 @@ struct NpcdExt;
struct NpcdExt *npcd_get(TBL_NPC *nd);
struct NpcdExt *npcd_create(void);
+void npcd_copy(TBL_NPC *snd,
+ TBL_NPC *nd);
#endif // EVOL_MAP_NPCD