diff --git a/src/map/skill.cpp b/src/map/skill.cpp index d7ca73a22e..27f1dfb807 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -5224,12 +5224,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint skill_unitsetting(src, skill_id, skill_lv, bl->x, bl->y, 0); break; - case WL_COMET: - case NPC_COMET: - if(!map_getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR)) // Nothing should happen if the target is on Land Protector - skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag); - break; - case SM_MAGNUM: case MS_MAGNUM: if( flag&1 ) { @@ -12283,10 +12277,12 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui #endif case NPC_EVILLAND: case NPC_VENOMFOG: + case NPC_COMET: case NPC_ICEMINE: case NPC_FLAMECROSS: case NPC_HELLBURNING: case NPC_REVERBERATION: + case WL_COMET: case RA_ELECTRICSHOCKER: case RA_CLUSTERBOMB: case RA_MAGENTATRAP: @@ -12662,16 +12658,6 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui } break; - case WL_COMET: - case NPC_COMET: - if( sc ) { - sc->comet_x = x; - sc->comet_y = y; - } - i = skill_get_splash(skill_id,skill_lv); - map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),src,skill_id,skill_lv,tick,flag|BCT_ENEMY|SD_ANIMATION|1,skill_castend_damage_id); - break; - case WL_EARTHSTRAIN: { int w, wave = skill_lv + 4, dir = map_calc_dir(src,x,y); @@ -13479,6 +13465,13 @@ struct skill_unit_group *skill_unitsetting(struct block_list *src, uint16 skill_ val3 = sc->data[SC_POISONINGWEAPON]->val1; limit = skill_get_time(skill_id, skill_lv); break; + case NPC_COMET: + case WL_COMET: + if (sc) { + sc->comet_x = x; + sc->comet_y = y; + } + break; case GD_LEADERSHIP: case GD_GLORYWOUNDS: case GD_SOULCOLD: @@ -14207,6 +14200,11 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, t_t if (rnd()%100 < unit->val1) skill_attack(BF_WEAPON,ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0); break; + case NPC_COMET: + case WL_COMET: + if (map_getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR)) + break; // Nothing should happen if the target is on Land Protector + // Fall through default: skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0); }