Browse Source

- Applied some change from mpeg on Ninja Skills
- Put HVAN_Explosion based on max_hp instead of current hp

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8468 54d463be-8e91-2dee-dedb-b68131a5f0ec

toms 19 years ago
parent
commit
10d8fa1083
2 changed files with 16 additions and 12 deletions
  1. 3 0
      Changelog-Trunk.txt
  2. 13 12
      src/map/battle.c

+ 3 - 0
Changelog-Trunk.txt

@@ -3,6 +3,9 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2006/08/24
+	* Applied some change from mpeg on Ninja Skills [Toms]
+	* Put HVAN_Explosion based on max_hp instead of current hp [Toms]
 2006/08/23
 	* Fixed mob_clone_spawn completely ignoring the mode variable. [Skotlex]
 	* Fixed Energy Coat reducing and consuming more than it should when you

+ 13 - 12
src/map/battle.c

@@ -246,8 +246,8 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
 		if(!damage) return 0;
 	}
 	
-	if (skill_num == PA_PRESSURE || skill_num == NJ_ZENYNAGE)
-		return damage; //These two bypass everything else.
+	if (skill_num == PA_PRESSURE)
+		return damage; //This skill bypass everything else.
 
 	sc = status_get_sc(bl);
 
@@ -879,6 +879,7 @@ static struct Damage battle_calc_weapon_attack(
 			case ITM_TOMAHAWK:	//Tomahawk is a ranged attack! [Skotlex]
 			case CR_GRANDCROSS:
 			case NPC_GRANDDARKNESS:
+			case NJ_HUUMA:
 			case NJ_TATAMIGAESHI:
 				wd.flag=(wd.flag&~BF_RANGEMASK)|BF_LONG;
 				break;
@@ -2610,14 +2611,21 @@ struct Damage  battle_calc_misc_attack(
 		if (!md.damage) md.damage = 2;
 		md.damage = md.damage + rand()%md.damage;
 
+		if (sd)
+		{
+			if ( md.damage > sd->status.zeny )
+				md.damage=sd->status.zeny;
+			pc_payzeny(sd, md.damage);
+		}
+
 		if(is_boss(target))
-			md.damage=md.damage*60/100; 
+			md.damage=md.damage*60/100;
 		break;
 	case GS_FLING:
 		md.damage = sd?sd->status.job_level:status_get_lv(src);
 		break;
 	case HVAN_EXPLOSION:	//[orn]
-		md.damage = sstatus->hp * (50 + 50 * skill_lv) / 100 ;
+		md.damage = sstatus->max_hp * (50 + 50 * skill_lv) / 100 ;
 		break ;
 	case ASC_BREAKER:
 		md.damage = 500+rand()%500 + 5*skill_lv * sstatus->int_;
@@ -2694,7 +2702,7 @@ struct Damage  battle_calc_misc_attack(
 
 	if(md.damage < 0)
 		md.damage = 0;
-	else if(md.damage && tstatus->mode&MD_PLANT && skill_num != PA_PRESSURE && skill_num != NJ_ZENYNAGE) //Pressure can vaporize plants. // damage=1 on plant with Throw zeny ?
+	else if(md.damage && tstatus->mode&MD_PLANT && skill_num != PA_PRESSURE) //Pressure can vaporize plants
 		md.damage = 1;
 
 	if(flag.elefix)
@@ -2704,13 +2712,6 @@ struct Damage  battle_calc_misc_attack(
 	if (map_flag_gvg(target->m))
 		md.damage=battle_calc_gvg_damage(src,target,md.damage,md.div_,skill_num,skill_lv,md.flag);
 
-	if ( sd && md.damage && skill_num == NJ_ZENYNAGE )
-	{
-		if ( md.damage > sd->status.zeny )
-			md.damage=sd->status.zeny;
-		pc_payzeny(sd, md.damage);
-	}
-
 	return md;
 }
 /*==========================================