summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index ef05f16a8..1dd13b67b 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3490,16 +3490,6 @@ static struct Damage battle_calc_pc_weapon_attack(
damage = damage*(200+20*skill_lv+20*pc_checkskill(sd,AS_POISONREACT))/100;
damage2 = damage2*(200+20*skill_lv+20*pc_checkskill(sd,AS_POISONREACT))/100;
break;
- case PA_SACRIFICE:
- if(sd){
- int hp, mhp, damage3;
- hp = battle_get_hp(src);
- mhp = battle_get_max_hp(src);
- damage3 = mhp*9/100;
- damage = damage*damage3*(90+10*skill_lv)/10000;
- damage2 = damage2*damage3*(90+10*skill_lv)/10000;
- }
- break;
case ASC_BREAKER: // -- moonsoul (special damage for ASC_BREAKER skill)
if(sd){
int damage3;
@@ -3614,11 +3604,12 @@ static struct Damage battle_calc_pc_weapon_attack(
damage += damage * (150 + sc_data[SC_EDP].val1 * 50) / 100;
no_cardfix = 1;
}
- if (!skill_num && !(t_mode&0x20) && sc_data[SC_SACRIFICE].timer != -1) {
+ // sacrifice works on boss monsters, and does 9% damage to self [Celest]
+ if (!skill_num && /*!(t_mode&0x20) &&*/ sc_data[SC_SACRIFICE].timer != -1) {
int mhp = battle_get_max_hp(src);
- int dmg = mhp * (5 + sc_data[SC_SACRIFICE].val1 * 5) / 1000;
+ int dmg = mhp * 9/100;
pc_heal(sd, -dmg, 0);
- damage = dmg * (90 + sc_data[SC_SACRIFICE].val1 * 15) / 100;
+ damage = dmg * (90 + sc_data[SC_SACRIFICE].val1 * 10) / 100;
damage2 = 0;
hitrate = 1000000;
s_ele = 0;