diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-29 18:56:40 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-29 18:56:40 +0000 |
commit | e5bce970b13d3485cfa823aa4810787c2006181a (patch) | |
tree | eacef2329bb9881cab7535b2a61e3b7a2fa38696 /src/map | |
parent | 70028b45b1a73422867cf1432ea1dc29a613fc98 (diff) | |
download | hercules-e5bce970b13d3485cfa823aa4810787c2006181a.tar.gz hercules-e5bce970b13d3485cfa823aa4810787c2006181a.tar.bz2 hercules-e5bce970b13d3485cfa823aa4810787c2006181a.tar.xz hercules-e5bce970b13d3485cfa823aa4810787c2006181a.zip |
Updated meteor assault, soul breaker
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@860 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 1749168d5..1d699bd10 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3497,17 +3497,26 @@ static struct Damage battle_calc_pc_weapon_attack( break; case ASC_BREAKER: // -- moonsoul (special damage for ASC_BREAKER skill) if(sd){ - int damage3; - int mdef1=battle_get_mdef(target); +/* int mdef1=battle_get_mdef(target); int mdef2=battle_get_mdef2(target); int imdef_flag=0; - + damage = ((damage * 5) + (skill_lv * battle_get_int(src) * 5) + rand()%500 + 500) /2; damage2 = ((damage2 * 5) + (skill_lv * battle_get_int(src) * 5) + rand()%500 + 500) /2; damage3 = damage; - hitrate = 1000000; - - if(sd->ignore_mdef_ele & (1<<t_ele) || sd->ignore_mdef_race & (1<<t_race)) + // physical damage can miss + hitrate = 1000000;*/ + + // calculate physical part of damage + damage = damage * skill_lv; + damage2 = damage2 * skill_lv; + // element modifier added right after this + + // calculate magic part of damage + damage3 = skill_lv * battle_get_int(src) * 5; + + // ignores magic defense now [Celest] + /*if(sd->ignore_mdef_ele & (1<<t_ele) || sd->ignore_mdef_race & (1<<t_race)) imdef_flag = 1; if(t_mode & 0x20) { if(sd->ignore_mdef_race & (1<<10)) @@ -3529,7 +3538,7 @@ static struct Damage battle_calc_pc_weapon_attack( if(damage3<1) damage3=1; - damage3=battle_attr_fix(damage2,s_ele_, battle_get_element(target) ); + damage3=battle_attr_fix(damage2,s_ele_, battle_get_element(target) );*/ } break; } @@ -3773,8 +3782,10 @@ static struct Damage battle_calc_pc_weapon_attack( //カードによるダメージ増加処理(左手)ここまで // -- moonsoul (cardfix for magic damage portion of ASC_BREAKER) - if(skill_num == ASC_BREAKER) + if(skill_num == ASC_BREAKER) { damage3 = damage3 * cardfix / 100; + dmg_lv = ATK_DEF; // ignores flee [celest] + } //カードによるダメージ減衰処理ここから if(tsd){ //対象がPCの場合 @@ -3975,8 +3986,9 @@ static struct Damage battle_calc_pc_weapon_attack( // -- moonsoul (final combination of phys, mag damage for ASC_BREAKER) if(skill_num == ASC_BREAKER) { + damage3 += rand()%500+500; damage += damage3; - damage2 += damage3; +// damage2 += damage3; } wd.damage=damage; |