summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorskyleo <skyleo@skyleo.de>2020-01-14 10:10:35 +0100
committerskyleo <skyleo@skyleo.de>2020-01-14 10:10:35 +0100
commit6cbe270b3c5bdb09c62da09fa87f6f3336fa2740 (patch)
treee4a6898bdef439f3fbe645b002fa9c95b8a62e3c /src/map/battle.c
parentc03722679a01e5f181c2138565e95a6b0981a124 (diff)
downloadhercules-6cbe270b3c5bdb09c62da09fa87f6f3336fa2740.tar.gz
hercules-6cbe270b3c5bdb09c62da09fa87f6f3336fa2740.tar.bz2
hercules-6cbe270b3c5bdb09c62da09fa87f6f3336fa2740.tar.xz
hercules-6cbe270b3c5bdb09c62da09fa87f6f3336fa2740.zip
Fix Basilica unintentionally restraining boss mobs
Thanks to Marida from oRO Dev Team for fixing this.
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c9
1 files 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) {