Lord Ganja Posted November 16, 2015 Group: Members Topic Count: 141 Topics Per Day: 0.03 Content Count: 444 Reputation: 22 Joined: 06/18/12 Last Seen: August 11, 2018 Share Posted November 16, 2015 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! Quote Link to comment Share on other sites More sharing options...
0 clydelion Posted November 17, 2015 Group: Members Topic Count: 17 Topics Per Day: 0.00 Content Count: 754 Reputation: 186 Joined: 05/22/12 Last Seen: October 15, 2022 Share Posted November 17, 2015 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. 1 Quote Link to comment Share on other sites More sharing options...
0 Haziel Posted November 16, 2015 Group: Content Moderator Topic Count: 22 Topics Per Day: 0.00 Content Count: 639 Reputation: 609 Joined: 11/25/11 Last Seen: March 7 Share Posted November 16, 2015 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; Quote Link to comment Share on other sites More sharing options...
0 Lord Ganja Posted November 16, 2015 Group: Members Topic Count: 141 Topics Per Day: 0.03 Content Count: 444 Reputation: 22 Joined: 06/18/12 Last Seen: August 11, 2018 Author Share Posted November 16, 2015 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. Quote Link to comment Share on other sites More sharing options...
0 Haziel Posted November 16, 2015 Group: Content Moderator Topic Count: 22 Topics Per Day: 0.00 Content Count: 639 Reputation: 609 Joined: 11/25/11 Last Seen: March 7 Share Posted November 16, 2015 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); Quote Link to comment Share on other sites More sharing options...
0 Lord Ganja Posted November 17, 2015 Group: Members Topic Count: 141 Topics Per Day: 0.03 Content Count: 444 Reputation: 22 Joined: 06/18/12 Last Seen: August 11, 2018 Author Share Posted November 17, 2015 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? Quote Link to comment Share on other sites More sharing options...
0 Lord Ganja Posted November 17, 2015 Group: Members Topic Count: 141 Topics Per Day: 0.03 Content Count: 444 Reputation: 22 Joined: 06/18/12 Last Seen: August 11, 2018 Author Share Posted November 17, 2015 (edited) 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 November 17, 2015 by Lord Ganja Quote Link to comment Share on other sites More sharing options...
Question
Lord Ganja
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.