Professor Encounter
Forest event for players who failed professor fights. Meet configurable master (default: Firenze the centaur) in clearing if seenmaster flag active (previously lost to professor). Master challenges you to random game from 5 options (Wizard Chess, Gobstones, Burping Contest, Gnome Toss, Exploding Snap). Configurable win chance (default 50%). Success: seenmaster flag cleared to 0, unlocks ability to challenge professor again. Failure: master mocks you ("such a wuss. no wonder you failed your class"). Once per day limit (seen preference). Ignore option available (master chuckles behind your back). Where forest encounters function as academic remediation and passing a burping contest proves you deserve another chance at your Charms practical exam.
Trigger Conditions
Requirements:
- Forest event hook (weight: 100, always triggers if eligible)
- seenmaster flag must be TRUE (session['user']['seenmaster'])
- NOT yet encountered today (seen pref = 0)
seenmaster Flag:
- Set by professor fight modules when player loses
- Indicates: "You failed your professor, locked out"
- This event is ONLY way to clear flag (unlock re-fight)
- Cleared when master beaten (seenmaster → 0)
If Ineligible:
- seenmaster = 0 OR seen = 1 (already encountered today):
- "`3You hear an odd rustling in the bushes, but decide to dismiss it."
- "You have far too much on your mind to be dealing with other things."
- specialinc cleared, continue forest
- No interaction (event aborted)
The Encounter
Initial Message:
- "`3As you stride into a clearing, an odd rustling in the bushes catches your attention."
- "All of a sudden, %s walks out from behind a tree and acknowledges your presence." (master name)
Master Name:
- Configurable: mastername setting (default "Firenze")
- Firenze: Centaur from canon (taught Divination after Trelawney fired)
- Admin can change to any NPC name
Your Options:
- [Talk to [Master Name]] - Accept challenge
- [Leave] - Decline, exit clearing
The Challenge
Talk Sequence:
- "%s smiles and places their hand on your shoulder." (master name)
- Master's offer: "\"`#If you can beat me in a %s, then I shall allow you to fight your Professor once again.`3\"" (game name)
- Game selected randomly (num = e_rand(1, 5))
- seen pref set to 1 (locks for day)
5 Possible Games:
- 1: "game of Wizard Chess"
- 2: "game of Gobstones"
- 3: "Burping Contest"
- 4: "Gnome Toss"
- 5: "game of Exploding Snap"
- Randomly selected, 20% each
- Purely cosmetic (no mechanical difference)
Your Response:
- [Sure] - Accept game challenge
- [I'll Pass] - Decline (same as Leave)
Playing the Game
Setup:
- "%s begins to set up for the %s, as you wait patiently." (master, game)
- "%s finishes and stands, taking their position.`n`n" (master)
Outcome Roll:
- Roll: e_rand(1, 100)
- Compare to: chance setting (default 50)
- If roll <= chance: WIN
- If roll > chance: LOSE
- Default 50% = coin flip
Victory Outcome
Win Message:
- "`3After many grueling hours, %s concedes defeat and bows to you.`n" (master)
- Master's concession: "\"`#Aw, you beat me. I shall talk to your Professor to give you another chance.\""
- "`n`n`^You may now challenge your professor again.`n"
Reward:
- seenmaster flag cleared: session['user']['seenmaster'] = 0
- Effect: Professor fight unlocked (can attempt again)
- No gold, XP, items, or other rewards
- ONLY benefit: Access to professor re-fight
What This Means:
- Can now visit professor location again
- Attempt professor fight (whatever module set seenmaster)
- Second chance to pass class/exam
- Master vouches for you ("I'll talk to your Professor")
Defeat Outcome
Loss Message:
- "`3After many grueling hours, %s raises a fists in triumph.`n" (master)
- Master's taunt: "\"`#You are such a wuss. no wonder you failed your class.`3\""
Penalty:
- seenmaster remains 1 (still locked out)
- No tangible loss (no gold/HP/items deducted)
- But: Can't try professor again today (seen pref = 1)
What This Means:
- Professor fight still locked
- Must wait until tomorrow's newday (seen → 0)
- Try master encounter again tomorrow
- Repeat until victory
Decline Options
Leave (Initial) or I'll Pass (After Talk):
- "%s chuckles behind your back, as you make your way out of the clearing." (master)
- specialinc cleared, continue forest
- seen pref NOT set (can re-encounter today if Leave before Talk)
- If decline after Talk: seen = 1 (locked for day)
Strategy Note:
- If Leave before Talk: Can re-encounter same day (forest RNG)
- If Talk then Pass: Locked for day (seen = 1 set during Talk)
- Better to Leave early if unsure
Once Per Day Mechanic
seen Preference:
- Pref: seen (bool, default 0)
- Set to 1 when you Talk to master (accept challenge)
- NOT set if you Leave before talking
- Reset at newday: seen → 0
Event Weight Logic:
- If seenmaster = TRUE AND seen = 0: Weight 100 (always appears)
- Otherwise: Event doesn't trigger (specialinc cleared)
Implications:
- One challenge attempt per day maximum
- 50% default win rate = expect 2 days average to unlock
- Bad RNG: Could take 5-10+ days
- Good RNG: First try win (50% chance)
The Five Games Explained
Wizard Chess:
- Canon: Magical chess with animated pieces
- Famous: Ron Weasley's game in Philosopher's Stone
- Skill-based (in lore)
Gobstones:
- Canon: Wizarding game like marbles
- Losing piece squirts smelly liquid at player
- Mentioned in books as student pastime
Burping Contest:
- Non-canon humor addition
- Crude competition (burp loudest/longest?)
- Silly choice for serious academic redemption
Gnome Toss:
- Based on de-gnoming gardens (canon task)
- Throw gnomes far as possible
- Weasley family does this in Chamber of Secrets
Exploding Snap:
- Canon: Card game that literally explodes
- Students play in common rooms
- Can singe eyebrows if not careful
Game Selection = Flavor Only:
- No mechanical difference (all use same 50% roll)
- Purely for variety and humor
- Absurd that burping contest unlocks professor fight
Admin Configuration
Settings:
- mastername: Name of the master you must beat (text, default "Firenze")
- chance: Chance that player will fight Professor again? (range 1-100, default 50)
Customization:
- Change master: mastername = "Professor McGonagall" (any NPC)
- Easier: chance = 75 (75% win rate, faster unlock)
- Harder: chance = 25 (25% win rate, avg 4 days to unlock)
- Guaranteed: chance = 100 (always win)
- Impossible: chance = 0 (never win, permanent lock)
Balancing:
- 50% default = fair (2 day average)
- Too high (90%): Trivializes professor lock (easy unlock)
- Too low (10%): Frustrating RNG gate (10 day average)
Strategy Guide
If You Have seenmaster Flag:
- Always accept master challenge (only unlock method)
- 50% win chance per day
- Expected days to unlock: 2 (geometric distribution)
- Keep trying daily until victory
Leave vs I'll Pass:
- Leave (before Talk): Can re-encounter today (seen not set)
- I'll Pass (after Talk): Locked for day (seen = 1)
- No reason to Pass after Talk (already locked)
- Always choose [Sure] if you Talked
Probability Over Time:
- Day 1: 50% unlock
- Day 2: 75% cumulative (50% + 50% of remaining 50%)
- Day 3: 87.5% cumulative
- Day 5: 96.875% cumulative
- Unlucky: 5% chance takes 5+ days
Limitations
- Requires Professor Failure: Only appears if seenmaster = 1 (useless otherwise)
- Once Per Day: Can only attempt once daily (RNG frustration)
- Pure RNG: 50% default = no skill, just luck
- Game Choice Meaningless: All 5 games same outcome (flavor only)
- No Alternative Unlock: ONLY way to clear seenmaster (forced participation)
- Professor Module Dependency: Useless without module that sets seenmaster
- Long Text: "Many grueling hours" = instant roll (false narrative)
Professor Encounter: where you stride into a forest clearing and hear odd rustling in the bushes followed by a configurable master (default: Firenze the centaur) walking out from behind a tree and acknowledging your presence, but ONLY if you have the seenmaster flag set to true from previously failing a professor fight and haven't already encountered them today, at which point Firenze smiles and places their hand on your shoulder saying "If you can beat me in a [randomly selected game from Wizard Chess, Gobstones, Burping Contest, Gnome Toss, or Exploding Snap], then I shall allow you to fight your Professor once again," and if you accept the challenge Firenze sets up the game and takes their position then after "many grueling hours" that actually resolve instantly with a single e_rand(1-100) roll against configurable chance (default 50%), either Firenze concedes defeat and bows saying "Aw you beat me, I shall talk to your Professor to give you another chance" which clears your seenmaster flag to 0 unlocking professor fights again, or Firenze raises a fist in triumph and taunts "You are such a wuss. no wonder you failed your class" leaving you still locked out until tomorrow's newday when you can try again, creating a daily 50% coin-flip RNG gate where the absurdity reaches peak levels when you realize that winning a burping contest against a centaur in the Forbidden Forest is mechanically equivalent to beating them at Wizard Chess and both somehow prove to your Transfiguration professor that you deserve academic remediation.