summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index a16befff0..a9597b11e 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -6758,17 +6758,21 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
if(bonus != 100)
sp = sp * bonus / 100;
}
+ if( sd->sc.count ) {
+ if ( sd->sc.data[SC_CRITICALWOUND] ) {
+ hp -= hp * sd->sc.data[SC_CRITICALWOUND]->val2 / 100;
+ sp -= sp * sd->sc.data[SC_CRITICALWOUND]->val2 / 100;
+ }
- if (sd->sc.data[SC_CRITICALWOUND])
- {
- hp -= hp * sd->sc.data[SC_CRITICALWOUND]->val2 / 100;
- sp -= sp * sd->sc.data[SC_CRITICALWOUND]->val2 / 100;
- }
-
- if (sd->sc.data[SC_DEATHHURT])
- {
- hp -= hp * 20 / 100;
- sp -= sp * 20 / 100;
+ if ( sd->sc.data[SC_DEATHHURT] ) {
+ hp -= hp * 20 / 100;
+ sp -= sp * 20 / 100;
+ }
+
+ if( sd->sc.data[SC_WATER_INSIGNIA] && sd->sc.data[SC_WATER_INSIGNIA]->val1 == 2 ) {
+ hp += hp / 10;
+ sp += sp / 10;
+ }
}
return status_heal(&sd->bl, hp, sp, 1);