Bladeren bron

Updated Tiger Fist stop duration (#2917)

* Updated Tiger Fist stop duration
* Fixes #2893.
* Updated the stop duration to match official values.
Thanks to @mrjnumber1!
Aleos 7 jaren geleden
bovenliggende
commit
0e23f3fec0
3 gewijzigde bestanden met toevoegingen van 11 en 4 verwijderingen
  1. 1 1
      db/pre-re/skill_cast_db.txt
  2. 1 1
      db/re/skill_cast_db.txt
  3. 9 2
      src/map/skill.cpp

+ 1 - 1
db/pre-re/skill_cast_db.txt

@@ -577,7 +577,7 @@
 //-- CH_PALMSTRIKE
 370,0,300,0,0,0,0
 //-- CH_TIGERFIST
-371,0,0,0,0,2000:4000:6000:8000:10000,0
+371,0,0,0,4000:8000:12000:16000:24000,0,0
 //==========================================
 
 

+ 1 - 1
db/re/skill_cast_db.txt

@@ -570,7 +570,7 @@
 //-- CH_PALMSTRIKE
 370,0,300,0,0,0,0,0
 //-- CH_TIGERFIST
-371,0,0,0,0,2000:4000:6000:8000:10000,0,0
+371,0,0,0,4000:8000:12000:16000:24000,0,0,0
 //==========================================
 
 

+ 9 - 2
src/map/skill.cpp

@@ -1421,8 +1421,15 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
 		skill_break_equip(src,bl, EQP_SHIELD, 150*skill_lv, BCT_ENEMY);
 		break;
 
-	case CH_TIGERFIST:
-		sc_start(src,bl,SC_STOP,(10+skill_lv*10),0,skill_get_time2(skill_id,skill_lv));
+	case CH_TIGERFIST: {
+		uint16 basetime = skill_get_time(skill_id, skill_lv);
+		uint16 mintime = 30 * (status_get_lv(src) + 100);
+
+		if (status_get_class_(bl) == CLASS_BOSS)
+			basetime /= 5;
+		basetime = min((basetime * status_get_agi(bl)) / -200 + basetime, mintime) / 2;
+		sc_start(src, bl, SC_STOP, (1 + skill_lv) * 10, 0, basetime);
+	}
 		break;
 
 	case LK_SPIRALPIERCE: