2022-05-16 23:48:22 +00:00
2023-03-31 22:41:48 +00:00
# General states
2022-05-16 23:48:22 +00:00
2023-03-31 22:41:48 +00:00
default states.her.tier = 1
default states.her.level = 0
default states.her.public_tier = IntLike(_her_public_tier)
default states.her.public_level = 0
default states.her.mood = 0
default states.her.unlocked = False
default states.her.busy = False
default states.her.gifted = False
default states.her.favors_unlocked = False
default states.her.favors_convinced_stage = 0
default states.her.wardrobe_unlocked = False
default states.her.wardrobe_scheduling = True
default states.her.chatted = False
2023-04-02 23:48:38 +00:00
default states.her.map_location = "library"
2022-05-16 23:48:22 +00:00
2023-03-31 22:41:48 +00:00
# Sexual activity states
2023-04-24 19:50:50 +00:00
default states.her.status.voyer = False
2023-05-11 11:08:31 +00:00
default states.her.status.show_bra = False
default states.her.status.show_tits = False
default states.her.status.show_panties = False
default states.her.status.show_pussy = False
default states.her.status.stripping = False #stripping should be prioritised for most clothing checks
2023-04-24 19:50:50 +00:00
default states.her.status.cumshot = False
default states.her.status.handjob = False
default states.her.status.kissing = False
2023-05-30 15:55:26 +00:00
default states.her.status.titjob = False
2023-03-31 22:41:48 +00:00
default states.her.status.blowjob = False
2023-04-24 19:50:50 +00:00
default states.her.status.gokkun = False
default states.her.status.masturbating = False
2023-03-31 22:41:48 +00:00
default states.her.status.sex = False
2023-04-24 19:50:50 +00:00
default states.her.status.creampie = False
2023-03-31 22:41:48 +00:00
default states.her.status.anal = False
2023-04-24 19:50:50 +00:00
default states.her.status.anal_creampie = False
2023-03-31 22:41:48 +00:00
2023-06-24 22:27:13 +00:00
# Sexual activity states (public)
default states.her.status.public_voyer = False
default states.her.status.public_show_bra = False
default states.her.status.public_show_tits = False
default states.her.status.public_show_panties = False
default states.her.status.public_show_pussy = False
default states.her.status.public_stripping = False
default states.her.status.public_cumshot = False
default states.her.status.public_handjob = False
default states.her.status.public_kissing = False
default states.her.status.public_titjob = False
default states.her.status.public_blowjob = False
default states.her.status.public_gokkun = False
default states.her.status.public_masturbating = False
default states.her.status.public_sex = False
default states.her.status.public_creampie = False
default states.her.status.public_anal = False
default states.her.status.public_anal_creampie = False
default states.her.status.public_groping = False
2023-03-31 22:41:48 +00:00
# Event flags
default states.her.ev.tutoring.offered = False
default states.her.ev.tutoring.unlocked = False
default states.her.ev.tutoring.stage = 1
default states.her.ev.intro.masturbated = False # Genie jerked off during the first encounter.
default states.her.ev.intro.e1_complete = False # 1st visit
default states.her.ev.intro.e2_complete = False # 2nd visit, MRM + informed the Ministry.
default states.her.ev.intro.e3_complete = False # 3rd visit, did she fail a test?
default states.her.ev.intro.e4_complete = False # 4th visit, she's crying. Failed a test.
default states.her.ev.intro.e5_complete = False # 5th visit, asks to be tutored, summon unlocked.
default states.her.ev.intro.convinced = False # Tonks convinces Hermione to sell favours.
default states.her.ev.intro.e6_complete = False # 6th visit, asks to buy favours, favours unlocked.
2023-07-02 19:34:04 +00:00
default states.her.ev.admire_breasts.T2_intro_E1_failed = False
default states.her.ev.admire_breasts.monologue = False
2023-04-12 11:38:29 +00:00
default states.her.ev.panty_thief.soaked = False # Temp var, genie procures Hermione's panties and cums on them, resets once returned.
2023-07-01 21:26:07 +00:00
default states.her.ev.panty_thief.acquired = False
2023-03-31 22:41:48 +00:00
default states.her.ev.forest_bj.stage = 1
default states.her.ev.sealed_scroll.sample = False
default states.her.ev.sealed_scroll.examined = False
2023-04-02 23:48:38 +00:00
default states.her.ev.cardgame.known = False
default states.her.ev.cardgame.has_cards = False
default states.her.ev.cardgame.stage = 0
2023-04-03 17:40:11 +00:00
default states.her.ev.promote_cardgame.offered = True
default states.her.ev.promote_cardgame.first_time = True
default states.her.ev.promote_cardgame.helped = False
2023-03-31 22:41:48 +00:00
default states.her.ev.buttplugs.magic_known = False
default states.her.ev.buttplugs.medium_question = False
2023-04-03 17:40:11 +00:00
default states.her.ev.dance_for_me.strip_asked = False # Asked hermione to strip during dancing.
2023-04-12 11:38:29 +00:00
default states.her.ev.dance_for_me.snape_invited = False # Invited Snape to watch Hermione strip for you both.
2023-05-11 11:08:31 +00:00
default states.her.ev.dance_for_me.snape_masturbate_stage1 = False
default states.her.ev.dance_for_me.snape_masturbate_stage2 = False
2023-03-31 22:41:48 +00:00
default states.her.ev.suck_it.snape_encounter = False
default states.her.ev.suck_it.tonks_encounter = False
default states.her.ev.suck_it.luna_encounter = False
2023-05-15 15:18:47 +00:00
default states.her.ev.give_me_a_handy.cock_kiss = False
2023-03-31 22:41:48 +00:00
default states.her.ev.yule_ball.variant = "personal"
default states.her.ev.yule_ball.e1_complete = False
default states.her.ev.yule_ball.e2_complete = False
default states.her.ev.yule_ball.e3_complete = False
default states.her.ev.yule_ball.e4_complete = False
default states.her.ev.yule_ball.gave_dress = False
default states.her.ev.yule_ball.started = False
default states.her.ev.yule_ball.complete = False
2023-04-02 23:48:38 +00:00
default states.her.ev.magic_collar.worn = False
default states.her.ev.vibrators.seen = False # Has Genie offered her the vibrators?
default states.her.ev.vibrators.worn = False # Has Hermione agreed to wear the vibrators?
default states.her.ev.vibrators.public_complete = False # Has completed at least once public event?
default states.her.ev.vibrators.public_stage = 0 # Stage 0 - Hadn't worn vibrators in public, Stage 1 - Had worn vibrators in public (low), Stage 2 - Had worn vibrators in public (high)
default states.her.ev.vibrators.personal_complete = False # Has completed at least once personal event?
default states.her.ev.potions.ass_expand_drank = False
default states.her.ev.potions.ass_expand_public_complete = False
default states.her.ev.potions.ass_expand_complete = False
default states.her.ev.potions.ass_expand_tried_fingering = False
default states.her.ev.potions.breast_expand_drank = False
default states.her.ev.potions.breast_expand_known = False
default states.her.ev.potions.breast_expand_groped = False
default states.her.ev.potions.breast_expand_public_low_complete = False
default states.her.ev.potions.breast_expand_public_high_complete = False
default states.her.ev.potions.polyjuice_drank = False
default states.her.ev.potions.polyjuice_cat_drank = False
default states.her.ev.potions.polyjuice_cat_blowjob = False
default states.her.ev.potions.polyjuice_cat_furry = False
default states.her.ev.potions.polyjuice_luna_drank = False
default states.her.ev.potions.polyjuice_luna_nude = False
default states.her.ev.maid.intro_complete = False
2023-04-24 19:50:50 +00:00
default states.her.ev.talk_to_me.caught_masturbating = False
2023-06-27 18:02:35 +00:00
default states.her.ev.flirt_with_students.done_before = False
2023-03-31 22:41:48 +00:00
default her_level_up = None # TODO: This var is used in an overly complicated manner, it should be removed once the issues are resolved.
default current_job = None # TODO: Jobs should be using event class with enqueue feature instead.
2022-05-16 23:48:22 +00:00
# Names
2023-03-31 22:41:48 +00:00
2023-03-01 22:14:00 +00:00
default name_genie_hermione = "Sir"
default name_hermione_genie = "Miss Granger"
2022-05-16 23:48:22 +00:00
2023-03-31 22:41:48 +00:00
init python early:
2022-07-23 20:57:42 +00:00
# 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. ¯\_(ツ)_/¯
2023-03-31 22:41:48 +00:00
def _her_public_tier():
2023-06-24 22:27:13 +00:00
if states.her.status.public_sex:
2022-07-23 20:57:42 +00:00
return 6
2023-06-24 22:27:13 +00:00
elif states.her.status.public_blowjob:
2022-07-23 20:57:42 +00:00
return 5
2023-06-24 22:27:13 +00:00
elif states.her.status.public_handjob:
2022-07-23 20:57:42 +00:00
return 4
2023-06-28 12:06:42 +00:00
elif states.her.status.public_kissing or states.her.status.public_stripping:
2022-07-23 20:57:42 +00:00
return 3
2023-06-24 22:27:13 +00:00
elif states.her.status.public_groping:
2022-07-23 20:57:42 +00:00
return 2
else:
return 1