Bill Weasley's Magical Melodies

Inn encounter where Bill Weasley (curse-breaker and oldest Weasley brother) performs magical songs. Harry Potter-themed replacement for Seth the Bard module. 19 random outcomes (e_rand(0,18), 5.26% each): forest fight gains (+1 or +2) and losses (-1), gold gains and a conditional gold loss, gem gains, a partial HP heal, two full heals, two HP-loss outcomes, and two gender-split cases (one swaps a charm gain for a turn gain, one always grants a turn either way). Daily limit: visits per day (default: 1). Resets at newday. Extensive Harry Potter flavor: Hungarian Horntail dragons, Mandrakes, Aberforth's Firewhisky, Ollivander wands, Cornish pixies, and terrible fish jokes.

Location & Access

Where: Inn. Navigation: Inn → "Listen to Bill Weasley the Curse-Breaker"

Daily Limit: visits setting (default: 1). Counter: the been preference tracks how many times you've listened today, reset to 0 by the newday hook. Once been reaches visits, Bill just tells you he's saving his voice for Charlie's bachelor party.

Availability: Every trip to the inn while you have visits remaining triggers a song — it's not a random chance to see Bill, it's a random outcome once you're listening.

The 19 Song Outcomes

Every visit runs one of 19 equally likely cases (e_rand(0,18)). Here's what each one actually does, verified against the module code line by line.

Case 0: Hungarian Horntail (+2 Turns)

Song: "Hungarian Horntail is green, Hungarian Horntail is fierce. I fancy for a Hungarian Horntail to pierce."

Effect: +2 forest fights.

Case 1: Scoffing at a Random Master (+1 Turn)

Song: Bill picks a random creature name from the game's master list (falls back to Voldemort if none exist) and mocks its hygiene in verse.

Effect: +1 forest fight.

Case 2: Mandrake Man (+1 Turn)

Song: "Mandrake Man, Mandrake Man. Mandrake man hates [you] man. They have a fight, Mandrake wins."

Effect: You back away unsettled, rest a while, and feel refreshed enough to face another forest creature: +1 forest fight.

Case 3: Aberforth's Firewhisky (+Gold)

Song: A tale about Aberforth's foul Firewhisky. While Bill sings, you spot gold on the ground.

Effect: +mingold to +maxgold gold (default range 10-50).

Case 4: The Goblin's Remembrall (+HP)

Joke: A goblin with a Remembrall walks into a bar joke.

Effect: Hitpoints are set to max(maxhitpoints, current hitpoints) × (1 + hpgain/100) — a heal that can push you above your normal max HP (default hpgain range up to 20%).

Case 5: Nearly Headless Nick's Reminder (-1 Turn)

Song: "Every second we draw even closer to death. Just ask Nearly Headless Nick."

Effect: Depressed, you lose a forest fight (floored at 0).

Case 6: Ollivander Wands Jingle (+1 Turn)

Song: "I love Ollivander, Ollivander wands..." on repeat.

Effect: Fired up, you gain +1 forest fight.

Case 7: Accidental Sonorus (-HP)

Song: Bill accidentally casts Sonorus on himself and shouts point-blank in your face.

Effect: Lose bhploss% of max hitpoints (default range up to 10%), floored at 1 HP.

Case 8: The Wingardium Leviosa Riddle (-Gold, conditional)

Joke: "What is the sound of one hand casting Wingardium Leviosa?" While you ponder it, Bill nonverbally Accios a small "entertainment fee" from your pocket.

Effect: If your gold is at least the goldloss setting (default 5), you lose that amount. If you're too poor, Bill finds nothing worth taking and you lose nothing — "much like the Weasley family vault at Gringotts."

Case 9: The Fish Joke (+Gems)

Joke: "What do you call a fish with no eyes? A fsshh."

Effect: +mingems to +maxgems gems (default range 1-1, so usually exactly 1; can be 0 if the settings allow it).

Case 10: The Charmed Flute (Full Heal)

Song: A soft, haunting melody on a self-playing flute.

Effect: If your hitpoints are below max, they're restored to full.

Case 11: The Melancholy Harp Dirge (-1 Turn)

Song: A miniature harp plays itself, mournfully.

