inherit "std/object"; /* ** PLEASE NOTE !!! ** ** If you are modifying this file, be sure ** to define SOUL_ERROR_CHECKS in /global/psoul.c until ** you are sure your modifications work. ** ** ALSO NOTE: If you do not log your modifications in soul.log, it ** is more likely than not that your changes will be overwritten. ** ** ** MODIFICATIONS: ** 93-08-06: Phretys ** Header comments were modified so that they're more understandable. ** Lots of misspellings and typos have been fixed! ** Long adjective/adverb/whatever lists have been alphabetized for easy ** reference. ** Commands ending in ! ? " . should no longer get a . appended to it. ** ** 93-08-30: Bannor ** Merged new Discworld soul.c with current New Moon code. I think ** I got all the mods that Phretys did in this new code. This mainly ** adds functionality to soul_command() so that responsive monsters ** will work. */ /* * Ok format... * * Non-targeted version (i.e. "sigh"): * name ({ your str, everyone str }) * Targeted-only version (i.e. "admire"): * name ({ your str, target str, everyone str }) * One or two args (i.e. "ack"): * name ({ your str, everyone str, your str, target str, everyone str }) * * For cases where the male and female versions are different: * [I don't think this case is even used -- Phretys] * name ({ ({ as above }), ({ as above }) }) * works on target's gender. Should really be the two arg only version. * hmmm going to need some actual processing. * * 0 == search for living name only * 1 == search for extra arg and living name * 2 == search for living name and extra arg * 3 == search for extra arg only * * Subject Target * ---------- ---------- * Capitalized name: $mcname$ $hcname$ * Name: $mname$ $hname$ * Subjective pronoun [he/she/it]: $mpronoun$ $hpronoun$ * Possessive pronoun [his/her/its]: $mposs$ $hposs$ * Objective pronoun [him/her/it]: $mobj$ $hobj$ */ #define PUNCT ({ "!", "?", "\"", "." }) mapping soul_data; string lastarg, calc_long, global_adj; mapping query_soul_data() { return soul_data + ([ ]); } int query_soul_command( string str ) { if( !str ) str = "I've got a luvverly bunch of coconuts"; return !undefinedp( soul_data[ str ] ); } create() { ::create(); set_name( "soul" ); set_short( 0 ); move( "/room/void" ); global_adj = ",absentmindedly,angrily,brightly,broadly,carefully,"+ "cattily,coldly,completely,condescendingly,crookedly,curtly,cutely,"+ "demonically,differently,disappointedly,disturbingly,dreamily,"+ "drunkenly,enthusiastically,excitedly,"+ "faintly,fishily,fleetingly,frogily,garishly,happily,humbly,"+ "idiotically,imaginatively,incandescently,innocently,insanely,"+ "insolently,ironically,in triumph,"+ "lazily,like a train,lividly,lopsidedly,loudly,lovingly,"+ "maliciously,manically,maybe,nastily,nervously,"+ "paradoxically,paranoiacally,patiently,plastically,pleasantly,"+ "quietly,quirkily,radiantly,"+ "sadistically,sadly,sarcastically,sardonically,seductively,"+ "serenely,slightly,slowly,slyly,softly,spasmodically,strangely,"+ "stupidly,sweetly,tightly,unbelievably,unconsciously,"+ "viciously,warily,warmly,weakly,winningly,with forced patience,"+ "with menace,wryly,gosh there are lots of arguments"; soul_data = ([ "911": ({ 0, ({ "You dial 911", "$mcname$ dials 911", }) }), "accuse": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "%s of %s" }), ({ "$ifarg:You accuse $arg:#$$else$The butler did it!~$", "$mcname$ $ifarg:accuses $lastarg$$else$accuses the butler~$", "You accuse $hcname$$ifarg: of $arg:#$~$", "$mcname$ accuses you$ifarg: of $lastarg$~$", "$mcname$ accuses $hcname$$ifarg: of $lastarg$~$" }) }), "ack": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You ack$ifarg: $arg:carefully,happily,seductively$~$", "$mcname$ acks$ifarg: $lastarg$~$", "You ack$ifarg: $arg:carefully,happily,seductively$~$ at "+ "$hcname$", "$mcname$ acks$ifarg: $lastarg$~$ at you", "$mcname$ acks$ifarg: $lastarg$~$ at $hcname$", }) }), "admire": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You admire $hcname$$ifarg: $arg:from afar,#$~$", "$mcname$ admires you$ifarg: $lastarg$~$", "$mcname$ admires $hcname$$ifarg: $lastarg$~$", }), }), "afk": ({ ({ 3, "%s", 3, "for %s", 0, "%s", 2, "%s %s", 2, "%s for %s" }), ({ "You say, \"I'll be away from the keyboard "+ "$arg:for a while,#$...\"", "$mcname$ says, \"I'll be away from the keyboard "+ "$lastarg$...\"", "You say, \"$hcname$, I'll be away from the keyboard "+ "$arg:for a while,#$...\"", "$mcname$ says, \"$hcname$, I'll be away from the keyboard "+ "$lastarg$...\"", "$mcname$ says, \"$hcname$, I'll be away from the keyboard "+ "$lastarg$...\"" }) }), "agree": ({ ({ 3, "%s", 0, "%s", 0, "with %s", 2, "%s %s", 2, "with %s %s", 1, "%s %s", 1, "%s with %s" }), ({ "You agree $arg:wholeheartedly,partially,wearily$", "$mcname$ agrees $lastarg$", "You agree$ifarg: $arg:wholeheartedly,partially,wearily$~$"+ " with $hcname$", "$mcname$ agrees$ifarg: $lastarg$~$ with you", "$mcname$ agrees$ifarg: $lastarg$~$ with $hcname$" }) }), "apologize":({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "to %s %s", 1, "%s %s", 1, "%s to %s" }), ({ "You apologize $arg:profusely,carefully,curtly,drunkenly,"+ "facetiously,fishily,happily,humbly,partially,"+ "perfunctorily,pompously,professionally,reservedly,"+ "sadly,slowly,spontaneously,sulkily,thoroughly,twice,"+ "unhappily,unnecessarily,viciously,wearily,wholeheartedly$", "$mcname$ apologizes $lastarg$", "You apologize $arg:profusely,carefully,curtly,drunkenly,"+ "facetiously,fishily,happily,humbly,partially,"+ "perfunctorily,pompously,professionally,reservedly,"+ "sadly,slowly,spontaneously,sulkily,thoroughly,twice,"+ "unhappily,unnecessarily,viciously,wearily,wholeheartedly$"+ " to $hcname$", "$mcname$ apologizes $lastarg$ to you", "$mcname$ apologizes $lastarg$ to $hcname$" }) }), "applaud": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You applaud $arg:wholeheartedly,briefly,loudly,softly,vaguely$", "$mcname$ applauds $lastarg$", "You applaud $hcname$ $arg:wholeheartedly,briefly,loudly,softly,"+ "vaguely$", "$mcname$ applauds you $lastarg$", "$mcname$ applauds $hcname$ $lastarg$" }) }), "astound": ({ ({ 0, "%s", 2, "%s with %s", 2, "%s %s" }), ({ "You are astounded!", "$mcname$ is astounded!", "You astound $hcname$$ifarg: with your $arg:cleverness,stupidity,"+ "thoughtfulness$~$!", "$mcname$ astounds you$ifarg: with $mposs$ $lastarg$~$!", "$mcname$ astounds $hcname$$ifarg: with $mposs$ $lastarg$~$" }) }), "back": ({ ({ 0, "%s" }), ({ "You say, \"I'm back!\"", "$mcname$ says, \"I'm back!\"", "You say, \"$hcname$, I'm back!\"", "$mcname$ says, \"$hcname$, I'm back!\"", "$mcname$ says, \"$hcname$, I'm back!\"" }) }), "bark": ({ ({ 3, "%s", 3, "like a %s" }), ({ "You bark like a $arg:dog,bull terrier,cat,german shepherd,"+ "hunting dog,labrador,train,tree,wolf,something else that barks$", "$mcname$ barks like a $lastarg$", }) }), "bbl": ({ ({ 0, "%s" }), ({ "You say, \"I'll be back later!\"", "$mcname$ says, \"I'll be back later!\"", "You say, \"$hcname$, I'll be back later!\"", "$mcname$ says, \"$hcname$, I'll be back later!\"", "$mcname$ says, \"$hcname$, I'll be back later!\"" }) }), "beam": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You beam $arg:brightly,admiringly,ecstatically,fishily,happily,"+ "strangely,like a train$", "$mcname$ beams $lastarg$", "You beam at $hcname$$ifarg: $arg:brightly,admiringly,"+ "ecstatically,fishily,happily,strangely,like a train$~$", "$mcname$ beams at you$ifarg: $lastarg$~$", "$mcname$ beams at $hcname$$ifarg: $lastarg$~$", }) }), "beep": ({ ({ 3, "%s", 0, "%s", 2, "%s %s" }), ({ "You beep $arg:happily,#$", "$mcname$ beeps $arg:happily,#$", "You beep $hcname$ $arg:on the nose,with your horn$", "$mcname$ beeps you $lastarg$", "$mcname$ beeps $hcname$ $lastarg$" }) }), "beg": ({ ({ 3, "%s", 3, "like a %s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 2, "at %s like a %s", 1, "%s %s", 1, "%s at %s", 1, "like a %s at %s" }), ({ "You beg like a $arg:dog,alsatian,banshee,beggar,bloodhound,"+ "cannibal,cat,chicken,chihuahua,chimpanzee,cow,dingo,dolphin,"+ "fish,frisbee,frog,german shepherd,husky,labrador,large bear,"+ "lassie,librarian,noble man,poodle,orangutan,saint bernard,"+ "train,virgin mary,wolf$", "$mcname$ begs like a $lastarg$", "You beg like a $arg:dog,alsatian,banshee,beggar,bloodhound,"+ "cannibal,cat,chicken,chihuahua,chimpanzee,cow,dingo,dolphin,"+ "fish,frisbee,frog,german shepherd,husky,labrador,large bear,"+ "lassie,librarian,noble man,poodle,orangutan,saint bernard,"+ "train,virgin mary,wolf$"+ " at $hcname$", "$mcname$ begs like a $lastarg$ at you", "$mcname$ begs like a $lastarg$ at $hcname$", }) }), "belch": ({ ({ 3, "%s" }), ({ "You belch $arg:loudly,disgustingly,faintly,rudely$", "$mcname$ belches $lastarg$" }) }), "bing": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You bing $arg:happily,balefully,brightly,carefully,excitedly,"+ "grumpily,joyfully,knowingly,loudly,nervously,quickly,"+ "sadly,sagely,threateningly,uncertainly$", "$mcname$ bings $lastarg$", "You bing $arg:happily,balefully,brightly,carefully,excitedly,"+ "grumpily,joyfully,knowingly,loudly,nervously,quickly,"+ "sadly,sagely,threateningly,uncertainly$"+ " at $hcname$", "$mcname$ bings $lastarg$ at you", "$mcname$ bings $lastarg$ at $hcname$" }) }), "bird": ({ ({ 0, "%s" }), ({ "You raise your middle finger and give $hcname$ the bird", "$mcname$ raises $mposs$ middle finger and gives you the bird", "$mcname$ raises $mposs$ middle finger and gives $hcname$ the "+ "bird" }) }), "bite": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You bite yourself", "$mcname$ bites $mobj$self", "You bite $hcname$$ifarg: $arg:hard,carefully,casually,excitedly,"+ "gently,happily,hungrily,like a dog,lovingly,mercilessly,"+ "mischievously,nastily,objectively,pointlessly,politely,"+ "professionally,refreshingly,ruthlessly,softly,sulkily,sweetly,"+ "thoughtfully,uncertainly,wolfishly,"+ "on the ankle,on the arm,on the ear,on the finger,on the leg,"+ "on the neck,on the nose,on the toe$~$!", "$mcname$ bites you$ifarg: $lastarg$~$!", "$mcname$ bites $hcname$$ifarg: $lastarg$~$!", }) }), "blame": ({ ({ 0, "%s", 2, "%s for %s", 2, "%s %s", 1, "%s %s" }), ({ "You blame $ifarg:$hcname$ for $arg:#$$else$it all on $hcname$~$", "$mcname$ blames $ifarg:you for $lastarg$"+ "$else$it all on you~$", "$mcname$ blames $ifarg:$hcname$ for $lastarg$"+ "$else$it all on $hcname$~$", }), }), "bleah": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s at %s", 1, "%s %s" }), ({ "You bleah$ifarg: $arg:disgustedly,resignedly,sadly,tiredly$~$", "$mcname$ bleahs$ifarg: $lastarg$~$", "You bleah$ifarg: $arg:disgustedly,resignedly,sadly,tiredly$~$"+ " at $hcname$", "$mcname$ bleahs$ifarg: $lastarg$~$ at you", "$mcname$ bleahs$ifarg: $lastarg$~$ at $hcname$" }) }), "bleat": ({ ({ 3, "%s", }), ({ "You bleat $arg:like a lamb,helplessly,painfully,quietly,"+ "rapidly,sadly,slowly,for breakfast$", "$mcname$ bleats $lastarg$" }), }), "bleed": ({ ({ 3, "%s" }), ({ "$ifarg:Your $arg:heart,leg,arm,head,ear,nose$ bleeds profusely"+ "$else$You bleed~$", "$ifarg:$mcname$'s $lastarg$ bleeds profusely"+ "$else$$mcname$ bleeds~$", }) }), "blink": ({ ({ 3, "%s" }), ({ "You blink$ifarg: $arg:carefully,owlishly,slowly,in disbelief$~$", "$mcname$ blinks$ifarg: $lastarg$~$" }) }), "blush": ({ ({ 3, "%s" }), ({ "You blush $arg:in embarrassment,comfortably,redly,slightly$", "$mcname$ blushes $lastarg$" }) }), "boggle": ({ ({ 3, "%s", 0, "%s", 0, "at %s" }), ({ "You boggle at $arg:the concept,#$", "$mcname$ boggles at $lastarg$", "You boggle at $hcname$", "$mcname$ boggles at you", "$mcname$ boggles at $hcname$", }) }), "bonk": ({ ({ 0, "%s", 2, "%s %s", 2, "%s on %s", 2, "%s on the %s" }), ({ "You bonk yourself on the head", "$mcname$ bonks $mobj$self on the head", "You bonk $hcname$ on the $arg:head,arm,cabbage$", "$mcname$ bonks you on the $lastarg$", "$mcname$ bonks $hcname$ on the $lastarg$" }) }), "bop": ({ ({ 0, "%s" }), ({ "You bop to the beat", "$mcname$ bops to the beat", "You bop $hcname$ on the head", "$mcname$ bops you on the head", "$mcname$ bops $hcname$ on the head" }) }), "bounce": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s", 1, "%s around %s" }), ({ "$ifarg:You bounce around $arg:excitedly,fearfully,happily$"+ "$else$You bounce around.\nB O I N G ! !~$", "$mcname$ bounces around$ifarg: $lastarg$~$", "You bounce around $hcname$"+ "$ifarg: $arg:happily,carefully,excitedly,happily,joyfully,"+ "once,sarcasticaly,slowly,suggestively,viciously,wildly$~$", "$mcname$ bounces around you$ifarg: $lastarg$~$", "$mcname$ bounces around $hcname$$ifarg: $lastarg$~$", }) }), "bow": ({ ({ 3, "%s", 0, "%s", 0, "to %s", 2, "%s %s", 2, "to %s %s", 1, "%s %s", 1, "%s to %s" }), ({ "You bow $arg:gracefully,clumsily,colorfully,deeply,dextrously,"+ "disgustedly,flamboyantly,floridly,formally,hastily,"+ "insolently,slightly,solemnly,wildly,with a flourish$", "$mcname$ bows $lastarg$", "You bow $arg:gracefully,clumsily,colorfully,deeply,dextrously,"+ "disgustedly,flamboyantly,floridly,formally,hastily,"+ "insolently,slightly,solemnly,wildly,with a flourish$"+ " to $hcname$", "$mcname$ bows $lastarg$ to you", "$mcname$ bows $lastarg$ to $hcname$" }) }), "brb": ({ ({ 0, "%s" }), ({ "You hold up a finger and say, \"I'll be right back...\"", "$mcname$ holds up a finger and says, \"I'll be right back...\"", "You hold up a finger and say, \"$hcname$, I'll be right back...\"", "$mcname$ hold up a finger and says, \"$hcname$, I'll be right "+ "back...\"", "$mcname$ hold up a finger and says, \"$hcname$, I'll be right "+ "back...\"" }) }), "breakdance":({ 0, ({ "You do a really complicated break-dance maneuver", "$mcname$ does a really complicated break-dance maneuver", }) }), "breathe": ({ ({ 3, "%s", }), ({ "You breathe $arg:deeply,carefully,heatedly,heavily,nastily,once,"+ "painfully,quickly,seductively,slowly$", "$mcname$ breathes $lastarg$", }) }), "bubble": ({ ({ 0, "%s", 0, "at %s" }), ({ "I'm forever blowing bubbles!", "$mcname$ starts to blow bubbles", "You blow bubbles at $hcname$", "$mcname$ blows bubbles at you", "$mcname$ blows bubbles at $hcname$" }) }), "burn": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You set fire to yourself", "$mcname$ sets fire to $mobj$self", "You set fire to $mhcname$ $arg:hair,leg,arm,nose,teeth,frog,carpet,"+ "net lag,fish,invis,bed,ego,eyes,house,furniture,tongue,keyboard,"+ "brain,code,ideas,hopes,dreams,cat,personality,desires,beliefs$", "$mcname$ sets fire to your $lastarg$", "$mcname$ sets fire to $mhcname$ $lastarg$", }), }), "burp": ({ ({ 3, "%s" }), ({ "You burp$ifarg: $arg:disgustingly,faintly,loudly,rudely$~$", "$mcname$ burps$ifarg: $lastarg$~$" }) }), "cackle": ({ ({ 3, "%s" }), ({ "You cackle $ifarg:$arg:despairingly,evilly,maniacally,"+ "mischievously,nastily,like an old hag$"+ "$else$with glee!~$", "$mcname$ $ifarg:cackles $lastarg$"+ "$else$throws back $mposs$ head and cackles with glee!~$" }) }), "calm": ({ ({ 0, "%s", 0, "%s down" }), ({ "You calm down", "$mcname$ calms down", "You calm $hcname$ down", "$mcname$ calms you down", "$mcname$ calms down $hcname$", }) }), "caper": ({ ({ 3, "%s", 3, "like a %s" }), ({ "You caper around$ifarg: like a $arg:bimbo,blonde,blubbering idiot,"+ "chicken,fool,frog on the run,gorilla,happy bum,jester,man,"+ "madman,madperson,madwoman,maniac,seductress,woman$"+ "$else$ madly~$", /* giggle */ "$mcname$ capers around$ifarg: like a $lastarg$$else$ madly~$", }) }), "caress": ({ ({ 0, "%s", 2, "%s %s", }), ({ "You caress $hcname$$ifarg: $arg:eagerly,gently,firmly,"+ "lovingly,politely,reluctantly,seductively,sensually,slightly,"+ "strangely,suggestively,vigorously,violently,vivaciously$"+ "$else$ gently on $hposs$ cheek~$", "$mcname$ caresses you$ifarg: $lastarg$"+ "$else$ gently on the cheek~$", "$mcname$ caresses $hcname$$ifarg: $lastarg$"+ "$else$ gently on $hposs$ cheek~$", }) }), "challenge": ({ ({ 0, "%s", }), ({ "Make your own challenges to $hcname$", "You turn $mcname$ into a fish", "$hcname$ turns $mcname$ into a fish", }) }), "chastise": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You chastise $hcname$$ifarg: $arg:absolutely,argumentatively,"+ "calmly,carefully,cunningly,destructively,eagerly,"+ "enthusiasticaly,excitedly,firmly,imaginatively,insanely,"+ "insistantly,irrationaly,loudly,lovingly,madly,offhandedly,"+ "politely,rationaly,reluctantly,suggestively,thoughtlessly,"+ "understandably,unexpectedly,unmercifully$~$", "$mcname$ chastises you$ifarg: $lastarg$~$", "$mcname$ chastises $hcname$$ifarg: $lastarg$~$", }), }), "cheer": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You cheer $ifarg:$arg:calmly,carefully,enthusiastically,"+ "excitedly,happily,loudly,politely,quietly,unconvincingly,"+ "slightly,up$"+ "$else$wildly!~$", "$mcname$ cheers $ifarg:$lastarg$$else$wildly!~$", "You cheer $ifarg:$arg:enthusiastically at,calmly at,carefully at,"+ "excitedly at,happily at,loudly at,politely at,quietly at,"+ "slightly at,wildly at,unconvincingly at$$else$up~$ $hcname$", "$mcname$ cheers $ifarg:$lastarg$ you$else$you up~$", "$mcname$ cheers $ifarg:$lastarg$ $hcname$$else$you up~$", }) }), "choke": ({ ({ 0, "%s" }), ({ "You choke", "$mcname$ chokes", "You choke $hcname$!", "$mcname$ chokes you!", "$mcname$ chokes $hcname$$force#breathe pain#2$" }) }), "chortle": ({ ({ 3, "%s" }), ({ "You chortle$ifarg: $arg:in joy$~$", "$mcname$ chortles$ifarg: $lastarg$~$", }), }), "chuckle": ({ ({ 3, "%s" }), ({ "You chuckle $arg:politely,demonically,nastily$", "$mcname$ chuckles $lastarg$" }) }), "clap": ({ ({ 3, "%s" }), ({ "You clap your hands $arg:briefly,enthusiasticaly,halfheartedly,loudly$", "$mcname$ claps $mposs$ hands $lastarg$" }) }), "clasp": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You clasp$ifarg: $mhcname$ hand $arg:tightly,happily,loosely,"+ "lovingly,passionately,prudently,seductively,wetly$"+ "$else$ $hcname$~$", "$mcname$ clasps$ifarg: your hand $lastarg$$else$ you~$", "$mcname$ clasps$ifarg: $mhcname$ hand $lastarg$$else$ $hcname$~$", }), }), "click": ({ ({ 3, "%s" }), ({ "You click your $arg:fingers,heels,teeth$", "$mcname$ clicks $mposs$ $lastarg$", }), }), "collapse":({ ({ 3, "%s" }), ({ "You collapse $arg:in a heap,from exhaustion,onto the floor$", "$mcname$ collapses $lastarg$" }), }), "comfort": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You comfort $hcname$$ifarg: $arg:anxiously,carefully,completely,"+ "delicately,eagerly,gently,halfheartedly,lovingly,"+ "mischievously,sadly,sincerely,tenderly,twice,vaguely,"+ "wholeheartly,in earnest,like someone else,with your frog$~$", "$mcname$ comforts you$ifarg: $lastarg$~$", "$mcname$ comforts $hcname$$ifarg: $lastarg$~$" }) }), "confess": ({ ({ 3, "%s" }), ({ "You confess $ifarg:$arg:#$$else$to being a witch~$", "$mcname$ confesses $ifarg:$lastarg$$else$to being a witch!\n"+ "Burn $mobj$!~$", }), }), "congrat": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You$ifarg: $arg:heartily,warmly$~$ congratulate everyone", "$mcname$$ifarg: $lastarg$~$ congratulates everyone", "You$ifarg: $arg:heartily,warmly$~$ congratulate $hcname$", "$mcname$$ifarg: $lastarg$~$ congratulates you", "$mcname$$ifarg: $lastarg$~$ congratulates $hcname$" }) }), "congratulate": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You$ifarg: $arg:heartily,warmly$~$ congratulate everyone", "$mcname$$ifarg: $lastarg$~$ congratulates everyone", "You$ifarg: $arg:heartily,warmly$~$ congratulate $hcname$", "$mcname$$ifarg: $lastarg$~$ congratulates you", "$mcname$$ifarg: $lastarg$~$ congratulates $hcname$" }) }), "cough": ({ ({ 3, "%s" }), ({ "You cough$ifarg: $arg:incessantly,noisily,up a lung$~$", "$mcname$ coughs$ifarg: $lastarg$~$" }) }), "cower": ({ ({ 3, "%s" }), ({ "You cower $arg:in fear,fearfully,nastily,pitifully,"+ "shyly,slyly,in a corner,in shame$", "$mcname$ cowers $lastarg$", }), }), "cringe": ({ ({ 3, "%s" }), ({ "You cringe$ifarg: in $arg:terror,anticipation,disgust,"+ "embarrassment,fear$~$", "$mcname$ cringes$ifarg: in $lastarg$~$" }) }), "croak": ({ 0, ({ "\"Ribbit!\"", "$mcname$ croaks, \"Ribbit!\"" }) }), "cross": ({ ({ 3, "%s", 3, "my %s" }), ({ "You cross your $arg:fingers,arms,eyes,heart,legs$", "$mcname$ crosses $mposs$ $lastarg$", }) }), "crowd": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "%s into %s", 1, "%s %s" }), ({ "The crowd goes $arg:wild,#$", "The crowd goes $arg:wild,#$", "You crowd $hcname$ into $arg:a corner,#$", "$mcname$ crowds you into $lastarg$", "$mcname$ crowds $hcname$ into $lastarg$" }) }), "cry": ({ 0, ({ "Waaahhhhhh!", "$mcname$ bursts into tears" }) }), "cuddle": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You cuddle $hcname$$ifarg: $arg:comfortingly,dreamily,happily,"+ "innocently,lovingly,protectively,softly$~$", "$mcname$ cuddles you$ifarg: $lastarg$~$", "$mcname$ cuddles $hcname$$ifarg: $lastarg$~$" }) }), "curse": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You curse$ifarg: $arg:loudly,rudely,strongly,unashamedly,#$~$", "$mcname$ curses$ifarg: $lastarg$~$", "You curse$ifarg: $arg:loudly,rudely,strongly,unashamedly,#$~$ at "+ "$hcname$", "$mcname$ curses$ifarg: $lastarg$ at~$ you", "$mcname$ curses$ifarg: $lastarg$~$ at $hcname$" }) }), "curtsey": ({ ({ 3, "%s", 0, "%s", 0, "to %s", 0, "before %s", 2, "before %s %s", 2, "to %s %s", 2, "%s %s", 1, "%s to %s", 1, "%s before %s", 1, "%s %s" }), ({ "You curtsy$ifarg: $arg:gracefully,humbly,quickly,low,slightly$~$", "$mcname$ curtsies$ifarg: $lastarg$~$", "You curtsy$ifarg: $arg:gracefully,humbly,quickly,low,slightly$~$"+ " to $hcname$", "$mcname$ curtsies$ifarg: $lastarg$~$ before you", "$mcname$ curtsies$ifarg: $lastarg$~$ to $hcname$" }) }), "curtsy": ({ ({ 3, "%s", 0, "%s", 0, "to %s", 0, "before %s", 2, "before %s %s", 2, "to %s %s", 2, "%s %s", 1, "%s to %s", 1, "%s before %s", 1, "%s %s" }), ({ "You curtsy $arg:gracefully,humbly,low,quickly,slightly$", "$mcname$ curtsies $lastarg$", "You curtsy $arg:gracefully,humbly,low,quickly,slightly$"+ " to $hcname$", "$mcname$ curtsies $lastarg$ before you", "$mcname$ curtsies $lastarg$ to $hcname$" }) }), "dance": ({ ({ 0, "%s", 0, "with %s" }), ({ "You do the disco duck.\nFeels silly, doesn't it?", "$mcname$ dances the disco duck", "You sweep $hcname$ across the dance floor", "$mcname$ sweeps you across the dance floor", "$mcname$ sweeps $hcname$ across the dance floor" }) }), "daydream": ({ ({ 3, "%s", 3, "of %s", }), ({ "You daydream$ifarg: of $arg:#$~$", "$mcname$ daydreams$ifarg: of $lastarg$~$", }) }), "die": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You die $arg:an excruciating death,dramatically,gracefully,"+ "laughing,painfully,pathetically,senselessly,slowly,stupidly,"+ "suddenly,tragically,of anticipation,of boredom,of hunger$", "$mcname$ dies $lastarg$", "You die$ifarg: $arg:an excruciating death,dramatically,gracefully,"+ "laughing,painfully,pathetically,senselessly,slowly,stupidly,"+ "suddenly,tragically,of anticipation,of boredom,of hunger$~$"+ " in $mhcname$ general direction", "$mcname$ dies$ifarg: $lastarg$~$ in your general direction", "$mcname$ dies$ifarg: $lastarg$~$ in $mhcname$ general direction" }) }), "disagree": ({ ({ 0, "%s", 0, "with %s" }), ({ "You disagree with $hcname$", "$mcname$ disagrees with you", "$mcname$ disagrees with $hcname$", }), }), "dribble": ({ ({ 0, "%s", 0, "on %s", 0, "all over %s" }), ({ "You start to dribble all over the front of your shirt", "$mcname$ starts to dribble all over the front of $mposs$ shirt", "You start dribbling on $hcname$", "$hcname$ starts dribbling all over your best shirt", "$mcname$ starts dribbling all over $hcname$" }) }), "drool": ({ ({ 0, "%s", 0, "on %s" }), ({ "You start to drool", "$mcname$ starts to drool", "You drool all over $hcname$", "$mcname$ drools all over you", "$mcname$ drools all over $hcname$" }) }), "duck": ({ ({ 3, "%s" }), ({ "You duck $arg:for cover,badly,carefully,inappropriately,"+ "pointlessly,quickly,sadly,slowly,the snowball$", "$mcname$ ducks $lastarg$" }) }), "duh": ({ 0, ({ "You slap your forehead and scream, \"Duh!\"", "$mcname$ slaps $mposs$ forehead and screams, \"Duh!\"", }) }), "eek": ({ ({ 3, "%s" }), ({ "You eek$ifarg: $arg:brightly,carefully,happily,in amazement,"+ "in shock,loudly,sadly$$else$!!!~$", "$mcname$ eeks$ifarg: $lastarg$$else$!!!~$", }), }), "envy": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s", }), ({ "You turn green with envy", "$mcname$ turns green with envy", "You envy $mhcname$ $arg:frog,#$", "$mcname$ envies your $lastarg$", "$mcname$ envies $mhcname$ $lastarg$", }), }), "exp": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You raise yourself to the power of $ifarg:$arg:#$$else$2~$", "$mcname$ raises $mobj$self to a random power", "You raise $hcname$ to the power of $ifarg:$arg:#$$else$2~$", "$mcname$ raises you to the power of $ifarg:$lastarg$$else$2~$", "$mcname$ raises $hcname$ to the power of $ifarg:$lastarg$"+ "$else$2~$" }) }), "expect": ({ ({ 0, "%s", 0, "at %s" }), ({ "You look expectantly at $hcname$", "$mcname$ looks expectantly at you", "$mcname$ looks expectantly at $hcname$" }) }), "explode": ({ 0, ({ "You explode into thousands of tiny pieces", "$mcname$ explodes into thousands of tiny pieces", }) }), "eye": ({ ({ 0, "%s" }), ({ "You eye $hcname$ over", "$mcname$ eyes you over", "$mcname$ eyes $hcname$ over", }), }), "faint": ({ ({ 3, "%s", 0, "%s", 0, "on %s" }), ({ "You faint$ifarg: $arg:tiredly,from exhaustion,out of boredom$~$"+ ".\nTHUNK!", "$mcname$ faints$ifarg: $lastarg$~$.\nTHUNK!", "You faint into $mhcname$ arms", "$mcname$ faints into your arms", "$mcname$ faints into $mhcname$ arms" }) }), "fall": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "on %s %s", 1, "%s %s", 1, "%s on %s" }), ({ /* * NOTE: non-targeted fall was coded this way deliberately! hehehe */ "You fall over$ifarg: $arg:accidentally,awkwardly,backwards,"+ "happily,painfully,purposefully,quickly,rapidly,sadly$~$", "You fall over$ifarg: $lastarg$~$", "You fall $ifarg:$arg:accidentally,happily,heavily,quickly,"+ "slowly,twice$ on $hcname$$else$for $hcname$~$", "$mcname$ falls $ifarg:$lastarg$ on you$else$for you~$", "$mcname$ falls $ifarg:$lastarg$ on $hcname$"+ "$else$for $hcname$~$", }), }), "fart": ({ 0, ({ "You fart", "$mcname$ farts" }) }), "fiddle": ({ ({ 3, "%s", 3, "with %s" }), ({ "You fiddle with $ifarg:$arg:#$$else$something~$", "$mcname$ fiddles with $ifarg:$arg:#$$else$something~$", }), }), "fish": ({ ({ 3, "%s", 3, "for %s", 0, "%s", 0, "in %s", 0, "in %s's pockets", 2, "%s %s", 2, "in %s's pockets for %s", 1, "for %s in %s's pockets", 1, "for %s in %s", 1, "%s in %s" }), ({ "You fish around in your pockets$ifarg: for $arg:#$~$", "$mcname$ fishes around in $mposs$ pockets$ifarg: for $lastarg$~$", "You fish around in $mhcname$ pockets$ifarg: for $arg:#$~$", "$mcname$ fishes around in your pockets$ifarg: for $lastarg$~$", "$mcname$ fishes around in $mhcname$ pockets"+ "$ifarg: for $lastarg$~$" }) }), "flap": ({ ({ 3, "%s" }), ({ "You flap your $arg:ears,arms,wings,eyelashes$", "$mcname$ flaps $mposs$ $lastarg$" }) }), "flash": ({ ({ 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You flash your naughty bits at $hcname$$ifarg: $arg:gratuitously,"+ "naughtily,seductively,like a Worzel,#$~$", "$mcname$ flashes $mposs$ naughty bits at you$ifarg: $lastarg$~$", "$mcname$ flashes $mposs$ naughty bits at $hcname$$ifarg: $lastarg$~$" }) }), "flex": ({ ({ 3, "%s" }), ({ "You flex your $arg:muscles,biceps,triceps,legs,brain,nose,ears$."+ "\nEveryone is impressed", "$mcname$ flexes $mposs$ $lastarg$.\nEveryone is impressed", }) }), "flip": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You flip $arg:head over heels,around,awkwardly,backwards,"+ "carefully,digustingly,disturbingly,doggily,forwards,"+ "gracefully,over,quickly,sideways,slowly,twice,over the moon,"+ "around in a really complicated double back roll flip,"+ "half way around and land on your head...ouch!$", "$mcname$ flips $lastarg$", "You flip $hcname$ $arg:over,dangerously,off,spectacularly,"+ "viciously,head over heels,into the garbage bin$", "$mcname$ flips you $lastarg$", "$mcname$ flips $hcname$ $lastarg$" }) }), "flop": ({ ({ 3, "%s", 0, "%s" }), ({ "You flop about $arg:helplessly,badly,carefully,happily,"+ "impressively,lazily,once,pensively,rudely,suggestively,"+ "wonderfully,a bit,like a gherkin,like a fish out of water$", "$mcname$ flops about $lastarg$", "You flop on $hcname$", "$mcname$ flops on you", "$mcname$ flops on $hcname$" }) }), "fluster": ({ 0, ({ "You look flustered", "$mcname$ looks flustered", }) }), "flutter": ({ ({ 0, "%s" }), ({ "You flutter your eyelids", "$mcname$ flutters $mposs$ eyelids", "You flutter your eyelids at $hcname$", "$mcname$ flutters $mposs$ eyelids at you", "$mcname$ flutters $mposs$ eyelids at $hcname$", }) }), "fold": ({ ({ 3, "%s" }), ({ "You fold your arms$ifarg: $arg:arrogantly,carefully,decisively,"+ "half-heartedly,menacingly,quickly,slowly,snappily$~$", "$mcname$ folds $mposs$ arms$ifarg: $lastarg$~$" }), }), "fondle": ({ ({ 0, "%s", 2, "%s %s", 2, "%s's %s", 1, "%s %s" }), ({ "You fondle $ifarg:$mhcname$ $arg:#$$else$$hcname$~$", "$mcname$ fondles$ifarg: with your $lastarg$$else$ you~$", "$mcname$ fondles $ifarg:with $mhcname$ $lastarg$"+ "$else$$hcname$~$" }) }), "foo": ({ ({ 3, "%s" }), ({ "You $ifarg:foo $arg:vaguely,carefully,dangerously,slowly$"+ "$else$go, \"Foo!\"~$", "$mcname$ $ifarg:foos $lastarg$$else$goes, \"Foo!\"~$", }), }), "forgive": ({ ({ 0, "%s", 2, "%s %s", 2, "%s for %s", }), ({ "You forgive $hcname$$ifarg: $arg:#$~$", "$mcname$ forgives you$ifarg: $lastarg$~$", "$mcname$ forgives $hcname$$ifarg: $lastarg$~$", }), }), "french": ({ ({ 0, "%s" }), ({ "You give $hcname$ a deep and passionate kiss.\n"+ "It seems to last forever...", "$mcname$ gives you a deep and passionate kiss.\n"+ "It seems to last forever...", "$mcname$ gives $hcname$ a deep and passionate kiss.\n"+ "It seems to last forever..." }) }), "frog": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You frog around $arg:mindlessly,carefully,happily,silently,#$", "$mcname$ frogs around $lastarg$", "You $ifarg:$arg:slowly,carefully,excruciatingly,gleefully,"+ "happily,magically$ ~$turn $hcname$ into a frog!", "$mcname$ $ifarg:$lastarg$ ~$turns you into a frog!", "$mcname$ $ifarg:$lastarg$ ~$turns $hcname$ into a frog!"+ "$force#croak#3$" }) }), "froth": ({ 0, ({ "You froth at the mouth", "$mcname$ froths at the mouth" }) }), "frown": ({ ({ 3, "%s", 3, "in %s", 0, "%s" }), ({ "$ifarg:You frown in $arg:anger,concentration,depression,"+ "happiness,thought,like a cat,#$$else$Whats the problem?~$", "$ifarg:$mcname$ frowns in $lastarg$$else$$mcname$ frowns~$", "You frown at $hcname$", "$mcname$ frowns at you", "$mcname$ frowns at $hcname$" }) }), "fume": ({ ({ 3, "%s", }), ({ "You fume $arg:quietly,despairingly,insultingly,in anger,"+ "in frustration$", "$mcname$ fumes $lastarg$", }) }), "gasp": ({ ({ 3, "%s", 3, "in %s", }), ({ "You gasp in $arg:astonishment,exasperation,excitement,terror,"+ "fear,fright,pain$", "$mcname$ gasps in $lastarg$" }) }), "gesture": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You gesture $arg:wildly,carefully,deliberately,insanely,lovingly,"+ "mindlessly,mystically,nastily,oddly,pompously,ponderously,"+ "rapidly,slowly,strangely,suggestively,off into the distance,"+ "without moving$", "$mcname$ gestures $lastarg$", "You gesture $arg:wildly,carefully,deliberately,insanely,lovingly,"+ "mindlessly,mystically,nastily,oddly,pompously,ponderously,"+ "rapidly,slowly,strangely,suggestively,off into the distance,"+ "without moving$ at $hcname$", "$mcname$ gestures $lastarg$ at you", "$mcname$ gestures $lastarg$ at $hcname$", }) }), "gesticulate": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You gesticulate $arg:wildly,carefully,deliberately,insanely,lovingly,"+ "mindlessly,mystically,nastily,oddly,pompously,ponderously,"+ "rapidly,slowly,strangely,suggestively,off into the distance,"+ "without moving$", "$mcname$ gesticulates $lastarg$", "You gesticulate $arg:wildly,carefully,deliberately,insanely,lovingly,"+ "mindlessly,mystically,nastily,oddly,pompously,ponderously,"+ "rapidly,slowly,strangely,suggestively,off into the distance,"+ "without moving$ at $hcname$", "$mcname$ gesticulates $lastarg$ at you", "$mcname$ gesticulates $lastarg$ at $hcname$", }) }), "gibber": ({ 0, ({ "You gibber madly", "$mcname$ gibbers madly", }) }), "giggle": ({ ({ 3, "%s" }), ({ "You giggle$ifarg: $arg:cutely,fiendishly,idiotically,inanely,"+ "insanely,loudly,quietly,sarcastically,stupidly$~$", "$mcname$ giggles$ifarg: $lastarg$~$" }) }), "gigglesnort": ({ 0, ({ "You gigglesnort", "$mcname$ gigglesnorts", }) }), "glare": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You glare $arg:stonily,evilly,hotly,idiotically,intently,solemnly,"+ "sternly$ at the world in general", "$mcname$ glares $lastarg$ around $mobj$self", "You glare $arg:stonily,evilly,hotly,idiotically,intently,solemnly,"+ "sternly$ at $hcname$", "$mcname$ glares $lastarg$ at you", "$mcname$ glares $lastarg$ at $hcname$", }) }), "gnash": ({ ({ 0, "%s", }), ({ "You gnash your teeth", "$mcname$ gnashes $mposs$ teeth", "You gnash you teeth at $hcname$", "$mcname$ gnashes $mposs$ teeth at you", "$mcname$ gnashes $mposs$ teeth at $hcname$" }), }), "grammar": ({ ({ 0, "%s", }), ({ "You bad grammar has", "$mcname$ bad grammar has", "You think $hcname$ bad grammar has", "$mcname$ thinks you bad grammar has", "$mcname$ thinks $hcname$ bad grammar has" }), }), "grate": ({ ({ 3, "%s" }), ({ "You grate your teeth $arg:in annoyance,annoyingly,in anger,"+ "angrily,noisily,painfully,seductively,suggestively,in terror,"+ "together$", "$mcname$ grates $mposs$ teeth $lastarg$", }) }), "greet": ({ ({ 0, "%s", 2, "%s %s" }), ({ "You greet $hcname$ $arg:warmly,absentmindedly,carefully,coldly,"+ "courteously,curtly,ecstatically,happily,hysterically,"+ "insolently,reservedly,sadly,with open arms$", "$mcname$ greets you $lastarg$", "$mcname$ greets $hcname$ $lastarg$", }) }), "grimace": ({ ({ 3, "%s" }), ({ "You grimace in $arg:disgust,anger,despair,power,thought$", "$mcname$ grimaces in $lastarg$", }), }), "grin": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You grin$ifarg: $arg:cheekily,cheesily,devilishly,evilly,"+ "idiotically,impishly,insanely,madly,maniacally,mischievously,"+ "sheepishly,skeptically,tentatively,wickedly,widely,wryly$~$", "$mcname$ grins$ifarg: $lastarg$~$", "You grin$ifarg: $arg:cheekily,devilishly,evilly,idiotically,"+ "impishly,insanely,madly,maniacally,mischievously,sheepishly,"+ "skeptically,tentatively,wickedly,widely,wryly$~$ at $hcname$", "$mcname$ grins$ifarg: $lastarg$~$ at you", "$mcname$ grins$ifarg: $lastarg$~$ at $hcname$" }) }), "grind": ({ ({ 3, "%s" }), ({ "You grind your teeth $arg:noisily,angrily,annoyingly,"+ "painfully,seductively,suggestively,in terror,together$", "$mcname$ grinds $mposs$ teeth $lastarg$", }) }), "groan": ({ ({ 3, "%s" }), ({ "You groan$ifarg: $arg:loudly,in disappointment,resignedly,tiredly$~$", "$mcname$ groans$ifarg: $lastarg$~$" }) }), "grope": ({ ({ 0, "%s", 2, "%s's %s", 2, "%s %s" }), ({ "You grope $ifarg:$mhcname$ $arg:#$$else$$hcname$~$", "$mcname$ gropes you$ifarg:r $lastarg$~$", "$mcname$ gropes $ifarg:$mhcname$ $lastarg$$else$$hcname$~$" }) }), "grovel": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You grovel$ifarg: $arg:shamelessly,unashamedly,violently$~$", "$mcname$ grovels$ifarg: $lastarg$~$", "You grovel$ifarg: $arg:shamelessly,unashamedly,violently$~$ at "+ "$mhcname$ feet", "$mcname$ grovels$ifarg: $lastarg$~$ at your feet", "$mcname$ grovels$ifarg: $lastarg$~$ at $mhcname$ feet" }) }), "growl": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You growl $arg:menacingly,loudly,nastily,playfully$", "$mcname$ growls $lastarg$", "You growl $arg:menacingly,loudly,nastily,playfully$ at $hcname$", "$mcname$ growls $lastarg$ at you", "$mcname$ growls $lastarg$ at $hcname$" }) }), "grumble": ({ ({ 3, "%s", }), ({ "You grumble $arg:quietly,annoyingly,bitterly,carefully,"+ "devastatingly,halfheartedly,loudly,menacingly,seductively,"+ "suggestively,wildly,more or less$", "$mcname$ grumbles $lastarg$", }) }), "gurgle": ({ ({ 3, "%s" }), ({ "You gurgle $arg:noisily,carefully,disgustingly,loudly,"+ "happily,mischievously,quickly,rudely,slowly,in surprise,"+ "like a train$", "$mcname$ gurgles $lastarg$" }) }), "hang": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You hang your head in $arg:shame,despair,happiness,sorrow$", "$mcname$ hangs $mposs$ head in $lastarg$", "You hang onto $hcname$ $arg:tightly,fearfully,paranoiacally,"+ "passionately,possessively$", "$mcname$ hangs onto you $lastarg$", "$mcname$ hangs onto $hcname$ $lastarg$", }) }), "hassle": ({ ({ 0, "%s", 2, "%s %s", 2, "%s about %s", 1, "%s %s" }), ({ "You hassle $hcname$$ifarg: about $arg:frogs,chickens,something,#$~$", "$mcname$ hassles you$ifarg: about $lastarg$~$", "$mcname$ hassles $hcname$$ifarg: about $lastarg$~$", }), }), "headbutt": ({ ({ 0, "%s" }), ({ "You headbutt $hcname$", "$mcname$ headbutts you!", "$mcname$ headbutts $hcname$!" }) }), "headstand": ({ 0, ({ "You stand on your head", "$mcname$ stands on $mposs$ head" }) }), "heh": ({ ({ 0, "%s" }), ({ "You grin and say, \"Heh heh heh.\"", "$mcname$ grins and says, \"Heh heh heh.\"", "You grin at $hcname$ and say, \"Heh heh heh.\"", "$mcname$ grins at you and says, \"Heh heh heh.\"", "$mcname$ grins at $hcname$ and says, \"Heh heh heh.\"" }) }), "hiccup": ({ 0, ({ /* exciting stuff */ "You hiccup", "$mcname$ hiccups" }) }), "high5": ({ ({ 0, "%s" }), ({ "Nope", "$mcname$ is stupid, isn't $mpronoun$?", "Nope, sorry. Absolutely not", "Ignore $mcname$; $mpronoun$'s actually pretty stupid", "Ignore $mcname$; $mpronoun$'s actually pretty stupid" }) }), /* "hold": ({ ({ 3, "%s", 0, "%s", 0, "onto %s", 2, "%s %s", 1, "%s %s" }), ({ "You hold your $arg:nose,#$", "$mcname$ holds $mposs$ $lastarg$", "You hold $hcname$$ifarg: $arg:close,back,down,gently,lovingly,"+ "tightly,up,warmly$~$", "$mcname$ holds you$ifarg: $lastarg$~$", "$mcname$ holds $hcname$$ifarg: $lastarg$~$" }) }), */ "hop": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s", }), ({ "You hop around a bit", "$mcname$ hops around a bit", "You hop into $mhcname$ $arg:arms,bed,car,house,pool,television$", "$mcname$ hops into your $lastarg$", "$mcname$ hops into $mhcname$ $lastarg$", }) }), "hoot": ({ ({ 3, "%s" }), ({ "You hoot $arg:like an owl,absentmindedly,annoyingly,derisively,"+ "distractedly,loudly,obviously,pointlessly,rudely,silently,"+ "tunelessly,vaguely,whilst you work,with laughter$", "$mcname$ hoots $lastarg$" }), }), "howl": ({ ({ 3, "%s" }), ({ "$ifarg:You howl $arg:at the moon,in pain,#$"+ "$else$HOOOOOWWWWWWWWWLLLLLL!!~$", "$mcname$ howls$ifarg: $lastarg$~$" }) }), "hug": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You hug $hcname$$ifarg: $arg:closely,gently,tightly,warmly$~$", "$mcname$ hugs you$ifarg: $lastarg$~$", "$mcname$ hugs $hcname$$ifarg: $lastarg$~$" }) }), "huggle": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You huggle $hcname$$ifarg: $arg:excitedly,happily,tightly,"+ "warmly,to death,#$~$", "$mcname$ huggles you$ifarg: $lastarg$~$", "$mcname$ huggles $hcname$$ifarg: $lastarg$~$" }) }), "hum": ({ ({ 3, "%s" }), ({ "You hum $arg:a merry tune,absentmindedly,annoyingly,distractedly,"+ "loudly,pointlessly,rudely,silently,tunelessly,vaguely,"+ "whilst you work$", "$mcname$ hums $lastarg$" }), }), "idle": ({ ({ 3, "%s", 0, "%s" }), ({ "You idle $arg:nonchalantly,around,artfully,hyperactively,"+ "intensely,quickly,upside-down,like a gherkin,"+ "like everyone else is,like pinkfish,like sloths do,"+ "unbelievably well,without using your hands,"+ "standing still,$", "$mcname$ idles $lastarg$", "You idle like $hcname$", "$mcname$ idles like you", "$mcname$ idles like $hcname$", }), }), "ignore": ({ ({ 0, "%s" }), ({ "You ignore the world", "$mcname$ ignores the world", "You ignore $hcname$", "$mcname$ ignores you", "$mcname$ ignores $hcname$", }) }), "james": ({ 0, ({ "Ow! I feel good! Da na da na da na da! I knew that I would!", "$mcname$ feels good, da na da na da na da!" }) }), "juggle": ({ ({ 3, "%s" }), ({ "You juggle some $arg:balls,arms,battons,bottles,cats,"+ "chainsaws,chickens,dogs,fire,frogs,guppies,knives,ladies,"+ "legs,logs,men,people,rhinos,sticks,swords,torches,"+ "trees,tree stumps,water,wine glasses,zoroasters$ around", "$mcname$ juggles some $lastarg$ around", }) }), "jump": ({ ({ 3, "%s", 0, "%s", 0, "on %s", 2, "%s %s", 2, "on %s %s", 1, "%s %s", 1, "%s on %s" }), ({ "You jump up and down $arg:excitedly,absentmindedly,carefully,"+ "ecstatically,happily,joyfully,sideways,slowly,unsteadily,"+ "worriedly,in pain,like a maniac,like a prancing piranha$", "$mcname$ jumps up and down $lastarg$", "You jump up and down on $hcname$$ifarg: $arg:"+ "absentmindedly,carefully,ecstatically,excitedly,happily,"+ "joyfully,unsteadily,worriedly,sideways,slowly,"+ "like a maniac$~$", "$mcname$ jumps up and down on you$ifarg: $lastarg$~$", "$mcname$ jumps up and down on $hcname$$ifarg: $lastarg$~$" }) }), "kick": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You kick yourself$ifarg: $arg:#$~$", "$mcname$ kicks $mobj$self$ifarg: $lastarg$~$", "You kick $hcname$$ifarg: $arg:#$~$", "$mcname$ kicks you$ifarg: $lastarg$~$", "$mcname$ kicks $hcname$$ifarg: $lastarg$~$" }) }), "kiss": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You kiss $hcname$$ifarg: $arg:carefully,deeply,demandingly,"+ "gently,lovingly,lengthily,passionately,sensuously,tenderly,"+ "on the cheek,on the hand$~$", "$mcname$ kisses you$ifarg: $lastarg$~$", "$mcname$ kisses $hcname$$ifarg: $lastarg$~$" }) }), "knee": ({ ({ 0, "%s", 2, "%s %s" }), ({ "You knee $hcname$$ifarg: $arg:#$$else$ in the groin~$", "$mcname$ knees you$ifarg: $lastarg$$else$ in the groin~$", "$mcname$ knees $hcname$$ifarg: $lastarg$"+ "$else$ in the groin~$" }) }), "lag": ({ 0, ({ "You tell everyone you're experiencing a bad case of lag.", "$mcname$ is experiencing a bad case of lag...", }) }), "laugh": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You laugh$ifarg: $arg:demonically,ecstatically,happily,"+ "heartily,heartlessly,maniacally,nastily,nicely,politely,quietly,"+ "tauntingly,uncontrollably$~$", "$mcname$ laughs$ifarg: $lastarg$~$", "You laugh$ifarg: $arg:demonically,ecstatically,happily,"+ "heartily,heartlessly,maniacally,nastily,nicely,politely,quietly,"+ "tauntingly,uncontrollably$~$ at $hcname$", "$mcname$ laughs$ifarg: $lastarg$~$ at you", "$mcname$ laughs$ifarg: $lastarg$~$ at $hcname$" }) }), "leap": ({ ({ 3, "%s" }), ({ "You leap$ifarg: $arg:awkwardly,excitedly,high,longingly,"+ "noisily,politely,quickly,quietly,slowly$~$ into the air", "$mcname$ leaps$ifarg: $lastarg$~$ into the air", }) }), "leer": ({ ({ 0, "%s", 0, "at %s" }), ({ "You leer at $hcname$", "$mcname$ leers at you", "$mcname$ leers at $hcname$", }), }), "lick": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You lick your lips$ifarg: $arg:carefully,excitedly,expectantly,"+ "seductively,sensuously,slowly,suggestively,in hunger$~$", "$mcname$ licks $mposs$ lips$ifarg: $lastarg$~$", "You lick $hcname$$ifarg: $arg:absentmindedly,carefully,"+ "excitedly,happily,loudly,lustily,quickly,silently,slowly,"+ "all over$~$", "$mcname$ licks you$ifarg: $lastarg$~$", "$mcname$ licks $hcname$$ifarg: $lastarg$~$" }) }), "lie": ({ ({ 3, "%s" }), ({ "You lie$ifarg: $arg:badly,blatantly,seductively,uncontrollably,"+ "at length,like a dog$$else$ through your teeth~$", "$mcname$ lies$ifarg: $lastarg$"+ "$else$ through $mposs$ teeth~$", }) }), "listen": ({ ({ 3, "%s", 0, "%s", 0, "to %s", 2, "%s %s", 2, "to %s %s", 1, "%s %s", 1, "%s to %s" }), ({ "You listen $arg:carefully,boredly,halfheartedly,patiently,"+ "rudely,silently$", "$mcname$ listens $lastarg$", "You listen $arg:intently,boredly,carefully,halfheartedly,"+ "patiently,rudely,silently$ to $hcname$", "$mcname$ listens $lastarg$ to you", "$mcname$ listens $lastarg$ to $hcname$", }), }), "loom": ({ ({ 0, "%s", 0, "over %s" }), ({ "You loom over $hcname$", "$mcname$ looms over you", "$mcname$ looms over $hcname$", }) }), "love": ({ ({ 0, "%s" }), ({ "You whisper sweet words of love into $mhcname$ ear", "$mcname$ whispers sweet words of love in your ear", "$mcname$ whispers into $mhcname$ ear" }) }), "massage": ({ ({ 0, "%s", 2, "%s %s", }), ({ "You give $hcname$ a$ifarg: $arg:back,bad,deep,different,"+ "economic,ergonomic,foot,full-body,good,happy,head,leg,long,"+ "meaningful,memorable,neck,painful,painless,professional,"+ "quick,refreshing,sad,seductive,sensuous,shoulder,sneaky,"+ "strange,trained,unprofessional,unprovoked,untrained,"+ "unwanted,unwarranted,unwieldly$~$ massage", "$mcname$ gives you a$ifarg: $lastarg$~$ massage.\n"+ "You feel very relaxed...", "$mcname$ gives $hcname$ a$ifarg: $lastarg$~$ massage" }) }), "melt": ({ ({ 0, "%s", 3, "%s" }), ({ "You melt$ifarg: $arg:carefully,quickly,seductively,slowly,"+ "submissively,a little,in anticipation,in ecstasy,"+ "into a nice puddle$~$", "$mcname$ melts$ifarg: $lastarg$~$", "You melt in $mhcname$ arms", "$mcname$ melts in your arms", "$mcname$ melts in $mhcname$ arms" }) }), "moan": ({ ({ 3, "%s" }), ({ "You moan$ifarg: $arg:agonizingly,deeply,gently,loudly,"+ "sensually,in pain,in terror$~$", "$mcname$ moans$ifarg: $lastarg$~$" }) }), "moon": ({ ({ 0, "%s" }), ({ "You drop your pants and moon everyone", "$mcname$ drops $mposs$ pants and moons everyone", "You drop your pants and moon $hcname$", "$mcname$ drops $mposs$ pants and moons you", "$mcname$ drops $mposs$ pants and moons $hcname$" }) }), "mosh": ({ ({ 3, "%s" }), ({ "You mosh $arg:violently,angrily,carefully,insanely,loudly,"+ "thoughtfully,vigorously,wonderingly$ around the room", "$mcname$ moshes $lastarg$ around the room" }) }), "mourn": ({ ({ 3, "%s", 0, "%s" }), ({ "You mourn $arg:in sorrow,the slow death of frogs,#$", "$mcname$ mourns $lastarg$", "You mourn $hcname$", "$mcname$ mourns you", "$mcname$ mourns $hcname$" }) }), "muss": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s", }), ({ "You muss $mhcname$ hair$ifarg: $arg:badly,lovingly,"+ "patronizingly,playfully,slowly,suggestively$~$", "$mcname$ musses your hair$ifarg: $lastarg$~$", "$mcname$ musses $mhcname$ hair$ifarg: $lastarg$~$" }) }), "mutter": ({ ({ 3, "%s" }), ({ "You mutter$ifarg: $arg:#$~$ under your breath", "$mcname$ mutters$ifarg: $arg:#$~$ under $mposs$ breath" }) }), "nestle": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You nestle up to $hcname$ $arg:affectionately,curiously,lovingly$", "$mcname$ nestles up to you $lastarg$", "$mcname$ nestles up to $hcname$ $lastarg$" }) }), "nibble": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You nibble on $mhcname$ $arg:ear,arm,fingers,leg,lip,neck,"+ "nose,toes,tongue$", "$mcname$ nibbles on your $lastarg$", "$mcname$ nibbles on $mhcname$ $lastarg$" }) }), "nod": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You nod$ifarg: $arg:brightly,curtly,eagerly,emphatically,"+ "expectantly,firmly,happily,in agreement,knowingly,"+ "patiently,sadly,sagely,slowly,solemnly,tentatively,vigorously$~$", "$mcname$ nods$ifarg: $lastarg$~$", "You nod$ifarg: $arg:brightly,curtly,eagerly,emphatically,"+ "expectantly,firmly,in agreement,happily,knowingly,"+ "patiently,sadly,sagely,slowly,solemnly,tentatively,vigorously$~$"+ " at $hcname$", "$mcname$ nods$ifarg: $lastarg$~$ at you", "$mcname$ nods$ifarg: $lastarg$~$ at $hcname$" }) }), "noise": ({ ({ 3, "%s" }), ({ "You make a $arg:funny,bungle,burble,chicken,cow,disgusting,"+ "flurgle,frog,gong,gumby,guppy,hairy,kangaroo,koala,loud,moo,"+ "mouse,pop,rabbit,rat,schwing,strange,train,twisted,weird,"+ "whirr,wop,zongle-wop$ noise", "$mcname$ makes a $lastarg$ noise" }) }), "nudge": ({ ({ 0, "%s", }), ({ "You nudge $hcname$", "$mcname$ nudges you", "$mcname$ nudges $hcname$", }) }), "nuzzle": ({ ({ 0, "%s" }), ({ "You nuzzle $hcname$ affectionately", "$mcname$ nuzzles you affectionately", "$mcname$ nuzzles $hcname$ affectionately" }) }), "oops": ({ 0, ({ "You cover your mouth with your hands and say, \"Oops!\"", "$mcname$ covers $hposs$ mouth with $hposs$ hands and says, "+ "\"Oops!\"" }) }), "ouch": ({ 0, ({ "Oooouuuuuchhhh!", "$mcname$ screams, \"Ouch!\" in pain" }) }), "panic": ({ 0, ({ "You panic", "$mcname$ panics" }) }), "pat": ({ ({ 0, "%s", 2, "%s %s", 2, "%s on %s", 1, "%s %s" }), ({ "You pat $hcname$ on the $arg:head,back,arm,leg,nose,bottom$", "$mcname$ pats you on the $lastarg$", "$mcname$ pats $hcname$ on the $lastarg$" }) }), "patronize": ({ ({ 0, "%s" }), ({ "You patronize $hcname$", "$mcname$ patronizes you", "$mcname$ patronizes $hcname$" }) }), "pet": ({ ({ 0, "%s" }), ({ "You pet $hcname$", "$mcname$ pets you", "$mcname$ pets $hcname$" }) }), "peer": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You peer$ifarg: $arg:anxiously,carefully,curiously,dazedly,"+ "desperately,disappointedly,expectantly,fearfully,fishily,"+ "happily,intently,lazily,lopsidedly,nervously,owlishly,"+ "quizzically,rudely,sadly,strangely,stupidly,suspiciously,"+ "tentatively,tiredly,uncertainly,warily,warningly,"+ "worriedly$~$ around the room", "$mcname$ peers$ifarg: $lastarg$~$ around the room", "You peer$ifarg: $arg:anxiously,carefully,curiously,dazedly,"+ "desperately,disappointedly,expectantly,fearfully,fishily,"+ "happily,intently,lazily,lopsidedly,nervously,owlishly,"+ "quizzically,rudely,sadly,strangely,stupidly,suspiciously,"+ "tentatively,tiredly,uncertainly,warily,warningly,"+ "worriedly$~$ at $hcname$", "$mcname$ peers$ifarg: $lastarg$~$ at you", "$mcname$ peers$ifarg: $lastarg$~$ at $hcname$" }) }), "pick": ({ ({ 3, "%s" }), ({ "You pick your $arg:nose,ear,#$", "$mcname$ picks $mposs$ $lastarg$" }) }), "pinch": ({ ({ 0, "%s", 2, "%s %s", 2, "%s on the %s", 1, "%s %s" }), ({ "You pinch yourself", "$mcname$ pinches $mobj$self", "You pinch $hcname$$ifarg: on the $arg:bottom,leg,arm,cheek$~$", "$mcname$ pinches you$ifarg: on the $lastarg$~$", "$mcname$ pinches $hcname$$ifarg: on the $lastarg$~$" }) }), "ping": ({ ({ 0, "%s" }), ({ "You ping $hcname$", "$mcname$ pings you$force#ack $mname$#2$", "$mcname$ pings $hcname$" }) }), "plead": ({ ({ 3, "%s", }), ({ "$mcname$ pleads for $arg:mercy,creators,insanity,"+ "money,lots of money,a weapon$", "$mcname$ pleads for $lastarg$" }) }), "point": ({ ({ 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You point$ifarg: $arg:accusingly,straight$~$ at $hcname$", "$mcname$ points$ifarg: $lastarg$~$ at you", "$mcname$ points$ifarg: $lastarg$~$ at $hcname$" }) }), "poke": ({ ({ 0, "%s", 2, "%s %s", 2, "%s in the %s", 2, "%s in %s", 1, "%s %s" }), ({ "You poke $hcname$ in the $arg:ribs,arm,ear,eye,leg,nose,"+ "stomach,#$", "$mcname$ pokes you in the $arg:ribs,arm,ear,eye,leg,nose,"+ "stomach,#$", "$mcname$ pokes $hcname$ in the $arg:ribs,arm,ear,eye,leg,nose,"+ "stomach,#$" }) }), "ponder": ({ ({ 3, "%s", }), ({ "You ponder$ifarg: $arg:life,the universe,everything,"+ "the meaning of life,the question,the situation$~$", "$mcname$ ponders$ifarg: $lastarg$~$" }) }), "pounce": ({ ({ 0, "%s", 0, "on %s", 2, "%s %s", 2, "on %s %s", 1, "%s %s", 1, "%s on %s" }), ({ "You pounce on $hcname$$ifarg: $arg:appreciatively,carefully,"+ "excitedly,madly,playfully,seductively$~$", "$mcname$ pounces on you$ifarg: $lastarg$~$", "$mcname$ pounces on $hcname$$ifarg: $lastarg$~$" }) }), "pout": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You pout$ifarg: $arg:childishly,resignedly,silently,#$~$", "$mcname$ pouts$ifarg: $lastarg$~$", "You pout$ifarg: $arg:childishly,resignedly,silently,#$~$ at $hcname$", "$mcname$ pouts$ifarg: $lastarg$~$ at you", "$mcname$ pouts$ifarg: $lastarg$~$ at $hcname$" }) }), "praise": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You praise $arg:the Goddess,#$", "$mcname$ praises $lastarg$", "You praise $ifarg:$mhcname$ $arg:great daring and cunning,"+ "method of jogging on the spot,\"je ne sais quoi.\","+ "conversational tactics,#$$else$$hcname$~$", "$mcname$ praises $ifarg:your $lastarg$$else$you~$", "$mcname$ praises $ifarg:$mhcname$ $lastarg$"+ "$else$$hcname$~$" }) }), "protest": ({ ({ 3, "%s" }), ({ "You protest$ifarg: $arg:vehemently,annoyingly,loudly,noisily,"+ "pointlessly,strongly,weakly,#$~$", "$mcname$ protests$ifarg: $lastarg$~$" }) }), "puke": ({ ({ 0, "%s", 0, "on %s", 0, "at %s" }), ({ "You brighten up the place", "$mcname$ does a technicolor yawn", "You puke on $hcname$", "$mcname$ pukes on you", "$mcname$ pukes on $hcname$" }) }), "punch": ({ ({ 0, "%s" }), ({ "You punch yourself", "$mcname$ punches $mobj$self", "You punch $hcname$", "$mcname$ punches you", "$mcname$ punches $hcname$", }) }), "purr": ({ ({ 3, "%s" }), ({ "You purr $arg:contentedly,loudly,happily,sensuously,like a kitten$", "$mcname$ purrs $lastarg$" }) }), "push": ({ ({ 0, "%s", }), ({ "You push yourself over", "$mcname$ pushes $mobj$self over", "You push $hcname$ over", "$mcname$ pushes you over", "$mcname$ pushes $hcname$ over", }) }), "puzzle": ({ ({ 3, "%s" }), ({ "$ifarg:You puzzle over $arg:#$$else$You look puzzled~$", "$mcname$ $ifarg:puzzles over $lastarg$$else$looks puzzled~$", }) }), "quirk": ({ 0, ({ "You quirk one eyebrow", "$mcname$ quirks one eyebrow" }) }), "quiver": ({ ({ 3, "%s" }), ({ "You quiver$ifarg: $arg:in fear,from the cold,#$~$", "$mcname$ quivers$ifarg: $lastarg$~$" }), }), "raise": ({ 0, ({ "You raise an eyebrow", "$mcname$ raises an eyebrow" }) }), "ram": ({ ({ 0 ,"%s", 3, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You ram $ifarg:$arg:#$$else$the nearest turtle~$", "$mcname$ rams $ifarg:$lastarg$$else$the nearest turtle. <thwok>~$", "You ram $ifarg:$mhcname$ $arg:#$$else$$hcname$~$", "$mcname$ $ifarg:rams into your $arg:#$$else$rams into you~$", "$mcname$ $ifarg:rams into $mhcname$ $arg:#$$else$rams into $hcname$~$" }), }), "razz": ({ ({ 0, "%s" }), ({ "You stick your thumb on your nose and razz $hcname$", "$mcname$ sticks $mposs$ thumb on $mposs$ nose and razzes you", "$mcname$ sticks $mposs$ thumb on $mposs$ nose and razzes "+ "$hcname$" }) }), "rock": ({ ({ 3, "%s" }), ({ "You rock on your $arg:heels,feet,nose$", "$mcname$ rocks on $mposs$ $lastarg$" }) }), "roll": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You roll $arg:your eyes,backwards,fearfully,sideways,slowly,tightly,"+ "around on the floor laughing,like a spy through an imaginary door,"+ "over and play dead,up into a ball,your own cigarette,#$", "$mcname$ rolls $lastarg$", "You roll $ifarg:$arg:carefully,excitedly,lovingly,painfully,quickly,"+ "slowly,#$ ~$over $hcname$", "$mcname$ rolls $ifarg:$lastarg$ ~$over you", "$mcname$ rolls $ifarg:$lastarg$ ~$over $hcname$" }) }), "rotfl": ({ ({ 3, "%s", 0, "%s" }), ({ "You start rolling on the floor, laughing hysterically", "$mcname$ starts rolling on the floor, laughing hysterically", "You point at $hcname$ and start laughing hysterically", "$mcname$ points at you and starts laughing hysterically", "$mcname$ points at $hcname$ and starts laughing hysterically" }) }), "rtfm": ({ ({ 0, "%s" }), ({ "You say, \"Read the f***ing manual.\"", "$mcname$ says, \"Read the f***ing manual.\"", "You tell $hcname$, \"Read the f***ing manual.\"", "$mcname$ tells you, \"Read the f***ing manual.\"", "$mcname$ tells $hcname$, \"Read the f***ing manual.\"" }) }), "rub": ({ ({ 3, "%s", 0, "%s" }), ({ "You rub your $arg:hands together,arm,eyes,eyebrows,head,leg,nose"+ "tummy,#$", "$mcname$ rubs $mposs$ $lastarg$", "You rub $hcname$ the wrong way", "$mcname$ rubs you the wrong way", "$mcname$ rubs $hcname$ the wrong way" }) }), "ruffle": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You ruffle $mhcname$ hair $arg:playfully,affectionately$", "$mcname$ ruffles your hair $lastarg$", "$mcname$ ruffles $mhcname$ hair $lastarg$" }) }), "salute": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You salute$ifarg: $arg:crisply,playfully,respectfully,weakly$~$"+ " at the air", "$mcname$ salutes$ifarg: $lastarg$~$ at the air", "You salute$ifarg: $arg:crisply,playfully,respectfully,weakly$~$"+ " to $hcname$", "$mcname$ salutes$ifarg: $lastarg$ to you~$", "$mcname$ salutes$ifarg: $lastarg$ to $hcname$"+ "$else$scratches $hcname$~$" }) }), "scratch": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You scratch your $arg:head,arm,bum,butt,ear,finger,leg,nose,"+ "cat behind the ears$", "$mcname$ scratches $mposs$ $lastarg$", "You $ifarg:$arg:playfully,slightly,viciously$ scratch $mhcname$ "+ "head$else$scratch $hcname$~$", "$mcname$ $ifarg:$lastarg$ scratches your head"+ "$else$scratches you~$", "$mcname$ $ifarg:$lastarg$ scratches $mhcname$ head"+ "$else$scratches $hcname$~$" }) }), "scream": ({ ({ 3, "%s", 3, "in %s" }), ({ "$ifarg:You scream in $arg:anger,despair,fear,fright,frustration,"+ "pain,surprise,terror$"+ "$else$Arrggghhhhh!!!!~$", "$mcname$ screams$ifarg: in $lastarg$$else$ loudly!~$" }) }), "scoff": ({ ({ 3, "%s", }), ({ "You scoff$ifarg: $arg:loudly,sarcastically,sardonically,sweetly$~$", "$mcname$ scoffs$ifarg: $lastarg$~$", }) }), "scold": ({ ({ 0, "%s", 1, "%s %s", 2, "%s %s" }), ({ "You scold $hcname$$ifarg: $arg:playfully,endlessly,emphatically,"+ "irritatedly,loudly,lovingly,mercilessly,pointlessly,sneakily,"+ "uselessly,whilst stifling a giggle$~$", "$mcname$ scolds you$ifarg: $lastarg$~$", "$mcname$ scolds $hcname$$ifarg: $lastarg$~$", }), }), "scowl": ({ ({ 0, "%s" }), ({ "You scowl", "$mcname$ scowls", "You scowl at $hcname$", "$mcname$ scowls at you", "$mcname$ scowls at $hcname$" }) }), "shake": ({ ({ 3, "%s", 3, "my %s", 0, "%s", 2, "%s %s", 1, "%s %s", 1, "%s with %s", 1, "%s at %s" }), ({ "You shake your head$ifarg: $arg:carefully,completely,curtly,"+ "once,quickly,sadly,slowly,sorrowfully,tentatively,"+ "vigorously,in agreement,in disbelief$~$", "$mcname$ shakes $mposs$ head$ifarg: $lastarg$~$", "You shake$ifarg: $arg:hands with,your head at,fins with,fingers with,"+ "legs with,pinkies with,tentacles with,your fist at$~$ $hcname$", "$mcname$ shakes$ifarg: $lastarg$~$ you", "$mcname$ shakes$ifarg: $lastarg$~$ $hcname$" }) }), "shiver": ({ ({ 3, "%s" }), ({ "You shiver$ifarg: $arg:in fear,with cold,slightly,#$~$", "$mcname$ shivers$ifarg: $lastarg$~$" }) }), "shrug": ({ ({ 3, "%s", }), ({ "You shrug$ifarg: $arg:happily,noncommittally,resignedly,"+ "tiredly,uncaringly,in confusion,#$~$", "$mcname$ shrugs$ifarg: $lastarg$~$", }) }), "shudder": ({ ({ 3, "%s" }), ({ "You shudder $ifarg:in $arg:disappointment,ecstasy,fear,revulsion"+ "$$else$from horror~$", "$mcname$ shudders $ifarg:in $lastarg$$else$from horror~$", }) }), "shuffle": ({ 0, ({ "You shuffle your feet in embarrassment", "$mcname$ shuffles $mposs$ feet in embarrassment", }), }), "sigh": ({ ({ 3, "%s" }), ({ "You sigh$ifarg: $arg:deeply,contentedly,desperately,dramatically,"+ "dreamily,happily,heavily,in relief,melodramatically,"+ "sadly,sarcastically,silently,slowly,suggestively,"+ "tiredly,wistfully,with relief$~$", "$mcname$ sighs$ifarg: $lastarg$~$" }) }), "simper": ({ 0, ({ "You simper insipidly", "$mcname$ simpers insipidly", }) }), "sing": ({ ({ 3, "%s", 0, "%s" }), ({ "You $ifarg:sing, \"$arg:#$\"$else$burst into song~$", "$mcname$ $ifarg:sings, \"$lastarg$\"$else$bursts into song~$", "You serenade $hcname$", "$mcname$ serenades you", "$mcname$ serenades $hcname$" }) }), "sit": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You sit down$ifarg: $arg:carefully,clumsily,gracefully,gratefully,"+ "inconsiderately,quickly,quietly,slowly,thoughtfully,in anger,"+ "in shock,with one hand tied behind your back,#$~$", "$mcname$ sits down$ifarg: $lastarg$~$", "You sit on $mhcname$ $arg:lap,arm,chest,cat,computer,dinner,"+ "face,head,leg,keyboard,sofa,#$", "$mcname$ sits on your $lastarg$", "$mcname$ sits on $mhcname$ $lastarg$", }), }), "skip": ({ ({ 0, "%s", }), ({ "You skip around happily", "$mcname$ skips around happily", "You skip around $hcname$", "$mcname$ skips around you", "$mcname$ skips around $hcname$", }), }), "slap": ({ ({ 0, "%s" }), ({ "You slap your forehead", "$mcname$ slaps $mposs$ forehead", "You slap $hcname$$ifarg: $arg:carefully,hard,harder,really hard,"+ "incredibly hard,lovingly,twice,viciously,across the face,"+ "across the room,with a frog,with a gauntlet,with a fish,$~$", "$mcname$ slaps you$ifarg: $lastarg$~$", "$mcname$ slaps $hcname$$ifarg: $lastarg$~$" }) }), "sleep": ({ ({ 0, "%s" }), ({ "You curl up into a ball and go to sleep", "$mcname$ curls up into a ball and goes to sleep", "You go to sleep in $mhcname$ arms", "$mcname$ go to sleep in your arms", "$mcname$ goes to sleep in $mhcname$ arms", }) }), "slobber": ({ ({ 0, "%s" }), ({ "You slobber all over the place", "$mcname$ slobbers all over the place", "You slobber all over $hcname$", "$mcname$ slobbers all over you", "$mcname$ slobbers all over $hcname$", }), }), "smack": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You smack your lips", "$mcname$ smacks $mposs$ lips", "You smack $hcname$$ifarg: $arg:excitedly,furiously,happily,"+ "nastily,twice,lots of times,upside the head,with gusto,"+ "without a care$~$", "$mcname$ smacks you$ifarg: $lastarg$~$", "$mcname$ smacks $hcname$$ifarg: $lastarg$~$", }), }), "smirk": ({ ({ 0, "%s" }), ({ "You smirk", "$mcname$ smirks", "You smirk at $hcname$", "$mcname$ smirks at you", "$mcname$ smirks at $hcname$", }) }), "smirkle": ({ ({ 0, "%s", 1, "%s %s", 2, "%s %s" }), ({ "You smirkle$ifarg: $arg:happily,sadly,like truilkan,sardonicaly$~$", "$mcname$ smirkles$ifarg: $lastarg$~$", "You smirkle$ifarg: $arg:happily,sadly,like truilkan,sardonicaly$~$ at $hcname$", "$mcname$ smirkles$ifarg: $lastarg$~$ at you", "$mcname$ smirkles$ifarg: $lastarg$~$ at $hcname$", }), }), "smile": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s", }), ({ "You smile$ifarg: $arg:brightly,broadly,condescendingly,contentedly,"+ "crookedly,cutely,demonically,drunkenly,enthusiastically,excitedly,"+ "faintly,garishly,grimly,happily,humbly,idiotically,innocently,"+ "insanely,lopsidedly,lovingly,maliciously,nastily,nervously,"+ "paradoxicaly,paranoically,pertly,pleasantly,quirkily,radiantly,"+ "sadistically,sarcastically,sardonically,seductively,slightly,"+ "slyly,smugly,softly,strangely,stupidly,sweetly,"+ "viciously,warily,warmly,weakly,wickedly,winningly,wryly,"+ "manically,in triumph,with forced patience,with menace,#$~$", "$mcname$ smiles$ifarg: $lastarg$~$", "You smile$ifarg: $arg:brightly,broadly,condescendingly,contentedly,"+ "crookedly,cutely,demonically,drunkenly,enthusiastically,excitedly,"+ "faintly,garishly,grimly,happily,humbly,idiotically,innocently,"+ "insanely,lopsidedly,lovingly,maliciously,nastily,nervously,"+ "paradoxicaly,paranoically,pertly,pleasantly,quirkily,radiantly,"+ "sadistically,sarcastically,sardonically,seductively,slightly,"+ "slyly,smugly,softly,strangely,stupidly,sweetly,"+ "viciously,warily,warmly,weakly,wickedly,winningly,wryly,"+ "manically,in triumph,with forced patience,with menace,#$~$"+ " at $hcname$", "$mcname$ smiles$ifarg: $lastarg$~$ at you", "$mcname$ smiles$ifarg: $lastarg$~$ at $hcname$" }) }), "smoke": ({ 0, ({ "You light up a cigarette", "$mcname$ lights up a cigarette", }) }), "smug": ({ 0, ({ "You look smug", "$mcname$ looks smug", }) }), "snap": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s", 1, "%s at %s", 1, "my %s at %s" }), ({ "You snap your $arg:fingers,leg,arm in a quick salute$", "$mcname$ snaps $mposs$ $lastarg$", "You snap your $arg:fingers,leg,arm in a quick salute$ at $hcname$", "$mcname$ snaps $mposs$ $lastarg$ at you", "$mcname$ snaps $mposs$ $lastarg$ at $hcname$" }) }), "snarl": ({ ({ 0, "%s", 2, "at %s %s", 1, "%s at %s", 1, "%s %s" }), ({ "You snarl $arg:viciously,demonicaly,happily,nastily,sadly,"+ "suddenly,unexpectedly$ at $hcname$", "$mcname$ snarls $lastarg$ at you", "$mcname$ snarls $lastarg$ at $hcname$", }) }), "sneer": ({ ({ 0, "%s" }), ({ "You sneer at $hcname$", "$mcname$ sneers at you", "$mcname$ sneers at $hcname$", }) }), "sneeze": ({ ({ 3, "%s", 0, "at %s", 2, "%s at %s" }), ({ "You sneeze$ifarg: $arg:loudly,quietly,silently,suddenly,"+ "unexpectedly,violently$~$", "$mcname$ sneezes$ifarg: $lastarg$~$", "You sneeze$ifarg: $arg:loudly,quietly,silently,suddenly,"+ "unexpectedly,violently$~$ at $hcname$", "$mcname$ sneezes$ifarg: $lastarg$~$ at you", "$mcname$ sneezes$ifarg: $lastarg$~$ at $hcname$" }) }), "snicker": ({ ({ 3, "%s" }), ({ "You snicker$ifarg: $arg:inanely,mischievously,nastily,a bit,$~$", "$mcname$ snickers$ifarg: $lastarg$~$" }) }), "sniff": ({ ({ 3, "%s" }), ({ "You sniff$ifarg: $arg:dejectedly,loudly,noisily,silently,in disdain$~$", "$mcname$ sniffs$ifarg: $lastarg$~$" }) }), "snigger": ({ 0, ({ "You snigger", "$mcname$ sniggers", }) }), "snore": ({ 0, ({ "You snore loudly", "$mcname$ snores loudly" }) }), "snort": ({ ({ 3, "%s" }), ({ "You snort $arg:derisively,loudly,like a pig,with disdain$", "$mcname$ snorts $lastarg$", }) }), "snuggle": ({ ({ 0, "%s", 1, "%s %s", 2, "%s %s" }), ({ "You snuggle up to $hcname$ $arg:affectionately,warmly,gently$", "$mcname$ snuggles up to you $lastarg$", "$mcname$ snuggles up to $hcname$ $lastarg$" }) }), "sob": ({ ({ 3, "%s", 0, "%s", 0, "on %s" }), ({ "You sob$ifarg: $arg:cheekily,loudly,despairingly,forlornly,happily,"+ "quietly,silently,unexpectedly,#$$else$ wretchedly.\nWhy, why?~$", "$mcname$ sobs$ifarg: $lastarg$$else$ wretchedly.\nWhy, why?~$", "You sob on $mhcname$ shoulder", "$mcname$ sobs on your shoulder", "$mcname$ sobs on $mhcname$ shoulder", }) }), "sorry": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You apologize$ifarg: $arg:profusely,reservedly,#$~$ to $hcname$", "$mcname$ apologizes$ifarg: $lastarg$~$ to you", "$mcname$ apologizes$ifarg: $lastarg$~$ to $hcname$", }) }), "spank": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You spank $hcname$$ifarg: $arg:carefully,gently,painfully,"+ "politely,professionaly,seductively,sensuously,sneakily,"+ "uncontrollably,unexpectedly,vigorously,with an evil smirk,#$"+ "$else$!~$", "$mcname$ spanks you$ifarg: $lastarg$$else$!~$", "$mcname$ spanks $hcname$$ifarg: $lastarg$$else$!~$", }) }), "speel": ({ 0, ({ "You try to speel, but fail miseribibly", "$mcname$ tries to speel, but fails miseribibly" }) }), "spin": ({ ({ 3, "%s", }), ({ "You spin $arg:around like a top,about deliriously$", "$mcname$ spins $lastarg$", }), }), "spit": ({ ({ 3, "%s", 0, "%s", 0, "at %s" }), ({ "You spit$ifarg: $arg:#$~$", "$mcname$ spits$ifarg: $arg:#$~$", "You spit in $mhcname$ face", "$mcname$ spits in your face", "$mcname$ spits in $mhcname$ face" }) }), "spock": ({ 0, ({ "You raise one eyebrow", "$mcname$ raises one eyebrow", }) }), "spook": ({ ({ 0, "%s" }), ({ "You spook $hcname$!", "$mcname$ spooks you!\nYou jump in fear!", "$mcname$ spooks $hcname$!", }) }), "squeal": ({ ({ 3, "%s" }), ({ "You squeal in $arg:delight,terror,pain,mortal fear$", "$mcname$ squeals in $lastarg$", }), }), "squeeze": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You squeeze $hcname$ $arg:fondly,gently,tightly$", "$mcname$ squeezes you $lastarg$", "$mcname$ squeezes $hcname$ $lastarg$" }) }), "stagger": ({ ({ 3, "%s" }), ({ "You stagger around$ifarg: $arg:#$~$", "$mcname$ staggers around$ifarg: $lastarg$~$" }) }), "stamp": ({ ({ 3, "%s", }), ({ "You stamp your foot$ifarg: $arg:angrily,frighteningly,impatiently,"+ "warningly$~$", "$mcname$ stamps $mposs$ foot$ifarg: $lastarg$~$" }) }), "stand": ({ ({ 3, "%s", }), ({ "You stand $arg:up,about,patiently,in uffish thought,on one hand$", "$mcname$ stands $lastarg$" }) }), "stare": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You stare$ifarg: $arg:absent-mindedly,annoyingly,continuously,"+ "dazedly,desperately,dreamily,enviously,expectantly,fanatically,"+ "happily,hungrily,intently,jealously,lazily,listlessly,longingly,"+ "lovingly,mindlessly,politely,respectfully,romantically,rudely,"+ "sadly,sternly,tentatively,worriedly,#$~$ into space", "$mcname$ stares$ifarg: $lastarg$~$ into space", "You stare$ifarg: $arg:absent-mindedly,annoyingly,continuously,"+ "dazedly,desperately,dreamily,enviously,expectantly,fanatically,"+ "happily,hungrily,intently,jealously,lazily,listlessly,longingly,"+ "lovingly,mindlessly,politely,respectfully,romantically,rudely,"+ "sadly,sternly,tentatively,worriedly,#$~$ at $hcname$", "$mcname$ stares$ifarg: $lastarg$~$ at you", "$mcname$ stares$ifarg: $lastarg$~$ at $hcname$" }) }), "stifle": ({ 0, ({ "You stifle a giggle", "$mcname$ stifles a giggle", }) }), "strangle": ({ ({ 0, "%s", 2, "%s %s", 2, "%s about %s", 1, "%s %s" }), ({ "You strangle yourself", "$mcname$ strangles $mobj$self", "You strangle $hcname$$ifarg: about $arg:#$~$", "$mcname$ strangles you$ifarg: about $arg:#$~$", "$hcname$ strangles $mcname$$ifarg: about $arg:#$~$", }) }), "stretch": ({ ({ 3, "%s" }), ({ "You stretch$ifarg: $arg:carefully,excitedly,happily,lazily,sadly,"+ "seductively,sleepily,slowly,your legs,your arms,your eyebrows$"+ "$else$ languidly~$", "$mcname$ stretches$ifarg: $lastarg$$else$ languidly~$", }), }), "stroke": ({ ({ 0, "%s" }), ({ "You stroke your chin and say, \"Hmm...\"", "$mcname$ strokes $mposs$ chin and says, \"Hmm...\"", "You stroke $hcname$", "$mcname$ strokes you", "$mcname$ strokes $hcname$", }) }), "strut": ({ 0, ({ "You strut your stuff", "$mcname$ struts proudly around the room" }) }), "stumble": ({ ({ 3, "%s" }), ({ "You stumble $ifarg:$arg:#$$else$around the room~$", "$mcname$ stumbles $ifarg:$arg:#$$else$around the room~$" }) }), "suck": ({ ({ 3, "%s" }), ({ "You suck your $arg:thumb,pen,#$", "$mcname$ sucks $mposs$ $lastarg$" }) }), "sulk": ({ 0, ({ "You sulk in the corner", "$mcname$ sulks in the corner" }) }), "swear": ({ ({ 3, "%s" }), ({ "You swear $arg:violently,loudly,on $mposs$ mothers grave$", "$mcname$ swears $lastarg$", }), }), "sweat": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 1, "%s %s", 1, "%s on %s" }), ({ "You sweat $arg:profusely,anxiously,bricks,buckets,hotly,"+ "patiently,rudely,silently,vigorously,wetly$", "$mcname$ sweats $lastarg$", "You sweat $arg:profusely,anxiously,bricks,buckets,hotly,"+ "patiently,rudely,silently,vigorously,wetly$ on $hcname$", "$mcname$ sweats $lastarg$ on you", "$mcname$ sweats $lastarg$ at $hcname$", }), }), "swim": ({ 0, ({ "You give a good imitation of swimming", "$mcname$ swims around" }) }), "tackle": ({ ({ 0, "%s", 2, "%s %s", 2, "%s in the %s", 1, "%s %s" }), ({ "You tackle $hcname$ $ifarg:in the $arg:chest,leg,arm,nose,knee,head,"+ "foot,toe,finger$$else$to the ground!~$", "$mcname$ tackles you $ifarg:in the $lastarg$$else$to the ground!~$", "$mcname$ tackles $hcname$ $ifarg:in the $lastarg$"+ "$else$to the ground!~$", }) }), "tap": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "%s on %s", 2, "%s on the %s", 1, "%s %s" }), ({ /* this is furry's */ "You tap your $arg:foot,arm,fingers,head,nose,shoulder,teeth,"+ "left leg,right leg$ impatiently", "$mcname$ taps $mposs$ $lastarg$ impatiently", "You tap $hcname$ on the $arg:shoulder,arm,ear,foot,head,leg,nose,"+ "teeth$", "$mcname$ taps you on the $lastarg$", "$mcname$ taps $hcname$ on the $lastarg$" }) }), "taunt": ({ ({ 0, "%s" }), ({ "You taunt yourself", "$mcname$ taunts $mobj$self. How strange", "You taunt $hcname$", "$mcname$ taunts you", "$mcname$ taunts $hcname$" }) }), "tease": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s", }), ({ "You tease yourself", "$mcname$ teases $mobj$self, and $mpronoun$ appears to enjoy it", "You tease $hcname$ $arg:mercilessly,annoyingly,carefully,"+ "halfheartedly,idly,insistently,lovingly,mischievously,"+ "obnoxiously,quickly,rudely,slowly$", "$mcname$ teases you $lastarg$", "$mcname$ teases $hcname$ $lastarg$", }) }), "thank": ({ ({ 0, "%s", 2, "%s %s" }), ({ "You thank $hcname$$ifarg: $arg:anyway,graciously,gratuitously,"+ "profusely,reservedly$~$", "$mcname$ thanks you$ifarg: $lastarg$~$", "$mcname$ thanks $hcname$$ifarg: $lastarg$~$" }) }), "think": ({ ({ 3, "%s", }), ({ "You think $arg:carefully,#$", "$mcname$ thinks $lastarg$" }) }), "throw": ({ ({ 0, "%s" }), ({ "You throw $hcname$ to the floor. \"Hi yyyyaaa!\"", "$mcname$ throws you to the floor", "$mcname$ throws $hcname$ to the floor in a happy embrace"+ "$force#smile h at $mname$#2$" }) }), "thwok": ({ ({ 0, "%s" }), ({ "T H W O K K ! !", "$mcname$ \"T H W O K K ! !\"s", "You thwok $hcname$", "You are summarily thwokked by $mcname$", "$mcname$ thwoks $hcname$" }) }), "tickle": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s" }), ({ "You tickle $hcname$$ifarg: $arg:carefully,fearlessly,gently,harshly,"+ "incessantly,inconceivably,mercilessly,ruthlessly,quickly,slowly,"+ "sneakily,weakly$~$", "$mcname$ tickles you$ifarg: $lastarg$~$$force#giggle#2$", "$mcname$ tickles $hcname$$ifarg: $lastarg$~$" }) }), "tip": ({ ({ 0, "%s" }), ({ "You give a stylish tip of your hat", "$mcname$ gives a stylish tip of $mposs$ hat", "You give a stylish tip of your hat to $hcname$", "$mcname$ gives a stylish tip of $mposs$ hat to you", "$mcname$ gives a stylish tip of $mposs$ hat to $hcname$" }) }), "titter": ({ ({ 3, "%s" }), ({ "You titter$ifarg: $arg:falsely,quietly,sarcastically,silently$~$", "$mcname$ titters$ifarg: $lastarg$~$", }), }), "tongue": ({ ({ 0, "%s", }), ({ "You poke your tongue out at $hcname$", "$mcname$ pokes $mposs$ tongue out at you", "$mcname$ pokes $mposs$ tongue out at $hcname$", }) }), "tousle": ({ ({ 0, "%s" }), ({ "You tousle $mhcname$ hair", "$mcname$ tousles your hair", "$mcname$ tousles $mhcname$ hair", }), }), "tower": ({ ({ 0, "%s", 0, "over %s", 2, "%s %s", 2, "over %s %s" }), ({ "You tower over $hcname$$ifarg: $arg:ominously,threateningly$~$", "$mcname$ towers over you$ifarg: $lastarg$~$", "$mcname$ towers over $hcname$$ifarg: $lastarg$~$", }), }), "tremble": ({ ({ 3, "%s" }), ({ "You tremble $arg:in fear,insistently,carefully,lightly,violently,"+ "in anticip.......ation,in nervousness,in pain$", "$mcname$ trembles $lastarg$", }), }), "trip": ({ ({ 0, "%s" }), ({ "You trip up", "$mcname$ trips up", "You trip $hcname$", "$mcname$ trips you", "$mcname$ trips $hcname$" }) }), "tumble": ({ 0, ({ "You tumble head over heels", "$mcname$ tumbles head over heels", }), }), "tut": ({ ({ 0, "%s" }), ({ "You waggle your finger and say, \"Tut tut.\"", "$mcname$ waggles $mposs$ finger and says, \"Tut tut.\"", "You waggle your finger at $hcname$ and say, \"Tut tut.\"", "$mcname$ waggles $mposs$ finger at you and says, \"Tut tut.\"", "$mcname$ waggles $mposs$ finger at $hcname$ and says, \"Tut tut.\"" }) }), "twang": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You twang $arg:calmly,backwards,beautifully,down,manically,"+ "rythmically,undyingly,up,upside down,a nice little tune,"+ "with the wolves$", "$mcname$ twangs $lastarg$", "You twang $arg:calmly,backwards,beautifully,down,manically,"+ "rythmically,undyingly,up,upside down,a nice little tune,"+ "with the wolves$ at $hcname$", "$mcname$ twangs $lastarg$ at you", "$mcname$ twangs $lastarg$ at $hcname$", }), }), "tweak": ({ ({ 0, "%s", 2, "%s %s", 1, "%s %s", }), ({ "You tweak $mhcname$ $arg:bottom,arm,bits,ear,leg,nose$", "$mcname$ tweaks your $lastarg$", "$mcname$ tweaks $mhcname$ $lastarg$" }), }), "twiddle": ({ ({ 3, "%s" }), ({ "You twiddle your $arg:thumbs,fingers,hair,nose$", "$mcname$ twiddles $mposs$ $lastarg$" }) }), "twitch": ({ ({ 3, "%s" }), ({ "You twitch your $arg:nose,arm,body,finger$", "$mcname$ twitches $mposs$ $lastarg$" }) }), "umm": ({ 0, ({ "You scratch your chin and say, \"Ummmm.\"", "$mcname$ scratches $mposs$ chin and says, \"Ummmm.\"" }), }), "wait": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "for %s %s", 1, "%s %s", 1, "%s for %s" }), ({ "You wait $arg:patiently,forever,impatiently,an eternity$", "$mcname$ waits $lastarg$", "You wait $arg:patiently,forever,impatiently,an eternity$ for $hcname$", "$mcname$ waits $lastarg$ for you", "$mcname$ waits $lastarg$ for $hcname$", }), }), "wake": ({ ({ 3, "%s", 0, "%s" }), ({ "You wake $arg:up,up and smell the cat food$", "$mcname$ wakes up", "You wake up $hcname$", "$mcname$ wakes you up", "$mcname$ wakes up $hcname$", }), }), "waggle": ({ ({ 0, "at %s", 0, "%s", 2, "%s %s", 1, "%s %s", 1, "%s at %s" }), ({ "$ifarg:You waggle your $arg:arm,ear,eyebrows,head,leg,nose,pinky,"+ "toe$ at $hcname$$else$What did $hcname$ do wrong??!?~$", "$mcname$ waggles $mposs$ $ifarg:$lastarg$$else$finger~$ at you", "$mcname$ waggles $mposs$ $ifarg:$lastarg$$else$finger~$"+ " at $hcname$" }) }), "waltz": ({ ({ 0, "%s", }), ({ "You waltz around the room with $hcname$", "$mcname$ waltzs around the room with you", "$mcname$ waltzs around the room with $hcname$", }) }), "wave": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 0, "to %s", 2, "%s %s", 2, "at %s %s", 2, "to %s %s", 1, "%s %s", 1, "%s at %s", 1, "%s to %s" }), ({ "You wave$ifarg: $arg:excitedly,forlornly,happily,insanely,lazily,"+ "longingly,madly,pointlessly,redundantly,sadly,sleepily,tiredly,"+ "with complete devotion,your tentacles,#$~$", "$mcname$ waves$ifarg: $lastarg$~$", "You wave$ifarg: $arg:excitedly,forlornly,happily,insanely,lazily,"+ "longingly,madly,pointlessly,redundantly,sadly,sleepily,tiredly,"+ "with complete devotion,your tentacles,#$~$ to $hcname$", "$mcname$ waves$ifarg: $lastarg$~$ to you", "$mcname$ waves$ifarg: $lastarg$~$ to $hcname$" }) }), "weep": ({ ({ 3, "%s", 0, "%s", 0, "for %s" }), ({ "You weep $arg:unashamedly,bitterly,sadly,uncontrollably$", "$mcname$ weeps $lastarg$", "You weep with $hcname$", "$mcname$ weeps with you", "$mcname$ weeps with $hcname$", }), }), "whicker": ({ 0, ({ "You whicker like a horse", "$mcname$ whickers like a horse", }) }), "whimper": ({ ({ 3, "%s" }), ({ "You whimper$ifarg: $arg:carefully,diminutively,fearfully,"+ "happily,meekly,painfully,winningly,in triumph$~$", "$mcname$ whimpers$ifarg: $lastarg$~$", }), }), "whine": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "to %s %s", 1, "%s %s", 1, "%s to %s" }), ({ "You whine $arg:pathetically,#$", "$mcname$ whines $lastarg$", "You whine $arg:pathetically,#$ to $hcname$", "$mcname$ whines $lastarg$ to you", "$mcname$ whines $lastarg$ to $hcname$", }), }), "whistle": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You whistle $arg:innocently,appreciatively,discordantly,loudly,"+ "musically,pleasantly,tunelessly,#$", "$mcname$ whistles $lastarg$", "You whistle $arg:appreciatively,discordantly,innocently,loudly,"+ "musically,pleasantly,tunelessly,#$ at $hcname$", "$mcname$ whistles $lastarg$ at you", "$mcname$ whistles $lastarg$ at $hcname$" }) }), "wibble": ({ ({ 3, "%s" }), ({ "You wibble $arg:maddeningly,annoyingly,around,constantly,down,"+ "loudly,sideways,up$", "$mcname$ wibbles $lastarg$", }) }), "wiggle": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You wiggle your bottom$ifarg: $arg:arrogantly,enticingly,nonchalantly,"+ "quickly,suggestively,tunelessly,vigorously$~$", "$mcname$ wiggles $mposs$ bottom$ifarg: $lastarg$~$", "You wiggle your bottom$ifarg: $arg:arrogantly,enticingly,nonchalantly,"+ "quickly,suggestively,tunelessly,vigorously$~$ at $hcname$", "$mcname$ wiggles $mposs$ bottom$ifarg: $lastarg$~$ at you", "$mcname$ wiggles $mposs$ bottom$ifarg: $lastarg$~$ at $hcname$" }) }), "wince": ({ 0, ({ "You wince", "$mcname$ winces" }) }), "wink": ({ ({ 3, "%s", 0, "%s", 0, "at %s", 2, "%s %s", 2, "at %s %s", 1, "%s %s", 1, "%s at %s" }), ({ "You wink$ifarg: $arg:broadly,coquettishly,coyly,curtly,despairingly,"+ "desperately,grumpily,insolently,knowingly,lazily,lovingly,"+ "patiently,sadistically,seductively,slowly,suggestively,warily,#$~$", "$mcname$ winks$ifarg: $lastarg$~$", "You wink$ifarg: $arg:broadly,coquettishly,coyly,curtly,despairingly,"+ "desperately,grumpily,insolently,knowingly,lazily,lovingly,"+ "patiently,sadistically,seductively,slowly,suggestively,warily,#$~$"+ " at $hcname$", "$mcname$ winks$ifarg: $lastarg$~$ at you", "$mcname$ winks$ifarg: $lastarg$~$ at $hcname$" }) }), "wipe": ({ ({ 3, "%s", 3, "the %s", 0, "%s", 0, "on %s", 2, "%s %s", 1, "%s %s", 1, "%s on %s" }), ({ "You wipe the $arg:sweat from your brow,smile off your face$", "$mcname$ wipes the $lastarg$", "You wipe your $arg:hands,arm,leg,nose$ on $hcname$", "$mcname$ wipes $mposs$ $lastarg$ on you", "$mcname$ wipes $mposs$ $lastarg$ on $hcname$" }) }), "wobble": ({ ({ 3, "%s" }), ({ "You wobble $arg:around a bit,happily,unsteadily,like jelly$", "$mcname$ wobbles $lastarg$", }) }), "womble": ({ ({ 3, "%s", 0, "%s", 0, "around %s", 2, "%s %s", 1, "%s %s", 1, "%s around %s" }), ({ "You womble around$ifarg: $arg:#$~$", "$mcname$ wombles around$ifarg: $lastarg$~$", "You womble around $hcname$ $arg:happily,peacefully,brightly,commonly,"+ "greenly,once, sadly,twice,doing a dance to the great frog in the "+ "sky,#$", "$mcname$ wombles around you $lastarg$", "$mcname$ wombles around $hcname$ $lastarg$" }) }), "wonder": ({ ({ 3, "%s" }), ({ "You wonder $ifarg:$arg:#$$else$about reality and how "+ "boring it can be~$", "$mcname$ wonder $ifarg:$arg:#$$else$about reality and how "+ "boring it can be~$", }) }), "worship": ({ ({ 3, "%s", 0, "%s" }), ({ "You worship $ifarg:$arg:#$$else$your favorite deity~$", "$mcname$ worships $ifarg:$lastarg$$else$$mposs$ favorite deity~$", "You worship $hcname$", "$mcname$ worships you", "$mcname$ worships $hcname$" }) }), "wrinkle": ({ ({ 3, "%s", }), ({ "You wrinkle your $arg:nose,eyebrows,time$", "$mcname$ wrinkles $mposs$ $lastarg$", }) }), "yawn": ({ ({ 3, "%s" }), ({ "You yawn $arg:tiredly,boredly,brightly,happily,sleepily,in sympathy$", "$mcname$ yawns $lastarg$" }) }), "yodel": ({ ({ 3, "%s", 0, "%s", 2, "%s %s", 2, "to %s %s", 1, "%s %s", 1, "%s to %s", }), ({ "You yodel $arg:loudly,annoyingly,carefully,constantly,dreamily,"+ "feverishly,happily,incessantly,longingly,quickly,romantically,"+ "sadly,sternly,to the tune of William Tell's Overture,"+ "tunelessly,with the frogs$", "$mcname$ yodels $lastarg$", "You yodel $arg:loudly,annoyingly,carefully,constantly,dreamily,"+ "feverishly,happily,incessantly,longingly,quickly,romantically,"+ "sadly,sternly,to the tune of William Tell's Overture,"+ "tunelessly,with the frogs$"+ " to $hcname$", "$mcname$ yodels $lastarg$ to you", "$mcname$ yodels $lastarg$ to $hcname$", }), }), "zip": ({ ({ 0, "%s" }), ({ "You zip around the room", "$mcname$ zips around the room", "You zip around $hcname$", "$mcname$ zips around you", "$mcname$ zips around $hcname$", }), }), ]); } /* setup() */ string query_long() { int i, j; string s, s1, s2, bit; string data; string *cmds; mixed *values; s = "Here are the New Moon's current soul commands.\n"+ "The # before a soul command means it has strange arguments.\n"+ "The * after a soul command means you may only use it at someone.\n"+ "The + after a soul command means you may or may not use it "+ "at someone.\n"+ "Total number of soul commands is " + m_sizeof( soul_data ) + ".\n"+ "-----------------------------------------------------------"+ "------------------\n"; if( calc_long ) { s += sprintf("%#-*s\nShare and enjoy. Please use the \"soul\" "+ "command to report errors and to make suggestions for new "+ "commands.\n", this_player()->query_cols(), calc_long ); return s; } cmds = m_indices( soul_data ); values = m_values( soul_data ); j = 0; data = ""; cmds = sort_array( cmds, "soul_sort", this_object() ); for( i = 0; i < sizeof( cmds ); i++ ) { j++; bit = cmds[ i ]; values = soul_data[ cmds[ i ] ]; if( sizeof( values[ 1 ] ) == 3 ) { bit += "*"; } else if( sizeof( values[ 1 ] ) == 5 ) { bit += "+"; } if( sscanf( values[ 1 ][ 0 ], "%s$arg:%s", s1, s2 ) == 2 ) { bit = "#" + bit; } data += bit + "\n"; } s += sprintf( "%#-*s\n-------------------------------------"+ "----------------------------------------\n"+ "Share and enjoy. Please use the \"soul\" command to "+ "report errors and to make suggestions for new commands.\n", this_player()->query_cols(), data ); calc_long = data; return s; } /* query_long() */ int soul_sort( string s1, string s2 ) { return strcmp( s1, s2 ); } /* soul_sort() */ string long( string str, int dark ) { return query_long(); } parse_string( s, ob, arg, uhn ) { string s1, s2, s3, s4, str, s5, arr; int i; str = s; s4 = ""; while( sscanf( str, "%s$%s$%s", s1, s2, s3 ) == 3 ) switch( s2 ) { case "mcname": if( this_player()->query_invis() && !ob->query_creator() ) str = s1 + "Somebody" + s3; else str = s1 + this_player()->query_cap_name() + s3; break; case "mname": if( this_player()->query_invis() && !ob->query_creator() ) str = s1 + "somebody" + s3; else str = s1 + this_player()->query_name() + s3; break; case "mpronoun": str = s1 + this_player()->query_pronoun() + s3; break; case "hpronoun": str = s1 + ob->query_pronoun() + s3; break; case "mobj": str = s1 + this_player()->query_objective() + s3; break; case "hobj": str = s1 + ob->query_objective() + s3; break; case "mposs": str = s1 + this_player()->query_possessive() + s3; break; case "hposs": str = s1 + ob->query_possessive() + s3; break; case "lastarg": str = s1 + lastarg + s3; break; case "mhcname": if( uhn ) { str = s1 + ob->query_cap_name() + "'s" + s3; break; } case "hcname": if( uhn ) { str = s1 + ob->query_cap_name() + s3; break; } case "hname": if( uhn ) { str = s1 + ob->query_name() + s3; break; } default: s4 += s1 + "$" + s2; if( !s3 ) str = "$"; else str = "$" + s3; break; } /* switch() */ str = s4 + str; while( sscanf( str, "%s$force#%s#%d$%s", s1, s2, i, s3 ) == 4 ) { call_out( "do_force", i, ({ s2, ob }) ); str = s1 + s3; } while( sscanf( str, "%s$arg:%s$%s", s1, s2, s3 ) == 3 ) { if( arg == "?" ) { string *yellow; yellow = explode( s2, "," ); lastarg = yellow[ random( sizeof( yellow ) ) ]; str = s1 + lastarg + s3; lastarg = replace( lastarg, "your", this_player()->query_possessive() ); } else if( s2 == "#" ) { lastarg = replace( arg, "your", this_player()->query_possessive() ); str = s1 + arg + s3; } else { if( sscanf( "," + s2 + global_adj + ",", "%s," + arg + "%s,%s", s2, s4, s5 ) == 3 ) { str = s1 + arg + s4 + s3; lastarg = replace( arg + s4, "your", this_player()->query_possessive() ); } else { if( sscanf( "," + s2 + ",", "%s,#,%s", s2, s4 ) == 2 ) { str = s1 + arg + s3; lastarg = replace( arg, "your", this_player()->query_possessive() ); } else { write( "You cannot do that. Available options are " + replace( s2, ",", ", " ) + ".\n" ); return 0; } } } } while( sscanf( str, "%s$ifarg:%s~$%s", s1, s2, s3 ) == 3 ) { string estr; sscanf( s2, "%s$else$%s", s2, estr ); if( arg && arg != "" ) str = s1 + parse_string( s2, ob, arg, 1 ) + s3; else if( estr ) str = s1 + parse_string( estr, ob, arg, 1 ) + s3; else str = s1 + s3; } return str; } /* parse_string() */ find_all_liv( str ) { object ob, ret; int i; ret = ({ }); str = lower_case( str ); if( str == "creators" && this_player()->query_creator() && !this_player()->check_earmuffs( "remote-soul" ) ) { ob = users(); for( i = 0; i < sizeof( ob ); i++ ) if( ob[ i ] == this_player() || ob[ i ]->query_invis() || !ob[ i ]->query_creator() || ob[ i ]->check_earmuffs( "remote-soul" ) ) { ob = delete( ob, i, 1 ); i--; } return ob; } if( str == "everyone" && this_player()->query_creator() && !environment( this_player() )->query_property( "no remote" ) && !this_player()->check_earmuffs( "remote-soul" ) ) { ob = users(); for( i = 0; i < sizeof( ob ); i++ ) if( ob[ i ] == this_player() || ob[ i ]->query_invis() || ob[ i ]->check_earmuffs( "remote-soul" ) ) { ob = delete( ob, i, 1 ); i--; } return ob; } if( str == "someone" && !this_player()->check_earmuffs( "remote-soul" ) && !environment( this_player() )->query_property( "no remote" ) ) { ob = users() - ({ this_player() }); if( !sizeof( ob ) ) return({ this_player() }); do { ret = ob[ random( sizeof( ob ) ) ]; } while( ret->check_earmuffs( "remote-soul" ) || ret->query_invis() ); return({ ret }); } ob = find_match( str, environment( this_player() ) ); for( i = 0; i < sizeof( ob ); i++ ) if( living( ob[ i ] ) && ob[ i ] != this_player() && member_array( ob[ i ], ret ) == -1 ) ret += ({ ob[ i ] }); if( sizeof( ret ) ) return ret; if( ( ob = find_living( str ) ) ) if( member_array( ob, ret ) == -1 && !environment( this_player() )->query_property( "no remote" ) && !this_player()->check_earmuffs( "remote-soul" ) && !ob->check_earmuffs( "remote-soul" ) ) { ret += ({ ob }); } return ret; } /* find_all_liv() */ string get_name( object ob ) { return( string ) ob->query_cap_name(); } /* get_name() */ soul_command( verb, str ) { int i, cur, j, lvl; object *ob, *tmp_ob; string tmp, nick, last, liv, other, s1, s2, livfail; mixed *data; lastarg = ""; ob = ({ }); data = soul_data[ verb ]; if( !data ) return 0; if( str && sizeof( data[ 1 ] ) == 2 && data[ 1 ][ 0 ] != '#' ) notify_fail( "No matter how hard you try, you fail to manage " + "this.\n" ); if( !data[ 0 ] || !str ) { liv = 0; other = ""; } else for( j = 0; j < sizeof( data[ 0 ] ); j += 2 ) switch( data[ 0 ][ j ] ) { case 0: if( lvl > 1 ) break; if( sscanf( str, data[ 0 ][ j + 1 ], s1 ) == 1 ) if( sizeof( ( tmp_ob = find_all_liv( s1 ) ) ) ) { lvl = 1; other = ""; liv = s1; ob = tmp_ob; } else livfail = s1; break; case 1: if( lvl > 2 ) break; if( sscanf( str, data[ 0 ][ j + 1 ], s1, s2 ) == 2 ) if( sizeof( ( tmp_ob = find_all_liv( s2 ) ) ) ) { lvl = 2; liv = s2; other = s1; if( data[ 0 ][ j + 1 ] != "%s %s" ) lvl++; ob = tmp_ob; } else livfail = s2; break; case 2: if( lvl > 2 ) break; if( sscanf( str, data[ 0 ][ j + 1 ], s1, s2 ) == 2 ) if( sizeof( ( tmp_ob = find_all_liv( s1 ) ) ) ) { lvl = 2; liv = s1; other = s2; if( data[ 0 ][ j + 1 ] != "%s %s" ) lvl++; ob = tmp_ob; } else livfail = s2; break; case 3: if( lvl > 0 ) break; if( sscanf( str, data[ 0 ][ j + 1 ], s1 ) == 1 ) { other = s1; liv = 0; ob = ({ }); } break; } /* end switch */ if( liv ) { string me, him, every; if( !liv && ( str && data[ 1 ][ 0 ] != '#' ) ) liv = str; str = other; if( !sizeof( ob ) ) { notify_fail( "Sorry, but '" + liv + "' is not logged in.\n" ); return 0; } if( sizeof( data[ 1 ] ) == 3 ) { me = data[ 1 ][ 0 ]; him = data[ 1 ][ 1 ]; every = data[ 1 ][ 2 ]; } else if( sizeof( data[ 1 ] ) == 5 ) { me = data[ 1 ][ 2 ]; him = data[ 1 ][ 3 ]; every = data[ 1 ][ 4 ]; } else { notify_fail( "You cannot use that soul command in "+ "two thingy mode.\n" ); return 0; } if( sizeof( ob ) == 1 ) { tmp = parse_string( me, ob[ cur ], str, 1 ); if( !tmp ) return 1; /* targ */ s1 = parse_string( him, ob[ cur ], str, 1 ); if( member_array( extract( s1, strlen( s1 ) - 1 ), PUNCT ) == -1 ) s1 += "."; ob[ 0 ]->event_soul( this_player(), s1 + "\n", ({ }), verb, last, ob[ 0 ] ); ob[ 0 ]->event_soul_command( this_object(), verb, this_player(), liv, other ); /* env */ s2 = parse_string( every, ob[ cur ], str, 1 ); if( member_array( extract( s2, strlen( s2 ) - 1 ), PUNCT ) == -1 ) s2 += "."; event( environment( previous_object() ), "soul", s2 + "\n", ({ ob[ 0 ], previous_object() }), verb, last, ob[ 0 ] ); if( environment( previous_object() ) != environment( ob[ 0 ] ) && environment( ob[ 0 ] ) ) { event( environment( ob[ cur ] ), "soul", s2 + "\n", ({ ob[ 0 ], previous_object() }), verb, last, ob[ 0 ] ); } /* me */ if( member_array( extract( tmp, strlen( tmp ) - 1 ), PUNCT ) == -1 ) tmp += "."; this_player()->event_soul( this_player(), tmp + "\n", ({ }), verb, last, ob[ 0 ] ); } else { tmp = parse_string( me, ob, str ); if( !tmp ) return 1; parse_string( him, ob, str ); /* To get the forces */ s2 = parse_string( every, ob, str ); tmp_ob = map_array( ob, "get_name", this_object() ); ob = unique_array( ob, "query_current_room" ); this_player()->event_soul( this_player(), replace( tmp, ({ "$hcname$", ( s1 = implode( tmp_ob[ 1..1000 ], ", " ) + " and " + tmp_ob[ 0 ] ), "$mhcname$", s1 + "'s" }) ) + ".\n", ({ }), verb, last, ob ); s1 = replace(s2, ({ "$hcname$", ( s1 = implode( tmp_ob[ 1..1000 ], ", " ) + " and " + tmp_ob[ 0 ] ), "$mhcname$", s1 + "'s" }) ); if( (int)this_player()->query_social_points() < sizeof( ob ) * 3 ) { notify_fail( "You don't have enough social points.\n" ); return 0; } this_player()->adjust_social_points( -sizeof( ob ) * 3 ); for( i = 0; i < sizeof( ob ); i++ ) { event( environment( ob[ i ][ 0 ] ), "soul", s1 + ".\n", ({ previous_object() }) + ob[ i ], verb, last, ob[ i ] ); for( cur = 0; cur < sizeof( ob[ i ] ); cur++ ) ob[ i ][ cur ]->event_soul( this_player(), replace( s2, ({ "$hcname$", implode( tmp_ob - ({ get_name( ob[ i ][ cur ] ) }), ", " ) + " and you", "$mhcname$", implode( tmp_ob - ({ get_name( ob[ i ][ cur ] ) }), ", " ) + " and your", }) ) + ".\n", ({ }), verb, last, ob[ i ][ cur ] ); } } /* while( cur < sizeof( ob )) { if( environment( ob[ cur ] ) != environment( this_player() ) ) if( this_player()->query_social_points() < 0 ) { notify_fail( "Not enough social points to do that.\n" ); return 0; } else this_player()->adjust_social_points( -3 ); tmp = parse_string( me, ob[ cur ], str ); if( !tmp ) return 1; this_player()->event_soul( this_player(), tmp + ".\n", ({}), verb, last, ob[ cur ]); ob[ cur ]->event_soul( this_player(), parse_string( him, ob[ cur ], str, last )+ ".\n", verb, last, ob[ cur ]); ob[ cur ]->event_soul_command( this_object(), verb, this_player(), liv, other ); event( environment( previous_object() ), "soul", parse_string( every, ob[ cur ], str, last ) + ".\n", ({ ob[ cur ], previous_object() }), verb, last, ob[ cur ]); if( environment( previous_object() ) != environment( ob[ cur ] ) && environment( ob[ cur ] ) ) { event( environment( ob[ cur ]), "soul", parse_string( every, ob[ cur ], str, last ) + ".\n", ({ ob[ cur ], previous_object() }), verb, last, ob[ cur ]); } cur++; } */ return 1; } else if( sizeof( data[ 1 ] ) == 3 ) { if( !livfail ) notify_fail( "You don't have the courage to do that.\n" ); else notify_fail( "Cannot find '" + livfail + "'.\n" ); return 0; } if( !other ) other = ""; tmp = parse_string( data[ 1 ][ 0 ], ob, other ); if( !tmp ) return 1; s1 = parse_string( data[ 1 ][ 1 ], this_player(), other ); if( member_array( extract( s1, strlen( s1 ) - 1 ), PUNCT ) == -1 ) s1 += "."; event( environment( previous_object() ), "soul", s1 + "\n", ({ previous_object() }), verb, last, 0 ); if( member_array( extract( tmp, strlen( tmp ) - 1 ), PUNCT ) == -1 ) tmp += "."; this_player()->event_soul( this_player(), tmp + "\n", ({ }), verb, last, 0 ); return 1; } /* soul_command() */ do_force( str ) { int i; if( undefinedp( soul_data[ str[ 0 ] ] ) ) return; if( pointerp( str[ 1 ] ) ) for( i = 0; i < sizeof( str[ 1 ] ); i++ ) str[ 1 ][ i ]->soul_com_force( str[ 0 ] ); else str[ 1 ]->soul_com_force( str[ 0 ] ); } void add_soul_command( string name, mixed format, mixed thingo ) { if( soul_data[ name ] ) return; if( format && !pointerp( format ) ) return; if( !stringp( name ) ) return; if( !pointerp( thingo ) ) return; if( sizeof( thingo ) != 3 && sizeof( thingo ) != 2 && sizeof( thingo ) != 5 ) return; soul_data[ name ] = ({ format, thingo }); } void delete_soul_command( string name ) { soul_data = m_delete( soul_data, name ); } string help_soul( string str ) { int j; int i, off; string s1, s2, s3, s4, ret, *bit; object ob; mixed *data; data = soul_data[ str ]; if( !data ) return 0; ret = ""; if( !pointerp( data[ 0 ] ) ) return( sprintf( "The soul command \"%s\" has no optional " + "parameters.\n", str ) ); for( j = 0; j < sizeof( data[ 0 ] ); j += 2 ) { bit = explode( " " + data[ 0 ][ j + 1 ] + " ", "%s" ); switch( data[ 0 ][ j ] ) { case 0: ret += str + bit[ 0 ] + "<person>" + bit[ 1 ]; break; case 2: ret += str + bit[ 0 ] + "<person>" + bit[ 1 ] + "<argument>" + bit[ 2 ]; break; case 1: ret += str + bit[ 0 ] + "<argument>" + bit[ 1 ] + "<person>" + bit[ 2 ]; break; case 3: ret += str + bit[ 0 ] + "<argument>" + bit[ 1 ]; break; } ret += "\n"; } ret = "-=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- " + "-=*=- -=*=- -=*=- -=*=-\n" + "Usage of the soul command \""+str+"\":\n" + "------------------------------------------------------" + "-----------------------\n" + sprintf( "%-#*s\n", this_player()->query_cols(), ret ); if( sizeof( data[ 1 ] ) == 2 || sizeof( data[ 1 ] ) == 5 ) { ret += "\nIn non-targeted mode:\n"; bit = ({ }); if( sscanf( data[ 1 ][ 0 ], "%s$arg:%s$%s", s1, s2, s3 ) == 3 ) bit = explode( s2, "," ); if( sscanf( data[ 1 ][ 0 ], "%s$ifarg:%s~$%s", s1, s2, s3 ) == 3 ) { ret += "\"" + str + "\" has a different no-arguments command.\n" + "The arguments for \"" + str + "\" are selected from: " + implode( bit, ", " ) + ".\n"; } else if( !sizeof( bit ) ) ret += "\"" + str + "\" has no cute arguments.\n"; else ret += "\"" + str + "\" has these cute arguments: " + implode( bit, ", " ) + ".\n"; off = 2; } if( sizeof( data[ 1 ] ) == 3 || sizeof( data[ 1 ] ) == 5 ) { ret += "\nIn targeted mode:\n"; bit = ({ }); if( sscanf( data[ 1 ][ off + 0 ], "%s$arg:%s$%s", s1, s2, s3 ) == 3 ) bit = explode( s2, "," ); if( sscanf( data[ 1 ][ off + 0 ], "%s$ifarg:%s~$%s", s1, s2, s3 ) == 3 ) { ret += "\"" + str + "\" has a different no-arguments command.\n" + "The arguments for \"" + str + "\" are selected from: " + implode( bit, ", ") + ".\n"; } else if( !sizeof( bit ) ) ret += "\"" + str + "\" has no cute arguments.\n"; else ret += "\"" + str + "\" has these cute arguments: " + implode( bit, ", " ) + ".\n"; off = 2; } ret += "------------------------------------------------------"+ "-----------------------\n"; return ret; } /* soul_help() */