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.