134 int command_orcknuckle(object *op, char *params) {
139 int i, j, k, l, dice_count, number_dice;
145 for (dice_count = 0; dice_count <
DICE; dice_count++)
146 dice[dice_count] = NULL;
150 for (ob = op->
inv; ob && dice_count < DICE && number_dice < DICE; ob = ob->below) {
152 number_dice += ob->
nrof;
153 dice[dice_count++] = ob;
157 if (number_dice < DICE) {
159 "You need at least %d dice to play orcknuckle!",
160 "You need at least %d dice to play orcknuckle!", DICE);
170 snprintf(buf2,
MAX_BUF-1,
"%s rolls %s, %s, %s, %s!", op->name,
orcknuckle[i],
orcknuckle[j],
orcknuckle[k],
orcknuckle[l]);
184 "Oops, you lost a die!",
"Oops, you lost a die!");
210 static int command_tell_all(
object *op,
char *params,
int pri,
int color,
int subtype,
const char *desc) {
213 "You are no longer allowed to shout or chat.", NULL);
216 if (params == NULL) {
218 "Shout/Chat what?", NULL);
224 op->
name, desc, params);
270 static int do_tell(
object *op,
char *params,
int adjust_listen) {
273 uint8 original_listen;
275 if (params != NULL) {
277 msg = strchr(name,
' ');
287 "Tell whom what?", NULL);
289 }
else if (msg == NULL) {
329 "No such player or ambiguous name.", NULL);
376 if (params == NULL) {
378 "Reply what?", NULL);
384 "You can't reply to nobody.", NULL);
392 "You can't reply, this player left.", NULL);
406 "You can't reply, this player left.", NULL);
411 "You tell to %s: %s",
412 "You tell to %s: %s",
445 sprintf(buf,
"%s nods solemnly.", op->
name);
446 sprintf(buf2,
"You nod solemnly.");
450 sprintf(buf,
"%s expresses himself through interpretive dance.", op->
name);
451 sprintf(buf2,
"You dance with glee.");
455 sprintf(buf,
"%s makes a weird facial contortion", op->
name);
456 sprintf(buf2,
"All the lonely people..");
460 sprintf(buf,
"%s bounces around.", op->
name);
461 sprintf(buf2,
"BOIINNNNNNGG!");
465 sprintf(buf,
"%s smiles happily.", op->
name);
466 sprintf(buf2,
"You smile happily.");
470 sprintf(buf,
"%s throws back his head and cackles with insane glee!", op->
name);
471 sprintf(buf2,
"You cackle gleefully.");
475 sprintf(buf,
"%s falls down laughing.", op->
name);
476 sprintf(buf2,
"You fall down laughing.");
480 sprintf(buf,
"%s giggles.", op->
name);
481 sprintf(buf2,
"You giggle.");
485 sprintf(buf,
"%s shakes his head.", op->
name);
486 sprintf(buf2,
"You shake your head.");
490 sprintf(buf,
"%s pukes.", op->
name);
491 sprintf(buf2,
"Bleaaaaaghhhhhhh!");
495 sprintf(buf,
"%s growls.", op->
name);
496 sprintf(buf2,
"Grrrrrrrrr....");
500 sprintf(buf,
"%s screams at the top of his lungs!", op->
name);
501 sprintf(buf2,
"ARRRRRRRRRRGH!!!!!");
505 sprintf(buf,
"%s sighs loudly.", op->
name);
506 sprintf(buf2,
"You sigh.");
510 sprintf(buf,
"%s sulks in the corner.", op->
name);
511 sprintf(buf2,
"You sulk.");
515 sprintf(buf,
"%s bursts into tears.", op->
name);
516 sprintf(buf2,
"Waaaaaaahhh..");
520 sprintf(buf,
"%s grins evilly.", op->
name);
521 sprintf(buf2,
"You grin evilly.");
525 sprintf(buf,
"%s bows deeply.", op->
name);
526 sprintf(buf2,
"You bow deeply.");
530 sprintf(buf,
"%s gives a round of applause.", op->
name);
531 sprintf(buf2,
"Clap, clap, clap.");
535 sprintf(buf,
"%s blushes.", op->
name);
536 sprintf(buf2,
"Your cheeks are burning.");
540 sprintf(buf,
"%s burps loudly.", op->
name);
541 sprintf(buf2,
"You burp loudly.");
545 sprintf(buf,
"%s chuckles politely.", op->
name);
546 sprintf(buf2,
"You chuckle politely");
550 sprintf(buf,
"%s coughs loudly.", op->
name);
551 sprintf(buf2,
"Yuck, try to cover your mouth next time!");
555 sprintf(buf,
"%s flips head over heels.", op->
name);
556 sprintf(buf2,
"You flip head over heels.");
560 sprintf(buf,
"%s frowns.", op->
name);
561 sprintf(buf2,
"What's bothering you?");
565 sprintf(buf,
"%s gasps in astonishment.", op->
name);
566 sprintf(buf2,
"You gasp in astonishment.");
570 sprintf(buf,
"%s glares around him.", op->
name);
571 sprintf(buf2,
"You glare at nothing in particular.");
575 sprintf(buf,
"%s groans loudly.", op->
name);
576 sprintf(buf2,
"You groan loudly.");
580 sprintf(buf,
"%s hiccups.", op->
name);
581 sprintf(buf2,
"*HIC*");
585 sprintf(buf,
"%s licks his mouth and smiles.", op->
name);
586 sprintf(buf2,
"You lick your mouth and smile.");
590 sprintf(buf,
"%s pouts.", op->
name);
591 sprintf(buf2,
"Aww, don't take it so hard.");
595 sprintf(buf,
"%s shivers uncomfortably.", op->
name);
596 sprintf(buf2,
"Brrrrrrrrr.");
600 sprintf(buf,
"%s shrugs helplessly.", op->
name);
601 sprintf(buf2,
"You shrug.");
605 sprintf(buf,
"%s smirks.", op->
name);
606 sprintf(buf2,
"You smirk.");
610 sprintf(buf,
"%s snaps his fingers.", op->
name);
611 sprintf(buf2,
"PRONTO! You snap your fingers.");
615 sprintf(buf,
"%s sneezes.", op->
name);
616 sprintf(buf2,
"Gesundheit!");
620 sprintf(buf,
"%s snickers softly.", op->
name);
621 sprintf(buf2,
"You snicker softly.");
625 sprintf(buf,
"%s sniffs sadly.", op->
name);
626 sprintf(buf2,
"You sniff sadly. *SNIFF*");
630 sprintf(buf,
"%s snores loudly.", op->
name);
631 sprintf(buf2,
"Zzzzzzzzzzzzzzz.");
635 sprintf(buf,
"%s spits over his left shoulder.", op->
name);
636 sprintf(buf2,
"You spit over your left shoulder.");
640 sprintf(buf,
"%s struts proudly.", op->
name);
641 sprintf(buf2,
"Strut your stuff.");
645 sprintf(buf,
"%s patiently twiddles his thumbs.", op->
name);
646 sprintf(buf2,
"You patiently twiddle your thumbs.");
650 sprintf(buf,
"%s waves happily.", op->
name);
651 sprintf(buf2,
"You wave.");
655 sprintf(buf,
"%s whistles appreciatively.", op->
name);
656 sprintf(buf2,
"You whistle appreciatively.");
660 sprintf(buf,
"%s winks suggestively.", op->
name);
661 sprintf(buf2,
"Have you got something in your eye?");
665 sprintf(buf,
"%s yawns sleepily.", op->
name);
666 sprintf(buf2,
"You open up your yap and let out a big breeze of stale air.");
670 sprintf(buf,
"%s cringes in terror!", op->
name);
671 sprintf(buf2,
"You cringe in terror.");
675 sprintf(buf,
"%s is bleeding all over the carpet - got a spare tourniquet?", op->
name);
676 sprintf(buf2,
"You bleed all over your nice new armour.");
680 sprintf(buf,
"%s closes his eyes and thinks really hard.", op->
name);
681 sprintf(buf2,
"Anything in particular that you'd care to think about?");
685 sprintf(buf,
"%s dances with glee.", op->
name);
686 sprintf(buf2,
"You are a nut.");
703 sprintf(buf,
"You nod solemnly to %s.", pl->
ob->
name);
704 sprintf(buf2,
"%s nods solemnly to you.", op->
name);
705 sprintf(buf3,
"%s nods solemnly to %s.", op->
name, pl->
ob->
name);
709 sprintf(buf,
"You grab %s and begin doing the Cha-Cha!", pl->
ob->
name);
710 sprintf(buf2,
"%s grabs you, and begins dancing!", op->
name);
711 sprintf(buf3,
"Yipe! %s and %s are doing the Macarena!", op->
name, pl->
ob->
name);
715 sprintf(buf,
"You kiss %s.", pl->
ob->
name);
716 sprintf(buf2,
"%s kisses you.", op->
name);
717 sprintf(buf3,
"%s kisses %s.", op->
name, pl->
ob->
name);
721 sprintf(buf,
"You bounce around the room with %s.", pl->
ob->
name);
722 sprintf(buf2,
"%s bounces around the room with you.", op->
name);
723 sprintf(buf3,
"%s bounces around the room with %s.", op->
name, pl->
ob->
name);
727 sprintf(buf,
"You smile at %s.", pl->
ob->
name);
728 sprintf(buf2,
"%s smiles at you.", op->
name);
729 sprintf(buf3,
"%s beams a smile at %s.", op->
name, pl->
ob->
name);
733 sprintf(buf,
"You take one look at %s and fall down laughing.", pl->
ob->
name);
734 sprintf(buf2,
"%s looks at you and falls down on the ground laughing.", op->
name);
735 sprintf(buf3,
"%s looks at %s and falls down on the ground laughing.", op->
name, pl->
ob->
name);
739 sprintf(buf,
"You shake %s's hand.", pl->
ob->
name);
740 sprintf(buf2,
"%s shakes your hand.", op->
name);
741 sprintf(buf3,
"%s shakes %s's hand.", op->
name, pl->
ob->
name);
745 sprintf(buf,
"You puke on %s.", pl->
ob->
name);
746 sprintf(buf2,
"%s pukes on your clothes!", op->
name);
747 sprintf(buf3,
"%s pukes on %s.", op->
name, pl->
ob->
name);
751 sprintf(buf,
"You hug %s.", pl->
ob->
name);
752 sprintf(buf2,
"%s hugs you.", op->
name);
753 sprintf(buf3,
"%s hugs %s.", op->
name, pl->
ob->
name);
757 sprintf(buf,
"You cry on %s's shoulder.", pl->
ob->
name);
758 sprintf(buf2,
"%s cries on your shoulder.", op->
name);
759 sprintf(buf3,
"%s cries on %s's shoulder.", op->
name, pl->
ob->
name);
763 sprintf(buf,
"You poke %s in the ribs.", pl->
ob->
name);
764 sprintf(buf2,
"%s pokes you in the ribs.", op->
name);
765 sprintf(buf3,
"%s pokes %s in the ribs.", op->
name, pl->
ob->
name);
769 sprintf(buf,
"You look accusingly at %s.", pl->
ob->
name);
770 sprintf(buf2,
"%s looks accusingly at you.", op->
name);
771 sprintf(buf3,
"%s looks accusingly at %s.", op->
name, pl->
ob->
name);
775 sprintf(buf,
"You grin at %s.", pl->
ob->
name);
776 sprintf(buf2,
"%s grins evilly at you.", op->
name);
777 sprintf(buf3,
"%s grins evilly at %s.", op->
name, pl->
ob->
name);
781 sprintf(buf,
"You bow before %s.", pl->
ob->
name);
782 sprintf(buf2,
"%s bows before you.", op->
name);
783 sprintf(buf3,
"%s bows before %s.", op->
name, pl->
ob->
name);
787 sprintf(buf,
"You frown darkly at %s.", pl->
ob->
name);
788 sprintf(buf2,
"%s frowns darkly at you.", op->
name);
789 sprintf(buf3,
"%s frowns darkly at %s.", op->
name, pl->
ob->
name);
793 sprintf(buf,
"You glare icily at %s.", pl->
ob->
name);
794 sprintf(buf2,
"%s glares icily at you, you feel cold to your bones.", op->
name);
795 sprintf(buf3,
"%s glares at %s.", op->
name, pl->
ob->
name);
799 sprintf(buf,
"You lick %s.", pl->
ob->
name);
800 sprintf(buf2,
"%s licks you.", op->
name);
801 sprintf(buf3,
"%s licks %s.", op->
name, pl->
ob->
name);
805 sprintf(buf,
"You shrug at %s.", pl->
ob->
name);
806 sprintf(buf2,
"%s shrugs at you.", op->
name);
807 sprintf(buf3,
"%s shrugs at %s.", op->
name, pl->
ob->
name);
811 sprintf(buf,
"You slap %s.", pl->
ob->
name);
812 sprintf(buf2,
"You are slapped by %s.", op->
name);
813 sprintf(buf3,
"%s slaps %s.", op->
name, pl->
ob->
name);
817 sprintf(buf,
"You sneeze at %s and a film of snot shoots onto him.", pl->
ob->
name);
818 sprintf(buf2,
"%s sneezes on you, you feel the snot cover you. EEEEEEW.", op->
name);
819 sprintf(buf3,
"%s sneezes on %s and a film of snot covers him.", op->
name, pl->
ob->
name);
823 sprintf(buf,
"You sniff %s.", pl->
ob->
name);
824 sprintf(buf2,
"%s sniffs you.", op->
name);
825 sprintf(buf3,
"%s sniffs %s", op->
name, pl->
ob->
name);
829 sprintf(buf,
"You spit on %s.", pl->
ob->
name);
830 sprintf(buf2,
"%s spits in your face!", op->
name);
831 sprintf(buf3,
"%s spits in %s's face.", op->
name, pl->
ob->
name);
835 sprintf(buf,
"You thank %s heartily.", pl->
ob->
name);
836 sprintf(buf2,
"%s thanks you heartily.", op->
name);
837 sprintf(buf3,
"%s thanks %s heartily.", op->
name, pl->
ob->
name);
841 sprintf(buf,
"You wave goodbye to %s.", pl->
ob->
name);
842 sprintf(buf2,
"%s waves goodbye to you. Have a good journey.", op->
name);
843 sprintf(buf3,
"%s waves goodbye to %s.", op->
name, pl->
ob->
name);
847 sprintf(buf,
"You whistle at %s.", pl->
ob->
name);
848 sprintf(buf2,
"%s whistles at you.", op->
name);
849 sprintf(buf2,
"%s whistles at %s.", op->
name, pl->
ob->
name);
853 sprintf(buf,
"You wink suggestively at %s.", pl->
ob->
name);
854 sprintf(buf2,
"%s winks suggestively at you.", op->
name);
855 sprintf(buf2,
"%s winks at %s.", op->
name, pl->
ob->
name);
859 sprintf(buf,
"You beg %s for mercy.", pl->
ob->
name);
860 sprintf(buf2,
"%s begs you for mercy! Show no quarter!", op->
name);
861 sprintf(buf2,
"%s begs %s for mercy!", op->
name, pl->
ob->
name);
865 sprintf(buf,
"You slash your wrist and bleed all over %s", pl->
ob->
name);
866 sprintf(buf2,
"%s slashes his wrist and bleeds all over you.", op->
name);
867 sprintf(buf2,
"%s slashes his wrist and bleeds all over %s.", op->
name, pl->
ob->
name);
871 sprintf(buf,
"You cringe away from %s.", pl->
ob->
name);
872 sprintf(buf2,
"%s cringes away from you.", op->
name);
873 sprintf(buf2,
"%s cringes away from %s in mortal terror.", op->
name, pl->
ob->
name);
877 sprintf(buf,
"You are still nuts.");
878 sprintf(buf2,
"You get the distinct feeling that %s is nuts.", op->
name);
879 sprintf(buf3,
"%s is eyeing %s quizzically.", pl->
ob->
name, op->
name);
895 sprintf(buf,
"You skip and dance around by yourself.");
896 sprintf(buf2,
"%s embraces himself and begins to dance!", op->
name);
900 sprintf(buf,
"Laugh at yourself all you want, the others won't understand.");
901 sprintf(buf2,
"%s is laughing at something.", op->
name);
905 sprintf(buf,
"You are shaken by yourself.");
906 sprintf(buf2,
"%s shakes and quivers like a bowlful of jelly.", op->
name);
910 sprintf(buf,
"You puke on yourself.");
911 sprintf(buf2,
"%s pukes on his clothes.", op->
name);
915 sprintf(buf,
"You hug yourself.");
916 sprintf(buf2,
"%s hugs himself.", op->
name);
920 sprintf(buf,
"You cry to yourself.");
921 sprintf(buf2,
"%s sobs quietly to himself.", op->
name);
925 sprintf(buf,
"You poke yourself in the ribs, feeling very silly.");
926 sprintf(buf2,
"%s pokes himself in the ribs, looking very sheepish.", op->
name);
930 sprintf(buf,
"You accuse yourself.");
931 sprintf(buf2,
"%s seems to have a bad conscience.", op->
name);
935 sprintf(buf,
"You kiss your toes.");
936 sprintf(buf2,
"%s folds up like a jackknife and kisses his own toes.", op->
name);
940 sprintf(buf,
"You frown at yourself.");
941 sprintf(buf2,
"%s frowns at himself.", op->
name);
945 sprintf(buf,
"You glare icily at your feet, they are suddenly very cold.");
946 sprintf(buf2,
"%s glares at his feet, what is bothering him?", op->
name);
950 sprintf(buf,
"You lick yourself.");
951 sprintf(buf2,
"%s licks himself - YUCK.", op->
name);
955 sprintf(buf,
"You slap yourself, silly you.");
956 sprintf(buf2,
"%s slaps himself, really strange...", op->
name);
960 sprintf(buf,
"You sneeze on yourself, what a mess!");
961 sprintf(buf2,
"%s sneezes, and covers himself in a slimy substance.", op->
name);
965 sprintf(buf,
"You sniff yourself.");
966 sprintf(buf2,
"%s sniffs himself.", op->
name);
970 sprintf(buf,
"You drool all over yourself.");
971 sprintf(buf2,
"%s drools all over himself.", op->
name);
975 sprintf(buf,
"You thank yourself since nobody else wants to!");
976 sprintf(buf2,
"%s thanks himself since you won't.", op->
name);
980 sprintf(buf,
"Are you going on adventures as well??");
981 sprintf(buf2,
"%s waves goodbye to himself.", op->
name);
985 sprintf(buf,
"You whistle while you work.");
986 sprintf(buf2,
"%s whistles to himself in boredom.", op->
name);
990 sprintf(buf,
"You wink at yourself?? What are you up to?");
991 sprintf(buf2,
"%s winks at himself - something strange is going on...", op->
name);
995 sprintf(buf,
"Very impressive! You wipe your blood all over yourself.");
996 sprintf(buf2,
"%s performs some satanic ritual while wiping his blood on himself.", op->
name);
1000 sprintf(buf,
"My god! is that LEGAL?");
1001 sprintf(buf2,
"You look away from %s.", op->
name);
1012 "%s is not around.",
1013 "%s is not around.",
int command_smile(object *op, char *params)
int command_spit(object *op, char *params)
int command_clap(object *op, char *params)
int command_pout(object *op, char *params)
void ext_info_map_except2(int color, const mapstruct *map, const object *op1, const object *op2, int type, int subtype, const char *str1, const char *str2)
int command_bleed(object *op, char *params)
int command_blush(object *op, char *params)
int command_snore(object *op, char *params)
int command_smirk(object *op, char *params)
int command_tell(object *op, char *params)
int command_puke(object *op, char *params)
int command_say(object *op, char *params)
int command_shake(object *op, char *params)
void draw_ext_info(int flags, int pri, const object *pl, uint8 type, uint8 subtype, const char *message, const char *oldmessage)
int command_snap(object *op, char *params)
int command_groan(object *op, char *params)
player * find_player(const char *plname)
int command_hiccup(object *op, char *params)
int command_strut(object *op, char *params)
static const char *const orcknuckle[7]
int command_giggle(object *op, char *params)
void draw_ext_info_format(int flags, int pri, const object *pl, uint8 type, uint8 subtype, const char *new_format, const char *old_format,...)
int command_cringe(object *op, char *params)
int command_laugh(object *op, char *params)
int command_grin(object *op, char *params)
int command_bow(object *op, char *params)
int command_cry(object *op, char *params)
#define MSG_TYPE_COMMUNICATION_SHOUT
int command_reply(object *op, char *params)
int command_twiddle(object *op, char *params)
int command_snicker(object *op, char *params)
int command_flip(object *op, char *params)
int rndm(int min, int max)
#define MSG_TYPE_COMMUNICATION_EMOTE
int command_wink(object *op, char *params)
int command_dance(object *op, char *params)
sstring find_string(const char *str)
int command_scream(object *op, char *params)
static int command_tell_all(object *op, char *params, int pri, int color, int subtype, const char *desc)
int command_shout(object *op, char *params)
static int basic_emote(object *op, char *params, int emotion)
int command_sneeze(object *op, char *params)
void communicate(object *op, const char *txt)
#define MSG_TYPE_COMMUNICATION_TELL
int command_beg(object *op, char *params)
int command_bounce(object *op, char *params)
int die_roll(int num, int size, const object *op, int goodbad)
int command_me(object *op, char *params)
int command_yawn(object *op, char *params)
int execute_global_event(int eventcode,...)
#define MSG_TYPE_COMMUNICATION_ME
int command_cough(object *op, char *params)
int command_hug(object *op, char *params)
int command_gasp(object *op, char *params)
int command_lick(object *op, char *params)
#define QUERY_FLAG(xyz, p)
int command_accuse(object *op, char *params)
int command_glare(object *op, char *params)
int strncasecmp(const char *s1, const char *s2, int n)
int command_dmtell(object *op, char *params)
int command_sulk(object *op, char *params)
int command_sniff(object *op, char *params)
void ext_info_map_except(int color, const mapstruct *map, const object *op, uint8 type, uint8 subtype, const char *str1, const char *str2)
int command_shrug(object *op, char *params)
int snprintf(char *dest, int max, const char *format,...)
int command_thank(object *op, char *params)
#define MSG_TYPE_COMMUNICATION_RANDOM
int command_slap(object *op, char *params)
int command_burp(object *op, char *params)
int command_chat(object *op, char *params)
#define MSG_TYPE_COMMUNICATION
int command_kiss(object *op, char *params)
int command_cointoss(object *op, char *params)
int command_nod(object *op, char *params)
int command_sigh(object *op, char *params)
#define MSG_TYPE_COMMUNICATION_CHAT
int command_frown(object *op, char *params)
EXTERN player * first_player
int command_think(object *op, char *params)
int command_cackle(object *op, char *params)
int command_whistle(object *op, char *params)
static int do_tell(object *op, char *params, int adjust_listen)
int command_shiver(object *op, char *params)
int command_wave(object *op, char *params)
player * find_player_partial_name(const char *plname)
#define MSG_TYPE_COMMAND_ERROR
int command_chuckle(object *op, char *params)
void ext_info_map(int color, const mapstruct *map, uint8 type, uint8 subtype, const char *str1, const char *str2)
int command_growl(object *op, char *params)
int command_poke(object *op, char *params)