summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
authorskyleo <skyleo@skyleo.de>2019-10-10 03:13:14 +0200
committerskyleo <skyleo@skyleo.de>2019-10-10 03:34:02 +0200
commitb2e1879cc22faeda1511108e912d915c90d30b6e (patch)
treed32e795807833167b6d7d5c16f8c505f4bb8faee /src/map/unit.c
parent6209e88b2e14f67f9b3fd47084382c7b071ed4ed (diff)
downloadhercules-b2e1879cc22faeda1511108e912d915c90d30b6e.tar.gz
hercules-b2e1879cc22faeda1511108e912d915c90d30b6e.tar.bz2
hercules-b2e1879cc22faeda1511108e912d915c90d30b6e.tar.xz
hercules-b2e1879cc22faeda1511108e912d915c90d30b6e.zip
Fix Chaotic Blessings never healing the enemy
It has a chance to roll for enemy and heal the enemy, While calculating the chance was correct, it was getting the enemy with battle->check_target. But unit->stop_attack has been called before in unit->skilluse_id2, making battle->check_target return NULL at that point, since it has no attack target anymore. So it defaulted to heal the Homunculus itself, instead of the enemy.
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index 9cbef3091..1e9433eaf 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1328,6 +1328,12 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if (src->type==BL_HOM)
switch(skill_id) { //Homun-auto-target skills.
+ case HVAN_CHAOTIC:
+ target_id = ud->target; // Choose attack target for now
+ target = map->id2bl(target_id);
+ if (target != NULL)
+ break;
+ FALLTHROUGH // Attacking nothing, choose master as default target instead
case HLIF_HEAL:
case HLIF_AVOID:
case HAMI_DEFENCE: