// .../src/map/atcommand.c ACMD(emotion) { if(!*message || atoi(message)<0 || atoi(message)>87){ clif->messages(fd, "usage: @emotion 1-87"); return false; } clif->emotion(&sd->bl,atoi(message)); return true; } ACMD(heart) { nullpo_retr(-1, sd); if(!*message || atoi(message)<0 || atoi(message)>2){ clif->messages(fd, "usage: @heart 1 or 2"); return false; } if(atoi(message)==1){ clif->specialeffect(&sd->bl,364,0); } else if(atoi(message)==2){ clif->specialeffect(&sd->bl,509,0); } return true; } ACMD(hold) { nullpo_retr(-1, sd); if (!sd->state.blockedmove){ sd->state.blockedmove=1; clif->messages(fd, "Moving your char off"); } else { sd->state.blockedmove=0; clif->messages(fd, "Moving your char on"); } return true; } ACMD(dance) { nullpo_retr(-1, sd); if(!*message || atoi(message)<0 || atoi(message)>9){ clif->messages(fd, "usage: @dance 1-9"); return -1; } if(atoi(message)==1){ clif->specialeffect(&sd->bl,413,0); } else if(atoi(message)==2){ clif->specialeffect(&sd->bl,414,0); } else if(atoi(message)==3){ clif->specialeffect(&sd->bl,415,0); } else if(atoi(message)==4){ clif->specialeffect(&sd->bl, 426, 0); } else if(atoi(message)== 5){ clif->specialeffect(&sd->bl,458,0); } else if(atoi(message)==6){ clif->specialeffect(&sd->bl,466,0); } else if(atoi(message)==7){ clif->specialeffect(&sd->bl,501,0); } else if(atoi(message)==8){ clif->specialeffect(&sd->bl,540,0); } else if(atoi(message)==9){ clif->specialeffect(&sd->bl,550,0); } return true; } void atcommand_basecommands(void) { /** * Command reference list, place the base of your commands here **/ AtCommandInfo atcommand_base[] = { .... ACMD_DEF(emotion), ACMD_DEF(heart), ACMD_DEF(hold), ACMD_DEF(dance), }