Pārlūkot izejas kodu

Storm Gust bug fix for bugreport:1813, also fixed a casual overflow in sg_counter

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15186 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind 13 gadi atpakaļ
vecāks
revīzija
d5d867dac4
2 mainītis faili ar 12 papildinājumiem un 0 dzēšanām
  1. 7 0
      src/map/battle.c
  2. 5 0
      src/map/skill.c

+ 7 - 0
src/map/battle.c

@@ -576,6 +576,13 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag
 			status_heal(src, damage*sce->val4/100, 0, 3);
 
 	}
+	/**
+	 * Storm Gust doubles it's damage every 3 hits against' boss monsters
+	 * bugreport:1813
+	 **/
+	if ( sc && skill_num == WZ_STORMGUST && sc->sg_counter % 3 == 0 && (status_get_mode(bl)&MD_BOSS) ) {
+		damage += damage;
+	}
 
 	//SC effects from caster side.
 	sc = status_get_sc(src);

+ 5 - 0
src/map/skill.c

@@ -788,6 +788,11 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		if(tsc->sg_counter >= 3 &&
 			sc_start(bl,SC_FREEZE,300,skilllv,skill_get_time2(skillid,skilllv)))
 			tsc->sg_counter = 0;
+		/**
+		 * being it only resets on success it'd keep stacking and eventually overflowing on mvps, so we reset at a high value
+		 **/
+		else if( tsc->sg_counter > 250 )
+			tsc->sg_counter = 0;
 		break;
 
 	case WZ_METEOR: