Jump to content
  • 0

Heal effect


Question

6 answers to this question

Recommended Posts

Posted

Here:

   	 #ifdef RENEWAL
	    /**
		 * Renewal Heal Formula
		 * Formula: ( [(Base Level + INT) / 5] × 30 ) × (Heal Level / 10) × (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);

src/map/skill.c line 399 (at rAthena rev17026)

If you want to increase the heal, apply your own changes of your formula, or increase the "hp" value.

Posted (edited)

#ifdef RENEWAL
/**
* Renewal Heal Formula (from Doddler)
* TODO: whats that( 1+ %Modifier / 100 ) ? currently using 'x1' (100/100) until found out
* - Min = ( [ ( BaseLvl + INT ) / 5 ] * 30 ) * (1+( %Modifier / 100)) * (HealLvl * 0.1) + StatusMATK + EquipMATK - [(WeaponMATK * WeaponLvl) / 10]
* - Max = ( [ ( BaseLvl + INT ) / 5 ] * 30 ) * (1+( %Modifier / 100)) * (HealLvl * 0.1) + StatusMATK + EquipMATK + [(WeaponMATK * WeaponLvl) / 10]
**/
hp = ( ( ( ( status_get_lv(src) + status_get_int(src) ) / 5 ) * 3 ) * skill_lv  + status_get_matk_min(src) + status_get_matk_max(src) - ( ( status_get_matk_max(src) * status_get_wlv(src) ) / 10 ) ) + rnd()%( ( ( ( status_get_lv(src) + status_get_int(src) ) / 5 ) * 3 ) * skill_lv + status_get_matk_min(src) + status_get_matk_max(src) + ( ( status_get_matk_max(src) * status_get_wlv(src) ) / 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( 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 )
hp += hp * skill * 2 / 100;
break;

Help me ... what I've to change? >.<

Edited by Lightning Farron
Posted

Help me ... what I've to change? >.<

Looking at the code for Renewal,

hp = (status_get_lv(src) + status_get_int(src)) / 5 * 30 * skill_lv / 10;

  • (status_get_lv(src) + status_get_int(src)) / 5 * 30 is (Base Level + INT) / 5] × 30 )
  • and * skill_lv / 10; is × (Heal Level / 10)

Looking at the 5 * 30, you can increase the 30 to a higher amount which will give you a more heal amount. Because what its doing is getting your Max Level + your INT dividing by 5 and timing the amount by 30 to give you your heal amount. (Not really a "Source" techie :P... this is what I believe what's going on).

Posted

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);

Change the 8 at the end of the code. Set it to 16 for example, compile your server and your heal should be higher.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...