Explorar el Código

Fixes Rogue Backstab Double Hit (#4703)

* Fixes #4702.
* Skill no longer ignores the target's flee.
* Skill now deals 2 hit when using dagger instead of doubling the damage.
Thanks to @yashimwong!
Yashim Wong hace 5 años
padre
commit
d9f61e7803
Se han modificado 2 ficheros con 6 adiciones y 8 borrados
  1. 0 4
      db/re/skill_db.yml
  2. 6 4
      src/map/battle.cpp

+ 0 - 4
db/re/skill_db.yml

@@ -6304,10 +6304,6 @@ Body:
     MaxLevel: 10
     Type: Weapon
     TargetType: Attack
-    DamageFlags:
-      IgnoreFlee: true
-    Flags:
-      AllowWhenHidden: true
     Range: -1
     Hit: Single
     HitCount: 1

+ 6 - 4
src/map/battle.cpp

@@ -3654,10 +3654,6 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 				skillratio += (200 + 40 * skill_lv) / 2;
 			else
 				skillratio += 200 + 40 * skill_lv;
-#ifdef RENEWAL
-			if (sd && sd->status.weapon == W_DAGGER)
-				skillratio *= 2;
-#endif
 			break;
 		case RG_RAID:
 #ifdef RENEWAL
@@ -5358,6 +5354,12 @@ static struct Damage initialize_weapon_data(struct block_list *src, struct block
 		wd.flag |= battle_range_type(src, target, skill_id, skill_lv);
 		switch(skill_id)
 		{
+#ifdef RENEWAL
+			case RG_BACKSTAP:
+				if (sd && sd->status.weapon == W_DAGGER)
+					wd.div_ = 2;
+				break;
+#endif
 			case MH_SONIC_CRAW:{
 				TBL_HOM *hd = BL_CAST(BL_HOM,src);
 				wd.div_ = hd->homunculus.spiritball;