#!/usr/bin/perl -w

# learn to swear like Matt!!!
# at this stage I'd like to thank the author of the original insult script, Andy Landells.  I'd also like to thank my agent, Chris Lord; my make up artist Chris Philips; accountant Toby Hunt; my fashion consultant Edward Cullen; my personal bodyguard Harry Mason; my PR Emma Sandom; my parents, Mother Teresa and God; my director of galactic destruction, CATS; Trogdor; the Smurfs; twice oscar-nominated actor Nicolas Cage; sportsman David Beckham, who has also been an inspiration for my insults; Mr T, who shares the same initials as me; Satan and all his little demons; Santa Claus for always getting me socks;  George W. Bush; Strongbad; anyone who has ever sold their hot booty to me for hard cash; on a totally unrelated note, my sister Tanya; Eric Cartman and everyone who hasn't filed a lawsuit against me, tried to kill me or set me on fire.

# Legally I should probably point out that no-one above is in any way affiliated with this script.  In fact, I don't even have anything to do with it.  Where did it come from, you ask?  I don't subscribe to the notion that we must know everything about EVERYTHING, at all times.  This script was written.  No-one saw it come into existance, who did it?  Mysteries like this course in magic rivers throughout the universe.

# Although I appear to subscribe to a love of animal sex anyone who's ever met me will assure you that I not that way incline.  In fact, in between my charitable donations to worthy causes and regular visits to church, I can often be found helping old ladies carry their shopping.  Anyone who's says otherwise is probably just jealous...

@generic = ("asshole","bitch","bastard","choad","cock","cock-brain","crap-face","crap-for-brains","cretin","cunt","cunt-ear","cunt-face","cunt-fuck","dick","dickhead","dick-fuck","dong","dufus","fuck features","fucker","fucktard","genetic mutation","genital wart","gimp","gimboid","harlot","hillbilly","ho","hooker","idiot","imbecile","ignoramus","jerk","jockstrap","junky","knob","kiddy fiddler","lob-on","loser","man-gina","manwhore","minger","motherfucker","moron","nobody","nonce","paedophile","paedo","penis","phallus","prick","prick-boy","prostitute","rapist","rectum","rectal wart","reject","rent-boy","retard","ring-piece","schlong","sphincter","shit","shit-eater","shitface","shit-for-brains","shit-fuck","slag","slapper","slut","spactard","tard","tart","tool","tosser","toss-piece","tit","twat","waste of space","waste of oxygen","wang","wanker","wench","whore","zero");

@adverb = qw(alarmingly astonishingly awe-inspiringly clearly curiously distinctly eminently exceedingly evidently exceptionally fabulously fantastically freakishly frighteningly horrifically impenetrably impressively improbably immensely incomprehensibly inscrutably heroically  manifestly massively noticably notably obviously oddly outlandishly overtly patently phenominally predictably pronouncedly prodigously remarkably royally scarily shamefully shockingly startingly strangely strikingly supremely surprisingly suspicously transparently unbelievably unintelligibly unusually visibly);

@adjective = ("appalling","attention-seeking","bloated","boring","brainless","charmless","cheap","crazy","crazed","creepy","deranged","derisory","dense","dickless","disappointing","disgusting","dull","dumb","emotionally damaged","emotionally retarded","fake","feeble","fetid","foul","frustrating","fucking","fucktarded","good-for-nothing","gormless","gullible","gutless","humourless","imbecilic","immature","inadequate","inbred","incestuous","inferior","insane","insincere","insignificant","intolerable","lame","loathsome","ludicrous","miserable","miserly","moronic","narcissistic","naive","nasty","obese","obnoxious","offensive","over-emotional","overweight","pathetic","petty","perverted","pikey","pitiful","pointless","puny","repulsive","retarded","ridiculous","second-rate","selfish","self-serving","sexually retarded","scum-sucking","sleezy","scrawny","shameful","shitty little","shocking","sickening","simple-minded","small-minded","smelly","snivelling","souless","spineless","spiteful","stinking","stupid","subhuman","substandard","surplus","tedious","thick","tiresome","ridiculous","talentless","tragic","ugly","uncharismatic","unlovable","unpleasant","unnecessary","unremarkable","useless","vile","weak","witless","worthless","wretched");

@fluid = qw(afterbirth bell-cheese dick-cheese chunder crap cum diarrhoea excrement faece gizz haemorrhoid love-piss menstrual-fluid piss puke scrotum-juice semen shit shite smeg smegma spooge spunk vomit wazz);

@fluidaction = qw(consuming devouring eating gobbling gorging guzzling ingesting inhaling nibbling quaffing ravaging scarfing snacking swallowing swigging swilling wallowing);

@animal = qw(aardvark bear boar chicken chimp chinchilla cow dog donkey duck elephant ferret frog gnu goat gorilla hedgehog horse kangaroo koala leopard lion llama moose monkey owl panda penguin pig poodle rabbit raccoon reindeer sheep squirrel stoat tiger turkey weasel yak);

@animalaction = qw(banging buggering bumming bonking boning boffing bonking deflowering drilling felching fornicating fucking groping humping invading impregnating knobbing licking loving molesting mounting nailing plugging poking porking probing pumping ramming raping rogering rooting screwing shagging sodomising spooning sucking tossing touching wanking);

# bandwidths 5,2,2,1,1;
@insulttype = (5,7,9,10,11);

# bandwidths 4,2,2,1

@adjtype = (4,6,8,9);

$gen = $generic[rand(@generic)]."\n";
# OLD SKOOL!!!!
if (int (rand(5)) == 0){$gen =`/usr/cslib/bin/insult`;}


$fl = $fluid[rand(@fluid)];
$fla = $fluidaction[rand(@fluidaction)];
$an = $animal[rand(@animal)];
$ana = $animalaction[rand(@animalaction)];

$n = int rand(9)+1;

if ($n<=$adjtype[0]){}
elsif ($n<=$adjtype[1]){$adj = $adjective[rand(@adjective)];print $adj ." ";}
elsif ($n<=$adjtype[2]){$adj = $adjective[rand(@adjective)]; $adv = $adverb[rand(@adverb)]; print $adv ." " . $adj ." ";}
elsif ($n<=$adjtype[3]){$adj = $adjective[rand(@adjective)]; $adj2 = $adjective[rand(@adjective)]; print $adj ." " .$adj2 ." ";}

 
$n = int rand(11)+1;

if ($n<=$insulttype[0]){print $gen;}
elsif ($n<=$insulttype[1]){print $fl . "-" . $fla . " " . $gen;}
elsif ($n<=$insulttype[2]){print $an . "-" . $ana . " " . $gen;}
elsif ($n<=$insulttype[3]){print $an . "-" . $fl . "-" . $fla . " " . $gen;}
elsif ($n<=$insulttype[4]){print $an . "-" . $ana . " " . $fl . "-" . $fla . " " . $gen;} #unnecessary if, but do I care???
