Combines a random template, adjective, and subject to produce an encouraging, randomized compliment. Tone and style are controlled by the mood, profanity, and shakespearean arguments, while weirdness moves the content along a spectrum from sincere to surreal.

compliment(
  n = 1,
  weirdness = 0,
  mood = c("sincere", "grumpy", "cheerful", "dramatic"),
  profanity = c("none", "tame", "mild", "strong", "weird"),
  shakespearean = FALSE
)

Arguments

n

Number of compliments to generate. Defaults to 1.

weirdness

A number between 0 and 1. Content is organized in tiers: the chosen mood's bank (position 0), a quirky tier (0.5), and a bizarre tier (1). Each component of a compliment (template, adjective, and subject) is independently drawn from a tier, with triangular weights centered on weirdness: 0 (the default) draws only mood content, 0.5 draws only quirky content, 1 draws only bizarre content, and intermediate values blend the two adjacent tiers. When shakespearean = TRUE, the quirky tier is omitted and weirdness blends linearly between the mood's Shakespearean bank and a bizarre Shakespearean bank.

mood

The tone of the compliment: "sincere" (default), "grumpy" (backhanded compliments), "cheerful" (over-the-top warmth), or "dramatic" (epic, life-or-death stakes).

profanity

Profanity level: "none" (default, no profanity), "tame" (funny clean words like "fudging" and "oh, fudge-muffins"), "mild" (e.g. "damn", "heck"), "strong" (four-letter words; note this tier ships explicit language in the package source), or "weird" (an extra-weird clean set, e.g. "blorping", "you magnificent space walrus"). Profanity is added as an intensifier before the adjective or a trailing clause.

shakespearean

If TRUE, use pseudo-Shakespearean language and structure. Each mood has its own Shakespearean bank.

Value

A character vector of length n.

Examples

compliment()
#> [1] "Your attitude is nothing short of inspiring."
compliment(3)
#> [1] "Your creative perspective is truly inspiring."
#> [2] "People admire your inspiring sense of humor." 
#> [3] "Your energy is nothing short of creative."    
compliment(3, weirdness = 0.5)
#> [1] "Your parking skill is the good kind of quietly excellent."                          
#> [2] "Someone definitely brags about your quietly excellent spreadsheet habit at parties."
#> [3] "Your meticulous playlist curation could headline a very small festival."            
compliment(3, mood = "grumpy")
#> [1] "Your mildly acceptable typing speed almost makes up for everything else."
#> [2] "Your surprisingly decent attendance almost makes up for everything else."
#> [3] "Your small talk is tolerable. I'll give you that."                       
compliment(3, mood = "dramatic", shakespearean = TRUE)
#> [1] "Eternity itself doth envy thy thunderous legend."          
#> [2] "Behold! A glory so exalted the gods themselves do tremble!"
#> [3] "When empires fall, thy thunderous triumph shall remain."   
compliment(3, mood = "grumpy", profanity = "tame")
#> [1] "Your passable small talk almost makes up for everything else, you magnificent son of a biscuit."
#> [2] "Your fudging tolerable effort is the least of your problems. In a good way."                    
#> [3] "Your gosh-darn competent-ish work almost makes up for everything else."                         
compliment(3, mood = "grumpy", profanity = "weird")
#> [1] "Your mildly acceptable work almost makes up for everything else, and I blorping mean it."
#> [2] "Your blorping competent-ish typing speed almost makes up for everything else."           
#> [3] "Your attendance is heckity-heck passable. I'll give you that."