db/import/skill_db.txt and paste:
80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2000,5,magic,0,0x1, WZ_FIREPILLAR,Fire Pillar
src/map/skill.cpp
Find this line:
case WZ_FIREPILLAR:
if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) )
return NULL;
if((flag&1)!=0)
limit=1000;
val1=skill_lv+2;
break;
And comment below
case WZ_FIREPILLAR:
//if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) )
//return NULL;
if((flag&1)!=0)
limit=1000;
val1=skill_lv+2;
break;
Search this:
//It deletes everything except traps and barriers
if ((!(skill_get_inf2(unit->group->skill_id)&(INF2_TRAP)) && !(skill_get_inf3(unit->group->skill_id)&(INF3_NOLP))) || unit->group->skill_id == WZ_FIREPILLAR || unit->group->skill_id == GN_HELLS_PLANT) {
if (skill_get_unit_flag(unit->group->skill_id)&UF_RANGEDSINGLEUNIT) {
if (unit->val2&UF_RANGEDSINGLEUNIT)
skill_delunitgroup(unit->group);
} else
skill_delunit(unit);
return 1;
}
break;
and remove: unit->group->skill_id == WZ_FIREPILLAR ||
//It deletes everything except traps and barriers
if ((!(skill_get_inf2(unit->group->skill_id)&(INF2_TRAP)) && !(skill_get_inf3(unit->group->skill_id)&(INF3_NOLP))) || unit->group->skill_id == GN_HELLS_PLANT) {
if (skill_get_unit_flag(unit->group->skill_id)&UF_RANGEDSINGLEUNIT) {
if (unit->val2&UF_RANGEDSINGLEUNIT)
skill_delunitgroup(unit->group);
} else
skill_delunit(unit);
return 1;
}
break;
Then recompile your server, i've tested by myself. Hope it helps.