Browse Source

- Some corrections to Basilica.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13217 54d463be-8e91-2dee-dedb-b68131a5f0ec
zephyrus 16 years ago
parent
commit
1046d7eaed
2 changed files with 11 additions and 10 deletions
  1. 0 2
      src/map/map.c
  2. 11 8
      src/map/skill.c

+ 0 - 2
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);
 				status_change_end(bl, SC_CLOSECONFINE2, -1);
 //			if (sc->data[SC_BLADESTOP]) //Won't stop when you are knocked away, go figure...
 //			if (sc->data[SC_BLADESTOP]) //Won't stop when you are knocked away, go figure...
 //				status_change_end(bl, SC_BLADESTOP, -1);
 //				status_change_end(bl, SC_BLADESTOP, -1);
-			if (sc->data[SC_BASILICA])
-				status_change_end(bl, SC_BASILICA, -1);
 			if (sc->data[SC_TATAMIGAESHI])
 			if (sc->data[SC_TATAMIGAESHI])
 				status_change_end(bl, SC_TATAMIGAESHI, -1);
 				status_change_end(bl, SC_TATAMIGAESHI, -1);
 			if (sc->data[SC_MAGICROD])
 			if (sc->data[SC_MAGICROD])

+ 11 - 8
src/map/skill.c

@@ -7286,14 +7286,17 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 			break;
 			break;
 			
 			
 		case UNT_BASILICA:
 		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;
 			break;
 
 
 		case UNT_GRAVITATION:
 		case UNT_GRAVITATION:
@@ -7359,7 +7362,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, unsigned in
 		break;
 		break;
 
 
 	case UNT_BASILICA:
 	case UNT_BASILICA:
-		if( sce && sce->val1 == src->val1 )
+		if( sce && sce->val4 == src->bl.id )
 			status_change_end(bl,type,-1);
 			status_change_end(bl,type,-1);
 		break;
 		break;