From b5f526d1ff2351011974c0e4f90e4996fb87c699 Mon Sep 17 00:00:00 2001 From: zephyrus Date: Thu, 15 Nov 2007 04:29:05 +0000 Subject: - Added 2 new status changes for Life and Regeneration Potions [Zephyrus] - Fixed some items boxes giving wrong tamings. - Fixed another item giving 48 gladius[3] git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11738 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index 0918eeed4..02df3b52a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -257,8 +257,13 @@ int skill_calc_heal (struct block_list *src, struct block_list *target, int skil heal += heal * skill * 2 / 100; sc = status_get_sc(target); - if (sc && sc->count && sc->data[SC_CRITICALWOUND].timer!=-1) - heal -= heal * sc->data[SC_CRITICALWOUND].val2/100; + if (sc && sc->count) + { + if( sc->data[SC_CRITICALWOUND].timer!=-1 ) + heal -= heal * sc->data[SC_CRITICALWOUND].val2/100; + if( sc->data[SC_INCHEALRATE].timer!=-1 ) + heal += heal * sc->data[SC_INCHEALRATE].val1/100; + } return heal; } @@ -6708,8 +6713,13 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns int heal = sg->val2; if (tstatus->hp >= tstatus->max_hp) break; - if (tsc && tsc->data[SC_CRITICALWOUND].timer!=-1) - heal -= heal * tsc->data[SC_CRITICALWOUND].val2 / 100; + if (tsc) + { + if( tsc->data[SC_INCHEALRATE].timer!=-1 ) + heal += heal * tsc->data[SC_INCHEALRATE].val1 / 100; + if( tsc->data[SC_CRITICALWOUND].timer!=-1 ) + heal -= heal * tsc->data[SC_CRITICALWOUND].val2 / 100; + } if (status_isimmune(bl)) heal = 0; /* 黄金蟲カード(ヒール量0) */ clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1); -- cgit v1.2.3-60-g2f50