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(-) 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-70-g09d2 From 755edf380613992cc05e38afcd2e9ae5eff6fd6d Mon Sep 17 00:00:00 2001 From: skyleo Date: Thu, 16 Jan 2020 19:14:29 +0100 Subject: Update src/map/battle.c Co-Authored-By: Kenpachi2k13 --- src/map/battle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/battle.c b/src/map/battle.c index e93ba6e91..b9112fe26 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6608,7 +6608,7 @@ 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) + if ((flag & BCT_ENEMY) != 0 && (status_get_mode(s_bl) & MD_BOSS) == 0 && (map->getcell(m, src, src->x, src->y, CELL_CHKBASILICA) != 0 || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA))) { return -1; } -- cgit v1.2.3-70-g09d2 From dcf5a51298916308ecb161911439365b27205c3e Mon Sep 17 00:00:00 2001 From: skyleo Date: Thu, 16 Jan 2020 19:14:39 +0100 Subject: Update src/map/battle.c Co-Authored-By: Kenpachi2k13 --- src/map/battle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/battle.c b/src/map/battle.c index b9112fe26..80a875c31 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6609,7 +6609,7 @@ static int battle_check_target(struct block_list *src, struct block_list *target 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) != 0 - || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA))) { + || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA) != 0)) { return -1; } -- cgit v1.2.3-70-g09d2