Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Given a list of words to choose from, Adj() selects one at random
- // Named because it was originally for randomly choosing adjectives
- char *Adj(int Amount, char *Word, ...) {
- va_list vl;
- va_start(vl,Word);
- char *Chk = Word;
- int Which = rand()%Amount;
- while(Which){
- if(Chk == NULL) break;
- Which--;
- Chk=va_arg(vl,char*);
- }
- va_end(vl);
- return(Chk);
- return(NULL); // no matches
- }
- // add to this list if you want, but be sure to update the number in SomeSpecies()
- char *RandomSpecies[] = {"fox","wolf","kangaroo","raccoon","deer","skunk","hamster","dingo","coyote","kitty","squirrel","bunny","rabbit","dragon","canine","feline","vulpine","pony",NULL};
- char *SomeSpecies(){return(RandomSpecies[rand() % 18]);}
- // Designed to be easy to steal and use in your own project.
- static int yiff_cb(char *word[], char *word_eol[], void *userdata) {
- // checking if null arguments were passed
- if (word[2]==NULL) return(XCHAT_EAT_ALL);
- if (!strcasecmp(word[2],"")) return(XCHAT_EAT_ALL);
- // alter the number if you add/take away yiffscript choices
- int MaxYiffScript =42;
- int assmunch = rand()%MaxYiffScript;
- // fetch these however your IRC client does it
- const char *MyNick = xchat_get_info(ph,"nick");
- const char *Victim = word[2];
- char CommandBuf[2048]; // I'm sick and tired of buffer overflow crashing my IRC bot,
- char ChainBuffer[2048]; // so I'll just raise the buffers to stupid sizes.
- //sprintf(CommandBuf, "fails to find any YiffScript actions that match id %i", assmunch);
- sprintf(CommandBuf, "fails to find any YiffScript actions that match id %i", assmunch);
- strcpy(ChainBuffer, "");
- char *MySpecies=SomeSpecies();
- char *YourSpecies=SomeSpecies();
- char *UsedBy="";
- char *ReplyWith = "me";
- int YiffChain = 1;
- // scan through these however your IRC client does it
- int i;
- for(i=3;word[i]!=NULL && strcasecmp(word[i],"");i++) {
- if(!strcasecmp(word[i],"-am")) // set assmunch
- assmunch = strtol(word[i+1],NULL,10);
- if(!strcasecmp(word[i],"-ms")) // set my species
- MySpecies = word[i+1];
- if(!strcasecmp(word[i],"-ys")) // set your species
- YourSpecies=word[i+1];
- if(!strcasecmp(word[i],"-usedby")) // just in case
- UsedBy=word[i+1];
- if(!strcasecmp(word[i],"-bserv")) // have BotServ yiff the person instead
- ReplyWith = "bsdo";
- if(!strcasecmp(word[i],"-yc")) { // start a yiffchain!
- YiffChain=strtol(word[i+1],NULL,10)&3;
- // going too high crashes stuff with all the yiffiness so I'll cap it at 3
- }
- }
- for(;YiffChain;YiffChain--) { // really sloppy way of implementing yiffchains
- if (assmunch == 0) sprintf(CommandBuf,"rubs %s's %s while groping at his crotch with his feet",Victim,Adj(3,"member","footpaws","knot"));
- if (assmunch == 1) sprintf(CommandBuf,"grabs %s, twirls him around like a dancer and places a kiss on his lips, fondling his tailhole for a second so he can taste it later ",Victim);
- if (assmunch == 2) sprintf(CommandBuf,"rubs %s's hard %s while reaching back for some extra tailhole fun",Victim,Adj(2,"knot","member"));
- if (assmunch == 3) sprintf(CommandBuf,"snuggletackles %s and starts romping on top of him",Victim);
- if (assmunch == 4) sprintf(CommandBuf,"takes %s's %s %s into his maw and begins suckling like one would their mother's breast", Victim,Adj(8,"stiff","hard","long","tasty","thick","erect","throbbing","pulsing"),Adj(3,"rod","shaft","member"));
- if (assmunch == 5) sprintf(CommandBuf,"puts his fingers on %s's mouth to shush him as he starts working his %s %s%s",Victim,Adj(2,"throbbing","pulsing"),YourSpecies,Adj(4,"hood"," member"," penis"," rod"));
- if (assmunch == 6) sprintf(CommandBuf,"caresses %s's furry ballsac, inhaling %s's sweet musk through his nostrils, his %s starting to grow from all the sensations", Victim, Victim, Adj(2,"member","rod"));
- if (assmunch == 7) sprintf(CommandBuf,"murrs, humping softly against %s's hand, twisting the tip of his finger in %s's %s", Victim, Victim, Adj(3,"butthole","tailhole","tailstar"));
- if (assmunch == 8) sprintf(CommandBuf,"licks along %s's silky lips, taking %s's exposed %s%s and plays with the tip, rubbing the underside with his thumb slowly towards the tip", Victim, Victim, YourSpecies, Adj(3,"hood","hood"," member"));
- if (assmunch == 9) sprintf(CommandBuf,"gets a firm grip on %s's hip as he thrusts his %shood deep within his tight and inexperienced %s, unexpectedly ramming his knot causing an orgasm of pain and pleasure for %s",Victim,MySpecies,Adj(2,"tailhole","tailstar"),Victim);
- if (assmunch == 10){sprintf(CommandBuf,"emerges from his sheathe, his hard knot glistening in the moist air"); YiffChain++; }
- if (assmunch == 11) sprintf(CommandBuf,"pokes a finger into %s's %s sheath, tasting the tip of his finger in excitement", Victim,Adj(2,"moist","wet"));
- if (assmunch == 12) sprintf(CommandBuf,"%s %s %s all over %s",Adj(4,"sprays","blasts","jets","squirts"),Adj(8,"hot","sticky","slick","warm","delicious","yummy","tasty","illegal"),Adj(3,"sperm","seed","cum"),Victim);
- if (assmunch == 13) sprintf(CommandBuf,"clenches his firm, supple buttocks around the %s head of %s's %s%s", Adj(4,"thick","hard","slick","wet"), Victim, YourSpecies, Adj(3,"cock","hood"," member"));
- if (assmunch == 14) sprintf(CommandBuf,"runs his %s along %s's soft and slender thighs, running up to his %s %s%s ",Adj(2,"fingers","paws"), Victim, Adj(3,"thick and juicy","partially erect","hard, throbbing"), YourSpecies, Adj(3,"hood","cock"," member"));
- if (assmunch == 15) sprintf(CommandBuf,"wraps his hands around %s's back, moving downward while kissing along his soft yet sturdy chest and abs",Victim);
- if (assmunch == 16) sprintf(CommandBuf,"runs his %s through %s's silky fur, rubbing his %s to get him excited",Adj(2,"fingers","paws"),Victim,Adj(2,"dick","ear"));
- if (assmunch == 17) sprintf(CommandBuf,"slips his tongue into %s's moist sheath, taking in all the flavors of his %s musk",Victim,YourSpecies);
- if (assmunch == 18) sprintf(CommandBuf,"takes %s's entire %s length into his mouth, leaking precum in excitement",Victim, YourSpecies);
- if (assmunch == 19) sprintf(CommandBuf,"cuddles close to %s, his excitement poking %s from behind",Victim,Victim);
- if (assmunch == 20) sprintf(CommandBuf,"pushes down onto %s's lap with his weight, thrusting %s's knot deep within his %s",Victim,Victim, Adj(2,"tailstar","tailhole"));
- if (assmunch == 21) sprintf(CommandBuf,"rubs his petite bottom on %s's well-endowed %s-cock",word[2],YourSpecies);
- if (assmunch == 22) sprintf(CommandBuf,"murrs as he slides his paw over %s's %s %s %s",Victim, Adj(9,"throbbing","huge","gigantic","enormous","freaking huge", "ridiculously sized", "illegally sized","massive","itty bitty"), YourSpecies,Adj(4,"cock","penis","length","member"));
- if (assmunch == 23) sprintf(CommandBuf,"pushes down on %s's rock hard %s%s with his palm, sliding around with his precum", Victim, YourSpecies,Adj(4,"cock","hood"," member"," rod"));
- if (assmunch == 24) sprintf(CommandBuf,"twirls around %s's long %s-neck, planting a kiss on his big %s mouth",Victim,YourSpecies,Adj(3,"jizz dripping","slimy","sticky"));
- if (assmunch == 25) sprintf(CommandBuf,"slides %s fingers into %s's %s %s while fondling hir sheathe",Adj(4,"two","three","four","over 9000"),Victim,Adj(4,"juicy","tight","erect","wet"),Adj(3,"pussy","vagina","cunt"));
- if (assmunch == 26) sprintf(CommandBuf,"tries to go down on %s's sweet %s-gina, but is pushed back by hir throbbing %s",Victim,YourSpecies,Adj(2,"member","rod"));
- if (assmunch == 27) sprintf(CommandBuf,"takes a painfully hard grip on %s's %s%s from behind and %s his knot right up %s %s %s", Victim, YourSpecies, Adj(3,"hood","cock"," member"), Adj(5,"jams","forces","shoves","pushes","slams"), Adj(3,"his","her","hir"), Adj(2,"virgin","tight"), Adj(2,"tailhole","tailstar"));
- if (assmunch == 28) sprintf(CommandBuf,"slides his throbbing %s%s along %s's luscious %s breasts, leaving a trail of precum along %s sweat-glistened chest", MySpecies, Adj(3,"hood","cock"," member"), Victim, YourSpecies, Adj(3,"her","his","hir"));
- if (assmunch == 29) sprintf(CommandBuf,"puts %s muzzle between %s's smooth thighs and starts lapping at %s %s %sclit", Adj(3,"her","his","hir"), Victim, Adj(2,"her","hir"), Adj(3,"slippery","sensitive","erect"), YourSpecies);
- if (assmunch == 30) sprintf(CommandBuf,"gently slides his paw over %s's right foot while gliding a finger over his tailhole in anticipation",Victim);
- if (assmunch == 31){sprintf(CommandBuf,"drags a foxy claw across the ridges of %s's circumcision scar",Victim); YiffChain++; }
- if (assmunch == 32) sprintf(CommandBuf,"%s a huge creamy yiffload all over %s", Adj(4,"busts","blasts","shoots","jets"), Victim);
- if (assmunch == 33) sprintf(CommandBuf,"takes %s and ravages them from behind with a huge %s boner.",word[2],MySpecies);
- if (assmunch == 34) sprintf(CommandBuf,"aims and shoots, but misses %s's mouth, leaving a mess of jizz dripping down %s's chin!",Victim,Victim);
- if (assmunch == 35) sprintf(CommandBuf,"%s gallons of %s jizz all over %s", Adj(2,"blasts","pumps"), MySpecies, word[2]);
- if (assmunch == 36) sprintf(CommandBuf,"howls with pleasure as %s pulls his knot out of his hole, stretching it to an obscene size before a loud \"POP\" is heard and %s's %sjuice cascades down his already drenched thighs",word[2],Victim,YourSpecies);
- if (assmunch == 37) sprintf(CommandBuf,"nibbles softly on the carrot protruding from %s's juicy hole as %s's fluffy bunnytail tickles %s face",Victim,Victim, Adj(3,"his","her", "hir"));
- if (assmunch == 39) sprintf(CommandBuf,"tailwavies~ at %s, showing him his engorged, dripping %s%s",Victim, MySpecies, Adj(3,"hood","cock"," member"));
- if (assmunch == 40) sprintf(CommandBuf,"critches the inside of %s's rosebud with his entire hand while lapping up the fountain of %s butter escaping from %s's engorged member",Victim,YourSpecies,Victim);
- if (assmunch == 41) sprintf(CommandBuf,"mounts %s and thrusts his %s %s cock deeply in his tight ass, ramming his bulging knot deeper with each pump, his balls smacking against the %s's ass while his already engorged member squirts pre all in you", Victim, Adj(2,"throbbing","pulsing"), MySpecies, YourSpecies);
- if (assmunch == 42) sprintf(CommandBuf,"rubs his paws through %s's %sfuzz, sticking his muzzle under the %s's tail giving %s %s a nice warm lick", Victim, Adj(3,"butt","butt","ass"), YourSpecies, Adj(2,"his","her"), Adj(2,"tailstar","tailhole"));
- if(NULL != strstr(CommandBuf,"fails to")) {
- YiffChain++;
- assmunch = rand()%MaxYiffScript; // pick a new yiff action
- continue;
- }
- else {
- strcat(ChainBuffer, CommandBuf);
- if(YiffChain != 1) strcat(ChainBuffer, ", and then "); // "and after that"
- }
- //<NovaYoshi> Note the "and then"
- //<Kyurel> "and then"
- //<Kyurel> is that the best you can come up with?
- //<NovaYoshi> yes
- //<Kyurel> you should have a whole bunch of conjoining strings
- //<Kyurel> so that it's not like
- //<Kyurel> "and then... and then... and then... and then"
- //<Kyurel> maybe
- //<Kyurel> "next... then... thenceforth... finally..."
- assmunch = rand()%MaxYiffScript; // pick a new yiff action
- }
- sprintf(CommandBuf, "%s %s", ChainBuffer, Adj(6,"","","<3",":3","=^____^=","=^________^=")); // append a smiley
- xchat_commandf(ph, "%s %s", ReplyWith, CommandBuf); // unleash the awesomeness that is yiffscript
- return XCHAT_EAT_ALL; /* eat this command so xchat and other plugins can't process it */
- }
Add Comment
Please, Sign In to add comment