"""
Retention mechanics for BaoLife.

This package contains:
- achievements: Achievement tracking and unlocking system
- daily_rewards: Daily login reward system
- daily_quests: Daily quest system
- statistics: Player statistics and collection tracking
"""

from .achievements import (
    check_achievements,
    check_and_unlock,
    initialize_achievements,
    get_player_achievements
)

from .daily_rewards import (
    check_daily_login,
    claim_daily_reward,
    handle_daily_login_check,
    initialize_daily_rewards,
    get_daily_reward,
    get_login_streak_info,
    get_all_rewards
)

from .daily_quests import (
    generate_daily_quests,
    update_quest_progress,
    complete_quest,
    initialize_quest_templates,
    get_active_quests,
    get_quest_statistics,
    handle_daily_quest_check
)

from .statistics import (
    increment_stat,
    update_stat,
    set_boolean_stat,
    capture_photo_memory,
    get_player_statistics,
    get_photo_album,
    get_photo_album_count,
    get_photos_by_type,
    initialize_player_statistics,
    track_money_earned,
    track_money_spent,
    track_relationship_formed,
    track_activity_completed,
    track_conversation
)

__all__ = [
    'check_achievements',
    'check_and_unlock',
    'initialize_achievements',
    'get_player_achievements',
    'check_daily_login',
    'claim_daily_reward',
    'handle_daily_login_check',
    'initialize_daily_rewards',
    'get_daily_reward',
    'get_login_streak_info',
    'get_all_rewards',
    'generate_daily_quests',
    'update_quest_progress',
    'complete_quest',
    'initialize_quest_templates',
    'get_active_quests',
    'get_quest_statistics',
    'handle_daily_quest_check',
    'increment_stat',
    'update_stat',
    'set_boolean_stat',
    'capture_photo_memory',
    'get_player_statistics',
    'get_photo_album',
    'get_photo_album_count',
    'get_photos_by_type',
    'initialize_player_statistics',
    'track_money_earned',
    'track_money_spent',
    'track_relationship_formed',
    'track_activity_completed',
    'track_conversation'
]
