구버전 바람 전사 고차승급 스킬 후퇴검격
@후퇴검격 {
set @sd, mysd();
set @id, myid();
set @value, callfunc("calculate_damage", get_hp(@sd)*3/2, 3);
set @damage, callfunc("calc_multiply", @value);
set @save_damage, @damage;
callfunc "SPELL_MOMENT";
callfunc "MANA_DELAY", 900, 0, @sd;
set_mp @sd, get_mp(@sd)-900;
switch(get_side(@id))
{
case 0:
setarray @x[0], get_x(@id)-1, get_x(@id) , get_x(@id)+1, get_x(@id)-1, get_x(@id) , get_x(@id)+1, get_x(@id)-1, get_x(@id) , get_x(@id)+1;
setarray @y[0], get_y(@id)-1, get_y(@id)-1, get_y(@id)-1, get_y(@id)-2, get_y(@id)-2, get_y(@id)-2, get_y(@id)-3, get_y(@id)-3, get_y(@id)-3;
break;
case 1:
setarray @x[0], get_x(@id)+1, get_x(@id)+1, get_x(@id)+1, get_x(@id)+2, get_x(@id)+2, get_x(@id)+2, get_x(@id)+3, get_x(@id)+3, get_x(@id)+3;
setarray @y[0], get_y(@id)-1, get_y(@id) , get_y(@id)+1, get_y(@id)-1, get_y(@id) , get_y(@id)+1, get_y(@id)-1, get_y(@id) , get_y(@id)+1;
break;
case 2:
setarray @x[0], get_x(@id)-1, get_x(@id) , get_x(@id)+1, get_x(@id)-1, get_x(@id) , get_x(@id)+1, get_x(@id)-1, get_x(@id) , get_x(@id)+1;
setarray @y[0], get_y(@id)+1, get_y(@id)+1, get_y(@id)+1, get_y(@id)+2, get_y(@id)+2, get_y(@id)+2, get_y(@id)+3, get_y(@id)+3, get_y(@id)+3;
break;
case 3:
setarray @x[0], get_x(@id)-1, get_x(@id)-1, get_x(@id)-1, get_x(@id)-2, get_x(@id)-2, get_x(@id)-2, get_x(@id)-3, get_x(@id)-3, get_x(@id)-3;
setarray @y[0], get_y(@id)-1, get_y(@id) , get_y(@id)+1, get_y(@id)-1, get_y(@id) , get_y(@id)+1, get_y(@id)-1, get_y(@id) , get_y(@id)+1;
break;
}
for(set @loop, 0; @loop < 9; set @loop, @loop+1)
{
if(@x[@loop] >= 0 && @x[@loop] < get_mapwidth(@sd) && @y[@loop] >= 0 && @y[@loop] < get_mapheight(@sd))
{
set @target_id, obj_getxy(@x[@loop], @y[@loop]);
if(@target_id > 0 && @target_id != @id)
{
if(istype(@target_id) == 1)
{
set @target_sd, id2sd(@target_id);
if(ismapoption(@target_sd, 6))
{
message @target_sd, 3, get_name(@sd) + "님이 후퇴검격을 가합니다.";
}
effect @target_id, 67;
sound @target_id, 87;
damage @id, @target_id, @damage, 0;
}
else if(istype(@target_id) == 2)
{
effect @target_id, 67;
sound @target_id, 87;
damage @id, @target_id, @damage, 0;
}
}
}
}
switch(get_side(@id))
{
case 0:
set @move, 4;
if(canmove(@id, get_x(@id), get_y(@id)+1) == 1) { set @move, 0; }
else if(canmove(@id, get_x(@id), get_y(@id)+2) == 1) { set @move, 1; }
else if(canmove(@id, get_x(@id), get_y(@id)+3) == 1) { set @move, 2; }
else if(canmove(@id, get_x(@id), get_y(@id)+4) == 1) { set @move, 3; }
set_y @id, get_y(@id)+@move;
break;
case 1:
set @move, 4;
if(canmove(@id, get_x(@id)-1, get_y(@id)) == 1) { set @move, 0; }
else if(canmove(@id, get_x(@id)-2, get_y(@id)) == 1) { set @move, 1; }
else if(canmove(@id, get_x(@id)-3, get_y(@id)) == 1) { set @move, 2; }
else if(canmove(@id, get_x(@id)-4, get_y(@id)) == 1) { set @move, 3; }
set_x @id, get_x(@id)-@move;
break;
case 2:
set @move, 4;
if(canmove(@id, get_x(@id), get_y(@id)-1) == 1) { set @move, 0; }
else if(canmove(@id, get_x(@id), get_y(@id)-2) == 1) { set @move, 1; }
else if(canmove(@id, get_x(@id), get_y(@id)-3) == 1) { set @move, 2; }
else if(canmove(@id, get_x(@id), get_y(@id)-4) == 1) { set @move, 3; }
set_y @id, get_y(@id)-@move;
break;
case 3:
set @move, 4;
if(canmove(@id, get_x(@id)+1, get_y(@id)) == 1) { set @move, 0; }
else if(canmove(@id, get_x(@id)+2, get_y(@id)) == 1) { set @move, 1; }
else if(canmove(@id, get_x(@id)+3, get_y(@id)) == 1) { set @move, 2; }
else if(canmove(@id, get_x(@id)+4, get_y(@id)) == 1) { set @move, 3; }
set_x @id, get_x(@id)+@move;
break;
}
updatexy @sd;
updatestatus @sd, 0;
updateallpc @sd;
action @id, 1, 30, 0;
set_hp @sd, get_hp(@sd)/2;
spelldelay @sd, name2spellid("후퇴검격"), 25;
message @sd, 3, "후퇴검격을 외웠습니다.";
}

젠장할 님의 최근 댓글
에구,... 잘못올렸네요 2026 04.04 ㄳㄳ 2017 06.19