summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorzephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-15 04:29:05 +0000
committerzephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-15 04:29:05 +0000
commitb5f526d1ff2351011974c0e4f90e4996fb87c699 (patch)
treedeb3bd1017106c609d00428871df0ce71753469c /src/map/skill.c
parent6f22f0352964d6d00deafbb8ccaf7145d6321865 (diff)
downloadhercules-b5f526d1ff2351011974c0e4f90e4996fb87c699.tar.gz
hercules-b5f526d1ff2351011974c0e4f90e4996fb87c699.tar.bz2
hercules-b5f526d1ff2351011974c0e4f90e4996fb87c699.tar.xz
hercules-b5f526d1ff2351011974c0e4f90e4996fb87c699.zip
- 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
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c18
1 files changed, 14 insertions, 4 deletions
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);