Index: src/map/skill.c
===================================================================
--- src/map/skill.c (revision 17294)
+++ src/map/skill.c (working copy)
@@ -367,13 +368,13 @@
struct status_change* sc;
switch( skill_id ) {
- case BA_APPLEIDUN:
- #ifdef RENEWAL
- hp = 100+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
- #else
- hp = 30+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
- #endif
- if( sd )
+ case BA_APPLEIDUN:
+ #ifdef RENEWAL
+ hp = 100+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
+ #else
+ hp = 30+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
+ #endif
+ if( sd )
hp += 5*pc_checkskill(sd,BA_MUSICALLESSON);
break;
case PR_SANCTUARY:
@@ -385,15 +386,24 @@
default:
if (skill_lv >= battle_config.max_heal_lv)
return battle_config.max_heal;
- #ifdef RENEWAL
- /**
- * Renewal Heal Formula
- * Formula: ( [(Base Level + INT) / 5] x 30 ) x (Heal Level / 10) x (Modifiers) + MATK
- **/
- hp = (status_get_lv(src) + status_get_int(src)) / 5 * 30 * skill_lv / 10;
- #else
- hp = ( status_get_lv(src) + status_get_int(src) ) / 8 * (4 + ( skill_id == AB_HIGHNESSHEAL ? ( sd ? pc_checkskill(sd,AL_HEAL) : 10 ) : skill_lv ) * 8);
- #endif
+ if (skill_id == AB_HIGHNESSHEAL) {
+ /**
+ * Highness Heal Formula
+ * Formula: ( [ {(INT + Base Level)/8} X {(Heal Skill Level x 8) + 4} ] )
+ **/
+ hp = (status_get_int(src) + status_get_lv(src) / 8) * (sd ? pc_checkskill(sd,AL_HEAL) : 10);
+ hp *= ( 17 + 3 * skill_lv ) / 10;
+ } else {
+ #ifdef RENEWAL
+ /**
+ * Renewal Heal Formula
+ * Formula: ( [(Base Level + INT) / 5] x 30 ) x (Heal Level / 10) x (Modifiers) + MATK
+ **/
+ hp = (status_get_lv(src) + status_get_int(src)) / 5 * 30 * skill_lv / 10;
+ #else
+ hp = ( status_get_lv(src) + status_get_int(src) ) / 8 * (4 + ( skill_lv * 8));
+ #endif
+ }
if( sd && ((skill = pc_checkskill(sd, HP_MEDITATIO)) > 0) )
hp += hp * skill * 2 / 100;
else if( src->type == BL_HOM && (skill = merc_hom_checkskill(((TBL_HOM*)src), HLIF_BRAIN)) > 0 )
@@ -423,8 +433,8 @@
}
#ifdef RENEWAL
- // MATK part of the RE heal formula [malufett]
- // Note: in this part matk bonuses from items or skills are not applied
+ // MATK part of the RE heal formula [malufett]
+ // Note: in this part matk bonuses from items or skills are not applied
switch( skill_id ) {
case BA_APPLEIDUN: case PR_SANCTUARY:
case NPC_EVILLAND: break;
@@ -4928,12 +4981,8 @@
**/
case AB_HIGHNESSHEAL:
{
- int heal = skill_calc_heal(src, bl, (skill_id == AB_HIGHNESSHEAL)?AL_HEAL:skill_id, (skill_id == AB_HIGHNESSHEAL)?10:skill_lv, true);
+ int heal = skill_calc_heal(src, bl, skill_id, skill_lv, true);
int heal_get_jobexp;
- //Highness Heal: starts at 1.7 boost + 0.3 for each level
- if( skill_id == AB_HIGHNESSHEAL ) {
- heal = heal * ( 17 + 3 * skill_lv ) / 10;
- }
if( status_isimmune(bl) ||
(dstmd && (dstmd->class_ == MOBID_EMPERIUM || mob_is_battleground(dstmd))) ||
(dstsd && pc_ismadogear(dstsd)) )//Mado is immune to heal
@@ -4942,8 +4991,7 @@
if( sd && dstsd && sd->status.partner_id == dstsd->status.char_id && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.sex == 0 )
heal = heal*2;
- if( tsc && tsc->count )
- {
+ if( tsc && tsc->count ) {
if( tsc->data[SC_KAITE] && !(sstatus->mode&MD_BOSS) )
{ //Bounce back heal
if (--tsc->data[SC_KAITE]->val2 <= 0)