diff options
author | Kenpachi Developer <Kenpachi.Developer@gmx.de> | 2019-11-27 02:50:08 +0100 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2020-02-09 20:19:12 +0100 |
commit | 30c175a9041a17e0d2ef1d4750163c19ab3a7959 (patch) | |
tree | 8d4accec56aa49efaf40e2e4d3b8ac40a03f0259 /src/map/script.c | |
parent | c76c63d2dddb8c7ec4461dd660b7bb0210f4db96 (diff) | |
download | hercules-30c175a9041a17e0d2ef1d4750163c19ab3a7959.tar.gz hercules-30c175a9041a17e0d2ef1d4750163c19ab3a7959.tar.bz2 hercules-30c175a9041a17e0d2ef1d4750163c19ab3a7959.tar.xz hercules-30c175a9041a17e0d2ef1d4750163c19ab3a7959.zip |
Change unload NPC behavior to kill mobs that were spawned by unloaded NPC (non-permanent monster spawns) [Issue #2530]
Mobs spawned by NPC will be removed on @reloadnpc, @unloadnpc, and @unloadnpcfile.
Additionally OnNPCUnload NPC label was added, to revert other changes made by NPC. For example set/removed mapflags or added mob drops.
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map/script.c b/src/map/script.c index 1d5919d3b..fe8052c65 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -14565,7 +14565,7 @@ static BUILDIN(guardian) } script->check_event(st, evt); - script_pushint(st, mob->spawn_guardian(mapname,x,y,str,class_,evt,guardian,has_index)); + script_pushint(st, mob->spawn_guardian(mapname, x, y, str, class_, evt, guardian, has_index, st->oid)); return true; } @@ -16915,7 +16915,7 @@ static BUILDIN(summon) clif->skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick); - md = mob->once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, class_, event, SZ_SMALL, AI_NONE); + md = mob->once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, class_, event, SZ_SMALL, AI_NONE, 0); if (md) { md->master_id=sd->bl.id; md->special_state.ai = AI_ATTACK; @@ -22353,7 +22353,7 @@ static BUILDIN(bg_monster) class_ = script_getnum(st,7); if( script_hasdata(st,8) ) evt = script_getstr(st,8); script->check_event(st, evt); - script_pushint(st, mob->spawn_bg(mapname,x,y,str,class_,evt,bg_id)); + script_pushint(st, mob->spawn_bg(mapname, x, y, str, class_, evt, bg_id, st->oid)); return true; } |