Convert Hermione's Personal Favours into the new Event system to address code logic bugs.
* Added internal counter for queues * Simplified global vars for event completion checks. * Temporarily disabled Hermione's statistics menu * Replaced counter/points checks with status flags. * Disabled debug profiling for images
This commit is contained in:
parent
cceec862af
commit
13a7017773
@ -2923,7 +2923,7 @@ label cc_pf_strip_T3_intro_E3:
|
||||
her "" ("grin", "narrow", "base", "mid")
|
||||
ton "I sometimes stroll around the school grounds, disguised as one of the girls... Wearing nothing but a school robe..."
|
||||
|
||||
if hg_pr_flash.counter > 1:
|
||||
if states.her.status.public_voyer:
|
||||
her "" ("crooked_smile", "narrow", "base", "down")
|
||||
ton "And If you ever had a boy say he got some tits flashed at him by Miss Granger... Then it was most likely me."
|
||||
cho @ cheeks blush "That's awesome!" ("grin", "base", "base", "L")
|
||||
|
@ -553,7 +553,7 @@ label cho_quid_E6:
|
||||
her "Well, if that's the case, it seems like I'm no longer needed..." ("open", "base", "angry", "mid")
|
||||
|
||||
"\"All you need is a bit of practice...\"":
|
||||
if hg_pf_sex.counter == 0:
|
||||
if not states.her.status.sex:
|
||||
gen "(And a good fucking, but we'll get to that...)" ("grin", xpos="far_left", ypos="head")
|
||||
else:
|
||||
gen "(And a good fucking...)" ("grin", xpos="far_left", ypos="head")
|
||||
|
@ -129,7 +129,7 @@ init python:
|
||||
elif chibi.action == "lift_skirt":
|
||||
if hermione.is_worn("panties"):
|
||||
#TODO Figure out a better way to determine the expression (so it can be reused in a different event)
|
||||
if hg_pf_admire_panties.counter <= 1:
|
||||
if not states.her.status.show_panties:
|
||||
# Reluctant expression
|
||||
chibi["base"] = "~/lift_skirt/panties_00.webp"
|
||||
else:
|
||||
|
@ -461,7 +461,7 @@ label hermione_chitchat:
|
||||
her @ cheeks blush "If you ever need some \"assistance\", [name_genie_hermione]... Please let me know." ("open_wide_tongue", "base", "base", "R")
|
||||
her @ cheeks blush "" ("base", "base", "base", "R")
|
||||
|
||||
block if hg_pr_sex.counter > 0:
|
||||
block if states.her.status.public_sex:
|
||||
her "I am sorry to bother you with this, [name_genie_hermione]..." ("open", "base", "base", "mid")
|
||||
her "But do you have any condoms?" ("open", "base", "base", "mid")
|
||||
her "Sadly, the ones I've bought are already gone..." ("annoyed", "happyCl", "worried", "mid",emote="sweat")
|
||||
|
@ -657,8 +657,7 @@ label hg_wager_bj:
|
||||
$ gryffindor -= 20
|
||||
$ states.her.mood += 10
|
||||
|
||||
$ hg_pf_blowjob.points += 1
|
||||
$ hg_pf_blowjob.counter += 1
|
||||
$ states.her.status.blowjob = True
|
||||
$ achievements.unlock("headlib")
|
||||
call blkfade
|
||||
call her_chibi("stand","mid","base")
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,6 @@ label hg_pf_strip_T3_snape: # Fails
|
||||
call her_walk(action="leave")
|
||||
|
||||
$ states.her.mood += 15
|
||||
$ hg_pf_strip.fail()
|
||||
|
||||
jump end_hermione_event
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,27 +2,21 @@
|
||||
|
||||
### Hermione Titjob ###
|
||||
|
||||
label hg_pf_titjob:
|
||||
label start_hg_pf_titjob:
|
||||
|
||||
if hg_pf_titjob.counter == 0:
|
||||
if not _events_completed_any:
|
||||
gen "{size=-4}(Should I ask her for a titjob?){/size}" ("base", xpos="far_left", ypos="head")
|
||||
else:
|
||||
gen "{size=-4}(I feel like putting my cock between those tits again!){/size}" ("grin", xpos="far_left", ypos="head")
|
||||
|
||||
if hg_pf_titjob.counter < 1:
|
||||
menu:
|
||||
"\"(Yes, let's do it!)\"":
|
||||
pass
|
||||
"\"(Not right now.)\"":
|
||||
jump hermione_favor_menu
|
||||
|
||||
# Start Event
|
||||
$ current_payout = 45
|
||||
$ hg_pf_titjob.start()
|
||||
return
|
||||
|
||||
|
||||
# End Event
|
||||
label end_hg_pf_titjob:
|
||||
label end_hg_pf_titjob:
|
||||
|
||||
# Setup
|
||||
stop music fadeout 1.0
|
||||
@ -85,8 +79,6 @@ label hg_pf_titjob_fail:
|
||||
her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid")
|
||||
gen "Have you ever given somebody a \"titjob\"?" ("base", xpos="far_left", ypos="head")
|
||||
|
||||
$ hg_pf_titjob.fail_intentional()
|
||||
|
||||
jump too_much
|
||||
|
||||
### Tier 5 ###
|
||||
@ -95,6 +87,9 @@ label hg_pf_titjob_fail:
|
||||
# Event 2 (r) - Reluctantly does it again.
|
||||
|
||||
label hg_pf_titjob_T5_intro_E1:
|
||||
|
||||
call start_hg_pf_titjob
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "Alright then...{w=0.4} [name_hermione_genie]." ("base", xpos="far_left", ypos="head")
|
||||
her "Yes, [name_genie_hermione]?" ("open", "base", "base", "mid")
|
||||
@ -175,6 +170,9 @@ label hg_pf_titjob_T5_intro_E1:
|
||||
jump hg_pf_titjob_1
|
||||
|
||||
label hg_pf_titjob_T5_repeat:
|
||||
|
||||
call start_hg_pf_titjob
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie], would you like to earn some house points today?" ("base", xpos="far_left", ypos="head")
|
||||
her "Of course, [name_genie_hermione]..." ("base", "base", "base", "mid")
|
||||
@ -194,6 +192,9 @@ label hg_pf_titjob_T5_repeat:
|
||||
# Event 3 (r) - Repeat.
|
||||
|
||||
label hg_pf_titjob_T6_intro_E1:
|
||||
|
||||
call start_hg_pf_titjob
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head")
|
||||
her "Yes, [name_genie_hermione]?" ("soft", "base", "base", "mid")
|
||||
@ -226,6 +227,9 @@ label hg_pf_titjob_T6_intro_E1:
|
||||
jump hg_pf_titjob_2
|
||||
|
||||
label hg_pf_titjob_T6_intro_E2:
|
||||
|
||||
call start_hg_pf_titjob
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head")
|
||||
her "Yes, [name_genie_hermione]?" ("base", "base", "base", "mid")
|
||||
@ -240,6 +244,9 @@ label hg_pf_titjob_T6_intro_E2:
|
||||
jump hg_pf_titjob_2
|
||||
|
||||
label hg_pf_titjob_T6_repeat:
|
||||
|
||||
call start_hg_pf_titjob
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie], what do you think about wrapping those perfect tits of yours around my cock again?" ("base", xpos="far_left", ypos="head")
|
||||
her "Sure thing, [name_genie_hermione]..." ("soft", "happy", "base", "R")
|
||||
@ -842,7 +849,7 @@ label hg_pf_titjob_2:
|
||||
her "Of course, [name_genie_hermione]..............." ("base", "narrow", "worried", "down")
|
||||
nar "Hermione opens her mouth and lets her saliva dribble down on your cock."
|
||||
|
||||
if hg_pf_titjob.points == 1:
|
||||
if not _events_completed_any:
|
||||
jump hg_pf_titjob_2_cumming
|
||||
else: # Repeat
|
||||
jump hg_pf_titjob_2_continue
|
||||
|
@ -2,24 +2,24 @@
|
||||
|
||||
### Hermione Groping ###
|
||||
|
||||
label hg_pf_grope:
|
||||
label start_hg_pf_grope:
|
||||
|
||||
gen "{size=-4}(I will grope her a little. Pretty harmless stuff.){/size}" ("base", xpos="far_left", ypos="head")
|
||||
if not _events_completed_any:
|
||||
gen "{size=-4}(I will grope her a little. Pretty harmless stuff.){/size}" ("base", xpos="far_left", ypos="head")
|
||||
|
||||
if hg_pf_grope.counter < 1:
|
||||
menu:
|
||||
"\"(Yes, let's do it!)\"":
|
||||
pass
|
||||
"\"(Not right now.)\"":
|
||||
jump hermione_favor_menu
|
||||
|
||||
# Start Event
|
||||
$ current_payout = 15
|
||||
$ hg_pf_grope.start()
|
||||
return
|
||||
|
||||
label hg_pf_grope_fail:
|
||||
jump end_hermione_event
|
||||
|
||||
# End Event
|
||||
label end_hg_pf_grope:
|
||||
label end_hg_pf_grope:
|
||||
|
||||
# Setup
|
||||
stop music fadeout 1.0
|
||||
@ -104,8 +104,6 @@ label hg_pf_grope_T1_fail_intro:
|
||||
her "My tits?!" ("angry", "wide", "base", "mid")
|
||||
gen "Or your butt! I haven't fully decided yet!" ("grin", xpos="far_left", ypos="head")
|
||||
|
||||
$ hg_pf_grope.fail_intentional()
|
||||
|
||||
jump too_much
|
||||
|
||||
label hg_pf_grope_T1_fail_repeat:
|
||||
@ -120,9 +118,7 @@ label hg_pf_grope_T1_fail_repeat:
|
||||
|
||||
$ states.her.mood += 6
|
||||
|
||||
$ hg_pf_grope.fail_intentional()
|
||||
|
||||
jump end_hermione_event
|
||||
jump hg_pf_grope_fail
|
||||
|
||||
### Tier 2 ###
|
||||
|
||||
|
@ -2,10 +2,11 @@
|
||||
|
||||
### Hermione Sex ###
|
||||
|
||||
label hg_pf_sex:
|
||||
label start_hg_pf_sex:
|
||||
|
||||
if hg_pf_sex.counter < 1:
|
||||
if not _events_completed_any:
|
||||
gen "{size=-4}(Should I ask her to have sex with me?){/size}" ("base", xpos="far_left", ypos="head")
|
||||
|
||||
menu:
|
||||
"\"(Yes, let's do it!)\"":
|
||||
pass
|
||||
@ -15,10 +16,10 @@ label hg_pf_sex:
|
||||
# Start Event
|
||||
$ current_payout = 65
|
||||
$ _temp_outfit_choice = "naked"
|
||||
$ hg_pf_sex.start()
|
||||
return
|
||||
|
||||
# End Event
|
||||
label end_hg_pf_sex:
|
||||
label end_hg_pf_sex:
|
||||
|
||||
# Setup
|
||||
stop music fadeout 1.0
|
||||
@ -79,8 +80,6 @@ label hg_pf_sex_fail:
|
||||
gen "Why don't you come over here, and then I pound your pussy for a bit..." ("base", xpos="far_left", ypos="head")
|
||||
gen "With my cock!" ("grin", xpos="far_left", ypos="head")
|
||||
|
||||
$ hg_pf_sex.fail_intentional()
|
||||
|
||||
jump too_much
|
||||
|
||||
### Tier 6 ###
|
||||
@ -91,6 +90,9 @@ label hg_pf_sex_fail:
|
||||
# Event 3 (r) - Regular or anal sex, naked option (Once spread on desk CG is ready, we'll add new writing as a menu option)
|
||||
|
||||
label hg_pf_sex_T6_intro_E1:
|
||||
|
||||
call start_hg_pf_sex
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie]?" ("base", xpos="far_left", ypos="head")
|
||||
her "[name_genie_hermione]?" ("soft", "base", "base", "mid")
|
||||
@ -168,6 +170,9 @@ label hg_pf_sex_T6_intro_E1:
|
||||
|
||||
|
||||
label hg_pf_sex_T6_intro_E2:
|
||||
|
||||
call start_hg_pf_sex
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head")
|
||||
gen "Last night I had a dream..." ("base", xpos="far_left", ypos="head")
|
||||
@ -231,6 +236,9 @@ label hg_pf_sex_T6_intro_E2:
|
||||
|
||||
|
||||
label hg_pf_sex_T6_intro_E3:
|
||||
|
||||
call start_hg_pf_sex
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head")
|
||||
her "[name_genie_hermione]!" ("scream", "closed", "angry", "mid")
|
||||
@ -295,12 +303,15 @@ label hg_pf_sex_T6_intro_E3:
|
||||
"-Poke her butthole!-":
|
||||
gen "(Yes! Let's see if she's willing to take it up her ass!)" ("base", xpos="far_left", ypos="head")
|
||||
|
||||
$ hg_pf_anal_sex.start()
|
||||
$ her_eventqueue_anal.start()
|
||||
|
||||
jump end_hg_pf_sex
|
||||
|
||||
|
||||
label hg_pf_sex_T6_E3: # repeats
|
||||
|
||||
call start_hg_pf_sex
|
||||
|
||||
her "" ("base", "base", "base", "mid", xpos="mid", ypos="base", trans=fade)
|
||||
gen "[name_hermione_genie], are you keeping your pussy wet and ready for me?" ("base", xpos="far_left", ypos="head")
|
||||
her "[name_genie_hermione]..." ("upset", "base", "worried", "down")
|
||||
@ -362,7 +373,7 @@ label hg_pf_sex_T6_E3: # repeats
|
||||
"-Fuck her asshole!-":
|
||||
gen "(Let's see how well she takes it up the ass!)" ("angry", xpos="far_left", ypos="head")
|
||||
|
||||
$ hg_pf_anal_sex.start()
|
||||
$ her_eventqueue_anal.start()
|
||||
|
||||
jump end_hg_pf_sex
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
label hg_anal_sex_1_intro:
|
||||
$ states.her.status.anal = True
|
||||
$ current_payout = 90
|
||||
$ hg_pf_sex.change_icon(a="heart_half", b="heart_red")
|
||||
|
||||
gen "[name_hermione_genie]..." ("base", xpos="far_left", ypos="head")
|
||||
her "[name_genie_hermione]...?" ("annoyed", "happy", "base", "mid", flip=True)
|
||||
@ -732,7 +731,6 @@ label hg_anal_sex_1_intro:
|
||||
label hg_anal_sex_2_intro:
|
||||
$ states.her.status.anal = True
|
||||
$ current_payout = 90
|
||||
$ hg_pf_sex.change_icon(a="heart_half", b="heart_red")
|
||||
|
||||
gen "How about another ass-fucking, [name_hermione_genie]?"
|
||||
her "Of course, [name_genie_hermione]." ("base", "narrow", "base", "up", flip=True)
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -83,7 +83,7 @@ label hg_pf_admire_breasts_T2:
|
||||
|
||||
menu:
|
||||
"-Break your promise. Grab the tits!-": # Event will fail.
|
||||
jump hg_pf_admire_breasts_T2_touch
|
||||
jump hg_pf_admire_breasts_T2_touch_fail
|
||||
|
||||
"-Keep promise. Admire visually-":
|
||||
call hg_pf_admire_breasts_T2_promise
|
||||
@ -115,7 +115,7 @@ label hg_pf_admire_breasts_T2_promise: # Call label
|
||||
|
||||
return
|
||||
|
||||
label hg_pf_admire_breasts_T2_touch: # Not a Call label
|
||||
label hg_pf_admire_breasts_T2_touch_fail: # Not a Call label
|
||||
|
||||
#Event Fails
|
||||
# if states.her.level >= 6 and states.her.level <= 8:
|
||||
@ -187,9 +187,8 @@ label hg_pf_admire_breasts_T2_masturbate: # Not a Call label
|
||||
hide screen blktone
|
||||
call her_chibi_scene("grope_tits_jerk_off", trans=fade)
|
||||
|
||||
if states.her.status.voyer == False:
|
||||
if not states.her.status.voyer:
|
||||
$ achievements.unlock("busted")
|
||||
$ hg_pf_talk.change_icon(a="heart_half", b="heart_red")
|
||||
$ states.her.status.voyer = True
|
||||
|
||||
call ctc
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -813,7 +813,7 @@ label hg_butt_plugs_medium_return:
|
||||
her "I was a mess afterwards..."
|
||||
gen "And did you return the favour?" ("grin", xpos="far_left", ypos="head")
|
||||
|
||||
if hg_pr_kiss.counter >= 1:
|
||||
if states.her.status.public_kissing:
|
||||
her @ cheeks blush "*Err*... maybe..." ("open", "happy", "base", "mid")
|
||||
gen "What did you do?" ("base", xpos="far_left", ypos="head")
|
||||
her @ cheeks blush "Well, I don't want to say too much [name_genie_hermione]." ("base", "base", "base", "R")
|
||||
|
@ -21,7 +21,7 @@ label hg_collars:
|
||||
gen "But first, I'll need you to remove your top, or it might get caught in your clothing." ("base", xpos="far_left", ypos="head")
|
||||
|
||||
if states.her.tier == 1:
|
||||
if hg_pf_admire_panties.is_event_complete(1, 1) or hg_pf_admire_breasts.is_event_complete(1, 1):
|
||||
if states.her.status.show_bra or states.her.status.show_panties:
|
||||
her "You want me to remove my top?" ("soft", "happy", "worried", "R")
|
||||
gen "Yes please..." ("base", xpos="far_left", ypos="head")
|
||||
her "I'm getting paid for this, right?" ("open", "narrow", "base", "down")
|
||||
@ -265,9 +265,9 @@ label hg_collars:
|
||||
menu:
|
||||
"-Tell her she's a slave-" if states.her.status.anal:
|
||||
jump slave_scene
|
||||
"-Tell her she's a whore-" if states.her.status.sex and hg_pr_sex.is_event_complete(6, 1):
|
||||
"-Tell her she's a whore-" if states.her.status.sex:
|
||||
jump whore_scene
|
||||
"-Tell her she's a slut-" if hg_pf_blowjob.is_event_complete(5, 3) or states.her.tier > 5:
|
||||
"-Tell her she's a slut-" if states.her.status.blowjob or states.her.tier > 5:
|
||||
jump slut_scene
|
||||
"-Tell her she's a flasher-" if states.her.status.stripping:
|
||||
jump flasher_scene
|
||||
|
@ -159,7 +159,7 @@ label hg_pr_flirt_teacher_T1_E1: # Flitwick
|
||||
her "But [name_genie_hermione], I now know for a fact that professor Flitwick is \"dirty\"!" ("angry", "base", "worried", "mid")
|
||||
her "He looked at my panties, [name_genie_hermione]!" ("annoyed", "base", "worried", "R")
|
||||
|
||||
if hg_pf_admire_panties.counter > 1:
|
||||
if states.her.status.show_panties:
|
||||
gen "Didn't you show them off before?" ("base", xpos="far_left", ypos="head")
|
||||
her "What?" ("open", "base", "base", "mid")
|
||||
her @ cheeks blush "That was... different..." ("annoyed", "base", "angry", "R")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user