Effect: Lose a forest fight (floored at 0).

Case 12: The Pixie Song (Full Heal)

Song: "The pixies go flying one by one, hoorah, hoorah..." — an escalating count-up song about a classroom-wrecking pixie swarm.

Effect: Rested, hitpoints restored to full if below max.

Case 13: The Godric's Hollow Limerick (+1 Turn, gender-flavored)

Song: A limerick about a witch from Godric's Hollow, cut off before the punchline.

Effect: +1 forest fight regardless of gender. Female characters get the limerick cut off by a well-aimed Silencing Charm they cast themselves; male characters just laugh before the (implied filthy) rhyme lands. Same mechanical result either way.

Case 14: The Battle Anthem (+1 Turn)

Song: A rousing magical battle anthem.

Effect: +1 forest fight.

Case 15: The Wandering Stare (gender-split: +1 Turn male / +1 Charm female)

Scene: Bill seems preoccupied staring at you.

Effect (female characters): +1 charm.

Effect (male characters): Furious at what looks like a breach of Bill's engagement to Fleur Delacour, you storm out and gain +1 forest fight instead. No charm change for male characters here.

Case 16: The Backfiring Wand (-HP)

Song: Bill's wand backfires and sends sparks at your face.

Effect: Lose shploss% of max hitpoints (default range up to 20%), floored at 1 HP.

Case 17: The Spilled Butterbeer (No Effect)

Scene: A rowdy house-elf spills Butterbeer on you and you miss the performance entirely.

Effect: None. Pure flavor text.

Case 18: The "U-G-L-Y" Ballad (-1 Charm)

Song: Bill composes an insulting ballad at your expense.

Effect: -1 charm, always. If that drops your charm below 0, the flavor text changes (Bill snaps his wand instead of you being offended), but the mechanical charm loss is identical either way.

Outcome Probability

Outcome Type Cases Probability
+2 Turns 0 5.3% (1/19)
+1 Turn 1, 2, 6, 13, 14 (+ 15 for males) 26.3% (5/19), 31.6% for males (6/19)
-1 Turn 5, 11 10.5% (2/19)
+Gold 3 5.3% (1/19)
-Gold (conditional) 8 5.3% (1/19), only if gold ≥ goldloss
+Gems 9 5.3% (1/19)
+HP (partial, can exceed max) 4 5.3% (1/19)
+HP (full heal) 10, 12 10.5% (2/19)
-HP 7, 16 10.5% (2/19)
+Charm 15 (females only) 5.3% for females (1/19), 0% for males
-Charm 18 5.3% (1/19)
No effect 17 (and 8 when too poor) 5.3%+ (1/19)

Positive outcomes (turn gains, gold gain, gems, HP gains, female charm gain): 11 of 19 cases (~58%), 12 of 19 for males counting case 15's turn instead of charm.

Negative outcomes (turn losses, conditional gold loss, HP losses, charm loss): 6 of 19 cases (~32%), with the gold loss only landing if you're carrying at least the goldloss amount.

Neutral: case 17 always, plus case 8 whenever your gold is below the loss threshold.

Strategy

Is It Worth Listening?

Yes, generally.

  • Roughly 58-63% of outcomes are net positive (turns, gold, gems, HP).
  • ~11% chance of an HP loss outcome, capped at a fraction of max HP and never below 1 HP.
  • Free daily encounter — it happens automatically when you visit the inn with a visit remaining.

When to Listen

  • When visiting the inn anyway — no extra trip needed.
  • Early in the day, to make the most of any forest-fight gains.

When it barely matters: the HP-loss cases are floored at 1 HP and scaled off a small percentage of your max, so they're rarely dangerous on their own.

Gender Considerations

Only two of the 19 cases branch on gender, and only one of them actually changes the reward:

  • Case 13: Both genders get +1 forest fight; only the flavor text differs.
  • Case 15: Female characters get +1 charm; male characters get +1 forest fight instead (no charm change).

Net effect: female characters have a small chance at a charm gain that male characters don't get, offset by an equivalent chance at an extra forest fight for male characters instead. Rough wash in expected value, different currency.

Admin Configuration

