# BaoLife Event Ideas: Quick Wins by Category

**Generated:** November 13, 2025
**Purpose:** Comprehensive list of high-value, low-effort event ideas organized by the new event category structure

---

## Table of Contents
1. [Childhood Events](#1-childhood-events)
2. [Adolescence Events](#2-adolescence-events)
3. [Education Events](#3-education-events)
4. [Adulthood Events](#4-adulthood-events)
5. [Holidays Events](#5-holidays-events)
6. [School Year Events](#6-school-year-events)
7. [Health Events](#7-health-events)
8. [Random Events](#8-random-events)
9. [Dilemmas](#9-dilemmas)
10. [Conversations](#10-conversations)
11. [Tutorial Events](#11-tutorial-events)
12. [Summary & Implementation Priority](#summary--implementation-priority)

---

## 1. Childhood Events

### Existing Events Analysis
**Files:** `milestones.py`, `activities.py`
**Count:** 9 events covering walking, talking, teeth, bike riding, swimming, play dates, and instruments

The existing childhood events focus primarily on developmental milestones and learning activities. There's room for more emotional moments, sibling/family interactions, and everyday childhood experiences.

---

### New Event Ideas

#### 1.1 **firstDayOfPreschool** (questionEvent)
- **Description:** Emotional reaction to first day of preschool/daycare
- **Age:** 3-4 years
- **Question:** "It's your first day of preschool! How do you feel about leaving your parents?"
- **Options:**
  - "Cry and cling to parent" (happiness -5, energy -5)
  - "Wave goodbye excitedly!" (happiness +5, social +5)
  - "Hide behind parent's leg" (happiness -3)
- **Quick Win:** Simple binary emotional choice, easy stat modifications
- **Template:** Similar to `likeSchool` but earlier age

#### 1.2 **learningColors** (messageEvent)
- **Description:** Learning to identify colors
- **Age:** 2-3 years
- **Message:** "You learned all your colors today! You can't stop pointing at things and naming them: Red truck! Blue sky! Yellow flower!"
- **Quick Win:** Pure message event, no choices needed, relatable milestone
- **Template:** Similar to `learnedWalk`

#### 1.3 **imaginaryFriend** (questionEvent)
- **Description:** Creating an imaginary friend
- **Age:** 3-5 years
- **Question:** "You've created an imaginary friend! What's their name?"
- **Options:**
  - "Mr. Whiskers" (happiness +10)
  - "Rainbow" (happiness +10, social +5)
  - "Shadow" (happiness +10)
  - "I don't need imaginary friends" (social -5)
- **Quick Win:** Fun character moment, simple choice, no complex mechanics
- **Template:** Similar to `playDate`

#### 1.4 **firstNightmare** (messageEvent)
- **Description:** Waking up from a scary dream
- **Age:** 3-6 years
- **Message:** "You woke up crying from a bad dream. Your parents comfort you and leave a nightlight on. You feel safe again."
- **Quick Win:** Simple message, adds emotional variety to childhood
- **Template:** Similar to `lostFirstTooth`

#### 1.5 **petGoldfish** (questionEvent)
- **Description:** Getting a first pet (goldfish)
- **Age:** 4-7 years
- **Question:** "Your parents got you a goldfish! What do you name it?"
- **Options:**
  - "Bubbles" (happiness +10)
  - "Nemo" (happiness +10)
  - "Sir Swimsalot" (happiness +15, diamondCost=3)
  - "Goldie" (happiness +10)
- **Quick Win:** Universal childhood experience, simple choice
- **Template:** Similar to `playDate`
- **Follow-up Potential:** Could trigger `petGoldfishDied` event later

#### 1.6 **scaredOfDark** (questionEvent)
- **Description:** Fear of the dark at bedtime
- **Age:** 4-6 years
- **Question:** "You're scared of the dark. What helps you feel brave?"
- **Options:**
  - "Ask for a nightlight" (happiness +5, energy +5)
  - "Sleep with stuffed animal" (happiness +10)
  - "Check under the bed" (energyCost=10)
  - "Call for parent" (happiness +5)
- **Quick Win:** Common childhood fear, multiple relatable options
- **Template:** Similar to `playDate` structure

#### 1.7 **firstTimeTying Shoes** (messageEvent)
- **Description:** Learning to tie shoelaces
- **Age:** 5-7 years
- **Message:** "After many attempts, you finally tied your shoes by yourself! You feel so grown up."
- **Quick Win:** Simple milestone message
- **Template:** Exact same as `learnedWalk`

#### 1.8 **sandboxDisagreement** (questionEvent)
- **Description:** Conflict over toys in sandbox/playground
- **Age:** 3-5 years
- **Question:** "Another kid grabs the toy you were playing with. What do you do?"
- **Options:**
  - "Grab it back!" (social -5, happiness +5)
  - "Tell a grown-up" (social +5)
  - "Find a different toy" (happiness -5, social +5)
  - "Suggest taking turns" (social +15, diamondCost=5)
- **Quick Win:** Early lesson in conflict resolution, simple mechanics
- **Template:** Similar to `playDate`

#### 1.9 **pickySomEater** (messageEvent)
- **Description:** Going through a picky eating phase
- **Age:** 2-4 years
- **Message:** "You refuse to eat anything except chicken nuggets and mac & cheese. Your parents sigh and hope it's just a phase."
- **Quick Win:** Relatable, humorous, pure message
- **Template:** Similar to `newFood`

#### 1.10 **firstHaircut** (questionEvent)
- **Description:** Reaction to first haircut
- **Age:** 2-4 years
- **Question:** "It's time for your first haircut! How does it go?"
- **Options:**
  - "Cry the whole time" (happiness -10, energy -5)
  - "Sit very still and brave" (happiness +10)
  - "Can't stop wiggling" (happiness +5, energyCost=5)
- **Quick Win:** Universal milestone, simple emotional choice
- **Template:** Similar to `likeSchool`

---

## 2. Adolescence Events

### Existing Events Analysis
**Files:** `social.py`, `puberty.py`
**Count:** 9 events covering crushes, kisses, dating, puberty, braces, glasses

Strong foundation for romance and physical development. Could use more events around social anxiety, peer pressure, identity formation, and modern teen experiences (social media, etc.).

---

### New Event Ideas

#### 2.1 **groupProjectDrama** (questionEvent)
- **Description:** Dealing with lazy group project partners
- **Age:** 12-18 years
- **Question:** "Your group project is due tomorrow and your partners haven't done their part. What do you do?"
- **Options:**
  - "Do all the work yourself" (energyCost=20, happiness -10)
  - "Tell the teacher" (social -10)
  - "Stay up all night helping everyone finish" (energyCost=15, social +15, diamondCost=5)
  - "Turn in what you have" (happiness -5)
- **Quick Win:** Extremely relatable school experience
- **Template:** Similar to `schoolFight`

#### 2.2 **voiceCracking** (messageEvent)
- **Description:** Voice changing during puberty (males)
- **Age:** 12-14 years, sex == Male
- **Message:** "Your voice cracks right in the middle of answering a question in class. Everyone giggles. Your face turns red."
- **Quick Win:** Simple, awkward puberty moment, pure message
- **Template:** Similar to `puberty`

#### 2.3 **bodySelfConsciousness** (messageEvent)
- **Description:** Growing awareness of physical appearance
- **Age:** 11-14 years
- **Message:** "You spend extra time looking in the mirror today. You're starting to notice things you never paid attention to before."
- **Quick Win:** Universal teen experience, no choices needed
- **Template:** Similar to `puberty`

#### 2.4 **curfewArgument** (questionEvent)
- **Description:** Negotiating curfew with parents
- **Age:** 14-17 years
- **Question:** "Your parents set a 10pm curfew, but your friends are staying out until midnight. What do you do?"
- **Options:**
  - "Follow the rules" (happiness -5, social -5)
  - "Sneak out after they're asleep" (energyCost=10)
  - "Negotiate for 11pm" (diamondCost=5, happiness +5)
  - "Don't go out at all" (social -10, happiness -10)
- **Quick Win:** Classic teen conflict, simple choice structure
- **Template:** Similar to `romanticDate`

#### 2.5 **growthSpurt** (messageEvent)
- **Description:** Sudden rapid growth
- **Age:** 12-15 years
- **Message:** "You grew 3 inches this year! None of your pants fit anymore and you keep bumping into things."
- **Quick Win:** Simple message, relatable physical change
- **Template:** Similar to `puberty`

#### 2.6 **embarrassingSituation** (messageEvent)
- **Description:** Random embarrassing teen moment
- **Age:** 13-17 years
- **Message Options (random):**
  - "You walked around all day with food stuck in your teeth."
  - "You called your teacher 'Mom' by accident."
  - "You tripped going up the stairs and everyone saw."
  - "Your stomach growled loudly during a quiet test."
- **Quick Win:** Multiple message options for variety, no choices needed
- **Template:** Similar to existing message events with random.choice

#### 2.7 **sleepover** (questionEvent)
- **Description:** First overnight party with friends
- **Age:** 12-15 years
- **Question:** "You're at a sleepover and everyone wants to play truth or dare. Do you play?"
- **Options:**
  - "Yes, and pick truth" (social +5)
  - "Yes, and pick dare" (social +10, energyCost=10)
  - "Pretend to fall asleep" (social -10, happiness -5)
  - "Suggest a different game" (diamondCost=3, social +5)
- **Quick Win:** Classic teen experience
- **Template:** Similar to `romanticDate`

#### 2.8 **socialMediaPressure** (questionEvent)
- **Description:** Deciding whether to get social media
- **Age:** 11-14 years
- **Question:** "All your friends are on social media now. Do you want to join?"
- **Options:**
  - "Yes, make an account" (social +10, happiness +5)
  - "No, you're not interested" (social -5, happiness +5)
  - "Make a private account" (social +5)
- **Quick Win:** Modern, relatable choice
- **Template:** Similar to `likeSchool`
- **Note:** Could set player.c.hasSocialMedia flag for future events

#### 2.9 **fashionExperimentation** (questionEvent)
- **Description:** Trying a bold new style
- **Age:** 13-17 years
- **Question:** "You want to try a completely different fashion style. What do you go for?"
- **Options:**
  - "Edgy and dark" (social +5)
  - "Preppy and classic" (social +5)
  - "Athletic and casual" (social +5)
  - "Stay the same" (happiness -5)
- **Quick Win:** Identity exploration, simple choices
- **Template:** Similar to `likeSchool`

#### 2.10 **learningToDrive** (messageEvent)
- **Description:** First time behind the wheel
- **Age:** 15-16 years
- **Message:** "Your parent takes you to an empty parking lot to practice driving for the first time. You're nervous and excited!"
- **Quick Win:** Bridge to existing `driversLessons` event
- **Template:** Similar to `driversLessons`

---

## 3. Education Events

### Existing Events Analysis
**Files:** `school_life.py`, `tests.py`, `activities.py`
**Count:** 17 events covering daily school life, tests, extracurriculars, college

Excellent variety of school situations. Could add more college-specific experiences, study habits, academic pressure, and teacher interactions.

---

### New Event Ideas

#### 3.1 **popQuiz** (questionEvent)
- **Description:** Unexpected quiz when unprepared
- **Age:** 10-18 years
- **Location:** school
- **Question:** "The teacher announces a surprise pop quiz! You didn't study. What do you do?"
- **Options:**
  - "Try your best" (energyCost=10)
  - "Glance at neighbor's paper" (social -5)
  - "Fake being sick" (happiness -10)
  - "Stay calm and think" (diamondCost=5, happiness +5)
- **Quick Win:** Universal student stress moment
- **Template:** Similar to `forgotCombo`

#### 3.2 **raisedHandNotCalled** (messageEvent)
- **Description:** Knowing the answer but not getting called on
- **Age:** 8-18 years
- **Location:** school
- **Message:** "You know the answer! Your hand shoots up, but the teacher calls on someone else who gets it wrong. So frustrating."
- **Quick Win:** Simple relatable moment, pure message
- **Template:** Similar to `tiredinClass`

#### 3.3 **lostHomework** (questionEvent)
- **Description:** Can't find completed homework
- **Age:** 8-16 years
- **Location:** school or home
- **Question:** "You finished your homework but can't find it anywhere! What do you do?"
- **Options:**
  - "Redo it quickly before class" (energyCost=20)
  - "Explain to the teacher" (social +5)
  - "Say your dog ate it" (social -10, happiness +5)
  - "Take the late grade" (happiness -10)
- **Quick Win:** Classic student problem
- **Template:** Similar to `forgotCombo`

#### 3.4 **presentationNerves** (questionEvent)
- **Description:** Giving a presentation in front of the class
- **Age:** 10-18 years
- **Location:** school
- **Question:** "It's your turn to present to the class. How do you handle your nerves?"
- **Options:**
  - "Take deep breaths and go" (energyCost=10, social +5)
  - "Rush through it quickly" (energyCost=5, social -5)
  - "Picture everyone in underwear" (happiness +5)
  - "Ask to go last" (energyCost=15, diamondCost=3)
- **Quick Win:** Common anxiety moment
- **Template:** Similar to `schoolAssembly`

#### 3.5 **teacherFavorite** (messageEvent)
- **Description:** Becoming the teacher's favorite
- **Age:** 8-17 years
- **Location:** school
- **Message:** "Your teacher keeps calling on you and praising your work. Some classmates whisper that you're the 'teacher's pet.'"
- **Quick Win:** Social dynamics, simple message
- **Template:** Similar to `dropBooks`

#### 3.6 **studyGroupInvite** (questionEvent)
- **Description:** Invited to join a study group
- **Age:** 14-22 years
- **Location:** school
- **Question:** "Some classmates invite you to their study group. Do you join?"
- **Options:**
  - "Yes, study together" (energyCost=10, social +10)
  - "No, prefer solo studying" (social -5)
  - "Yes, but mostly socialize" (energyCost=5, social +15)
- **Quick Win:** Academic social choice
- **Template:** Similar to `studySession` conversation

#### 3.7 **extracurricularBurnout** (questionEvent)
- **Description:** Overwhelmed by too many activities
- **Age:** 13-18 years
- **Condition:** player.c.activities.length > 2
- **Question:** "You're juggling school, activities, and friends. You're exhausted. What gives?"
- **Options:**
  - "Quit an activity" (happiness +10, social -5)
  - "Power through it" (energyCost=20)
  - "Talk to parents about it" (diamondCost=5, energy +10)
  - "Drop the lowest priority" (happiness +5)
- **Quick Win:** Modern student stress
- **Template:** Similar to `collegeExtracurricular`

#### 3.8 **cafeteriaFoodPoisoning** (messageEvent)
- **Description:** Getting sick from school lunch
- **Age:** 8-18 years
- **Location:** school
- **Message:** "That mystery meat from the cafeteria is not sitting well. You spend most of the afternoon in the bathroom."
- **Quick Win:** Gross but relatable, pure message
- **Template:** Similar to `minorSickness`

#### 3.9 **substitutTeacher** (messageEvent)
- **Description:** Having a substitute teacher
- **Age:** 8-18 years
- **Location:** school
- **Message:** "You have a substitute teacher today. The class is chaotic and you barely get any work done."
- **Quick Win:** Universal school experience
- **Template:** Simple message event

#### 3.10 **collegeAllNighter** (questionEvent)
- **Description:** Pulling an all-nighter to study
- **Age:** 18-22 years
- **Education:** college
- **Question:** "You have a huge exam tomorrow and you're behind. Pull an all-nighter?"
- **Options:**
  - "Yes, study all night" (energyCost=30, happiness -10)
  - "No, get sleep instead" (happiness +5, energy +10)
  - "Study until midnight" (energyCost=15)
  - "Get help from study buddy" (diamondCost=10, social +10)
- **Quick Win:** College-specific stress moment
- **Template:** Similar to `tiredinClass`

---

## 4. Adulthood Events

### Existing Events Analysis
**Files:** `career.py`, `romance.py`, `family.py`
**Count:** 8 events covering first job, career, marriage, children

Good foundation for major life milestones. Needs more everyday adult experiences: apartment hunting, financial stress, work-life balance, friendships fading, aging parents, etc.

---

### New Event Ideas

#### 4.1 **firstApartment** (questionEvent)
- **Description:** Moving into first apartment alone
- **Age:** 18-25 years
- **Question:** "You're looking at your first apartment. It's small and needs work, but it's yours. Do you take it?"
- **Options:**
  - "Sign the lease!" (moneyCost=500, happiness +20)
  - "Keep looking" (happiness -5)
  - "Find a roommate first" (social +10, moneyCost=250)
  - "Stay with parents longer" (happiness -10, money +100)
- **Quick Win:** Major adult milestone
- **Template:** Similar to `openbankAccount`

#### 4.2 **workLifeBalance** (questionEvent)
- **Description:** Choosing between career and personal life
- **Age:** 25-50 years
- **Occupation:** work
- **Question:** "Your boss offers overtime pay, but you have plans with friends. What do you choose?"
- **Options:**
  - "Take the overtime" (money +200, social -10, energyCost=20)
  - "Keep your plans" (social +10, happiness +10)
  - "Split the difference" (money +100, energyCost=10)
- **Quick Win:** Classic adult dilemma
- **Template:** Similar to `employeeOfTheMonth`

#### 4.3 **forgotBirthdayCall** (messageEvent)
- **Description:** Forgot to call family on important day
- **Age:** 22-65 years
- **Message:** "You realize you forgot to call your mom on her birthday. You feel terrible and quickly send a late message."
- **Effect:** Random family member affinity -10
- **Quick Win:** Common adult guilt moment
- **Template:** Similar to `lowAffinity`

#### 4.4 **friendsDrifting** (messageEvent)
- **Description:** Realizing you've lost touch with friends
- **Age:** 25-40 years
- **Message:** "You scroll through your phone and realize you haven't talked to your best friend from college in over a year. When did you get so busy?"
- **Quick Win:** Poignant adult realization
- **Template:** Similar to `adultMissFriends`

#### 4.5 **unexpectedBill** (messageEvent)
- **Description:** Surprise expensive bill arrives
- **Age:** 20-65 years
- **Message Options (random):**
  - "Your car needs $800 in repairs. Ouch."
  - "The medical bill is way higher than expected."
  - "You forgot to pay insurance and now there's a late fee."
  - "Your laptop died and needs replacing."
- **Effect:** money -200 to -800 (random)
- **Quick Win:** Adult financial stress
- **Template:** Similar to message events with random.choice

#### 4.6 **promotionOpportunity** (questionEvent)
- **Description:** Job promotion offered with tradeoffs
- **Age:** 25-55 years
- **Occupation:** work
- **Question:** "You're offered a promotion with more money but longer hours. Accept?"
- **Options:**
  - "Yes, take promotion" (money +500/month, energyCost=30/week, happiness -10)
  - "No, stay where you are" (happiness +10)
  - "Negotiate better terms" (diamondCost=10, money +400, energyCost=20)
- **Quick Win:** Career progression choice
- **Template:** Similar to `jobApplication`

#### 4.7 **agingParent** (questionEvent)
- **Description:** Parent needs more help with daily tasks
- **Age:** 35-60 years
- **Question:** "Your parent is getting older and needs help. How do you support them?"
- **Options:**
  - "Visit more often" (energyCost=10/week, social +10)
  - "Hire outside help" (moneyCost=500)
  - "Move them in with you" (energyCost=20/week, moneyCost=200, happiness -10)
  - "Encourage siblings to help" (diamondCost=5)
- **Quick Win:** Important adult life stage
- **Template:** Similar to `haveChild` structure

#### 4.8 **careerChangeDesire** (questionEvent)
- **Description:** Thinking about switching careers
- **Age:** 30-50 years
- **Occupation:** work
- **Question:** "You're tired of your job and dream of doing something different. Do you make a change?"
- **Options:**
  - "Quit and pursue passion" (energyCost=50, happiness +30, money -1000)
  - "Stay in current job" (happiness -10, money +500)
  - "Side hustle first" (energyCost=20, happiness +10)
  - "Go back to school" (moneyCost=5000, happiness +20)
- **Quick Win:** Mid-life career reflection
- **Template:** Similar to `jobApplication`

#### 4.9 **coworkerRivalry** (messageEvent)
- **Description:** Competitive relationship with colleague
- **Age:** 25-60 years
- **Occupation:** work
- **Message:** "A new coworker is getting all the attention. You feel competitive and a little jealous."
- **Quick Win:** Workplace dynamics
- **Template:** Simple message event

#### 4.10 **divorceConsideration** (questionEvent)
- **Description:** Serious relationship problems
- **Age:** 25-65 years
- **Condition:** player.c.partner && partner.affinity < 20
- **Question:** "Your marriage isn't what it used to be. Do you try to fix it or let go?"
- **Options:**
  - "Couples therapy" (moneyCost=500, diamondCost=10, energyCost=30)
  - "Separate for now" (happiness -20, energyCost=40)
  - "Divorce" (happiness -30, moneyCost=2000, energyCost=50)
  - "Keep trying alone" (energyCost=20, happiness -10)
- **Quick Win:** Serious adult decision
- **Template:** Similar to `marriage` but opposite direction

---

## 5. Holidays Events

### Existing Events Analysis
**Files:** `annual.py`
**Count:** 9 events covering major US holidays and birthday

Good coverage of major holidays. Could add more cultural holidays, holiday-specific interactions, and seasonal events beyond just the holidays themselves.

---

### New Event Ideas

#### 5.1 **halloween** (questionEvent)
- **Description:** Halloween costume and trick-or-treating
- **Age:** 3-16 years
- **Date:** 10-31
- **Question:** "It's Halloween! What costume do you wear?"
- **Options (age-dependent):**
  - Ages 3-10: "Princess/Superhero" | "Scary Monster" | "Funny Character" | "No costume"
  - Ages 11-16: "Group costume with friends" | "Ironically cute" | "Too cool for costumes" | "Hand out candy instead"
- **Quick Win:** Beloved holiday, age-appropriate branches
- **Template:** Similar to `birthday` with age checks

#### 5.2 **valentinesDay** (questionEvent)
- **Description:** Valentine's Day celebration or anxiety
- **Age:** 10-100 years
- **Date:** 02-14
- **Question:** "It's Valentine's Day! How do you spend it?"
- **Options (relationship-dependent):**
  - If partnered: "Romantic dinner" (moneyCost=100, happiness +20) | "Stay in and cook" (happiness +15)
  - If single: "Galentine's/Palentine's with friends" (social +15) | "Treat yourself" (moneyCost=50, happiness +10) | "Ignore it completely"
- **Quick Win:** Relationship-status-aware holiday
- **Template:** Similar to `birthday` with conditional options

#### 5.3 **easterEggHunt** (messageEvent)
- **Description:** Easter egg hunting as child
- **Age:** 2-10 years
- **Date:** Easter (variable, could use early April)
- **Message:** "You find a basket full of candy and colorful eggs! Easter is so fun!"
- **Quick Win:** Simple childhood holiday joy
- **Template:** Similar to `christmas`

#### 5.4 **backToSchoolShopping** (questionEvent)
- **Description:** Shopping for school supplies
- **Age:** 5-18 years
- **Date:** late August (08-20 to 08-31)
- **Question:** "It's time for back-to-school shopping! What's your style?"
- **Options:**
  - "Cool new backpack" (moneyCost=50, happiness +10, social +5)
  - "Fancy notebooks" (moneyCost=30, happiness +5)
  - "Just the basics" (moneyCost=20)
  - "Use last year's stuff" (happiness -5, social -5)
- **Quick Win:** Seasonal school event
- **Template:** Similar to `fieldTrip`

#### 5.5 **springCleaning** (questionEvent)
- **Description:** Annual spring cleaning task
- **Age:** 18-100 years
- **Date:** March-April
- **Question:** "It's time for spring cleaning! How thorough are you?"
- **Options:**
  - "Deep clean everything" (energyCost=30, happiness +15)
  - "Just the visible areas" (energyCost=15, happiness +5)
  - "Hire a cleaner" (moneyCost=200, happiness +10)
  - "Ignore it" (happiness -10)
- **Quick Win:** Seasonal adult task
- **Template:** Similar to `vacation`

#### 5.6 **mothersDayForgot** (messageEvent)
- **Description:** Forgetting Mother's Day
- **Age:** 12-100 years
- **Date:** Second Sunday of May (05-08 to 05-14 range)
- **Message:** "You forgot it was Mother's Day! You scramble to call your mom and feel guilty."
- **Effect:** Mother affinity -15
- **Quick Win:** Guilt-inducing family moment
- **Template:** Similar to `forgotBirthdayCall`

#### 5.7 **summerFirstDayPool** (messageEvent)
- **Description:** First day at the pool/beach
- **Age:** 5-30 years
- **Date:** Early June
- **Message:** "It's finally warm enough to swim! You spend the whole day at the pool/beach and get totally sunburned."
- **Quick Win:** Seasonal summer joy
- **Template:** Simple message event

#### 5.8 **snowDay** (messageEvent)
- **Description:** School/work cancelled due to snow
- **Age:** 5-65 years
- **Date:** Winter months
- **Condition:** occupation == 'student' or occupation == 'work'
- **Message:** "Heavy snow overnight! School/work is cancelled and you get an unexpected day off!"
- **Effect:** happiness +20, energy +10
- **Quick Win:** Beloved weather event
- **Template:** Similar to `vacation`

#### 5.9 **newYearsResolution** (questionEvent)
- **Description:** Making New Year's resolutions
- **Age:** 10-100 years
- **Date:** 01-01
- **Question:** "What's your New Year's resolution?"
- **Options:**
  - "Exercise more" (creates schedule)
  - "Save money" (money +100/month for 3 months)
  - "Make new friends" (social +5/month for 3 months)
  - "No resolutions" (happiness -5)
- **Quick Win:** Goal-setting moment with mechanical effects
- **Template:** Similar to `actTest` with schedule creation

#### 5.10 **blackFridayChaos** (questionEvent)
- **Description:** Black Friday shopping decision
- **Age:** 16-100 years
- **Date:** 11-24
- **Question:** "Black Friday is here! Brave the crowds for deals?"
- **Options:**
  - "Yes, wake up early!" (energyCost=20, moneyCost=200, happiness +15)
  - "Online shopping only" (moneyCost=150, happiness +10)
  - "Skip it completely" (happiness +5)
  - "Just window shop" (energyCost=10, social +5)
- **Quick Win:** Modern shopping culture
- **Template:** Similar to existing `blackfriday` but with choices

---

## 6. School Year Events

### Existing Events Analysis
**Files:** `transitions.py`
**Count:** 18 events covering grade progressions, graduations, college transitions, and various life events

Comprehensive grade progression system. Could add more specific school year milestones: first week back, midterms, finals week, yearbook, prom, etc.

---

### New Event Ideas

#### 6.1 **summerReading** (questionEvent)
- **Description:** Summer reading assignment for school
- **Age:** 10-17 years
- **Date:** June-August
- **Question:** "You have to read a book for summer homework. When do you do it?"
- **Options:**
  - "Right away in June" (happiness -10, energyCost=15)
  - "Throughout the summer" (energyCost=5/month)
  - "Last week of summer" (energyCost=30, happiness -20)
  - "Don't read it" (happiness -10, affects first day)
- **Quick Win:** Universal student experience
- **Template:** Similar to `actTest` with schedule

#### 6.2 **classRankReveal** (messageEvent)
- **Description:** Finding out class rank
- **Age:** 16-17 years (11th-12th grade)
- **Message Options (based on performance):**
  - High GPA: "You're in the top 10% of your class! You feel proud."
  - Mid GPA: "You're in the middle of your class. Not bad!"
  - Low GPA: "Your class rank is lower than you hoped. Time to study harder?"
- **Quick Win:** Academic milestone
- **Template:** Similar to `graduate8th`

#### 6.3 **seniorSurvey** (questionEvent)
- **Description:** Yearbook survey/superlatives
- **Age:** 17-18 years (12th grade)
- **Question:** "The yearbook committee wants to give you a superlative. Which fits best?"
- **Options (based on stats):**
  - "Most Likely to Succeed"
  - "Class Clown"
  - "Most Athletic"
  - "Biggest Bookworm"
  - "Most Social"
- **Quick Win:** Fun senior moment
- **Template:** Similar to `graduate12th`

#### 6.4 **finalExamWeek** (messageEvent)
- **Description:** Stress of finals week
- **Age:** 14-22 years
- **Date:** May-June, December
- **Message:** "It's finals week. You're surviving on coffee and stress. Almost there!"
- **Effect:** energy -20, happiness -10
- **Quick Win:** Universal student stress
- **Template:** Simple message event

#### 6.5 **summerJobSearch** (questionEvent)
- **Description:** Looking for summer employment
- **Age:** 15-21 years
- **Date:** April-May
- **Question:** "Summer is coming. Do you want to get a summer job?"
- **Options:**
  - "Yes, find a job" (triggers firstJob if not employed)
  - "Volunteer instead" (social +20, happiness +10)
  - "Focus on summer activities" (happiness +15)
  - "Take it easy" (energy +20)
- **Quick Win:** Summer planning
- **Template:** Similar to `firstJob`

#### 6.6 **promInvite** (questionEvent)
- **Description:** Being asked to prom or asking someone
- **Age:** 16-18 years (11th-12th grade)
- **Date:** March-April
- **Question:** "Prom is coming up! What's your plan?"
- **Options (relationship-dependent):**
  - If partnered: "Go with partner" (happiness +20, moneyCost=200)
  - If single: "Ask someone you like" | "Go with friends" (social +15, moneyCost=150) | "Skip it"
- **Quick Win:** Iconic high school moment
- **Template:** Similar to `romanticDate`

#### 6.7 **dormRoommate** (questionEvent)
- **Description:** Meeting college roommate for first time
- **Age:** 18 years (college yr 1)
- **Date:** late August
- **Question:** "You meet your randomly assigned college roommate for the first time. First impressions?"
- **Options:**
  - "They seem cool!" (social +15, happiness +10)
  - "Seems awkward..." (social +5, happiness -5)
  - "Request a room change" (moneyCost=100, happiness -10)
- **Quick Win:** College transition moment
- **Template:** Similar to `college`
- **Note:** Could create roommate NPC

#### 6.8 **seniorSkipDay** (questionEvent)
- **Description:** Participating in senior skip day
- **Age:** 17-18 years (12th grade)
- **Date:** Spring
- **Question:** "It's the unofficial senior skip day. Do you skip?"
- **Options:**
  - "Yes, skip with friends!" (social +20, happiness +15)
  - "No, perfect attendance" (happiness -10, social -15)
  - "Half day compromise" (social +10, happiness +5)
- **Quick Win:** Senior tradition
- **Template:** Similar to `latetoSchool`

#### 6.9 **collegeHomesick** (messageEvent)
- **Description:** Homesickness in first semester
- **Age:** 18 years (college yr 1)
- **Date:** September-October
- **Message:** "You're homesick. You miss your family, your room, even your old school. You call home and feel a little better."
- **Quick Win:** Common college adjustment
- **Template:** Similar to `collegeMissHome`

#### 6.10 **changeMyMajor** (questionEvent)
- **Description:** Doubting chosen major
- **Age:** 18-20 years (college yr 1-2)
- **Date:** Any time in college
- **Question:** "You're not sure about your major anymore. Change it?"
- **Options:**
  - "Yes, switch majors" (happiness +15, adds semester)
  - "No, stick with it" (happiness -5)
  - "Add a double major" (energyCost=40, diamondCost=10)
  - "Take time to decide" (happiness +5)
- **Quick Win:** Common college dilemma
- **Template:** Similar to `chooseMajor`

---

## 7. Health Events

### Existing Events Analysis
**Files:** `events.py`
**Count:** 6 events covering injuries, illnesses, broken bones, health conditions, low energy, negative habits

Good foundation for health issues. Could add more preventative care, mental health, aging-related health, and lifestyle health choices.

---

### New Event Ideas

#### 7.1 **annualCheckup** (questionEvent)
- **Description:** Routine doctor's appointment
- **Age:** 18-100 years
- **Question:** "It's time for your annual checkup. Do you go?"
- **Options:**
  - "Yes, schedule it" (moneyCost=100, health +5)
  - "No, skip it" (health -10 over time)
  - "Go only if sick" (health -5)
- **Quick Win:** Preventative care choice
- **Template:** Similar to `immunizations`

#### 7.2 **allergySymptoms** (messageEvent)
- **Description:** Discovering seasonal allergies
- **Age:** 10-100 years
- **Season:** Spring
- **Message:** "Your eyes are itchy and you can't stop sneezing. Looks like you have seasonal allergies."
- **Effect:** energy -5 during spring months
- **Quick Win:** Common health issue
- **Template:** Similar to `minorSickness`

#### 7.3 **dentalCavity** (questionEvent)
- **Description:** Dentist finds cavity
- **Age:** 8-100 years
- **Question:** "The dentist found a cavity. You need a filling."
- **Options:**
  - "Get it filled now" (moneyCost=200, happiness -10)
  - "Schedule for later" (moneyCost=200, happiness -5)
  - "Ignore it" (health -15, moneyCost=500 later)
- **Quick Win:** Common dental issue
- **Template:** Similar to `braces`

#### 7.4 **mentalHealthDay** (questionEvent)
- **Description:** Recognizing need for mental health break
- **Age:** 16-65 years
- **Condition:** happiness < 30 or energy < 20
- **Question:** "You're feeling overwhelmed and anxious. Take a mental health day?"
- **Options:**
  - "Yes, take the day off" (energyCost=0, happiness +20, energy +20)
  - "No, push through" (energyCost=20, happiness -10)
  - "Talk to someone" (diamondCost=5, happiness +15)
- **Quick Win:** Modern mental health awareness
- **Template:** Similar to `lowEnergyEvent`

#### 7.5 **sprainedAnkle** (messageEvent)
- **Description:** Minor sports/activity injury
- **Age:** 10-50 years
- **Message:** "You rolled your ankle. It's not broken, but it hurts to walk for a few days."
- **Effect:** energyCost +10 for next few days
- **Quick Win:** Common injury
- **Template:** Similar to `breakArm`

#### 7.6 **eyeStrain** (messageEvent)
- **Description:** Too much screen time effects
- **Age:** 10-100 years
- **Condition:** excessive screen time habit
- **Message:** "Your eyes hurt from staring at screens all day. You should probably take more breaks."
- **Quick Win:** Modern health issue
- **Template:** Similar to `negativeHabitEvent`

#### 7.7 **backPain** (messageEvent)
- **Description:** Developing back problems
- **Age:** 30-100 years
- **Message:** "Your back has been hurting lately. Maybe you should exercise more... or sleep on a better mattress."
- **Effect:** energy -5, can trigger need for chiropractor
- **Quick Win:** Aging health issue
- **Template:** Similar to `healthCondition`

#### 7.8 **firstGrayHair** (messageEvent)
- **Description:** Finding first gray hair
- **Age:** 28-45 years
- **Message:** "You found your first gray hair. When did that happen?!"
- **Quick Win:** Aging milestone
- **Template:** Simple message event

#### 7.9 **sleepDisorder** (questionEvent)
- **Description:** Struggling with insomnia
- **Age:** 18-100 years
- **Condition:** energy consistently low
- **Question:** "You've been having trouble sleeping. What do you try?"
- **Options:**
  - "Melatonin/sleep aids" (moneyCost=30, energy +10)
  - "Better sleep schedule" (energyCost=0, happiness +5)
  - "See a doctor" (moneyCost=150, diamondCost=5, energy +20)
  - "Suffer through it" (energy -10, happiness -10)
- **Quick Win:** Common health challenge
- **Template:** Similar to `healthCondition`

#### 7.10 **foodPoisoning** (messageEvent)
- **Description:** Getting sick from bad food
- **Age:** 10-100 years
- **Message:** "Something you ate didn't agree with you. You spend the next 24 hours very sick."
- **Effect:** energy -30, happiness -20, confined to home
- **Quick Win:** Unpleasant common experience
- **Template:** Similar to `minorSickness`

---

## 8. Random Events

### Existing Events Analysis
**Files:** `positive.py`, `negative.py`
**Count:** 5 events (2 positive, 3 negative) covering lottery-like rare events

Very limited selection. Huge opportunity for adding everyday surprises, lucky breaks, minor setbacks, and random life moments.

---

### Positive Random Events

#### 8.1 **foundMoneyStreet** (messageEvent)
- **Description:** Finding money on the ground
- **Age:** 8-100 years
- **Message:** "You found a $20 bill on the sidewalk! Lucky day!"
- **Effect:** money +20, happiness +10
- **Quick Win:** Simple lucky moment
- **Template:** Similar to `foundAPenny`

#### 8.2 **freeUpgrade** (messageEvent)
- **Description:** Unexpected upgrade or free item
- **Age:** 16-100 years
- **Message Options (random):**
  - "The coffee shop gave you a free drink!"
  - "Your flight got upgraded to first class!"
  - "You won a raffle you forgot you entered!"
  - "Your food order came with extra fries!"
- **Effect:** happiness +15
- **Quick Win:** Random acts of luck
- **Template:** Multiple message options

#### 8.3 **unexpectedCompliment** (messageEvent)
- **Description:** Stranger gives sincere compliment
- **Age:** 10-100 years
- **Message:** "A stranger complimented you today. It really made your day!"
- **Effect:** happiness +10, social +5
- **Quick Win:** Wholesome random moment
- **Template:** Simple message event

#### 8.4 **perfectParkingSpot** (messageEvent)
- **Description:** Finding the perfect parking spot
- **Age:** 16-100 years
- **Condition:** canDrive
- **Message:** "Right as you arrived, someone pulled out of the perfect parking spot. It's the little things!"
- **Effect:** happiness +5
- **Quick Win:** Relatable small joy
- **Template:** Simple message event

#### 8.5 **rainbowSighting** (messageEvent)
- **Description:** Seeing a beautiful rainbow
- **Age:** 3-100 years
- **Message:** "You saw a beautiful double rainbow today. You stopped to appreciate it."
- **Effect:** happiness +10
- **Quick Win:** Nature moment
- **Template:** Simple message event

---

### Negative Random Events

#### 8.6 **spilledDrink** (messageEvent)
- **Description:** Spilling drink on yourself
- **Age:** 8-100 years
- **Message:** "You spilled coffee/juice all over yourself. Great start to the day..."
- **Effect:** happiness -10, energyCost=5
- **Quick Win:** Common frustrating moment
- **Template:** Simple message event

#### 8.7 **phoneDropped** (questionEvent)
- **Description:** Dropping and potentially breaking phone
- **Age:** 12-100 years
- **Question:** "You dropped your phone! Did it survive?"
- **Options (random outcome):**
  - "It's fine!" (happiness +5)
  - "Screen cracked" (happiness -15, moneyCost=200)
  - "Completely shattered" (happiness -30, moneyCost=500)
- **Quick Win:** Modern anxiety moment
- **Template:** Random outcome event

#### 8.8 **birdPooped** (messageEvent)
- **Description:** Bird poops on you
- **Age:** 5-100 years
- **Message:** "A bird pooped on you. People say it's good luck, but it just feels gross."
- **Effect:** happiness -10
- **Quick Win:** Gross random occurrence
- **Template:** Simple message event

#### 8.9 **forgotWallet** (messageEvent)
- **Description:** Realizing you left wallet at home
- **Age:** 16-100 years
- **Message:** "You're at the checkout and realize you forgot your wallet. So embarrassing!"
- **Effect:** happiness -15, social -10
- **Quick Win:** Frustrating common experience
- **Template:** Simple message event

#### 8.10 **missedBus** (messageEvent)
- **Description:** Just missed the bus/train
- **Age:** 10-100 years
- **Message:** "You ran for the bus but it pulled away right as you got there. Now you have to wait 20 minutes."
- **Effect:** happiness -10, energyCost=10
- **Quick Win:** Public transit frustration
- **Template:** Simple message event

---

## 9. Dilemmas

### Existing Events Analysis
**Files:** `moral_choices.py`
**Count:** 2 complex dilemma events (bracelet, bullying)

Very limited. Dilemmas are perfect for teaching values and creating meaningful choices. Need many more moral situations across different life stages.

---

### New Event Ideas

#### 9.1 **foundLostPet** (dilemmaClass)
- **Description:** Finding someone's lost pet
- **Age:** 8-100 years
- **Question:** "You found a lost dog with a collar but no one around. What do you do?"
- **Options:**
  - "Take it to vet to scan chip" (energyCost=15, happiness +20, social +15)
  - "Post on social media" (social +10, happiness +10)
  - "Keep the dog" (happiness +30, social -20)
  - "Leave it, not your problem" (happiness -10)
- **Multi-step:** Can lead to happy reunion scene or moral guilt
- **Quick Win:** Clear moral choice with outcomes
- **Template:** Similar to `braceletDilemma`

#### 9.2 **friendCheating** (dilemmaClass)
- **Description:** Your friend is cheating on their partner
- **Age:** 16-100 years
- **Question:** "You discover your friend is cheating on their partner. What do you do?"
- **Options:**
  - "Tell the partner" (social -30 with friend, social +10 with partner)
  - "Confront your friend" (energyCost=15, social -10)
  - "Stay out of it" (happiness -10)
  - "Support your friend regardless" (social +10 with friend, happiness -15)
- **Multi-step:** Leads to consequences based on choice
- **Quick Win:** Complex moral dilemma
- **Template:** Similar to `bullyDilemma`

#### 9.3 **foundExpensiveItem** (dilemmaClass)
- **Description:** Finding expensive item in store
- **Age:** 10-100 years
- **Question:** "You find an expensive phone/wallet in a store. What do you do?"
- **Options:**
  - "Turn it in to store" (happiness +15, social +20, diamondReward=10)
  - "Look for owner yourself" (energyCost=20, happiness +25)
  - "Keep it" (happiness -30, money +200)
  - "Leave it where it is" (happiness -5)
- **Multi-step:** If turned in, could get thank you message later
- **Quick Win:** Classic honesty test
- **Template:** Similar to `braceletDilemma`

#### 9.4 **colleagueStealingCredit** (dilemmaClass)
- **Description:** Coworker taking credit for your work
- **Age:** 22-65 years
- **Occupation:** work
- **Question:** "A coworker presented your idea as their own in a meeting. How do you respond?"
- **Options:**
  - "Call them out publicly" (social -20, happiness +10)
  - "Talk to them privately" (energyCost=10, social +5)
  - "Tell your boss" (social -10 with coworker, career +10)
  - "Let it go" (happiness -20, social -5)
- **Multi-step:** Affects workplace relationships
- **Quick Win:** Workplace ethics
- **Template:** Similar to `bullyDilemma`

#### 9.5 **strayAnimalDecision** (dilemmaClass)
- **Description:** Stray animal needs help
- **Age:** 10-100 years
- **Question:** "There's a skinny stray cat/dog in your neighborhood. What do you do?"
- **Options:**
  - "Adopt it" (moneyCost=200, happiness +30, energyCost=15/week)
  - "Take to shelter" (energyCost=10, happiness +15)
  - "Feed it but leave it" (moneyCost=50/month, happiness +10)
  - "Nothing" (happiness -10)
- **Multi-step:** Adoption leads to pet ownership events
- **Quick Win:** Compassion vs practicality
- **Template:** Similar to `braceletDilemma` with ongoing effects

#### 9.6 **witnessShoplifting** (dilemmaClass)
- **Description:** Seeing someone shoplift
- **Age:** 12-100 years
- **Question:** "You see a teen shoplifting food from a grocery store. They look hungry. What do you do?"
- **Options:**
  - "Tell store employee" (social -10, happiness -5)
  - "Offer to buy them food" (moneyCost=20, happiness +25, diamondCost=5)
  - "Look the other way" (happiness -5)
  - "Talk to them about it" (energyCost=10, social +10)
- **Multi-step:** Different outcomes based on choice
- **Quick Win:** Empathy vs rules
- **Template:** Similar to `bullyDilemma`

#### 9.7 **friendBorrowMoney** (dilemmaClass)
- **Description:** Friend asks to borrow significant money
- **Age:** 18-100 years
- **Question:** "A friend asks to borrow $500. They're in a tough spot. Do you lend it?"
- **Options:**
  - "Yes, give them money" (moneyCost=500, social +20)
  - "Yes, but make contract" (moneyCost=500, social +10, diamondCost=5)
  - "Offer smaller amount" (moneyCost=100, social +10, happiness -5)
  - "Say no" (social -15, happiness -10)
- **Multi-step:** May or may not get paid back
- **Quick Win:** Money and friendship conflict
- **Template:** Similar to `braceletDilemma` with delayed outcomes

#### 9.8 **environmentalChoice** (dilemmaClass)
- **Description:** Choosing between convenience and environment
- **Age:** 16-100 years
- **Question:** "You can take a cheap flight with multiple connections or pay more for a direct eco-friendlier option. Choose?"
- **Options:**
  - "Cheap flight" (moneyCost=200, energyCost=30, happiness -5)
  - "Eco-friendly option" (moneyCost=400, happiness +15)
  - "Don't fly at all" (happiness -10, social -10)
  - "Train/bus instead" (moneyCost=150, energyCost=40, happiness +10)
- **Quick Win:** Modern values dilemma
- **Template:** Similar to existing dilemma structure

#### 9.9 **parentCareDecision** (dilemmaClass)
- **Description:** Deciding on care for aging parent
- **Age:** 40-70 years
- **Question:** "Your parent can no longer live alone safely. What's the best option?"
- **Options:**
  - "Nursing home" (moneyCost=3000/month, happiness -20)
  - "Live with you" (energyCost=30/week, moneyCost=500, happiness -10)
  - "Hire in-home care" (moneyCost=2000/month, happiness -5)
  - "Rely on siblings" (social -15, happiness -15)
- **Multi-step:** Ongoing care situation
- **Quick Win:** Difficult adult decision
- **Template:** Similar to `haveChild` structure

#### 9.10 **whistleblowerDecision** (dilemmaClass)
- **Description:** Discovering unethical behavior at work
- **Age:** 25-65 years
- **Occupation:** work
- **Question:** "You discover your company is doing something unethical. Report it?"
- **Options:**
  - "Report to authorities" (may lose job, happiness +30, diamondCost=20)
  - "Report internally" (career +10, social -10)
  - "Look for new job first" (energyCost=30, happiness -10)
  - "Stay silent" (happiness -30, money +500)
- **Multi-step:** Major career implications
- **Quick Win:** Serious ethical dilemma
- **Template:** Similar to `bullyDilemma` structure

---

## 10. Conversations

### Existing Events Analysis
**Files:** `npc_interactions.py`
**Count:** 5 async conversation types (activity, checkIn, askAboutDay, flatter, studySession, chat)

Good AI-powered conversation system in place. Could add more conversation prompts, ice-breakers, deep questions, conflict conversations, and relationship-specific dialogue.

---

### New Event Ideas

#### 10.1 **deepConversation** (conversation)
- **Description:** Philosophical or deep personal conversation
- **Button:** "Let's talk about life"
- **Age:** 16-100 years
- **Prompt:** "You want to have a deeper conversation. Topics might include dreams, fears, meaning of life, future plans."
- **Affinity Change:** +15
- **Quick Win:** Uses existing AI system, just new prompt
- **Template:** Copy `activity` structure

#### 10.2 **gossipSession** (conversation)
- **Description:** Gossiping about mutual acquaintances
- **Button:** "Did you hear about..."
- **Age:** 12-100 years
- **Condition:** mutual friends exist
- **Prompt:** "You want to gossip about what's been happening with people you both know."
- **Affinity Change:** +10
- **Quick Win:** Social bonding through gossip
- **Template:** Copy `activity` structure

#### 10.3 **ventingSession** (conversation)
- **Description:** Needing to vent about problems
- **Button:** "I need to vent"
- **Age:** 12-100 years
- **Condition:** happiness < 50 or stress > 50
- **Prompt:** "You're stressed and need to vent to someone. Share what's bothering you."
- **Affinity Change:** +10
- **Effect:** happiness +10, stress -15
- **Quick Win:** Therapeutic conversation
- **Template:** Copy `checkIn` structure

#### 10.4 **askAdvice** (conversation)
- **Description:** Seeking advice on a problem
- **Button:** "Can I ask your advice?"
- **Age:** 10-100 years
- **Prompt:** "You have a problem and want their perspective and advice."
- **Affinity Change:** +10
- **Quick Win:** Advice-seeking interaction
- **Template:** Copy `activity` structure

#### 10.5 **reminisce** (conversation)
- **Description:** Talking about old memories together
- **Button:** "Remember when..."
- **Age:** 10-100 years
- **Condition:** familiarity > 60
- **Prompt:** "You want to reminisce about shared memories and good times together."
- **Affinity Change:** +20
- **Quick Win:** Memory-based bonding
- **Template:** Copy `activity` structure

#### 10.6 **apologizeConvo** (conversation)
- **Description:** Apologizing for something
- **Button:** "I need to apologize"
- **Age:** 8-100 years
- **Condition:** affinity < 30
- **Prompt:** "You want to apologize for something and repair the relationship."
- **Affinity Change:** +25
- **Quick Win:** Conflict resolution
- **Template:** Copy `checkIn` structure

#### 10.7 **shareDream** (conversation)
- **Description:** Sharing a weird dream you had
- **Button:** "I had the weirdest dream"
- **Age:** 8-100 years
- **Prompt:** "You want to tell them about a strange or funny dream you had."
- **Affinity Change:** +5
- **Quick Win:** Light-hearted sharing
- **Template:** Copy `activity` structure

#### 10.8 **askFavor** (conversation)
- **Description:** Asking for a favor
- **Button:** "Can you help me with something?"
- **Age:** 10-100 years
- **Prompt:** "You need help with something and want to ask them for a favor."
- **Affinity Change:** -5 (asking favors slightly reduces)
- **Effect:** Can create obligation for future help
- **Quick Win:** Practical interaction
- **Template:** Copy `activity` structure

#### 10.9 **debateOpinion** (conversation)
- **Description:** Friendly debate about a topic
- **Button:** "I disagree about..."
- **Age:** 14-100 years
- **Prompt:** "You want to have a friendly debate or discussion about a topic you disagree on."
- **Affinity Change:** +5 (if handled well) or -10 (if poorly)
- **Quick Win:** Intellectual engagement
- **Template:** Copy `activity` structure

#### 10.10 **shareExcitement** (conversation)
- **Description:** Sharing exciting news
- **Button:** "You won't believe what happened!"
- **Age:** 6-100 years
- **Condition:** happiness > 70 or recent good event
- **Prompt:** "You're excited about something and want to share the good news."
- **Affinity Change:** +10
- **Effect:** happiness +5
- **Quick Win:** Positive sharing moment
- **Template:** Copy `activity` structure

---

## 11. Tutorial Events

### Existing Events Analysis
**Files:** `onboarding.py`
**Count:** Tutorial system with 3 specific events (firstConversation, firstActivityChoice, tutorialComplete)

Good foundational tutorial system. Could add more gentle guided moments for new players, tooltips, achievement celebrations, and gradual mechanic introductions.

---

### New Event Ideas

#### 11.1 **tutorialEnergyExplained** (messageEvent)
- **Description:** Explaining energy system when low
- **Age:** Any
- **Trigger:** First time energy < 20
- **Message:** "Your energy is running low! When you're tired, activities cost more effort and you'll feel worse. Make sure to rest!"
- **Quick Win:** Just-in-time tutorial
- **Template:** Simple message event

#### 11.2 **tutorialMoneyExplained** (messageEvent)
- **Description:** Explaining money system on first expense
- **Age:** Any
- **Trigger:** First question with moneyCost
- **Message:** "This choice costs money! You earn money through jobs and can spend it on activities and items. Choose wisely!"
- **Quick Win:** Context-sensitive help
- **Template:** Simple message event

#### 11.3 **tutorialRelationshipExplained** (messageEvent)
- **Description:** Explaining relationship affinity
- **Age:** Any
- **Trigger:** First NPC interaction
- **Message:** "Each person has an affinity toward you that changes based on your interactions. Higher affinity means better relationships!"
- **Quick Win:** Relationship mechanic intro
- **Template:** Simple message event

#### 11.4 **tutorialStatsExplained** (messageEvent)
- **Description:** Explaining stat tracking
- **Age:** Any
- **Trigger:** First stat change notification
- **Message:** "Your choices affect your stats! Keep an eye on happiness, health, intelligence, and social skills."
- **Quick Win:** Stats introduction
- **Template:** Simple message event

#### 11.5 **tutorialDiamondsEarned** (messageEvent)
- **Description:** Explaining premium currency
- **Age:** Any
- **Trigger:** First time earning diamonds
- **Message:** "You earned diamonds! These are special currency for premium choices that unlock better outcomes."
- **Quick Win:** Premium currency intro
- **Template:** Simple message event

#### 11.6 **tutorialGameSpeedExplained** (messageEvent)
- **Description:** Explaining game speed controls
- **Age:** Any
- **Trigger:** After 1 hour of game time
- **Message:** "You can control how fast time passes! Use the speed controls to slow down during important moments or speed up during routine times."
- **Quick Win:** Control tutorial
- **Template:** Simple message event

#### 11.7 **tutorialSchedulesIntro** (messageEvent)
- **Description:** Explaining schedule system
- **Age:** Any
- **Trigger:** First schedule added (bike lessons, swimming, etc)
- **Message:** "You've started a recurring activity! This will happen automatically on scheduled days. Check your schedules to see what's coming up."
- **Quick Win:** Schedule mechanic intro
- **Template:** Simple message event

#### 11.8 **tutorialEventsIntro** (messageEvent)
- **Description:** Explaining event system
- **Age:** Any
- **Trigger:** After 3rd event
- **Message:** "Events are how life unfolds! Some happen automatically, others require your choices. Every decision shapes your story."
- **Quick Win:** Event system explanation
- **Template:** Simple message event

#### 11.9 **tutorialOneTimeEvents** (messageEvent)
- **Description:** Explaining delayed events
- **Age:** Any
- **Trigger:** First oneTimeEvent scheduled
- **Message:** "Some events are scheduled for the future! Keep an eye on your calendar for upcoming moments."
- **Quick Win:** Future events intro
- **Template:** Simple message event

#### 11.10 **tutorialFirstMilestone** (messageEvent)
- **Description:** Celebrating first major milestone
- **Age:** Any
- **Trigger:** First major event (learned to walk, first day school, etc)
- **Message:** "Congratulations on your first major milestone! These special moments mark important progress in your life journey."
- **Effect:** diamonds +5
- **Quick Win:** Achievement celebration
- **Template:** Simple message event

---

## Summary & Implementation Priority

### Total New Events by Category

| Category | New Ideas | Existing Events | Total After |
|----------|-----------|-----------------|-------------|
| Childhood | 10 | 9 | 19 |
| Adolescence | 10 | 9 | 19 |
| Education | 10 | 17 | 27 |
| Adulthood | 10 | 8 | 18 |
| Holidays | 10 | 9 | 19 |
| School Year | 10 | 18 | 28 |
| Health | 10 | 6 | 16 |
| Random | 10 | 5 | 15 |
| Dilemmas | 10 | 2 | 12 |
| Conversations | 10 | 5 | 15 |
| Tutorial | 10 | 3 | 13 |
| **TOTAL** | **110** | **91** | **201** |

---

### Implementation Priority Tiers

#### Tier 1: High Value, Lowest Effort (Implement First)
These are pure messageEvents or simple questionEvents with no complex mechanics.

**Childhood:**
- learningColors
- firstNightmare
- firstTimeTyingShoes
- pickySomeEater

**Adolescence:**
- voiceCracking
- bodySelfConsciousness
- growthSpurt
- embarrassingSituation

**Education:**
- raisedHandNotCalled
- cafeteriaFoodPoisoning
- substitutTeacher

**Adulthood:**
- forgotBirthdayCall
- friendsDrifting
- coworkerRivalry
- firstGrayHair

**Health:**
- allergySymptoms
- sprainedAnkle
- eyeStrain
- backPain
- firstGrayHair

**Random:**
- foundMoneyStreet
- unexpectedCompliment
- perfectParkingSpot
- rainbowSighting
- spilledDrink
- birdPooped
- forgotWallet
- missedBus

**Total Tier 1: ~30 events** (can implement in 1-2 days)

---

#### Tier 2: High Value, Medium Effort
Simple questionEvents with straightforward choices and stat modifications.

**Childhood:**
- firstDayOfPreschool
- imaginaryFriend
- scaredOfDark
- firstHaircut
- sandboxDisagreement

**Adolescence:**
- curfewArgument
- sleepover
- socialMediaPressure
- fashionExperimentation

**Education:**
- popQuiz
- lostHomework
- presentationNerves
- studyGroupInvite
- collegeAllNighter

**Adulthood:**
- workLifeBalance
- promotionOpportunity
- careerChangeDesire

**Holidays:**
- halloween
- valentinesDay
- backToSchoolShopping
- newYearsResolution
- blackFridayChaos

**Health:**
- annualCheckup
- dentalCavity
- mentalHealthDay
- sleepDisorder

**Total Tier 2: ~35 events** (can implement in 2-3 days)

---

#### Tier 3: Medium Value, Higher Complexity
Events requiring NPC interactions, schedule creation, or multi-step logic.

**Childhood:**
- petGoldfish (with follow-up potential)

**Adolescence:**
- groupProjectDrama

**Education:**
- teacherFavorite
- extracurricularBurnout

**Adulthood:**
- firstApartment
- agingParent
- divorceConsideration

**Holidays:**
- summerReading (creates schedule)
- springCleaning

**School Year:**
- classRankReveal
- seniorSurvey
- finalExamWeek
- summerJobSearch
- promInvite
- dormRoommate
- seniorSkipDay
- collegeHomesick
- changeMyMajor

**Dilemmas:**
All 10 dilemma events (require multi-step logic)

**Total Tier 3: ~30 events** (implement in 3-5 days)

---

#### Tier 4: Lower Priority or Dependent on Other Systems
Events requiring new mechanics, AI integration, or substantial refactoring.

**Conversations:**
All 10 conversation events (use existing AI system, just new prompts)

**Tutorial:**
All 10 tutorial events (tied to tutorial system improvements)

**Total Tier 4: ~20 events** (implement as time allows)

---

### Development Time Estimates

- **Tier 1:** 30 events × 15 min avg = 7.5 hours
- **Tier 2:** 35 events × 25 min avg = 14.5 hours
- **Tier 3:** 30 events × 45 min avg = 22.5 hours
- **Tier 4:** 20 events × 30 min avg = 10 hours

**Total Implementation Time: ~55 hours**

Spread over 2 weeks = ~4 hours per day
Spread over 1 month = ~2 hours per day

---

### Testing Checklist for Each Event

- [ ] Event triggers at correct age range
- [ ] Event doesn't trigger if already in player.events or player.askedQuestions
- [ ] Random chance is appropriate (not too rare or too common)
- [ ] Message text is grammatically correct and age-appropriate
- [ ] Answer options are clearly differentiated
- [ ] Stat modifications work correctly (energy, happiness, money, etc.)
- [ ] Event is added to category's `__all__` list for export
- [ ] Event is imported and called in main event parser (app.py)

---

### Key Patterns for Quick Implementation

**Simple Message Event:**
```python
def eventName(player, type='message'):
    fname = 'eventName'
    check = fname not in player.events and [CONDITIONS]
    message = "Event message here"
    return messageFunction(fname, message, player, check)
```

**Simple Question Event:**
```python
def eventName(player, type='message', message=False, response=False):
    fname = 'eventName'
    check = fname not in player.askedQuestions and [CONDITIONS]
    message = "Question text here?"
    answerOptions = ['Option 1', 'Option 2', answerOption('Premium', diamondCost=5)]

    if (type != 'answer'):
        return questionFunction(fname, message, player, check, answerOptions)
    elif (type == 'answer'):
        if (response['option'] == answerOptions[0]):
            player.messageQueue.append("Response to option 1")
            player.c.happiness += 10
        # ... handle other options
```

---

## Conclusion

This document provides **110 new event ideas** that:
- Are quick to implement using existing patterns
- Cover all life stages (childhood through adulthood)
- Add emotional depth and relatable moments
- Include both universal experiences and unique situations
- Balance serious and lighthearted content
- Maintain age-appropriate content

**Priority:** Start with Tier 1 events (30 events, ~7.5 hours) for immediate content boost with minimal effort.

**Next Steps:**
1. Review and approve event concepts
2. Implement Tier 1 events first
3. Playtest for trigger rates and player experience
4. Adjust probabilities and stat impacts as needed
5. Move to Tier 2 and beyond

The goal is to create a richer, more diverse life simulation where players feel like their character is experiencing a full, nuanced life with both major milestones and everyday moments.
