Forest Fairy
Forest special encounter where a fairy demands a gem in exchange for magical rewards. Give 1 gem for 7 random outcomes (all positive): extra forest fights (14.3%, 1-5 FF configurable), +2 gems for net profit (28.6%), permanent max HP increase (28.6%, 1-5 HP configurable, carries across VEs by default), or skill point gain (28.6%). Refusing costs nothing if you have gems (just swat fairy away). Promising gem but having none = angry fairy sprinkles red dust, you lose 1 turn. 100% forest event weight (very rare). Where a tiny fairy floats up to you in the forest and shouts "GIVE ME A GEM!" in the most entitled tone possible, and you have to decide whether gambling 1 gem for a 28.6% chance at permanent HP or skill points is a good trade, and if you lie about having gems she blacks out your vision and you wander lost for hours.
Encounter Location
Where:
- Forest special event
- Triggers during forest fights (forest.php)
- Random encounter (no specific forest location)
Encounter Chance:
- Event weight: 100
- Very rare encounter (forest events compete for probability)
- No VE scaling (static weight)
- No daily limit (can encounter multiple times per day if lucky)
The Encounter
Initial Scene:
- "You encounter a fairy in the forest."
- Fairy: "GIVE ME A GEM!" (demands, not asks)
- Very entitled tiny creature
- No negotiation, no explanation
- Binary choice: comply or refuse
Your Choices:
- Give her a gem: Trade 1 gem for random magical reward (if you have gems)
- Don't give her a gem: Refuse the trade (swat fairy away or walk away)
Give Gem: Positive Outcomes
If You Have Gems:
- Give fairy 1 gem (deducted from inventory)
- "She looks at it, squeals with delight, and promises a gift in return."
- Hovers over your head, sprinkles golden fairy dust
- "You discover that."
- One of 7 random outcomes (all positive)
Outcome 1: Extra Forest Fights (14.3% - case 1 of 7):
- Gain extra forest fights (fftoaward setting, default: 1)
- Admin-configurable: 1-5 forest fights
- Single outcome: "You receive an extra forest fight!"
- Multiple: "You receive %s extra forest fights!"
- Default: +1 forest fight (worth ~100-200 gold in loot/XP)
Outcome 2-3: Two Gems (28.6% - case 2-3 of 7):
- "You feel perceptive and notice TWO gems nearby!"
- Gain +2 gems
- Net profit: Spend 1 gem, gain 2 gems = +1 gem profit
- Excellent outcome: Free gem + original trade honored
- 28.6% chance (most common positive outcome)
Outcome 4-5: Permanent Max HP (28.6% - case 4-5 of 7):
- "Your maximum hitpoints are permanently increased by X!"
- HP gain: hptoaward setting (default: 1, range: 1-5)
- Increases maxhitpoints by hptoaward amount
- Also restores hptoaward HP (immediate healing)
- Tracked in extrahps user pref for hprecalc
- Permanent by default: Carries across VEs if carrydk=true (default)
- If carrydk=false OR globalhp module active with carrydk=false: Temporary (resets at VE)
- Message adjusts: "permanently" vs "temporarily"
- Very valuable outcome: Permanent stat growth
Outcome 6-7: Skill Point (28.6% - case 6-7 of 7):
- Calls increment_specialty() function
- Gain +1 skill point in your current specialty
- Requires you to have chosen specialty (not unspecialized)
- Skill points are rare and valuable
- Improves specialty abilities/bonuses
- Equivalent to ~1000-2000 gold value (hard to quantify)
Outcome Summary:
- 14.3% chance: +1 forest fight (default)
- 28.6% chance: Net +1 gem profit
- 28.6% chance: Permanent +1 max HP (default)
- 28.6% chance: +1 skill point
- 100% positive outcomes if you have gems to give
Give Gem: If You Don't Have Gems
The Punishment:
- You clicked "Give her a gem" but have 0 gems
- "You promise to give the fairy a gem."
- ".when you open your purse, you discover that you have none."
- Fairy taps foot on the air (annoyed)
- You try to explain why you lied
- "Having had enough of your mumblings."
- She sprinkles angry red fairy dust on you
- Vision blacks out
- Wake up disoriented, can't tell where you are
- Spend time searching for way back to village
- Lose 1 forest fight
Why This Happens:
- You lied to the fairy (promised gem but had none)
- Fairies don't appreciate being deceived
- Punishment: Disorientation + time loss = 1 turn wasted
- Could have just refused with no consequences
- Lesson: Don't make promises you can't keep
Don't Give Gem: Refusal
If You Have Gems:
- "Not wanting to part with one of your precious precious gems."
- ".you swat the tiny creature to the ground and walk away."
- No consequence mechanically
- Just walk away
- Fairy presumably annoyed but powerless
If You Don't Have Gems:
- "Not having any gems to part with."
- ".you swat the tiny creature to the ground and walk away."
- No consequence mechanically
- Honest refusal (can't give what you don't have)
Key Point:
- Refusing is ALWAYS safe (no penalty)
- Whether you have gems or not doesn't matter
- Only penalty is if you PROMISE gem but have none
- Honesty (refusing) > Lying (promising when you have none)
Expected Value Analysis
Give Gem Expected Value (if you have gems):
- Cost: 1 gem (~500-1000 gold value, varies by server)
- 14.3% chance: +1 forest fight (~100-200 gold value)
- 28.6% chance: Net +1 gem (500-1000 gold value)
- 28.6% chance: Permanent +1 max HP (priceless, ~500-1000 gold equivalent)
- 28.6% chance: +1 skill point (priceless, ~1000-2000 gold equivalent)
Expected Return (rough estimate):
- Gem value estimate: 750 gold average
- 0.143 × 150 gold (FF) = 21.5 gold
- 0.286 × 750 gold (gem) = 214.5 gold
- 0.286 × 750 gold (HP) = 214.5 gold
- 0.286 × 1500 gold (skill point) = 429 gold
- Total expected value: ~879 gold
- Cost: 750 gold (1 gem)
- Net expected value: ~+129 gold (+17% return)
Value Conclusion:
- Slightly positive expected value (+17%)
- But highly variable (skill point worth much more than forest fight)
- Main value: 57.2% chance of permanent stat gain (HP or skill point)
- If you value permanent stats highly: Excellent trade
- If you need gems for other purposes: Marginal trade
Strategic Recommendations
When to Give Gem:
- High Priority:
- You have spare gems (3+ gems in inventory)
- You value permanent stat growth (HP/skill points)
- You're not saving gems for specific purpose (equipment, quests, etc.)
- 57.2% chance of permanent stat gain is attractive
- Moderate Priority:
- You have 2 gems (can afford to risk 1)
- You're farming for stats/skill points
- 28.6% chance of net +1 gem profit offsets risk
When to Refuse:
- Refuse if:
- You have 0-1 gems (can't afford to lose gem)
- Saving gems for critical purchase (equipment upgrade, quest requirement)
- Don't value statistical variance (prefer guaranteed outcomes)
- Gems more valuable to you than average expected return
Key Decision Factors:
- Gem abundance: 3+ gems = safe to gamble
- Permanent stat value: If HP/skill points worth more than gems to you, trade favors giving
- Risk tolerance: High variance (skill point vs forest fight huge difference in value)
Permanent HP Mechanics
How Permanent HP Works:
- Fairy increases maxhitpoints by hptoaward (default: 1)
- Also restores same amount of HP (immediate healing)
- Tracked in extrahps user pref
- hprecalc hook subtracts extrahps from total/extra
Carrying Across VEs:
- If carrydk=true (DEFAULT):
- HP gain is PERMANENT
- Survives dragon kills
- Accumulates over multiple encounters
- Example: 10 fairy encounters × 1 HP = +10 permanent max HP
- If carrydk=false:
- HP gain is temporary (resets at VE)
- Still valuable within current VE cycle
- Message changes to "temporarily increased"
- If globalhp module active with carrydk=false:
- Overrides fairy carrydk setting
- HP resets at VE regardless of fairy setting
Why Permanent HP Matters:
- Max HP is core survival stat
- More HP = more forest fights before healing needed
- Permanent growth compounds over time
- At default carrydk=true: Every fairy HP gain adds to lifetime stats
- Very rare source of permanent HP outside of level-ups
Skill Point Value
What Skill Points Do:
- Improve your chosen specialty abilities
- Increase specialty-specific bonuses
- Unlock or enhance specialty skills
- Varies by specialty (Dark Arts, Thief, Mystical Powers, etc.)
Why Skill Points Are Valuable:
- Primary sources: Level-ups, specialty-specific quests, rare events
- Limited availability (can't farm easily)
- Permanent character progression
- Enhances combat effectiveness or special abilities
Fairy as Skill Point Source:
- 28.6% chance of skill point per gem given
- No daily limit (can farm if you have gems + RNG cooperates)
- Rare encounter makes farming difficult but possible
- One of few non-quest skill point sources
Admin Configuration
Settings:
- carrydk: Do max HP gains carry across VEs? (bool, default: true)
- hptoaward: How many HP given by fairy? (1-5, default: 1)
- fftoaward: How many FF given by fairy? (1-5, default: 1)
Balancing Recommendations:
- carrydk=true (DEFAULT): Permanent HP, encourages long-term play, rewards gem investment
- carrydk=false: Temporary HP, reduces long-term power creep, still useful short-term
- hptoaward=1 (DEFAULT): Balanced, requires many encounters for significant HP
- hptoaward=3-5: Fast HP growth, may trivialize HP scarcity
- fftoaward=1 (DEFAULT): Modest reward, 14.3% chance not game-breaking
- fftoaward=5: Very strong reward, makes gem trade much more attractive
Comparison to Other Gem Uses
Fairy Trade vs Saving Gems:
- Fairy: Gamble 1 gem for 57.2% permanent stat gain, 28.6% gem profit, 14.3% forest fight
- Equipment: Gems often required for high-tier gear purchases (certain value)
- Quests: Some quests demand gems (necessary cost)
- Module-specific uses: Exodus specialty (+3 skill points for 3 gems), dwelling purchases, etc.
Fairy vs Exodus Specialty:
- Fairy: 28.6% chance of +1 skill point per gem (expected: 0.286 skill points per gem)
- Exodus: Guaranteed +3 skill points for 3 gems (1.0 skill point per gem, plus 100 gold × level cost)
- Exodus more efficient for skill points
- Fairy offers variety (HP/gems/FF also possible)
- Fairy no gold cost, Exodus has gold cost
Lore & Flavor
The Fairy's Personality:
- Extremely demanding and entitled
- "GIVE ME A GEM!" (shouting, no please/thank you)
- No negotiation offered
- Squeals with delight when given gem (childlike joy)
- Sprinkles golden dust when pleased (benevolent magic)
- Sprinkles angry red dust when lied to (punitive magic)
- Tiny creature (can be swatted away)
Fairy Dust Colors:
- Golden fairy dust: Positive magic (rewards for compliance)
- Angry red fairy dust: Negative magic (punishment for lying)
- Color indicates fairy's emotional state
Why Does Fairy Want Gems?:
- Never explained in module
- Fairies traditionally attracted to shiny/precious things (folklore)
- Perhaps uses gems for fairy magic/home decoration
- Or just likes collecting them (dragon-like hoarding behavior)
- Gives generous gifts in return, so fair trader despite demanding tone
Technical Details
Event Integration:
- module_addeventhook("forest", "return 100;")
- Weight: 100 (competes with other forest events)
- No test function (always 100 weight when rolled)
HP Tracking:
- extrahps user pref: Cumulative HP gained from fairy
- hprecalc hook: Subtracts extrahps from total/extra during HP recalculation
- If carrydk=false: Resets extrahps to 0 during hprecalc (doesn't carry)
- Integrates with globalhp module if active
Random Distribution:
- e_rand(1, 7) for 7 outcomes
- Case 1: Forest fights (14.3%)
- Case 2-3: Two gems (28.6%)
- Case 4-5: Permanent HP (28.6%)
- Case 6-7: Skill point (28.6%)
- Even distribution across ranges
Forest Fairy: where you're wandering through the forest and a tiny entitled fairy floats up and SHOUTS "GIVE ME A GEM!" with zero explanation or please/thank you, and if you give her a gem she squeals with delight and sprinkles golden fairy dust on you for one of seven outcomes: 14.3% chance of extra forest fight, 28.6% chance of getting 2 gems back (net +1 gem profit which is hilarious because she basically scammed you into giving her a gem and then gave you two back), 28.6% chance of permanent +1 max HP that carries across dragon kills by default, or 28.6% chance of +1 skill point in your specialty. The expected value is slightly positive (+17% return) but the real draw is the 57.2% chance of permanent stat growth (HP or skill points), making this an excellent trade if you have spare gems and value long-term character progression. If you refuse she has no recourse and you just swat her to the ground and walk away, but if you PROMISE to give her a gem and then open your purse to discover you have none, she sprinkles angry red fairy dust on you, blacks out your vision, and you wander lost for hours losing 1 forest fight, which is karma's way of saying "don't lie to magical creatures about having treasure you don't possess." The fairy's personality is pure entitlement wrapped in sparkles: demands gems, squeals when happy, rage-curses when deceived, offers no explanation for why she needs gems, but hey at least she pays better than most gem-consuming services. At default settings (carrydk=true, hptoaward=1) every HP gain is permanent and accumulates across your character's lifetime, making the fairy one of the few sources of permanent stat growth outside leveling, which is why gem-rich players should always take the gamble.