"""
BaoLife Events System
====================

This package contains all game events organized into logical categories.

Package Structure:
- base: Core event classes and helper functions
- childhood: Events for ages 0-12 (milestones, activities)
- adolescence: Events for ages 10-18 (puberty, social development)
- education: School, college, and educational events
- adulthood: Career, romance, and family events
- holidays: Annual holidays and special celebrations
- school_year: School transitions and grade progression
- health: Health, injuries, and medical events
- random: Unexpected positive and negative events
- negative: Major life crises and severe negative events
- dilemmas: Complex moral and ethical choices
- conversations: NPC conversation system
- tutorial: Tutorial mode events for new players

For backward compatibility, all events are re-exported from this main __init__.py
so existing imports like `from events import eventName` continue to work.
"""

# Base event classes and helpers
from .base import *

# Childhood events
from .childhood import *

# Adolescence events
from .adolescence import *

# Education events
from .education import *

# Adulthood events
from .adulthood import *

# Holiday events
from .holidays import *

# School year transitions
from .school_year import *

# Health events
from .health import *

# Random events
from .random import *

# Negative events (major crises)
from .negative import *

# Dilemmas
from .dilemmas import *

# Conversations
from .conversations import *

# Tutorial
from .tutorial import *

# Activities
from .activities import *


