diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 6 | ||||
-rw-r--r-- | src/map/skill.c | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 48ae06a8a..074319b2f 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2338,7 +2338,6 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo //You'd need something like 6K SP to reach this max, so should be fine for most purposes. if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased. skillratio = (unsigned short)ratio; - status_set_sp(src, 0, 0); } break; case MO_TRIPLEATTACK: @@ -2487,6 +2486,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo skillratio += 50 + 150*skill_lv; break; case NJ_TATAMIGAESHI: +#ifdef RENEWAL + ATK_RATE(200); +#endif skillratio += 10*skill_lv; break; case NJ_KASUMIKIRI: @@ -2933,7 +2935,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo case MH_LAVA_SLIDE: skillratio = 70 * skill_lv; break; - case MH_TINDER_BREAKER: + case MH_TINDER_BREAKER: case MH_MAGMA_FLOW: skillratio += -100 + 100 * skill_lv; break; diff --git a/src/map/skill.c b/src/map/skill.c index 13e92943e..9a597e1a3 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3701,19 +3701,21 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint short x, y, i = 2; // Move 2 cells for Issen(from target) struct block_list *mbl = bl; short dir = 0; + + skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag); if( skill_id == MO_EXTREMITYFIST ) { mbl = src; i = 3; // for Asura(from caster) + status_set_sp(src, 0, 0); status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER); status_change_end(src, SC_BLADESTOP, INVALID_TIMER); #ifdef RENEWAL sc_start(src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv)); #endif } - skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag); - + dir = map_calc_dir(src,bl->x,bl->y); if( dir > 0 && dir < 4) x = -i; else if( dir > 4 ) x = i; @@ -7826,10 +7828,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui skill_blockpc_start(sd,skill_id,4000); if( !(tsc && tsc->data[type]) ){ - if( i ) - break; + i = sc_start2(bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill_get_time(skill_id,skill_lv):skill_get_time2(skill_id, skill_lv)); + clif_skill_nodamage(src,bl,skill_id,skill_lv,i); + if( !i ) + clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); } - } + }else if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0); break; |