summaryrefslogtreecommitdiff
path: root/src/emap/data
diff options
context:
space:
mode:
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