From 6cbe270b3c5bdb09c62da09fa87f6f3336fa2740 Mon Sep 17 00:00:00 2001 From: skyleo Date: Tue, 14 Jan 2020 10:10:35 +0100 Subject: Fix Basilica unintentionally restraining boss mobs Thanks to Marida from oRO Dev Team for fixing this. --- src/map/battle.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/map/battle.c') diff --git a/src/map/battle.c b/src/map/battle.c index 0b88f17c9..e93ba6e91 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6600,10 +6600,6 @@ static int battle_check_target(struct block_list *src, struct block_list *target m = target->m; - if (flag & BCT_ENEMY && (map->getcell(m, src, src->x, src->y, CELL_CHKBASILICA) || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA))) { - return -1; - } - //t_bl/s_bl hold the 'master' of the attack, while src/target are the actual //objects involved. if( (t_bl = battle->get_master(target)) == NULL ) @@ -6612,6 +6608,11 @@ static int battle_check_target(struct block_list *src, struct block_list *target if( (s_bl = battle->get_master(src)) == NULL ) s_bl = src; + if ((flag & BCT_ENEMY) != 0 && (status_get_mode(s_bl) & MD_BOSS) == 0 && (map->getcell(m, src, src->x, src->y, CELL_CHKBASILICA) + || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA))) { + return -1; + } + if (s_bl->type == BL_PC) { const struct map_session_data *s_sd = BL_UCCAST(BL_PC, s_bl); switch (t_bl->type) { -- cgit v1.2.3-60-g2f50