summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskyleo <skyleo@skyleo.de>2020-02-08 01:03:10 +0100
committerskyleo <skyleo@skyleo.de>2020-02-08 01:03:10 +0100
commitea17b73a2b8cd0438317f1afb62e929abc73bc4f (patch)
treea67fbd3a77350f5d35817b3fa40a26c14fb895f2
parentc03722679a01e5f181c2138565e95a6b0981a124 (diff)
downloadhercules-ea17b73a2b8cd0438317f1afb62e929abc73bc4f.tar.gz
hercules-ea17b73a2b8cd0438317f1afb62e929abc73bc4f.tar.bz2
hercules-ea17b73a2b8cd0438317f1afb62e929abc73bc4f.tar.xz
hercules-ea17b73a2b8cd0438317f1afb62e929abc73bc4f.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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/map/homunculus.c b/src/map/homunculus.c
index 189cf29e4..65c457283 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))