# Export all event names for backward compatibility
__all__ = [
    # Base classes and helpers
    'questionEvent',
    'messageEvent',
    'timeEvent',
    'dilemmaClass',
    'answerOption',
    'messageFunction',
    'questionFunction',

    # Childhood events
    'learnedWalk',
    'lostFirstTooth',
    'lostLastTooth',
    'learningColors',
    'childLearnedWalk',
    'learnedBike',
    'learnedSwim',
    'childhoodActivity',
    'learnInstrument',
    'playDate',
    'firstDayOfPreschool',
    'imaginaryFriend',
    'firstNightmare',
    'petGoldfish',
    'scaredOfDark',
    'firstTimeTyingShoes',
    'sandboxDisagreement',
    'pickySomeEater',
    'firstHaircut',
    'lostFavoriteToy',
    'notInvitedToParty',
    'scolded',
    'lostGame',
    'friendMovedAway',

    # Adolescence events
    'puberty',
    'startedPeriod',
    'braces',
    'glasses',
    'firstCrush',
    'firstKiss',
    'dating_choice',
    'romanticDate',
    'newFriend',

    # Education events
    'likeSchool',
    'dropBooks',
    'fieldTrip',
    'vendingMachine',
    'schoolAssembly',
    'schoolFight',
    'schoolLunch',
    'forgotCombo',
    'latetoSchool',
    'tiredinClass',
    'actTest',
    'actTestTake',
    'satTest',
    'extracurricular',
    'collegeExtracurricular',
    'chooseMajor',
    'chooseCollege',

    # Adulthood events
    'firstJob',
    'jobApplication',
    'employeeOfTheMonth',
    'openbankAccount',
    'marriage',
    'wedding',
    'haveChild',
    'pregnant',
    'childBorn',

    # Holiday events
    'christmas',
    'newYear',
    'thanksgiving',
    'blackfriday',
    'independenceday',
    'birthday',
    'immunizations',
    'vacation',
    'newFood',

    # School year events
    'school',
    'graduate5th',
    'graduate8th',
    'graduate12th',
    'college',
    'collegeParty',
    'collegeGreekLife',
    'collegeMissHome',
    'adultMissFriends',
    'collegeMinor',
    'driversLessons',
    'driversTest',
    'positiveInteraction',
    'lowEnergyEvents',
    'extendedFamily',
    'murderAttempt',
    'funeral',

    # Health events
    'minorInjury',
    'minorSickness',
    'breakArm',
    'healthCondition',
    'lowEnergyEvent',
    'negativeHabitEvent',

    # Random events
    'foundAPenny',
    'freeConcert',
    'carCrash',
    'oneTimeEventTest',
    'lowAffinity',

    # Negative events (major crises)
    'houseFireDamage',
    'legalTrouble',
    'victimOfCrime',
    'majorAccident',
    'naturalDisaster',

    # Negative events - Academic challenges
    'failedTest',
    'rejectedFromCollege',
    'academicProbation',
    'groupProjectBetrayal',
    'plagiarismAccusation',

    # Negative events - Financial problems
    'carBreakdown',
    'scammed',
    'identityTheft',
    'lostJob',
    'rentalEviction',
    'taxAudit',
    'investmentLoss',

    # Negative events - Family conflicts
    'parentDivorce',
    'siblingRivalry',
    'familyEstrangement',
    'parentIllness',
    'familyDebt',
    'inheritanceDispute',

    # Negative events - Health & wellness issues
    'injuryFromAccident',
    'chronicPain',
    'dentalEmergency',
    'seriousIllness',
    'weightGain',
    'sleepDeprivation',
    'addictionProblem',

    # Negative events - Social & Relationship Problems
    'publicEmbarrassment',
    'friendshipBetrayal',
    'romanticRejection',
    'breakup',
    'socialMediaDrama',
    'leftOutOfGroup',
    'argumentWithFriend',
    'partyDisaster',

    # Dilemmas
    'bullyDilemma',
    'braceletDilemma',

    # Conversations
    'conversationMessage',
    'conversationObj',
    'parseConversations',
    'conversationInit',
    'activity',
    'checkIn',
    'askAboutDay',
    'flatter',
    'studySession',
    'chat',
    'sendCharacterMessage',
    'ConversationContextManager',
    'getFallbackResponse',
    'getOpenAIResponse',

    # Tutorial
    'is_tutorial_mode',
    'get_welcome_message',
    'generate_tutorial_event',
    'apply_tutorial_modifiers',
    'get_contextual_hint',
    'modify_event_for_tutorial',
    'firstConversation',
    'firstActivityChoice',
    'tutorialComplete',
    'check_tutorial_triggers',

    # Activities - Seasonal & Outdoor
    'campingTrip',
    'skiingVacation',
    'beachDay',
    'hikingAdventure',
    'autumnActivities',

    # Activities - Career & Work
    'professionalConference',
    'mentorJunior',
    'sideHustle',
    'networkingEvent',
    'professionalCertification',

    # Activities - Physical
    'joinSoccerTeam',
    'learnMartialArts',
    'runningHabit',
    'joinGym',
    'yogaClass',

    # Activities - Creative & Artistic
    'learnPainting',
    'writingJournal',
    'learnPhotography',
    'theatreAudition',
    'craftingHobby',

    # Activities - Social
    'joinClub',
    'volunteerWork',
    'bookClub',
    'gamingGroup',
    'communityEvent',

    # Activities - Learning & Educational
    'onlineCourse',
    'learnLanguage',
    'codingBootcamp',
    'musicLessons',
    'cookingClasses',

    # Activities - Hobbies & Personal Development
    'gardening',
    'meditation',
    'birdWatching',
    'collectionHobby',
    'readingChallenge',

    # Activities - Family
    'familyGameNight',
    'familyVacation',
    'teachSiblingSkill',
    'helpParentProject',
    'familyPhoto',

    # Adolescence life events
    'bodySelfConsciousness',
    'curfewArgument',
    'embarrassingSituation',
    'fashionExperimentation',
    'groupProjectDrama',
    'growthSpurt',
    'learningToDrive',
    'sleepover',
    'socialMediaPressure',
    'voiceCracking',

    # Adulthood life events
    'agingParent',
    'careerChangeDesire',
    'coworkerRivalry',
    'divorceConsideration',
    'firstApartment',
    'forgotBirthdayCall',
    'friendsDrifting',
    'promotionOpportunity',
    'unexpectedBill',
    'workLifeBalance',

    # Dilemmas (moral choices)
    'colleagueStealingCredit',
    'environmentalChoice',
    'foundExpensiveItem',
    'foundLostPet',
    'friendBorrowMoney',
    'friendCheating',
    'parentCareDecision',
    'strayAnimalDecision',
    'whistleblowerDecision',
    'witnessShoplifting',

    # Education quick wins
    'cafeteriaFoodPoisoning',
    'collegeAllNighter',
    'extracurricularBurnout',
    'lostHomework',
    'popQuiz',
    'presentationNerves',
    'raisedHandNotCalled',
    'studyGroupInvite',
    'substituteTeacher',
    'teacherFavorite',

    # Health events
    'allergySymptoms',
    'annualCheckup',
    'backPain',
    'dentalCavity',
    'eyeStrain',
    'firstGrayHair',
    'foodPoisoning',
    'mentalHealthDay',
    'sleepDisorder',
    'sprainedAnkle',

    # Negative career events
    'badPerformanceReview',
    'businessFailure',
    'passedOverPromotion',
    'projectFailure',
    'workplaceBullying',

    # Random negative events
    'accountHacked',
    'badHairDay',
    'badRestaurantExperience',
    'birdPooped',
    'caughtInRain',
    'cyberbullying',
    'dataLoss',
    'forgotWallet',
    'lostKeys',
    'missedBus',
    'packageStolen',
    'phoneBreakdown',
    'phoneDropped',
    'ruinedClothes',
    'sleepThroughAlarm',
    'socialMediaCanceled',
    'spilledDrink',

    # Random positive events
    'foundMoneyStreet',
    'freeUpgrade',
    'perfectParkingSpot',
    'rainbowSighting',
    'unexpectedCompliment',

    # School year events
    'changeMyMajor',
    'classRankReveal',
    'collegeHomesick',
    'dormRoommate',
    'finalExamWeek',
    'promInvite',
    'seniorSkipDay',
    'seniorSurvey',
    'summerJobSearch',
    'summerReading',
]
