summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/map.c2
-rw-r--r--src/map/skill.c19
2 files changed, 11 insertions, 10 deletions
diff --git a/src/map/map.c b/src/map/map.c
index d1da19e7f..0312b926f 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -410,8 +410,6 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick)
status_change_end(bl, SC_CLOSECONFINE2, -1);
// if (sc->data[SC_BLADESTOP]) //Won't stop when you are knocked away, go figure...
// status_change_end(bl, SC_BLADESTOP, -1);
- if (sc->data[SC_BASILICA])
- status_change_end(bl, SC_BASILICA, -1);
if (sc->data[SC_TATAMIGAESHI])
status_change_end(bl, SC_TATAMIGAESHI, -1);
if (sc->data[SC_MAGICROD])
diff --git a/src/map/skill.c b/src/map/skill.c
index 5dbd6d8be..46c7ccef1 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7286,14 +7286,17 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
case UNT_BASILICA:
- if( battle_check_target(&src->bl, bl, BCT_ENEMY) > 0 && !(status_get_mode(bl)&MD_BOSS) )
- { // knock-back any enemy except Boss
- skill_blown(&src->bl, bl, 2, unit_getdir(bl), 0);
- clif_fixpos(bl);
- }
+ {
+ int i = battle_check_target(&src->bl, bl, BCT_ENEMY);
+ if( i > 0 && !(status_get_mode(bl)&MD_BOSS) )
+ { // knock-back any enemy except Boss
+ skill_blown(&src->bl, bl, 2, unit_getdir(bl), 0);
+ clif_fixpos(bl);
+ }
- if( sg->src_id != bl->id && battle_check_target(&src->bl, bl, BCT_ENEMY) <= 0 )
- status_change_start(bl, type, 100, src->bl.id, 0, 0, 0, sg->interval + 100, 0);
+ if( sg->src_id != bl->id && i <= 0 )
+ sc_start4(bl, type, 100, 0, 0, 0, src->bl.id, sg->interval + 100);
+ }
break;
case UNT_GRAVITATION:
@@ -7359,7 +7362,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, unsigned in
break;
case UNT_BASILICA:
- if( sce && sce->val1 == src->val1 )
+ if( sce && sce->val4 == src->bl.id )
status_change_end(bl,type,-1);
break;