Ver Fonte

RE Defense damage reduction fixed, bugreport:5111

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15160 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind há 13 anos atrás
pai
commit
b4d9a102c1
1 ficheiros alterados com 17 adições e 5 exclusões
  1. 17 5
      src/map/battle.c

+ 17 - 5
src/map/battle.c

@@ -2151,11 +2151,23 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				vit_def += def1*battle_config.weapon_defense_type;
 				def1 = 0;
 			}
-			if (def1 > 100) def1 = 100;
-			ATK_RATE2(
-				flag.idef ?100:(flag.pdef ?(int)(flag.pdef *(def1+vit_def)):(100-def1)),
-			 	flag.idef2?100:(flag.pdef2?(int)(flag.pdef2*(def1+vit_def)):(100-def1))
-			);
+			#if REMODE
+				/**
+				 * In Renewal 100% damage reduction is 900 DEF
+				 * Formula: (1+(900-def1)/9)%
+				 **/
+				if (def1 > 900) def1 = 900;
+				ATK_RATE2(
+					flag.idef ?100:(flag.pdef ?(int)(flag.pdef *(def1+vit_def)):(1+(900-def1)/9)),
+			 		flag.idef2?100:(flag.pdef2?(int)(flag.pdef2*(def1+vit_def)):(1+(900-def1)/9))
+				);
+			#else
+				if (def1 > 100) def1 = 100;
+				ATK_RATE2(
+					flag.idef ?100:(flag.pdef ?(int)(flag.pdef *(def1+vit_def)):(100-def1)),
+			 		flag.idef2?100:(flag.pdef2?(int)(flag.pdef2*(def1+vit_def)):(100-def1))
+				);
+			#endif
 			ATK_ADD2(
 				flag.idef ||flag.pdef ?0:-vit_def,
 				flag.idef2||flag.pdef2?0:-vit_def