Jump to content
  • 0

CAP asura strike maximum output damage?


Lord Ganja

Question


  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

Is there anyway to cap/limit asura strike maximum output damage?

since my server is running on a high rate. the max hp is 1m but asura strike is way too overpowered

and can reach damage more than 1m.

 

I tried reducing its damage on skill_damage_db but it's not enough for me.

 

So I'd like to know if there's a way to CAP its damage, NOT REDUCE it.

 

Thanks in advance!

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  754
  • Reputation:   186
  • Joined:  05/22/12
  • Last Seen:  

search for function in battle.c

int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int64 damage,uint16 skill_id,uint16 skill_lv)

add

	if (skill_id == MO_EXTREMITYFIST )
		damage = min(damage,500000);

That way, it will be capped to 500000 damage.

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Content Moderator
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  639
  • Reputation:   596
  • Joined:  11/25/11
  • Last Seen:  

The damage of the skill is set on the formulas on src/map/battle.c here:

case MO_EXTREMITYFIST:
	skillratio += 100 * (7 + sstatus->sp / 10);
	skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection
	break;

And here:

case MO_EXTREMITYFIST:
	atk = 250 + 150 * skill_lv;
	break;
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

 

The damage of the skill is set on the formulas on src/map/battle.c here:

case MO_EXTREMITYFIST:
	skillratio += 100 * (7 + sstatus->sp / 10);
	skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection
	break;

And here:

case MO_EXTREMITYFIST:
	atk = 250 + 150 * skill_lv;
	break;

Do you know how can I cap it? So if the damage is more than 900k it will be capped on and return the damage as 900k only.

Link to comment
Share on other sites

  • 0

  • Group:  Content Moderator
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  639
  • Reputation:   596
  • Joined:  11/25/11
  • Last Seen:  

Do the math...

100 * (7 + SP/10)

It is actually capped on 500000 SP, what means:

100 * (7 + 500000/10)
100 * (7 + 50000)
100 * 50007
5000700 + 250 + (150 * SkillLevel)
5000700 + 1000
5001000

Max Damage is currently 5.001.000, without counting card modifiers and such things.
So, if we change the cap of 500.000 SP to 50.000 for example:

100 * (7 + 50000/10)
100 * (7 + 5000)
100 * 5007
500700

500.700 is our new max damage.
I don't know if it still count Card Modifiers, but I guess you can test it.

Just change:

skillratio = min(500000,skillratio);

To:

skillratio = min(50000,skillratio);
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

 

Do the math...

100 * (7 + SP/10)

It is actually capped on 500000 SP, what means:

100 * (7 + 500000/10)
100 * (7 + 50000)
100 * 50007
5000700 + 250 + (150 * SkillLevel)
5000700 + 1000
5001000

Max Damage is currently 5.001.000, without counting card modifiers and such things.

So, if we change the cap of 500.000 SP to 50.000 for example:

100 * (7 + 50000/10)
100 * (7 + 5000)
100 * 5007
500700

500.700 is our new max damage.

I don't know if it still count Card Modifiers, but I guess you can test it.

Just change:

skillratio = min(500000,skillratio);

To:

skillratio = min(50000,skillratio);

I think the card modifiers still counts after modifying 500000. :(

I just tried it and the asura still do more than 2m damage.

So there's no other way to fix the maximum damage that asura can do? 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

search for function in battle.c

int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int64 damage,uint16 skill_id,uint16 skill_lv)

add

	if (skill_id == MO_EXTREMITYFIST )
		damage = min(damage,500000);

That way, it will be capped to 500000 damage.

Thanks for this. anyway should I put it on the bottom part of  int64 battle_calc_damage ?

					element = sstatus->rhw.ele;
				}
			} else if( element == -2 ) //Use enchantment's element
				element = status_get_attack_sc_element(src,status_get_sc(src));
			else if( element == -3 ) //Use random element
				element = rnd()%ELE_ALL;
			if( element == ELE_FIRE || element == ELE_WATER )
				pc_overheat(sd,element == ELE_FIRE ? 1 : -1);
		}
	}
+        if (skill_id == MO_EXTREMITYFIST )
+                damage = min(damage,500000);

	return damage;

EDIT:

I did put it there and it's working!! thanks man!

Edited by Lord Ganja
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...