Kissing Booth

Village/gardens romantic encounter. Pay gold (default: 5x your level) to kiss whichever NPC the game picked for you today, drawn from a fixed roster rather than any kind of quality tier. Roll 1d16 for outcome: 12 of the 16 results (75%) are positive, 4 (25%) are negative. Once per day limit (kissedtoday pref). Where you pay for smooches and hope the RNG doesn't give you a black eye.

Location & Access

Where:

  • Village (default location) or Gardens, depending on the admin's "gardens" setting
  • Triggered via village/garden hooks

Requirements:

  • Not kissed today (kissedtoday pref = 0)
  • Sufficient gold (cost x level)
  • Standard navigation link appears if eligible

Navigation:

  • Link: "The Kissing Booth" (appears in village/gardens when available)
  • Cost displayed: "Make donation ([cost] gold)"
  • Once clicked: Pay gold, get random result, kissedtoday → 1

Cost Calculation

Formula:

  • cost = cost setting x player level
  • Default cost setting: 5 (admin-configurable)
  • Example: Level 10 = 5 x 10 = 50 gold
  • Example: Level 20 = 5 x 20 = 100 gold

Level Scaling:

  • Low levels (1-5): 5-25 gold (affordable)
  • Mid levels (10-15): 50-75 gold (moderate)
  • High levels (20+): 100+ gold (expensive gamble)

Partner Selection

Fixed Roster, Not Quality-Graded:

  • The game picks one kissing partner for you at the start of the day and sticks with them for all your attempts that day — the partner is not re-rolled per outcome, and it has nothing to do with how good or bad the kiss turns out
  • If your character is not male: partner is drawn from a fixed pool of men — Aberforth (the configured barkeep), Lonestrider, JR Minga, Smiythe, Bill (the configured bard), Oliver, Ollivander, Kendaer
  • If your character is male: partner is drawn from a fixed pool of women — Heidi, Petra, Saucy Wench, Foilwench, Fleur (the configured barmaid), Ella
  • There is no "Pretty Girl"/"Beautiful Girl" or "Handsome Boy"/"Dashing Boy" tiering — that framing does not exist in the code. Every name in the pool is a specific named NPC, and the same one serves you all day regardless of outcome

Random Outcomes (1d16)

Outcome Distribution:

  • 16 total outcomes (roll 1-16)
  • 12 positive outcomes (75%): charm+1, HP top-off, or turns+1
  • 4 negative outcomes (25%): charm-1 (plus a consolation gem), an HP smack, or turns-1
  • RNG-based, no guarantees

Positive Outcomes:

  • Rolls 1-5 — Charm +1: a gentle kiss on the lips; charm increases by exactly 1
  • Rolls 6-9 — HP restore: if you're below max HP, this fully heals you to max; if you're already at max HP, it instead multiplies your current HP by 1.1 (an overheal, not a flat bonus)
  • Rolls 10-12 — Turns +1: an energetic kiss that grants one extra forest turn

Negative Outcomes:

  • Rolls 13-14 — Charm -1, plus a gem: a fumbled kiss costs 1 charm (never below 0), but you spot something shiny in the dust on the way out and gain a gem as a consolation prize — this bonus gem is easy to miss if you only skim the flavor text, but it's a real, coded reward
  • Roll 15 — HP loss: you get smacked across the face; the loss is 10% of your max hitpoints by default (the "smackloss" setting, admin-configurable, range 2-100%), never enough to drop you below 1 HP
  • Roll 16 — Turns -1: you slip on a banana peel and knock yourself out; if you have at least 1 turn, you lose 1 forest turn (you "lost a forest fight while unconscious")

Once-Per-Day Limit

Mechanic:

  • kissedtoday user pref (bool, default: 0)
  • Set to 1 after your donation (win or lose)
  • Resets at newday, along with the day's chosen partner
  • If kissedtoday == 1: you can still walk up to the booth, but the game tells you the line is too long and sends you away without a new roll

Why Limit Exists:

  • Prevents infinite stat grinding (charm/HP/turns farming)
  • Balances gold cost vs potential rewards
  • Encourages strategic use (kiss when you need the boost)
  • Maintains rarity/value of the event

