summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-23 11:44:57 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-23 11:44:57 +0000
commit1b008a629ddb633d91a70e2c037924fab10e2d6c (patch)
tree9d74acfa108d52affea8481d0edc8639f4049d9f /src/map/battle.c
parentae6da4b867571ac6b53198e56b11a31d037f3dd2 (diff)
downloadhercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.gz
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.bz2
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.tar.xz
hercules-1b008a629ddb633d91a70e2c037924fab10e2d6c.zip
* Updated Sacrifice
* Fixed compile errors in party.c * Moved SC_EDP back to 114 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@750 54d463be-8e91-2dee-dedb-b68131a5f0ec
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;