Procházet zdrojové kódy

Fixed trap bugs as per bugreport:2817 (you finally can attack traps directly :0)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15380 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind před 13 roky
rodič
revize
6fbefb091e
2 změnil soubory, kde provedl 7 přidání a 8 odebrání
  1. 3 4
      src/map/battle.c
  2. 4 4
      src/map/skill.c

+ 3 - 4
src/map/battle.c

@@ -3945,10 +3945,9 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			TBL_SKILL *su = (TBL_SKILL*)target;
 			if( !su->group )
 				return 0;
-			if( skill_get_inf2(su->group->skill_id)&INF2_TRAP )
-			{ //Only a few skills can target traps...
-				switch( battle_getcurrentskill(src) )
-				{
+			if( skill_get_inf2(su->group->skill_id)&INF2_TRAP ) { //Only a few skills can target traps...
+				switch( battle_getcurrentskill(src) ) {
+					case 0://you can hit them without skills
 					case MA_REMOVETRAP:
 					case HT_REMOVETRAP:
 					case AC_SHOWER:

+ 4 - 4
src/map/skill.c

@@ -9750,13 +9750,13 @@ int skill_unit_ondamaged (struct skill_unit *src, struct block_list *bl, int dam
 	nullpo_ret(src);
 	nullpo_ret(sg=src->group);
 
-	switch( sg->unit_id )
-	{
+	switch( sg->unit_id ) {
 	case UNT_SKIDTRAP:
 	case UNT_LANDMINE:
 	case UNT_SHOCKWAVE:
 	case UNT_SANDMAN:
 	case UNT_FLASHER:
+	case UNT_CLAYMORETRAP:
 	case UNT_FREEZINGTRAP:
 	case UNT_TALKIEBOX:
 	case UNT_ANKLESNARE:
@@ -9764,8 +9764,7 @@ int skill_unit_ondamaged (struct skill_unit *src, struct block_list *bl, int dam
 		src->val1-=damage;
 		break;
 	case UNT_BLASTMINE:
-	case UNT_CLAYMORETRAP:
-		skill_blown(bl, &src->bl, 2, -1, 0);
+		skill_blown(bl, &src->bl, 3, -1, 0);
 		break;
 	default:
 		damage = 0;
@@ -12588,6 +12587,7 @@ static int skill_unit_timer_sub (DBKey key, void* data, va_list ap)
 			case UNT_SHOCKWAVE:
 			case UNT_SANDMAN:
 			case UNT_FLASHER:
+			case UNT_CLAYMORETRAP:
 			case UNT_FREEZINGTRAP:
 			case UNT_TALKIEBOX:
 			case UNT_ANKLESNARE: