]> git.donarmstrong.com Git - infobot.git/blob - src/Modules/insult.pl
stray prints
[infobot.git] / src / Modules / insult.pl
1 #
2 # insult.pl: insult engine
3 #
4 # 2004.10.21  Tim Riker <Tim@Rikers.org>
5 # colorado server is dead. pull in the words and do it ourself
6 #
7
8 package Insult;
9
10 use strict;
11
12 sub Insult {
13     my ($insultwho) = @_;
14     my @adjs;
15     my @amts;
16     my @nouns;
17     &::DEBUG("Reading insult data");
18     while (<DATA>) {
19         chomp;
20         push(@adjs, split(" ", $1)) if /^adj\s*(.*)/;
21         push(@amts, split(" ", $1)) if /^amt\s*(.*)/;
22         push(@nouns, split(" ", $1)) if /^noun\s*(.*)/;
23     }
24     grep(s/\|/ /g, @adjs);
25     grep(s/\|/ /g, @amts);
26     grep(s/\|/ /g, @nouns);
27     srand(); # fork seems to not change rand. force it here
28     my $adj = @adjs[rand(@adjs)];
29     my $n;
30     $n = 'n' if $adj =~ /^[aeiouih]/;
31     my $amt = @amts[rand(@amts)];
32     my $adj2 = @adjs[rand(@adjs)];
33     my $noun = @nouns[rand(@nouns)];
34     my $whois = "$insultwho is";
35     $whois = "You are" if ($insultwho eq $::who or $insultwho eq "me");
36
37     &::pSReply("$whois nothing but a$n $adj $amt of $adj2 $noun");
38 }
39
40 1;
41
42 __DATA__
43 #
44 # configuration file for colorado insult server
45 #
46 # Use the '|' character to include a space in the middle of a noun, adjective
47 # or amount (it'll get transmogrified into a space.  No, really!).
48 #
49 # Mon Mar 16 10:49:53 MST 1992 garnett added more colorful insults
50 # Fri Dec  6 10:48:43 MST 1991 garnett
51 #
52
53 ##
54 # Adjectives
55 ##
56 adj acidic antique contemptible culturally-unsound despicable evil fermented
57 adj festering foul fulminating humid impure inept inferior industrial
58 adj left-over low-quality malodorous off-color penguin-molesting
59 adj petrified pointy-nosed salty sausage-snorfling tastless tempestuous
60 adj tepid tofu-nibbling unintelligent unoriginal uninspiring weasel-smelling
61 adj wretched spam-sucking egg-sucking decayed halfbaked infected squishy
62 adj porous pickled coughed-up thick vapid hacked-up
63 adj unmuzzled bawdy vain lumpish churlish fobbing rank craven puking
64 adj jarring fly-bitten pox-marked fen-sucked spongy droning gleeking warped
65 adj currish milk-livered surly mammering ill-borne beef-witted tickle-brained
66 adj half-faced headless wayward rump-fed onion-eyed beslubbering villainous
67 adj lewd-minded cockered full-gorged rude-snouted crook-pated pribbling
68 adj dread-bolted fool-born puny fawning sheep-biting dankish goatish
69 adj weather-bitten knotty-pated malt-wormy saucyspleened motley-mind
70 adj it-fowling vassal-willed loggerheaded clapper-clawed frothy ruttish
71 adj clouted common-kissing pignutted folly-fallen plume-plucked flap-mouthed
72 adj swag-bellied dizzy-eyed gorbellied weedy reeky measled spur-galled mangled
73 adj impertinent bootless toad-spotted hasty-witted horn-beat yeasty
74 adj imp-bladdereddle-headed boil-brained tottering hedge-born hugger-muggered
75 adj elf-skinned
76
77 ##
78 # Amounts
79 ##
80 amt accumulation bucket coagulation enema-bucketful gob half-mouthful
81 amt heap mass mound petrification pile puddle stack thimbleful tongueful
82 amt ooze quart bag plate ass-full assload
83
84 ##
85 # Objects
86 ##
87 noun bat|toenails bug|spit cat|hair chicken|piss dog|vomit dung
88 noun fat-woman's|stomach-bile fish|heads guano gunk pond|scum rat|retch
89 noun red|dye|number-9 Sun|IPC|manuals waffle-house|grits yoo-hoo
90 noun dog|balls seagull|puke cat|bladders pus urine|samples
91 noun squirrel|guts snake|assholes snake|bait buzzard|gizzards
92 noun cat-hair-balls rat-farts pods armadillo|snouts entrails
93 noun snake|snot eel|ooze slurpee-backwash toxic|waste Stimpy-drool
94 noun poopy poop craptacular|carpet|droppings jizzum cold|sores anal|warts