diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-23 11:44:57 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-23 11:44:57 +0000 |
commit | 1b008a629ddb633d91a70e2c037924fab10e2d6c (patch) | |
tree | 9d74acfa108d52affea8481d0edc8639f4049d9f /src/map/battle.c | |
parent | ae6da4b867571ac6b53198e56b11a31d037f3dd2 (diff) | |
download | hercules-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.c | 17 |
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; |