Value Analysis

Cost vs Benefit:

  • Level 10 player: 50 gold for a 75% chance of a positive outcome
  • Best case: +1 charm, a full heal (or 10% overheal if already topped off), or +1 turn
  • Worst case: -1 charm (with a bonus gem), a smack for 10% of max HP, or -1 turn
  • Average: Solidly positive expected value — 3 in 4 visits leave you better off

Charm Value:

  • Charm is expensive to raise normally (Merlin's riddles, special events)
  • +1 charm from kissing booth is a real gain even if modest
  • -1 charm stings, but it comes with a consolation gem, softening the loss

HP Value:

  • A full heal (or 10% overheal when already at max) is a genuinely strong outcome, not a flat +5/+10 tick
  • -10% of max HP from the smack outcome is annoying but rarely dangerous outside a fight

Turn Value:

  • +1 forest turn = minor benefit
  • Useful if you're about to do forest grind
  • -1 turn = annoying but not game-breaking, and only applies if you have a turn to lose

Strategy

When to Kiss:

  • Low charm: If charm is your limiting factor, worth the gamble
  • After bank deposit: Have spare gold, might as well try
  • Before forest grind: +1 turn could mean an extra fight
  • Below max HP: A likely full heal is a good use of the visit

When NOT to Kiss:

  • Low gold: If you can't afford equipment upgrades, skip kissing
  • Extremely risk-averse playstyle: even at 75/25 odds, the negative outcomes exist

Optimal Play:

  • Kiss once per day if you have surplus gold (level x 5 is cheap)
  • Accept losses as part of RNG — even the charm-loss outcome hands you a gem
  • Long-term expected value is clearly positive at 75% good outcomes

Roleplaying Flavor

Romantic Encounters:

  • Light-hearted, non-serious romance mechanic
  • Your partner is a fixed named NPC from the day's roll, not a randomly-generated stranger
  • Flavor text varies by outcome, not by any hidden "quality" of the partner
  • No long-term relationships or consequences

Settings & Configuration

Module Settings:

  • cost: Gold multiplier per level (default: 5)
  • smackloss: Percent of max hitpoints lost on the smack outcome (default: 10, admin range 2-100)
  • gardens: Whether the booth appears in the gardens instead of a specific village
  • Admin-configurable for server economy balance

User Preferences:

  • kissedtoday: Bool (0/1), tracks if you've made a donation today
  • kissee: The NPC picked for you today, reset at newday
  • Auto-managed, don't manually edit

Limitations

  • Once Per Day: Can only kiss once (no farming)
  • RNG-Based: No control over outcome (75% positive, 25% negative)
  • Level-Scaled Cost: Gets expensive at high levels (100+ gold)
  • No Partner Choice: The day's partner is picked for you from a fixed roster
  • Sex-Based Partners: Heteronormative partner selection (opposite sex)

Comparison to Other Stat Boosts

Kissing Booth vs Other Charm Sources:

  • Merlin's Riddles: Free but rare, requires correct answers
  • Kissing Booth: Costs gold, 75% chance overall, once/day
  • Special Events: Vary by module, often limited availability

Kissing Booth vs HP Healing:

  • Inn Rest: Costs gold, guaranteed full HP
  • Healer: Costs gold/gems, guaranteed HP
  • Kissing Booth: Cheaper, and the HP outcome is a full heal (or 10% overheal) roughly a quarter of the time — but it's a gamble, not a guarantee

Kissing Booth: where you pay 5 gold per level (50 gold at level 10, 100 gold at level 20) to kiss whichever named NPC the game assigned you for the day and roll 1d16 to see what happens. The good news: 75% of outcomes are positive — a point of charm, a full top-off to max HP (or a 10% overheal if you were already topped off), or an extra forest turn. The bad news: 25% of outcomes are negative — a point of charm gone (softened by a bonus gem you'll find in the dust), a smack for 10% of your max HP, or a lost forest turn. There is no tier of increasingly attractive partners rewarding you for good rolls; you get the same NPC all day, good outcome or bad, because apparently the wizarding world's romantic economy runs on donations, not chemistry.