summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/skill.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index de0f9518b..27ad7d4c2 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7887,8 +7887,12 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t
itemid[i] = skill_db[j].itemid[i];
amount[i] = skill_db[j].amount[i];
}
- if(mhp > 0)
- hp += (status->max_hp * mhp)/100;
+ if(mhp > 0 && 100 * status->hp / status->max_hp > mhp) {
+ //mhp is the max-hp-requirement, that is,
+ //you must have this % or less of HP to cast it.
+ clif_skill_fail(sd,skill,2,0);
+ return 0;
+ }
if(hp_rate > 0)
hp += (status->hp * hp_rate)/100;
else