
# Stats
default her_tier = 1
default her_whoring = 0
default her_reputation = 0
default her_mood = 0
default her_tutoring = 1

# Flags
default hermione_busy = False
default hermione_unlocked = False
default hermione_favors = False
default hermione_tutoring = False
default gave_hermione_gift = False
default hermione_wardrobe_unlocked = False
default her_panties_soaked = False
default forest_BJ_progress = 1
default hermione_favors_convinced = 0
default hermione_outfits_schedule = True
default her_level_up = None
default jerked_off_during_hermione_intro = False
default current_job = None
default tutoring_offer_made = False # If you offered her to tutor her (In hermione_intro_E4). Affects conversation in the next event.
default her_shop_help = False
default her_shop_help_first = True
default tentacle_sample = False # Quest "item" flag.
default tentacle_scroll_examined = False

# Buttplug Events
default buttplug_magic_known = False
default buttplug_2_worn = False
default buttplug_3_worn = False
default buttplug_1_question = False
default buttplug_2_question = False
default buttplug_3_question = False

# Names
default genie_name = "Sir"
default hermione_name = "Miss Granger"

# Stats
default her_jerk_off_counter = 0

# TODO: Replace with an event tracker.
default hg_kiss = counter_class()
default hg_jerkoff = counter_class()
default hg_strip = counter_class()
default hg_masturbated = counter_class()
default hg_blowjob = counter_class()
default hg_sex = counter_class()
default hg_anal = counter_class()

init python:
    # Public requests design is flawed at its core to the point it would
    # require going back to the drawing board, so instead, we will
    # simulate tiers without spending weeks refactoring it and risking
    # breaking save compatibility again. Technical debt sucks. ¯\_(ツ)_/¯
    def _her_tier_public():
        if hg_pr_sex.counter > 0:
            return 6

        elif hg_pr_blowjob.counter > 0:
            return 5

        elif hg_pr_handjob.counter > 0:
            return 4

        elif hg_pr_kiss.counter > 0 or hg_pr_flash.counter > 0:
            return 3

        elif hg_pr_grope.counter > 0:
            return 2
        else:
            return 1

    her_tier_public = IntLike(_her_tier_public)
