diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2013-01-01 16:56:29 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2013-01-01 16:56:29 +0000 |
commit | 586bff9eeea827d340cbe5ed67be7ee2cf9b24a6 (patch) | |
tree | c35c41f6a7f68f96742ffa17859dd8f15bb61c94 /src/map/battle.c | |
parent | e3b4f8c0367635534990a79cf896a7973e4764e1 (diff) | |
download | hercules-586bff9eeea827d340cbe5ed67be7ee2cf9b24a6.tar.gz hercules-586bff9eeea827d340cbe5ed67be7ee2cf9b24a6.tar.bz2 hercules-586bff9eeea827d340cbe5ed67be7ee2cf9b24a6.tar.xz hercules-586bff9eeea827d340cbe5ed67be7ee2cf9b24a6.zip |
Update NJ_ISSEN to its official RE behavior.(bugreport:6114, bugreport:5426)
Fixed bugreport:6688 MO_EXTRIMITYFIST skill effect.
Updated all non 3rd job skills to there official RE cast time delays.
Updated WL_WHITEIMPRISON where cooldown should trigger whether success or not.
Added missing status icon for SC_MATKPOTION and SC_ATKPOTION.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17069 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 13e740e88..57e5abfbc 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2059,16 +2059,16 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo switch (skill_id) { //Calc base damage according to skill - case NJ_ISSEN: - wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35); - wd.damage2 = 0; - status_set_hp(src, 1, 0); - break; case PA_SACRIFICE: wd.damage = (int64)sstatus->max_hp* 9/100; wd.damage2 = 0; break; #ifndef RENEWAL + case NJ_ISSEN: + wd.damage = 40*sstatus->str +skill_lv*(sstatus->hp/10 + 35); + wd.damage2 = 0; + status_set_hp(src, 1, 0); + break; case LK_SPIRALPIERCE: case ML_SPIRALPIERCE: if (sd) { @@ -2478,6 +2478,11 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo skillratio += 20*(skill_lv-1); #endif break; +#ifdef RENEWAL + case NJ_ISSEN: + skillratio += 100 * (skill_lv-1); + break; +#endif case NJ_HUUMA: skillratio += 50 + 150*skill_lv; break; @@ -2960,6 +2965,18 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo case NJ_SYURIKEN: ATK_ADD(4*skill_lv); break; +#ifdef RENEWAL + case NJ_ISSEN: + // Damage = (current HP + atk * skill_lv) - (sdef+edef) + ATK_ADD(sstatus->hp); + wd.damage2 = 0;// needs more info if this really 0 for dual weilding KG/OB. [malufett] + status_set_hp(src, max(sstatus->hp/100, 1), 0); + if( sc && sc->data[SC_BUNSINJYUTSU] && (i=sc->data[SC_BUNSINJYUTSU]->val2) > 0){ + wd.div_ = -( i + 2 ); // mirror image number of hits + 2 + ATK_ADDRATE(20 + i*20); // (20 + 20 * mirror image) % + } + break; +#endif case HT_FREEZINGTRAP: if(sd) ATK_ADD( 40 * pc_checkskill(sd, RA_RESEARCHTRAP) ); @@ -3187,6 +3204,12 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo if( src->type == BL_MOB && (skill=pc_checkskill(tsd,RA_RANGERMAIN))>0 && (sstatus->race == RC_BRUTE || sstatus->race == RC_FISH || sstatus->race == RC_PLANT) ) vit_def += skill*5; +#ifdef RENEWAL + if( skill == NJ_ISSEN ){//TODO: do better implementation if other skills(same func) are found [malufett] + vit_def += def1; + def1 = 0; + } +#endif } else { //Mob-Pet vit-eq #ifndef RENEWAL |