From e7d01f7b12e109ac54dcc29f9d368e20512c57e6 Mon Sep 17 00:00:00 2001 From: Inkfish Date: Wed, 29 Jul 2009 04:33:00 +0000 Subject: * Kaahi heals no matter if attack connects. (bugreport:2440) * Fixed a typo causing skillitem always resets skill delay. (bugreport:3431) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13977 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 3 +++ src/map/skill.c | 6 ------ src/map/unit.c | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/map/battle.c b/src/map/battle.c index 8852d19bd..17073a447 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3004,6 +3004,9 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t return (damage_lv)skill_attack(BF_MAGIC,src,src,target,NPC_MAGICALATTACK,sc->data[SC_MAGICALATTACK]->val1,tick,0); } + if(tsc && tsc->data[SC_KAAHI] && tsc->data[SC_KAAHI]->val4 == -1) + tsc->data[SC_KAAHI]->val4 = add_timer(tick + skill_get_time2(SL_KAAHI,tsc->data[SC_KAAHI]->val1), kaahi_heal_timer, target->id, SC_KAAHI); //Activate heal. + wd = battle_calc_weapon_attack(src, target, 0, 0, flag); if (sd && sd->state.arrow_atk) //Consume arrow. diff --git a/src/map/skill.c b/src/map/skill.c index 861a073a1..4e4cf1734 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1206,12 +1206,6 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list * } switch(skillid){ - case 0: //Normal Attack - if(tsc && tsc->data[SC_KAAHI] && tsc->data[SC_KAAHI]->val4 == -1) - tsc->data[SC_KAAHI]->val4 = add_timer( - tick+skill_get_time2(SL_KAAHI,tsc->data[SC_KAAHI]->val1), - kaahi_heal_timer, bl->id, SC_KAAHI); //Activate heal. - break; case MO_EXTREMITYFIST: sc_start(src,status_skill2sc(skillid),100,skilllv,skill_get_time2(skillid,skilllv)); break; diff --git a/src/map/unit.c b/src/map/unit.c index 1adfe16c6..4fce9b2d7 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1074,7 +1074,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh if( casttime <= 0 ) ud->state.skillcastcancel = 0; - if( !sd || sd->skillitem != ud->skillid || skill_get_cast(skill_num,skill_lv) ) + if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) ) ud->canact_tick = tick + casttime + 100; if( sd ) { @@ -1180,7 +1180,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh casttime = skill_castfix_sc(src, casttime); ud->state.skillcastcancel = castcancel&&casttime>0?1:0; - if( !sd || sd->skillitem != ud->skillid || skill_get_cast(skill_num,skill_lv) ) + if( !sd || sd->skillitem != skill_num || skill_get_cast(skill_num,skill_lv) ) ud->canact_tick = tick + casttime + 100; // if( sd ) // { -- cgit v1.2.3-60-g2f50