Pārlūkot izejas kodu

Follow up to 083cf5d
- Fixed MATK calculation for pre-renewal.
- Resolved compile warnings.

aleos89 10 gadi atpakaļ
vecāks
revīzija
831dcc2608
1 mainītis faili ar 8 papildinājumiem un 11 dzēšanām
  1. 8 11
      src/map/status.c

+ 8 - 11
src/map/status.c

@@ -4475,12 +4475,7 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag)
 			break;
 			break;
 
 
 		case BL_HOM:
 		case BL_HOM:
-			if ((bl->type&BL_HOM && battle_config.hom_setting&HOMSET_SAME_MATK)  /// Hom Min Matk is always the same as Max Matk
-					|| (sc && sc->data[SC_RECOGNIZEDSPELL]))
-				status->matk_min = status->matk_max;
-			else
-				status->matk_min += (status_get_homint(bl) + status_get_homdex(bl)) / 5;
-
+			status->matk_min += (status_get_homint(bl) + status_get_homdex(bl)) / 5;
 			status->matk_max += (status_get_homluk(bl) + status_get_homint(bl) + status_get_homdex(bl)) / 3;
 			status->matk_max += (status_get_homluk(bl) + status_get_homint(bl) + status_get_homdex(bl)) / 3;
 			break;
 			break;
 
 
@@ -4488,11 +4483,6 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag)
 			status->matk_min += 70 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100;
 			status->matk_min += 70 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100;
 			status->matk_max += 130 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100;
 			status->matk_max += 130 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100;
 			break;
 			break;
-
-		default:
-			status->matk_max = status_calc_matk(bl, sc, status->matk_max);
-			status->matk_min = status_calc_matk(bl, sc, status->matk_min);
-			break;
 		}
 		}
 #endif
 #endif
 		if (bl->type&BL_PC && sd->matk_rate != 100) {
 		if (bl->type&BL_PC && sd->matk_rate != 100) {
@@ -4500,12 +4490,19 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag)
 			status->matk_min = status->matk_min * sd->matk_rate/100;
 			status->matk_min = status->matk_min * sd->matk_rate/100;
 		}
 		}
 
 
+		if ((bl->type&BL_HOM && battle_config.hom_setting&HOMSET_SAME_MATK)  /// Hom Min Matk is always the same as Max Matk
+				|| (sc && sc->data[SC_RECOGNIZEDSPELL]))
+			status->matk_min = status->matk_max;
+
 #ifdef RENEWAL
 #ifdef RENEWAL
 		if( sd && sd->right_weapon.overrefine > 0) {
 		if( sd && sd->right_weapon.overrefine > 0) {
 			status->matk_min++;
 			status->matk_min++;
 			status->matk_max += sd->right_weapon.overrefine - 1;
 			status->matk_max += sd->right_weapon.overrefine - 1;
 		}
 		}
 #endif
 #endif
+
+		status->matk_max = status_calc_matk(bl, sc, status->matk_max);
+		status->matk_min = status_calc_matk(bl, sc, status->matk_min);
 	}
 	}
 
 
 	if(flag&SCB_ASPD) {
 	if(flag&SCB_ASPD) {