diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-06-19 01:00:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-06-19 17:37:00 +0300 |
commit | 7910c013eeda513e26711c61a650d23a581b9f28 (patch) | |
tree | 743e691c364508786b27cede22cb2a455204ed9c /src/emap/data | |
parent | 2cfa1a8f0f8bb224654126eb08b67566ee4bc721 (diff) | |
download | evol-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.c | 12 | ||||
-rw-r--r-- | src/emap/data/npcd.h | 2 |
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 |