diff options
author | skyleo <skyleo@skyleo.de> | 2020-02-08 01:03:10 +0100 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-02-15 17:32:31 -0300 |
commit | 3d37243e8d397bb73f058692dbd90bebb7201eab (patch) | |
tree | 9b766f138e4347a33a4a7cb49ca889ba919538a7 | |
parent | 6baeef06ce06287f163d2c93e05d21ed9fd08d51 (diff) | |
download | hercules-3d37243e8d397bb73f058692dbd90bebb7201eab.tar.gz hercules-3d37243e8d397bb73f058692dbd90bebb7201eab.tar.bz2 hercules-3d37243e8d397bb73f058692dbd90bebb7201eab.tar.xz hercules-3d37243e8d397bb73f058692dbd90bebb7201eab.zip |
Fix Homunculi being partially vaporized.
Vanilmirth for example would get incompletely vaporized when using
HVAN_EXPLOSION, if the owner died due to it, and then it would be killed at the end of it.
This produced a bug which made it not ressurectable but callable, once it
was called it would be dead though and you'd be unable to control it,
requiring you to ressurect it after that.
This bug got introduced by 0eca88efc69becc591428fbb6b9fddd9237afd3d .
-rw-r--r-- | src/map/homunculus.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/map/homunculus.c b/src/map/homunculus.c index 0b501a93f..1a7e1d77a 100644 --- a/src/map/homunculus.c +++ b/src/map/homunculus.c @@ -179,7 +179,7 @@ static int homunculus_vaporize(struct map_session_data *sd, enum homun_state sta nullpo_ret(sd); hd = sd->hd; - if (!hd || hd->homunculus.vaporize != HOM_ST_ACTIVE) + if (hd == NULL || hd->bl.prev == NULL || hd->homunculus.vaporize != HOM_ST_ACTIVE) return 0; if (status->isdead(&hd->bl)) |