summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index a25a523a2..905e2c1fb 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2887,15 +2887,11 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
case ASC_METEORASSAULT:
case GS_DESPERADO:
case GS_SPREADATTACK:
- case KN_BRANDISHSPEAR:
if (flag&1)
{ //Invoked from map_foreachinarea, skill_area_temp[0] holds number of targets to divide damage by.
if (skill_area_temp[1] != bl->id)
skill_attack(skill_get_type(skillid), src, src, bl,
skillid, skilllv, tick, skill_area_temp[0]|SD_ANIMATION);
- else if (skillid == KN_BRANDISHSPEAR)
- skill_attack(skill_get_type(skillid), src, src, bl,
- skillid, skilllv, tick, skill_area_temp[0]);
break;
}
if ( skillid == NJ_BAKUENRYU )
@@ -2926,6 +2922,16 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
}
break;
+ case KN_BRANDISHSPEAR:
+ //Coded apart for it needs the flag passed to the damage calculation.
+ if (skill_area_temp[1] != bl->id)
+ skill_attack(skill_get_type(skillid), src, src, bl,
+ skillid, skilllv, tick, flag|SD_ANIMATION);
+ else
+ skill_attack(skill_get_type(skillid), src, src, bl,
+ skillid, skilllv, tick, flag);
+ break;
+
case KN_BOWLINGBASH:
if(flag&1){
if(bl->id==skill_area_temp[1])
@@ -6838,7 +6844,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
if((!sd->chatID || battle_config.chat_warpportal)
&& sd->ud.to_x == src->bl.x && sd->ud.to_y == src->bl.y) {
if (pc_setpos(sd,sg->val3,sg->val2>>16,sg->val2&0xffff,3) == 0) {
- if (--sg->val1<=0 || sg->src_id == bl->id)
+ if (--sg->val1<=0)
skill_delunitgroup(NULL, sg);
}
}