Jump to content
  • 0

Editing Skills


Fjaan

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  17
  • Reputation:   1
  • Joined:  12/01/11
  • Last Seen:  

Hey guys,

Okie another question:

In my server i have max lvl 1000, max stat 300 (max stat point 12000 so u can't have all the stats full 300).

Now keeping that in mind the damn 3rd job skills such as "Dragon's Breath" of rune knight is doing 999,999 dmg so about 2 ~ 9 mill dmg. A few 3rd job wizard skills are also doing 900,000 dmg....

How can i reduce them to lets say rune knight's skill dragon's breath to 100,000 ~ 500,000 max

and wizard to the same amount?

Hope i explained it right.

Thank you,

*Special thanks to who ever who gives it a thought*.

  • Upvote 1
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  633
  • Reputation:   78
  • Joined:  11/14/11
  • Last Seen:  

Let check if this is want you want :

* Reduce the Dragons Breath damage

You need to edit this: I dont know how the formula works maybe asking some devs if they do know how the formula works

open src/map/battle.c

find:


case RK_DRAGONBREATH:
md.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv;
if (status_get_lv(src) > 100) md.damage = md.damage * status_get_lv(src) / 150;
if (sd) md.damage = md.damage * (100 + 5 * (pc_checkskill(sd,RK_DRAGONTRAINING) - 1)) / 100;
break;

Try changing values in this formula

md.damage = ((status_get_hp(src) / 50) + (status_get_max_sp(src) / 4)) * skill_lv;

For example:

md.damage = ((status_get_hp(src) / 100) + (status_get_max_sp(src) / 20)) * skill_lv;

Iam not sure on my understanding with this:

status_get_hp(src) / 100: is the current player hp and it need 100hp to increase its damage

status_get_max_sp(src) / 20: is the current player sp and it need 20sp to increase its damage

For the skill_lv i guess not to touch it

I guess the higher the divisor is the lower the damage it will produce

* Cap Its max Damage

open src/map/battle.c

find:


if(skill_num==ASC_BREAKER)
{ //Breaker's int-based damage (a misc attack?)
struct Damage md = battle_calc_misc_attack(src, target, skill_num, skill_lv, wflag);
wd.damage += md.damage;
}

then add below


if(skill_num == RK_DRAGONBREATH)
{
//500 000 is the max damage cap
if(wd.damage > 500000)
{
wd.damage = 500000;
}
if(wd.damage2 > 500000)
{
wd.damage2 = 500000;
}

}

After you made that changes kindly Recompile your server.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  15
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   1
  • Joined:  12/21/11
  • Last Seen:  

Wow.. this is usefull...Im waiting for this.. :P

Link to comment
Share on other sites

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.

×
×
  • Create New...