|
@@ -2384,16 +2384,16 @@ int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int s
|
|
{
|
|
{
|
|
struct status_change *sc_data = battle_get_sc_data(src);
|
|
struct status_change *sc_data = battle_get_sc_data(src);
|
|
|
|
|
|
- if(!battle_config.finger_offensive_type)
|
|
|
|
- skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
|
|
|
- else {
|
|
|
|
- skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
|
|
|
- if(sd) {
|
|
|
|
- for(i=1;i<sd->spiritball_old;i++)
|
|
|
|
- skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
|
|
|
|
- sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
|
|
|
|
|
|
+ if(!battle_config.finger_offensive_type)
|
|
|
|
+ skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
|
|
|
+ else {
|
|
|
|
+ skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
|
|
|
+ if(sd) {
|
|
|
|
+ for(i=1;i<sd->spiritball_old;i++)
|
|
|
|
+ skill_addtimerskill(src,tick+i*200,bl->id,0,0,skillid,skilllv,BF_WEAPON,flag);
|
|
|
|
+ sd->canmove_tick = tick + (sd->spiritball_old-1)*200;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
if(sc_data && sc_data[SC_BLADESTOP].timer != -1)
|
|
if(sc_data && sc_data[SC_BLADESTOP].timer != -1)
|
|
skill_status_change_end(src,SC_BLADESTOP,-1);
|
|
skill_status_change_end(src,SC_BLADESTOP,-1);
|
|
}
|
|
}
|
|
@@ -5965,14 +5965,16 @@ int skill_unit_onplace(struct skill_unit *src,struct block_list *bl,unsigned int
|
|
int type=SkillStatusChangeTable[sg->skill_id];
|
|
int type=SkillStatusChangeTable[sg->skill_id];
|
|
if(sg->src_id == bl->id)
|
|
if(sg->src_id == bl->id)
|
|
break;
|
|
break;
|
|
- if(sc_data && sc_data[type].timer==-1)
|
|
|
|
- skill_status_change_start(bl,type,sg->skill_lv,sg->val1,sg->val2,
|
|
|
|
- (int)src,skill_get_time2(sg->skill_id,sg->skill_lv),0);
|
|
|
|
- else if( (unit2=(struct skill_unit *)sc_data[type].val4) && unit2 != src ){
|
|
|
|
- if( unit2->group && DIFF_TICK(sg->tick,unit2->group->tick)>0 )
|
|
|
|
|
|
+ if(sc_data) {
|
|
|
|
+ if (sc_data[type].timer==-1)
|
|
skill_status_change_start(bl,type,sg->skill_lv,sg->val1,sg->val2,
|
|
skill_status_change_start(bl,type,sg->skill_lv,sg->val1,sg->val2,
|
|
(int)src,skill_get_time2(sg->skill_id,sg->skill_lv),0);
|
|
(int)src,skill_get_time2(sg->skill_id,sg->skill_lv),0);
|
|
- ts->tick-=sg->interval;
|
|
|
|
|
|
+ else if( (unit2=(struct skill_unit *)sc_data[type].val4) && unit2 != src ){
|
|
|
|
+ if( unit2->group && DIFF_TICK(sg->tick,unit2->group->tick)>0 )
|
|
|
|
+ skill_status_change_start(bl,type,sg->skill_lv,sg->val1,sg->val2,
|
|
|
|
+ (int)src,skill_get_time2(sg->skill_id,sg->skill_lv),0);
|
|
|
|
+ ts->tick-=sg->interval;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} break;
|
|
} break;
|
|
|
|
|