diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-31 18:09:35 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-31 18:09:35 +0800 |
commit | 43d95751dcc937a2caddb5b793f5c45666abfee0 (patch) | |
tree | c312d3ff1c638b0b6389aeefa57c1f97fb745cc0 /src/map/battle.c | |
parent | 4d6a69f0a44d3a0ce7bdf6c925f651014e47dcb3 (diff) | |
download | hercules-43d95751dcc937a2caddb5b793f5c45666abfee0.tar.gz hercules-43d95751dcc937a2caddb5b793f5c45666abfee0.tar.bz2 hercules-43d95751dcc937a2caddb5b793f5c45666abfee0.tar.xz hercules-43d95751dcc937a2caddb5b793f5c45666abfee0.zip |
Fixed Bug#7601
-Disabled reflect damage cap in pre-re.
Fixed Bug#7606
-Where GC_CREATENEWPOISON is not working properly.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index c1f568843..613ea6258 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5176,14 +5176,20 @@ int battle_calc_return_damage(struct block_list* bl, struct block_list *src, int int rdamage = 0, damage = *dmg, trdamage = 0; struct map_session_data* sd; struct status_change* sc; +#ifdef RENEWAL int max_reflect_damage; + max_reflect_damage = max(status_get_max_hp(bl), status_get_max_hp(bl) * iStatus->get_lv(bl) / 100); +#endif sd = BL_CAST(BL_PC, bl); sc = iStatus->get_sc(bl); - max_reflect_damage = max(status_get_max_hp(bl), status_get_max_hp(bl) * iStatus->get_lv(bl) / 100); +#ifdef RENEWAL #define NORMALIZE_RDAMAGE(d){ trdamage += rdamage = max(1, min(max_reflect_damage, d)); } - +#else +#define NORMALIZE_RDAMAGE(d){ trdamage += rdamage = max(1, d); } +#endif + if( sc && sc->data[SC_CRESCENTELBOW] && !is_boss(src) && rnd()%100 < sc->data[SC_CRESCENTELBOW]->val2 ){ //ATK [{(Target HP / 100) x Skill Level} x Caster Base Level / 125] % + [Received damage x {1 + (Skill Level x 0.2)}] int ratio = (status_get_hp(src) / 100) * sc->data[SC_CRESCENTELBOW]->val1 * iStatus->get_lv(bl) / 125; |