summaryrefslogtreecommitdiffstats
path: root/stone_soup/crawl-ref/source/insult.cc
diff options
context:
space:
mode:
Diffstat (limited to 'stone_soup/crawl-ref/source/insult.cc')
-rw-r--r--stone_soup/crawl-ref/source/insult.cc672
1 files changed, 0 insertions, 672 deletions
diff --git a/stone_soup/crawl-ref/source/insult.cc b/stone_soup/crawl-ref/source/insult.cc
deleted file mode 100644
index 1e8c629ab9..0000000000
--- a/stone_soup/crawl-ref/source/insult.cc
+++ /dev/null
@@ -1,672 +0,0 @@
-// insult generator
-// Josh Fishman (c) 2001, All Rights Reserved
-// This file is released under the GNU GPL, but special permission is granted
-// to link with Linley Henzel's Dungeon Crawl (or Crawl) without change to
-// Crawl's license.
-//
-// The goal of this stuff is catachronistic feel.
-
-#include "AppHdr.h"
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "externs.h"
-#include "insult.h"
-#include "mon-util.h"
-#include "stuff.h"
-
-static const char* insults1(void);
-static const char* insults2(void);
-static const char* insults3(void);
-static const char* run_away(void);
-static const char* give_up(void);
-static const char* meal(void);
-static const char* whilst_thou_can(void);
-static const char* important_body_part(void);
-static const char* important_spiritual_part(void);
-
-static void init_cap(char *);
-
-void init_cap(char * str)
-{
- if (str != NULL)
- str[0] = toupper( str[0] );
-}
-
-void imp_taunt( struct monsters *mons )
-{
- char buff[80];
- const char *mon_name = ptr_monam( mons, DESC_CAP_THE );
-
- snprintf( buff, sizeof(buff),
- "%s, thou %s!",
- random2(7) ? run_away() : give_up(),
- generic_insult() );
-
- init_cap( buff );
-
- // XXX: Not pretty, but stops truncation...
- if (strlen( mon_name ) + 11 + strlen( buff ) >= 79)
- {
- snprintf( info, INFO_SIZE, "%s shouts:", mon_name );
- mpr( info, MSGCH_TALK );
-
- mpr( buff, MSGCH_TALK );
- }
- else
- {
- snprintf( info, INFO_SIZE, "%s shouts, \"%s\"", mon_name, buff );
- mpr( info, MSGCH_TALK );
- }
-}
-
-void demon_taunt( struct monsters *mons )
-{
- static const char * sound_list[] =
- {
- "says", // actually S_SILENT
- "shouts",
- "barks",
- "shouts",
- "roars",
- "screams",
- "bellows",
- "screeches",
- "buzzes",
- "moans",
- "whines",
- "croaks",
- "growls",
- };
-
- char buff[80];
- const char *mon_name = ptr_monam( mons, DESC_CAP_THE );
- const char *voice = sound_list[ mons_shouts(mons->type) ];
-
- if (coinflip())
- {
- snprintf( buff, sizeof(buff),
- "%s, thou %s!",
- random2(3) ? give_up() : run_away(),
- generic_insult() );
- }
- else
- {
- switch( random2( 4 ) )
- {
- case 0:
- snprintf( buff, sizeof(buff),
- "Thy %s shall be my %s!",
- random2(4) ? important_body_part()
- : important_spiritual_part(), meal() );
- break;
- case 1:
- snprintf( buff, sizeof(buff),
- "%s, thou tasty %s!", give_up(), meal() );
- break;
- case 2:
- snprintf( buff, sizeof(buff),
- "%s %s!", run_away(), whilst_thou_can() );
- break;
- case 3:
- snprintf( buff, sizeof(buff),
- "I %s %s thy %s!",
- coinflip() ? "will" : "shall",
- coinflip() ? "feast upon" : "devour",
- random2(4) ? important_body_part()
- : important_spiritual_part() );
- break;
- default:
- snprintf( buff, sizeof(buff), "Thou %s!", generic_insult() );
- break;
- }
- }
-
- init_cap( buff );
-
- // XXX: Not pretty, but stops truncation...
- if (strlen(mon_name) + strlen(voice) + strlen(buff) + 5 >= 79)
- {
- snprintf( info, INFO_SIZE, "%s %s:", mon_name, voice );
- mpr( info, MSGCH_TALK );
-
- mpr( buff, MSGCH_TALK );
- }
- else
- {
- snprintf( info, INFO_SIZE, "%s %s, \"%s\"", mon_name, voice, buff );
- mpr( info, MSGCH_TALK );
- }
-}
-
-const char * generic_insult(void)
-{
- static char buffer[80]; //FIXME: use string objects or whatnot
-
- strcpy(buffer, insults1());
- strcat(buffer, " ");
- strcat(buffer, insults2());
- strcat(buffer, " ");
- strcat(buffer, insults3());
-
- return (buffer);
-}
-
-static const char * important_body_part(void)
-{
- static const char * part_list[] = {
- "head",
- "brain",
- "heart",
- "viscera",
- "eyes",
- "lungs",
- "liver",
- "throat",
- "neck",
- "skull",
- "spine",
- };
-
- return (part_list[random2(sizeof(part_list) / sizeof(char *))]);
-}
-
-static const char * important_spiritual_part(void)
-{
- static const char * part_list[] = {
- "soul",
- "spirit",
- "inner light",
- "hope",
- "faith",
- "will",
- "heart",
- "mind",
- "sanity",
- "fortitude",
- "life force",
- };
-
- return (part_list[random2(sizeof(part_list) / sizeof(char *))]);
-}
-
-static const char * meal(void)
-{
- static const char * meal_list[] = {
- "meal",
- "breakfast",
- "lunch",
- "dinner",
- "supper",
- "repast",
- "snack",
- "victuals",
- "refection",
- "junket",
- "luncheon",
- "snackling",
- "curdle",
- "snacklet",
- "mouthful",
- };
-
- return (meal_list[random2(sizeof(meal_list) / sizeof(char *))]);
-}
-
-static const char * run_away(void)
-{
- static const char * run_away_list[] = {
- "give up",
- "quit",
- "run away",
- "escape",
- "flee",
- "fly",
- "take thy face hence",
- "remove thy stench",
- "go and return not",
- "get thee hence",
- "back with thee",
- "away with thee",
- "turn tail",
- "leave",
- "return whence thou came",
- "begone",
- "get thee gone",
- "get thee hence",
- "slither away",
- "slither home",
- "slither hence",
- "crawl home",
- "scamper home",
- "scamper hence",
- "scamper away",
- "bolt",
- "decamp",
- };
-
- return (run_away_list[random2(sizeof(run_away_list) / sizeof(char *))]);
-}
-
-static const char * give_up(void)
-{
- static const char * give_up_list[] = {
- "give up",
- "give in",
- "quit",
- "surrender",
- "kneel",
- "beg for mercy",
- "despair",
- "submit",
- "succumb",
- "quail",
- "embrace thy failure",
- "embrace thy fall",
- "embrace thy doom",
- "embrace thy dedition",
- "embrace submission",
- "accept thy failure",
- "accept thy fall",
- "accept thy doom",
- "capitulate",
- "tremble",
- "relinquish hope",
- "taste defeat",
- "despond",
- "disclaim thyself",
- "abandon hope",
- "face thy requiem",
- "face thy fugue",
- "admit defeat",
- "flounder",
- };
-
- return (give_up_list[random2(sizeof(give_up_list) / sizeof(char *))]);
-}
-
-static const char * whilst_thou_can(void)
-{
- static const char * threat_list[] = {
- "whilst thou can",
- "whilst thou may",
- "whilst thou are able",
- "if wit thou hast",
- "whilst thy luck holds",
- "before doom catcheth thee",
- "lest death find thee",
- "whilst thou art whole",
- "whilst life thou hast", //jmf: hmm. screen vs. this for undead?
- };
-
- return (threat_list[random2(sizeof(threat_list) / sizeof(char *))]);
-}
-
-static const char * insults1(void)
-{
- static const char * insults1_list[] = {
- "artless",
- "baffled",
- "bawdy",
- "beslubbering",
- "bootless",
- "bumbling",
- "canting",
- "churlish",
- "cockered",
- "clouted",
- "craven",
- "currish",
- "dankish",
- "dissembling",
- "droning",
- "ducking",
- "errant",
- "fawning",
- "feckless",
- "feeble",
- "fobbing",
- "foppish",
- "froward",
- "frothy",
- "fulsome",
- "gleeking",
- "goatish",
- "gorbellied",
- "grime-gilt",
- "horrid",
- "hateful",
- "impertinent",
- "infectious",
- "jarring",
- "loggerheaded",
- "lumpish",
- "mammering",
- "mangled",
- "mewling",
- "odious",
- "paunchy",
- "pribbling",
- "puking",
- "puny",
- "qualling",
- "quaking",
- "rank",
- "pandering",
- "pecksniffian",
- "plume-plucked",
- "pottle-deep",
- "pox-marked",
- "reeling-ripe",
- "rough-hewn",
- "simpering",
- "spongy",
- "surly",
- "tottering",
- "twisted",
- "unctious",
- "unhinged",
- "unmuzzled",
- "vain",
- "venomed",
- "villainous",
- "warped",
- "wayward",
- "weedy",
- "worthless",
- "yeasty",
- };
-
- return (insults1_list[random2(sizeof(insults1_list) / sizeof(char*))]);
-}
-
-static const char * insults2(void)
-{
- static const char * insults2_list[] = {
- "base-court",
- "bat-fowling",
- "beef-witted",
- "beetle-headed",
- "boil-brained",
- "clapper-clawed",
- "clay-brained",
- "common-kissing",
- "crook-pated",
- "dismal-dreaming",
- "ditch-delivered",
- "dizzy-eyed",
- "doghearted",
- "dread-bolted",
- "earth-vexing",
- "elf-skinned",
- "fat-kidneyed",
- "fen-sucked",
- "flap-mouthed",
- "fly-bitten",
- "folly-fallen",
- "fool-born",
- "full-gorged",
- "guts-griping",
- "half-faced",
- "hasty-witted",
- "hedge-born",
- "hell-hated",
- "idle-headed",
- "ill-breeding",
- "ill-nurtured",
- "kobold-kissing",
- "knotty-pated",
- "limp-willed",
- "milk-livered",
- "moon-mazed",
- "motley-minded",
- "onion-eyed",
- "miscreant",
- "roguish",
- "moldwarp",
- "ruttish",
- "mumble-news",
- "saucy",
- "nut-hook",
- "spleeny",
- "pigeon-egg",
- "rude-growing",
- "rump-fed",
- "shard-borne",
- "sheep-biting",
- "sow-suckled",
- "spur-galled",
- "swag-bellied",
- "tardy-gaited",
- "tickle-brained",
- "toad-spotted",
- "toenail-biting",
- "unchin-snouted",
- "weather-bitten",
- "weevil-witted",
- };
-
- return (insults2_list[random2(sizeof(insults2_list) / sizeof(char*))]);
-}
-
-static const char * insults3(void)
-{
- static const char * insults3_list[] = {
- "apple-john",
- "baggage",
- "bandersnitch",
- "barnacle",
- "beggar",
- "bladder",
- "boar-pig",
- "bounder",
- "bugbear",
- "bum-bailey",
- "canker-blossom",
- "clack-dish",
- "clam",
- "clotpole",
- "coxcomb",
- "codpiece",
- "death-token",
- "dewberry",
- "dingleberry",
- "flap-bat",
- "flax-wench",
- "flirt-gill",
- "foot-licker",
- "fustilarian",
- "giglet",
- "gnoll-tail",
- "gudgeon",
- "guttersnipe",
- "haggard",
- "harpy",
- "hedge-pig",
- "horn-beast",
- "hugger-mugger",
- "joithead",
- "lewdster",
- "lout",
- "maggot-pie",
- "malt-worm",
- "mammet",
- "measle",
- "mendicant",
- "minnow reeky",
- "mule",
- "nightsoil",
- "nobody",
- "nothing",
- "pigeon-egg",
- "pignut",
- "pimple",
- "pustule",
- "puttock",
- "pumpion",
- "ratsbane",
- "scavenger",
- "scut",
- "serf",
- "simpleton",
- "skainsmate",
- "slime mold",
- "snaffler",
- "snake-molt",
- "strumpet",
- "surfacer",
- "tinkerer",
- "tiddler",
- "urchin",
- "varlet",
- "vassal",
- "vulture",
- "wastrel",
- "wagtail",
- "whey-face",
- "wormtrail",
- "yak-dropping",
- "zombie-fodder",
- };
-
- return (insults3_list[random2(sizeof(insults3_list) / sizeof(char*))]);
-}
-
-// currently unused:
-#if 0
-const char * racial_insult(void)
-{
- static const char * food3[] = {
- "snackling",
- "crunchlet",
- "half-meal",
- "supper-setting",
- "snacklet",
- "noshlet",
- "morsel",
- "mug-up",
- "bite-bait",
- "crunch-chow",
- "snack-pap",
- "grub",
- };
-
- static const char * elf1[] = {
- "weakly",
- "sickly",
- "frail",
- "delicate",
- "fragile",
- "brittle",
- "tender",
- "mooning",
- "painted",
- "lily-hearted",
- "dandy",
- "featherweight",
- "flimsy",
- "rootless",
- "spindly",
- "puny",
- "shaky",
- "prissy",
- };
-
- static const char * halfling3[] = {
- "half-pint",
- "footstool",
- "munchkin",
- "side-stool",
- "pudgelet",
- "groundling",
- "burrow-snipe",
- "hole-bolter",
- "low-roller",
- "runt",
- "peewee",
- "mimicus",
- "manikin",
- "hop-o-thumb",
- "knee-biter",
- "burrow-botch",
- "hole-pimple",
- "hovel-pustule",
- };
-
- static const char * spriggan3[] = {
- "rat-rider",
- "mouthfull",
- "quarter-pint",
- "nissette",
- "fizzle-flop",
- "spell-botch",
- "feeblet",
- "weakling",
- "pinchbeck-pixie",
- "ankle-biter",
- "bootstain",
- "nano-nebbish",
- "sopling",
- "shrunken violet",
- "sissy-prig",
- "pussyfoot",
- "creepsneak",
- };
-
- static const char * dwarf2[] = {
- "dirt-grubbing",
- "grit-sucking",
- "muck-plodding",
- "stone-broke",
- "pelf-dandling",
- "fault-botching",
- "gravel-groveling",
- "boodle-bothering",
- "cabbage-coddling",
- "rhino-raveling",
- "thigh-biting",
- "dirt-delving",
- };
-
- static const char * kenku2[] = {
- "hollow-boned",
- "feather-brained",
- "beak-witted",
- "hen-pecked",
- "lightweight",
- "frail-limbed",
- "bird-brained",
- "featherweight",
- "pigeon-toed",
- "crow-beaked",
- "magpie-eyed",
- "mallardish",
- };
-
- static const char * minotaur3[] = {
- "bull-brain",
- "cud-chewer",
- "calf-wit",
- "bovine",
- //"mooer", // of Venice
- "cow",
- "cattle",
- "meatloaf",
- "veal",
- "meatball",
- "rump-roast",
- "briscut",
- "cretin",
- "walking sirloin",
- };
-
- switch (you.species)
- {
- default:
- break;
- }
-}
-#endif