here
int atcommand_sleep(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
if(map_flag_gvg(sd->bl.m) || map_flag_vs(sd->bl.m)){
clif_displaymessage(fd, "you can't....");
return -1;
}
if(!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > 10) {
if(sd->sc.opt1 != 0 && sd->sc.opt1 != OPT1_SLEEP){
clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command.
return -1;
}
if(sd->sc.opt1 != OPT1_SLEEP){
sc_start(&sd->bl, SC_TRICKDEAD, 100, 1, 1000); //Duration does not matters as Trick Dead is "eternal"
sd->sc.opt1 = OPT1_SLEEP;
sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1));
clif_displaymessage(fd, msg_txt(705)); //You are now asleep.
} else {
sd->sc.opt1 = 0;
clif_emotion(&sd->bl,45);
status_change_end(&sd->bl, SC_TRICKDEAD, -1);
sc_start(&sd->bl,SC_COMA,100,1,skill_get_time2(185,1));
clif_displaymessage(fd, msg_txt(706)); //You are now awake.
}
clif_changeoption(&sd->bl);
return 0;
}
clif_displaymessage(fd, msg_txt(707)); //Please refrain from trying to abuse this command.
return -1;
}