Index: src/map/skill.c =================================================================== --- src/map/skill.c (revision 17279) +++ src/map/skill.c (working copy) @@ -9968,11 +9968,6 @@ if( sc->data[SC_BASILICA] ) status_change_end(src, SC_BASILICA, INVALID_TIMER); // Cancel Basilica else { // Create Basilica. Start SC on caster. Unit timer start SC on others. - if( map_foreachinrange(skill_count_wos, src, 2, BL_MOB|BL_PC, src) ) { - if( sd ) - clif_skill_fail(sd,skill_id,USESKILL_FAIL,0); - return 1; - } skill_clear_unitgroup(src); if( skill_unitsetting(src,skill_id,skill_lv,x,y,0) ) sc_start4(src,src,type,100,skill_lv,0,0,src->id,skill_get_time(skill_id,skill_lv)); @@ -12936,6 +12934,26 @@ } break; } + case HP_BASILICA: + if( sc && !sc->data[SC_BASILICA]) { + if( sd ) { + int i,x,y,range = 4; + int size = range*2+1; + for (i=0;ibl.x+(i%size-range); + y = sd->bl.y+(i/size-range); + if (map_getcell(sd->bl.m,x,y,CELL_CHKWALL)) { + clif_skill_fail(sd,skill_id,USESKILL_FAIL,0); + return 0; + } + } + if( map_foreachinrange(skill_count_wos, &sd->bl, 2, BL_MOB|BL_PC, &sd->bl)) { + clif_skill_fail(sd,skill_id,USESKILL_FAIL,0); + return 0; + } + } + } + break; case AM_TWILIGHT2: case AM_TWILIGHT3: if (!party_skill_check(sd, sd->status.party_id, skill_id, skill_lv))