diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-02-09 01:37:48 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-02-09 01:37:48 +0000 |
commit | 3d56a0bf4a4ac9da69eac47560b18e2f770d2747 (patch) | |
tree | 0964f7a067aa4f55e90707cf25ff6c875469037a /src/map/battle.c | |
parent | afe5db9b8300ed02e0a57c75b28d5c02baed58da (diff) | |
download | hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.gz hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.bz2 hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.tar.xz hercules-3d56a0bf4a4ac9da69eac47560b18e2f770d2747.zip |
Added some renewal behaviors of skills from bugreport:5302 (all under renewal mode)
- Steel body no longer sets def and mdef at 90, instead it reduces incoming damage by 1/10.
- Storm Gust no longer possesses a hit counter; instead every hit have a chance to freeze of 20+(5 x skill_level).
- Thunder Storm skill ratio was increased from 80% to 100%
- Misc: added isOFF macro to replace REMODE == 0 compiler-level-checks.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15553 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index fe637a5ce..efcf199aa 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -544,7 +544,14 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damag //Reduction: 6% + 6% every 20% damage -= damage * 6 * (1+per) / 100; } - +/** + * In renewal steel body reduces all incoming damage by 1/10 + **/ +#if REMODE + if( sc->data[SC_STEELBODY] ) { + damage = damage > 10 ? damage / 10 : 1; + } +#endif // FIXME: // So Reject Sword calculates the redirected damage before calculating WoE/BG reduction? This is weird. [Inkfish] if((sce=sc->data[SC_REJECTSWORD]) && flag&BF_WEAPON && @@ -727,7 +734,7 @@ int battle_calc_gvg_damage(struct block_list *src,struct block_list *bl,int dama if(class_ == MOBID_EMPERIUM && flag&BF_SKILL) { //Skill immunity. switch (skill_num) { -#if REMODE == 0 +#if isOFF(REMODE) case MO_TRIPLEATTACK: #endif case HW_GRAVITATION: @@ -2862,9 +2869,14 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list case MG_FIREWALL: skillratio -= 50; break; + /** + * in Renewal Thunder Storm boost is 100% (in pre-re, 80%) + **/ + #if isOFF(REMODE) case MG_THUNDERSTORM: skillratio -= 20; break; + #endif case MG_FROSTDIVER: skillratio += 10*skill_lv; break; |