Settings (actual internal names, per billssong.php):

  • visits: Max listens per day (int, default: 1)
  • mingold / maxgold: Gold-find range (default: 10-50)
  • mingems / maxgems: Gem-find range (default: 1-1)
  • goldloss: Gold taken in the Accio joke, case 8 (default: 5). If a player's gold is below this amount, nothing is taken.
  • bhploss: Percent of max HP lost to the Sonorus backfire, case 7 (range default 2-10%)
  • shploss: Percent of max HP lost to the wand-spark backfire, case 16 (range default 2-20%)
  • hpgain: Percent used for the partial heal in case 4 (range default 2-20%)

User Preferences:

  • been: Times listened to Bill today (int, default: 0). Reset to 0 by the newday hook.

Technical Details

Hooks Used:

  • inn: Adds the "Listen to Bill Weasley the Curse-Breaker" navigation option.
  • newday: Resets the been preference to 0.

Daily Limit Check (from billssong_run()):

$visits = get_module_setting("visits");
$been = get_module_pref("been");

if ($been >= $visits) {
    // Bill says he needs to save his voice for Charlie's bachelor party
} else {
    billssong_sing(); // increments 'been' and runs the random outcome
}

Random Outcome Logic:

$rnd = e_rand(0, 18);  // 19 possible outcomes, each ~5.26%

switch ($rnd) {
    case 0:
        $session['user']['turns'] += 2;
        break;
    case 7:
        $session['user']['hitpoints'] -= round($session['user']['maxhitpoints'] * ($bhploss / 100));
        if ($session['user']['hitpoints'] <= 0) $session['user']['hitpoints'] = 1;
        break;
    case 9:
        $gems = e_rand($mingems, $maxgems);
        $session['user']['gems'] += $gems;
        break;
    // ... 16 more cases, see billssong.php
}

Lore & Flavor

Bill Weasley: Oldest Weasley sibling. Curse-breaker for Gringotts. Worked in Egypt raiding tombs. Scarred by a dragon attack. Engaged to (in this module's flavor text) Fleur Delacour. Canon character from the Harry Potter books.

Why is Bill singing at an inn? The module doesn't explain it. Presumably he's saving his voice for his brother's bachelor party — dragon karaoke, apparently — and the inn crowd is just practice.

Song Themes:

  • Dragons: Hungarian Horntail, and general dragon-adjacent bravado.
  • Curse-Breaking: Vague Gringotts and tomb-raiding references.
  • Inn Regulars: A joke at Aberforth's expense over his Firewhisky.
  • Terrible Puns: The fish joke, the goblin/Remembrall joke, the Wingardium Leviosa riddle.
  • Harry Potter Lore: Mandrakes, Ollivander, Nearly Headless Nick, Cornish pixies, the Statute for Reasonable Restriction of Underage Sorcery.

Common Questions

Q: How many times can I listen per day?
A: The visits setting (default: 1). Resets at newday.

Q: Can I choose which song Bill sings?
A: No. Random outcome via e_rand(0,18). 19 possible cases, ~5.26% chance each.

Q: Why do I sometimes lose gold from listening?
A: Case 8 — Bill nonverbally Accios an "entertainment fee" from your pocket, but only if you're carrying at least the goldloss amount. Broke players keep their gold.

Q: Is the fish joke reward worth the pain?
A: You get 1 gem by default (configurable range). No HP is lost from this case — the only cost is having heard the joke.

Q: Do gender-specific outcomes matter much?
A: Barely. Only two of 19 cases branch on gender, and one of those two gives an identical +1 forest fight to both genders regardless. The other swaps a female charm gain for a male forest-fight gain.

Q: Can I increase the daily listen limit?
A: Admins can change the visits setting. Default is 1 per day.

Bill Weasley's Magical Melodies: where the oldest Weasley brother somehow transitioned from raiding cursed Egyptian tombs and fighting dragons to performing terrible puns at the Hogwarts inn, you either walk away with forest fights, gold, gems, or a bit of extra HP, or you walk away lighter on hitpoints, gold, or charm depending on which of his nineteen numbers he decides to inflict on you, and nobody has ever asked why a professional curse-breaker is spending his evenings doing open-mic night instead of, say, breaking curses.