Lord Ganja Posted November 16, 2015 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
0 clydelion Posted November 17, 2015 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
0 Haziel Posted November 16, 2015 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
0 Lord Ganja Posted November 16, 2015 Author 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
0 Haziel Posted November 16, 2015 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
0 Lord Ganja Posted November 17, 2015 Author 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
0 Lord Ganja Posted November 17, 2015 Author 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
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!
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.