// .../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),
}